From 858c0f0498156bccb9e7cae8bf9bea44cb973e17 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Aug 05 2020 11:44:33 +0000 Subject: gnome-characters-3.28.2 base --- diff --git a/ABOUT-NLS b/ABOUT-NLS new file mode 100644 index 0000000..3cc8286 --- /dev/null +++ b/ABOUT-NLS @@ -0,0 +1,1379 @@ +1 Notes on the Free Translation Project +*************************************** + +Free software is going international! The Free Translation Project is a +way to get maintainers of free software, translators, and users all +together, so that free software will gradually become able to speak many +languages. A few packages already provide translations for their +messages. + + If you found this 'ABOUT-NLS' file inside a distribution, you may +assume that the distributed package does use GNU 'gettext' internally, +itself available at your nearest GNU archive site. But you do _not_ +need to install GNU 'gettext' prior to configuring, installing or using +this package with messages translated. + + Installers will find here some useful hints. These notes also +explain how users should proceed for getting the programs to use the +available translations. They tell how people wanting to contribute and +work on translations can contact the appropriate team. + +1.1 INSTALL Matters +=================== + +Some packages are "localizable" when properly installed; the programs +they contain can be made to speak your own native language. Most such +packages use GNU 'gettext'. Other packages have their own ways to +internationalization, predating GNU 'gettext'. + + By default, this package will be installed to allow translation of +messages. It will automatically detect whether the system already +provides the GNU 'gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: + + ./configure --disable-nls + +will _totally_ disable translation of messages. + + When you already have GNU 'gettext' installed on your system and run +configure without an option for your new package, 'configure' will +probably detect the previously built and installed 'libintl' library and +will decide to use it. If not, you may have to to use the +'--with-libintl-prefix' option to tell 'configure' where to look for it. + + Internationalized packages usually have many 'po/LL.po' files, where +LL gives an ISO 639 two-letter code identifying the language. Unless +translations have been forbidden at 'configure' time by using the +'--disable-nls' switch, all available translations are installed +together with the package. However, the environment variable 'LINGUAS' +may be set, prior to configuration, to limit the installed set. +'LINGUAS' should then contain a space separated list of two-letter +codes, stating which languages are allowed. + +1.2 Using This Package +====================== + +As a user, if your language has been installed for this package, you +only have to set the 'LANG' environment variable to the appropriate +'LL_CC' combination. If you happen to have the 'LC_ALL' or some other +'LC_xxx' environment variables set, you should unset them before setting +'LANG', otherwise the setting of 'LANG' will not have the desired +effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is +an ISO 3166 two-letter country code. For example, let's suppose that +you speak German and live in Germany. At the shell prompt, merely +execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in +'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your +'.login' or '.profile' file, once and for all. + + You might think that the country code specification is redundant. +But in fact, some languages have dialects in different countries. For +example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The +country code serves to distinguish the dialects. + + The locale naming convention of 'LL_CC', with 'LL' denoting the +language and 'CC' denoting the country, is the one use on systems based +on GNU libc. On other systems, some variations of this scheme are used, +such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales +supported by your system for your language by running the command +'locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an +English message is shown in place of a nonexistent translation. If you +understand other languages, you can set up a priority list of languages. +This is done through a different environment variable, called +'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' +for the purpose of message handling, but you still need to have 'LANG' +set to the primary language; this is required by other parts of the +system libraries. For example, some Swedish users who would rather read +translations in German than English for when Swedish is not available, +set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. + + Special advice for Norwegian users: The language code for Norwegian +bokma*l changed from 'no' to 'nb' recently (in 2003). During the +transition period, while some message catalogs for this language are +installed under 'nb' and some older ones under 'no', it's recommended +for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and +older translations are used. + + In the 'LANGUAGE' environment variable, but not in the 'LANG' +environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to +denote the language's main dialect. For example, 'de' is equivalent to +'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese +as spoken in Portugal) in this context. + +1.3 Translating Teams +===================== + +For the Free Translation Project to be a success, we need interested +people who like their own language and write it well, and who are also +able to synergize with other translators speaking the same language. +Each translation team has its own mailing list. The up-to-date list of +teams can be found at the Free Translation Project's homepage, +'http://translationproject.org/', in the "Teams" area. + + If you'd like to volunteer to _work_ at translating messages, you +should become a member of the translating team for your own language. +The subscribing address is _not_ the same as the list itself, it has +'-request' appended. For example, speakers of Swedish can send a +message to 'sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate _actively_ +in translations, or at solving translational difficulties, rather than +merely lurking around. If your team does not exist yet and you want to +start one, or if you are unsure about what to do or how to get started, +please write to 'coordinator@translationproject.org' to reach the +coordinator for all translator teams. + + The English team is special. It works at improving and uniformizing +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. + +1.4 Available Packages +====================== + +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of Jun 2014. +The matrix shows, in regard of each package, for which languages PO +files have been submitted to translation coordination, with a +translation percentage of at least 50%. + + Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs + +---------------------------------------------------+ + a2ps | [] [] [] | + aegis | | + anubis | | + aspell | [] [] [] | + bash | [] [] [] | + bfd | | + binutils | [] | + bison | | + bison-runtime | [] | + buzztrax | [] | + ccd2cue | | + ccide | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | | + denemo | [] [] | + dfarc | [] | + dialog | [] [] [] | + dico | | + diffutils | [] | + dink | [] | + direvent | | + doodle | [] | + dos2unix | | + dos2unix-man | | + e2fsprogs | [] [] | + enscript | [] | + exif | [] | + fetchmail | [] [] | + findutils | [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | [] | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gjay | | + glunarclock | [] [] [] | + gnubiff | [] | + gnubik | [] | + gnucash | () () [] | + gnuchess | | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] | + gramadoir | | + grep | [] [] [] | + grub | [] | + gsasl | | + gss | | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] | + gst-plugins-ugly | [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] | + help2man | | + help2man-texi | | + hylafax | | + idutils | | + iso_15924 | [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | | + kbd | [] | + klavaro | [] [] [] [] [] | + ld | [] | + leafpad | [] [] [] [] | + libc | [] [] [] | + libexif | () | + libextractor | | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] [] | + lilypond | [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] | + man-db | [] [] | + man-db-manpages | | + midi-instruments | [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | [] | + nano | [] [] [] | + opcodes | | + parted | [] | + pies | | + pnmixer | | + popt | [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] | + pushover | [] | + pwdutils | | + pyspread | | + radius | [] | + recode | [] [] [] | + recutils | | + rpm | | + rush | | + sarg | | + sed | [] [] [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] [] | + solfege-manual | | + spotmachine | | + sudo | [] [] | + sudoers | [] [] | + sysstat | [] | + tar | [] [] [] | + texinfo | [] [] | + texinfo_document | [] [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | | + trader | | + util-linux | [] | + ve | | + vice | | + vmm | | + vorbis-tools | [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] | + wget | [] | + wyslij-po | | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + af am an ar as ast az be bg bn bn_IN bs ca crh cs + 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 + + da de el en en_GB en_ZA eo es et eu fa fi fr + +--------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] [] | + aegis | [] [] [] [] | + anubis | [] [] [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] | + bfd | [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] [] [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | [] [] [] [] | + ccd2cue | [] [] [] [] | + ccide | [] [] [] [] [] [] | + cflow | [] [] [] [] [] | + clisp | [] [] [] [] [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] [] [] [] [] | + cryptsetup | [] [] [] [] [] | + datamash | [] [] [] [] | + denemo | [] | + dfarc | [] [] [] [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] | + dico | [] [] [] [] | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] [] [] [] | + direvent | [] [] [] [] | + doodle | [] [] [] [] | + dos2unix | [] [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] () [] [] [] [] [] | + findutils | [] [] [] [] [] [] [] [] | + flex | [] [] [] [] [] [] | + freedink | [] [] [] [] [] [] [] [] | + fusionforge | [] [] [] | + gas | [] [] [] | + gawk | [] [] [] [] [] | + gcal | [] [] [] [] | + gcc | [] | + gdbm | [] [] [] [] [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | () [] [] () | + gnubik | [] [] [] [] [] | + gnucash | [] () () () () () () | + gnuchess | [] [] [] [] | + gnulib | [] [] [] [] [] [] [] | + gnunet | [] | + gnunet-gtk | [] | + gold | [] [] [] | + gphoto2 | [] () [] [] | + gprof | [] [] [] [] [] [] | + gramadoir | [] [] [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] () [] [] [] | + gtkam | [] () [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + guix | [] [] | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] [] [] | + help2man | [] [] [] [] [] [] [] | + help2man-texi | [] [] [] | + hylafax | [] [] | + idutils | [] [] [] [] [] | + iso_15924 | [] () [] [] () [] () | + iso_3166 | [] () [] [] [] [] () [] () | + iso_3166_2 | [] () () () | + iso_4217 | [] () [] [] [] () [] () | + iso_639 | [] () [] [] () [] () | + iso_639_3 | () () () | + iso_639_5 | () () () | + jwhois | [] [] [] [] [] | + kbd | [] [] [] [] [] [] | + klavaro | [] [] [] [] [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () [] [] | + libextractor | [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] () [] | + libgphoto2_port | [] () [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] [] | + liferea | [] () [] [] [] [] [] | + lilypond | [] [] [] [] [] [] | + lordsawar | [] [] | + lprng | | + lynx | [] [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | [] | + mailutils | [] [] [] [] | + make | [] [] [] [] [] | + man-db | [] [] [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] [] [] | + nano | [] [] [] [] [] [] [] | + opcodes | [] [] [] [] [] | + parted | [] [] [] | + pies | [] | + pnmixer | [] [] | + popt | [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] [] | + psmisc | [] [] [] [] [] [] [] | + pspp | [] [] [] | + pushover | () [] [] [] | + pwdutils | [] [] [] | + pyspread | [] [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + recutils | [] [] [] [] | + rpm | [] [] [] [] [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] [] [] | + skribilo | [] [] [] | + solfege | [] [] [] [] [] [] [] [] | + solfege-manual | [] [] [] [] [] | + spotmachine | [] [] [] [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] [] [] | + sysstat | [] [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] [] | + texinfo_document | [] [] [] [] | + tigervnc | [] [] [] [] [] [] | + tin | [] [] [] [] | + tin-man | [] | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] [] [] [] [] [] | + util-linux | [] [] [] [] | + ve | [] [] [] [] [] | + vice | () () () | + vmm | [] [] | + vorbis-tools | [] [] [] [] | + wastesedge | [] | + wcd | [] [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] [] [] [] | + wget | [] [] [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] [] | + +--------------------------------------------------+ + da de el en en_GB en_ZA eo es et eu fa fi fr + 119 131 32 1 6 0 94 95 22 13 4 102 139 + + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + +-------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] | + binutils | [] [] [] | + bison | [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | | + ccd2cue | [] | + ccide | [] [] | + cflow | [] [] [] | + clisp | | + coreutils | [] [] | + cpio | [] [] [] [] [] [] | + cppi | [] [] [] [] [] | + cpplib | [] [] | + cryptsetup | [] | + datamash | | + denemo | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] | + dink | [] | + direvent | [] | + doodle | [] [] | + dos2unix | [] [] | + dos2unix-man | | + e2fsprogs | [] [] | + enscript | [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] [] [] | + flex | [] | + freedink | [] [] [] [] | + fusionforge | | + gas | [] | + gawk | [] () [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] | + gettext-tools | [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] [] () | + gnubik | [] [] [] | + gnucash | () () () () () | + gnuchess | | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] [] | + hello | [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | | + hylafax | [] | + idutils | [] [] | + iso_15924 | [] [] [] [] [] [] | + iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] | + iso_4217 | [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + iso_639_5 | | + jwhois | [] [] [] [] | + kbd | [] [] [] | + klavaro | [] [] [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] [] [] | + libidn | [] [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | | + mailutils | | + make | [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] [] [] [] | + minicom | [] [] [] | + mkisofs | [] [] | + myserver | [] | + nano | [] [] [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + pies | | + pnmixer | [] [] | + popt | [] [] [] [] [] [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | [] | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] [] [] [] [] [] | + recutils | | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] [] [] [] [] [] | + sharutils | | + shishi | | + skribilo | [] | + solfege | [] [] | + solfege-manual | | + spotmachine | | + sudo | [] [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] [] [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] [] | + tigervnc | | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] [] | + util-linux | [] | + ve | [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | [] | + wcd | | + wcd-man | | + wdiff | [] [] [] | + wget | [] [] [] [] | + wyslij-po | [] [] [] | + xboard | | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + ga gd gl gu he hi hr hu hy ia id is it ja ka kk + 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 + + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + +--------------------------------------------------+ + a2ps | [] [] | + aegis | [] | + anubis | [] [] [] | + aspell | [] [] | + bash | [] [] | + bfd | | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | | + ccd2cue | | + ccide | [] [] | + cflow | [] | + clisp | [] | + coreutils | [] [] | + cpio | [] | + cppi | | + cpplib | [] | + cryptsetup | [] | + datamash | [] [] | + denemo | | + dfarc | [] [] | + dialog | [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] | + dink | [] | + direvent | [] | + doodle | [] | + dos2unix | [] [] | + dos2unix-man | [] | + e2fsprogs | [] | + enscript | [] | + exif | [] [] [] | + fetchmail | [] | + findutils | [] [] | + flex | [] | + freedink | [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] | + gjay | | + glunarclock | [] [] | + gnubiff | [] | + gnubik | [] [] | + gnucash | () () () () () () () [] | + gnuchess | [] [] | + gnulib | [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] | + gprof | [] [] | + gramadoir | [] | + grep | [] [] | + grub | [] [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] [] | + gst-plugins-base | [] [] [] | + gst-plugins-good | [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] | + gtick | [] | + gtkam | [] [] | + gtkspell | [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] | + hello | [] [] [] | + help2man | [] | + help2man-texi | | + hylafax | [] | + idutils | [] | + iso_15924 | () [] [] | + iso_3166 | [] [] [] () [] [] [] [] [] [] | + iso_3166_2 | () [] | + iso_4217 | () [] [] [] | + iso_639 | [] [] () [] [] [] [] | + iso_639_3 | [] () [] | + iso_639_5 | () | + jwhois | [] [] | + kbd | [] | + klavaro | [] [] | + ld | | + leafpad | [] [] [] [] [] | + libc | [] [] | + libexif | [] | + libextractor | [] | + libgnutls | [] [] | + libgphoto2 | [] | + libgphoto2_port | [] | + libgsasl | [] | + libiconv | [] [] | + libidn | [] | + liferea | [] [] [] | + lilypond | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | [] | + mailfromd | | + mailutils | | + make | [] [] | + man-db | [] | + man-db-manpages | [] | + midi-instruments | [] [] [] [] [] [] [] | + minicom | [] | + mkisofs | [] | + myserver | | + nano | [] [] [] | + opcodes | [] | + parted | [] [] | + pies | | + pnmixer | [] | + popt | [] [] [] [] [] | + procps-ng | | + procps-ng-man | | + psmisc | [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | | + radius | [] | + recode | [] [] | + recutils | [] | + rpm | [] | + rush | [] | + sarg | | + sed | [] [] | + sharutils | [] | + shishi | | + skribilo | | + solfege | [] [] | + solfege-manual | [] | + spotmachine | [] | + sudo | [] [] [] | + sudoers | [] [] [] | + sysstat | [] [] | + tar | [] [] [] | + texinfo | [] | + texinfo_document | [] | + tigervnc | [] | + tin | | + tin-man | | + tracgoogleappsa... | [] [] [] | + trader | [] | + util-linux | [] | + ve | [] | + vice | [] | + vmm | [] | + vorbis-tools | [] | + wastesedge | [] | + wcd | [] | + wcd-man | [] | + wdiff | [] | + wget | [] [] | + wyslij-po | [] | + xboard | [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +--------------------------------------------------+ + kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl + 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 + + nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] [] [] | + bash | [] [] [] [] [] [] | + bfd | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] [] | + buzztrax | [] | + ccd2cue | [] [] | + ccide | [] [] [] | + cflow | [] [] [] | + clisp | [] | + coreutils | [] [] [] [] | + cpio | [] [] [] | + cppi | [] [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] [] | + datamash | [] [] | + denemo | | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] [] | + dink | | + direvent | [] [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] | + e2fsprogs | [] | + enscript | [] [] [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] [] [] [] | + fusionforge | | + gas | | + gawk | [] | + gcal | | + gcc | | + gdbm | [] [] [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] [] | + gjay | [] | + glunarclock | [] [] [] [] [] [] | + gnubiff | [] | + gnubik | [] [] [] [] | + gnucash | () () () () () [] | + gnuchess | [] [] | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] | + grep | [] [] [] [] [] [] | + grub | [] [] [] [] [] | + gsasl | [] [] [] | + gss | [] [] [] [] | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] [] | + help2man-texi | [] | + hylafax | | + idutils | [] [] [] | + iso_15924 | [] () [] [] [] [] | + iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] () [] | + iso_4217 | [] [] () [] [] [] [] [] | + iso_639 | [] [] [] () [] [] [] [] [] [] | + iso_639_3 | [] () | + iso_639_5 | () [] | + jwhois | [] [] [] [] | + kbd | [] [] | + klavaro | [] [] [] [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] | + libc | [] [] [] | + libexif | [] () [] | + libextractor | [] | + libgnutls | [] | + libgphoto2 | [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + liferea | [] [] [] [] () [] [] | + lilypond | | + lordsawar | | + lprng | [] | + lynx | [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + midi-instruments | [] [] [] [] [] [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | [] [] | + nano | [] [] [] [] [] [] | + opcodes | | + parted | [] [] [] [] [] [] | + pies | [] | + pnmixer | [] | + popt | [] [] [] [] [] [] | + procps-ng | [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] | + pushover | | + pwdutils | [] | + pyspread | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + recutils | [] [] | + rpm | [] | + rush | [] [] [] | + sarg | [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] | + shishi | [] [] | + skribilo | [] | + solfege | [] [] [] | + solfege-manual | [] [] | + spotmachine | [] [] | + sudo | [] [] [] [] [] [] | + sudoers | [] [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] [] | + tigervnc | [] [] [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] | + trader | [] [] | + util-linux | [] [] | + ve | [] [] [] | + vice | | + vmm | | + vorbis-tools | [] [] [] | + wastesedge | | + wcd | | + wcd-man | | + wdiff | [] [] [] [] [] | + wget | [] [] [] [] [] | + wyslij-po | [] [] [] [] | + xboard | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +------------------------------------------------+ + nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 7 3 6 114 1 12 88 32 82 3 40 45 7 101 + + sv sw ta te tg th tr uk ur vi wa wo zh_CN + +----------------------------------------------+ + a2ps | [] [] [] [] [] | + aegis | [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + buzztrax | [] [] [] | + ccd2cue | [] [] [] | + ccide | [] [] [] [] | + cflow | [] [] [] [] | + clisp | | + coreutils | [] [] [] | + cpio | [] [] [] [] [] | + cppi | [] [] [] [] | + cpplib | [] [] [] [] [] | + cryptsetup | [] [] [] | + datamash | [] [] [] | + denemo | [] | + dfarc | [] [] | + dialog | [] [] [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] | + dink | [] | + direvent | [] [] | + doodle | [] [] | + dos2unix | [] [] [] [] | + dos2unix-man | [] [] [] | + e2fsprogs | [] [] [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] | + freedink | [] [] [] | + fusionforge | | + gas | [] | + gawk | [] [] [] | + gcal | [] [] [] | + gcc | [] | + gdbm | [] [] | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] [] [] | + gjay | [] [] [] | + glunarclock | [] [] [] [] | + gnubiff | [] [] | + gnubik | [] [] [] [] | + gnucash | () () () () [] | + gnuchess | [] [] [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gold | [] [] | + gphoto2 | [] [] [] [] | + gprof | [] [] [] [] | + gramadoir | [] [] [] | + grep | [] [] [] [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] | + guix | | + guix-packages | | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] [] | + help2man | [] [] [] | + help2man-texi | [] | + hylafax | [] | + idutils | [] [] [] | + iso_15924 | [] () [] [] () [] | + iso_3166 | [] [] () [] [] () [] [] | + iso_3166_2 | () [] [] () [] | + iso_4217 | [] () [] [] () [] | + iso_639 | [] [] [] () [] [] () [] [] | + iso_639_3 | [] () [] [] () | + iso_639_5 | () [] () | + jwhois | [] [] [] [] | + kbd | [] [] [] [] | + klavaro | [] [] [] [] [] [] | + ld | [] [] [] [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () | + libextractor | [] [] | + libgnutls | [] [] [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | () [] [] [] | + liferea | [] [] [] [] [] | + lilypond | [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] | + m4 | [] [] [] | + mailfromd | [] [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] | + midi-instruments | [] [] [] [] [] [] | + minicom | [] [] | + mkisofs | [] [] [] | + myserver | [] | + nano | [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] [] | + pies | [] [] | + pnmixer | [] [] [] | + popt | [] [] [] [] [] [] [] | + procps-ng | [] [] | + procps-ng-man | [] | + psmisc | [] [] [] [] | + pspp | [] [] [] | + pushover | [] | + pwdutils | [] [] | + pyspread | [] | + radius | [] [] | + recode | [] [] [] [] | + recutils | [] [] [] | + rpm | [] [] [] [] | + rush | [] [] | + sarg | | + sed | [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] [] | + skribilo | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] | + spotmachine | [] [] [] | + sudo | [] [] [] [] [] | + sudoers | [] [] [] [] | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + texinfo_document | [] | + tigervnc | [] [] [] | + tin | [] | + tin-man | | + tracgoogleappsa... | [] [] [] [] [] | + trader | [] | + util-linux | [] [] [] [] | + ve | [] [] [] [] | + vice | () () | + vmm | | + vorbis-tools | [] [] | + wastesedge | | + wcd | [] [] [] | + wcd-man | [] | + wdiff | [] [] [] [] | + wget | [] [] [] | + wyslij-po | [] [] | + xboard | [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +----------------------------------------------+ + sv sw ta te tg th tr uk ur vi wa wo zh_CN + 106 1 4 3 0 13 51 115 1 125 7 1 100 + + zh_HK zh_TW + +-------------+ + a2ps | | 30 + aegis | | 9 + anubis | | 19 + aspell | | 29 + bash | [] | 23 + bfd | | 11 + binutils | | 12 + bison | [] | 18 + bison-runtime | [] | 38 + buzztrax | | 9 + ccd2cue | | 10 + ccide | | 17 + cflow | | 16 + clisp | | 10 + coreutils | | 18 + cpio | | 20 + cppi | | 17 + cpplib | [] | 19 + cryptsetup | | 14 + datamash | | 11 + denemo | | 5 + dfarc | | 17 + dialog | [] | 42 + dico | | 6 + diffutils | | 22 + dink | | 10 + direvent | | 11 + doodle | | 12 + dos2unix | [] | 18 + dos2unix-man | | 9 + e2fsprogs | | 15 + enscript | | 21 + exif | | 27 + fetchmail | | 19 + findutils | | 29 + flex | [] | 19 + freedink | | 24 + fusionforge | | 3 + gas | | 5 + gawk | | 13 + gcal | | 8 + gcc | | 2 + gdbm | | 10 + gettext-examples | [] [] | 40 + gettext-runtime | [] [] | 35 + gettext-tools | [] | 24 + gjay | | 9 + glunarclock | [] | 27 + gnubiff | | 9 + gnubik | | 19 + gnucash | () | 6 + gnuchess | | 11 + gnulib | | 23 + gnunet | | 1 + gnunet-gtk | | 1 + gold | | 7 + gphoto2 | [] | 19 + gprof | | 21 + gramadoir | | 14 + grep | [] | 31 + grub | | 21 + gsasl | [] | 19 + gss | | 17 + gst-plugins-bad | | 21 + gst-plugins-base | | 27 + gst-plugins-good | | 32 + gst-plugins-ugly | | 34 + gstreamer | [] | 32 + gtick | | 19 + gtkam | | 24 + gtkspell | [] [] | 48 + guix | | 2 + guix-packages | | 0 + gutenprint | | 15 + hello | [] | 30 + help2man | | 18 + help2man-texi | | 5 + hylafax | | 5 + idutils | | 14 + iso_15924 | [] | 23 + iso_3166 | [] [] | 58 + iso_3166_2 | | 9 + iso_4217 | [] [] | 28 + iso_639 | [] [] | 46 + iso_639_3 | | 10 + iso_639_5 | | 2 + jwhois | [] | 20 + kbd | | 17 + klavaro | | 30 + ld | [] | 15 + leafpad | [] | 39 + libc | [] | 24 + libexif | | 10 + libextractor | | 5 + libgnutls | | 13 + libgphoto2 | | 10 + libgphoto2_port | [] | 19 + libgsasl | | 18 + libiconv | [] | 29 + libidn | | 17 + liferea | | 29 + lilypond | | 11 + lordsawar | | 3 + lprng | | 3 + lynx | | 19 + m4 | [] | 22 + mailfromd | | 4 + mailutils | | 6 + make | | 19 + man-db | | 15 + man-db-manpages | | 10 + midi-instruments | [] | 43 + minicom | [] | 17 + mkisofs | | 13 + myserver | | 9 + nano | [] | 30 + opcodes | | 12 + parted | [] | 23 + pies | | 4 + pnmixer | | 9 + popt | [] | 36 + procps-ng | | 5 + procps-ng-man | | 4 + psmisc | [] | 22 + pspp | | 13 + pushover | | 6 + pwdutils | | 8 + pyspread | | 6 + radius | | 9 + recode | | 31 + recutils | | 10 + rpm | [] | 13 + rush | | 10 + sarg | | 4 + sed | [] | 35 + sharutils | | 13 + shishi | | 7 + skribilo | | 7 + solfege | | 21 + solfege-manual | | 9 + spotmachine | | 11 + sudo | | 26 + sudoers | | 22 + sysstat | | 23 + tar | [] | 30 + texinfo | | 17 + texinfo_document | | 13 + tigervnc | | 14 + tin | [] | 7 + tin-man | | 1 + tracgoogleappsa... | [] | 22 + trader | | 12 + util-linux | | 13 + ve | | 14 + vice | | 1 + vmm | | 3 + vorbis-tools | | 13 + wastesedge | | 3 + wcd | | 8 + wcd-man | | 3 + wdiff | [] | 23 + wget | | 21 + wyslij-po | | 14 + xboard | | 10 + xdg-user-dirs | [] [] | 68 + xkeyboard-config | [] | 28 + +-------------+ + 89 teams zh_HK zh_TW + 166 domains 7 42 2809 + + Some counters in the preceding matrix are higher than the number of +visible blocks let us expect. This is because a few extra PO files are +used for implementing regional variants of languages, or language +dialects. + + For a PO file in the matrix above to be effective, the package to +which it applies should also have been internationalized and distributed +as such by its maintainer. There might be an observable lag between the +mere existence a PO file and its wide availability in a distribution. + + If Jun 2014 seems to be old, you may fetch a more recent copy of this +'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix +with full percentage details can be found at +'http://translationproject.org/extra/matrix.html'. + +1.5 Using 'gettext' in new packages +=================================== + +If you are writing a freely available program and want to +internationalize it you are welcome to use GNU 'gettext' in your +package. Of course you have to respect the GNU Lesser General Public +License which covers the use of the GNU 'gettext' library. This means +in particular that even non-free programs can use 'libintl' as a shared +library, whereas only free software can use 'libintl' as a static +library or use modified versions of 'libintl'. + + Once the sources are changed appropriately and the setup can handle +the use of 'gettext' the only thing missing are the translations. The +Free Translation Project is also available for packages which are not +developed inside the GNU project. Therefore the information given above +applies also for every other Free Software Project. Contact +'coordinator@translationproject.org' to make the '.pot' files available +to the translation teams. diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..ee653ef --- /dev/null +++ b/COPYING @@ -0,0 +1,24 @@ +Copyright (c) 2013 Giovanni Campagna + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the GNOME Foundation nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/COPYINGv2 b/COPYINGv2 new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYINGv2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..1b760a1 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,128 @@ +ACLOCAL_AMFLAGS = -I glm4 -I m4 ${ACLOCAL_FLAGS} +DISTCHECK_CONFIGURE_FLAGS = --disable-dogtail + +SUBDIRS = po data gllib lib src tests + +MAINTAINERCLEANFILES = \ + $(srcdir)/INSTALL \ + $(srcdir)/aclocal.m4 \ + $(srcdir)/autoscan.log \ + $(srcdir)/compile \ + $(srcdir)/config.guess \ + $(srcdir)/config.h.in \ + $(srcdir)/config.sub \ + $(srcdir)/configure.scan \ + $(srcdir)/depcomp \ + $(srcdir)/install-sh \ + $(srcdir)/ltmain.sh \ + $(srcdir)/missing \ + $(srcdir)/mkinstalldirs + +GITIGNOREFILES = \ + .anjuta \ + .anjuta_sym_db.db \ + ABOUT-NLS \ + config.rpath \ + m4/libtool.m4 \ + m4/lt* \ + m4/appstream-xml.m4 \ + m4/gsettings.m4 \ + m4/introspection.m4 \ + m4/nls.m4 \ + m4/pkg.m4 \ + m4/codeset.m4 \ + m4/extern-inline.m4 \ + m4/fcntl-o.m4 \ + m4/gettext.m4 \ + m4/glib-2.0.m4 \ + m4/glibc2.m4 \ + m4/glibc21.m4 \ + m4/iconv.m4 \ + m4/intdiv0.m4 \ + m4/intl.m4 \ + m4/intldir.m4 \ + m4/intlmacosx.m4 \ + m4/intmax.m4 \ + m4/inttypes-pri.m4 \ + m4/inttypes_h.m4 \ + m4/lcmessage.m4 \ + m4/lib-ld.m4 \ + m4/lib-link.m4 \ + m4/lib-prefix.m4 \ + m4/lock.m4 \ + m4/longlong.m4 \ + m4/po.m4 \ + m4/printf-posix.m4 \ + m4/progtest.m4 \ + m4/size_max.m4 \ + m4/stdint_h.m4 \ + m4/threadlib.m4 \ + m4/uintmax_t.m4 \ + m4/visibility.m4 \ + m4/wchar_t.m4 \ + m4/wint_t.m4 \ + m4/xsize.m4 \ + po/Makevars.template \ + po/Rules-quot \ + po/boldquot.sed \ + po/en@boldquot.header \ + po/en@quot.header \ + po/insert-header.sin \ + po/quot.sed \ + po/remove-potcdate.sed \ + po/remove-potcdate.sin \ + po/stamp-po \ + gllib/Makefile \ + gllib/Makefile.in \ + gllib/**/*.lo \ + gllib/**/*.la \ + gllib/**/.deps \ + gllib/**/.libs \ + gllib/.libs \ + gllib/limits.h \ + gllib/sys \ + gllib/unicase.h \ + gllib/unictype.h \ + gllib/unictype/categ_byname.h \ + gllib/unictype/pr_byname.h \ + gllib/unictype/scripts_byname.h \ + gllib/uniname.h \ + gllib/uninorm.h \ + gllib/unistr.h \ + gllib/unitypes.h \ + gllib/uniwidth.h \ + gllib/unused-parameter.h \ + gllib/**/.dirstamp \ + rpms/ + +distdir = $(PACKAGE_TARNAME)-$(VERSION) + +rpmdefines = \ + --define "_name $(PACKAGE_NAME)" \ + --define "_version $(PACKAGE_VERSION)" \ + --define "_distdir $(PACKAGE_TARNAME)" \ + --define "_sourcedir $(abs_builddir)" \ + --define "_specdir $(abs_srcdir)" \ + --define "_builddir $(abs_builddir)/rpms" \ + --define "_srcrpmdir $(abs_builddir)/rpms" \ + --define "_rpmdir $(abs_builddir)/rpms" + +rpm: dist + @rm -fR $(builddir)/rpms + @mkdir $(builddir)/rpms + env -i PATH=/usr/bin/:/bin SHELL=$(SHELL) HOSTNAME=$${HOSTNAME} HOME=$${HOME} \ + rpmbuild $(rpmdefines) -ba $(srcdir)/$(PACKAGE_NAME).spec + +clean-local: + rm -fR $(builddir)/rpms + +EXTRA_DIST = \ + COPYINGv2 \ + $(PACKAGE_NAME).spec \ + glm4/gnulib-cache.m4 \ + meson.build \ + meson_options.txt \ + meson_post_install.py \ + po/meson.build + +-include $(top_srcdir)/git.mk diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..fbb3c96 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,1069 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + ABOUT-NLS COPYING NEWS compile config.guess config.rpath \ + config.sub install-sh ltmain.sh missing +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +GZIP_ENV = --best +DIST_ARCHIVES = $(distdir).tar.xz +DIST_TARGETS = dist-xz +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +ACLOCAL_AMFLAGS = -I glm4 -I m4 ${ACLOCAL_FLAGS} +DISTCHECK_CONFIGURE_FLAGS = --disable-dogtail +SUBDIRS = po data gllib lib src tests +MAINTAINERCLEANFILES = \ + $(srcdir)/INSTALL \ + $(srcdir)/aclocal.m4 \ + $(srcdir)/autoscan.log \ + $(srcdir)/compile \ + $(srcdir)/config.guess \ + $(srcdir)/config.h.in \ + $(srcdir)/config.sub \ + $(srcdir)/configure.scan \ + $(srcdir)/depcomp \ + $(srcdir)/install-sh \ + $(srcdir)/ltmain.sh \ + $(srcdir)/missing \ + $(srcdir)/mkinstalldirs + +GITIGNOREFILES = \ + .anjuta \ + .anjuta_sym_db.db \ + ABOUT-NLS \ + config.rpath \ + m4/libtool.m4 \ + m4/lt* \ + m4/appstream-xml.m4 \ + m4/gsettings.m4 \ + m4/introspection.m4 \ + m4/nls.m4 \ + m4/pkg.m4 \ + m4/codeset.m4 \ + m4/extern-inline.m4 \ + m4/fcntl-o.m4 \ + m4/gettext.m4 \ + m4/glib-2.0.m4 \ + m4/glibc2.m4 \ + m4/glibc21.m4 \ + m4/iconv.m4 \ + m4/intdiv0.m4 \ + m4/intl.m4 \ + m4/intldir.m4 \ + m4/intlmacosx.m4 \ + m4/intmax.m4 \ + m4/inttypes-pri.m4 \ + m4/inttypes_h.m4 \ + m4/lcmessage.m4 \ + m4/lib-ld.m4 \ + m4/lib-link.m4 \ + m4/lib-prefix.m4 \ + m4/lock.m4 \ + m4/longlong.m4 \ + m4/po.m4 \ + m4/printf-posix.m4 \ + m4/progtest.m4 \ + m4/size_max.m4 \ + m4/stdint_h.m4 \ + m4/threadlib.m4 \ + m4/uintmax_t.m4 \ + m4/visibility.m4 \ + m4/wchar_t.m4 \ + m4/wint_t.m4 \ + m4/xsize.m4 \ + po/Makevars.template \ + po/Rules-quot \ + po/boldquot.sed \ + po/en@boldquot.header \ + po/en@quot.header \ + po/insert-header.sin \ + po/quot.sed \ + po/remove-potcdate.sed \ + po/remove-potcdate.sin \ + po/stamp-po \ + gllib/Makefile \ + gllib/Makefile.in \ + gllib/**/*.lo \ + gllib/**/*.la \ + gllib/**/.deps \ + gllib/**/.libs \ + gllib/.libs \ + gllib/limits.h \ + gllib/sys \ + gllib/unicase.h \ + gllib/unictype.h \ + gllib/unictype/categ_byname.h \ + gllib/unictype/pr_byname.h \ + gllib/unictype/scripts_byname.h \ + gllib/uniname.h \ + gllib/uninorm.h \ + gllib/unistr.h \ + gllib/unitypes.h \ + gllib/uniwidth.h \ + gllib/unused-parameter.h \ + gllib/**/.dirstamp \ + rpms/ + +distdir = $(PACKAGE_TARNAME)-$(VERSION) +rpmdefines = \ + --define "_name $(PACKAGE_NAME)" \ + --define "_version $(PACKAGE_VERSION)" \ + --define "_distdir $(PACKAGE_TARNAME)" \ + --define "_sourcedir $(abs_builddir)" \ + --define "_specdir $(abs_srcdir)" \ + --define "_builddir $(abs_builddir)/rpms" \ + --define "_srcrpmdir $(abs_builddir)/rpms" \ + --define "_rpmdir $(abs_builddir)/rpms" + +EXTRA_DIST = \ + COPYINGv2 \ + $(PACKAGE_NAME).spec \ + glm4/gnulib-cache.m4 \ + meson.build \ + meson_options.txt \ + meson_post_install.py \ + po/meson.build + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) all install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ + dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \ + dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +rpm: dist + @rm -fR $(builddir)/rpms + @mkdir $(builddir)/rpms + env -i PATH=/usr/bin/:/bin SHELL=$(SHELL) HOSTNAME=$${HOSTNAME} HOME=$${HOME} \ + rpmbuild $(rpmdefines) -ba $(srcdir)/$(PACKAGE_NAME).spec + +clean-local: + rm -fR $(builddir)/rpms + +-include $(top_srcdir)/git.mk + +# 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/NEWS b/NEWS new file mode 100644 index 0000000..98334d1 --- /dev/null +++ b/NEWS @@ -0,0 +1,520 @@ +3.28.2 +=== + +- libgc: Fix crasher with some GCC configurations + +New And Updated Translations +============================ +Daniel Șerbănescu (ro) +Dz Chen (zh_CN) +Rafael Fontenelle (pt_BR) + +3.28.0 +=== + +- character: Avoid critical warning after closing the dialog + +3.27.92 +=== + +- build: Port to meson build system +- libgc: Perform full canonical decomposition for Hangul syllables + +New And Updated Translations +============================ +Alain Lojewski (fr) +Cédric Valmary (oc) +GNOME Translation Robot (gd) +Khaled Hosny (ar) +Kjartan Maraas (nb) +Pieter Schalk Schoeman (af) +Stas Solovey (ru) + +3.26.2 +=== + +- window: Fix error when searching on recently used page + +New And Updated Translations +============================ +Matej Urbančič (sl) +Pawan Chitrakar (ne) +Xavi Ivars (ca@valencia) + +3.26.1 +=== + +- characterList: Make search work again + +New And Updated Translations +============================ +Anders Jonsson (sv) +Arash Mousavi (fa) +Ask Hjorth Larsen (da) +Efstathios Iosifidis (el) +Gayathri N Nair (ml) +gogo (hr) +hanniedu (nl) +Mario Blättermann (de) +Matej Urbančič (sl) +Sveinn í Felli (is) +Tom Tryfonidis (el) +Марко Костић (sr) +Милош Поповић (sr@latin) + +3.25.92 +=== + +- ui: Implement Emoji subcategories +- character: Add to Recent list when copied not viewed +- characterList: load more on resize +- build fixes + +New And Updated Translations +============================ +Anish Sheela (ml) +Ask Hjorth Larsen (da) +Aurimas Černius (lt) +Balázs Úr (hu) +Cheng-Chia Tseng (zh_TW) +Daniel Mustieles (es) +Dušan Kazik (sk) +Emin Tufan Çetin (tr) +Fabio Tomat (fur) +Fran Dieguez (gl) +gogo (hr) +hanniedu (nl) +Jiri Grönroos (fi) +Jordi Mas (ca) +Kukuh Syafaat (id) +Marek Cernocky (cs) +Milo Casagrande (it) +Pawan Chitrakar (ne) +Piotr Drąg (ja) +Piotr Drąg (ml) +Piotr Drąg (pl) +Rafael Fontenelle (pt_BR) +Rūdolfs Mazurs (lv) +Seong-ho Cho (ko) +Yuras Shumovich (be) + +3.24.0 +=== + +- characterList: Add NULL check for character name +- characterlist.ui: Improve the 'no result' strings +- searchProvider: add clipboardText to result meta +- categoryList: Make IBus detection robuster + +New And Updated Translations +============================ +Alan Mortensen (da) +Anders Jonsson (sv) +Ask Hjorth Larsen (da) +Aurimas Černius (lt) +Balázs Meskó (hu) +Baurzhan Muftakhidinov (kk) +Bernd Homuth (de) +Çağatay Yiğit Şahin (tr) +Chao-Hsiung Liao (zh_TW) +Charles Monzat (fr) +Cheng-Chia Tseng (zh_TW) +Daniel Mustieles (es) +Dušan Kazik (sk) +Dz Chen (zh_CN) +Fabio Tomat (fur) +Fran Dieguez (gl) +GNOME Translation Robot (gd) +gogo (hr) +Inaki Larranaga Murgoitio (eu) +Jiri Grönroos (fi) +Jordi Mas (ca) +Khaled Hosny (ar) +Kjartan Maraas (nb) +Kukuh Syafaat (id) +Marek Černocký (cs) +Matej Urbančič (sl) +Milo Casagrande (it) +Muhammet Kara (tr) +Piotr Drąg (is) (lv) (pt) (sr) (sr@latin) +Piotr Drąg (pl) +Rafael Fontenelle (pt_BR) +Rūdolfs Mazurs (lv) +Seong-ho Cho (ko) +Sveinn í Felli (is) +Tiago Santos (pt) +Tom Tryfonidis (el) +Victor Ibragimov (tg) +Yuras Shumovich (be) +Yuri Myasoedov (ru) +Мирослав Николић (sr) (sr@latin) +વિશાલ ભલાણી (gu) + +3.22.0 +=== + +- build: Fix appdata installation +- build: Don't run intltoolize in autogen.sh +- build: Regenerate uninames.h +- Add more options to XGETTEXT_OPTIONS in po/Makevars + +New And Updated Translations +============================ +Alexandre Franke (fr) +Andika Triwidada (id) +Arash Mousavi (fa) +Ask Hjorth Larsen (da) +Aurimas Černius (lt) +Baurzhan Muftakhidinov (kk) +Bruce Cowan (en_GB) +Daniel Korostil (uk) +Daniel Mustieles (es) +Dušan Kazik (sk) +Fabio Tomat (fur) +Fran Dieguez (gl) +Hannie Dumoleyn (nl) +Inaki Larranaga Murgoitio (eu) +Jeremy Bicha (es) +Jiri Grönroos (fi) +Mario Blättermann (de) +Milo Casagrande (it) +Rūdolfs Mazurs (lv) +Seong-ho Cho (ko) +Stas Solovey (ru) +Tiago Santos (pt) +Tom Tryfonidis (el) +Yosef Or Boczko (he) +Мирослав Николић (sr) (sr@latin) + +3.21.91.1 +=== + +- Remove intltool markers from .appdata and .desktop +- Update tables for "See Also" list to Unicode 9.0.0 + +New And Updated Translations +============================ +Anders Jonsson (sv) +Balázs Úr (hu) +Enrico Nicoletto (pt_BR) +Marek Cernocky (cs) +Matej Urbančič (sl) +Piotr Drąg (pl) + +3.21.91 +=== + +- Update Unicode standard to 9.0.0 +- characterList: Support drag and drop of characters (bug#764757) + +New And Updated Translations +============================ +Alexandre Franke (fr) +Anders Jonsson (sv) +Andika Triwidada (id) +Arash Mousavi (fa) +Aurimas Černius (lt) +Balázs Úr (hu) +Cédric Valmary (oc) +Cheng-Chia Tseng (zh_TW) +Daniel Korostil (uk) +Daniel Mustieles (es) +Dušan Kazik (sk) +Fabio Tomat (fur) +Fran Dieguez (gl) +Jeff Bai (zh_CN) +Jiri Grönroos (fi) +Khaled Hosny (ar) +Lucas Capalbo (es) +Marek Cernocky (cs) +Mario Blättermann (de) +Matej Urbančič (sl) +Piotr Drąg (ca) (es) (gl) (ln) (sl) (sr@latin) +Piotr Drąg (pl) +René Manassé GALEKWA (ln) +Sveinn í Felli (is) +Tiago Santos (pt) +Yosef Or Boczko (he) + +3.20.0 +=== + +New And Updated Translations +============================ +Ask Hjorth Larsen (da) +Inaki Larranaga Murgoitio (eu) +Kris Thomsen (da) +Milo Casagrande (it) +Stas Solovey (ru) + +3.19.92 +=== + +- Add additional keywords to .desktop (bug#762576) +- Disable subtitle in the headerbar (bug#763177) +- Remove redundant horizontal padding in filter menu (bug#763233) + +New And Updated Translations +============================ +Alexandre Franke (fr) +Anders Jonsson (sv) +Artur de Aquino Morais (pt_BR) +Aurimas Černius (lt) +Balázs Úr (hu) +Baurzhan Muftakhidinov (kk) +Cédric Valmary (oc) +Claude Paroz (fr) +Daniel Mustieles (es) +Dušan Kazik (sk) +Efstathios Iosifidis (el) +Fabio Tomat (fur) +Fran Dieguez (gl) +hanniedu (nl) +Jiri Grönroos (fi) +Kjartan Maraas (nb) +Marek Černocký (cs) +Mario Blättermann (de) +Matej Urbančič (sl) +Milo Casagrande (it) +Piotr Drąg (pl) +Rūdolfs Mazurs (lv) +Seong-ho Cho (ko) +Yosef Or Boczko (he) +Марко М. Костић (sr) +Мирослав Николић (sr) (sr@latin) + +3.19.90 +=== + +- Make "copy character" work again with newer GTK+ +- Make search provider work again with the new internal search API +- Hide missing characters by default (bug#744591) +- Update appdata to 0.7+ format and add missing data +- The search provider now only shows prefix matches (bug#757368) +- Visual fixes for category list (bug#761793) +- Visual fixes for font list (bug#748717) + +New And Updated Translations +============================ +Aurimas Černius (lt) +Balázs Meskó (hu) +Bernd Homuth (de) +Daniel Mustieles (es) +Dušan Kazik (sk) +hanniedu (nl) +Jiri Grönroos (fi) +Jiro Matsuzawa (ja) +Kjartan Maraas (nb) +Marek Černocký (cs) +Mario Blättermann (de) +Matej Urbančič (sl) +Paul Seyfert (de) +Pedro Albuquerque (pt) +Piotr Drąg (de) +Piotr Drąg (pl) +Rafael Fontenelle (pt_BR) +Rūdolfs Mazurs (lv) +Stas Solovey (ru) +Tom Tryfonidis (el) + +3.19.3 +=== + +- Add visual feedback for invisible characters (bug#757815) +- Rework search function to feed more results when the user scrolls + the list to the bottom (bug#757523) +- Standardize app menu +- Disable search provider by default +- Add notification for clipboard access (bug#755212) +- Switch away from gnome-autogen.sh + +New And Updated Translations +============================ +Aurimas Černius (lt) +Balázs Meskó (hu) +Baurzhan Muftakhidinov (kk) +Cédric Valmary (oc) +Daniel Mustieles (es) +Daniel Șerbănescu (ro) +Dušan Kazik (sk) +Efstathios Iosifidis (el) +Fabio Tomat (fur) +Inaki Larranaga Murgoitio (eu) +Jiri Grönroos (fi) +Kalev Lember (ar) +Kjartan Maraas (nb) +Marek Černoch (cs) +Pedro Albuquerque (pt) +Sebastian Rasmussen (sv) +Sveinn í Felli (is) +Yosef Or Boczko (he) + +3.18.0 +=== + +- Update tables for "See Also" list to Unicode 8.0.0 + +New And Updated Translations +============================ +Anders Jonsson (sv) +Arash Mousavi (fa) +Benjamin Steinwender (de) +Claude Paroz (fr) +Dušan Kazik (sk) +Kjartan Maraas (nb) +Kris Thomsen (da) +Milo Casagrande (it) +Piotr Drąg (pl) +Rafael Fontenelle (pt_BR) +Seong-ho Cho (ko) +Stas Solovey (ru) +Timo Jyrinki (fi) + +3.17.91 +=== + +- Fix font filtering logic +- Close font filtering popover after selection +- Fix character name display for CJK ideographs + +New And Updated Translations +============================ +A S Alam (pa) +Chao-Hsiung Liao (zh_TW) +Christian Kirbach (de) +Daiki Ueno (ja) +Piotr Drąg (pl) +Safa Alfulaij (ar) +Tom Tryfonidis (el) + +3.17.90 +=== + +- Bug 753113 - make fails without gperf + +New And Updated Translations +============================ +Andika Triwidada (id) +Aurimas Černius (lt) +Daiki Ueno (ja) +Fran Dieguez (gl) +Kjartan Maraas (nb) +Kristjan SCHMIDT (eo) +Muhammet Kara (tr) +Pedro Albuquerque (pt) + +3.17.4.1 +=== + +- Bug 752954 - gnome-characters 3.17.4 no longer installs appdata +- Install all hicolor icons under $datadir/icons/hicolor + +3.17.4 +=== + +- Update Unicode standard to 8.0.0 +- Bug 752607 - Update filter menu layout according to lastest mockup +- Bug 743643 - Lacks scripts other than Latin +- Bug 748717 - Filter by font - layout and visual fixes +- Bug 748124 - build failure +- Bug 747398 - Use the ellipsis character +- Bug 747061 - Search sometimes has poor results. + +New And Updated Translations +============================ +Alexandre Franke (fr) +Balázs Úr (hu) +Cédric Valmary (oc) +Daniel Korostil (uk) +Daniel Mustieles (es) +Dean Chen (zh_CN) +Dušan Kazik (sk) +Enrico Nicoletto (pt_BR) +GNOME Translation Robot (pt_BR) +Irene Sáez (es) +Jordi Mas (ca) +Marek Černocký (cs) +Milo Casagrande (it) +Piotr Drąg (pl) +Yosef Or Boczko (he) + +3.16.0 +=== + +New And Updated Translations +============================ +Cheng-Chia Tseng (zh_TW) +Daniel Mustieles (es) + +3.15.92 +=== + +- Bug 745508 - Two fixes to the search provider +- Fix non-BMP character display +- Make search keyword match against hex code point +- Add key navigation with cursor keys (without modifiers) + +New And Updated Translations +============================ +Balázs Úr (hu) +Daiki Ueno (ja) +Dušan Kazik (sk) +Marek Černocký (cs) +Piotr Drąg (pl) +Yosef Or Boczko (he) + +3.15.91.1 +=== + +- Restore the resizing behavior, which was broken in the last release + +3.15.91 +=== + +- Bug 744336 - Add a unique application icon +- Bug 744855 - Search provider +- Add more characters to "Pictures" section +- Add more characters to "See Also" list, by using Unicode character + compositions + +New And Updated Translations +============================ +Balázs Úr (hu) +Cheng-Chia Tseng (zh_TW) +Matej Urbančič (sl) +Yosef Or Boczko (he) + +3.15.90 +=== + +- Support character filtering by font +- Bundle Gnulib libunistring modules to provide Unicode 7.0.0 support, + which will be compiled in only when the system libunistring is < 0.9.5 +- Bug 740260 - Emoticons section - characters are cut off at the bottom +- Bug 744331 - Don't default to recently used when it is empty +- Bug 744479 - Unicode text should be selectable + +New And Updated Translations +============================ +Balázs Úr (hu) +Christian Kirbach (de) +Daniel Mustieles (es) +Enrico Nicoletto (pt_BR) +Marek Černocký (cs) +Мирослав Николић (sr) (sr@latin) + +3.15.2 +=== + +- Initial release +- Bug 740189 - #!/bin/bash in autogen.sh +- Bug 740257 - Characters scale when the window is resized +- Bug 740258 - Character dialogs should use a standard X button to close +- Bug 740259 - Background color doesn't fill the entire character pane + +New And Updated Translations +============================ +- Dimitris Spingos (el) +- Yosef Or Boczko (he) +- Enrico Nicoletto (pt_BR) +- Мирослав Николић (sr) diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..28afa59 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1192 @@ +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.15' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.15.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.15.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2017 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/glibtests.m4]) +m4_include([glm4/00gnulib.m4]) +m4_include([glm4/absolute-header.m4]) +m4_include([glm4/appstream-xml.m4]) +m4_include([glm4/asm-underscore.m4]) +m4_include([glm4/gettext.m4]) +m4_include([glm4/glib-2.0.m4]) +m4_include([glm4/gnulib-common.m4]) +m4_include([glm4/gnulib-comp.m4]) +m4_include([glm4/gsettings.m4]) +m4_include([glm4/host-cpu-c-abi.m4]) +m4_include([glm4/iconv.m4]) +m4_include([glm4/include_next.m4]) +m4_include([glm4/inline.m4]) +m4_include([glm4/intlmacosx.m4]) +m4_include([glm4/introspection.m4]) +m4_include([glm4/lib-ld.m4]) +m4_include([glm4/lib-link.m4]) +m4_include([glm4/lib-prefix.m4]) +m4_include([glm4/libtool.m4]) +m4_include([glm4/libunistring-base.m4]) +m4_include([glm4/libunistring-optional.m4]) +m4_include([glm4/libunistring.m4]) +m4_include([glm4/limits-h.m4]) +m4_include([glm4/longlong.m4]) +m4_include([glm4/ltoptions.m4]) +m4_include([glm4/ltsugar.m4]) +m4_include([glm4/ltversion.m4]) +m4_include([glm4/lt~obsolete.m4]) +m4_include([glm4/multiarch.m4]) +m4_include([glm4/nls.m4]) +m4_include([glm4/off_t.m4]) +m4_include([glm4/pkg.m4]) +m4_include([glm4/po.m4]) +m4_include([glm4/progtest.m4]) +m4_include([glm4/ssize_t.m4]) +m4_include([glm4/stdbool.m4]) +m4_include([glm4/stdint.m4]) +m4_include([glm4/sys_types_h.m4]) +m4_include([glm4/wint_t.m4]) diff --git a/compile b/compile new file mode 100755 index 0000000..2ab71e4 --- /dev/null +++ b/compile @@ -0,0 +1,348 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2016-01-11.22; # UTC + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..a744844 --- /dev/null +++ b/config.guess @@ -0,0 +1,1476 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2017 Free Software Foundation, Inc. + +timestamp='2017-08-08' + +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# +# Please send patches to . + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2017 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; + *:Redox:*:*) + echo ${UNAME_MACHINE}-unknown-redox + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = hppa2.0w ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-*:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-*:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = 386; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; +esac + +cat >&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..c3c80b6 --- /dev/null +++ b/config.h.in @@ -0,0 +1,343 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* CPU and C ABI indicator */ +#ifndef __i386__ +#undef __i386__ +#endif +#ifndef __x86_64_x32__ +#undef __x86_64_x32__ +#endif +#ifndef __x86_64__ +#undef __x86_64__ +#endif +#ifndef __alpha__ +#undef __alpha__ +#endif +#ifndef __arm__ +#undef __arm__ +#endif +#ifndef __armhf__ +#undef __armhf__ +#endif +#ifndef __arm64_ilp32__ +#undef __arm64_ilp32__ +#endif +#ifndef __arm64__ +#undef __arm64__ +#endif +#ifndef __hppa__ +#undef __hppa__ +#endif +#ifndef __hppa64__ +#undef __hppa64__ +#endif +#ifndef __ia64_ilp32__ +#undef __ia64_ilp32__ +#endif +#ifndef __ia64__ +#undef __ia64__ +#endif +#ifndef __m68k__ +#undef __m68k__ +#endif +#ifndef __mips__ +#undef __mips__ +#endif +#ifndef __mipsn32__ +#undef __mipsn32__ +#endif +#ifndef __mips64__ +#undef __mips64__ +#endif +#ifndef __powerpc__ +#undef __powerpc__ +#endif +#ifndef __powerpc64__ +#undef __powerpc64__ +#endif +#ifndef __powerpc64_elfv2__ +#undef __powerpc64_elfv2__ +#endif +#ifndef __s390__ +#undef __s390__ +#endif +#ifndef __s390x__ +#undef __s390x__ +#endif +#ifndef __sh__ +#undef __sh__ +#endif +#ifndef __sparc__ +#undef __sparc__ +#endif +#ifndef __sparc64__ +#undef __sparc64__ +#endif + + +/* Define to the number of bits in type 'ptrdiff_t'. */ +#undef BITSIZEOF_PTRDIFF_T + +/* Define to the number of bits in type 'sig_atomic_t'. */ +#undef BITSIZEOF_SIG_ATOMIC_T + +/* Define to the number of bits in type 'size_t'. */ +#undef BITSIZEOF_SIZE_T + +/* Define to the number of bits in type 'wchar_t'. */ +#undef BITSIZEOF_WCHAR_T + +/* Define to the number of bits in type 'wint_t'. */ +#undef BITSIZEOF_WINT_T + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS + +/* The prefix for our gettext translation domains. */ +#undef GETTEXT_PACKAGE + +/* Define to 1 when the gnulib module uninorm/u32-normalize should be tested. + */ +#undef GNULIB_TEST_UNINORM_U32_NORMALIZE + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u32-mbtouc-unsafe shall be considered + present. */ +#undef GNULIB_UNISTR_U32_MBTOUC_UNSAFE + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u32-uctomb shall be considered present. */ +#undef GNULIB_UNISTR_U32_UCTOMB + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ +#undef GNULIB_UNISTR_U8_MBTOUCR + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-uctomb shall be considered present. */ +#undef GNULIB_UNISTR_U8_UCTOMB + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV + +/* Define to 1 if the compiler supports one of the keywords 'inline', + '__inline__', '__inline' and effectively inlines functions marked as such. + */ +#undef HAVE_INLINE + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if you have the libunistring library. */ +#undef HAVE_LIBUNISTRING + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if the system has the type 'long long int'. */ +#undef HAVE_LONG_LONG_INT + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you want to enable pangoft2 support */ +#undef HAVE_PANGOFT2 + +/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ +#undef HAVE_SIGNED_SIG_ATOMIC_T + +/* Define to 1 if 'wchar_t' is a signed integer type. */ +#undef HAVE_SIGNED_WCHAR_T + +/* Define to 1 if 'wint_t' is a signed integer type. */ +#undef HAVE_SIGNED_WINT_T + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_BITYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if the system has the type 'unsigned long long int'. */ +#undef HAVE_UNSIGNED_LONG_LONG_INT + +/* Define to 1 if you have the header file. */ +#undef HAVE_WCHAR_H + +/* Define if you have the 'wint_t' type. */ +#undef HAVE_WINT_T + +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + +/* Define as const if the declaration of iconv() needs const. */ +#undef ICONV_CONST + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'ptrdiff_t'. */ +#undef PTRDIFF_T_SUFFIX + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'sig_atomic_t'. */ +#undef SIG_ATOMIC_T_SUFFIX + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'size_t'. */ +#undef SIZE_T_SUFFIX + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wchar_t'. */ +#undef WCHAR_T_SUFFIX + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wint_t'. */ +#undef WINT_T_SUFFIX + +/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + +/* For standard stat data types on VMS. */ +#undef _USE_STD_STAT + +/* Define to 1 if the system predates C++11. */ +#undef __STDC_CONSTANT_MACROS + +/* Define to 1 if the system predates C++11. */ +#undef __STDC_LIMIT_MACROS + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif + +/* Define to `int' if does not define. */ +#undef mode_t + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define as a signed type of the same size as size_t. */ +#undef ssize_t + +/* Define as a marker that can be attached to declarations that might not + be used. This helps to reduce warnings, such as from + GCC -Wunused-parameter. */ +#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_UNUSED +#endif +/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name + is a misnomer outside of parameter lists. */ +#define _UNUSED_PARAMETER_ _GL_UNUSED + +/* gcc supports the "unused" attribute on possibly unused labels, and + g++ has since version 4.5. Note to support C++ as well as C, + _GL_UNUSED_LABEL should be used with a trailing ; */ +#if !defined __cplusplus || __GNUC__ > 4 \ + || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +# define _GL_UNUSED_LABEL _GL_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif + diff --git a/config.rpath b/config.rpath new file mode 100755 index 0000000..98183ff --- /dev/null +++ b/config.rpath @@ -0,0 +1,684 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2016 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + newsos6) + ;; + *nto* | *qnx*) + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + haiku*) + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then + : + else + ld_shlibs=no + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd2.[01]*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + *nto* | *qnx*) + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd[23].*) + library_names_spec='$libname$shrext$versuffix' + ;; + freebsd* | dragonfly*) + library_names_spec='$libname$shrext' + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + haiku*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + *nto* | *qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + tpf*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2017 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia16 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | wasm32 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | e2k-* | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ + | pyramid-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ + | wasm32-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + wasm32) + basic_machine=wasm32-unknown + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -ios) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + pru-*) + os=-elf + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..313a2fe --- /dev/null +++ b/configure @@ -0,0 +1,30218 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for org.gnome.Characters 3.28.2. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='org.gnome.Characters' +PACKAGE_TARNAME='gnome-characters' +PACKAGE_VERSION='3.28.2' +PACKAGE_STRING='org.gnome.Characters 3.28.2' +PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters' +PACKAGE_URL='' + +gt_needs= +ac_header_list= +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='gltests_LTLIBOBJS +gltests_LIBOBJS +gl_LTLIBOBJS +gl_LIBOBJS +am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +PANGOFT2_LIBS +PANGOFT2_CFLAGS +LIBGC_LIBS +LIBGC_CFLAGS +installed_testdir +installed_test_metadir +ENABLE_ALWAYS_BUILD_TESTS_FALSE +ENABLE_ALWAYS_BUILD_TESTS_TRUE +ENABLE_INSTALLED_TESTS_FALSE +ENABLE_INSTALLED_TESTS_TRUE +GLIB_COMPILE_RESOURCES +GLIB_MKENUMS +GOBJECT_QUERY +GLIB_GENMARSHAL +GLIB_LIBS +GLIB_CFLAGS +ENABLE_COVERAGE_FALSE +ENABLE_COVERAGE_TRUE +GENHTML +LCOV +ENABLE_DOGTAIL_FALSE +ENABLE_DOGTAIL_TRUE +MSGUNIQ +GJS +DEPS_LIBS +DEPS_CFLAGS +HAVE_INTROSPECTION_FALSE +HAVE_INTROSPECTION_TRUE +INTROSPECTION_MAKEFILE +INTROSPECTION_LIBS +INTROSPECTION_CFLAGS +INTROSPECTION_TYPELIBDIR +INTROSPECTION_GIRDIR +INTROSPECTION_GENERATE +INTROSPECTION_COMPILER +INTROSPECTION_SCANNER +GSETTINGS_RULES +GLIB_COMPILE_SCHEMAS +gsettingsschemadir +GSETTINGS_DISABLE_SCHEMAS_COMPILE +APPSTREAM_XML_RULES +appstreamxmldir +APPSTREAM_UTIL +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +ac_ct_AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +LIBTOOL +gltests_WITNESS +LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE +LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE +LIBUNISTRING_UNIWIDTH_H +LIBUNISTRING_UNITYPES_H +LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE +LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE +LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_FALSE +LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE +LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_FALSE +LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE +LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE +LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE +LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_FALSE +LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE +LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_FALSE +LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE +LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_FALSE +LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE +LIBUNISTRING_COMPILE_UNISTR_U32_CPY_FALSE +LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE +LIBUNISTRING_UNISTR_H +LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_FALSE +LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE +LIBUNISTRING_COMPILE_UNINORM_NFD_FALSE +LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE +LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_FALSE +LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE +LIBUNISTRING_UNINORM_H +LIBUNISTRING_COMPILE_UNINAME_UNINAME_FALSE +LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE +LIBUNISTRING_UNINAME_H +LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE +LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_FALSE +LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE +LIBUNISTRING_UNICTYPE_H +LIBUNISTRING_COMPILE_UNICASE_TOUPPER_FALSE +LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE +LIBUNISTRING_COMPILE_UNICASE_TOTITLE_FALSE +LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE +LIBUNISTRING_COMPILE_UNICASE_TOLOWER_FALSE +LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE +LIBUNISTRING_UNICASE_H +WINDOWS_STAT_INODES +WINDOWS_64_BIT_OFF_T +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H +NEXT_SYS_TYPES_H +GL_GENERATE_STDINT_H_FALSE +GL_GENERATE_STDINT_H_TRUE +STDINT_H +HAVE_SYS_INTTYPES_H +HAVE_SYS_BITYPES_H +HAVE_C99_STDINT_H +WINT_T_SUFFIX +WCHAR_T_SUFFIX +SIG_ATOMIC_T_SUFFIX +SIZE_T_SUFFIX +PTRDIFF_T_SUFFIX +HAVE_SIGNED_WINT_T +HAVE_SIGNED_WCHAR_T +HAVE_SIGNED_SIG_ATOMIC_T +BITSIZEOF_WINT_T +BITSIZEOF_WCHAR_T +BITSIZEOF_SIG_ATOMIC_T +BITSIZEOF_SIZE_T +BITSIZEOF_PTRDIFF_T +HAVE_STDINT_H +NEXT_AS_FIRST_DIRECTIVE_STDINT_H +NEXT_STDINT_H +HAVE_SYS_TYPES_H +HAVE_INTTYPES_H +HAVE_WCHAR_H +HAVE_UNSIGNED_LONG_LONG_INT +HAVE_LONG_LONG_INT +GNULIB_OVERRIDES_WINT_T +HAVE__BOOL +GL_GENERATE_STDBOOL_H_FALSE +GL_GENERATE_STDBOOL_H_TRUE +STDBOOL_H +APPLE_UNIVERSAL_BUILD +GL_GENERATE_LIMITS_H_FALSE +GL_GENERATE_LIMITS_H_TRUE +LIMITS_H +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H +NEXT_LIMITS_H +PRAGMA_COLUMNS +PRAGMA_SYSTEM_HEADER +INCLUDE_NEXT_AS_FIRST_DIRECTIVE +INCLUDE_NEXT +LIBUNISTRING_PREFIX +LTLIBUNISTRING +LIBUNISTRING +HAVE_LIBUNISTRING +GL_COND_LIBTOOL_FALSE +GL_COND_LIBTOOL_TRUE +RANLIB +ARFLAGS +AR +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +INTL_MACOSX_LIBS +HOST_CPU_C_ABI +HOST_CPU +EGREP +GREP +CPP +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +XGETTEXT_EXTRA_OPTIONS +MSGMERGE +XGETTEXT_015 +XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT +MSGFMT +GETTEXT_MACRO_VERSION +USE_NLS +SED +GETTEXT_PACKAGE +PACKAGE_DBUS_PATH +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_nls +enable_dependency_tracking +with_gnu_ld +enable_rpath +with_libiconv_prefix +with_libintl_prefix +with_included_libunistring +with_libunistring_prefix +enable_static +enable_shared +with_pic +enable_fast_install +with_aix_soname +with_sysroot +enable_libtool_lock +enable_appstream_util +enable_schemas_compile +enable_dogtail +enable_coverage +enable_glibtest +enable_installed_tests +enable_always_build_tests +enable_pangoft2 +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +LT_SYS_LIBRARY_PATH +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +DEPS_CFLAGS +DEPS_LIBS +LIBGC_CFLAGS +LIBGC_LIBS +PANGOFT2_CFLAGS +PANGOFT2_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures org.gnome.Characters 3.28.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root + [DATAROOTDIR/doc/gnome-characters] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of org.gnome.Characters 3.28.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --disable-nls do not use Native Language Support + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --disable-rpath do not hardcode runtime library paths + --enable-static[=PKGS] build static libraries [default=no] + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --disable-appstream-util + Disable validating AppData XML files during check + phase + --disable-schemas-compile + Disable regeneration of gschemas.compiled on install + --enable-dogtail test using dogtail [default=yes] + --enable-coverage enable code coverage + --disable-glibtest do not try to compile and run a test GLIB program + --enable-installed-tests + Enable installation of some test cases + --enable-always-build-tests + Enable always building tests during 'make all' + --disable-pangoft2 disable pangoft2 support + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + --with-included-libunistring use the libunistring parts included here + --with-libunistring-prefix[=DIR] search for libunistring in DIR/include and DIR/lib + --without-libunistring-prefix don't search for libunistring in includedir and libdir + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path + DEPS_CFLAGS C compiler flags for DEPS, overriding pkg-config + DEPS_LIBS linker flags for DEPS, overriding pkg-config + LIBGC_CFLAGS + C compiler flags for LIBGC, overriding pkg-config + LIBGC_LIBS linker flags for LIBGC, overriding pkg-config + PANGOFT2_CFLAGS + C compiler flags for PANGOFT2, overriding pkg-config + PANGOFT2_LIBS + linker flags for PANGOFT2, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +org.gnome.Characters configure 3.28.2 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## -------------------------------------------------------------------------------- ## +## Report this to https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters ## +## -------------------------------------------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by org.gnome.Characters $as_me 3.28.2, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +gt_needs="$gt_needs " +as_fn_append ac_header_list " limits.h" +as_fn_append ac_header_list " wchar.h" +as_fn_append ac_header_list " stdint.h" +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_config_headers="$ac_config_headers config.h" + + + +am__api_version='1.15' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='gnome-characters' + VERSION='3.28.2' + + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar plaintar pax cpio none' + +# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5 +$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; } + if test $am_uid -le $am_max_uid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5 +$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; } + if test $am_gid -le $am_max_gid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 +$as_echo_n "checking how to create a ustar tar archive... " >&6; } + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_ustar-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + { echo "$as_me:$LINENO: $_am_tar --version" >&5 + ($_am_tar --version) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && break + done + am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x ustar -w "$$tardir"' + am__tar_='pax -L -x ustar -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H ustar -L' + am__tar_='find "$tardir" -print | cpio -o -H ustar -L' + am__untar='cpio -i -H ustar -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_ustar}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 + (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + rm -rf conftest.dir + if test -s conftest.tar; then + { echo "$as_me:$LINENO: $am__untar &5 + ($am__untar &5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + { echo "$as_me:$LINENO: cat conftest.dir/file" >&5 + (cat conftest.dir/file) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + if ${am_cv_prog_tar_ustar+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_prog_tar_ustar=$_am_tool +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 +$as_echo "$am_cv_prog_tar_ustar" >&6; } + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +# revert automake using PACKAGE_TARNAME instead of PACKAGE_NAME +PACKAGE=$PACKAGE_NAME + + +PACKAGE_DBUS_PATH=/`echo $PACKAGE_NAME | sed 's,\.,/,g'` +PACKAGE_DBUS_PATH=$PACKAGE_DBUS_PATH + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + + +GETTEXT_PACKAGE=$PACKAGE_NAME + + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + 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_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + GETTEXT_MACRO_VERSION=0.19 + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac + + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$localedir" || localedir='${datadir}/locale' + + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +$as_echo_n "checking for ld... " >&6; } +elif test "$GCC" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac + fi + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + sparc64-*-netbsd*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + # The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac + +fi + + LD="$acl_cv_path_LD" +fi +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _MSC_VER +MicrosoftCompiler +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "MicrosoftCompiler" >/dev/null 2>&1; then : + gl_asmext='asm' + gl_c_asm_opt='-c -Fa' + +else + gl_asmext='s' + gl_c_asm_opt='-S' + +fi +rm -f conftest* + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking host CPU and C ABI" >&5 +$as_echo_n "checking host CPU and C ABI... " >&6; } +if ${gl_cv_host_cpu_c_abi+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$host_cpu" in + + i[4567]86 ) + gl_cv_host_cpu_c_abi=i386 + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=x86_64-x32 +else + gl_cv_host_cpu_c_abi=x86_64 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + gl_cv_host_cpu_c_abi=i386 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) + gl_cv_host_cpu_c_abi=alpha + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __aarch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=arm64-ilp32 +else + gl_cv_host_cpu_c_abi=arm64 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + # Don't distinguish little-endian and big-endian arm, since they + # don't require different machine code for simple operations and + # since the user can distinguish them through the preprocessor + # defines __ARMEL__ vs. __ARMEB__. + # But distinguish arm which passes floating-point arguments and + # return values in integer registers (r0, r1, ...) - this is + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which + # passes them in float registers (s0, s1, ...) and double registers + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer + # sets the preprocessor defines __ARM_PCS (for the first case) and + # __ARM_PCS_VFP (for the second case), but older GCC does not. + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c + # Look for a reference to the register d0 in the .s file. + { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1 + if LC_ALL=C grep -E 'd0,' conftest.$gl_asmext >/dev/null; then + gl_cv_host_cpu_c_abi=armhf + else + gl_cv_host_cpu_c_abi=arm + fi + rm -f conftest* + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=hppa64 +else + gl_cv_host_cpu_c_abi=hppa +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=ia64-ilp32 +else + gl_cv_host_cpu_c_abi=ia64 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=mips64 +else + # In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIO32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (_MIPS_SIM == _ABIN32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=mipsn32 +else + gl_cv_host_cpu_c_abi=mips +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # On powerpc64, there are two ABIs on Linux: The AIX compatible + # one and the ELFv2 one. The latter defines _CALL_ELF=2. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _CALL_ELF && _CALL_ELF == 2 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=powerpc64-elfv2 +else + gl_cv_host_cpu_c_abi=powerpc64 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + gl_cv_host_cpu_c_abi=powerpc +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi=powerpc + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=s390x +else + gl_cv_host_cpu_c_abi=s390 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi=sparc64 +else + gl_cv_host_cpu_c_abi=sparc +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + *) + gl_cv_host_cpu_c_abi="$host_cpu" + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi" >&5 +$as_echo "$gl_cv_host_cpu_c_abi" >&6; } + + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" + + + + # This was + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) + # earlier, but KAI C++ 3.2d doesn't like this. + sed -e 's/-/_/g' >> confdefs.h <&5 +$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; } +if ${acl_cv_libdirstems+:} false; then : + $as_echo_n "(cached) " >&6 +else + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _LP64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + case "$gl_cv_host_cpu_c_abi" in + i386 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | s390 | sparc) + ;; + *) # x86_64 | arm64 | hppa64 | ia64 | mips64 | powerpc64* | s390x | sparc64 | ... + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5 +$as_echo "$acl_cv_libdirstems" >&6; } + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes +else + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes +else + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h + + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" +else + eval "$gt_func_gnugettext_libc=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () +{ +int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + HAVE_LIBINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if eval \${$gt_func_gnugettext_libintl+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libintl=yes" +else + eval "$gt_func_gnugettext_libintl=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + else + USE_NLS=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5 +$as_echo_n "checking for Minix Amsterdam compiler... " >&6; } +if ${gl_cv_c_amsterdam_compiler+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __ACK__ +Amsterdam +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Amsterdam" >/dev/null 2>&1; then : + gl_cv_c_amsterdam_compiler=yes +else + gl_cv_c_amsterdam_compiler=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5 +$as_echo "$gl_cv_c_amsterdam_compiler" >&6; } + + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + : + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + + + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + fi + fi + + + + + + # Pre-early section. + + + + # Code from module absolute-header: + # Code from module array-mergesort: + # Code from module gperf: + # Code from module havelib: + # Code from module host-cpu-c-abi: + # Code from module iconv: + # Code from module include_next: + # Code from module inline: + # Code from module libunistring-optional: + # Code from module limits-h: + # Code from module multiarch: + # Code from module snippet/unused-parameter: + # Code from module ssize_t: + # Code from module stdbool: + # Code from module stdint: + # Code from module streq: + # Code from module sys_types: + # Code from module unicase/base: + # Code from module unicase/tolower: + # Code from module unicase/totitle: + # Code from module unicase/toupper: + # Code from module unictype/base: + # Code from module unictype/bidiclass-of: + # Code from module unictype/block-all: + # Code from module unictype/block-list: + # Code from module unictype/block-of: + # Code from module unictype/block-test: + # Code from module unictype/category-C: + # Code from module unictype/category-Cc: + # Code from module unictype/category-Cf: + # Code from module unictype/category-Cn: + # Code from module unictype/category-Co: + # Code from module unictype/category-Cs: + # Code from module unictype/category-L: + # Code from module unictype/category-LC: + # Code from module unictype/category-Ll: + # Code from module unictype/category-Lm: + # Code from module unictype/category-Lo: + # Code from module unictype/category-Lt: + # Code from module unictype/category-Lu: + # Code from module unictype/category-M: + # Code from module unictype/category-Mc: + # Code from module unictype/category-Me: + # Code from module unictype/category-Mn: + # Code from module unictype/category-N: + # Code from module unictype/category-Nd: + # Code from module unictype/category-Nl: + # Code from module unictype/category-No: + # Code from module unictype/category-P: + # Code from module unictype/category-Pc: + # Code from module unictype/category-Pd: + # Code from module unictype/category-Pe: + # Code from module unictype/category-Pf: + # Code from module unictype/category-Pi: + # Code from module unictype/category-Po: + # Code from module unictype/category-Ps: + # Code from module unictype/category-S: + # Code from module unictype/category-Sc: + # Code from module unictype/category-Sk: + # Code from module unictype/category-Sm: + # Code from module unictype/category-So: + # Code from module unictype/category-Z: + # Code from module unictype/category-Zl: + # Code from module unictype/category-Zp: + # Code from module unictype/category-Zs: + # Code from module unictype/category-all: + # Code from module unictype/category-and: + # Code from module unictype/category-and-not: + # Code from module unictype/category-byname: + # Code from module unictype/category-longname: + # Code from module unictype/category-name: + # Code from module unictype/category-none: + # Code from module unictype/category-of: + # Code from module unictype/category-or: + # Code from module unictype/category-test: + # Code from module unictype/category-test-withtable: + # Code from module unictype/combining-class: + # Code from module unictype/ctype-print: + # Code from module unictype/mirror: + # Code from module unictype/property-all: + # Code from module unictype/property-alphabetic: + # Code from module unictype/property-ascii-hex-digit: + # Code from module unictype/property-bidi-arabic-digit: + # Code from module unictype/property-bidi-arabic-right-to-left: + # Code from module unictype/property-bidi-block-separator: + # Code from module unictype/property-bidi-boundary-neutral: + # Code from module unictype/property-bidi-common-separator: + # Code from module unictype/property-bidi-control: + # Code from module unictype/property-bidi-embedding-or-override: + # Code from module unictype/property-bidi-eur-num-separator: + # Code from module unictype/property-bidi-eur-num-terminator: + # Code from module unictype/property-bidi-european-digit: + # Code from module unictype/property-bidi-hebrew-right-to-left: + # Code from module unictype/property-bidi-left-to-right: + # Code from module unictype/property-bidi-non-spacing-mark: + # Code from module unictype/property-bidi-other-neutral: + # Code from module unictype/property-bidi-pdf: + # Code from module unictype/property-bidi-segment-separator: + # Code from module unictype/property-bidi-whitespace: + # Code from module unictype/property-byname: + # Code from module unictype/property-case-ignorable: + # Code from module unictype/property-cased: + # Code from module unictype/property-changes-when-casefolded: + # Code from module unictype/property-changes-when-casemapped: + # Code from module unictype/property-changes-when-lowercased: + # Code from module unictype/property-changes-when-titlecased: + # Code from module unictype/property-changes-when-uppercased: + # Code from module unictype/property-combining: + # Code from module unictype/property-composite: + # Code from module unictype/property-currency-symbol: + # Code from module unictype/property-dash: + # Code from module unictype/property-decimal-digit: + # Code from module unictype/property-default-ignorable-code-point: + # Code from module unictype/property-deprecated: + # Code from module unictype/property-diacritic: + # Code from module unictype/property-extender: + # Code from module unictype/property-format-control: + # Code from module unictype/property-grapheme-base: + # Code from module unictype/property-grapheme-extend: + # Code from module unictype/property-grapheme-link: + # Code from module unictype/property-hex-digit: + # Code from module unictype/property-hyphen: + # Code from module unictype/property-id-continue: + # Code from module unictype/property-id-start: + # Code from module unictype/property-ideographic: + # Code from module unictype/property-ids-binary-operator: + # Code from module unictype/property-ids-trinary-operator: + # Code from module unictype/property-ignorable-control: + # Code from module unictype/property-iso-control: + # Code from module unictype/property-join-control: + # Code from module unictype/property-left-of-pair: + # Code from module unictype/property-line-separator: + # Code from module unictype/property-logical-order-exception: + # Code from module unictype/property-lowercase: + # Code from module unictype/property-math: + # Code from module unictype/property-non-break: + # Code from module unictype/property-not-a-character: + # Code from module unictype/property-numeric: + # Code from module unictype/property-other-alphabetic: + # Code from module unictype/property-other-default-ignorable-code-point: + # Code from module unictype/property-other-grapheme-extend: + # Code from module unictype/property-other-id-continue: + # Code from module unictype/property-other-id-start: + # Code from module unictype/property-other-lowercase: + # Code from module unictype/property-other-math: + # Code from module unictype/property-other-uppercase: + # Code from module unictype/property-paired-punctuation: + # Code from module unictype/property-paragraph-separator: + # Code from module unictype/property-pattern-syntax: + # Code from module unictype/property-pattern-white-space: + # Code from module unictype/property-private-use: + # Code from module unictype/property-punctuation: + # Code from module unictype/property-quotation-mark: + # Code from module unictype/property-radical: + # Code from module unictype/property-sentence-terminal: + # Code from module unictype/property-soft-dotted: + # Code from module unictype/property-space: + # Code from module unictype/property-terminal-punctuation: + # Code from module unictype/property-test: + # Code from module unictype/property-titlecase: + # Code from module unictype/property-unassigned-code-value: + # Code from module unictype/property-unified-ideograph: + # Code from module unictype/property-uppercase: + # Code from module unictype/property-variation-selector: + # Code from module unictype/property-white-space: + # Code from module unictype/property-xid-continue: + # Code from module unictype/property-xid-start: + # Code from module unictype/property-zero-width: + # Code from module unictype/scripts: + # Code from module unictype/scripts-all: + # Code from module uniname/base: + # Code from module uniname/uniname: + # Code from module uninorm/base: + # Code from module uninorm/canonical-decomposition: + # Code from module uninorm/decompose-internal: + # Code from module uninorm/decomposition-table: + # Code from module uninorm/nfd: + # Code from module uninorm/u32-normalize: + # Code from module unistr/base: + # Code from module unistr/u32-cpy: + # Code from module unistr/u32-mbtouc-unsafe: + # Code from module unistr/u32-to-u8: + # Code from module unistr/u32-uctomb: + # Code from module unistr/u8-mbtoucr: + # Code from module unistr/u8-strmblen: + # Code from module unistr/u8-to-u32: + # Code from module unistr/u8-uctomb: + # Code from module unitypes: + # Code from module uniwidth/base: + # Code from module uniwidth/width: + + + + + + + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ + + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () +{ +int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 +$as_echo_n "checking for iconv declaration... " >&6; } + if ${am_cv_proto_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + am_cv_proto_iconv_arg1="" +else + am_cv_proto_iconv_arg1="const" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" +fi + + am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: + $am_cv_proto_iconv" >&5 +$as_echo " + $am_cv_proto_iconv" >&6; } + else + am_cv_proto_iconv_arg1="" + fi + +cat >>confdefs.h <<_ACEOF +#define ICONV_CONST $am_cv_proto_iconv_arg1 +_ACEOF + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included libunistring is requested" >&5 +$as_echo_n "checking whether included libunistring is requested... " >&6; } + +# Check whether --with-included-libunistring was given. +if test "${with_included_libunistring+set}" = set; then : + withval=$with_included_libunistring; gl_libunistring_force_included=$withval +else + gl_libunistring_force_included=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_libunistring_force_included" >&5 +$as_echo "$gl_libunistring_force_included" >&6; } + gl_libunistring_use_included="$gl_libunistring_force_included" + if test "$gl_libunistring_use_included" = yes; then + if test -z "$HAVE_LIBUNISTRING"; then + HAVE_LIBUNISTRING=no + fi + LIBUNISTRING= + LTLIBUNISTRING= + else + + + if test -n "$LIBICONV"; then + + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libunistring-prefix was given. +if test "${with_libunistring_prefix+set}" = set; then : + withval=$with_libunistring_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBUNISTRING= + LTLIBUNISTRING= + INCUNISTRING= + LIBUNISTRING_PREFIX= + HAVE_LIBUNISTRING= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='unistring ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_a" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCUNISTRING="${INCUNISTRING}${INCUNISTRING:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$dep" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$dep" + ;; + esac + done + fi + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-R$found_dir" + done + fi + + + + + + + + ac_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCUNISTRING; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunistring" >&5 +$as_echo_n "checking for libunistring... " >&6; } +if ${ac_cv_libunistring+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_save_LIBS="$LIBS" + case " $LIBUNISTRING" in + *" -l"*) LIBS="$LIBS $LIBUNISTRING" ;; + *) LIBS="$LIBUNISTRING $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +u8_strconv_from_locale((char*)0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libunistring=yes +else + ac_cv_libunistring='no, trying again together with libiconv' +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libunistring" >&5 +$as_echo "$ac_cv_libunistring" >&6; } + if test "$ac_cv_libunistring" = yes; then + HAVE_LIBUNISTRING=yes + +$as_echo "#define HAVE_LIBUNISTRING 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libunistring" >&5 +$as_echo_n "checking how to link with libunistring... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBUNISTRING" >&5 +$as_echo "$LIBUNISTRING" >&6; } + else + HAVE_LIBUNISTRING=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBUNISTRING= + LTLIBUNISTRING= + LIBUNISTRING_PREFIX= + fi + + + + + + + + if test "$ac_cv_libunistring" != yes; then + unset ac_cv_libunistring + glus_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libunistring-prefix was given. +if test "${with_libunistring_prefix+set}" = set; then : + withval=$with_libunistring_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBUNISTRING= + LTLIBUNISTRING= + INCUNISTRING= + LIBUNISTRING_PREFIX= + HAVE_LIBUNISTRING= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='unistring ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_a" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCUNISTRING="${INCUNISTRING}${INCUNISTRING:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$dep" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$dep" + ;; + esac + done + fi + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-R$found_dir" + done + fi + + + + + + + + ac_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCUNISTRING; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunistring" >&5 +$as_echo_n "checking for libunistring... " >&6; } +if ${ac_cv_libunistring+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_save_LIBS="$LIBS" + case " $LIBUNISTRING" in + *" -l"*) LIBS="$LIBS $LIBUNISTRING" ;; + *) LIBS="$LIBUNISTRING $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +u8_strconv_from_locale((char*)0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libunistring=yes +else + ac_cv_libunistring='no, consider installing GNU libunistring' +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libunistring" >&5 +$as_echo "$ac_cv_libunistring" >&6; } + if test "$ac_cv_libunistring" = yes; then + HAVE_LIBUNISTRING=yes + +$as_echo "#define HAVE_LIBUNISTRING 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libunistring" >&5 +$as_echo_n "checking how to link with libunistring... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBUNISTRING" >&5 +$as_echo "$LIBUNISTRING" >&6; } + else + HAVE_LIBUNISTRING=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBUNISTRING= + LTLIBUNISTRING= + LIBUNISTRING_PREFIX= + fi + + + + + + + + if test -n "$LIBUNISTRING"; then + LIBUNISTRING="$LIBUNISTRING $LIBICONV" + LTLIBUNISTRING="$LTLIBUNISTRING $LTLIBICONV" + fi + LIBS="$glus_save_LIBS" + fi + else + + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libunistring-prefix was given. +if test "${with_libunistring_prefix+set}" = set; then : + withval=$with_libunistring_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBUNISTRING= + LTLIBUNISTRING= + INCUNISTRING= + LIBUNISTRING_PREFIX= + HAVE_LIBUNISTRING= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='unistring ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_so" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$found_a" + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'unistring'; then + LIBUNISTRING_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCUNISTRING="${INCUNISTRING}${INCUNISTRING:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBUNISTRING; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$dep" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }$dep" + ;; + esac + done + fi + else + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }-l$name" + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBUNISTRING="${LIBUNISTRING}${LIBUNISTRING:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBUNISTRING="${LTLIBUNISTRING}${LTLIBUNISTRING:+ }-R$found_dir" + done + fi + + + + + + + + ac_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCUNISTRING; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunistring" >&5 +$as_echo_n "checking for libunistring... " >&6; } +if ${ac_cv_libunistring+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_save_LIBS="$LIBS" + case " $LIBUNISTRING" in + *" -l"*) LIBS="$LIBS $LIBUNISTRING" ;; + *) LIBS="$LIBUNISTRING $LIBS" ;; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +u8_strconv_from_locale((char*)0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_libunistring=yes +else + ac_cv_libunistring='no, consider installing GNU libunistring' +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libunistring" >&5 +$as_echo "$ac_cv_libunistring" >&6; } + if test "$ac_cv_libunistring" = yes; then + HAVE_LIBUNISTRING=yes + +$as_echo "#define HAVE_LIBUNISTRING 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libunistring" >&5 +$as_echo_n "checking how to link with libunistring... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBUNISTRING" >&5 +$as_echo "$LIBUNISTRING" >&6; } + else + HAVE_LIBUNISTRING=no + CPPFLAGS="$ac_save_CPPFLAGS" + LIBUNISTRING= + LTLIBUNISTRING= + LIBUNISTRING_PREFIX= + fi + + + + + + + + fi + if test $HAVE_LIBUNISTRING = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libunistring version" >&5 +$as_echo_n "checking for libunistring version... " >&6; } +if ${gl_cv_libunistring_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "_LIBUNISTRING_VERSION" "gl_libunistring_hexversion" "#include "; then : + +fi + + if test $gl_libunistring_hexversion = 9; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_libunistring_version092=true +else + gl_cv_libunistring_version092=false +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if $gl_cv_libunistring_version092; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'unistr.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_unistr_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + if test -n "$gl_cv_absolute_unistr_h" \ + && grep 'Copy no more than N units of SRC to DEST. Return a pointer' $gl_cv_absolute_unistr_h > /dev/null; then + gl_libunistring_hexversion=2307 + else + gl_libunistring_hexversion=2306 + fi + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + casing_suffix_context_t ct; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_libunistring_version091=true +else + gl_cv_libunistring_version091=false +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if $gl_cv_libunistring_version091; then + gl_libunistring_hexversion=2305 + else + gl_libunistring_hexversion=2304 + fi + fi + fi + gl_libunistring_major=`expr $gl_libunistring_hexversion / 65536` + gl_libunistring_minor=`expr $gl_libunistring_hexversion / 256 % 256` + gl_libunistring_subminor=`expr $gl_libunistring_hexversion % 256` + gl_cv_libunistring_version="$gl_libunistring_major.$gl_libunistring_minor.$gl_libunistring_subminor" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_libunistring_version" >&5 +$as_echo "$gl_cv_libunistring_version" >&6; } + LIBUNISTRING_VERSION="$gl_cv_libunistring_version" + fi + + if test $HAVE_LIBUNISTRING = no; then + gl_libunistring_use_included=yes + LIBUNISTRING= + LTLIBUNISTRING= + fi + fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5 +$as_echo_n "checking whether the preprocessor supports include_next... " >&6; } +if ${gl_cv_have_include_next+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -rf conftestd1a conftestd1b conftestd2 + mkdir conftestd1a conftestd1b conftestd2 + cat < conftestd1a/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd1b/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd2/conftest.h +#ifndef DEFINED_IN_CONFTESTD1 +#error "include_next test doesn't work" +#endif +#define DEFINED_IN_CONFTESTD2 +EOF + gl_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_have_include_next=yes +else + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_have_include_next=buggy +else + gl_cv_have_include_next=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$gl_save_CPPFLAGS" + rm -rf conftestd1a conftestd1b conftestd2 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5 +$as_echo "$gl_cv_have_include_next" >&6; } + PRAGMA_SYSTEM_HEADER= + if test $gl_cv_have_include_next = yes; then + INCLUDE_NEXT=include_next + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + if test -n "$GCC"; then + PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' + fi + else + if test $gl_cv_have_include_next = buggy; then + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + else + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include + fi + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5 +$as_echo_n "checking whether system header files limit the line length... " >&6; } +if ${gl_cv_pragma_columns+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __TANDEM +choke me +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "choke me" >/dev/null 2>&1; then : + gl_cv_pragma_columns=yes +else + gl_cv_pragma_columns=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5 +$as_echo "$gl_cv_pragma_columns" >&6; } + if test $gl_cv_pragma_columns = yes; then + PRAGMA_COLUMNS="#pragma COLUMNS 10000" + else + PRAGMA_COLUMNS= + fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_limits_h='<'limits.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_limits_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_limits_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'limits.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_limits_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_limits_h + gl_cv_next_limits_h='"'$gl_header'"' + else + gl_cv_next_limits_h='<'limits.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_limits_h" >&5 +$as_echo "$gl_cv_next_limits_h" >&6; } + fi + NEXT_LIMITS_H=$gl_cv_next_limits_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'limits.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_limits_h + fi + NEXT_AS_FIRST_DIRECTIVE_LIMITS_H=$gl_next_as_first_directive + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether limits.h has ULLONG_WIDTH etc." >&5 +$as_echo_n "checking whether limits.h has ULLONG_WIDTH etc.... " >&6; } +if ${gl_cv_header_limits_width+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + int ullw = ULLONG_WIDTH; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_limits_width=yes +else + gl_cv_header_limits_width=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5 +$as_echo "$gl_cv_header_limits_width" >&6; } + if test "$gl_cv_header_limits_width" = yes; then + LIMITS_H= + else + LIMITS_H=limits.h + fi + + if test -n "$LIMITS_H"; then + GL_GENERATE_LIMITS_H_TRUE= + GL_GENERATE_LIMITS_H_FALSE='#' +else + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE= +fi + + + + gl_cv_c_multiarch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_c_multiarch = yes; then + APPLE_UNIVERSAL_BUILD=1 + else + APPLE_UNIVERSAL_BUILD=0 + fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if ${ac_cv_header_stdbool_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + + #ifdef __cplusplus + typedef bool Bool; + #else + typedef _Bool Bool; + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #endif + + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html + */ + Bool q = true; + Bool *pq = &q; + bool *qq = &q; + +int +main () +{ + + bool e = &s; + *pq |= q; *pq |= ! q; + *qq |= q; *qq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq + !qq); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdbool_h=yes +else + ac_cv_header_stdbool_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF + + +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 +$as_echo_n "checking for wint_t... " >&6; } +if ${gt_cv_c_wint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0'; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wint_t=yes +else + gt_cv_c_wint_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 +$as_echo "$gt_cv_c_wint_t" >&6; } + if test $gt_cv_c_wint_t = yes; then + +$as_echo "#define HAVE_WINT_T 1" >>confdefs.h + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wint_t is too small" >&5 +$as_echo_n "checking whether wint_t is too small... " >&6; } +if ${gl_cv_type_wint_t_too_small+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +#endif +#include + int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_wint_t_too_small=no +else + gl_cv_type_wint_t_too_small=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_wint_t_too_small" >&5 +$as_echo "$gl_cv_type_wint_t_too_small" >&6; } + if test $gl_cv_type_wint_t_too_small = yes; then + GNULIB_OVERRIDES_WINT_T=1 + else + GNULIB_OVERRIDES_WINT_T=0 + fi + else + GNULIB_OVERRIDES_WINT_T=0 + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if ${ac_cv_type_unsigned_long_long_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_type_unsigned_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; +int +main () +{ +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + ac_cv_type_unsigned_long_long_int=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then + +$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if ${ac_cv_type_long_long_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_type_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int + if test $ac_cv_type_long_long_int = yes; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif +int +main () +{ +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_type_long_long_int=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 +$as_echo "$ac_cv_type_long_long_int" >&6; } + if test $ac_cv_type_long_long_int = yes; then + +$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + + + + + + + + + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + + + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + + + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdint_h='<'stdint.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_stdint_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_stdint_h = yes; then + + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stdint.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_stdint_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_stdint_h + gl_cv_next_stdint_h='"'$gl_header'"' + else + gl_cv_next_stdint_h='<'stdint.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 +$as_echo "$gl_cv_next_stdint_h" >&6; } + fi + NEXT_STDINT_H=$gl_cv_next_stdint_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdint.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdint_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi + + + if test $ac_cv_header_stdint_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 +$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } +if ${gl_cv_header_working_stdint_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_working_stdint_h=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#define __STDC_CONSTANT_MACROS 1 +#define __STDC_LIMIT_MACROS 1 +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; + +/* Check that SIZE_MAX has the correct type, if possible. */ +#if 201112 <= __STDC_VERSION__ +int k = _Generic (SIZE_MAX, size_t: 0); +#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ + || (0x5110 <= __SUNPRO_C && !__STDC__)) +extern size_t k; +extern __typeof__ (SIZE_MAX) k; +#endif + +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#define __STDC_CONSTANT_MACROS 1 +#define __STDC_LIMIT_MACROS 1 +#include + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +#include +#include +#define MVAL(macro) MVAL1(macro) +#define MVAL1(expression) #expression +static const char *macro_values[] = + { +#ifdef INT8_MAX + MVAL (INT8_MAX), +#endif +#ifdef INT16_MAX + MVAL (INT16_MAX), +#endif +#ifdef INT32_MAX + MVAL (INT32_MAX), +#endif +#ifdef INT64_MAX + MVAL (INT64_MAX), +#endif +#ifdef UINT8_MAX + MVAL (UINT8_MAX), +#endif +#ifdef UINT16_MAX + MVAL (UINT16_MAX), +#endif +#ifdef UINT32_MAX + MVAL (UINT32_MAX), +#endif +#ifdef UINT64_MAX + MVAL (UINT64_MAX), +#endif + NULL + }; + +int +main () +{ + + const char **mv; + for (mv = macro_values; *mv != NULL; mv++) + { + const char *value = *mv; + /* Test whether it looks like a cast expression. */ + if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 + || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 + || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 + || strncmp (value, "((int)"/*)*/, 6) == 0 + || strncmp (value, "((signed short)"/*)*/, 15) == 0 + || strncmp (value, "((signed char)"/*)*/, 14) == 0) + return mv - macro_values + 1; + } + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_header_working_stdint_h=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 +$as_echo "$gl_cv_header_working_stdint_h" >&6; } + fi + + HAVE_C99_STDINT_H=0 + HAVE_SYS_BITYPES_H=0 + HAVE_SYS_INTTYPES_H=0 + STDINT_H=stdint.h + case "$gl_cv_header_working_stdint_h" in + *yes) + HAVE_C99_STDINT_H=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h predates C++11" >&5 +$as_echo_n "checking whether stdint.h predates C++11... " >&6; } +if ${gl_cv_header_stdint_predates_cxx11_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_stdint_predates_cxx11_h=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +intmax_t im = INTMAX_MAX; +int32_t i32 = INT32_C (0x7fffffff); + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_stdint_predates_cxx11_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_predates_cxx11_h" >&5 +$as_echo "$gl_cv_header_stdint_predates_cxx11_h" >&6; } + + if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + +$as_echo "#define __STDC_CONSTANT_MACROS 1" >>confdefs.h + + +$as_echo "#define __STDC_LIMIT_MACROS 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h has UINTMAX_WIDTH etc." >&5 +$as_echo_n "checking whether stdint.h has UINTMAX_WIDTH etc.... " >&6; } +if ${gl_cv_header_stdint_width+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_stdint_width=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 + #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + int iw = UINTMAX_WIDTH; + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_stdint_width=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_width" >&5 +$as_echo "$gl_cv_header_stdint_width" >&6; } + if test "$gl_cv_header_stdint_width" = yes; then + STDINT_H= + fi + ;; + *) + for ac_header in sys/inttypes.h sys/bitypes.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + fi + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + fi + + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include "; then : + +else + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + fi + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if eval \${gl_cv_bitsizeof_${gltype}+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include "; then : + +else + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 +$as_echo_n "checking whether $gltype is signed... " >&6; } +if eval \${gl_cv_type_${gltype}_signed+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + result=yes +else + result=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval gl_cv_type_${gltype}_signed=\$result + +fi +eval ac_res=\$gl_cv_type_${gltype}_signed + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGNED_${GLTYPE} 1 +_ACEOF + + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + + + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + if test $APPLE_UNIVERSAL_BUILD = 0; then + + + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + + done + + + fi + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if eval \${gl_cv_type_${gltype}_suffix+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + + done + + + + if test $GNULIB_OVERRIDES_WINT_T = 1; then + BITSIZEOF_WINT_T=32 + fi + + ;; + esac + + LIMITS_H=limits.h + if test -n "$LIMITS_H"; then + GL_GENERATE_LIMITS_H_TRUE= + GL_GENERATE_LIMITS_H_FALSE='#' +else + GL_GENERATE_LIMITS_H_TRUE='#' + GL_GENERATE_LIMITS_H_FALSE= +fi + + + + + + + if test -n "$STDINT_H"; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' +else + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE= +fi + + + + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF + +fi + + + + WINDOWS_64_BIT_OFF_T=0 + + + + + +$as_echo "#define _USE_STD_STAT 1" >>confdefs.h + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_types_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'sys/types.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_sys_types_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_sys_types_h + gl_cv_next_sys_types_h='"'$gl_header'"' + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 +$as_echo "$gl_cv_next_sys_types_h" >&6; } + fi + NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/types.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_types_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive + + + + + + + + + + + + + WINDOWS_STAT_INODES=0 + + + + + + + + + +gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' + + + if test "$HAVE_LIBUNISTRING" = yes; then + LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` + LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` + LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` + fi + + + if true; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' +else + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= +fi + + gl_cond_libtool=true + gl_m4_base='glm4' + + + + + + + + + + gl_source_base='gllib' + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5 +$as_echo_n "checking whether the compiler generally respects inline... " >&6; } +if ${gl_cv_c_inline_effective+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test $ac_cv_c_inline = no; then + gl_cv_c_inline_effective=no + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifdef __NO_INLINE__ + #error "inline is not effective" + #endif + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_c_inline_effective=yes +else + gl_cv_c_inline_effective=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5 +$as_echo "$gl_cv_c_inline_effective" >&6; } + if test $gl_cv_c_inline_effective = yes; then + +$as_echo "#define HAVE_INLINE 1" >>confdefs.h + + fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the included libunistring" >&5 +$as_echo_n "checking whether to use the included libunistring... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_libunistring_use_included" >&5 +$as_echo "$gl_libunistring_use_included" >&6; } + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if ${gt_cv_ssize_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_ssize_t=yes +else + gt_cv_ssize_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +$as_echo "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then + +$as_echo "#define ssize_t int" >>confdefs.h + + fi + + + + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' +else + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= +fi + + + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi + + + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNICASE_H='unicase.h' + else + LIBUNISTRING_UNICASE_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE= + LIBUNISTRING_COMPILE_UNICASE_TOLOWER_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE='#' + LIBUNISTRING_COMPILE_UNICASE_TOLOWER_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE= + LIBUNISTRING_COMPILE_UNICASE_TOTITLE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE='#' + LIBUNISTRING_COMPILE_UNICASE_TOTITLE_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE= + LIBUNISTRING_COMPILE_UNICASE_TOUPPER_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE='#' + LIBUNISTRING_COMPILE_UNICASE_TOUPPER_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNICTYPE_H='unictype.h' + else + LIBUNISTRING_UNICTYPE_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE= + LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_FALSE='#' +else + LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE='#' + LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 5 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNINAME_H='uniname.h' + else + LIBUNISTRING_UNINAME_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE= + LIBUNISTRING_COMPILE_UNINAME_UNINAME_FALSE='#' +else + LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE='#' + LIBUNISTRING_COMPILE_UNINAME_UNINAME_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNINORM_H='uninorm.h' + else + LIBUNISTRING_UNINORM_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE= + LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_FALSE='#' +else + LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE='#' + LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_FALSE= +fi + + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE= + LIBUNISTRING_COMPILE_UNINORM_NFD_FALSE='#' +else + LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE='#' + LIBUNISTRING_COMPILE_UNINORM_NFD_FALSE= +fi + + + + +$as_echo "#define GNULIB_TEST_UNINORM_U32_NORMALIZE 1" >>confdefs.h + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE= + LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE='#' + LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNISTR_H='unistr.h' + else + LIBUNISTRING_UNISTR_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U32_CPY_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U32_CPY_FALSE= +fi + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_UNISTR_U32_MBTOUC_UNSAFE 1 +_ACEOF + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_FALSE= +fi + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_UNISTR_U32_UCTOMB 1 +_ACEOF + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_FALSE= +fi + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_UNISTR_U8_MBTOUCR 1 +_ACEOF + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 3 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_FALSE= +fi + + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_UNISTR_U8_UCTOMB 1 +_ACEOF + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE= + LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#' +else + LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#' + LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE= +fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNITYPES_H='unitypes.h' + else + LIBUNISTRING_UNITYPES_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 4 + } + } + } + + + + + } + }; then + LIBUNISTRING_UNIWIDTH_H='uniwidth.h' + else + LIBUNISTRING_UNIWIDTH_H= + fi + + + + + if { test "$HAVE_LIBUNISTRING" != yes \ + || { + + + + test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 8 + } + } + } + + + + + } + }; then + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE= + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE='#' +else + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE='#' + LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE= +fi + + + # End of code from modules + + + + + + + + gltests_libdeps= + gltests_ltlibdeps= + + + + + + + + + + gl_source_base='gltests' + gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS + + gl_module_indicator_condition=$gltests_WITNESS + + + + + + + + + + + + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + 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_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + 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_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + + +# Set options +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_static=no +fi + + + + + + + + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # 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 + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # 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 + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.22 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + + + + # Check whether --enable-appstream-util was given. +if test "${enable_appstream_util+set}" = set; then : + enableval=$enable_appstream_util; +fi + + + if test "x$enable_appstream_validate" != "xno"; then : + # Extract the first word of "appstream-util", so it can be a program name with args. +set dummy appstream-util; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_APPSTREAM_UTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $APPSTREAM_UTIL in + [\\/]* | ?:[\\/]*) + ac_cv_path_APPSTREAM_UTIL="$APPSTREAM_UTIL" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_APPSTREAM_UTIL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +APPSTREAM_UTIL=$ac_cv_path_APPSTREAM_UTIL +if test -n "$APPSTREAM_UTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $APPSTREAM_UTIL" >&5 +$as_echo "$APPSTREAM_UTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$APPSTREAM_UTIL" = "x"; then : + have_appstream_validate=no +else + have_appstream_validate=yes + +fi +else + have_appstream_validate=no +fi + + if test "x$have_appstream_validate" != "xno"; then : + appstream_validate=yes +else + appstream_validate=no + if test "x$enable_appstream_validate" = "xyes"; then : + as_fn_error $? "AppData validation was requested but appstream-util was not found" "$LINENO" 5 +fi +fi + + appstreamxmldir=${datadir}/metainfo + + + APPSTREAM_XML_RULES=' +.PHONY : uninstall-appstream-xml install-appstream-xml clean-appstream-xml + +mostlyclean-am: clean-appstream-xml + +%.appdata.valid: %.appdata.xml + $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \ + if test -n "$(APPSTREAM_UTIL)"; \ + then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \ + && touch $@ + +check-am: $(appstream_XML:.appdata.xml=.appdata.valid) +uninstall-am: uninstall-appstream-xml +install-data-am: install-appstream-xml + +.SECONDARY: $(appstream_XML) + +install-appstream-xml: $(appstream_XML) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(appstreamxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appstreamxmldir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(appstreamxmldir)"; \ + fi + +uninstall-appstream-xml: + @$(NORMAL_UNINSTALL) + @list='\''$(appstream_XML)'\''; test -n "$(appstreamxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(appstreamxmldir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(appstreamxmldir)" && rm -f $$files + +clean-appstream-xml: + rm -f $(appstream_XML:.appdata.xml=.appdata.valid) +' + + + + + + + + + # Check whether --enable-schemas-compile was given. +if test "${enable_schemas_compile+set}" = set; then : + enableval=$enable_schemas_compile; case ${enableval} in + yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; + no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;; + esac +fi + + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.16 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + gsettingsschemadir=${datadir}/glib-2.0/schemas + + if test x$cross_compiling != xyes; then + GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` + else + # Extract the first word of "glib-compile-schemas", so it can be a program name with args. +set dummy glib-compile-schemas; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GLIB_COMPILE_SCHEMAS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GLIB_COMPILE_SCHEMAS in + [\\/]* | ?:[\\/]*) + ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS +if test -n "$GLIB_COMPILE_SCHEMAS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5 +$as_echo "$GLIB_COMPILE_SCHEMAS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + + if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then + as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5 + else + : + fi + + GSETTINGS_RULES=' +.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas + +mostlyclean-am: clean-gsettings-schemas + +gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) + +%.gschema.valid: %.gschema.xml $(gsettings__enum_file) + $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p $(@D) && touch $@ + +all-am: $(gsettings_SCHEMAS:.xml=.valid) +uninstall-am: uninstall-gsettings-schemas +install-data-am: install-gsettings-schemas + +.SECONDARY: $(gsettings_SCHEMAS) + +install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ + fi + +uninstall-gsettings-schemas: + @$(NORMAL_UNINSTALL) + @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +clean-gsettings-schemas: + rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + +ifdef gsettings_ENUM_NAMESPACE +$(gsettings__enum_file): $(gsettings_ENUM_FILES) + $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" $^ > $@.tmp && mv $@.tmp $@ +endif +' + + + + + + + + + + enable_introspection=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-introspection" >&5 +$as_echo_n "checking for gobject-introspection... " >&6; } + + case $enable_introspection in #( + no) : + found_introspection="no (disabled, use --enable-introspection to enable)" + ;; #( + yes) : + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + : +else + as_fn_error $? "gobject-introspection-1.0 is not installed" "$LINENO" 5 +fi + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 1.35.9\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 1.35.9") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + found_introspection=yes +else + as_fn_error $? "You need to have gobject-introspection >= 1.35.9 installed to build org.gnome.Characters" "$LINENO" 5 +fi + ;; #( + auto) : + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 1.35.9\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 1.35.9") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + found_introspection=yes +else + found_introspection=no +fi + enable_introspection=$found_introspection + ;; #( + *) : + as_fn_error $? "invalid argument passed to --enable-introspection, should be one of [no/auto/yes]" "$LINENO" 5 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found_introspection" >&5 +$as_echo "$found_introspection" >&6; } + + INTROSPECTION_SCANNER= + INTROSPECTION_COMPILER= + INTROSPECTION_GENERATE= + INTROSPECTION_GIRDIR= + INTROSPECTION_TYPELIBDIR= + if test "x$found_introspection" = "xyes"; then + INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` + INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` + INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` + INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection + fi + + + + + + + + + + if test "x$found_introspection" = "xyes"; then + HAVE_INTROSPECTION_TRUE= + HAVE_INTROSPECTION_FALSE='#' +else + HAVE_INTROSPECTION_TRUE='#' + HAVE_INTROSPECTION_FALSE= +fi + + + +GJS_MIN_VERSION=1.43.3 + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DEPS" >&5 +$as_echo_n "checking for DEPS... " >&6; } + +if test -n "$DEPS_CFLAGS"; then + pkg_cv_DEPS_CFLAGS="$DEPS_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= \$GJS_MIN_VERSION\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DEPS_CFLAGS=`$PKG_CONFIG --cflags "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$DEPS_LIBS"; then + pkg_cv_DEPS_LIBS="$DEPS_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= \$GJS_MIN_VERSION\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_DEPS_LIBS=`$PKG_CONFIG --libs "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION" 2>&1` + else + DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$DEPS_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION) were not met: + +$DEPS_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables DEPS_CFLAGS +and DEPS_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables DEPS_CFLAGS +and DEPS_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + DEPS_CFLAGS=$pkg_cv_DEPS_CFLAGS + DEPS_LIBS=$pkg_cv_DEPS_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +# Extract the first word of "gjs", so it can be a program name with args. +set dummy gjs; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GJS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GJS in + [\\/]* | ?:[\\/]*) + ac_cv_path_GJS="$GJS" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GJS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +GJS=$ac_cv_path_GJS +if test -n "$GJS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GJS" >&5 +$as_echo "$GJS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +# Extract the first word of "msguniq", so it can be a program name with args. +set dummy msguniq; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGUNIQ+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MSGUNIQ in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGUNIQ="$MSGUNIQ" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_MSGUNIQ="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_MSGUNIQ" && ac_cv_path_MSGUNIQ="as_fn_error $? "msguniq is required" "$LINENO" 5" + ;; +esac +fi +MSGUNIQ=$ac_cv_path_MSGUNIQ +if test -n "$MSGUNIQ"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGUNIQ" >&5 +$as_echo "$MSGUNIQ" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +# Check whether --enable-dogtail was given. +if test "${enable_dogtail+set}" = set; then : + enableval=$enable_dogtail; +else + enable_dogtail=yes +fi + + if test "$enable_dogtail" != no; then + ENABLE_DOGTAIL_TRUE= + ENABLE_DOGTAIL_FALSE='#' +else + ENABLE_DOGTAIL_TRUE='#' + ENABLE_DOGTAIL_FALSE= +fi + +# coverage +# Check whether --enable-coverage was given. +if test "${enable_coverage+set}" = set; then : + enableval=$enable_coverage; +else + enable_coverage=no +fi + +if test x$enable_coverage = xyes; then + if test x$GCC != xyes; then + as_fn_error $? "GCC is required for --enable-coverage" "$LINENO" 5 + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lcov", so it can be a program name with args. +set dummy ${ac_tool_prefix}lcov; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_LCOV+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $LCOV in + [\\/]* | ?:[\\/]*) + ac_cv_path_LCOV="$LCOV" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_LCOV="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LCOV=$ac_cv_path_LCOV +if test -n "$LCOV"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5 +$as_echo "$LCOV" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_LCOV"; then + ac_pt_LCOV=$LCOV + # Extract the first word of "lcov", so it can be a program name with args. +set dummy lcov; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_LCOV+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_LCOV in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_LCOV="$ac_pt_LCOV" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_LCOV="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_LCOV=$ac_cv_path_ac_pt_LCOV +if test -n "$ac_pt_LCOV"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LCOV" >&5 +$as_echo "$ac_pt_LCOV" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_LCOV" = x; then + LCOV="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LCOV=$ac_pt_LCOV + fi +else + LCOV="$ac_cv_path_LCOV" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}genhtml", so it can be a program name with args. +set dummy ${ac_tool_prefix}genhtml; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GENHTML+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GENHTML in + [\\/]* | ?:[\\/]*) + ac_cv_path_GENHTML="$GENHTML" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GENHTML="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +GENHTML=$ac_cv_path_GENHTML +if test -n "$GENHTML"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5 +$as_echo "$GENHTML" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_GENHTML"; then + ac_pt_GENHTML=$GENHTML + # Extract the first word of "genhtml", so it can be a program name with args. +set dummy genhtml; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_GENHTML+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_GENHTML in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_GENHTML="$ac_pt_GENHTML" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_GENHTML="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_GENHTML=$ac_cv_path_ac_pt_GENHTML +if test -n "$ac_pt_GENHTML"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_GENHTML" >&5 +$as_echo "$ac_pt_GENHTML" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_GENHTML" = x; then + GENHTML="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + GENHTML=$ac_pt_GENHTML + fi +else + GENHTML="$ac_cv_path_GENHTML" +fi + + + if test x$LCOV = x || test x$GENHTML = x; then + as_fn_error $? "lcov and genhtml are required for --enable-coverage" "$LINENO" 5 + fi + + # only enable these if we ever want code coverage for libgd + # (which we don't) + #CFLAGS="$CFLAGS -g -O0 --coverage" + #CXXFLAGS="$CXXFLAGS -g -O0 --coverage" + #LIBS="$LIBS -lgcov" +fi + if test x$enable_coverage = xyes; then + ENABLE_COVERAGE_TRUE= + ENABLE_COVERAGE_FALSE='#' +else + ENABLE_COVERAGE_TRUE='#' + ENABLE_COVERAGE_FALSE= +fi + + +# Check whether --enable-glibtest was given. +if test "${enable_glibtest+set}" = set; then : + enableval=$enable_glibtest; +else + enable_glibtest=yes +fi + + + pkg_config_args=glib-2.0 + for module in . + do + case "$module" in + gmodule) + pkg_config_args="$pkg_config_args gmodule-2.0" + ;; + gmodule-no-export) + pkg_config_args="$pkg_config_args gmodule-no-export-2.0" + ;; + gobject) + pkg_config_args="$pkg_config_args gobject-2.0" + ;; + gthread) + pkg_config_args="$pkg_config_args gthread-2.0" + ;; + gio*) + pkg_config_args="$pkg_config_args $module-2.0" + ;; + esac + done + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + 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_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.16 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + + no_glib="" + + if test "x$PKG_CONFIG" = x ; then + no_glib=yes + PKG_CONFIG=no + fi + + min_glib_version=2.0.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB - version >= $min_glib_version" >&5 +$as_echo_n "checking for GLIB - version >= $min_glib_version... " >&6; } + + if test x$PKG_CONFIG != xno ; then + ## don't try to run the test against uninstalled libtool libs + if $PKG_CONFIG --uninstalled $pkg_config_args; then + echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" + enable_glibtest=no + fi + + if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then + : + else + no_glib=yes + fi + fi + + if test x"$no_glib" = x ; then + GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` + GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` + GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` + GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0` + + GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` + GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` + glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` + glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` + glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` + if test "x$enable_glibtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$GLIB_LIBS $LIBS" + rm -f conf.glibtest + if test "$cross_compiling" = yes; then : + echo $ac_n "cross compiling; assumed OK... $ac_c" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ + unsigned int major, minor, micro; + + fclose (fopen ("conf.glibtest", "w")); + + if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_glib_version"); + exit(1); + } + + if ((glib_major_version != $glib_config_major_version) || + (glib_minor_version != $glib_config_minor_version) || + (glib_micro_version != $glib_config_micro_version)) + { + printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", + $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, + glib_major_version, glib_minor_version, glib_micro_version); + printf ("*** was found! If pkg-config was correct, then it is best\n"); + printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); + printf("*** to point to the correct configuration files\n"); + } + else if ((glib_major_version != GLIB_MAJOR_VERSION) || + (glib_minor_version != GLIB_MINOR_VERSION) || + (glib_micro_version != GLIB_MICRO_VERSION)) + { + printf("*** GLIB header files (version %d.%d.%d) do not match\n", + GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + glib_major_version, glib_minor_version, glib_micro_version); + } + else + { + if ((glib_major_version > major) || + ((glib_major_version == major) && (glib_minor_version > minor)) || + ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of GLIB (%u.%u.%u) was found.\n", + glib_major_version, glib_minor_version, glib_micro_version); + printf("*** You need a version of GLIB newer than %u.%u.%u. The latest version of\n", + major, minor, micro); + printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); + printf("*** correct copy of pkg-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + no_glib=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_glib" = x ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5 +$as_echo "yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6; } + : + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + if test "$PKG_CONFIG" = "no" ; then + echo "*** A new enough version of pkg-config was not found." + echo "*** See http://www.freedesktop.org/software/pkgconfig/" + else + if test -f conf.glibtest ; then + : + else + echo "*** Could not run GLIB test program, checking why..." + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$LIBS $GLIB_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ + return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GLIB or finding the wrong" + echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" +else + echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GLIB is incorrectly installed." +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + GLIB_CFLAGS="" + GLIB_LIBS="" + GLIB_GENMARSHAL="" + GOBJECT_QUERY="" + GLIB_MKENUMS="" + GLIB_COMPILE_RESOURCES="" + : + fi + + + + + + + rm -f conf.glibtest + + + + # Check whether --enable-installed-tests was given. +if test "${enable_installed_tests+set}" = set; then : + enableval=$enable_installed_tests; case ${enableval} in + yes) ENABLE_INSTALLED_TESTS="1" ;; + no) ENABLE_INSTALLED_TESTS="" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-installed-tests" "$LINENO" 5 ;; + esac +fi + + if test "$ENABLE_INSTALLED_TESTS" = "1"; then + ENABLE_INSTALLED_TESTS_TRUE= + ENABLE_INSTALLED_TESTS_FALSE='#' +else + ENABLE_INSTALLED_TESTS_TRUE='#' + ENABLE_INSTALLED_TESTS_FALSE= +fi + + # Check whether --enable-always-build-tests was given. +if test "${enable_always_build_tests+set}" = set; then : + enableval=$enable_always_build_tests; case ${enableval} in + yes) ENABLE_ALWAYS_BUILD_TESTS="1" ;; + no) ENABLE_ALWAYS_BUILD_TESTS="" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-always-build-tests" "$LINENO" 5 ;; + esac +fi + + if test "$ENABLE_ALWAYS_BUILD_TESTS" = "1"; then + ENABLE_ALWAYS_BUILD_TESTS_TRUE= + ENABLE_ALWAYS_BUILD_TESTS_FALSE='#' +else + ENABLE_ALWAYS_BUILD_TESTS_TRUE='#' + ENABLE_ALWAYS_BUILD_TESTS_FALSE= +fi + + if test "$ENABLE_INSTALLED_TESTS" = "1"; then + installed_test_metadir=${datadir}/installed-tests/org.gnome.Characters + + installed_testdir=${libexecdir}/installed-tests/org.gnome.Characters + + fi + + +GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0` + + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBGC" >&5 +$as_echo_n "checking for LIBGC... " >&6; } + +if test -n "$LIBGC_CFLAGS"; then + pkg_cv_LIBGC_CFLAGS="$LIBGC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gtk+-3.0 pango\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gio-2.0 gtk+-3.0 pango") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBGC_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 gtk+-3.0 pango" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBGC_LIBS"; then + pkg_cv_LIBGC_LIBS="$LIBGC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gtk+-3.0 pango\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gio-2.0 gtk+-3.0 pango") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBGC_LIBS=`$PKG_CONFIG --libs "gio-2.0 gtk+-3.0 pango" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBGC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 gtk+-3.0 pango" 2>&1` + else + LIBGC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 gtk+-3.0 pango" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBGC_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gio-2.0 gtk+-3.0 pango) were not met: + +$LIBGC_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables LIBGC_CFLAGS +and LIBGC_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables LIBGC_CFLAGS +and LIBGC_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + LIBGC_CFLAGS=$pkg_cv_LIBGC_CFLAGS + LIBGC_LIBS=$pkg_cv_LIBGC_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +# Check whether --enable-pangoft2 was given. +if test "${enable_pangoft2+set}" = set; then : + enableval=$enable_pangoft2; +else + enable_pangoft2=auto + +fi + + +if test "$enable_pangoft2" = "yes"; then : + have_pangoft2=yes +elif test "$enable_pangoft2" = "auto"; then : + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pangoft2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "pangoft2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + have_pangoft2=yes +fi +fi + +if test "$have_pangoft2" = "yes"; then : + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PANGOFT2" >&5 +$as_echo_n "checking for PANGOFT2... " >&6; } + +if test -n "$PANGOFT2_CFLAGS"; then + pkg_cv_PANGOFT2_CFLAGS="$PANGOFT2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pangoft2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "pangoft2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PANGOFT2_CFLAGS=`$PKG_CONFIG --cflags "pangoft2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PANGOFT2_LIBS"; then + pkg_cv_PANGOFT2_LIBS="$PANGOFT2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pangoft2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "pangoft2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PANGOFT2_LIBS=`$PKG_CONFIG --libs "pangoft2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PANGOFT2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "pangoft2" 2>&1` + else + PANGOFT2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "pangoft2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PANGOFT2_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (pangoft2) were not met: + +$PANGOFT2_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables PANGOFT2_CFLAGS +and PANGOFT2_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables PANGOFT2_CFLAGS +and PANGOFT2_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + PANGOFT2_CFLAGS=$pkg_cv_PANGOFT2_CFLAGS + PANGOFT2_LIBS=$pkg_cv_PANGOFT2_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +$as_echo "#define HAVE_PANGOFT2 1" >>confdefs.h + + +fi + +ac_config_files="$ac_config_files Makefile data/Makefile data/icons/Makefile gllib/Makefile lib/Makefile src/Makefile tests/Makefile po/Makefile.in" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then + as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_LIMITS_H_TRUE}" && test -z "${GL_GENERATE_LIMITS_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_LIMITS_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then + as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICASE_TOLOWER_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICASE_TOLOWER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICASE_TOTITLE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICASE_TOTITLE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICASE_TOUPPER_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICASE_TOUPPER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_MIRROR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNINAME_UNINAME_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNINAME_UNINAME\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNINORM_NFD_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNINORM_NFD\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_CPY_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U32_CPY\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_FALSE}"; then + as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + + gl_libobjs= + gl_ltlibobjs= + if test -n "$gl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + gl_libobjs="$gl_libobjs $i.$ac_objext" + gl_ltlibobjs="$gl_ltlibobjs $i.lo" + done + fi + gl_LIBOBJS=$gl_libobjs + + gl_LTLIBOBJS=$gl_ltlibobjs + + + + gltests_libobjs= + gltests_ltlibobjs= + if test -n "$gltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + gltests_libobjs="$gltests_libobjs $i.$ac_objext" + gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" + done + fi + gltests_LIBOBJS=$gltests_libobjs + + gltests_LTLIBOBJS=$gltests_ltlibobjs + + +if test -z "${HAVE_INTROSPECTION_TRUE}" && test -z "${HAVE_INTROSPECTION_FALSE}"; then + as_fn_error $? "conditional \"HAVE_INTROSPECTION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_DOGTAIL_TRUE}" && test -z "${ENABLE_DOGTAIL_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_DOGTAIL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_COVERAGE_TRUE}" && test -z "${ENABLE_COVERAGE_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_COVERAGE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_INSTALLED_TESTS_TRUE}" && test -z "${ENABLE_INSTALLED_TESTS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_INSTALLED_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_ALWAYS_BUILD_TESTS_TRUE}" && test -z "${ENABLE_ALWAYS_BUILD_TESTS_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_ALWAYS_BUILD_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by org.gnome.Characters $as_me 3.28.2, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +org.gnome.Characters config.status 3.28.2 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; + "data/icons/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/Makefile" ;; + "gllib/Makefile") CONFIG_FILES="$CONFIG_FILES gllib/Makefile" ;; + "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "po-directories":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..1ef5562 --- /dev/null +++ b/configure.ac @@ -0,0 +1,112 @@ +AC_PREREQ(2.63) +AC_INIT([org.gnome.Characters], [3.28.2], + [https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters], + [gnome-characters]) + +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIRS([glm4 m4]) + +AM_INIT_AUTOMAKE([1.12 dist-xz no-dist-gzip foreign tar-ustar no-define serial-tests -Wno-portability]) +# revert automake using PACKAGE_TARNAME instead of PACKAGE_NAME +AC_SUBST([PACKAGE], [$PACKAGE_NAME]) + +PACKAGE_DBUS_PATH=/`echo $PACKAGE_NAME | sed 's,\.,/,g'` +AC_SUBST([PACKAGE_DBUS_PATH], [$PACKAGE_DBUS_PATH]) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +GETTEXT_PACKAGE=$PACKAGE_NAME +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", + [The prefix for our gettext translation domains.]) +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.19.8]) + +AC_PROG_CC +gl_EARLY +gl_INIT + +AM_PROG_CC_C_O +LT_INIT([disable-static]) + +PKG_PROG_PKG_CONFIG([0.22]) + +APPSTREAM_XML +GLIB_GSETTINGS +GOBJECT_INTROSPECTION_REQUIRE([1.35.9]) +GJS_MIN_VERSION=1.43.3 +PKG_CHECK_MODULES([DEPS], [gdk-3.0 + gdk-pixbuf-2.0 + gio-2.0 + glib-2.0 + gobject-2.0 + gtk+-3.0 + gjs-1.0 >= $GJS_MIN_VERSION]) + +AC_PATH_PROG([GJS],[gjs]) + +AC_PATH_PROG([MSGUNIQ],[msguniq],[AC_MSG_ERROR([msguniq is required])]) + +AC_ARG_ENABLE(dogtail, + [AS_HELP_STRING([--enable-dogtail], + [test using dogtail [default=yes]])],, + enable_dogtail=yes) +AM_CONDITIONAL(ENABLE_DOGTAIL, test "$enable_dogtail" != no) +# coverage +AC_ARG_ENABLE([coverage], + [AS_HELP_STRING([--enable-coverage], + [enable code coverage])], + , [enable_coverage=no]) +if test x$enable_coverage = xyes; then + if test x$GCC != xyes; then + AC_MSG_ERROR([GCC is required for --enable-coverage]) + fi + + AC_PATH_TOOL([LCOV], [lcov]) + AC_PATH_TOOL([GENHTML], [genhtml]) + + if test x$LCOV = x || test x$GENHTML = x; then + AC_MSG_ERROR([lcov and genhtml are required for --enable-coverage]) + fi + + # only enable these if we ever want code coverage for libgd + # (which we don't) + #CFLAGS="$CFLAGS -g -O0 --coverage" + #CXXFLAGS="$CXXFLAGS -g -O0 --coverage" + #LIBS="$LIBS -lgcov" +fi +AM_CONDITIONAL([ENABLE_COVERAGE], [test x$enable_coverage = xyes]) + +AM_PATH_GLIB_2_0 + +GLIB_TESTS + +GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0` +AC_SUBST(GLIB_COMPILE_RESOURCES) + +PKG_CHECK_MODULES([LIBGC], [gio-2.0 gtk+-3.0 pango]) + +AC_ARG_ENABLE(pangoft2, + AS_HELP_STRING([--disable-pangoft2], [disable pangoft2 support]),, + enable_pangoft2=auto +) + +AS_IF([test "$enable_pangoft2" = "yes"], [have_pangoft2=yes], + [test "$enable_pangoft2" = "auto"], PKG_CHECK_EXISTS([pangoft2], [have_pangoft2=yes])) + +AS_IF([test "$have_pangoft2" = "yes"], [ + PKG_CHECK_MODULES([PANGOFT2], [pangoft2]) + AC_DEFINE([HAVE_PANGOFT2],[1],[Define if you want to enable pangoft2 support]) +]) + +AC_CONFIG_FILES([ + Makefile + data/Makefile + data/icons/Makefile + gllib/Makefile + lib/Makefile + src/Makefile + tests/Makefile + po/Makefile.in +]) +AC_OUTPUT diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..46e7f47 --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,87 @@ +# I chose to use recursive automake so I can use nobase_ and avoid +# 5 different directory declarations +SUBDIRS = icons + +app_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.data.gresource.xml) +org.gnome.Characters.data.gresource: org.gnome.Characters.data.gresource.xml $(app_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +service_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.BackgroundService.data.gresource.xml) +org.gnome.Characters.BackgroundService.data.gresource: org.gnome.Characters.BackgroundService.data.gresource.xml $(service_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +resourcedir = $(pkgdatadir) +resource_DATA = org.gnome.Characters.data.gresource org.gnome.Characters.BackgroundService.data.gresource + +appsdir = $(datadir)/applications +apps_DATA = org.gnome.Characters.desktop + +org.gnome.Characters.desktop: org.gnome.Characters.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + +gsettings_SCHEMAS = org.gnome.Characters.gschema.xml + +@GSETTINGS_RULES@ + +appstream_XML = org.gnome.Characters.appdata.xml + +@APPSTREAM_XML_RULES@ + +org.gnome.Characters.appdata.xml: org.gnome.Characters.appdata.xml.in + $(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + +org.gnome.Characters.service: org.gnome.Characters.service.in + $(AM_V_GEN) sed \ + -e "s|[@]PACKAGE_NAME@|org.gnome.Characters|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + -e "s|[@]pkglibdir@|$(pkglibdir)|g" \ + $< > $@ + +org.gnome.Characters.BackgroundService.service: org.gnome.Characters.BackgroundService.service.in + $(AM_V_GEN) sed \ + -e "s|[@]PACKAGE_NAME@|org.gnome.Characters|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + -e "s|[@]pkglibdir@|$(pkglibdir)|g" \ + $< > $@ + +servicedir = $(datadir)/dbus-1/services +service_DATA = org.gnome.Characters.service org.gnome.Characters.BackgroundService.service + +searchproviderdir = $(datadir)/gnome-shell/search-providers +dist_searchprovider_DATA = org.gnome.Characters.search-provider.ini + +EXTRA_DIST = \ + org.gnome.Characters.desktop.in \ + org.gnome.Characters.service.in \ + org.gnome.Characters.BackgroundService.service.in \ + org.gnome.Characters.data.gresource.xml \ + org.gnome.Characters.BackgroundService.data.gresource.xml \ + $(gsettings_SCHEMAS) \ + org.gnome.Characters.appdata.xml.in \ + $(app_resource_files) \ + ShellSearchProvider2.xml \ + $(apps_DATA) \ + $(appstream_XML) \ + meson.build \ + $(NULL) + +CLEANFILES = \ + org.gnome.Characters.service \ + org.gnome.Characters.BackgroundService.service \ + org.gnome.Characters.data.gresource \ + org.gnome.Characters.BackgroundService.data.gresource \ + org.gnome.Characters.appdata.xml \ + org.gnome.Characters.appdata.valid \ + *.valid \ + gschemas.compiled \ + $(NULL) + +GITIGNOREFILES = \ + org.gnome.Characters.desktop \ + $(NULL) + +# For uninstalled use +all-local: + $(GLIB_COMPILE_SCHEMAS) $(builddir) + +-include $(top_srcdir)/git.mk diff --git a/data/Makefile.in b/data/Makefile.in new file mode 100644 index 0000000..b9b15e7 --- /dev/null +++ b/data/Makefile.in @@ -0,0 +1,958 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = data +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(dist_searchprovider_DATA) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(appsdir)" \ + "$(DESTDIR)$(searchproviderdir)" "$(DESTDIR)$(resourcedir)" \ + "$(DESTDIR)$(servicedir)" +DATA = $(apps_DATA) $(dist_searchprovider_DATA) $(resource_DATA) \ + $(service_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# I chose to use recursive automake so I can use nobase_ and avoid +# 5 different directory declarations +SUBDIRS = icons +app_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.data.gresource.xml) +service_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.BackgroundService.data.gresource.xml) +resourcedir = $(pkgdatadir) +resource_DATA = org.gnome.Characters.data.gresource org.gnome.Characters.BackgroundService.data.gresource +appsdir = $(datadir)/applications +apps_DATA = org.gnome.Characters.desktop +gsettings_SCHEMAS = org.gnome.Characters.gschema.xml +appstream_XML = org.gnome.Characters.appdata.xml +servicedir = $(datadir)/dbus-1/services +service_DATA = org.gnome.Characters.service org.gnome.Characters.BackgroundService.service +searchproviderdir = $(datadir)/gnome-shell/search-providers +dist_searchprovider_DATA = org.gnome.Characters.search-provider.ini +EXTRA_DIST = \ + org.gnome.Characters.desktop.in \ + org.gnome.Characters.service.in \ + org.gnome.Characters.BackgroundService.service.in \ + org.gnome.Characters.data.gresource.xml \ + org.gnome.Characters.BackgroundService.data.gresource.xml \ + $(gsettings_SCHEMAS) \ + org.gnome.Characters.appdata.xml.in \ + $(app_resource_files) \ + ShellSearchProvider2.xml \ + $(apps_DATA) \ + $(appstream_XML) \ + meson.build \ + $(NULL) + +CLEANFILES = \ + org.gnome.Characters.service \ + org.gnome.Characters.BackgroundService.service \ + org.gnome.Characters.data.gresource \ + org.gnome.Characters.BackgroundService.data.gresource \ + org.gnome.Characters.appdata.xml \ + org.gnome.Characters.appdata.valid \ + *.valid \ + gschemas.compiled \ + $(NULL) + +GITIGNOREFILES = \ + org.gnome.Characters.desktop \ + $(NULL) + +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign data/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-appsDATA: $(apps_DATA) + @$(NORMAL_INSTALL) + @list='$(apps_DATA)'; test -n "$(appsdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appsdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appsdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appsdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(appsdir)" || exit $$?; \ + done + +uninstall-appsDATA: + @$(NORMAL_UNINSTALL) + @list='$(apps_DATA)'; test -n "$(appsdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(appsdir)'; $(am__uninstall_files_from_dir) +install-dist_searchproviderDATA: $(dist_searchprovider_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_searchprovider_DATA)'; test -n "$(searchproviderdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(searchproviderdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(searchproviderdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(searchproviderdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(searchproviderdir)" || exit $$?; \ + done + +uninstall-dist_searchproviderDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_searchprovider_DATA)'; test -n "$(searchproviderdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(searchproviderdir)'; $(am__uninstall_files_from_dir) +install-resourceDATA: $(resource_DATA) + @$(NORMAL_INSTALL) + @list='$(resource_DATA)'; test -n "$(resourcedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(resourcedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(resourcedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(resourcedir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(resourcedir)" || exit $$?; \ + done + +uninstall-resourceDATA: + @$(NORMAL_UNINSTALL) + @list='$(resource_DATA)'; test -n "$(resourcedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(resourcedir)'; $(am__uninstall_files_from_dir) +install-serviceDATA: $(service_DATA) + @$(NORMAL_INSTALL) + @list='$(service_DATA)'; test -n "$(servicedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(servicedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(servicedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(servicedir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(servicedir)" || exit $$?; \ + done + +uninstall-serviceDATA: + @$(NORMAL_UNINSTALL) + @list='$(service_DATA)'; test -n "$(servicedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(servicedir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) all-local +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(appsdir)" "$(DESTDIR)$(searchproviderdir)" "$(DESTDIR)$(resourcedir)" "$(DESTDIR)$(servicedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-appsDATA install-dist_searchproviderDATA \ + install-resourceDATA install-serviceDATA + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-appsDATA uninstall-dist_searchproviderDATA \ + uninstall-resourceDATA uninstall-serviceDATA + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ + check check-am clean clean-generic clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-appsDATA install-data \ + install-data-am install-dist_searchproviderDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-resourceDATA install-serviceDATA install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-appsDATA \ + uninstall-dist_searchproviderDATA uninstall-resourceDATA \ + uninstall-serviceDATA + +.PRECIOUS: Makefile + +org.gnome.Characters.data.gresource: org.gnome.Characters.data.gresource.xml $(app_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< +org.gnome.Characters.BackgroundService.data.gresource: org.gnome.Characters.BackgroundService.data.gresource.xml $(service_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +org.gnome.Characters.desktop: org.gnome.Characters.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + +@GSETTINGS_RULES@ + +@APPSTREAM_XML_RULES@ + +org.gnome.Characters.appdata.xml: org.gnome.Characters.appdata.xml.in + $(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + +org.gnome.Characters.service: org.gnome.Characters.service.in + $(AM_V_GEN) sed \ + -e "s|[@]PACKAGE_NAME@|org.gnome.Characters|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + -e "s|[@]pkglibdir@|$(pkglibdir)|g" \ + $< > $@ + +org.gnome.Characters.BackgroundService.service: org.gnome.Characters.BackgroundService.service.in + $(AM_V_GEN) sed \ + -e "s|[@]PACKAGE_NAME@|org.gnome.Characters|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + -e "s|[@]pkglibdir@|$(pkglibdir)|g" \ + $< > $@ + +# For uninstalled use +all-local: + $(GLIB_COMPILE_SCHEMAS) $(builddir) + +-include $(top_srcdir)/git.mk + +# 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/data/ShellSearchProvider2.xml b/data/ShellSearchProvider2.xml new file mode 100644 index 0000000..f7ae7ce --- /dev/null +++ b/data/ShellSearchProvider2.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/app-menu.ui b/data/app-menu.ui new file mode 100644 index 0000000..6782fe7 --- /dev/null +++ b/data/app-menu.ui @@ -0,0 +1,15 @@ + + +
+ + win.about + About + + + app.quit + Quit + <Primary>q + +
+
+
diff --git a/data/application.css b/data/application.css new file mode 100644 index 0000000..545cfa9 --- /dev/null +++ b/data/application.css @@ -0,0 +1,66 @@ +.categories { + background-color: shade(@theme_bg_color, 0.99); +} + +.category { + padding: 15px; + padding-right: 30px; +} + +.category-icon { + padding-right: 10px; +} + +Gjs_MenuPopover { + padding: 0; +} + +Gjs_MenuPopover GtkScrolledWindow { + border-width: 1px 0; +} + +.font { + padding: 6px 6px; +} + +.banner { + color: @insensitive_fg_color; +} + +.banner-label { + padding: 10pt; + font-size: x-large; +} + +.character-list { + color: rgb(0, 0, 0); + background-color: rgb(255, 255, 255); +} + +.character-label { + font-size: 7em; + font-weight: bold; +} + +.detail-label { + font-size: small; +} + +.related .character { + font-size: 3em; +} + +.related .list-row { + border-style: groove; + border-width: 2pt; +} + +@binding-set ScrollUnmodified { + bind "space" { "scroll-child" (page-down, 0) }; + bind "Up" { "scroll-child" (step-up, 0) }; + bind "Down" { "scroll-child" (step-down, 0) }; +} + +GtkScrolledWindow.character-list-scroll { + -gtk-key-bindings: ScrollUnmodified; +} diff --git a/data/character.ui b/data/character.ui new file mode 100644 index 0000000..4bc3921 --- /dev/null +++ b/data/character.ui @@ -0,0 +1,172 @@ + + + + + diff --git a/data/characterlist.ui b/data/characterlist.ui new file mode 100644 index 0000000..8ceb53e --- /dev/null +++ b/data/characterlist.ui @@ -0,0 +1,85 @@ + + + + + diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am new file mode 100644 index 0000000..cbc5d83 --- /dev/null +++ b/data/icons/Makefile.am @@ -0,0 +1,27 @@ +icondir = $(datadir)/icons + +nobase_icon_DATA = \ + hicolor/16x16/apps/gnome-characters.png \ + hicolor/22x22/apps/gnome-characters.png \ + hicolor/32x32/apps/gnome-characters.png \ + hicolor/48x48/apps/gnome-characters.png \ + hicolor/256x256/apps/gnome-characters.png \ + hicolor/symbolic/apps/gnome-characters-symbolic.svg + +EXTRA_DIST = $(nobase_icon_DATA) hicolor/gnome-characters.svg \ + characters-stencils.svg render-icons.rb meson.build + +gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor + +install-data-hook: update-icon-cache +uninstall-hook: update-icon-cache +update-icon-cache: + @-if test -z "$(DESTDIR)"; then \ + echo "Updating Gtk icon cache."; \ + $(gtk_update_icon_cache); \ + else \ + echo "*** Icon cache not updated. After (un)install, run this:"; \ + echo "*** $(gtk_update_icon_cache)"; \ + fi + +-include $(top_srcdir)/git.mk diff --git a/data/icons/Makefile.in b/data/icons/Makefile.in new file mode 100644 index 0000000..23d7c57 --- /dev/null +++ b/data/icons/Makefile.in @@ -0,0 +1,657 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = data/icons +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(icondir)" +DATA = $(nobase_icon_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +icondir = $(datadir)/icons +nobase_icon_DATA = \ + hicolor/16x16/apps/gnome-characters.png \ + hicolor/22x22/apps/gnome-characters.png \ + hicolor/32x32/apps/gnome-characters.png \ + hicolor/48x48/apps/gnome-characters.png \ + hicolor/256x256/apps/gnome-characters.png \ + hicolor/symbolic/apps/gnome-characters-symbolic.svg + +EXTRA_DIST = $(nobase_icon_DATA) hicolor/gnome-characters.svg \ + characters-stencils.svg render-icons.rb meson.build + +gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/icons/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign data/icons/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-nobase_iconDATA: $(nobase_icon_DATA) + @$(NORMAL_INSTALL) + @list='$(nobase_icon_DATA)'; test -n "$(icondir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ + fi; \ + $(am__nobase_list) | while read dir files; do \ + xfiles=; for file in $$files; do \ + if test -f "$$file"; then xfiles="$$xfiles $$file"; \ + else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ + test -z "$$xfiles" || { \ + test "x$$dir" = x. || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(icondir)/$$dir'"; \ + $(MKDIR_P) "$(DESTDIR)$(icondir)/$$dir"; }; \ + echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(icondir)/$$dir'"; \ + $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(icondir)/$$dir" || exit $$?; }; \ + done + +uninstall-nobase_iconDATA: + @$(NORMAL_UNINSTALL) + @list='$(nobase_icon_DATA)'; test -n "$(icondir)" || list=; \ + $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(icondir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-nobase_iconDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-nobase_iconDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +.MAKE: install-am install-data-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-nobase_iconDATA \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am uninstall-hook \ + uninstall-nobase_iconDATA + +.PRECIOUS: Makefile + + +install-data-hook: update-icon-cache +uninstall-hook: update-icon-cache +update-icon-cache: + @-if test -z "$(DESTDIR)"; then \ + echo "Updating Gtk icon cache."; \ + $(gtk_update_icon_cache); \ + else \ + echo "*** Icon cache not updated. After (un)install, run this:"; \ + echo "*** $(gtk_update_icon_cache)"; \ + fi + +-include $(top_srcdir)/git.mk + +# 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/data/icons/characters-stencils.svg b/data/icons/characters-stencils.svg new file mode 100644 index 0000000..ba3c719 --- /dev/null +++ b/data/icons/characters-stencils.svg @@ -0,0 +1,380 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/hicolor/16x16/apps/gnome-characters.png b/data/icons/hicolor/16x16/apps/gnome-characters.png new file mode 100644 index 0000000..6374db4 Binary files /dev/null and b/data/icons/hicolor/16x16/apps/gnome-characters.png differ diff --git a/data/icons/hicolor/22x22/apps/gnome-characters.png b/data/icons/hicolor/22x22/apps/gnome-characters.png new file mode 100644 index 0000000..63d8b74 Binary files /dev/null and b/data/icons/hicolor/22x22/apps/gnome-characters.png differ diff --git a/data/icons/hicolor/256x256/apps/gnome-characters.png b/data/icons/hicolor/256x256/apps/gnome-characters.png new file mode 100644 index 0000000..fa89c36 Binary files /dev/null and b/data/icons/hicolor/256x256/apps/gnome-characters.png differ diff --git a/data/icons/hicolor/32x32/apps/gnome-characters.png b/data/icons/hicolor/32x32/apps/gnome-characters.png new file mode 100644 index 0000000..26c6c98 Binary files /dev/null and b/data/icons/hicolor/32x32/apps/gnome-characters.png differ diff --git a/data/icons/hicolor/48x48/apps/gnome-characters.png b/data/icons/hicolor/48x48/apps/gnome-characters.png new file mode 100644 index 0000000..ae1ee83 Binary files /dev/null and b/data/icons/hicolor/48x48/apps/gnome-characters.png differ diff --git a/data/icons/hicolor/gnome-characters.svg b/data/icons/hicolor/gnome-characters.svg new file mode 100644 index 0000000..fc4f844 --- /dev/null +++ b/data/icons/hicolor/gnome-characters.svg @@ -0,0 +1,1179 @@ + + + + + Baobab + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + Lapo Calamandrei + + + + + Baobab + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + é + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-arrow-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-arrow-symbolic.svg new file mode 100644 index 0000000..8dda91a --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-arrow-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-bullet-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-bullet-symbolic.svg new file mode 100644 index 0000000..a672f44 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-bullet-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-currency-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-currency-symbolic.svg new file mode 100644 index 0000000..5f86e82 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-currency-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-activities.svg b/data/icons/hicolor/scalable/categories/characters-emoji-activities.svg new file mode 100644 index 0000000..db038bd --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-activities.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-animals.svg b/data/icons/hicolor/scalable/categories/characters-emoji-animals.svg new file mode 100644 index 0000000..8b227ef --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-animals.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-flags.svg b/data/icons/hicolor/scalable/categories/characters-emoji-flags.svg new file mode 100644 index 0000000..857978c --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-flags.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-food.svg b/data/icons/hicolor/scalable/categories/characters-emoji-food.svg new file mode 100644 index 0000000..428e86d --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-food.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-objects.svg b/data/icons/hicolor/scalable/categories/characters-emoji-objects.svg new file mode 100644 index 0000000..f140111 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-objects.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-smileys.svg b/data/icons/hicolor/scalable/categories/characters-emoji-smileys.svg new file mode 100644 index 0000000..567db5e --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-smileys.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-symbols.svg b/data/icons/hicolor/scalable/categories/characters-emoji-symbols.svg new file mode 100644 index 0000000..1c465c8 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-symbols.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-emoji-travel.svg b/data/icons/hicolor/scalable/categories/characters-emoji-travel.svg new file mode 100644 index 0000000..09046a5 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-emoji-travel.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-latin-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-latin-symbolic.svg new file mode 100644 index 0000000..4bca7c8 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-latin-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-math-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-math-symbolic.svg new file mode 100644 index 0000000..e201c43 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-math-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-picture-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-picture-symbolic.svg new file mode 100644 index 0000000..2880e69 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-picture-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/categories/characters-punctuation-symbolic.svg b/data/icons/hicolor/scalable/categories/characters-punctuation-symbolic.svg new file mode 100644 index 0000000..bc3d659 --- /dev/null +++ b/data/icons/hicolor/scalable/categories/characters-punctuation-symbolic.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/data/icons/hicolor/symbolic/apps/gnome-characters-symbolic.svg b/data/icons/hicolor/symbolic/apps/gnome-characters-symbolic.svg new file mode 100644 index 0000000..9cc37ce --- /dev/null +++ b/data/icons/hicolor/symbolic/apps/gnome-characters-symbolic.svg @@ -0,0 +1,29 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 0000000..0191a4c --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,6 @@ +install_subdir( + 'hicolor', + exclude_files: 'gnome-characters.svg', + exclude_directories: ['scalable', '24x24', '512x512'], + install_dir: join_paths(characters_datadir, 'icons') +) diff --git a/data/icons/render-icons.rb b/data/icons/render-icons.rb new file mode 100755 index 0000000..8a4ac22 --- /dev/null +++ b/data/icons/render-icons.rb @@ -0,0 +1,78 @@ +#!/usr/bin/env ruby + +require "rexml/document" +require "fileutils" +include REXML + + +INKSCAPE = '/usr/bin/inkscape' +#INKSCAPE = '/usr/bin/inkscape' # like this works for me, while using `which` inkscape hangs +SRC = "characters-stencils.svg" +PREFIX = "gnome/scalable" + +def chopSVG(icon) + FileUtils.mkdir_p(icon[:dir]) unless File.exists?(icon[:dir]) + unless (File.exists?(icon[:file]) && !icon[:forcerender]) + FileUtils.cp(SRC,icon[:file]) + puts " >> #{icon[:name]}" + cmd = "#{INKSCAPE} -f #{icon[:file]} --select #{icon[:id]} --verb=FitCanvasToSelection --verb=EditInvertInAllLayers " + cmd += "--verb=EditDelete --verb=EditSelectAll --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=StrokeToPath --verb=FileVacuum " + cmd += "--verb=FileSave --verb=FileClose --verb=FileQuit > /dev/null 2>&1" + system(cmd) + #saving as plain SVG gets rid of the classes :/ + #cmd = "#{INKSCAPE} -f #{icon[:file]} -z --vacuum-defs -l #{icon[:file]} > /dev/null 2>&1" + #system(cmd) + svgcrop = Document.new(File.new(icon[:file], 'r')) + svgcrop.root.each_element("//rect") do |rect| + w = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #get rid of 16 vs 15.99999 + h = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #Inkscape bugs + if w == 16 && h == 16 + rect.remove + end + end + icon_f = File.new(icon[:file],'w+') + icon_f.puts svgcrop + icon_f.close + else + puts " -- #{icon[:name]} already exists" + end +end #end of function + +def get_output_filename(d,n) + return "#{d}/#{n}.svg" +end + +#main +# Open SVG file. +svg = Document.new(File.new(SRC, 'r')) + +if (ARGV[0].nil?) #render all SVGs + puts "Rendering from icons in #{SRC}" + # Go through every layer. + svg.root.each_element("/svg/g[@inkscape:groupmode='layer']") do |context| + context_name = context.attributes.get_attribute("inkscape:label").value + puts "Going through layer '" + context_name + "'" + context.each_element("g") do |icon| + #puts "DEBUG #{icon.attributes.get_attribute('id')}" + dir = "#{PREFIX}/#{context_name}" + icon_name = icon.attributes.get_attribute("inkscape:label").value + chopSVG({ :name => icon_name, + :id => icon.attributes.get_attribute("id"), + :dir => dir, + :file => get_output_filename(dir, icon_name)}) + end + end + puts "\nrendered all SVGs" +else #only render the icons passed + icons = ARGV + ARGV.each do |icon_name| + icon = svg.root.elements["//g[@inkscape:label='#{icon_name}']"] + dir = "#{PREFIX}/#{icon.parent.attributes['inkscape:label']}" + chopSVG({ :name => icon_name, + :id => icon.attributes["id"], + :dir => dir, + :file => get_output_filename(dir, icon_name), + :forcerender => true}) + end + puts "\nrendered #{ARGV.length} icons" +end diff --git a/data/mainview.ui b/data/mainview.ui new file mode 100644 index 0000000..6ab2f2a --- /dev/null +++ b/data/mainview.ui @@ -0,0 +1,53 @@ + + + + + diff --git a/data/mainwindow.ui b/data/mainwindow.ui new file mode 100644 index 0000000..c281147 --- /dev/null +++ b/data/mainwindow.ui @@ -0,0 +1,118 @@ + + + + + diff --git a/data/menu.ui b/data/menu.ui new file mode 100644 index 0000000..34892e4 --- /dev/null +++ b/data/menu.ui @@ -0,0 +1,52 @@ + + + + + diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..2c09851 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,96 @@ +subdir('icons') + +resource_data = files( + 'icons/hicolor/scalable/categories/characters-arrow-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-bullet-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-currency-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-emoji-activities.svg', + 'icons/hicolor/scalable/categories/characters-emoji-animals.svg', + 'icons/hicolor/scalable/categories/characters-emoji-flags.svg', + 'icons/hicolor/scalable/categories/characters-emoji-food.svg', + 'icons/hicolor/scalable/categories/characters-emoji-objects.svg', + 'icons/hicolor/scalable/categories/characters-emoji-smileys.svg', + 'icons/hicolor/scalable/categories/characters-emoji-symbols.svg', + 'icons/hicolor/scalable/categories/characters-emoji-travel.svg', + 'icons/hicolor/scalable/categories/characters-latin-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-math-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-picture-symbolic.svg', + 'icons/hicolor/scalable/categories/characters-punctuation-symbolic.svg', + 'application.css', + 'app-menu.ui', + 'characterlist.ui', + 'character.ui', + 'mainview.ui', + 'mainwindow.ui', + 'menu.ui' +) + +resources = [ + [characters_name, resource_data], + [characters_background_name, files('ShellSearchProvider2.xml')] +] + +foreach resource: resources + name = resource[0] + '.data' + + gnome.compile_resources( + name, + name + '.gresource.xml', + gresource_bundle: true, + dependencies: resource[1], + install: true, + install_dir: characters_pkgdatadir + ) +endforeach + +desktop = characters_name + '.desktop' + +i18n.merge_file( + desktop, + type: 'desktop', + input: desktop + '.in', + output: desktop, + po_dir: po_dir, + install: true, + install_dir: join_paths(characters_datadir, 'applications') +) + +appdata = characters_name + '.appdata.xml' + +i18n.merge_file( + appdata, + input: appdata + '.in', + output: appdata, + po_dir: po_dir, + install: true, + install_dir: join_paths(characters_datadir, 'metainfo') +) + +service_conf = configuration_data() +service_conf.set('PACKAGE_NAME', characters_name) +service_conf.set('pkgdatadir', characters_pkgdatadir) + +services = [ + characters_name, + characters_background_name +] + +foreach service: services + configure_file( + input: service + '.service.in', + output: service + '.service', + configuration: service_conf, + install: true, + install_dir: dbus_service_dir + ) +endforeach + +install_data( + characters_name + '.gschema.xml', + install_dir: join_paths(characters_datadir, 'glib-2.0', 'schemas') +) + +install_data( + characters_name + '.search-provider.ini', + install_dir: join_paths(characters_datadir, 'gnome-shell', 'search-providers') +) diff --git a/data/org.gnome.Characters.BackgroundService.data.gresource.xml b/data/org.gnome.Characters.BackgroundService.data.gresource.xml new file mode 100644 index 0000000..69abe6a --- /dev/null +++ b/data/org.gnome.Characters.BackgroundService.data.gresource.xml @@ -0,0 +1,8 @@ + + + + + + ShellSearchProvider2.xml + + diff --git a/data/org.gnome.Characters.BackgroundService.service.in b/data/org.gnome.Characters.BackgroundService.service.in new file mode 100644 index 0000000..484a690 --- /dev/null +++ b/data/org.gnome.Characters.BackgroundService.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@PACKAGE_NAME@.BackgroundService +Exec=@pkgdatadir@/@PACKAGE_NAME@.BackgroundService diff --git a/data/org.gnome.Characters.appdata.xml b/data/org.gnome.Characters.appdata.xml new file mode 100644 index 0000000..6d83990 --- /dev/null +++ b/data/org.gnome.Characters.appdata.xml @@ -0,0 +1,239 @@ + + + org.gnome.Characters.desktop + GNOME Characters + GNOME 字元 + GNOME 字符 + Символи GNOME + GNOME Karakterler + Аломатҳои GNOME + GNOME Tecken + Gnomov Znakovnik + Гномов Знаковник + Znaki GNOME + Znaky prostredia GNOME + Символы GNOME + Caractere GNOME + Caracteres do GNOME + Caracteres GNOME + Tablica znaków dla środowiska GNOME + ਗਨੋਮ ਅੱਖਰ + GNOME Caractèrs + Gnome Tekens en symbolen + जिनोम क्यारेक्टरस् + GNOME tegn + ഗ്നോം ക്യാരക്റ്റേഴ്സ് + GNOME rakstzīmes + GNOME simboliai + GNOME Minkoma + 그놈 문자 도구 + GNOME таңбалар қолданбасы + GNOME Characters + Caratteri GNOME + GNOME Stafir + GNOME Karakter + GNOME Karakterek + GNOME znakovi + ‏GNOME תווים + GNOME અક્ષરો + Caracteres de GNOME + Caractaran GNOME + Caratars GNOME + Caractères de GNOME + Gnomen merkit + نویسه‌های گنوم + GNOMEren Karaktereak + Caracteres de GNOME + GNOME Signoj + GNOME Characters + Χαρακτήρες GNOME + GNOME Zeichen + GNOME Tegn + Znaky GNOME + Caràcters del GNOME + Caràcters del GNOME + Знакі GNOME + محارف جنوم + GNOME Karakters + Character map application + 字元對應表應用程式 + 字符映射应用程序 + Програма символів + Karakter eşlem uygulaması + Teckentabellprogram + Program tablice znakova + Програм таблице знакова + Program za prikaz znakov pisav + Aplikácia mapa znakov + Приложение карты символов + Aplicație cu tabel de caractere + Aplicativo de mapa de caracteres + Aplicação Mapa de Caracteres + Tablica znaków + Aplicacion de la taula de caractèrs + De toepassing Tekens en symbolen + अक्षर मानचित्र अनुप्रयोग + Program for tegnkart + അക്ഷരങ്ങളുടെ വഴികാട്ടി + Rakstzīmju tabulu lietotne + Simbolių žemėlapio programa + 문자 표 프로그램 + Таңбалар картасы қолданбасы + 文字マップアプリケーション + Applicazione caratteri + Stafatöfluforrit + Aplikasi peta karakter + Karaktertérkép alkalmazás + Aplikacij mape znakova + יישום מפת תווים + અક્ષરનો નકશો એપલીકા + Aplicativo de mapa de caracteres + Aplacaid mapa charactaran + Aplicazion des mapis caratars + Application de la table de caractères + Merkkikarttasovellus + برنامه نمایشگر نویسه‌ها + Karaktere-maparen aplikazioa + Aplicación de mapa de caracteres + Character map application + Εφαρμογή χαρακτήρων + Zeichentabelle-Anwendung + Tegnoversigtsprogram + Aplikace s mapou znaků + Aplicació per mostrar caràcters + Aplicació per mostrar caràcters + Праграма-знаказбор + تطبيق خريطة المحارف + Karakterkaart toepassing + CC0-1.0 + BSD-3-Clause AND GPL-2.0+ + +

+ Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for by searching for keywords. +

+

《字元》是方便查找不常用字元並插入的簡單公用程式。透過關鍵字您就能快速尋找想要使用的字元。

+

字符 是一个简单的查找并插入特殊字符的实用程序。它可以让你通过通过搜索关键字快速找到你正在寻找的字符。

+

Символи — простенька програм для пошуку та вставлення незвичайних символів. Він дозволяє швидко знайти символ за допомогою ключових слів.

+

Karakterler alışılmadık karakterleri bulmak ve eklemek için yardımcı yalın bir uygulamadır. Anahtar sözcükler arayarak karakteri hızlıca bulmanızı sağlar.

+

Tecken är ett enkelt nyttoprogram för att söka och infoga ovanliga tecken. Det låter dig snabbt hitta tecknet du söker genom att söka efter nyckelord.

+

Znakovnik je jednostavno pomagalo za nalaženje i umetanje neobičnih znakova. On vam omogućava da lako nađete znak koji tražite unosom ključnih reči.

+

Знаковник је једноставно помагало за налажење и уметање необичних знакова. Он вам омогућава да лако нађете знак који тражите уносом кључних речи.

+

Program Znaki je enostaven program za iskanje in vstavljanje neobičajnih znakov v besedilo. Omogoča hitro iskanje s ključnimi opisnimi besedami.

+

Znaky je jednoduchá užitočná aplikácia na nájdenie a vloženie neobvyklých znakov. Umožňuje vám rýchlo nájsť znak, ktorý môžete vyhľadať pomocou kľúčových slov.

+

Символы — это простое приложение, для поиска и вставки необычных символов. Оно позволяет быстро находить нужный символ по ключевым словам.

+

Caractere este o aplicație simplă pentru găsirea și introducerea caracterelor rare. Ea vă permite să găsiți rapid caracterele pe care le doriți prin căutarea după cuvinte cheie.

+

O aplicativo Caracteres é um utilitário simples para localizar e inserir caracteres incomuns. Ele permite que você localize de forma rápida o caractere desejado ao pesquisar por palavras-chaves.

+

O Caracteres é um utilitário simples para localizar e inserir caracteres pouco habituais. Permite-lhe encontrar rapidamente o carácter que procura, procurando por palavras chave.

+

Tablica znaków to proste narzędzie do wyszukiwania i wstawiania znaków specjalnych. Umożliwia ono szybkie znajdowanie znaków dzięki słowom kluczowym.

+

Caractèrs es un utilitari per cercar e inserir de caractèrs inabituals. Vos permet de trobar rapidament lo caractèr que cercatz pel biais de mots-claus.

+

Tekens en symbolen is een eenvoudig hulpmiddel om bijzondere tekens te zoeken en in te voegen. U kunt het door u gezochte teken snel vinden door middel van trefwoorden.

+

क्यारेक्टरस् असामान्य वर्णहरू फेला पार्न र सम्मिलित गर्न सरल उपयोगिक अनुप्रयोग हो। यसले तपाईँलाई चाँडै वर्णहरू खोज्ने र पत्ता लगाउने अनुमति दिन्छ।

+

Tegn er et enkelt verktøy for å finne og sette inn uvanlige tegn. Det lar deg finne tegn du leter etter raskt ved å søke etter nøkkelord.

+

ക്യാരക്ടര്‍ എന്നത് ലളിതമായി ഉപയോഗിക്കാവുന്ന അപ്ലിക്കേഷന്‍ ആണ്.ഇത് അപൂര്‍വ്വമായ ക്യാരക്ടറെ കണ്ടെത്തുകയും കൂട്ടിച്ചേര്‍ക്കുകയും ചെയ്യുന്നു.നിങ്ങള്‍ നല്‍കുന്ന സൂചകപദങ്ങളെ വേഗത്തില്‍ കണ്ടെത്തുന്നതിന് ഇത് അനുവദിക്കുന്നു.

+

Rakstzīmes ir vienkārša utilītprogramma, lai atrastu un ievietotu neparastas rakstzīmes. Tā ļauj ātri atrast vajadzīgās rakstzīmes, meklējot atslēgvārdus.

+

Simboliai yra paprasta programa simbolių suradimui ir įterpimui. Ji leidžia greitai rasti pageidaujamą simbolį ieškant raktinių žodžių.

+

Minkoma ézali ntoma mpona koluka mpe bakisa minkoma ya momeseno tê. Ezo sunga yo mpona kokuta na lombangu monkoma ozali koluka na nzéla ya liloba-mamá.

+

문자 도구는 자주 사용하지 않는 문자를 찾아 입력하는 단순한 유틸리티 프로그램입니다. 찾아볼 문자를 단어로 빨리 찾아볼 수 있습니다.

+

Таңбалар - бұл сирек кездесетін таңбаларды табу және кірістіру үшін арналған қолданба. Оның көмегімен сіз кілт сөздер көмегімен керек таңбаларды жылдам таба аласыз.

+

Characters は珍しい文字を探して挿入するためのシンプルなユーティリティです。キーワード検索により、素早く文字を発見できます。

+

Caratteri è un semplice programma per la ricerca e l'inserimento di caratteri insoliti. Consente di cercare velocemente dei caratteri attraverso una ricerca per parole chiave.

+

Stafataflan Characters er einfalt nytjatól til að finna og setja inn óvenjuleg staftákn. Fljótlegt er að finna táknið sem þú leitar að með því að setja inn stikkorð.

+

Karakter adalah sebuah utilitas sederhana untuk mencari dan menyisipkan karakter-karakter tak umum. Ini memungkinkan Anda mencari secara cepat karakter yang Anda inginkan dengan mencari berdasarkan kata-kata kunci.

+

A Karakterek egy egyszerű segédprogram alkalmazás szokatlan karakterek kereséséhez és beszúrásához. Lehetővé teszi a keresett karakter gyors megtalálását kulcsszavakra való kereséssel.

+

Znakovi je mala aplikacija pomagala za pronalazak i umetanje neuobičajenih znakova. Omogućuje vam brz pronalazak znaka kojeg tražite pretragom po ključnoj riječi.

+

תווים זהו יישום שירות פשוט למציאה ולהכנסת תווים בלתי רגילים. הוא מאפשר לך למצאו במהירות תווים שהנך מחפש באמצעות חיפוש מילות מפתח.

+

અક્ષરો ઓ શોધવા અને અસામાન્ય અક્ષરો દાખલ કરવા માટે એક સરળ ઉપયોગીતા એપ્લિકેશન છે. તે તમને ઝડપથી તમારા કીવર્ડ્સ માટે અક્ષરને શોધવા માટે પરવાનગી આપે છે.

+

Caracteres é unha utilidade sinxela para buscar e inserir caracteres non normais. Permítelle atopar de forma rápida o caracter que está buscando por etiquetas.

+

’S e goireas simplidh a th’ ann an Caractaran gus caractaran sònraichte a lorg ’s a chur ann. Leigidh e leat an caractar a tha thu ag iarraidh a lorg gu luath le taic faclan-luirg.

+

Caratars al è un sempliç program par la ricercje e l'inseriment di caratars insolits. Al permet di cirî di corse dai caratars a mieç di une ricercje par peraulis clâf.

+

Caractères est un utilitaire pour chercher et insérer des caractères inhabituels. Il vous permet de trouver rapidement le caractère que vous cherchez par le biais de mots-clés.

+

Merkit on yksinkertainen sovellus, jonka avulla on mahdollista etsiä ja syöttää epätavallisia merkkejä. Voit etsiä merkkejä käyttäen hakusanoja.

+

نویسه‌ها یک ابزار ساده برای پیدا کردن و وارد کردن نویسه‌های غیر معمول است. به شما اجازه می‌دهد تا به سرعت یک نویسه را که بدنبالش هستید را با جستجوی کلمات کلیدی مرتبط، پیدا کنید.

+

'Karaktereak' aplikazio xume bat da ohikoak ez diren karaktereak bilatu eta txertatzeko. Gako-hitzen arabera bilatzea nahi duzun karakterea bizkor aurkitzen du.

+

Caracteres es una sencilla aplicación para buscar e insertar caracteres poco habituales. Le permite buscar rápidamente el carácter que está buscando usando palabras clave.

+

Signoj estas simpla utila aplikaĵo por trovi kaj enmeti nekutimajn signojn. Ĝi permesas al vi rapide trovi la signon kiun vi serĉas per serĉi ŝlosilvortojn.

+

Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for by searching for keywords.

+

Η εφαρμογή «Χαρακτήρες» είναι μια απλή βοηθητική εφαρμογή εύρεσης και εισαγωγής σπάνιων χαρακτήρων. Σας επιτρέπει να βρείτε γρήγορα τον χαρακτήρα που ψάχνετε αναζητώντας λέξεις κλειδιά.

+

Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von selten verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, indem Sie nach Schlüsselwörtern suchen.

+

Tegn er et simpelt hjælpeværktøj til at finde og indsætte usædvanlige tegn. Det giver dig mulighed for hurtigt at finde tegn, du leder efter, ved at søge efter nøgleord.

+

Znaky je jednoduchá pomocná aplikace pro vyhledávání a vkládání méně běžných znaků. Znak, který hledáte, můžete rychle najít podle klíčových slov.

+

Caràcters és una aplicació per buscar i inserir caràcters inusuals. Vos permet trobar ràpidament els caràcters que esteu cercant usant paraules clau.

+

Caràcters és una aplicació per cercar i inserir caràcters inusuals. Us permet trobar ràpidament els caràcters que esteu cercant usant paraules clau.

+

Знакі - гэта простая прылада, якая дазваляе шукаць і ўстаўляць незвычайныя знакі. Вы можаце хутка знайсці патрэбны вам знак па ключавых словах.

+

«محارف» تطبيق بسيط للبحث عن المحارف غير المألوفة. يسمح لك التّطبيق بالبحث عن المحرف الّذي تريده بالبحث عن الكلمات المفتاحية.

+

Karakters is 'n eenvoudige nutstoepassing om ongewone karakters te vind en in te voeg. Dit laat u toe om vinnig karakter te vind deur met sleutelwoorde te soek

+

+ You can also browse characters by categories, such as Punctuation, Pictures, etc. +

+

您可以根據分類來瀏覽字元,例如:標點符號、圖片…等。

+

你也可以按照目录浏览字符,比如 标点、图片等。

+

Ви також можете переглянути символи через категорії, як-от Пунктуація, Малюнки тощо.

+

Ayrıca karakterlere kategorileri ile göz atabilirsiniz, örneğin Noktalama, Resimler vb.

+

Du kan också bläddra igenom tecken efter kategorier som skiljetecken, bilder o.s.v.

+

Možete da listate znakove po kategorijama kao što su Interpunkcije, Slike i drugo.

+

Можете да листате знакове по категоријама као што су Интерпункције, Слике и друго.

+

Kategorije, kot so Znaki, Ločila, Sličice in podobno, je mogoče tudi prebrskati.

+

Môžete tiež prehliadať znaky podľa kategórií, ako sú napríklad Znaky, Obrázky, atď.

+

Также можно просматривать символы по категориям, таким как знаки пунктуации, картинки и т.д.

+

Puteți de asemenea să navigați prin caractere după categorii, precum punctuație, poze, etc.

+

Você também pode navegar entre caracteres através de categorias, como pontuação, imagens, etc.

+

Também pode procurar por categorias, tais como pontuação, imagens, etc.

+

Można także przeglądać znaki według kategorii, takich jak interpunkcja, obrazki itp.

+

Tanben podètz navegar dins los caractèrs per categorias, coma per Ponctuacion, Imatges, etc.

+

U kunt ook tekens zoeken per categorie, zoals interpunctie, afbeeldingen, enz.

+

तपाइँ पनि वर्ग द्वारा वर्णहरू ब्राउज गर्न सक्नुहुन्छ, जस्तै विराम चिन्ह, चित्रहरू आदि।

+

Du kan også bla gjennom tegn ved bruk av kategorier som tegnsetting, bilder, osv.

+

ചിത്രങ്ങള്‍ , ചിഹ്നങ്ങള്‍ മുതലായവ വിഭാഗങ്ങളായി ക്രമത്തില്‍ നിങ്ങളെ തിരയാം.

+

Rakstzīmes varat pārlūkot pēc kategorijām, piemēram, interpunkcija un attēli.

+

Taip pat galite ieškoti simbolių pagal kategorijas, tokias kaip skyrybos ženklai, paveikslėliai ir kt.

+

Okoki mpe koluka minkoma na katégoli, lokola na bilembo bya bokomi, bilili, etc.

+

구두기호, 그림 등의 분류 방식으로 문자를 찾아볼 수 있습니다.

+

Сонымен бірге, сіз таңбаларды санаттар бойынша шола аласыз, мыс. емле таңбалары, суреттер және т.б.

+

また、句読点記号や絵文字のようなカテゴリ別に閲覧することもできます。

+

È anche possibile esplorare il caratteri per categorie come punteggiatura, immagini, ecc.

+

Þú getur skoðað staftákn eftir flokkum, eins og Myndir, Greinamerki o.s.frv.

+

Anda juga dapat meramban karakter-karakter menurut kategori, seperti Tanda Baca, Gambar, dsb.

+

Böngészhet a karakterek között kategóriák szerint is, úgymint központozás, képek, stb.

+

Isto tako možete pregledavati znakove po kategorijama, poput interpunkcija, slika, itd.

+

כמו כן ניתן לדפדף בתווים באמצעות קטגוריות, כמו סימני פיסוק, תמונות וכו׳.

+

તમે વિરામચિહ્ન, ચિત્રો, વગેરે દ્વારા પણ અક્ષરો બ્રાઉઝ કરી શકો છો.

+

Tamén pode explorar caracteres por categorías, como Puntuación, Imaxes, etc.

+

’S urrainn dhut na caractaran a bhrabhsadh a-rèir roinn-seòrsa cuideachd, can puingeachadh, dealbhan is msaa.

+

Al è pussibil ancje esplorâ i caratars par categorie come puntuazions, figuris, ecc.

+

Vous pouvez aussi naviguer dans les caractères par catégories, comme par Ponctuation, Images, etc.

+

Voit myös selata merkkejä luokkien perusteella, esimerkiksi välimerkkejä, kuvia jne.

+

شما همچنین می‌توانید نویسه‌ها را بر اساس دسته‌بندی، مثل نقطه‌گذاری، تصاویر و غیره بیابید.

+

Kategorien arabera ere araka ditzakezu karaktereak. Hala nola, puntuazioa, irudiak, eta abar.

+

Puede examinar los caracteres por categorías, tales como Puntuación, Imágenes, etc.

+

Vi ankaŭ povas foliumi signojn laŭ kategorioj, kiel Interpunkcio, Bildoj, ktp.

+

You can also browse characters by categories, such as Punctuation, Pictures, etc.

+

Μπορείτε επίσης να περιηγηθείτε στους χαρακτήρες κατά κατηγορίες, όπως στίξη, εικόνες κ.λπ.

+

Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung oder Bildern.

+

Du kan også gennemse tegn efter kategorier såsom tegnsætning, billeder osv.

+

Znaky můžete také procházet podle kategorií, jako například „interpunkce“, „obrázky“ atd.

+

També podeu navegar els caràcters per categories, com ara puntuació, imatges, etc.

+

També podeu navegar els caràcters per categories, com ara puntuació, imatges, etc.

+

Таксама можна аглядаць знакі па катэгорыях, такіх як пунктуацыя, выявы і інш.

+

يمكنك تصفّح المحارف حسب فئاتها، كعلامات الترقيم و الصّور وغيرها.

+

U kan ook deur karakter-kategorieë blaai, soos leestekens, prente, ens.

+
+ + + https://raw.github.com/gnome-design-team/gnome-mockups/master/character-map/png/grid.png + + + GNOME + GNOME + https://wiki.gnome.org/Design/Apps/CharacterMap + https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters + http://www.gnome.org/friends/ + https://wiki.gnome.org/Apps/Gucharmap + dueno_at_src.gnome.org + + HiDpiIcon + HighContrast + ModernToolkit + SearchProvider + + org.gnome.Characters +
diff --git a/data/org.gnome.Characters.appdata.xml.in b/data/org.gnome.Characters.appdata.xml.in new file mode 100644 index 0000000..08b57f1 --- /dev/null +++ b/data/org.gnome.Characters.appdata.xml.in @@ -0,0 +1,35 @@ + + + org.gnome.Characters.desktop + GNOME Characters + Character map application + CC0-1.0 + BSD-3-Clause AND GPL-2.0+ + +

+ Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for by searching for keywords. +

+

+ You can also browse characters by categories, such as Punctuation, Pictures, etc. +

+
+ + + https://raw.github.com/gnome-design-team/gnome-mockups/master/character-map/png/grid.png + + + GNOME + GNOME + https://wiki.gnome.org/Design/Apps/CharacterMap + https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters + http://www.gnome.org/friends/ + https://wiki.gnome.org/Apps/Gucharmap + dueno_at_src.gnome.org + + HiDpiIcon + HighContrast + ModernToolkit + SearchProvider + + org.gnome.Characters +
diff --git a/data/org.gnome.Characters.data.gresource.xml b/data/org.gnome.Characters.data.gresource.xml new file mode 100644 index 0000000..001be5d --- /dev/null +++ b/data/org.gnome.Characters.data.gresource.xml @@ -0,0 +1,29 @@ + + + + app-menu.ui + mainview.ui + mainwindow.ui + character.ui + characterlist.ui + menu.ui + application.css + + + icons/hicolor/scalable/categories/characters-arrow-symbolic.svg + icons/hicolor/scalable/categories/characters-bullet-symbolic.svg + icons/hicolor/scalable/categories/characters-currency-symbolic.svg + icons/hicolor/scalable/categories/characters-emoji-activities.svg + icons/hicolor/scalable/categories/characters-emoji-animals.svg + icons/hicolor/scalable/categories/characters-emoji-flags.svg + icons/hicolor/scalable/categories/characters-emoji-food.svg + icons/hicolor/scalable/categories/characters-emoji-objects.svg + icons/hicolor/scalable/categories/characters-emoji-smileys.svg + icons/hicolor/scalable/categories/characters-emoji-symbols.svg + icons/hicolor/scalable/categories/characters-emoji-travel.svg + icons/hicolor/scalable/categories/characters-latin-symbolic.svg + icons/hicolor/scalable/categories/characters-math-symbolic.svg + icons/hicolor/scalable/categories/characters-picture-symbolic.svg + icons/hicolor/scalable/categories/characters-punctuation-symbolic.svg + + diff --git a/data/org.gnome.Characters.desktop b/data/org.gnome.Characters.desktop new file mode 100644 index 0000000..6869fb8 --- /dev/null +++ b/data/org.gnome.Characters.desktop @@ -0,0 +1,218 @@ +[Desktop Entry] +Type=Application +Name[af]=Karakters +Name[ar]=المحارف +Name[be]=Знакі +Name[ca]=Caràcters +Name[ca@valencia]=Caràcters +Name[cs]=Znaky +Name[da]=Tegn +Name[de]=Zeichen +Name[el]=Χαρακτήρες +Name[en_GB]=Characters +Name[eo]=Signoj +Name[es]=Caracteres +Name[eu]=Karaktereak +Name[fa]=نویسه‌ها +Name[fi]=Merkit +Name[fr]=Caractères +Name[fur]=Caratars +Name[gd]=Caractaran +Name[gl]=Caracteres +Name[gu]=અક્ષરો +Name[he]=תווים +Name[hr]=Znakovi +Name[hu]=Karakterek +Name[id]=Karakter +Name[is]=Stafir +Name[it]=Caratteri +Name[ja]=文字 +Name[kk]=Таңбалар +Name[ko]=문자 도구 +Name[ln]=Minkomá +Name[lt]=Simboliai +Name[lv]=Rakstzīmes +Name[ml]=ക്യാരക്റ്റേഴ്സ് +Name[nb]=Tegn +Name[ne]=वर्ण +Name[nl]=Tekens en symbolen +Name[oc]=Caractèrs +Name[pa]=ਅੱਖਰ +Name[pl]=Znaki +Name[pt]=Caracteres +Name[pt_BR]=Caracteres +Name[ro]=Caractere +Name[ru]=Символы +Name[sk]=Znaky +Name[sl]=Znaki +Name[sr]=Таблица знакова +Name[sr@latin]=Tablica znakova +Name[sv]=Tecken +Name[tg]=Аломатҳо +Name[tr]=Karakterler +Name[uk]=Символи +Name[zh_CN]=字符 +Name[zh_TW]=字元 +Name=Characters +Comment[af]=Nutstoepassing om ongewone karakters te vind en in te voeg +Comment[ar]=تطبيق للبحث عن المحارف غير المألوفة و إدراجها +Comment[be]=Прылада, якая дазваляе шукаць і ўстаўляць незвычайныя знакі +Comment[ca]=Una aplicació per cercar i inserir caràcters inusuals +Comment[ca@valencia]=Una aplicació per buscar i inserir caràcters inusuals +Comment[cs]=Pomocná aplikace pro vyhledávání a vkládání méně běžných znaků. +Comment[da]=Hjælpeværktøj til at finde og indsætte usædvanlige tegn +Comment[de]=Hilfsprogramm zum Auffinden und Einsetzen von selten benutzen Zeichen +Comment[el]=Βοηθητική εφαρμογή εύρεσης και εισαγωγής σπάνιων χαρακτήρων +Comment[en_GB]=Utility application to find and insert unusual characters +Comment[eo]=Utila programo por trovi kaj enmeti nekutimajn signojn +Comment[es]=Aplicación de utilidad para buscar y encontrar caracteres poco habituales +Comment[eu]=Aplikazio bat da ohikoak ez diren karaktereak bilatu eta txertatzeko +Comment[fa]=ابزاری برای پیدا و وارد کردن نویسه‌های غیرمعمول +Comment[fi]=Sovellus epätavallisten merkkien etsintään ja syöttämiseen +Comment[fr]=Utilitaire pour chercher et insérer des caractères inhabituels. +Comment[fur]=Aplicazion par cirî e inserî caratars insolits +Comment[gd]=Goireas gus caractaran sònraichte a lorg ’s a chur ann +Comment[gl]=Utilidade para atopar e inserir caracteres non usuais +Comment[gu]=અક્ષરો શોધવા અને અસામાન્ય અક્ષરો દાખલ કરવા માટે એક સરળ ઉપયોગીતા એપ્લિકેશન +Comment[he]=יישום למציאה ולהכנסת תווים בלתי רגילים +Comment[hr]=Aplikacija pomagala za pronalazak i umetanje neuobičajenih znakova +Comment[hu]=Segédprogram alkalmazás szokatlan karakterek kereséséhez és beszúrásához +Comment[id]=Aplikasi utilitas untuk mencari dan menyisipkan karakter-karakter tak umum +Comment[is]=Nytjatól til að setja inn óvenjuleg staftákn (t.d. sem eru ekki á lyklaborði) +Comment[it]=Applicazione per cercare e inserire caratteri insoliti +Comment[ja]=珍しい文字を探して挿入するためのユーティリティ +Comment[kk]=Сирек кездесетін таңбаларды табу және кірістіру үшін арналған қолданба +Comment[ko]=자주 사용하지 않는 문자를 찾아 입력하는 유틸리티 프로그램 +Comment[ln]=Ntómo mpona koluka mpe bakisa minkoma ya momeseno tê +Comment[lt]=Programa neįprastų simbolių suradimui ir įterpimui +Comment[lv]=Utilītprogramma neparastu rakstzīmju meklēšanai un ievietošanai +Comment[ml]=അപൂര്‍വ്വ അക്ഷരങ്ങളെ കണ്ടെത്താനും ചേര്‍ക്കാനുമുള്ള ഉപാധി +Comment[nb]=Verktøy for å finne og sette inn uvanlige tegn +Comment[ne]=असामान्य वर्णहरू फेला पार्न र सम्मिलित गर्न उपयोगिक अनुप्रयोग +Comment[nl]=Hulpmiddel om bijzondere tekens te zoeken en in te voegen +Comment[oc]=Utilitari per cercar e inserir de caractèrs inabituals. +Comment[pa]=ਅਸਧਾਰਨ ਅੱਖਰ ਲੱਭਣ ਤੇ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸਹਾਇਕ ਐਪਲੀਕੇਸ਼ਨ +Comment[pl]=Narzędzie do wyszukiwania i wstawiania znaków specjalnych +Comment[pt]=Utilitário para localizar e inserir caracteres pouco habituais +Comment[pt_BR]=Aplicativo utilitário para localizar e inserir caracteres incomuns +Comment[ro]=Utilitar de găsire și introducere a caracterelor rare +Comment[ru]=Простое приложение, для поиска и вставки необычных символов +Comment[sk]=Užitočná aplikácia na nájdenie a vloženie neobvyklých znakov +Comment[sl]=Program za iskanje in vstavljanje neobičajnih znakov +Comment[sr]=Помагало за налажење и уметање необичних знакова +Comment[sr@latin]=Pomagalo za nalaženje i umetanje neobičnih znakova +Comment[sv]=Nyttoprogram för att söka och infoga ovanliga tecken +Comment[tr]=Alışılmadık karakterleri bulmak ve eklemek için yardımcı uygulama +Comment[uk]=Програма для пошуку та вставлення незвичайних символів +Comment[zh_CN]=查找和插入特殊字符的实用程序 +Comment[zh_TW]=尋找並插入不常用字元的公用程式 +Comment=Utility application to find and insert unusual characters +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon[af]=gnome-characters +Icon[ar]=gnome-characters +Icon[be]=gnome-characters +Icon[ca]=gnome-characters +Icon[ca@valencia]=gnome-characters +Icon[cs]=gnome-characters +Icon[da]=gnome-characters +Icon[de]=gnome-characters +Icon[el]=gnome-characters +Icon[en_GB]=gnome-characters +Icon[es]=gnome-characters +Icon[eu]=gnome-characters +Icon[fa]=gnome-characters +Icon[fi]=gnome-characters +Icon[fr]=gnome-characters +Icon[fur]=gnome-characters +Icon[gd]=gnome-characters +Icon[gl]=gnome-characters +Icon[gu]=gnome-characters +Icon[he]=gnome-characters +Icon[hr]=gnome-characters +Icon[hu]=gnome-characters +Icon[id]=gnome-characters +Icon[is]=gnome-characters +Icon[it]=gnome-characters +Icon[ja]=gnome-characters +Icon[kk]=gnome-characters +Icon[ko]=gnome-characters +Icon[lt]=gnome-characters +Icon[lv]=gnome-characters +Icon[ml]=gnome-characters +Icon[nb]=gnome-characters +Icon[ne]=gnome-characters +Icon[nl]=gnome-characters +Icon[oc]=gnome-characters +Icon[pl]=gnome-characters +Icon[pt]=gnome-characters +Icon[pt_BR]=gnome-characters +Icon[ro]=gnome-characters +Icon[ru]=gnome-characters +Icon[sk]=gnome-characters +Icon[sl]=gnome-characters +Icon[sr]=gnome-characters +Icon[sr@latin]=gnome-characters +Icon[sv]=gnome-characters +Icon[tg]=gnome-characters +Icon[tr]=gnome-characters +Icon[uk]=gnome-characters +Icon[zh_CN]=gnome-characters +Icon[zh_TW]=gnome-characters +Icon=gnome-characters +Exec=gapplication launch org.gnome.Characters +DBusActivatable=true +StartupNotify=true +Categories=GNOME;GTK;Utility;X-GNOME-Utilities; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords[af]=characters;unicode;punctuation;math;emoji;emoticon;karakters;leestekens;wiskunde;letters;emosiekone +Keywords[ar]=حرف;حروف;يونيكود;ترقيم;رياضية;رياضيات;إموجي; +Keywords[be]=знакі;унікод;пунктуацыя;матэматыка;літары;эмоцыі; +Keywords[ca]=caràcters;unicode;puntuació;mates;lletres;emoji;emoticona; +Keywords[ca@valencia]=caràcters;unicode;puntuació;mates;lletres;emoji;emoticona; +Keywords[cs]=znak;znaky;unicode;unikód;interpunkce;interpunkční;znaménko;znaménka;matematické;symboly;značky;písmena;smajlík;smajlíci;emotikona;emotikony; +Keywords[da]=tegn;unicode;tegnsætning;matematik;bogstaver;emoji;smiley;humørikon; +Keywords[de]=Zeichen;Unicode;Zeichensetzung;Math;Buchstaben;Smilies;Emoji;Emoticon; +Keywords[el]=χαρακτήρες;σημείο στίξης;μαθηματικά;γράμματα;εικονίδιο διάθεσης;characters;unicode;punctuation;math;letters;emoji;emoticon; +Keywords[en_GB]=characters;unicode;punctuation;maths;letters;emoji;emoticon; +Keywords[es]=caracteres;unicode;puntuación;matemáticas;letras;emoji;emoticono; +Keywords[eu]=karaktereak;unicode;puntuazioa;matematika;hizkiak;aurpegierak;ikurrak; +Keywords[fa]=characters;unicode;punctuation;math;letters;emoji;emoticon;نویسه‌ها;یونیکد;ریاضی;حروف;شکلک;نقطه‌گذاری; +Keywords[fi]=characters;unicode;punctuation;math;letters;emoji;emoticon;merkit;kirjaimet;hymiöt; +Keywords[fr]=caractères;unicode;ponctuation;math;lettres;emoji;émoticône; +Keywords[fur]=caratars;unicode;puntuazion;matematiche;letaris;emoji;emoticon; +Keywords[gd]=characters;unicode;punctuation;math;letters;emoji;emoticon;caractaran;puingeachadh;matamataig;litrichean;litir;samhlaidhean-gnùis;samhla-gnùis; +Keywords[gl]=caracters;unicode;puntuación;matemático;letras;emoji;emoticono; +Keywords[gu]=અક્ષરો;યુનિકોડ;ચિહ્ન;ગણીત;હાવભાવ;ભાવનાઓ; +Keywords[he]=תו;תווים;יוניקוד;פיסוק;מתמטיקה;אותיות;חייכנים;רגשונים;סמיילים;סמיילי;רגשון;חייכן;סמל הבעה;;ניקוד;טעמים; +Keywords[hr]=znakovi;unikôd;interpunkcija;matematika;slova;emoji;emotkoin; +Keywords[hu]=karakterek;unicode;központozás;matematika;betűk;emodzsi;hangulatjel; +Keywords[id]=karakter;unikode;tanda baca;matematika;huruf;emoji;emotikon;unicode;emoticon; +Keywords[is]=stafir;staftákn;unicode;greinamerki;stærðfræði;tjáningartákn;emoji;merki; +Keywords[it]=caratteri;carattere;unicode;punteggiatura;matematica;lettere;emoji;emoticon;faccine; +Keywords[ja]=文字;unicode;句読点;数字;絵文字;顔文字; +Keywords[kk]=characters;unicode;punctuation;math;letters;emoji;emoticon;таңбалар;юникод;емле;математика;әріптер;эмодзи;смайлик; +Keywords[ko]=characters;문자;unicode;유니코드;punctuation;구두기호;math;수학;letters;언어문자;emoji;이모지;emoticon;이모티콘; +Keywords[ln]=Minkoma;unikɔdɛ;bilembo bya bokomi;matématíki;minkandá;emoji;emoticon; +Keywords[lt]=simboliai;unikodas;skyryba;matematika;raidės;šypsniukai;emotikonos; +Keywords[lv]=rakstzīmes;unikods;interpunkcija;matemātika;burti;emocijas; +Keywords[ml]=characters;unicode;punctuation;math;letters;emoji;emoticon; +Keywords[nb]=tegn;unicode;tegnsetting;matematikk;bokstaver;emoji;emoticon; +Keywords[ne]=वर्णहरू; युनिकोड; विराम चिह्न; गणित; अक्षरहरू; इमोजी; ईमोटिकन; +Keywords[nl]=characters;unicode;punctuation;math;letters;emoji;emoticon;tekens;symbolen;interpunctie;wiskunde; +Keywords[oc]=caractèrs;unicode;pontuacion;math;letras;emoji;emoticòna; +Keywords[pl]=znak;znaki;czcionka;font;pismo;unicode;unikod;interpunkcja;interpunkcyjne;matematyka;matematyczne;litery;emoji;emotikony;emotikonki;emotki;mapa; +Keywords[pt]=caratéres;unicode;pontuação;matemática;letras;smeileys;emoticons;emoji; +Keywords[pt_BR]=caracteres;unicode;pontuação;matemática;letras;emoji;carinhas; +Keywords[ro]=characters;unicode;punctuation;math;letters;emoji;emoticon;caractere;punctuație;matematică;litere;emoticoane; +Keywords[ru]=символы;юникод;пунктуация;математический;буквы;смайлики;emoji;emoticon; +Keywords[sk]=znaky;unicode;diakritika;matematika;znaky;emotikona;smajlík; +Keywords[sl]=znaki;unikod;unicode;matematika;ločila;črke;emotikoni;izrazne ikone;emoji +Keywords[sr]=знак;знакови;уникод;јуникод;интерпункција;математика;слова;емотикон;емотикони; +Keywords[sr@latin]=znak;znakovi;unikod;junikod;interpunkcija;matematika;slova;emotikon;emotikoni; +Keywords[sv]=tecken;unicode;skiljetecken;matematik;bokstäver;emoji;emoticon;humörsymbol; +Keywords[tg]=characters;unicode;punctuation;math;letters;emoji;emoticon; +Keywords[tr]=karakterler;unicode;evrensel kod;noktalama;matematik;harfler;emoji;ifade; +Keywords[uk]=символи;унікод;пунктуація;математика;букви;літери;емоції;смайлики; +Keywords[zh_CN]=characters;unicode;punctuation;math;letters;emoji;emoticon;字符;统一码;标点符号;表情;字母;公式;数学;音标; +Keywords[zh_TW]=characters;unicode;punctuation;math;letters;emoji;emoticon;字元;萬國碼;統一碼;標點;符號;數學;字母;圖文字; +Keywords=characters;unicode;punctuation;math;letters;emoji;emoticon; diff --git a/data/org.gnome.Characters.desktop.in b/data/org.gnome.Characters.desktop.in new file mode 100644 index 0000000..e933dca --- /dev/null +++ b/data/org.gnome.Characters.desktop.in @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Name=Characters +Comment=Utility application to find and insert unusual characters +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=gnome-characters +Exec=gapplication launch org.gnome.Characters +DBusActivatable=true +StartupNotify=true +Categories=GNOME;GTK;Utility;X-GNOME-Utilities; +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=characters;unicode;punctuation;math;letters;emoji;emoticon; diff --git a/data/org.gnome.Characters.gschema.xml b/data/org.gnome.Characters.gschema.xml new file mode 100644 index 0000000..30fb382 --- /dev/null +++ b/data/org.gnome.Characters.gschema.xml @@ -0,0 +1,18 @@ + + + + 'Cantarell 50' + Font to display characters + + Use the font to render characters on the character list. + + + + [] + + + 100 + Maximum recent characters + + + diff --git a/data/org.gnome.Characters.search-provider.ini b/data/org.gnome.Characters.search-provider.ini new file mode 100644 index 0000000..0c132f9 --- /dev/null +++ b/data/org.gnome.Characters.search-provider.ini @@ -0,0 +1,6 @@ +[Shell Search Provider] +DesktopId=org.gnome.Characters.desktop +BusName=org.gnome.Characters.BackgroundService +ObjectPath=/org/gnome/Characters/BackgroundService +Version=2 +DefaultDisabled=true diff --git a/data/org.gnome.Characters.service.in b/data/org.gnome.Characters.service.in new file mode 100644 index 0000000..0b69597 --- /dev/null +++ b/data/org.gnome.Characters.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@PACKAGE_NAME@ +Exec=@pkgdatadir@/@PACKAGE_NAME@ --gapplication-service diff --git a/depcomp b/depcomp new file mode 100755 index 0000000..b39f98f --- /dev/null +++ b/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2016-01-11.22; # UTC + +# Copyright (C) 1999-2017 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/glib-tap.mk b/glib-tap.mk new file mode 100644 index 0000000..de272a7 --- /dev/null +++ b/glib-tap.mk @@ -0,0 +1,134 @@ +# GLIB - Library of useful C routines + +TESTS_ENVIRONMENT= \ + G_TEST_SRCDIR="$(abs_srcdir)" \ + G_TEST_BUILDDIR="$(abs_builddir)" \ + G_DEBUG=gc-friendly \ + MALLOC_CHECK_=2 \ + MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) +LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh +LOG_COMPILER = $(top_srcdir)/tap-test + +NULL = + +# initialize variables for unconditional += appending +BUILT_SOURCES = +BUILT_EXTRA_DIST = +CLEANFILES = *.log *.trs +DISTCLEANFILES = +MAINTAINERCLEANFILES = +EXTRA_DIST = +TESTS = + +installed_test_LTLIBRARIES = +installed_test_PROGRAMS = +installed_test_SCRIPTS = +nobase_installed_test_DATA = + +noinst_LTLIBRARIES = +noinst_PROGRAMS = +noinst_SCRIPTS = +noinst_DATA = + +check_LTLIBRARIES = +check_PROGRAMS = +check_SCRIPTS = +check_DATA = + +# We support a fairly large range of possible variables. It is expected that all types of files in a test suite +# will belong in exactly one of the following variables. +# +# First, we support the usual automake suffixes, but in lowercase, with the customary meaning: +# +# test_programs, test_scripts, test_data, test_ltlibraries +# +# The above are used to list files that are involved in both uninstalled and installed testing. The +# test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite. +# Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is +# installed in the same way as it appears in the package layout. +# +# In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled', +# like so: +# +# installed_test_programs, uninstalled_test_programs +# installed_test_scripts, uninstalled_test_scripts +# installed_test_data, uninstalled_test_data +# installed_test_ltlibraries, uninstalled_test_ltlibraries +# +# Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts +# that should not themselves be run as testcases (but exist to be used from other testcases): +# +# test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs +# test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts +# +# Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data +# file automatically end up in the tarball. +# +# dist_test_scripts, dist_test_data, dist_test_extra_scripts +# dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts +# dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts +# +# Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the +# standard automake convention of not disting programs scripts or data by default. +# +# test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted +# variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under +# gtester. That's a bit strange for scripts, but it's possible. + +TESTS += $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \ + $(dist_test_scripts) $(dist_uninstalled_test_scripts) + +# Note: build even the installed-only targets during 'make check' to ensure that they still work. +# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to +# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were +# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'. +all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \ + $(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs) +all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) $(installed_test_scripts) \ + $(test_extra_scripts) $(uninstalled_test_extra_scripts) $(installed_test_extra_scripts) +all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \ + $(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts) +all_test_scripts += $(all_dist_test_scripts) +EXTRA_DIST += $(all_dist_test_scripts) +all_test_data = $(test_data) $(uninstalled_test_data) $(installed_test_data) +all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data) +all_test_data += $(all_dist_test_data) +EXTRA_DIST += $(all_dist_test_data) +all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries) + +if ENABLE_ALWAYS_BUILD_TESTS +noinst_LTLIBRARIES += $(all_test_ltlibs) +noinst_PROGRAMS += $(all_test_programs) +noinst_SCRIPTS += $(all_test_scripts) +noinst_DATA += $(all_test_data) +else +check_LTLIBRARIES += $(all_test_ltlibs) +check_PROGRAMS += $(all_test_programs) +check_SCRIPTS += $(all_test_scripts) +check_DATA += $(all_test_data) +endif + +if ENABLE_INSTALLED_TESTS +installed_test_PROGRAMS += $(test_programs) $(installed_test_programs) \ + $(test_extra_programs) $(installed_test_extra_programs) +installed_test_SCRIPTS += $(test_scripts) $(installed_test_scripts) \ + $(test_extra_scripts) $(test_installed_extra_scripts) +installed_test_SCRIPTS += $(dist_test_scripts) $(dist_test_extra_scripts) \ + $(dist_installed_test_scripts) $(dist_installed_test_extra_scripts) +nobase_installed_test_DATA += $(test_data) $(installed_test_data) +nobase_installed_test_DATA += $(dist_test_data) $(dist_installed_test_data) +installed_test_LTLIBRARIES += $(test_ltlibraries) $(installed_test_ltlibraries) +installed_testcases = $(test_programs) $(installed_test_programs) \ + $(test_scripts) $(installed_test_scripts) \ + $(dist_test_scripts) $(dist_installed_test_scripts) + +installed_test_meta_DATA = $(installed_testcases:=.test) + +%.test: %$(EXEEXT) Makefile + $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ + echo 'Type=session-exclusive' >> $@.tmp; \ + echo 'Exec=$(installed_testdir)/$(notdir $<)' >> $@.tmp; \ + mv $@.tmp $@) + +CLEANFILES += $(installed_test_meta_DATA) +endif diff --git a/gllib/Makefile.am b/gllib/Makefile.am new file mode 100644 index 0000000..32c12a6 --- /dev/null +++ b/gllib/Makefile.am @@ -0,0 +1,1950 @@ +## DO NOT EDIT! GENERATED AUTOMATICALLY! +## Process this file with automake to produce Makefile.in. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=gllib --m4-base=glm4 --doc-base=doc --tests-base=gltests --aux-dir=. --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files host-cpu-c-abi libunistring-optional unicase/tolower unicase/totitle unicase/toupper unictype/block-all unictype/category-all unictype/ctype-print unictype/mirror unictype/property-all unictype/scripts-all uniname/uniname uninorm/canonical-decomposition uninorm/nfd uninorm/u32-normalize unistr/u32-to-u8 unistr/u8-strmblen unistr/u8-to-u32 unitypes uniwidth/width + +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects + +SUBDIRS = +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = +EXTRA_DIST = +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = +# No GNU Make output. + +AM_CPPFLAGS = +AM_CFLAGS = + +noinst_LTLIBRARIES += libgnu.la + +libgnu_la_SOURCES = +libgnu_la_LIBADD = $(gl_LTLIBOBJS) +libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) +EXTRA_libgnu_la_SOURCES = +libgnu_la_LDFLAGS = $(AM_LDFLAGS) +libgnu_la_LDFLAGS += -no-undefined +libgnu_la_LDFLAGS += $(LTLIBICONV) +libgnu_la_LDFLAGS += $(LTLIBUNISTRING) + +## begin gnulib module absolute-header + +# Use this preprocessor expression to decide whether #include_next works. +# Do not rely on a 'configure'-time test for this, since the expression +# might appear in an installed header, which is used by some other compiler. +HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER) + +## end gnulib module absolute-header + +## begin gnulib module array-mergesort + + +EXTRA_DIST += array-mergesort.h + +## end gnulib module array-mergesort + +## begin gnulib module gperf + +GPERF = gperf +V_GPERF = $(V_GPERF_@AM_V@) +V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@) +V_GPERF_0 = @echo " GPERF " $@; + +## end gnulib module gperf + +## begin gnulib module havelib + + +EXTRA_DIST += $(top_srcdir)/./config.rpath + +## end gnulib module havelib + +## begin gnulib module libunistring-optional + + +EXTRA_DIST += libunistring.valgrind + +## end gnulib module libunistring-optional + +## begin gnulib module limits-h + +BUILT_SOURCES += $(LIMITS_H) + +# We need the following in order to create when the system +# doesn't have one that is compatible with GNU. +if GL_GENERATE_LIMITS_H +limits.h: limits.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ + < $(srcdir)/limits.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +limits.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += limits.h limits.h-t + +EXTRA_DIST += limits.in.h + +## end gnulib module limits-h + +## begin gnulib module snippet/unused-parameter + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all makefiles that +# need it. This is ensured by the applicability 'all' defined above. + +UNUSED_PARAMETER_H=$(srcdir)/unused-parameter.h + +EXTRA_DIST += unused-parameter.h + +## end gnulib module snippet/unused-parameter + +## begin gnulib module stdbool + +BUILT_SOURCES += $(STDBOOL_H) + +# We need the following in order to create when the system +# doesn't have one that works. +if GL_GENERATE_STDBOOL_H +stdbool.h: stdbool.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdbool.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdbool.h stdbool.h-t + +EXTRA_DIST += stdbool.in.h + +## end gnulib module stdbool + +## begin gnulib module stdint + +BUILT_SOURCES += $(STDINT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_STDINT_H +stdint.h: stdint.in.h $(top_builddir)/config.status + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ + -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \ + -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ + -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ + -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ + -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ + -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ + -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ + -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ + -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ + -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ + -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ + -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ + -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ + -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ + -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ + -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ + -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ + -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ + -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ + < $(srcdir)/stdint.in.h; \ + } > $@-t && \ + mv $@-t $@ +else +stdint.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += stdint.h stdint.h-t + +EXTRA_DIST += stdint.in.h + +## end gnulib module stdint + +## begin gnulib module streq + + +EXTRA_DIST += streq.h + +## end gnulib module streq + +## begin gnulib module sys_types + +BUILT_SOURCES += sys/types.h + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ + < $(srcdir)/sys_types.in.h; \ + } > $@-t && \ + mv $@-t $@ +MOSTLYCLEANFILES += sys/types.h sys/types.h-t + +EXTRA_DIST += sys_types.in.h + +## end gnulib module sys_types + +## begin gnulib module unicase/base + +BUILT_SOURCES += $(LIBUNISTRING_UNICASE_H) + +unicase.h: unicase.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unicase.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unicase.h unicase.h-t + +EXTRA_DIST += unicase.in.h + +## end gnulib module unicase/base + +## begin gnulib module unicase/tolower + +if LIBUNISTRING_COMPILE_UNICASE_TOLOWER +libgnu_la_SOURCES += unicase/tolower.c +endif + +EXTRA_DIST += unicase/simple-mapping.h unicase/tolower.h + +## end gnulib module unicase/tolower + +## begin gnulib module unicase/totitle + +if LIBUNISTRING_COMPILE_UNICASE_TOTITLE +libgnu_la_SOURCES += unicase/totitle.c +endif + +EXTRA_DIST += unicase/simple-mapping.h unicase/totitle.h + +## end gnulib module unicase/totitle + +## begin gnulib module unicase/toupper + +if LIBUNISTRING_COMPILE_UNICASE_TOUPPER +libgnu_la_SOURCES += unicase/toupper.c +endif + +EXTRA_DIST += unicase/simple-mapping.h unicase/toupper.h + +## end gnulib module unicase/toupper + +## begin gnulib module unictype/base + +BUILT_SOURCES += $(LIBUNISTRING_UNICTYPE_H) + +unictype.h: unictype.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unictype.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unictype.h unictype.h-t + +EXTRA_DIST += unictype.in.h + +## end gnulib module unictype/base + +## begin gnulib module unictype/bidiclass-of + +if LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF +libgnu_la_SOURCES += unictype/bidi_of.c +endif + +EXTRA_DIST += unictype/bidi_of.h + +## end gnulib module unictype/bidiclass-of + +## begin gnulib module unictype/block-list + +if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST +libgnu_la_SOURCES += unictype/blocks.c +endif + +EXTRA_DIST += unictype/blocks.h + +## end gnulib module unictype/block-list + +## begin gnulib module unictype/block-test + +if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST +libgnu_la_SOURCES += unictype/block_test.c +endif + +## end gnulib module unictype/block-test + +## begin gnulib module unictype/category-C + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C +libgnu_la_SOURCES += unictype/categ_C.c +endif + +EXTRA_DIST += unictype/categ_C.h + +## end gnulib module unictype/category-C + +## begin gnulib module unictype/category-Cc + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC +libgnu_la_SOURCES += unictype/categ_Cc.c +endif + +EXTRA_DIST += unictype/categ_Cc.h + +## end gnulib module unictype/category-Cc + +## begin gnulib module unictype/category-Cf + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF +libgnu_la_SOURCES += unictype/categ_Cf.c +endif + +EXTRA_DIST += unictype/categ_Cf.h + +## end gnulib module unictype/category-Cf + +## begin gnulib module unictype/category-Cn + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN +libgnu_la_SOURCES += unictype/categ_Cn.c +endif + +EXTRA_DIST += unictype/categ_Cn.h + +## end gnulib module unictype/category-Cn + +## begin gnulib module unictype/category-Co + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO +libgnu_la_SOURCES += unictype/categ_Co.c +endif + +EXTRA_DIST += unictype/categ_Co.h + +## end gnulib module unictype/category-Co + +## begin gnulib module unictype/category-Cs + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS +libgnu_la_SOURCES += unictype/categ_Cs.c +endif + +EXTRA_DIST += unictype/categ_Cs.h + +## end gnulib module unictype/category-Cs + +## begin gnulib module unictype/category-L + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L +libgnu_la_SOURCES += unictype/categ_L.c +endif + +EXTRA_DIST += unictype/categ_L.h + +## end gnulib module unictype/category-L + +## begin gnulib module unictype/category-LC + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC +libgnu_la_SOURCES += unictype/categ_LC.c +endif + +EXTRA_DIST += unictype/categ_LC.h + +## end gnulib module unictype/category-LC + +## begin gnulib module unictype/category-Ll + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL +libgnu_la_SOURCES += unictype/categ_Ll.c +endif + +EXTRA_DIST += unictype/categ_Ll.h + +## end gnulib module unictype/category-Ll + +## begin gnulib module unictype/category-Lm + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM +libgnu_la_SOURCES += unictype/categ_Lm.c +endif + +EXTRA_DIST += unictype/categ_Lm.h + +## end gnulib module unictype/category-Lm + +## begin gnulib module unictype/category-Lo + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO +libgnu_la_SOURCES += unictype/categ_Lo.c +endif + +EXTRA_DIST += unictype/categ_Lo.h + +## end gnulib module unictype/category-Lo + +## begin gnulib module unictype/category-Lt + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT +libgnu_la_SOURCES += unictype/categ_Lt.c +endif + +EXTRA_DIST += unictype/categ_Lt.h + +## end gnulib module unictype/category-Lt + +## begin gnulib module unictype/category-Lu + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU +libgnu_la_SOURCES += unictype/categ_Lu.c +endif + +EXTRA_DIST += unictype/categ_Lu.h + +## end gnulib module unictype/category-Lu + +## begin gnulib module unictype/category-M + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M +libgnu_la_SOURCES += unictype/categ_M.c +endif + +EXTRA_DIST += unictype/categ_M.h + +## end gnulib module unictype/category-M + +## begin gnulib module unictype/category-Mc + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC +libgnu_la_SOURCES += unictype/categ_Mc.c +endif + +EXTRA_DIST += unictype/categ_Mc.h + +## end gnulib module unictype/category-Mc + +## begin gnulib module unictype/category-Me + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME +libgnu_la_SOURCES += unictype/categ_Me.c +endif + +EXTRA_DIST += unictype/categ_Me.h + +## end gnulib module unictype/category-Me + +## begin gnulib module unictype/category-Mn + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN +libgnu_la_SOURCES += unictype/categ_Mn.c +endif + +EXTRA_DIST += unictype/categ_Mn.h + +## end gnulib module unictype/category-Mn + +## begin gnulib module unictype/category-N + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N +libgnu_la_SOURCES += unictype/categ_N.c +endif + +EXTRA_DIST += unictype/categ_N.h + +## end gnulib module unictype/category-N + +## begin gnulib module unictype/category-Nd + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND +libgnu_la_SOURCES += unictype/categ_Nd.c +endif + +EXTRA_DIST += unictype/categ_Nd.h + +## end gnulib module unictype/category-Nd + +## begin gnulib module unictype/category-Nl + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL +libgnu_la_SOURCES += unictype/categ_Nl.c +endif + +EXTRA_DIST += unictype/categ_Nl.h + +## end gnulib module unictype/category-Nl + +## begin gnulib module unictype/category-No + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO +libgnu_la_SOURCES += unictype/categ_No.c +endif + +EXTRA_DIST += unictype/categ_No.h + +## end gnulib module unictype/category-No + +## begin gnulib module unictype/category-P + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P +libgnu_la_SOURCES += unictype/categ_P.c +endif + +EXTRA_DIST += unictype/categ_P.h + +## end gnulib module unictype/category-P + +## begin gnulib module unictype/category-Pc + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC +libgnu_la_SOURCES += unictype/categ_Pc.c +endif + +EXTRA_DIST += unictype/categ_Pc.h + +## end gnulib module unictype/category-Pc + +## begin gnulib module unictype/category-Pd + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD +libgnu_la_SOURCES += unictype/categ_Pd.c +endif + +EXTRA_DIST += unictype/categ_Pd.h + +## end gnulib module unictype/category-Pd + +## begin gnulib module unictype/category-Pe + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE +libgnu_la_SOURCES += unictype/categ_Pe.c +endif + +EXTRA_DIST += unictype/categ_Pe.h + +## end gnulib module unictype/category-Pe + +## begin gnulib module unictype/category-Pf + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF +libgnu_la_SOURCES += unictype/categ_Pf.c +endif + +EXTRA_DIST += unictype/categ_Pf.h + +## end gnulib module unictype/category-Pf + +## begin gnulib module unictype/category-Pi + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI +libgnu_la_SOURCES += unictype/categ_Pi.c +endif + +EXTRA_DIST += unictype/categ_Pi.h + +## end gnulib module unictype/category-Pi + +## begin gnulib module unictype/category-Po + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO +libgnu_la_SOURCES += unictype/categ_Po.c +endif + +EXTRA_DIST += unictype/categ_Po.h + +## end gnulib module unictype/category-Po + +## begin gnulib module unictype/category-Ps + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS +libgnu_la_SOURCES += unictype/categ_Ps.c +endif + +EXTRA_DIST += unictype/categ_Ps.h + +## end gnulib module unictype/category-Ps + +## begin gnulib module unictype/category-S + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S +libgnu_la_SOURCES += unictype/categ_S.c +endif + +EXTRA_DIST += unictype/categ_S.h + +## end gnulib module unictype/category-S + +## begin gnulib module unictype/category-Sc + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC +libgnu_la_SOURCES += unictype/categ_Sc.c +endif + +EXTRA_DIST += unictype/categ_Sc.h + +## end gnulib module unictype/category-Sc + +## begin gnulib module unictype/category-Sk + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK +libgnu_la_SOURCES += unictype/categ_Sk.c +endif + +EXTRA_DIST += unictype/categ_Sk.h + +## end gnulib module unictype/category-Sk + +## begin gnulib module unictype/category-Sm + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM +libgnu_la_SOURCES += unictype/categ_Sm.c +endif + +EXTRA_DIST += unictype/categ_Sm.h + +## end gnulib module unictype/category-Sm + +## begin gnulib module unictype/category-So + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO +libgnu_la_SOURCES += unictype/categ_So.c +endif + +EXTRA_DIST += unictype/categ_So.h + +## end gnulib module unictype/category-So + +## begin gnulib module unictype/category-Z + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z +libgnu_la_SOURCES += unictype/categ_Z.c +endif + +EXTRA_DIST += unictype/categ_Z.h + +## end gnulib module unictype/category-Z + +## begin gnulib module unictype/category-Zl + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL +libgnu_la_SOURCES += unictype/categ_Zl.c +endif + +EXTRA_DIST += unictype/categ_Zl.h + +## end gnulib module unictype/category-Zl + +## begin gnulib module unictype/category-Zp + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP +libgnu_la_SOURCES += unictype/categ_Zp.c +endif + +EXTRA_DIST += unictype/categ_Zp.h + +## end gnulib module unictype/category-Zp + +## begin gnulib module unictype/category-Zs + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS +libgnu_la_SOURCES += unictype/categ_Zs.c +endif + +EXTRA_DIST += unictype/categ_Zs.h + +## end gnulib module unictype/category-Zs + +## begin gnulib module unictype/category-and + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND +libgnu_la_SOURCES += unictype/categ_and.c +endif + +## end gnulib module unictype/category-and + +## begin gnulib module unictype/category-and-not + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT +libgnu_la_SOURCES += unictype/categ_and_not.c +endif + +## end gnulib module unictype/category-and-not + +## begin gnulib module unictype/category-byname + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME +libgnu_la_SOURCES += unictype/categ_byname.c +endif + +$(srcdir)/unictype/categ_byname.h: $(srcdir)/unictype/categ_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/categ_byname.gperf > $(srcdir)/unictype/categ_byname.h-t && \ + mv $(srcdir)/unictype/categ_byname.h-t $(srcdir)/unictype/categ_byname.h +BUILT_SOURCES += unictype/categ_byname.h +MOSTLYCLEANFILES += unictype/categ_byname.h-t +MAINTAINERCLEANFILES += unictype/categ_byname.h +EXTRA_DIST += unictype/categ_byname.h + +EXTRA_DIST += unictype/categ_byname.gperf + +## end gnulib module unictype/category-byname + +## begin gnulib module unictype/category-longname + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME +libgnu_la_SOURCES += unictype/categ_longname.c +endif + +## end gnulib module unictype/category-longname + +## begin gnulib module unictype/category-name + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME +libgnu_la_SOURCES += unictype/categ_name.c +endif + +## end gnulib module unictype/category-name + +## begin gnulib module unictype/category-none + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE +libgnu_la_SOURCES += unictype/categ_none.c +endif + +## end gnulib module unictype/category-none + +## begin gnulib module unictype/category-of + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF +libgnu_la_SOURCES += unictype/categ_of.c +endif + +EXTRA_DIST += unictype/categ_of.h + +## end gnulib module unictype/category-of + +## begin gnulib module unictype/category-or + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR +libgnu_la_SOURCES += unictype/categ_or.c +endif + +## end gnulib module unictype/category-or + +## begin gnulib module unictype/category-test + +if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST +libgnu_la_SOURCES += unictype/categ_test.c +endif + +EXTRA_DIST += unictype/bitmap.h + +## end gnulib module unictype/category-test + +## begin gnulib module unictype/combining-class + +if LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS +libgnu_la_SOURCES += unictype/combiningclass.c +endif + +EXTRA_DIST += unictype/combiningclass.h + +## end gnulib module unictype/combining-class + +## begin gnulib module unictype/ctype-print + +if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT +libgnu_la_SOURCES += unictype/ctype_print.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/ctype_print.h + +## end gnulib module unictype/ctype-print + +## begin gnulib module unictype/mirror + +if LIBUNISTRING_COMPILE_UNICTYPE_MIRROR +libgnu_la_SOURCES += unictype/mirror.c +endif + +EXTRA_DIST += unictype/mirror.h + +## end gnulib module unictype/mirror + +## begin gnulib module unictype/property-alphabetic + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC +libgnu_la_SOURCES += unictype/pr_alphabetic.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_alphabetic.h + +## end gnulib module unictype/property-alphabetic + +## begin gnulib module unictype/property-ascii-hex-digit + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT +libgnu_la_SOURCES += unictype/pr_ascii_hex_digit.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_ascii_hex_digit.h + +## end gnulib module unictype/property-ascii-hex-digit + +## begin gnulib module unictype/property-bidi-arabic-digit + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT +libgnu_la_SOURCES += unictype/pr_bidi_arabic_digit.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_arabic_digit.h + +## end gnulib module unictype/property-bidi-arabic-digit + +## begin gnulib module unictype/property-bidi-arabic-right-to-left + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT +libgnu_la_SOURCES += unictype/pr_bidi_arabic_right_to_left.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_arabic_right_to_left.h + +## end gnulib module unictype/property-bidi-arabic-right-to-left + +## begin gnulib module unictype/property-bidi-block-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR +libgnu_la_SOURCES += unictype/pr_bidi_block_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_block_separator.h + +## end gnulib module unictype/property-bidi-block-separator + +## begin gnulib module unictype/property-bidi-boundary-neutral + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL +libgnu_la_SOURCES += unictype/pr_bidi_boundary_neutral.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_boundary_neutral.h + +## end gnulib module unictype/property-bidi-boundary-neutral + +## begin gnulib module unictype/property-bidi-common-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR +libgnu_la_SOURCES += unictype/pr_bidi_common_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_common_separator.h + +## end gnulib module unictype/property-bidi-common-separator + +## begin gnulib module unictype/property-bidi-control + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL +libgnu_la_SOURCES += unictype/pr_bidi_control.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_control.h + +## end gnulib module unictype/property-bidi-control + +## begin gnulib module unictype/property-bidi-embedding-or-override + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE +libgnu_la_SOURCES += unictype/pr_bidi_embedding_or_override.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_embedding_or_override.h + +## end gnulib module unictype/property-bidi-embedding-or-override + +## begin gnulib module unictype/property-bidi-eur-num-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR +libgnu_la_SOURCES += unictype/pr_bidi_eur_num_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_eur_num_separator.h + +## end gnulib module unictype/property-bidi-eur-num-separator + +## begin gnulib module unictype/property-bidi-eur-num-terminator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR +libgnu_la_SOURCES += unictype/pr_bidi_eur_num_terminator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_eur_num_terminator.h + +## end gnulib module unictype/property-bidi-eur-num-terminator + +## begin gnulib module unictype/property-bidi-european-digit + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT +libgnu_la_SOURCES += unictype/pr_bidi_european_digit.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_european_digit.h + +## end gnulib module unictype/property-bidi-european-digit + +## begin gnulib module unictype/property-bidi-hebrew-right-to-left + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT +libgnu_la_SOURCES += unictype/pr_bidi_hebrew_right_to_left.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_hebrew_right_to_left.h + +## end gnulib module unictype/property-bidi-hebrew-right-to-left + +## begin gnulib module unictype/property-bidi-left-to-right + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT +libgnu_la_SOURCES += unictype/pr_bidi_left_to_right.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_left_to_right.h + +## end gnulib module unictype/property-bidi-left-to-right + +## begin gnulib module unictype/property-bidi-non-spacing-mark + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK +libgnu_la_SOURCES += unictype/pr_bidi_non_spacing_mark.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_non_spacing_mark.h + +## end gnulib module unictype/property-bidi-non-spacing-mark + +## begin gnulib module unictype/property-bidi-other-neutral + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL +libgnu_la_SOURCES += unictype/pr_bidi_other_neutral.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_other_neutral.h + +## end gnulib module unictype/property-bidi-other-neutral + +## begin gnulib module unictype/property-bidi-pdf + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF +libgnu_la_SOURCES += unictype/pr_bidi_pdf.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_pdf.h + +## end gnulib module unictype/property-bidi-pdf + +## begin gnulib module unictype/property-bidi-segment-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR +libgnu_la_SOURCES += unictype/pr_bidi_segment_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_segment_separator.h + +## end gnulib module unictype/property-bidi-segment-separator + +## begin gnulib module unictype/property-bidi-whitespace + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE +libgnu_la_SOURCES += unictype/pr_bidi_whitespace.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_bidi_whitespace.h + +## end gnulib module unictype/property-bidi-whitespace + +## begin gnulib module unictype/property-byname + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME +libgnu_la_SOURCES += unictype/pr_byname.c +endif + +$(srcdir)/unictype/pr_byname.h: $(srcdir)/unictype/pr_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/pr_byname.gperf > $(srcdir)/unictype/pr_byname.h-t && \ + mv $(srcdir)/unictype/pr_byname.h-t $(srcdir)/unictype/pr_byname.h +BUILT_SOURCES += unictype/pr_byname.h +MOSTLYCLEANFILES += unictype/pr_byname.h-t +MAINTAINERCLEANFILES += unictype/pr_byname.h +EXTRA_DIST += unictype/pr_byname.h + +EXTRA_DIST += unictype/pr_byname.gperf + +## end gnulib module unictype/property-byname + +## begin gnulib module unictype/property-case-ignorable + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE +libgnu_la_SOURCES += unictype/pr_case_ignorable.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_case_ignorable.h + +## end gnulib module unictype/property-case-ignorable + +## begin gnulib module unictype/property-cased + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED +libgnu_la_SOURCES += unictype/pr_cased.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_cased.h + +## end gnulib module unictype/property-cased + +## begin gnulib module unictype/property-changes-when-casefolded + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED +libgnu_la_SOURCES += unictype/pr_changes_when_casefolded.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_changes_when_casefolded.h + +## end gnulib module unictype/property-changes-when-casefolded + +## begin gnulib module unictype/property-changes-when-casemapped + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED +libgnu_la_SOURCES += unictype/pr_changes_when_casemapped.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_changes_when_casemapped.h + +## end gnulib module unictype/property-changes-when-casemapped + +## begin gnulib module unictype/property-changes-when-lowercased + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED +libgnu_la_SOURCES += unictype/pr_changes_when_lowercased.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_changes_when_lowercased.h + +## end gnulib module unictype/property-changes-when-lowercased + +## begin gnulib module unictype/property-changes-when-titlecased + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED +libgnu_la_SOURCES += unictype/pr_changes_when_titlecased.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_changes_when_titlecased.h + +## end gnulib module unictype/property-changes-when-titlecased + +## begin gnulib module unictype/property-changes-when-uppercased + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED +libgnu_la_SOURCES += unictype/pr_changes_when_uppercased.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_changes_when_uppercased.h + +## end gnulib module unictype/property-changes-when-uppercased + +## begin gnulib module unictype/property-combining + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING +libgnu_la_SOURCES += unictype/pr_combining.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_combining.h + +## end gnulib module unictype/property-combining + +## begin gnulib module unictype/property-composite + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE +libgnu_la_SOURCES += unictype/pr_composite.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_composite.h + +## end gnulib module unictype/property-composite + +## begin gnulib module unictype/property-currency-symbol + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL +libgnu_la_SOURCES += unictype/pr_currency_symbol.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_currency_symbol.h + +## end gnulib module unictype/property-currency-symbol + +## begin gnulib module unictype/property-dash + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH +libgnu_la_SOURCES += unictype/pr_dash.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_dash.h + +## end gnulib module unictype/property-dash + +## begin gnulib module unictype/property-decimal-digit + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT +libgnu_la_SOURCES += unictype/pr_decimal_digit.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_decimal_digit.h + +## end gnulib module unictype/property-decimal-digit + +## begin gnulib module unictype/property-default-ignorable-code-point + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT +libgnu_la_SOURCES += unictype/pr_default_ignorable_code_point.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_default_ignorable_code_point.h + +## end gnulib module unictype/property-default-ignorable-code-point + +## begin gnulib module unictype/property-deprecated + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED +libgnu_la_SOURCES += unictype/pr_deprecated.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_deprecated.h + +## end gnulib module unictype/property-deprecated + +## begin gnulib module unictype/property-diacritic + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC +libgnu_la_SOURCES += unictype/pr_diacritic.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_diacritic.h + +## end gnulib module unictype/property-diacritic + +## begin gnulib module unictype/property-extender + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER +libgnu_la_SOURCES += unictype/pr_extender.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_extender.h + +## end gnulib module unictype/property-extender + +## begin gnulib module unictype/property-format-control + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL +libgnu_la_SOURCES += unictype/pr_format_control.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_format_control.h + +## end gnulib module unictype/property-format-control + +## begin gnulib module unictype/property-grapheme-base + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE +libgnu_la_SOURCES += unictype/pr_grapheme_base.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_grapheme_base.h + +## end gnulib module unictype/property-grapheme-base + +## begin gnulib module unictype/property-grapheme-extend + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND +libgnu_la_SOURCES += unictype/pr_grapheme_extend.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_grapheme_extend.h + +## end gnulib module unictype/property-grapheme-extend + +## begin gnulib module unictype/property-grapheme-link + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK +libgnu_la_SOURCES += unictype/pr_grapheme_link.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_grapheme_link.h + +## end gnulib module unictype/property-grapheme-link + +## begin gnulib module unictype/property-hex-digit + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT +libgnu_la_SOURCES += unictype/pr_hex_digit.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_hex_digit.h + +## end gnulib module unictype/property-hex-digit + +## begin gnulib module unictype/property-hyphen + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN +libgnu_la_SOURCES += unictype/pr_hyphen.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_hyphen.h + +## end gnulib module unictype/property-hyphen + +## begin gnulib module unictype/property-id-continue + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE +libgnu_la_SOURCES += unictype/pr_id_continue.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_id_continue.h + +## end gnulib module unictype/property-id-continue + +## begin gnulib module unictype/property-id-start + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START +libgnu_la_SOURCES += unictype/pr_id_start.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_id_start.h + +## end gnulib module unictype/property-id-start + +## begin gnulib module unictype/property-ideographic + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC +libgnu_la_SOURCES += unictype/pr_ideographic.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_ideographic.h + +## end gnulib module unictype/property-ideographic + +## begin gnulib module unictype/property-ids-binary-operator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR +libgnu_la_SOURCES += unictype/pr_ids_binary_operator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_ids_binary_operator.h + +## end gnulib module unictype/property-ids-binary-operator + +## begin gnulib module unictype/property-ids-trinary-operator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR +libgnu_la_SOURCES += unictype/pr_ids_trinary_operator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_ids_trinary_operator.h + +## end gnulib module unictype/property-ids-trinary-operator + +## begin gnulib module unictype/property-ignorable-control + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL +libgnu_la_SOURCES += unictype/pr_ignorable_control.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_ignorable_control.h + +## end gnulib module unictype/property-ignorable-control + +## begin gnulib module unictype/property-iso-control + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL +libgnu_la_SOURCES += unictype/pr_iso_control.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_iso_control.h + +## end gnulib module unictype/property-iso-control + +## begin gnulib module unictype/property-join-control + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL +libgnu_la_SOURCES += unictype/pr_join_control.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_join_control.h + +## end gnulib module unictype/property-join-control + +## begin gnulib module unictype/property-left-of-pair + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR +libgnu_la_SOURCES += unictype/pr_left_of_pair.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_left_of_pair.h + +## end gnulib module unictype/property-left-of-pair + +## begin gnulib module unictype/property-line-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR +libgnu_la_SOURCES += unictype/pr_line_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_line_separator.h + +## end gnulib module unictype/property-line-separator + +## begin gnulib module unictype/property-logical-order-exception + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION +libgnu_la_SOURCES += unictype/pr_logical_order_exception.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_logical_order_exception.h + +## end gnulib module unictype/property-logical-order-exception + +## begin gnulib module unictype/property-lowercase + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE +libgnu_la_SOURCES += unictype/pr_lowercase.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_lowercase.h + +## end gnulib module unictype/property-lowercase + +## begin gnulib module unictype/property-math + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH +libgnu_la_SOURCES += unictype/pr_math.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_math.h + +## end gnulib module unictype/property-math + +## begin gnulib module unictype/property-non-break + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK +libgnu_la_SOURCES += unictype/pr_non_break.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_non_break.h + +## end gnulib module unictype/property-non-break + +## begin gnulib module unictype/property-not-a-character + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER +libgnu_la_SOURCES += unictype/pr_not_a_character.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_not_a_character.h + +## end gnulib module unictype/property-not-a-character + +## begin gnulib module unictype/property-numeric + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC +libgnu_la_SOURCES += unictype/pr_numeric.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_numeric.h + +## end gnulib module unictype/property-numeric + +## begin gnulib module unictype/property-other-alphabetic + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC +libgnu_la_SOURCES += unictype/pr_other_alphabetic.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_alphabetic.h + +## end gnulib module unictype/property-other-alphabetic + +## begin gnulib module unictype/property-other-default-ignorable-code-point + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT +libgnu_la_SOURCES += unictype/pr_other_default_ignorable_code_point.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_default_ignorable_code_point.h + +## end gnulib module unictype/property-other-default-ignorable-code-point + +## begin gnulib module unictype/property-other-grapheme-extend + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND +libgnu_la_SOURCES += unictype/pr_other_grapheme_extend.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_grapheme_extend.h + +## end gnulib module unictype/property-other-grapheme-extend + +## begin gnulib module unictype/property-other-id-continue + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE +libgnu_la_SOURCES += unictype/pr_other_id_continue.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_id_continue.h + +## end gnulib module unictype/property-other-id-continue + +## begin gnulib module unictype/property-other-id-start + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START +libgnu_la_SOURCES += unictype/pr_other_id_start.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_id_start.h + +## end gnulib module unictype/property-other-id-start + +## begin gnulib module unictype/property-other-lowercase + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE +libgnu_la_SOURCES += unictype/pr_other_lowercase.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_lowercase.h + +## end gnulib module unictype/property-other-lowercase + +## begin gnulib module unictype/property-other-math + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH +libgnu_la_SOURCES += unictype/pr_other_math.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_math.h + +## end gnulib module unictype/property-other-math + +## begin gnulib module unictype/property-other-uppercase + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE +libgnu_la_SOURCES += unictype/pr_other_uppercase.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_other_uppercase.h + +## end gnulib module unictype/property-other-uppercase + +## begin gnulib module unictype/property-paired-punctuation + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION +libgnu_la_SOURCES += unictype/pr_paired_punctuation.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_paired_punctuation.h + +## end gnulib module unictype/property-paired-punctuation + +## begin gnulib module unictype/property-paragraph-separator + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR +libgnu_la_SOURCES += unictype/pr_paragraph_separator.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_paragraph_separator.h + +## end gnulib module unictype/property-paragraph-separator + +## begin gnulib module unictype/property-pattern-syntax + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX +libgnu_la_SOURCES += unictype/pr_pattern_syntax.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_pattern_syntax.h + +## end gnulib module unictype/property-pattern-syntax + +## begin gnulib module unictype/property-pattern-white-space + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE +libgnu_la_SOURCES += unictype/pr_pattern_white_space.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_pattern_white_space.h + +## end gnulib module unictype/property-pattern-white-space + +## begin gnulib module unictype/property-private-use + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE +libgnu_la_SOURCES += unictype/pr_private_use.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_private_use.h + +## end gnulib module unictype/property-private-use + +## begin gnulib module unictype/property-punctuation + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION +libgnu_la_SOURCES += unictype/pr_punctuation.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_punctuation.h + +## end gnulib module unictype/property-punctuation + +## begin gnulib module unictype/property-quotation-mark + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK +libgnu_la_SOURCES += unictype/pr_quotation_mark.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_quotation_mark.h + +## end gnulib module unictype/property-quotation-mark + +## begin gnulib module unictype/property-radical + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL +libgnu_la_SOURCES += unictype/pr_radical.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_radical.h + +## end gnulib module unictype/property-radical + +## begin gnulib module unictype/property-sentence-terminal + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL +libgnu_la_SOURCES += unictype/pr_sentence_terminal.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_sentence_terminal.h + +## end gnulib module unictype/property-sentence-terminal + +## begin gnulib module unictype/property-soft-dotted + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED +libgnu_la_SOURCES += unictype/pr_soft_dotted.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_soft_dotted.h + +## end gnulib module unictype/property-soft-dotted + +## begin gnulib module unictype/property-space + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE +libgnu_la_SOURCES += unictype/pr_space.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_space.h + +## end gnulib module unictype/property-space + +## begin gnulib module unictype/property-terminal-punctuation + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION +libgnu_la_SOURCES += unictype/pr_terminal_punctuation.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_terminal_punctuation.h + +## end gnulib module unictype/property-terminal-punctuation + +## begin gnulib module unictype/property-test + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST +libgnu_la_SOURCES += unictype/pr_test.c +endif + +## end gnulib module unictype/property-test + +## begin gnulib module unictype/property-titlecase + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE +libgnu_la_SOURCES += unictype/pr_titlecase.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_titlecase.h + +## end gnulib module unictype/property-titlecase + +## begin gnulib module unictype/property-unassigned-code-value + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE +libgnu_la_SOURCES += unictype/pr_unassigned_code_value.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_unassigned_code_value.h + +## end gnulib module unictype/property-unassigned-code-value + +## begin gnulib module unictype/property-unified-ideograph + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH +libgnu_la_SOURCES += unictype/pr_unified_ideograph.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_unified_ideograph.h + +## end gnulib module unictype/property-unified-ideograph + +## begin gnulib module unictype/property-uppercase + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE +libgnu_la_SOURCES += unictype/pr_uppercase.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_uppercase.h + +## end gnulib module unictype/property-uppercase + +## begin gnulib module unictype/property-variation-selector + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR +libgnu_la_SOURCES += unictype/pr_variation_selector.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_variation_selector.h + +## end gnulib module unictype/property-variation-selector + +## begin gnulib module unictype/property-white-space + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE +libgnu_la_SOURCES += unictype/pr_white_space.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_white_space.h + +## end gnulib module unictype/property-white-space + +## begin gnulib module unictype/property-xid-continue + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE +libgnu_la_SOURCES += unictype/pr_xid_continue.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_xid_continue.h + +## end gnulib module unictype/property-xid-continue + +## begin gnulib module unictype/property-xid-start + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START +libgnu_la_SOURCES += unictype/pr_xid_start.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_xid_start.h + +## end gnulib module unictype/property-xid-start + +## begin gnulib module unictype/property-zero-width + +if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH +libgnu_la_SOURCES += unictype/pr_zero_width.c +endif + +EXTRA_DIST += unictype/bitmap.h unictype/pr_zero_width.h + +## end gnulib module unictype/property-zero-width + +## begin gnulib module unictype/scripts + +if LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS +libgnu_la_SOURCES += unictype/scripts.c +endif + +$(srcdir)/unictype/scripts_byname.h: $(srcdir)/unictype/scripts_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/scripts_byname.gperf > $(srcdir)/unictype/scripts_byname.h-t && \ + mv $(srcdir)/unictype/scripts_byname.h-t $(srcdir)/unictype/scripts_byname.h +BUILT_SOURCES += unictype/scripts_byname.h +MOSTLYCLEANFILES += unictype/scripts_byname.h-t +MAINTAINERCLEANFILES += unictype/scripts_byname.h +EXTRA_DIST += unictype/scripts_byname.h + +EXTRA_DIST += unictype/scripts.h unictype/scripts_byname.gperf + +## end gnulib module unictype/scripts + +## begin gnulib module uniname/base + +BUILT_SOURCES += $(LIBUNISTRING_UNINAME_H) + +uniname.h: uniname.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniname.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uniname.h uniname.h-t + +EXTRA_DIST += uniname.in.h + +## end gnulib module uniname/base + +## begin gnulib module uniname/uniname + +if LIBUNISTRING_COMPILE_UNINAME_UNINAME +libgnu_la_SOURCES += uniname/uniname.c +endif + +EXTRA_DIST += uniname/gen-uninames.lisp uniname/uninames.h + +## end gnulib module uniname/uniname + +## begin gnulib module uninorm/base + +BUILT_SOURCES += $(LIBUNISTRING_UNINORM_H) + +uninorm.h: uninorm.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uninorm.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uninorm.h uninorm.h-t + +EXTRA_DIST += uninorm.in.h + +## end gnulib module uninorm/base + +## begin gnulib module uninorm/canonical-decomposition + +if LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION +libgnu_la_SOURCES += uninorm/canonical-decomposition.c +endif + +## end gnulib module uninorm/canonical-decomposition + +## begin gnulib module uninorm/decompose-internal + +libgnu_la_SOURCES += uninorm/decompose-internal.c + +EXTRA_DIST += uninorm/decompose-internal.h + +## end gnulib module uninorm/decompose-internal + +## begin gnulib module uninorm/decomposition-table + +libgnu_la_SOURCES += uninorm/decomposition-table.c + +EXTRA_DIST += uninorm/decomposition-table.h uninorm/decomposition-table1.h uninorm/decomposition-table2.h + +## end gnulib module uninorm/decomposition-table + +## begin gnulib module uninorm/nfd + +if LIBUNISTRING_COMPILE_UNINORM_NFD +libgnu_la_SOURCES += uninorm/nfd.c +endif + +EXTRA_DIST += uninorm/normalize-internal.h + +## end gnulib module uninorm/nfd + +## begin gnulib module uninorm/u32-normalize + +if LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE +libgnu_la_SOURCES += uninorm/u32-normalize.c +endif + +EXTRA_DIST += uninorm/normalize-internal.h uninorm/u-normalize-internal.h + +## end gnulib module uninorm/u32-normalize + +## begin gnulib module unistr/base + +BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H) + +unistr.h: unistr.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unistr.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unistr.h unistr.h-t + +EXTRA_DIST += unistr.in.h + +## end gnulib module unistr/base + +## begin gnulib module unistr/u32-cpy + +if LIBUNISTRING_COMPILE_UNISTR_U32_CPY +libgnu_la_SOURCES += unistr/u32-cpy.c +endif + +EXTRA_DIST += unistr/u-cpy.h + +## end gnulib module unistr/u32-cpy + +## begin gnulib module unistr/u32-mbtouc-unsafe + +if LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE +libgnu_la_SOURCES += unistr/u32-mbtouc-unsafe.c +endif + +## end gnulib module unistr/u32-mbtouc-unsafe + +## begin gnulib module unistr/u32-to-u8 + +if LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8 +libgnu_la_SOURCES += unistr/u32-to-u8.c +endif + +## end gnulib module unistr/u32-to-u8 + +## begin gnulib module unistr/u32-uctomb + +if LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB +libgnu_la_SOURCES += unistr/u32-uctomb.c +endif + +## end gnulib module unistr/u32-uctomb + +## begin gnulib module unistr/u8-mbtoucr + +if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR +libgnu_la_SOURCES += unistr/u8-mbtoucr.c +endif + +## end gnulib module unistr/u8-mbtoucr + +## begin gnulib module unistr/u8-strmblen + +if LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN +libgnu_la_SOURCES += unistr/u8-strmblen.c +endif + +## end gnulib module unistr/u8-strmblen + +## begin gnulib module unistr/u8-to-u32 + +if LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32 +libgnu_la_SOURCES += unistr/u8-to-u32.c +endif + +## end gnulib module unistr/u8-to-u32 + +## begin gnulib module unistr/u8-uctomb + +if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB +libgnu_la_SOURCES += unistr/u8-uctomb.c unistr/u8-uctomb-aux.c +endif + +## end gnulib module unistr/u8-uctomb + +## begin gnulib module unitypes + +BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H) + +unitypes.h: unitypes.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unitypes.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += unitypes.h unitypes.h-t + +EXTRA_DIST += unitypes.in.h + +## end gnulib module unitypes + +## begin gnulib module uniwidth/base + +BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) + +uniwidth.h: uniwidth.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniwidth.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +MOSTLYCLEANFILES += uniwidth.h uniwidth.h-t + +EXTRA_DIST += localcharset.h uniwidth.in.h + +## end gnulib module uniwidth/base + +## begin gnulib module uniwidth/width + +if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH +libgnu_la_SOURCES += uniwidth/width.c +endif + +EXTRA_DIST += uniwidth/cjk.h + +## end gnulib module uniwidth/width + + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : diff --git a/gllib/Makefile.in b/gllib/Makefile.in new file mode 100644 index 0000000..abe3575 --- /dev/null +++ b/gllib/Makefile.in @@ -0,0 +1,2258 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=gllib --m4-base=glm4 --doc-base=doc --tests-base=gltests --aux-dir=. --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files host-cpu-c-abi libunistring-optional unicase/tolower unicase/totitle unicase/toupper unictype/block-all unictype/category-all unictype/ctype-print unictype/mirror unictype/property-all unictype/scripts-all uniname/uniname uninorm/canonical-decomposition uninorm/nfd uninorm/u32-normalize unistr/u32-to-u8 unistr/u8-strmblen unistr/u8-to-u32 unitypes uniwidth/width + + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__append_1 = unicase/tolower.c +@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__append_2 = unicase/totitle.c +@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__append_3 = unicase/toupper.c +@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__append_4 = unictype/bidi_of.c +@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__append_5 = unictype/blocks.c +@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__append_6 = unictype/block_test.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__append_7 = unictype/categ_C.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__append_8 = unictype/categ_Cc.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__append_9 = unictype/categ_Cf.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__append_10 = unictype/categ_Cn.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__append_11 = unictype/categ_Co.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__append_12 = unictype/categ_Cs.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__append_13 = unictype/categ_L.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__append_14 = unictype/categ_LC.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__append_15 = unictype/categ_Ll.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__append_16 = unictype/categ_Lm.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__append_17 = unictype/categ_Lo.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__append_18 = unictype/categ_Lt.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__append_19 = unictype/categ_Lu.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__append_20 = unictype/categ_M.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__append_21 = unictype/categ_Mc.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__append_22 = unictype/categ_Me.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__append_23 = unictype/categ_Mn.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__append_24 = unictype/categ_N.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__append_25 = unictype/categ_Nd.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__append_26 = unictype/categ_Nl.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__append_27 = unictype/categ_No.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__append_28 = unictype/categ_P.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__append_29 = unictype/categ_Pc.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__append_30 = unictype/categ_Pd.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__append_31 = unictype/categ_Pe.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__append_32 = unictype/categ_Pf.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__append_33 = unictype/categ_Pi.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__append_34 = unictype/categ_Po.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__append_35 = unictype/categ_Ps.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__append_36 = unictype/categ_S.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__append_37 = unictype/categ_Sc.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__append_38 = unictype/categ_Sk.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__append_39 = unictype/categ_Sm.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__append_40 = unictype/categ_So.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__append_41 = unictype/categ_Z.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__append_42 = unictype/categ_Zl.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__append_43 = unictype/categ_Zp.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__append_44 = unictype/categ_Zs.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__append_45 = unictype/categ_and.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__append_46 = unictype/categ_and_not.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__append_47 = unictype/categ_byname.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__append_48 = unictype/categ_longname.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__append_49 = unictype/categ_name.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE@am__append_50 = unictype/categ_none.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__append_51 = unictype/categ_of.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__append_52 = unictype/categ_or.c +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__append_53 = unictype/categ_test.c +@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__append_54 = unictype/combiningclass.c +@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__append_55 = unictype/ctype_print.c +@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__append_56 = unictype/mirror.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__append_57 = unictype/pr_alphabetic.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__append_58 = unictype/pr_ascii_hex_digit.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__append_59 = unictype/pr_bidi_arabic_digit.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__append_60 = unictype/pr_bidi_arabic_right_to_left.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__append_61 = unictype/pr_bidi_block_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__append_62 = unictype/pr_bidi_boundary_neutral.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__append_63 = unictype/pr_bidi_common_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__append_64 = unictype/pr_bidi_control.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__append_65 = unictype/pr_bidi_embedding_or_override.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__append_66 = unictype/pr_bidi_eur_num_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__append_67 = unictype/pr_bidi_eur_num_terminator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__append_68 = unictype/pr_bidi_european_digit.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__append_69 = unictype/pr_bidi_hebrew_right_to_left.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__append_70 = unictype/pr_bidi_left_to_right.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__append_71 = unictype/pr_bidi_non_spacing_mark.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__append_72 = unictype/pr_bidi_other_neutral.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__append_73 = unictype/pr_bidi_pdf.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__append_74 = unictype/pr_bidi_segment_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__append_75 = unictype/pr_bidi_whitespace.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__append_76 = unictype/pr_byname.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__append_77 = unictype/pr_case_ignorable.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__append_78 = unictype/pr_cased.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__append_79 = unictype/pr_changes_when_casefolded.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__append_80 = unictype/pr_changes_when_casemapped.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__append_81 = unictype/pr_changes_when_lowercased.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__append_82 = unictype/pr_changes_when_titlecased.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__append_83 = unictype/pr_changes_when_uppercased.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__append_84 = unictype/pr_combining.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__append_85 = unictype/pr_composite.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__append_86 = unictype/pr_currency_symbol.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__append_87 = unictype/pr_dash.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__append_88 = unictype/pr_decimal_digit.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_89 = unictype/pr_default_ignorable_code_point.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__append_90 = unictype/pr_deprecated.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__append_91 = unictype/pr_diacritic.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__append_92 = unictype/pr_extender.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__append_93 = unictype/pr_format_control.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__append_94 = unictype/pr_grapheme_base.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__append_95 = unictype/pr_grapheme_extend.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__append_96 = unictype/pr_grapheme_link.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__append_97 = unictype/pr_hex_digit.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__append_98 = unictype/pr_hyphen.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__append_99 = unictype/pr_id_continue.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__append_100 = unictype/pr_id_start.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__append_101 = unictype/pr_ideographic.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__append_102 = unictype/pr_ids_binary_operator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__append_103 = unictype/pr_ids_trinary_operator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__append_104 = unictype/pr_ignorable_control.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__append_105 = unictype/pr_iso_control.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__append_106 = unictype/pr_join_control.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__append_107 = unictype/pr_left_of_pair.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__append_108 = unictype/pr_line_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__append_109 = unictype/pr_logical_order_exception.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__append_110 = unictype/pr_lowercase.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__append_111 = unictype/pr_math.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__append_112 = unictype/pr_non_break.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__append_113 = unictype/pr_not_a_character.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__append_114 = unictype/pr_numeric.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__append_115 = unictype/pr_other_alphabetic.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__append_116 = unictype/pr_other_default_ignorable_code_point.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__append_117 = unictype/pr_other_grapheme_extend.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__append_118 = unictype/pr_other_id_continue.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__append_119 = unictype/pr_other_id_start.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__append_120 = unictype/pr_other_lowercase.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__append_121 = unictype/pr_other_math.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__append_122 = unictype/pr_other_uppercase.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__append_123 = unictype/pr_paired_punctuation.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__append_124 = unictype/pr_paragraph_separator.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__append_125 = unictype/pr_pattern_syntax.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__append_126 = unictype/pr_pattern_white_space.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__append_127 = unictype/pr_private_use.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__append_128 = unictype/pr_punctuation.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__append_129 = unictype/pr_quotation_mark.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__append_130 = unictype/pr_radical.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__append_131 = unictype/pr_sentence_terminal.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__append_132 = unictype/pr_soft_dotted.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__append_133 = unictype/pr_space.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__append_134 = unictype/pr_terminal_punctuation.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__append_135 = unictype/pr_test.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__append_136 = unictype/pr_titlecase.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__append_137 = unictype/pr_unassigned_code_value.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__append_138 = unictype/pr_unified_ideograph.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__append_139 = unictype/pr_uppercase.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__append_140 = unictype/pr_variation_selector.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__append_141 = unictype/pr_white_space.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__append_142 = unictype/pr_xid_continue.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__append_143 = unictype/pr_xid_start.c +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__append_144 = unictype/pr_zero_width.c +@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__append_145 = unictype/scripts.c +@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__append_146 = uniname/uniname.c +@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__append_147 = uninorm/canonical-decomposition.c +@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__append_148 = uninorm/nfd.c +@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__append_149 = uninorm/u32-normalize.c +@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__append_150 = unistr/u32-cpy.c +@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__append_151 = unistr/u32-mbtouc-unsafe.c +@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__append_152 = unistr/u32-to-u8.c +@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__append_153 = unistr/u32-uctomb.c +@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_154 = unistr/u8-mbtoucr.c +@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__append_155 = unistr/u8-strmblen.c +@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__append_156 = unistr/u8-to-u32.c +@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_157 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c +@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__append_158 = uniwidth/width.c +subdir = gllib +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +LTLIBRARIES = $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +am__libgnu_la_SOURCES_DIST = unicase/tolower.c unicase/totitle.c \ + unicase/toupper.c unictype/bidi_of.c unictype/blocks.c \ + unictype/block_test.c unictype/categ_C.c unictype/categ_Cc.c \ + unictype/categ_Cf.c unictype/categ_Cn.c unictype/categ_Co.c \ + unictype/categ_Cs.c unictype/categ_L.c unictype/categ_LC.c \ + unictype/categ_Ll.c unictype/categ_Lm.c unictype/categ_Lo.c \ + unictype/categ_Lt.c unictype/categ_Lu.c unictype/categ_M.c \ + unictype/categ_Mc.c unictype/categ_Me.c unictype/categ_Mn.c \ + unictype/categ_N.c unictype/categ_Nd.c unictype/categ_Nl.c \ + unictype/categ_No.c unictype/categ_P.c unictype/categ_Pc.c \ + unictype/categ_Pd.c unictype/categ_Pe.c unictype/categ_Pf.c \ + unictype/categ_Pi.c unictype/categ_Po.c unictype/categ_Ps.c \ + unictype/categ_S.c unictype/categ_Sc.c unictype/categ_Sk.c \ + unictype/categ_Sm.c unictype/categ_So.c unictype/categ_Z.c \ + unictype/categ_Zl.c unictype/categ_Zp.c unictype/categ_Zs.c \ + unictype/categ_and.c unictype/categ_and_not.c \ + unictype/categ_byname.c unictype/categ_longname.c \ + unictype/categ_name.c unictype/categ_none.c \ + unictype/categ_of.c unictype/categ_or.c unictype/categ_test.c \ + unictype/combiningclass.c unictype/ctype_print.c \ + unictype/mirror.c unictype/pr_alphabetic.c \ + unictype/pr_ascii_hex_digit.c unictype/pr_bidi_arabic_digit.c \ + unictype/pr_bidi_arabic_right_to_left.c \ + unictype/pr_bidi_block_separator.c \ + unictype/pr_bidi_boundary_neutral.c \ + unictype/pr_bidi_common_separator.c unictype/pr_bidi_control.c \ + unictype/pr_bidi_embedding_or_override.c \ + unictype/pr_bidi_eur_num_separator.c \ + unictype/pr_bidi_eur_num_terminator.c \ + unictype/pr_bidi_european_digit.c \ + unictype/pr_bidi_hebrew_right_to_left.c \ + unictype/pr_bidi_left_to_right.c \ + unictype/pr_bidi_non_spacing_mark.c \ + unictype/pr_bidi_other_neutral.c unictype/pr_bidi_pdf.c \ + unictype/pr_bidi_segment_separator.c \ + unictype/pr_bidi_whitespace.c unictype/pr_byname.c \ + unictype/pr_case_ignorable.c unictype/pr_cased.c \ + unictype/pr_changes_when_casefolded.c \ + unictype/pr_changes_when_casemapped.c \ + unictype/pr_changes_when_lowercased.c \ + unictype/pr_changes_when_titlecased.c \ + unictype/pr_changes_when_uppercased.c unictype/pr_combining.c \ + unictype/pr_composite.c unictype/pr_currency_symbol.c \ + unictype/pr_dash.c unictype/pr_decimal_digit.c \ + unictype/pr_default_ignorable_code_point.c \ + unictype/pr_deprecated.c unictype/pr_diacritic.c \ + unictype/pr_extender.c unictype/pr_format_control.c \ + unictype/pr_grapheme_base.c unictype/pr_grapheme_extend.c \ + unictype/pr_grapheme_link.c unictype/pr_hex_digit.c \ + unictype/pr_hyphen.c unictype/pr_id_continue.c \ + unictype/pr_id_start.c unictype/pr_ideographic.c \ + unictype/pr_ids_binary_operator.c \ + unictype/pr_ids_trinary_operator.c \ + unictype/pr_ignorable_control.c unictype/pr_iso_control.c \ + unictype/pr_join_control.c unictype/pr_left_of_pair.c \ + unictype/pr_line_separator.c \ + unictype/pr_logical_order_exception.c unictype/pr_lowercase.c \ + unictype/pr_math.c unictype/pr_non_break.c \ + unictype/pr_not_a_character.c unictype/pr_numeric.c \ + unictype/pr_other_alphabetic.c \ + unictype/pr_other_default_ignorable_code_point.c \ + unictype/pr_other_grapheme_extend.c \ + unictype/pr_other_id_continue.c unictype/pr_other_id_start.c \ + unictype/pr_other_lowercase.c unictype/pr_other_math.c \ + unictype/pr_other_uppercase.c unictype/pr_paired_punctuation.c \ + unictype/pr_paragraph_separator.c unictype/pr_pattern_syntax.c \ + unictype/pr_pattern_white_space.c unictype/pr_private_use.c \ + unictype/pr_punctuation.c unictype/pr_quotation_mark.c \ + unictype/pr_radical.c unictype/pr_sentence_terminal.c \ + unictype/pr_soft_dotted.c unictype/pr_space.c \ + unictype/pr_terminal_punctuation.c unictype/pr_test.c \ + unictype/pr_titlecase.c unictype/pr_unassigned_code_value.c \ + unictype/pr_unified_ideograph.c unictype/pr_uppercase.c \ + unictype/pr_variation_selector.c unictype/pr_white_space.c \ + unictype/pr_xid_continue.c unictype/pr_xid_start.c \ + unictype/pr_zero_width.c unictype/scripts.c uniname/uniname.c \ + uninorm/canonical-decomposition.c uninorm/decompose-internal.c \ + uninorm/decomposition-table.c uninorm/nfd.c \ + uninorm/u32-normalize.c unistr/u32-cpy.c \ + unistr/u32-mbtouc-unsafe.c unistr/u32-to-u8.c \ + unistr/u32-uctomb.c unistr/u8-mbtoucr.c unistr/u8-strmblen.c \ + unistr/u8-to-u32.c unistr/u8-uctomb.c unistr/u8-uctomb-aux.c \ + uniwidth/width.c +am__dirstamp = $(am__leading_dot)dirstamp +@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@am__objects_1 = \ +@LIBUNISTRING_COMPILE_UNICASE_TOLOWER_TRUE@ unicase/tolower.lo +@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@am__objects_2 = \ +@LIBUNISTRING_COMPILE_UNICASE_TOTITLE_TRUE@ unicase/totitle.lo +@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@am__objects_3 = \ +@LIBUNISTRING_COMPILE_UNICASE_TOUPPER_TRUE@ unicase/toupper.lo +@LIBUNISTRING_COMPILE_UNICTYPE_BIDICLASS_OF_TRUE@am__objects_4 = unictype/bidi_of.lo +@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST_TRUE@am__objects_5 = unictype/blocks.lo +@LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST_TRUE@am__objects_6 = unictype/block_test.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C_TRUE@am__objects_7 = unictype/categ_C.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC_TRUE@am__objects_8 = unictype/categ_Cc.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF_TRUE@am__objects_9 = unictype/categ_Cf.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN_TRUE@am__objects_10 = unictype/categ_Cn.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO_TRUE@am__objects_11 = unictype/categ_Co.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS_TRUE@am__objects_12 = unictype/categ_Cs.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L_TRUE@am__objects_13 = unictype/categ_L.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LC_TRUE@am__objects_14 = unictype/categ_LC.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL_TRUE@am__objects_15 = unictype/categ_Ll.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM_TRUE@am__objects_16 = unictype/categ_Lm.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO_TRUE@am__objects_17 = unictype/categ_Lo.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT_TRUE@am__objects_18 = unictype/categ_Lt.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU_TRUE@am__objects_19 = unictype/categ_Lu.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M_TRUE@am__objects_20 = unictype/categ_M.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC_TRUE@am__objects_21 = unictype/categ_Mc.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME_TRUE@am__objects_22 = unictype/categ_Me.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN_TRUE@am__objects_23 = unictype/categ_Mn.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N_TRUE@am__objects_24 = unictype/categ_N.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND_TRUE@am__objects_25 = unictype/categ_Nd.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL_TRUE@am__objects_26 = unictype/categ_Nl.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO_TRUE@am__objects_27 = unictype/categ_No.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P_TRUE@am__objects_28 = unictype/categ_P.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC_TRUE@am__objects_29 = unictype/categ_Pc.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD_TRUE@am__objects_30 = unictype/categ_Pd.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE_TRUE@am__objects_31 = unictype/categ_Pe.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF_TRUE@am__objects_32 = unictype/categ_Pf.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI_TRUE@am__objects_33 = unictype/categ_Pi.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO_TRUE@am__objects_34 = unictype/categ_Po.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS_TRUE@am__objects_35 = unictype/categ_Ps.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S_TRUE@am__objects_36 = unictype/categ_S.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC_TRUE@am__objects_37 = unictype/categ_Sc.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK_TRUE@am__objects_38 = unictype/categ_Sk.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM_TRUE@am__objects_39 = unictype/categ_Sm.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO_TRUE@am__objects_40 = unictype/categ_So.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z_TRUE@am__objects_41 = unictype/categ_Z.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL_TRUE@am__objects_42 = unictype/categ_Zl.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP_TRUE@am__objects_43 = unictype/categ_Zp.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS_TRUE@am__objects_44 = unictype/categ_Zs.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_TRUE@am__objects_45 = unictype/categ_and.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT_TRUE@am__objects_46 = unictype/categ_and_not.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME_TRUE@am__objects_47 = unictype/categ_byname.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LONGNAME_TRUE@am__objects_48 = unictype/categ_longname.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME_TRUE@am__objects_49 = unictype/categ_name.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE_TRUE@am__objects_50 = unictype/categ_none.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF_TRUE@am__objects_51 = unictype/categ_of.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR_TRUE@am__objects_52 = unictype/categ_or.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST_TRUE@am__objects_53 = unictype/categ_test.lo +@LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS_TRUE@am__objects_54 = unictype/combiningclass.lo +@LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT_TRUE@am__objects_55 = unictype/ctype_print.lo +@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@am__objects_56 = \ +@LIBUNISTRING_COMPILE_UNICTYPE_MIRROR_TRUE@ unictype/mirror.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC_TRUE@am__objects_57 = unictype/pr_alphabetic.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_TRUE@am__objects_58 = unictype/pr_ascii_hex_digit.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_TRUE@am__objects_59 = unictype/pr_bidi_arabic_digit.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_TRUE@am__objects_60 = unictype/pr_bidi_arabic_right_to_left.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_TRUE@am__objects_61 = unictype/pr_bidi_block_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_TRUE@am__objects_62 = unictype/pr_bidi_boundary_neutral.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_TRUE@am__objects_63 = unictype/pr_bidi_common_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL_TRUE@am__objects_64 = unictype/pr_bidi_control.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_TRUE@am__objects_65 = unictype/pr_bidi_embedding_or_override.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_TRUE@am__objects_66 = unictype/pr_bidi_eur_num_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_TRUE@am__objects_67 = unictype/pr_bidi_eur_num_terminator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_TRUE@am__objects_68 = unictype/pr_bidi_european_digit.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_TRUE@am__objects_69 = unictype/pr_bidi_hebrew_right_to_left.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_TRUE@am__objects_70 = unictype/pr_bidi_left_to_right.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_TRUE@am__objects_71 = unictype/pr_bidi_non_spacing_mark.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_TRUE@am__objects_72 = unictype/pr_bidi_other_neutral.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF_TRUE@am__objects_73 = unictype/pr_bidi_pdf.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_TRUE@am__objects_74 = unictype/pr_bidi_segment_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE_TRUE@am__objects_75 = unictype/pr_bidi_whitespace.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME_TRUE@am__objects_76 = unictype/pr_byname.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASE_IGNORABLE_TRUE@am__objects_77 = unictype/pr_case_ignorable.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CASED_TRUE@am__objects_78 = unictype/pr_cased.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_TRUE@am__objects_79 = unictype/pr_changes_when_casefolded.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_TRUE@am__objects_80 = unictype/pr_changes_when_casemapped.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_TRUE@am__objects_81 = unictype/pr_changes_when_lowercased.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_TRUE@am__objects_82 = unictype/pr_changes_when_titlecased.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_TRUE@am__objects_83 = unictype/pr_changes_when_uppercased.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING_TRUE@am__objects_84 = unictype/pr_combining.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE_TRUE@am__objects_85 = unictype/pr_composite.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_TRUE@am__objects_86 = unictype/pr_currency_symbol.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH_TRUE@am__objects_87 = unictype/pr_dash.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT_TRUE@am__objects_88 = unictype/pr_decimal_digit.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_89 = unictype/pr_default_ignorable_code_point.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED_TRUE@am__objects_90 = unictype/pr_deprecated.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC_TRUE@am__objects_91 = unictype/pr_diacritic.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER_TRUE@am__objects_92 = unictype/pr_extender.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL_TRUE@am__objects_93 = unictype/pr_format_control.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE_TRUE@am__objects_94 = unictype/pr_grapheme_base.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_TRUE@am__objects_95 = unictype/pr_grapheme_extend.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK_TRUE@am__objects_96 = unictype/pr_grapheme_link.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT_TRUE@am__objects_97 = unictype/pr_hex_digit.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN_TRUE@am__objects_98 = unictype/pr_hyphen.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE_TRUE@am__objects_99 = unictype/pr_id_continue.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START_TRUE@am__objects_100 = unictype/pr_id_start.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC_TRUE@am__objects_101 = unictype/pr_ideographic.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_TRUE@am__objects_102 = unictype/pr_ids_binary_operator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_TRUE@am__objects_103 = unictype/pr_ids_trinary_operator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_TRUE@am__objects_104 = unictype/pr_ignorable_control.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL_TRUE@am__objects_105 = unictype/pr_iso_control.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL_TRUE@am__objects_106 = unictype/pr_join_control.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR_TRUE@am__objects_107 = unictype/pr_left_of_pair.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR_TRUE@am__objects_108 = unictype/pr_line_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_TRUE@am__objects_109 = unictype/pr_logical_order_exception.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE_TRUE@am__objects_110 = unictype/pr_lowercase.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH_TRUE@am__objects_111 = unictype/pr_math.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK_TRUE@am__objects_112 = unictype/pr_non_break.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER_TRUE@am__objects_113 = unictype/pr_not_a_character.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC_TRUE@am__objects_114 = unictype/pr_numeric.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_TRUE@am__objects_115 = unictype/pr_other_alphabetic.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_TRUE@am__objects_116 = unictype/pr_other_default_ignorable_code_point.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_TRUE@am__objects_117 = unictype/pr_other_grapheme_extend.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_TRUE@am__objects_118 = unictype/pr_other_id_continue.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START_TRUE@am__objects_119 = unictype/pr_other_id_start.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE_TRUE@am__objects_120 = unictype/pr_other_lowercase.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH_TRUE@am__objects_121 = unictype/pr_other_math.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE_TRUE@am__objects_122 = unictype/pr_other_uppercase.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_TRUE@am__objects_123 = unictype/pr_paired_punctuation.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_TRUE@am__objects_124 = unictype/pr_paragraph_separator.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX_TRUE@am__objects_125 = unictype/pr_pattern_syntax.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_TRUE@am__objects_126 = unictype/pr_pattern_white_space.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE_TRUE@am__objects_127 = unictype/pr_private_use.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION_TRUE@am__objects_128 = unictype/pr_punctuation.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK_TRUE@am__objects_129 = unictype/pr_quotation_mark.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL_TRUE@am__objects_130 = unictype/pr_radical.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_TRUE@am__objects_131 = unictype/pr_sentence_terminal.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED_TRUE@am__objects_132 = unictype/pr_soft_dotted.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE_TRUE@am__objects_133 = unictype/pr_space.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_TRUE@am__objects_134 = unictype/pr_terminal_punctuation.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST_TRUE@am__objects_135 = unictype/pr_test.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE_TRUE@am__objects_136 = unictype/pr_titlecase.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_TRUE@am__objects_137 = unictype/pr_unassigned_code_value.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_TRUE@am__objects_138 = unictype/pr_unified_ideograph.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE_TRUE@am__objects_139 = unictype/pr_uppercase.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR_TRUE@am__objects_140 = unictype/pr_variation_selector.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE_TRUE@am__objects_141 = unictype/pr_white_space.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE_TRUE@am__objects_142 = unictype/pr_xid_continue.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START_TRUE@am__objects_143 = unictype/pr_xid_start.lo +@LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH_TRUE@am__objects_144 = unictype/pr_zero_width.lo +@LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS_TRUE@am__objects_145 = unictype/scripts.lo +@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@am__objects_146 = \ +@LIBUNISTRING_COMPILE_UNINAME_UNINAME_TRUE@ uniname/uniname.lo +@LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION_TRUE@am__objects_147 = uninorm/canonical-decomposition.lo +@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@am__objects_148 = \ +@LIBUNISTRING_COMPILE_UNINORM_NFD_TRUE@ uninorm/nfd.lo +@LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE_TRUE@am__objects_149 = uninorm/u32-normalize.lo +@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@am__objects_150 = \ +@LIBUNISTRING_COMPILE_UNISTR_U32_CPY_TRUE@ unistr/u32-cpy.lo +@LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE_TRUE@am__objects_151 = unistr/u32-mbtouc-unsafe.lo +@LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8_TRUE@am__objects_152 = unistr/u32-to-u8.lo +@LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB_TRUE@am__objects_153 = unistr/u32-uctomb.lo +@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_154 = unistr/u8-mbtoucr.lo +@LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN_TRUE@am__objects_155 = unistr/u8-strmblen.lo +@LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32_TRUE@am__objects_156 = unistr/u8-to-u32.lo +@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_157 = unistr/u8-uctomb.lo \ +@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/u8-uctomb-aux.lo +@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_158 = \ +@LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@ uniwidth/width.lo +am_libgnu_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) $(am__objects_7) $(am__objects_8) \ + $(am__objects_9) $(am__objects_10) $(am__objects_11) \ + $(am__objects_12) $(am__objects_13) $(am__objects_14) \ + $(am__objects_15) $(am__objects_16) $(am__objects_17) \ + $(am__objects_18) $(am__objects_19) $(am__objects_20) \ + $(am__objects_21) $(am__objects_22) $(am__objects_23) \ + $(am__objects_24) $(am__objects_25) $(am__objects_26) \ + $(am__objects_27) $(am__objects_28) $(am__objects_29) \ + $(am__objects_30) $(am__objects_31) $(am__objects_32) \ + $(am__objects_33) $(am__objects_34) $(am__objects_35) \ + $(am__objects_36) $(am__objects_37) $(am__objects_38) \ + $(am__objects_39) $(am__objects_40) $(am__objects_41) \ + $(am__objects_42) $(am__objects_43) $(am__objects_44) \ + $(am__objects_45) $(am__objects_46) $(am__objects_47) \ + $(am__objects_48) $(am__objects_49) $(am__objects_50) \ + $(am__objects_51) $(am__objects_52) $(am__objects_53) \ + $(am__objects_54) $(am__objects_55) $(am__objects_56) \ + $(am__objects_57) $(am__objects_58) $(am__objects_59) \ + $(am__objects_60) $(am__objects_61) $(am__objects_62) \ + $(am__objects_63) $(am__objects_64) $(am__objects_65) \ + $(am__objects_66) $(am__objects_67) $(am__objects_68) \ + $(am__objects_69) $(am__objects_70) $(am__objects_71) \ + $(am__objects_72) $(am__objects_73) $(am__objects_74) \ + $(am__objects_75) $(am__objects_76) $(am__objects_77) \ + $(am__objects_78) $(am__objects_79) $(am__objects_80) \ + $(am__objects_81) $(am__objects_82) $(am__objects_83) \ + $(am__objects_84) $(am__objects_85) $(am__objects_86) \ + $(am__objects_87) $(am__objects_88) $(am__objects_89) \ + $(am__objects_90) $(am__objects_91) $(am__objects_92) \ + $(am__objects_93) $(am__objects_94) $(am__objects_95) \ + $(am__objects_96) $(am__objects_97) $(am__objects_98) \ + $(am__objects_99) $(am__objects_100) $(am__objects_101) \ + $(am__objects_102) $(am__objects_103) $(am__objects_104) \ + $(am__objects_105) $(am__objects_106) $(am__objects_107) \ + $(am__objects_108) $(am__objects_109) $(am__objects_110) \ + $(am__objects_111) $(am__objects_112) $(am__objects_113) \ + $(am__objects_114) $(am__objects_115) $(am__objects_116) \ + $(am__objects_117) $(am__objects_118) $(am__objects_119) \ + $(am__objects_120) $(am__objects_121) $(am__objects_122) \ + $(am__objects_123) $(am__objects_124) $(am__objects_125) \ + $(am__objects_126) $(am__objects_127) $(am__objects_128) \ + $(am__objects_129) $(am__objects_130) $(am__objects_131) \ + $(am__objects_132) $(am__objects_133) $(am__objects_134) \ + $(am__objects_135) $(am__objects_136) $(am__objects_137) \ + $(am__objects_138) $(am__objects_139) $(am__objects_140) \ + $(am__objects_141) $(am__objects_142) $(am__objects_143) \ + $(am__objects_144) $(am__objects_145) $(am__objects_146) \ + $(am__objects_147) uninorm/decompose-internal.lo \ + uninorm/decomposition-table.lo $(am__objects_148) \ + $(am__objects_149) $(am__objects_150) $(am__objects_151) \ + $(am__objects_152) $(am__objects_153) $(am__objects_154) \ + $(am__objects_155) $(am__objects_156) $(am__objects_157) \ + $(am__objects_158) +libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES) +DIST_SOURCES = $(am__libgnu_la_SOURCES_DIST) \ + $(EXTRA_libgnu_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects +SUBDIRS = +noinst_HEADERS = +noinst_LIBRARIES = +noinst_LTLIBRARIES = libgnu.la +EXTRA_DIST = array-mergesort.h $(top_srcdir)/./config.rpath \ + libunistring.valgrind limits.in.h unused-parameter.h \ + stdbool.in.h stdint.in.h streq.h sys_types.in.h unicase.in.h \ + unicase/simple-mapping.h unicase/tolower.h \ + unicase/simple-mapping.h unicase/totitle.h \ + unicase/simple-mapping.h unicase/toupper.h unictype.in.h \ + unictype/bidi_of.h unictype/blocks.h unictype/categ_C.h \ + unictype/categ_Cc.h unictype/categ_Cf.h unictype/categ_Cn.h \ + unictype/categ_Co.h unictype/categ_Cs.h unictype/categ_L.h \ + unictype/categ_LC.h unictype/categ_Ll.h unictype/categ_Lm.h \ + unictype/categ_Lo.h unictype/categ_Lt.h unictype/categ_Lu.h \ + unictype/categ_M.h unictype/categ_Mc.h unictype/categ_Me.h \ + unictype/categ_Mn.h unictype/categ_N.h unictype/categ_Nd.h \ + unictype/categ_Nl.h unictype/categ_No.h unictype/categ_P.h \ + unictype/categ_Pc.h unictype/categ_Pd.h unictype/categ_Pe.h \ + unictype/categ_Pf.h unictype/categ_Pi.h unictype/categ_Po.h \ + unictype/categ_Ps.h unictype/categ_S.h unictype/categ_Sc.h \ + unictype/categ_Sk.h unictype/categ_Sm.h unictype/categ_So.h \ + unictype/categ_Z.h unictype/categ_Zl.h unictype/categ_Zp.h \ + unictype/categ_Zs.h unictype/categ_byname.h \ + unictype/categ_byname.gperf unictype/categ_of.h \ + unictype/bitmap.h unictype/combiningclass.h unictype/bitmap.h \ + unictype/ctype_print.h unictype/mirror.h unictype/bitmap.h \ + unictype/pr_alphabetic.h unictype/bitmap.h \ + unictype/pr_ascii_hex_digit.h unictype/bitmap.h \ + unictype/pr_bidi_arabic_digit.h unictype/bitmap.h \ + unictype/pr_bidi_arabic_right_to_left.h unictype/bitmap.h \ + unictype/pr_bidi_block_separator.h unictype/bitmap.h \ + unictype/pr_bidi_boundary_neutral.h unictype/bitmap.h \ + unictype/pr_bidi_common_separator.h unictype/bitmap.h \ + unictype/pr_bidi_control.h unictype/bitmap.h \ + unictype/pr_bidi_embedding_or_override.h unictype/bitmap.h \ + unictype/pr_bidi_eur_num_separator.h unictype/bitmap.h \ + unictype/pr_bidi_eur_num_terminator.h unictype/bitmap.h \ + unictype/pr_bidi_european_digit.h unictype/bitmap.h \ + unictype/pr_bidi_hebrew_right_to_left.h unictype/bitmap.h \ + unictype/pr_bidi_left_to_right.h unictype/bitmap.h \ + unictype/pr_bidi_non_spacing_mark.h unictype/bitmap.h \ + unictype/pr_bidi_other_neutral.h unictype/bitmap.h \ + unictype/pr_bidi_pdf.h unictype/bitmap.h \ + unictype/pr_bidi_segment_separator.h unictype/bitmap.h \ + unictype/pr_bidi_whitespace.h unictype/pr_byname.h \ + unictype/pr_byname.gperf unictype/bitmap.h \ + unictype/pr_case_ignorable.h unictype/bitmap.h \ + unictype/pr_cased.h unictype/bitmap.h \ + unictype/pr_changes_when_casefolded.h unictype/bitmap.h \ + unictype/pr_changes_when_casemapped.h unictype/bitmap.h \ + unictype/pr_changes_when_lowercased.h unictype/bitmap.h \ + unictype/pr_changes_when_titlecased.h unictype/bitmap.h \ + unictype/pr_changes_when_uppercased.h unictype/bitmap.h \ + unictype/pr_combining.h unictype/bitmap.h \ + unictype/pr_composite.h unictype/bitmap.h \ + unictype/pr_currency_symbol.h unictype/bitmap.h \ + unictype/pr_dash.h unictype/bitmap.h \ + unictype/pr_decimal_digit.h unictype/bitmap.h \ + unictype/pr_default_ignorable_code_point.h unictype/bitmap.h \ + unictype/pr_deprecated.h unictype/bitmap.h \ + unictype/pr_diacritic.h unictype/bitmap.h \ + unictype/pr_extender.h unictype/bitmap.h \ + unictype/pr_format_control.h unictype/bitmap.h \ + unictype/pr_grapheme_base.h unictype/bitmap.h \ + unictype/pr_grapheme_extend.h unictype/bitmap.h \ + unictype/pr_grapheme_link.h unictype/bitmap.h \ + unictype/pr_hex_digit.h unictype/bitmap.h unictype/pr_hyphen.h \ + unictype/bitmap.h unictype/pr_id_continue.h unictype/bitmap.h \ + unictype/pr_id_start.h unictype/bitmap.h \ + unictype/pr_ideographic.h unictype/bitmap.h \ + unictype/pr_ids_binary_operator.h unictype/bitmap.h \ + unictype/pr_ids_trinary_operator.h unictype/bitmap.h \ + unictype/pr_ignorable_control.h unictype/bitmap.h \ + unictype/pr_iso_control.h unictype/bitmap.h \ + unictype/pr_join_control.h unictype/bitmap.h \ + unictype/pr_left_of_pair.h unictype/bitmap.h \ + unictype/pr_line_separator.h unictype/bitmap.h \ + unictype/pr_logical_order_exception.h unictype/bitmap.h \ + unictype/pr_lowercase.h unictype/bitmap.h unictype/pr_math.h \ + unictype/bitmap.h unictype/pr_non_break.h unictype/bitmap.h \ + unictype/pr_not_a_character.h unictype/bitmap.h \ + unictype/pr_numeric.h unictype/bitmap.h \ + unictype/pr_other_alphabetic.h unictype/bitmap.h \ + unictype/pr_other_default_ignorable_code_point.h \ + unictype/bitmap.h unictype/pr_other_grapheme_extend.h \ + unictype/bitmap.h unictype/pr_other_id_continue.h \ + unictype/bitmap.h unictype/pr_other_id_start.h \ + unictype/bitmap.h unictype/pr_other_lowercase.h \ + unictype/bitmap.h unictype/pr_other_math.h unictype/bitmap.h \ + unictype/pr_other_uppercase.h unictype/bitmap.h \ + unictype/pr_paired_punctuation.h unictype/bitmap.h \ + unictype/pr_paragraph_separator.h unictype/bitmap.h \ + unictype/pr_pattern_syntax.h unictype/bitmap.h \ + unictype/pr_pattern_white_space.h unictype/bitmap.h \ + unictype/pr_private_use.h unictype/bitmap.h \ + unictype/pr_punctuation.h unictype/bitmap.h \ + unictype/pr_quotation_mark.h unictype/bitmap.h \ + unictype/pr_radical.h unictype/bitmap.h \ + unictype/pr_sentence_terminal.h unictype/bitmap.h \ + unictype/pr_soft_dotted.h unictype/bitmap.h \ + unictype/pr_space.h unictype/bitmap.h \ + unictype/pr_terminal_punctuation.h unictype/bitmap.h \ + unictype/pr_titlecase.h unictype/bitmap.h \ + unictype/pr_unassigned_code_value.h unictype/bitmap.h \ + unictype/pr_unified_ideograph.h unictype/bitmap.h \ + unictype/pr_uppercase.h unictype/bitmap.h \ + unictype/pr_variation_selector.h unictype/bitmap.h \ + unictype/pr_white_space.h unictype/bitmap.h \ + unictype/pr_xid_continue.h unictype/bitmap.h \ + unictype/pr_xid_start.h unictype/bitmap.h \ + unictype/pr_zero_width.h unictype/scripts_byname.h \ + unictype/scripts.h unictype/scripts_byname.gperf uniname.in.h \ + uniname/gen-uninames.lisp uniname/uninames.h uninorm.in.h \ + uninorm/decompose-internal.h uninorm/decomposition-table.h \ + uninorm/decomposition-table1.h uninorm/decomposition-table2.h \ + uninorm/normalize-internal.h uninorm/normalize-internal.h \ + uninorm/u-normalize-internal.h unistr.in.h unistr/u-cpy.h \ + unitypes.in.h localcharset.h uniwidth.in.h uniwidth/cjk.h +BUILT_SOURCES = $(LIMITS_H) $(STDBOOL_H) $(STDINT_H) sys/types.h \ + $(LIBUNISTRING_UNICASE_H) $(LIBUNISTRING_UNICTYPE_H) \ + unictype/categ_byname.h unictype/pr_byname.h \ + unictype/scripts_byname.h $(LIBUNISTRING_UNINAME_H) \ + $(LIBUNISTRING_UNINORM_H) $(LIBUNISTRING_UNISTR_H) \ + $(LIBUNISTRING_UNITYPES_H) $(LIBUNISTRING_UNIWIDTH_H) +SUFFIXES = +MOSTLYCLEANFILES = core *.stackdump limits.h limits.h-t stdbool.h \ + stdbool.h-t stdint.h stdint.h-t sys/types.h sys/types.h-t \ + unicase.h unicase.h-t unictype.h unictype.h-t \ + unictype/categ_byname.h-t unictype/pr_byname.h-t \ + unictype/scripts_byname.h-t uniname.h uniname.h-t uninorm.h \ + uninorm.h-t unistr.h unistr.h-t unitypes.h unitypes.h-t \ + uniwidth.h uniwidth.h-t +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = unictype/categ_byname.h unictype/pr_byname.h \ + unictype/scripts_byname.h +# No GNU Make output. +AM_CPPFLAGS = +AM_CFLAGS = +libgnu_la_SOURCES = $(am__append_1) $(am__append_2) $(am__append_3) \ + $(am__append_4) $(am__append_5) $(am__append_6) \ + $(am__append_7) $(am__append_8) $(am__append_9) \ + $(am__append_10) $(am__append_11) $(am__append_12) \ + $(am__append_13) $(am__append_14) $(am__append_15) \ + $(am__append_16) $(am__append_17) $(am__append_18) \ + $(am__append_19) $(am__append_20) $(am__append_21) \ + $(am__append_22) $(am__append_23) $(am__append_24) \ + $(am__append_25) $(am__append_26) $(am__append_27) \ + $(am__append_28) $(am__append_29) $(am__append_30) \ + $(am__append_31) $(am__append_32) $(am__append_33) \ + $(am__append_34) $(am__append_35) $(am__append_36) \ + $(am__append_37) $(am__append_38) $(am__append_39) \ + $(am__append_40) $(am__append_41) $(am__append_42) \ + $(am__append_43) $(am__append_44) $(am__append_45) \ + $(am__append_46) $(am__append_47) $(am__append_48) \ + $(am__append_49) $(am__append_50) $(am__append_51) \ + $(am__append_52) $(am__append_53) $(am__append_54) \ + $(am__append_55) $(am__append_56) $(am__append_57) \ + $(am__append_58) $(am__append_59) $(am__append_60) \ + $(am__append_61) $(am__append_62) $(am__append_63) \ + $(am__append_64) $(am__append_65) $(am__append_66) \ + $(am__append_67) $(am__append_68) $(am__append_69) \ + $(am__append_70) $(am__append_71) $(am__append_72) \ + $(am__append_73) $(am__append_74) $(am__append_75) \ + $(am__append_76) $(am__append_77) $(am__append_78) \ + $(am__append_79) $(am__append_80) $(am__append_81) \ + $(am__append_82) $(am__append_83) $(am__append_84) \ + $(am__append_85) $(am__append_86) $(am__append_87) \ + $(am__append_88) $(am__append_89) $(am__append_90) \ + $(am__append_91) $(am__append_92) $(am__append_93) \ + $(am__append_94) $(am__append_95) $(am__append_96) \ + $(am__append_97) $(am__append_98) $(am__append_99) \ + $(am__append_100) $(am__append_101) $(am__append_102) \ + $(am__append_103) $(am__append_104) $(am__append_105) \ + $(am__append_106) $(am__append_107) $(am__append_108) \ + $(am__append_109) $(am__append_110) $(am__append_111) \ + $(am__append_112) $(am__append_113) $(am__append_114) \ + $(am__append_115) $(am__append_116) $(am__append_117) \ + $(am__append_118) $(am__append_119) $(am__append_120) \ + $(am__append_121) $(am__append_122) $(am__append_123) \ + $(am__append_124) $(am__append_125) $(am__append_126) \ + $(am__append_127) $(am__append_128) $(am__append_129) \ + $(am__append_130) $(am__append_131) $(am__append_132) \ + $(am__append_133) $(am__append_134) $(am__append_135) \ + $(am__append_136) $(am__append_137) $(am__append_138) \ + $(am__append_139) $(am__append_140) $(am__append_141) \ + $(am__append_142) $(am__append_143) $(am__append_144) \ + $(am__append_145) $(am__append_146) $(am__append_147) \ + uninorm/decompose-internal.c uninorm/decomposition-table.c \ + $(am__append_148) $(am__append_149) $(am__append_150) \ + $(am__append_151) $(am__append_152) $(am__append_153) \ + $(am__append_154) $(am__append_155) $(am__append_156) \ + $(am__append_157) $(am__append_158) +libgnu_la_LIBADD = $(gl_LTLIBOBJS) +libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS) +EXTRA_libgnu_la_SOURCES = +libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBICONV) \ + $(LTLIBUNISTRING) + +# Use this preprocessor expression to decide whether #include_next works. +# Do not rely on a 'configure'-time test for this, since the expression +# might appear in an installed header, which is used by some other compiler. +HAVE_INCLUDE_NEXT = (__GNUC__ || 60000000 <= __DECC_VER) +GPERF = gperf +V_GPERF = $(V_GPERF_@AM_V@) +V_GPERF_ = $(V_GPERF_@AM_DEFAULT_V@) +V_GPERF_0 = @echo " GPERF " $@; + +# Because this Makefile snippet defines a variable used by other +# gnulib Makefile snippets, it must be present in all makefiles that +# need it. This is ensured by the applicability 'all' defined above. +UNUSED_PARAMETER_H = $(srcdir)/unused-parameter.h +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits gllib/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits gllib/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +unicase/$(am__dirstamp): + @$(MKDIR_P) unicase + @: > unicase/$(am__dirstamp) +unicase/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unicase/$(DEPDIR) + @: > unicase/$(DEPDIR)/$(am__dirstamp) +unicase/tolower.lo: unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +unicase/totitle.lo: unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +unicase/toupper.lo: unicase/$(am__dirstamp) \ + unicase/$(DEPDIR)/$(am__dirstamp) +unictype/$(am__dirstamp): + @$(MKDIR_P) unictype + @: > unictype/$(am__dirstamp) +unictype/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unictype/$(DEPDIR) + @: > unictype/$(DEPDIR)/$(am__dirstamp) +unictype/bidi_of.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/blocks.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/block_test.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_C.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Cc.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Cf.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Cn.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Co.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Cs.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_L.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_LC.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Ll.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Lm.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Lo.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Lt.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Lu.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_M.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Mc.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Me.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Mn.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_N.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Nd.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Nl.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_No.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_P.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Pc.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Pd.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Pe.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Pf.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Pi.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Po.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Ps.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_S.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Sc.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Sk.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Sm.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_So.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Z.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Zl.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Zp.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_Zs.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_and.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_and_not.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_byname.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_longname.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_name.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_none.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_of.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_or.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/categ_test.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/combiningclass.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/ctype_print.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/mirror.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_alphabetic.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_ascii_hex_digit.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_arabic_digit.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_arabic_right_to_left.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_block_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_boundary_neutral.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_common_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_control.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_embedding_or_override.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_eur_num_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_eur_num_terminator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_european_digit.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_hebrew_right_to_left.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_left_to_right.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_non_spacing_mark.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_other_neutral.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_pdf.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_segment_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_bidi_whitespace.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_byname.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_case_ignorable.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_cased.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_changes_when_casefolded.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_changes_when_casemapped.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_changes_when_lowercased.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_changes_when_titlecased.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_changes_when_uppercased.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_combining.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_composite.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_currency_symbol.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_dash.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_decimal_digit.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_default_ignorable_code_point.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_deprecated.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_diacritic.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_extender.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_format_control.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_grapheme_base.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_grapheme_extend.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_grapheme_link.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_hex_digit.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_hyphen.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_id_continue.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_id_start.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_ideographic.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_ids_binary_operator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_ids_trinary_operator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_ignorable_control.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_iso_control.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_join_control.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_left_of_pair.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_line_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_logical_order_exception.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_lowercase.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_math.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_non_break.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_not_a_character.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_numeric.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_alphabetic.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_default_ignorable_code_point.lo: \ + unictype/$(am__dirstamp) unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_grapheme_extend.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_id_continue.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_id_start.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_lowercase.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_math.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_other_uppercase.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_paired_punctuation.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_paragraph_separator.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_pattern_syntax.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_pattern_white_space.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_private_use.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_punctuation.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_quotation_mark.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_radical.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_sentence_terminal.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_soft_dotted.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_space.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_terminal_punctuation.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_test.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_titlecase.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_unassigned_code_value.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_unified_ideograph.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_uppercase.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_variation_selector.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_white_space.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_xid_continue.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_xid_start.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/pr_zero_width.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +unictype/scripts.lo: unictype/$(am__dirstamp) \ + unictype/$(DEPDIR)/$(am__dirstamp) +uniname/$(am__dirstamp): + @$(MKDIR_P) uniname + @: > uniname/$(am__dirstamp) +uniname/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniname/$(DEPDIR) + @: > uniname/$(DEPDIR)/$(am__dirstamp) +uniname/uniname.lo: uniname/$(am__dirstamp) \ + uniname/$(DEPDIR)/$(am__dirstamp) +uninorm/$(am__dirstamp): + @$(MKDIR_P) uninorm + @: > uninorm/$(am__dirstamp) +uninorm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uninorm/$(DEPDIR) + @: > uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/canonical-decomposition.lo: uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/decompose-internal.lo: uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/decomposition-table.lo: uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/nfd.lo: uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +uninorm/u32-normalize.lo: uninorm/$(am__dirstamp) \ + uninorm/$(DEPDIR)/$(am__dirstamp) +unistr/$(am__dirstamp): + @$(MKDIR_P) unistr + @: > unistr/$(am__dirstamp) +unistr/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) unistr/$(DEPDIR) + @: > unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u32-cpy.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u32-mbtouc-unsafe.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u32-to-u8.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u32-uctomb.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u8-mbtoucr.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u8-strmblen.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u8-to-u32.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u8-uctomb.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +unistr/u8-uctomb-aux.lo: unistr/$(am__dirstamp) \ + unistr/$(DEPDIR)/$(am__dirstamp) +uniwidth/$(am__dirstamp): + @$(MKDIR_P) uniwidth + @: > uniwidth/$(am__dirstamp) +uniwidth/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) uniwidth/$(DEPDIR) + @: > uniwidth/$(DEPDIR)/$(am__dirstamp) +uniwidth/width.lo: uniwidth/$(am__dirstamp) \ + uniwidth/$(DEPDIR)/$(am__dirstamp) + +libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES) $(EXTRA_libgnu_la_DEPENDENCIES) + $(AM_V_CCLD)$(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f unicase/*.$(OBJEXT) + -rm -f unicase/*.lo + -rm -f unictype/*.$(OBJEXT) + -rm -f unictype/*.lo + -rm -f uniname/*.$(OBJEXT) + -rm -f uniname/*.lo + -rm -f uninorm/*.$(OBJEXT) + -rm -f uninorm/*.lo + -rm -f unistr/*.$(OBJEXT) + -rm -f unistr/*.lo + -rm -f uniwidth/*.$(OBJEXT) + -rm -f uniwidth/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/tolower.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/totitle.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unicase/$(DEPDIR)/toupper.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/bidi_of.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/block_test.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/blocks.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_C.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Cc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Cf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Cn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Co.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Cs.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_L.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_LC.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Ll.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Lm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Lo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Lt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Lu.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_M.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Mc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Me.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Mn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_N.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Nd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Nl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_No.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_P.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Pc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Pd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Pe.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Pf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Pi.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Po.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Ps.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_S.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Sc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Sk.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Sm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_So.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Z.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Zl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Zp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_Zs.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_and.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_and_not.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_byname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_longname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_name.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_none.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_of.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_or.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/categ_test.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/combiningclass.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/ctype_print.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/mirror.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_alphabetic.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_ascii_hex_digit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_arabic_digit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_arabic_right_to_left.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_block_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_boundary_neutral.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_common_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_control.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_embedding_or_override.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_eur_num_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_eur_num_terminator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_european_digit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_hebrew_right_to_left.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_left_to_right.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_non_spacing_mark.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_other_neutral.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_pdf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_segment_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_bidi_whitespace.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_byname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_case_ignorable.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_cased.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_changes_when_casefolded.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_changes_when_casemapped.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_changes_when_lowercased.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_changes_when_titlecased.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_changes_when_uppercased.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_combining.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_composite.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_currency_symbol.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_dash.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_decimal_digit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_default_ignorable_code_point.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_deprecated.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_diacritic.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_extender.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_format_control.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_grapheme_base.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_grapheme_extend.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_grapheme_link.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_hex_digit.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_hyphen.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_id_continue.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_id_start.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_ideographic.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_ids_binary_operator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_ids_trinary_operator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_ignorable_control.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_iso_control.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_join_control.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_left_of_pair.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_line_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_logical_order_exception.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_lowercase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_math.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_non_break.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_not_a_character.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_numeric.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_alphabetic.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_default_ignorable_code_point.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_grapheme_extend.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_id_continue.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_id_start.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_lowercase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_math.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_other_uppercase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_paired_punctuation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_paragraph_separator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_pattern_syntax.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_pattern_white_space.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_private_use.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_punctuation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_quotation_mark.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_radical.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_sentence_terminal.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_soft_dotted.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_space.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_terminal_punctuation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_test.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_titlecase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_unassigned_code_value.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_unified_ideograph.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_uppercase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_variation_selector.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_white_space.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_xid_continue.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_xid_start.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/pr_zero_width.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unictype/$(DEPDIR)/scripts.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniname/$(DEPDIR)/uniname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/canonical-decomposition.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/decompose-internal.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/decomposition-table.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/nfd.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uninorm/$(DEPDIR)/u32-normalize.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u32-cpy.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u32-mbtouc-unsafe.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u32-to-u8.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u32-uctomb.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-mbtoucr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-strmblen.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-to-u32.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb-aux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/width.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf unicase/.libs unicase/_libs + -rm -rf unictype/.libs unictype/_libs + -rm -rf uniname/.libs uniname/_libs + -rm -rf uninorm/.libs uninorm/_libs + -rm -rf unistr/.libs unistr/_libs + -rm -rf uniwidth/.libs uniwidth/_libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f unicase/$(DEPDIR)/$(am__dirstamp) + -rm -f unicase/$(am__dirstamp) + -rm -f unictype/$(DEPDIR)/$(am__dirstamp) + -rm -f unictype/$(am__dirstamp) + -rm -f uniname/$(DEPDIR)/$(am__dirstamp) + -rm -f uniname/$(am__dirstamp) + -rm -f uninorm/$(DEPDIR)/$(am__dirstamp) + -rm -f uninorm/$(am__dirstamp) + -rm -f unistr/$(DEPDIR)/$(am__dirstamp) + -rm -f unistr/$(am__dirstamp) + -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp) + -rm -f uniwidth/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ + clean-noinstLTLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -rf unicase/$(DEPDIR) unictype/$(DEPDIR) uniname/$(DEPDIR) uninorm/$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf unicase/$(DEPDIR) unictype/$(DEPDIR) uniname/$(DEPDIR) uninorm/$(DEPDIR) unistr/$(DEPDIR) uniwidth/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) all check install install-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool \ + clean-noinstLIBRARIES clean-noinstLTLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# We need the following in order to create when the system +# doesn't have one that is compatible with GNU. +@GL_GENERATE_LIMITS_H_TRUE@limits.h: limits.in.h $(top_builddir)/config.status +@GL_GENERATE_LIMITS_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_LIMITS_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ +@GL_GENERATE_LIMITS_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ +@GL_GENERATE_LIMITS_H_TRUE@ < $(srcdir)/limits.in.h; \ +@GL_GENERATE_LIMITS_H_TRUE@ } > $@-t && \ +@GL_GENERATE_LIMITS_H_TRUE@ mv $@-t $@ +@GL_GENERATE_LIMITS_H_FALSE@limits.h: $(top_builddir)/config.status +@GL_GENERATE_LIMITS_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works. +@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status +@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ +@GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status +@GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status +@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ +@GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ +@GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \ +@GL_GENERATE_STDINT_H_TRUE@ < $(srcdir)/stdint.in.h; \ +@GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \ +@GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@ +@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status +@GL_GENERATE_STDINT_H_FALSE@ rm -f $@ + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +sys/types.h: sys_types.in.h $(top_builddir)/config.status + $(AM_V_at)$(MKDIR_P) sys + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ + -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ + -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ + < $(srcdir)/sys_types.in.h; \ + } > $@-t && \ + mv $@-t $@ + +unicase.h: unicase.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unicase.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +unictype.h: unictype.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unictype.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +$(srcdir)/unictype/categ_byname.h: $(srcdir)/unictype/categ_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/categ_byname.gperf > $(srcdir)/unictype/categ_byname.h-t && \ + mv $(srcdir)/unictype/categ_byname.h-t $(srcdir)/unictype/categ_byname.h + +$(srcdir)/unictype/pr_byname.h: $(srcdir)/unictype/pr_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/pr_byname.gperf > $(srcdir)/unictype/pr_byname.h-t && \ + mv $(srcdir)/unictype/pr_byname.h-t $(srcdir)/unictype/pr_byname.h + +$(srcdir)/unictype/scripts_byname.h: $(srcdir)/unictype/scripts_byname.gperf + $(V_GPERF)$(GPERF) -m 10 $(srcdir)/unictype/scripts_byname.gperf > $(srcdir)/unictype/scripts_byname.h-t && \ + mv $(srcdir)/unictype/scripts_byname.h-t $(srcdir)/unictype/scripts_byname.h + +uniname.h: uniname.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniname.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +uninorm.h: uninorm.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uninorm.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +unistr.h: unistr.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unistr.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +unitypes.h: unitypes.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/unitypes.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +uniwidth.h: uniwidth.in.h + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + cat $(srcdir)/uniwidth.in.h; \ + } > $@-t && \ + mv -f $@-t $@ + +mostlyclean-local: mostlyclean-generic + @for dir in '' $(MOSTLYCLEANDIRS); do \ + if test -n "$$dir" && test -d $$dir; then \ + echo "rmdir $$dir"; rmdir $$dir; \ + fi; \ + done; \ + : + +# 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/gllib/array-mergesort.h b/gllib/array-mergesort.h new file mode 100644 index 0000000..326042c --- /dev/null +++ b/gllib/array-mergesort.h @@ -0,0 +1,274 @@ +/* Stable-sorting of an array using mergesort. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* This file implements stable sorting of an array, using the mergesort + algorithm. + Worst-case running time for an array of length N is O(N log N). + Unlike the mpsort module, the algorithm here attempts to minimize not + only the number of comparisons, but also the number of copying operations. + + Before including this file, you need to define + ELEMENT The type of every array element. + COMPARE A two-argument macro that takes two 'const ELEMENT *' + pointers and returns a negative, zero, or positive 'int' + value if the element pointed to by the first argument is, + respectively, less, equal, or greater than the element + pointed to by the second argument. + STATIC The storage class of the functions being defined. + Before including this file, you also need to include: + #include + */ + +/* Merge the sorted arrays src1[0..n1-1] and src2[0..n2-1] into + dst[0..n1+n2-1]. In case of ambiguity, put the elements of src1 + before the elements of src2. + n1 and n2 must be > 0. + The arrays src1 and src2 must not overlap the dst array, except that + src1 may be dst[n2..n1+n2-1], or src2 may be dst[n1..n1+n2-1]. */ +static void +merge (const ELEMENT *src1, size_t n1, + const ELEMENT *src2, size_t n2, + ELEMENT *dst) +{ + for (;;) /* while (n1 > 0 && n2 > 0) */ + { + if (COMPARE (src1, src2) <= 0) + { + *dst++ = *src1++; + n1--; + if (n1 == 0) + break; + } + else + { + *dst++ = *src2++; + n2--; + if (n2 == 0) + break; + } + } + /* Here n1 == 0 || n2 == 0 but also n1 > 0 || n2 > 0. */ + if (n1 > 0) + { + if (dst != src1) + do + { + *dst++ = *src1++; + n1--; + } + while (n1 > 0); + } + else /* n2 > 0 */ + { + if (dst != src2) + do + { + *dst++ = *src2++; + n2--; + } + while (n2 > 0); + } +} + +/* Sort src[0..n-1] into dst[0..n-1], using tmp[0..n/2-1] as temporary + (scratch) storage. + The arrays src, dst, tmp must not overlap. */ +STATIC void +merge_sort_fromto (const ELEMENT *src, ELEMENT *dst, size_t n, ELEMENT *tmp) +{ + switch (n) + { + case 0: + return; + case 1: + /* Nothing to do. */ + dst[0] = src[0]; + return; + case 2: + /* Trivial case. */ + if (COMPARE (&src[0], &src[1]) <= 0) + { + /* src[0] <= src[1] */ + dst[0] = src[0]; + dst[1] = src[1]; + } + else + { + dst[0] = src[1]; + dst[1] = src[0]; + } + break; + case 3: + /* Simple case. */ + if (COMPARE (&src[0], &src[1]) <= 0) + { + if (COMPARE (&src[1], &src[2]) <= 0) + { + /* src[0] <= src[1] <= src[2] */ + dst[0] = src[0]; + dst[1] = src[1]; + dst[2] = src[2]; + } + else if (COMPARE (&src[0], &src[2]) <= 0) + { + /* src[0] <= src[2] < src[1] */ + dst[0] = src[0]; + dst[1] = src[2]; + dst[2] = src[1]; + } + else + { + /* src[2] < src[0] <= src[1] */ + dst[0] = src[2]; + dst[1] = src[0]; + dst[2] = src[1]; + } + } + else + { + if (COMPARE (&src[0], &src[2]) <= 0) + { + /* src[1] < src[0] <= src[2] */ + dst[0] = src[1]; + dst[1] = src[0]; + dst[2] = src[2]; + } + else if (COMPARE (&src[1], &src[2]) <= 0) + { + /* src[1] <= src[2] < src[0] */ + dst[0] = src[1]; + dst[1] = src[2]; + dst[2] = src[0]; + } + else + { + /* src[2] < src[1] < src[0] */ + dst[0] = src[2]; + dst[1] = src[1]; + dst[2] = src[0]; + } + } + break; + default: + { + size_t n1 = n / 2; + size_t n2 = (n + 1) / 2; + /* Note: n1 + n2 = n, n1 <= n2. */ + /* Sort src[n1..n-1] into dst[n1..n-1], scratching tmp[0..n2/2-1]. */ + merge_sort_fromto (src + n1, dst + n1, n2, tmp); + /* Sort src[0..n1-1] into tmp[0..n1-1], scratching dst[0..n1-1]. */ + merge_sort_fromto (src, tmp, n1, dst); + /* Merge the two half results. */ + merge (tmp, n1, dst + n1, n2, dst); + } + break; + } +} + +/* Sort src[0..n-1], using tmp[0..n-1] as temporary (scratch) storage. + The arrays src, tmp must not overlap. */ +STATIC void +merge_sort_inplace (ELEMENT *src, size_t n, ELEMENT *tmp) +{ + switch (n) + { + case 0: + case 1: + /* Nothing to do. */ + return; + case 2: + /* Trivial case. */ + if (COMPARE (&src[0], &src[1]) <= 0) + { + /* src[0] <= src[1] */ + } + else + { + ELEMENT t = src[0]; + src[0] = src[1]; + src[1] = t; + } + break; + case 3: + /* Simple case. */ + if (COMPARE (&src[0], &src[1]) <= 0) + { + if (COMPARE (&src[1], &src[2]) <= 0) + { + /* src[0] <= src[1] <= src[2] */ + } + else if (COMPARE (&src[0], &src[2]) <= 0) + { + /* src[0] <= src[2] < src[1] */ + ELEMENT t = src[1]; + src[1] = src[2]; + src[2] = t; + } + else + { + /* src[2] < src[0] <= src[1] */ + ELEMENT t = src[0]; + src[0] = src[2]; + src[2] = src[1]; + src[1] = t; + } + } + else + { + if (COMPARE (&src[0], &src[2]) <= 0) + { + /* src[1] < src[0] <= src[2] */ + ELEMENT t = src[0]; + src[0] = src[1]; + src[1] = t; + } + else if (COMPARE (&src[1], &src[2]) <= 0) + { + /* src[1] <= src[2] < src[0] */ + ELEMENT t = src[0]; + src[0] = src[1]; + src[1] = src[2]; + src[2] = t; + } + else + { + /* src[2] < src[1] < src[0] */ + ELEMENT t = src[0]; + src[0] = src[2]; + src[2] = t; + } + } + break; + default: + { + size_t n1 = n / 2; + size_t n2 = (n + 1) / 2; + /* Note: n1 + n2 = n, n1 <= n2. */ + /* Sort src[n1..n-1], scratching tmp[0..n2-1]. */ + merge_sort_inplace (src + n1, n2, tmp); + /* Sort src[0..n1-1] into tmp[0..n1-1], scratching tmp[n1..2*n1-1]. */ + merge_sort_fromto (src, tmp, n1, tmp + n1); + /* Merge the two half results. */ + merge (tmp, n1, src + n1, n2, src); + } + break; + } +} + +#undef ELEMENT +#undef COMPARE +#undef STATIC diff --git a/gllib/libunistring.valgrind b/gllib/libunistring.valgrind new file mode 100644 index 0000000..aba265a --- /dev/null +++ b/gllib/libunistring.valgrind @@ -0,0 +1,9 @@ +# Suppress valgrind messages in an installed libunistring. + +# Suppress a valgrind message about use of uninitialized memory in freea(). +# This use is OK because it provides only a speedup. +{ + libunistring_freea + Memcheck:Cond + fun:libunistring_freea +} diff --git a/gllib/limits.in.h b/gllib/limits.in.h new file mode 100644 index 0000000..78dcf31 --- /dev/null +++ b/gllib/limits.in.h @@ -0,0 +1,74 @@ +/* A GNU-like . + + Copyright 2016-2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 3, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef _@GUARD_PREFIX@_LIMITS_H + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +/* The include_next requires a split double-inclusion guard. */ +#@INCLUDE_NEXT@ @NEXT_LIMITS_H@ + +#ifndef _@GUARD_PREFIX@_LIMITS_H +#define _@GUARD_PREFIX@_LIMITS_H + +/* For HP-UX 11.31. */ +#if defined LONG_LONG_MIN && !defined LLONG_MIN +# define LLONG_MIN LONG_LONG_MIN +#endif +#if defined LONG_LONG_MAX && !defined LLONG_MAX +# define LLONG_MAX LONG_LONG_MAX +#endif +#if defined ULONG_LONG_MAX && !defined ULLONG_MAX +# define ULLONG_MAX ULONG_LONG_MAX +#endif + +/* The number of usable bits in an unsigned or signed integer type + with minimum value MIN and maximum value MAX, as an int expression + suitable in #if. Cover all known practical hosts. This + implementation exploits the fact that MAX is 1 less than a power of + 2, and merely counts the number of 1 bits in MAX; "COBn" means + "count the number of 1 bits in the low-order n bits"). */ +#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max)) +#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n)) +#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n)) +#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n)) +#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n)) +#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n)) +#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1)) + +/* Macros specified by ISO/IEC TS 18661-1:2014. */ + +#if (! defined ULLONG_WIDTH \ + && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) +# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX) +# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX) +# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX) +# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX) +# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX) +# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX) +# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX) +# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX) +# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX) +# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX) +# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) +#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ + +#endif /* _@GUARD_PREFIX@_LIMITS_H */ +#endif /* _@GUARD_PREFIX@_LIMITS_H */ diff --git a/gllib/localcharset.h b/gllib/localcharset.h new file mode 100644 index 0000000..bca429b --- /dev/null +++ b/gllib/localcharset.h @@ -0,0 +1,40 @@ +/* Determine a canonical name for the current locale's character encoding. + Copyright (C) 2000-2003, 2009-2017 Free Software Foundation, Inc. + This file is part of the GNU CHARSET Library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, see . */ + +#ifndef _LOCALCHARSET_H +#define _LOCALCHARSET_H + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Determine the current locale's character encoding, and canonicalize it + into one of the canonical names listed in config.charset. + The result must not be freed; it is statically allocated. + If the canonical name cannot be determined, the result is a non-canonical + name. */ +extern const char * locale_charset (void); + + +#ifdef __cplusplus +} +#endif + + +#endif /* _LOCALCHARSET_H */ diff --git a/gllib/stdbool.in.h b/gllib/stdbool.in.h new file mode 100644 index 0000000..a7bc5b0 --- /dev/null +++ b/gllib/stdbool.in.h @@ -0,0 +1,132 @@ +/* Copyright (C) 2001-2003, 2006-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#ifndef _GL_STDBOOL_H +#define _GL_STDBOOL_H + +/* ISO C 99 for platforms that lack it. */ + +/* Usage suggestions: + + Programs that use should be aware of some limitations + and standards compliance issues. + + Standards compliance: + + - must be #included before 'bool', 'false', 'true' + can be used. + + - You cannot assume that sizeof (bool) == 1. + + - Programs should not undefine the macros bool, true, and false, + as C99 lists that as an "obsolescent feature". + + Limitations of this substitute, when used in a C89 environment: + + - must be #included before the '_Bool' type can be used. + + - You cannot assume that _Bool is a typedef; it might be a macro. + + - Bit-fields of type 'bool' are not supported. Portable code + should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. + + - In C99, casts and automatic conversions to '_Bool' or 'bool' are + performed in such a way that every nonzero value gets converted + to 'true', and zero gets converted to 'false'. This doesn't work + with this substitute. With this substitute, only the values 0 and 1 + give the expected result when converted to _Bool' or 'bool'. + + - C99 allows the use of (_Bool)0.0 in constant expressions, but + this substitute cannot always provide this property. + + Also, it is suggested that programs use 'bool' rather than '_Bool'; + this isn't required, but 'bool' is more common. */ + + +/* 7.16. Boolean type and values */ + +/* BeOS already #defines false 0, true 1. We use the same + definitions below, but temporarily we have to #undef them. */ +#if defined __BEOS__ && !defined __HAIKU__ +# include /* defines bool but not _Bool */ +# undef false +# undef true +#endif + +#ifdef __cplusplus +# define _Bool bool +# define bool bool +#else +# if defined __BEOS__ && !defined __HAIKU__ + /* A compiler known to have 'bool'. */ + /* If the compiler already has both 'bool' and '_Bool', we can assume they + are the same types. */ +# if !@HAVE__BOOL@ +typedef bool _Bool; +# endif +# else +# if !defined __GNUC__ + /* If @HAVE__BOOL@: + Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when + the built-in _Bool type is used. See + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html + https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html + Similar bugs are likely with other compilers as well; this file + wouldn't be used if was working. + So we override the _Bool type. + If !@HAVE__BOOL@: + Need to define _Bool ourselves. As 'signed char' or as an enum type? + Use of a typedef, with SunPRO C, leads to a stupid + "warning: _Bool is a keyword in ISO C99". + Use of an enum type, with IRIX cc, leads to a stupid + "warning(1185): enumerated type mixed with another type". + Even the existence of an enum type, without a typedef, + "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. + The only benefit of the enum, debuggability, is not important + with these compilers. So use 'signed char' and no enum. */ +# define _Bool signed char +# else + /* With this compiler, trust the _Bool type if the compiler has it. */ +# if !@HAVE__BOOL@ + /* For the sake of symbolic names in gdb, define true and false as + enum constants, not only as macros. + It is tempting to write + typedef enum { false = 0, true = 1 } _Bool; + so that gdb prints values of type 'bool' symbolically. But then + values of type '_Bool' might promote to 'int' or 'unsigned int' + (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' + (see ISO C 99 6.3.1.1.(2)). So add a negative value to the + enum; this ensures that '_Bool' promotes to 'int'. */ +typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; +# endif +# endif +# endif +# define bool _Bool +#endif + +/* The other macros must be usable in preprocessor directives. */ +#ifdef __cplusplus +# define false false +# define true true +#else +# define false 0 +# define true 1 +#endif + +#define __bool_true_false_are_defined 1 + +#endif /* _GL_STDBOOL_H */ diff --git a/gllib/stdint.in.h b/gllib/stdint.in.h new file mode 100644 index 0000000..df8b37d --- /dev/null +++ b/gllib/stdint.in.h @@ -0,0 +1,726 @@ +/* Copyright (C) 2001-2002, 2004-2017 Free Software Foundation, Inc. + Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. + This file is part of gnulib. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* + * ISO C 99 for platforms that lack it. + * + */ + +#ifndef _@GUARD_PREFIX@_STDINT_H + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +/* When including a system file that in turn includes , + use the system , not our substitute. This avoids + problems with (for example) VMS, whose includes + . */ +#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H + +/* On Android (Bionic libc), includes this file before + having defined 'time_t'. Therefore in this case avoid including + other system header files; just include the system's . + Ideally we should test __BIONIC__ here, but it is only defined after + has been included; hence test __ANDROID__ instead. */ +#if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H +# @INCLUDE_NEXT@ @NEXT_STDINT_H@ +#else + +/* Get those types that are already defined in other system include + files, so that we can "#define int8_t signed char" below without + worrying about a later system include file containing a "typedef + signed char int8_t;" that will get messed up by our macro. Our + macros should all be consistent with the system versions, except + for the "fast" types and macros, which we recommend against using + in public interfaces due to compiler differences. */ + +#if @HAVE_STDINT_H@ +# if defined __sgi && ! defined __c99 + /* Bypass IRIX's if in C89 mode, since it merely annoys users + with "This header file is to be used only for c99 mode compilations" + diagnostics. */ +# define __STDINT_H__ +# endif + + /* Some pre-C++11 implementations need this. */ +# ifdef __cplusplus +# ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS 1 +# endif +# ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS 1 +# endif +# endif + + /* Other systems may have an incomplete or buggy . + Include it before , since any "#include " + in would reinclude us, skipping our contents because + _@GUARD_PREFIX@_STDINT_H is defined. + The include_next requires a split double-inclusion guard. */ +# @INCLUDE_NEXT@ @NEXT_STDINT_H@ +#endif + +#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H +#define _@GUARD_PREFIX@_STDINT_H + +/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, + LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH. */ +#include + +/* Override WINT_MIN and WINT_MAX if gnulib's or overrides + wint_t. */ +#if @GNULIB_OVERRIDES_WINT_T@ +# undef WINT_MIN +# undef WINT_MAX +# define WINT_MIN 0x0U +# define WINT_MAX 0xffffffffU +#endif + +#if ! @HAVE_C99_STDINT_H@ + +/* defines some of the stdint.h types as well, on glibc, + IRIX 6.5, and OpenBSD 3.8 (via ). + AIX 5.2 isn't needed and causes troubles. + Mac OS X 10.4.6 includes (which is us), but + relies on the system definitions, so include + after @NEXT_STDINT_H@. */ +# if @HAVE_SYS_TYPES_H@ && ! defined _AIX +# include +# endif + +# if @HAVE_INTTYPES_H@ + /* In OpenBSD 3.8, includes , which defines + int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. + also defines intptr_t and uintptr_t. */ +# include +# elif @HAVE_SYS_INTTYPES_H@ + /* Solaris 7 has the types except the *_fast*_t types, and + the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ +# include +# endif + +# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__ + /* Linux libc4 >= 4.6.7 and libc5 have a that defines + int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is + included by . */ +# include +# endif + +# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H + +/* Minimum and maximum values for an integer type under the usual assumption. + Return an unspecified value if BITS == 0, adding a check to pacify + picky compilers. */ + +/* These are separate macros, because if you try to merge these macros into + a single one, HP-UX cc rejects the resulting expression in constant + expressions. */ +# define _STDINT_UNSIGNED_MIN(bits, zero) \ + (zero) +# define _STDINT_SIGNED_MIN(bits, zero) \ + (~ _STDINT_MAX (1, bits, zero)) + +# define _STDINT_MAX(signed, bits, zero) \ + (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) + +#if !GNULIB_defined_stdint_types + +/* 7.18.1.1. Exact-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. */ + +# undef int8_t +# undef uint8_t +typedef signed char gl_int8_t; +typedef unsigned char gl_uint8_t; +# define int8_t gl_int8_t +# define uint8_t gl_uint8_t + +# undef int16_t +# undef uint16_t +typedef short int gl_int16_t; +typedef unsigned short int gl_uint16_t; +# define int16_t gl_int16_t +# define uint16_t gl_uint16_t + +# undef int32_t +# undef uint32_t +typedef int gl_int32_t; +typedef unsigned int gl_uint32_t; +# define int32_t gl_int32_t +# define uint32_t gl_uint32_t + +/* If the system defines INT64_MAX, assume int64_t works. That way, + if the underlying platform defines int64_t to be a 64-bit long long + int, the code below won't mistakenly define it to be a 64-bit long + int, which would mess up C++ name mangling. We must use #ifdef + rather than #if, to avoid an error with HP-UX 10.20 cc. */ + +# ifdef INT64_MAX +# define GL_INT64_T +# else +/* Do not undefine int64_t if gnulib is not being used with 64-bit + types, since otherwise it breaks platforms like Tandem/NSK. */ +# if LONG_MAX >> 31 >> 31 == 1 +# undef int64_t +typedef long int gl_int64_t; +# define int64_t gl_int64_t +# define GL_INT64_T +# elif defined _MSC_VER +# undef int64_t +typedef __int64 gl_int64_t; +# define int64_t gl_int64_t +# define GL_INT64_T +# elif @HAVE_LONG_LONG_INT@ +# undef int64_t +typedef long long int gl_int64_t; +# define int64_t gl_int64_t +# define GL_INT64_T +# endif +# endif + +# ifdef UINT64_MAX +# define GL_UINT64_T +# else +# if ULONG_MAX >> 31 >> 31 >> 1 == 1 +# undef uint64_t +typedef unsigned long int gl_uint64_t; +# define uint64_t gl_uint64_t +# define GL_UINT64_T +# elif defined _MSC_VER +# undef uint64_t +typedef unsigned __int64 gl_uint64_t; +# define uint64_t gl_uint64_t +# define GL_UINT64_T +# elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# undef uint64_t +typedef unsigned long long int gl_uint64_t; +# define uint64_t gl_uint64_t +# define GL_UINT64_T +# endif +# endif + +/* Avoid collision with Solaris 2.5.1 etc. */ +# define _UINT8_T +# define _UINT32_T +# define _UINT64_T + + +/* 7.18.1.2. Minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types + are the same as the corresponding N_t types. */ + +# undef int_least8_t +# undef uint_least8_t +# undef int_least16_t +# undef uint_least16_t +# undef int_least32_t +# undef uint_least32_t +# undef int_least64_t +# undef uint_least64_t +# define int_least8_t int8_t +# define uint_least8_t uint8_t +# define int_least16_t int16_t +# define uint_least16_t uint16_t +# define int_least32_t int32_t +# define uint_least32_t uint32_t +# ifdef GL_INT64_T +# define int_least64_t int64_t +# endif +# ifdef GL_UINT64_T +# define uint_least64_t uint64_t +# endif + +/* 7.18.1.3. Fastest minimum-width integer types */ + +/* Note: Other substitutes may define these types differently. + It is not recommended to use these types in public header files. */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types + are taken from the same list of types. The following code normally + uses types consistent with glibc, as that lessens the chance of + incompatibility with older GNU hosts. */ + +# undef int_fast8_t +# undef uint_fast8_t +# undef int_fast16_t +# undef uint_fast16_t +# undef int_fast32_t +# undef uint_fast32_t +# undef int_fast64_t +# undef uint_fast64_t +typedef signed char gl_int_fast8_t; +typedef unsigned char gl_uint_fast8_t; + +# ifdef __sun +/* Define types compatible with SunOS 5.10, so that code compiled under + earlier SunOS versions works with code compiled under SunOS 5.10. */ +typedef int gl_int_fast32_t; +typedef unsigned int gl_uint_fast32_t; +# else +typedef long int gl_int_fast32_t; +typedef unsigned long int gl_uint_fast32_t; +# endif +typedef gl_int_fast32_t gl_int_fast16_t; +typedef gl_uint_fast32_t gl_uint_fast16_t; + +# define int_fast8_t gl_int_fast8_t +# define uint_fast8_t gl_uint_fast8_t +# define int_fast16_t gl_int_fast16_t +# define uint_fast16_t gl_uint_fast16_t +# define int_fast32_t gl_int_fast32_t +# define uint_fast32_t gl_uint_fast32_t +# ifdef GL_INT64_T +# define int_fast64_t int64_t +# endif +# ifdef GL_UINT64_T +# define uint_fast64_t uint64_t +# endif + +/* 7.18.1.4. Integer types capable of holding object pointers */ + +/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own + definitions of intptr_t and uintptr_t (which use int and unsigned) + to avoid clashes with declarations of system functions like sbrk. */ +# ifndef _INTPTR_T_DECLARED +# undef intptr_t +# undef uintptr_t +typedef long int gl_intptr_t; +typedef unsigned long int gl_uintptr_t; +# define intptr_t gl_intptr_t +# define uintptr_t gl_uintptr_t +# endif + +/* 7.18.1.5. Greatest-width integer types */ + +/* Note: These types are compiler dependent. It may be unwise to use them in + public header files. */ + +/* If the system defines INTMAX_MAX, assume that intmax_t works, and + similarly for UINTMAX_MAX and uintmax_t. This avoids problems with + assuming one type where another is used by the system. */ + +# ifndef INTMAX_MAX +# undef INTMAX_C +# undef intmax_t +# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +typedef long long int gl_intmax_t; +# define intmax_t gl_intmax_t +# elif defined GL_INT64_T +# define intmax_t int64_t +# else +typedef long int gl_intmax_t; +# define intmax_t gl_intmax_t +# endif +# endif + +# ifndef UINTMAX_MAX +# undef UINTMAX_C +# undef uintmax_t +# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +typedef unsigned long long int gl_uintmax_t; +# define uintmax_t gl_uintmax_t +# elif defined GL_UINT64_T +# define uintmax_t uint64_t +# else +typedef unsigned long int gl_uintmax_t; +# define uintmax_t gl_uintmax_t +# endif +# endif + +/* Verify that intmax_t and uintmax_t have the same size. Too much code + breaks if this is not the case. If this check fails, the reason is likely + to be found in the autoconf macros. */ +typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) + ? 1 : -1]; + +# define GNULIB_defined_stdint_types 1 +# endif /* !GNULIB_defined_stdint_types */ + +/* 7.18.2. Limits of specified-width integer types */ + +/* 7.18.2.1. Limits of exact-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. */ + +# undef INT8_MIN +# undef INT8_MAX +# undef UINT8_MAX +# define INT8_MIN (~ INT8_MAX) +# define INT8_MAX 127 +# define UINT8_MAX 255 + +# undef INT16_MIN +# undef INT16_MAX +# undef UINT16_MAX +# define INT16_MIN (~ INT16_MAX) +# define INT16_MAX 32767 +# define UINT16_MAX 65535 + +# undef INT32_MIN +# undef INT32_MAX +# undef UINT32_MAX +# define INT32_MIN (~ INT32_MAX) +# define INT32_MAX 2147483647 +# define UINT32_MAX 4294967295U + +# if defined GL_INT64_T && ! defined INT64_MAX +/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 + evaluates the latter incorrectly in preprocessor expressions. */ +# define INT64_MIN (- INTMAX_C (1) << 63) +# define INT64_MAX INTMAX_C (9223372036854775807) +# endif + +# if defined GL_UINT64_T && ! defined UINT64_MAX +# define UINT64_MAX UINTMAX_C (18446744073709551615) +# endif + +/* 7.18.2.2. Limits of minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types + are the same as the corresponding N_t types. */ + +# undef INT_LEAST8_MIN +# undef INT_LEAST8_MAX +# undef UINT_LEAST8_MAX +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST8_MAX INT8_MAX +# define UINT_LEAST8_MAX UINT8_MAX + +# undef INT_LEAST16_MIN +# undef INT_LEAST16_MAX +# undef UINT_LEAST16_MAX +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST16_MAX INT16_MAX +# define UINT_LEAST16_MAX UINT16_MAX + +# undef INT_LEAST32_MIN +# undef INT_LEAST32_MAX +# undef UINT_LEAST32_MAX +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST32_MAX INT32_MAX +# define UINT_LEAST32_MAX UINT32_MAX + +# undef INT_LEAST64_MIN +# undef INT_LEAST64_MAX +# ifdef GL_INT64_T +# define INT_LEAST64_MIN INT64_MIN +# define INT_LEAST64_MAX INT64_MAX +# endif + +# undef UINT_LEAST64_MAX +# ifdef GL_UINT64_T +# define UINT_LEAST64_MAX UINT64_MAX +# endif + +/* 7.18.2.3. Limits of fastest minimum-width integer types */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types + are taken from the same list of types. */ + +# undef INT_FAST8_MIN +# undef INT_FAST8_MAX +# undef UINT_FAST8_MAX +# define INT_FAST8_MIN SCHAR_MIN +# define INT_FAST8_MAX SCHAR_MAX +# define UINT_FAST8_MAX UCHAR_MAX + +# undef INT_FAST16_MIN +# undef INT_FAST16_MAX +# undef UINT_FAST16_MAX +# define INT_FAST16_MIN INT_FAST32_MIN +# define INT_FAST16_MAX INT_FAST32_MAX +# define UINT_FAST16_MAX UINT_FAST32_MAX + +# undef INT_FAST32_MIN +# undef INT_FAST32_MAX +# undef UINT_FAST32_MAX +# ifdef __sun +# define INT_FAST32_MIN INT_MIN +# define INT_FAST32_MAX INT_MAX +# define UINT_FAST32_MAX UINT_MAX +# else +# define INT_FAST32_MIN LONG_MIN +# define INT_FAST32_MAX LONG_MAX +# define UINT_FAST32_MAX ULONG_MAX +# endif + +# undef INT_FAST64_MIN +# undef INT_FAST64_MAX +# ifdef GL_INT64_T +# define INT_FAST64_MIN INT64_MIN +# define INT_FAST64_MAX INT64_MAX +# endif + +# undef UINT_FAST64_MAX +# ifdef GL_UINT64_T +# define UINT_FAST64_MAX UINT64_MAX +# endif + +/* 7.18.2.4. Limits of integer types capable of holding object pointers */ + +# undef INTPTR_MIN +# undef INTPTR_MAX +# undef UINTPTR_MAX +# define INTPTR_MIN LONG_MIN +# define INTPTR_MAX LONG_MAX +# define UINTPTR_MAX ULONG_MAX + +/* 7.18.2.5. Limits of greatest-width integer types */ + +# ifndef INTMAX_MAX +# undef INTMAX_MIN +# ifdef INT64_MAX +# define INTMAX_MIN INT64_MIN +# define INTMAX_MAX INT64_MAX +# else +# define INTMAX_MIN INT32_MIN +# define INTMAX_MAX INT32_MAX +# endif +# endif + +# ifndef UINTMAX_MAX +# ifdef UINT64_MAX +# define UINTMAX_MAX UINT64_MAX +# else +# define UINTMAX_MAX UINT32_MAX +# endif +# endif + +/* 7.18.3. Limits of other integer types */ + +/* ptrdiff_t limits */ +# undef PTRDIFF_MIN +# undef PTRDIFF_MAX +# if @APPLE_UNIVERSAL_BUILD@ +# ifdef _LP64 +# define PTRDIFF_MIN _STDINT_SIGNED_MIN (64, 0l) +# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) +# else +# define PTRDIFF_MIN _STDINT_SIGNED_MIN (32, 0) +# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) +# endif +# else +# define PTRDIFF_MIN \ + _STDINT_SIGNED_MIN (@BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) +# define PTRDIFF_MAX \ + _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) +# endif + +/* sig_atomic_t limits */ +# undef SIG_ATOMIC_MIN +# undef SIG_ATOMIC_MAX +# if @HAVE_SIGNED_SIG_ATOMIC_T@ +# define SIG_ATOMIC_MIN \ + _STDINT_SIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@) +# else +# define SIG_ATOMIC_MIN \ + _STDINT_UNSIGNED_MIN (@BITSIZEOF_SIG_ATOMIC_T@, 0@SIG_ATOMIC_T_SUFFIX@) +# endif +# define SIG_ATOMIC_MAX \ + _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \ + 0@SIG_ATOMIC_T_SUFFIX@) + + +/* size_t limit */ +# undef SIZE_MAX +# if @APPLE_UNIVERSAL_BUILD@ +# ifdef _LP64 +# define SIZE_MAX _STDINT_MAX (0, 64, 0ul) +# else +# define SIZE_MAX _STDINT_MAX (0, 32, 0ul) +# endif +# else +# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) +# endif + +/* wchar_t limits */ +/* Get WCHAR_MIN, WCHAR_MAX. + This include is not on the top, above, because on OSF/1 4.0 we have a + sequence of nested includes + -> -> -> , and the latter includes + and assumes its types are already defined. */ +# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX) + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ +# include +# include +# include +# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H +# include +# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H +# endif +# undef WCHAR_MIN +# undef WCHAR_MAX +# if @HAVE_SIGNED_WCHAR_T@ +# define WCHAR_MIN \ + _STDINT_SIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) +# else +# define WCHAR_MIN \ + _STDINT_UNSIGNED_MIN (@BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) +# endif +# define WCHAR_MAX \ + _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) + +/* wint_t limits */ +# undef WINT_MIN +# undef WINT_MAX +# if @HAVE_SIGNED_WINT_T@ +# define WINT_MIN \ + _STDINT_SIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) +# else +# define WINT_MIN \ + _STDINT_UNSIGNED_MIN (@BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) +# endif +# define WINT_MAX \ + _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) + +/* 7.18.4. Macros for integer constants */ + +/* 7.18.4.1. Macros for minimum-width integer constants */ +/* According to ISO C 99 Technical Corrigendum 1 */ + +/* Here we assume a standard architecture where the hardware integer + types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ + +# undef INT8_C +# undef UINT8_C +# define INT8_C(x) x +# define UINT8_C(x) x + +# undef INT16_C +# undef UINT16_C +# define INT16_C(x) x +# define UINT16_C(x) x + +# undef INT32_C +# undef UINT32_C +# define INT32_C(x) x +# define UINT32_C(x) x ## U + +# undef INT64_C +# undef UINT64_C +# if LONG_MAX >> 31 >> 31 == 1 +# define INT64_C(x) x##L +# elif defined _MSC_VER +# define INT64_C(x) x##i64 +# elif @HAVE_LONG_LONG_INT@ +# define INT64_C(x) x##LL +# endif +# if ULONG_MAX >> 31 >> 31 >> 1 == 1 +# define UINT64_C(x) x##UL +# elif defined _MSC_VER +# define UINT64_C(x) x##ui64 +# elif @HAVE_UNSIGNED_LONG_LONG_INT@ +# define UINT64_C(x) x##ULL +# endif + +/* 7.18.4.2. Macros for greatest-width integer constants */ + +# ifndef INTMAX_C +# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 +# define INTMAX_C(x) x##LL +# elif defined GL_INT64_T +# define INTMAX_C(x) INT64_C(x) +# else +# define INTMAX_C(x) x##L +# endif +# endif + +# ifndef UINTMAX_C +# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 +# define UINTMAX_C(x) x##ULL +# elif defined GL_UINT64_T +# define UINTMAX_C(x) UINT64_C(x) +# else +# define UINTMAX_C(x) x##UL +# endif +# endif + +#endif /* !@HAVE_C99_STDINT_H@ */ + +/* Macros specified by ISO/IEC TS 18661-1:2014. */ + +#if (!defined UINTMAX_WIDTH \ + && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) +# ifdef INT8_MAX +# define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX) +# endif +# ifdef UINT8_MAX +# define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX) +# endif +# ifdef INT16_MAX +# define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX) +# endif +# ifdef UINT16_MAX +# define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX) +# endif +# ifdef INT32_MAX +# define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX) +# endif +# ifdef UINT32_MAX +# define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX) +# endif +# ifdef INT64_MAX +# define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX) +# endif +# ifdef UINT64_MAX +# define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX) +# endif +# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX) +# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX) +# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX) +# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX) +# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX) +# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX) +# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX) +# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX) +# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX) +# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX) +# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX) +# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX) +# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX) +# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX) +# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX) +# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX) +# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX) +# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX) +# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX) +# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX) +# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX) +# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX) +# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX) +# ifdef WINT_MAX +# define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX) +# endif +# ifdef SIG_ATOMIC_MAX +# define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX) +# endif +#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ + +#endif /* _@GUARD_PREFIX@_STDINT_H */ +#endif /* !(defined __ANDROID__ && ...) */ +#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ diff --git a/gllib/streq.h b/gllib/streq.h new file mode 100644 index 0000000..b4b726d --- /dev/null +++ b/gllib/streq.h @@ -0,0 +1,176 @@ +/* Optimized string comparison. + Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible . */ + +#ifndef _GL_STREQ_H +#define _GL_STREQ_H + +#include + +/* STREQ_OPT allows to optimize string comparison with a small literal string. + STREQ_OPT (s, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + is semantically equivalent to + strcmp (s, "EUC-KR") == 0 + just faster. */ + +/* Help GCC to generate good code for string comparisons with + immediate strings. */ +#if defined (__GNUC__) && defined (__OPTIMIZE__) + +static inline int +streq9 (const char *s1, const char *s2) +{ + return strcmp (s1 + 9, s2 + 9) == 0; +} + +static inline int +streq8 (const char *s1, const char *s2, char s28) +{ + if (s1[8] == s28) + { + if (s28 == 0) + return 1; + else + return streq9 (s1, s2); + } + else + return 0; +} + +static inline int +streq7 (const char *s1, const char *s2, char s27, char s28) +{ + if (s1[7] == s27) + { + if (s27 == 0) + return 1; + else + return streq8 (s1, s2, s28); + } + else + return 0; +} + +static inline int +streq6 (const char *s1, const char *s2, char s26, char s27, char s28) +{ + if (s1[6] == s26) + { + if (s26 == 0) + return 1; + else + return streq7 (s1, s2, s27, s28); + } + else + return 0; +} + +static inline int +streq5 (const char *s1, const char *s2, char s25, char s26, char s27, char s28) +{ + if (s1[5] == s25) + { + if (s25 == 0) + return 1; + else + return streq6 (s1, s2, s26, s27, s28); + } + else + return 0; +} + +static inline int +streq4 (const char *s1, const char *s2, char s24, char s25, char s26, char s27, char s28) +{ + if (s1[4] == s24) + { + if (s24 == 0) + return 1; + else + return streq5 (s1, s2, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +streq3 (const char *s1, const char *s2, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (s1[3] == s23) + { + if (s23 == 0) + return 1; + else + return streq4 (s1, s2, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +streq2 (const char *s1, const char *s2, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (s1[2] == s22) + { + if (s22 == 0) + return 1; + else + return streq3 (s1, s2, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +streq1 (const char *s1, const char *s2, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (s1[1] == s21) + { + if (s21 == 0) + return 1; + else + return streq2 (s1, s2, s22, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +static inline int +streq0 (const char *s1, const char *s2, char s20, char s21, char s22, char s23, char s24, char s25, char s26, char s27, char s28) +{ + if (s1[0] == s20) + { + if (s20 == 0) + return 1; + else + return streq1 (s1, s2, s21, s22, s23, s24, s25, s26, s27, s28); + } + else + return 0; +} + +#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ + streq0 (s1, s2, s20, s21, s22, s23, s24, s25, s26, s27, s28) + +#else + +#define STREQ_OPT(s1,s2,s20,s21,s22,s23,s24,s25,s26,s27,s28) \ + (strcmp (s1, s2) == 0) + +#endif + +#endif /* _GL_STREQ_H */ diff --git a/gllib/sys_types.in.h b/gllib/sys_types.in.h new file mode 100644 index 0000000..b0d6132 --- /dev/null +++ b/gllib/sys_types.in.h @@ -0,0 +1,95 @@ +/* Provide a more complete sys/types.h. + + Copyright (C) 2011-2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H + +/* The include_next requires a split double-inclusion guard. */ +# define _GL_INCLUDING_SYS_TYPES_H +#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@ +# undef _GL_INCLUDING_SYS_TYPES_H + +#ifndef _@GUARD_PREFIX@_SYS_TYPES_H +#define _@GUARD_PREFIX@_SYS_TYPES_H + +/* Override off_t if Large File Support is requested on native Windows. */ +#if @WINDOWS_64_BIT_OFF_T@ +/* Same as int64_t in . */ +# if defined _MSC_VER +# define off_t __int64 +# else +# define off_t long long int +# endif +/* Indicator, for gnulib internal purposes. */ +# define _GL_WINDOWS_64_BIT_OFF_T 1 +#endif + +/* Override dev_t and ino_t if distinguishable inodes support is requested + on native Windows. */ +#if @WINDOWS_STAT_INODES@ + +# if @WINDOWS_STAT_INODES@ == 2 +/* Experimental, not useful in Windows 10. */ + +/* Define dev_t to a 64-bit type. */ +# if !defined GNULIB_defined_dev_t +typedef unsigned long long int rpl_dev_t; +# undef dev_t +# define dev_t rpl_dev_t +# define GNULIB_defined_dev_t 1 +# endif + +/* Define ino_t to a 128-bit type. */ +# if !defined GNULIB_defined_ino_t +/* MSVC does not have a 128-bit integer type. + GCC has a 128-bit integer type __int128, but only on 64-bit targets. */ +typedef struct { unsigned long long int _gl_ino[2]; } rpl_ino_t; +# undef ino_t +# define ino_t rpl_ino_t +# define GNULIB_defined_ino_t 1 +# endif + +# else /* @WINDOWS_STAT_INODES@ == 1 */ + +/* Define ino_t to a 64-bit type. */ +# if !defined GNULIB_defined_ino_t +typedef unsigned long long int rpl_ino_t; +# undef ino_t +# define ino_t rpl_ino_t +# define GNULIB_defined_ino_t 1 +# endif + +# endif + +/* Indicator, for gnulib internal purposes. */ +# define _GL_WINDOWS_STAT_INODES @WINDOWS_STAT_INODES@ + +#endif + +/* MSVC 9 defines size_t in , not in . */ +/* But avoid namespace pollution on glibc systems. */ +#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \ + && ! defined __GLIBC__ +# include +#endif + +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ +#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ diff --git a/gllib/unicase.in.h b/gllib/unicase.in.h new file mode 100644 index 0000000..85700ab --- /dev/null +++ b/gllib/unicase.in.h @@ -0,0 +1,461 @@ +/* Unicode character case mappings. + Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNICASE_H +#define _UNICASE_H + +#include "unitypes.h" + +/* Get bool. */ +#include + +/* Get size_t. */ +#include + +/* Get uninorm_t. */ +#include "uninorm.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* ========================================================================= */ + +/* Character case mappings. + These mappings are locale and context independent. + WARNING! These functions are not sufficient for languages such as German. + Better use the functions below that treat an entire string at once and are + language aware. */ + +/* Return the uppercase mapping of a Unicode character. */ +extern ucs4_t + uc_toupper (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Return the lowercase mapping of a Unicode character. */ +extern ucs4_t + uc_tolower (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Return the titlecase mapping of a Unicode character. */ +extern ucs4_t + uc_totitle (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* String case mappings. */ + +/* These functions are locale dependent. The iso639_language argument + identifies the language (e.g. "tr" for Turkish). NULL means to use + locale independent case mappings. */ + +/* Return the ISO 639 language code of the current locale. + Return "" if it is unknown, or in the "C" locale. */ +extern const char * + uc_locale_language (void) + _UC_ATTRIBUTE_PURE; + +/* Conventions: + + All functions prefixed with u8_ operate on UTF-8 encoded strings. + Their unit is an uint8_t (1 byte). + + All functions prefixed with u16_ operate on UTF-16 encoded strings. + Their unit is an uint16_t (a 2-byte word). + + All functions prefixed with u32_ operate on UCS-4 encoded strings. + Their unit is an uint32_t (a 4-byte word). + + All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly + n units. + + Functions returning a string result take a (resultbuf, lengthp) argument + pair. If resultbuf is not NULL and the result fits into *lengthp units, + it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly + allocated string is returned. In both cases, *lengthp is set to the + length (number of units) of the returned string. In case of error, + NULL is returned and errno is set. */ + +/* Return the uppercase mapping of a string. + The nf argument identifies the normalization form to apply after the + case-mapping. It can also be NULL, for no normalization. */ +extern uint8_t * + u8_toupper (const uint8_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_toupper (const uint16_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_toupper (const uint32_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Return the lowercase mapping of a string. + The nf argument identifies the normalization form to apply after the + case-mapping. It can also be NULL, for no normalization. */ +extern uint8_t * + u8_tolower (const uint8_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_tolower (const uint16_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_tolower (const uint32_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Return the titlecase mapping of a string. + The nf argument identifies the normalization form to apply after the + case-mapping. It can also be NULL, for no normalization. */ +extern uint8_t * + u8_totitle (const uint8_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_totitle (const uint16_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_totitle (const uint32_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* The case-mapping context given by a prefix string. */ +typedef struct casing_prefix_context + { + /* These fields are private, undocumented. */ + uint32_t last_char_except_ignorable; + uint32_t last_char_normal_or_above; + } + casing_prefix_context_t; +/* The case-mapping context of the empty prefix string. */ +extern const casing_prefix_context_t unicase_empty_prefix_context; +/* Return the case-mapping context of a given prefix string. */ +extern casing_prefix_context_t + u8_casing_prefix_context (const uint8_t *s, size_t n); +extern casing_prefix_context_t + u16_casing_prefix_context (const uint16_t *s, size_t n); +extern casing_prefix_context_t + u32_casing_prefix_context (const uint32_t *s, size_t n); +/* Return the case-mapping context of the prefix concat(A, S), given the + case-mapping context of the prefix A. */ +extern casing_prefix_context_t + u8_casing_prefixes_context (const uint8_t *s, size_t n, + casing_prefix_context_t a_context); +extern casing_prefix_context_t + u16_casing_prefixes_context (const uint16_t *s, size_t n, + casing_prefix_context_t a_context); +extern casing_prefix_context_t + u32_casing_prefixes_context (const uint32_t *s, size_t n, + casing_prefix_context_t a_context); + +/* The case-mapping context given by a suffix string. */ +typedef struct casing_suffix_context + { + /* These fields are private, undocumented. */ + uint32_t first_char_except_ignorable; + uint32_t bits; + } + casing_suffix_context_t; +/* The case-mapping context of the empty suffix string. */ +extern const casing_suffix_context_t unicase_empty_suffix_context; +/* Return the case-mapping context of a given suffix string. */ +extern casing_suffix_context_t + u8_casing_suffix_context (const uint8_t *s, size_t n); +extern casing_suffix_context_t + u16_casing_suffix_context (const uint16_t *s, size_t n); +extern casing_suffix_context_t + u32_casing_suffix_context (const uint32_t *s, size_t n); +/* Return the case-mapping context of the suffix concat(S, A), given the + case-mapping context of the suffix A. */ +extern casing_suffix_context_t + u8_casing_suffixes_context (const uint8_t *s, size_t n, + casing_suffix_context_t a_context); +extern casing_suffix_context_t + u16_casing_suffixes_context (const uint16_t *s, size_t n, + casing_suffix_context_t a_context); +extern casing_suffix_context_t + u32_casing_suffixes_context (const uint32_t *s, size_t n, + casing_suffix_context_t a_context); + +/* Return the uppercase mapping of a string that is surrounded by a prefix + and a suffix. */ +extern uint8_t * + u8_ct_toupper (const uint8_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_ct_toupper (const uint16_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_ct_toupper (const uint32_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Return the lowercase mapping of a string that is surrounded by a prefix + and a suffix. */ +extern uint8_t * + u8_ct_tolower (const uint8_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_ct_tolower (const uint16_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_ct_tolower (const uint32_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Return the titlecase mapping of a string that is surrounded by a prefix + and a suffix. */ +extern uint8_t * + u8_ct_totitle (const uint8_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_ct_totitle (const uint16_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_ct_totitle (const uint32_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Return the case folded string. + Comparing uN_casefold (S1) and uN_casefold (S2) with uN_cmp2() is equivalent + to comparing S1 and S2 with uN_casecmp(). + The nf argument identifies the normalization form to apply after the + case-mapping. It can also be NULL, for no normalization. */ +extern uint8_t * + u8_casefold (const uint8_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_casefold (const uint16_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_casefold (const uint32_t *s, size_t n, const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); +/* Likewise, for a string that is surrounded by a prefix and a suffix. */ +extern uint8_t * + u8_ct_casefold (const uint8_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_ct_casefold (const uint16_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_ct_casefold (const uint32_t *s, size_t n, + casing_prefix_context_t prefix_context, + casing_suffix_context_t suffix_context, + const char *iso639_language, + uninorm_t nf, + uint32_t *resultbuf, size_t *lengthp); + +/* Compare S1 and S2, ignoring differences in case and normalization. + The nf argument identifies the normalization form to apply after the + case-mapping. It can also be NULL, for no normalization. + If successful, set *RESULTP to -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2, and + return 0. Upon failure, return -1 with errno set. */ +extern int + u8_casecmp (const uint8_t *s1, size_t n1, + const uint8_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + u16_casecmp (const uint16_t *s1, size_t n1, + const uint16_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + u32_casecmp (const uint32_t *s1, size_t n1, + const uint32_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + ulc_casecmp (const char *s1, size_t n1, + const char *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); + +/* Convert the string S of length N to a NUL-terminated byte sequence, in such + a way that comparing uN_casexfrm (S1) and uN_casexfrm (S2) with the gnulib + function memcmp2() is equivalent to comparing S1 and S2 with uN_casecoll(). + NF must be either UNINORM_NFC, UNINORM_NFKC, or NULL for no normalization. */ +extern char * + u8_casexfrm (const uint8_t *s, size_t n, const char *iso639_language, + uninorm_t nf, char *resultbuf, size_t *lengthp); +extern char * + u16_casexfrm (const uint16_t *s, size_t n, const char *iso639_language, + uninorm_t nf, char *resultbuf, size_t *lengthp); +extern char * + u32_casexfrm (const uint32_t *s, size_t n, const char *iso639_language, + uninorm_t nf, char *resultbuf, size_t *lengthp); +extern char * + ulc_casexfrm (const char *s, size_t n, const char *iso639_language, + uninorm_t nf, char *resultbuf, size_t *lengthp); + +/* Compare S1 and S2, ignoring differences in case and normalization, using the + collation rules of the current locale. + The nf argument identifies the normalization form to apply after the + case-mapping. It must be either UNINORM_NFC or UNINORM_NFKC. It can also + be NULL, for no normalization. + If successful, set *RESULTP to -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2, and + return 0. Upon failure, return -1 with errno set. */ +extern int + u8_casecoll (const uint8_t *s1, size_t n1, + const uint8_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + u16_casecoll (const uint16_t *s1, size_t n1, + const uint16_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + u32_casecoll (const uint32_t *s1, size_t n1, + const uint32_t *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); +extern int + ulc_casecoll (const char *s1, size_t n1, + const char *s2, size_t n2, + const char *iso639_language, uninorm_t nf, int *resultp); + + +/* Set *RESULTP to true if mapping NFD(S) to upper case is a no-op, or to false + otherwise, and return 0. Upon failure, return -1 with errno set. */ +extern int + u8_is_uppercase (const uint8_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u16_is_uppercase (const uint16_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u32_is_uppercase (const uint32_t *s, size_t n, + const char *iso639_language, + bool *resultp); + +/* Set *RESULTP to true if mapping NFD(S) to lower case is a no-op, or to false + otherwise, and return 0. Upon failure, return -1 with errno set. */ +extern int + u8_is_lowercase (const uint8_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u16_is_lowercase (const uint16_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u32_is_lowercase (const uint32_t *s, size_t n, + const char *iso639_language, + bool *resultp); + +/* Set *RESULTP to true if mapping NFD(S) to title case is a no-op, or to false + otherwise, and return 0. Upon failure, return -1 with errno set. */ +extern int + u8_is_titlecase (const uint8_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u16_is_titlecase (const uint16_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u32_is_titlecase (const uint32_t *s, size_t n, + const char *iso639_language, + bool *resultp); + +/* Set *RESULTP to true if applying case folding to NFD(S) is a no-op, or to + false otherwise, and return 0. Upon failure, return -1 with errno set. */ +extern int + u8_is_casefolded (const uint8_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u16_is_casefolded (const uint16_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u32_is_casefolded (const uint32_t *s, size_t n, + const char *iso639_language, + bool *resultp); + +/* Set *RESULTP to true if case matters for S, that is, if mapping NFD(S) to + either upper case or lower case or title case is not a no-op. + Set *RESULTP to false if NFD(S) maps to itself under the upper case mapping, + under the lower case mapping, and under the title case mapping; in other + words, when NFD(S) consists entirely of caseless characters. + Upon failure, return -1 with errno set. */ +extern int + u8_is_cased (const uint8_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u16_is_cased (const uint16_t *s, size_t n, + const char *iso639_language, + bool *resultp); +extern int + u32_is_cased (const uint32_t *s, size_t n, + const char *iso639_language, + bool *resultp); + + +/* ========================================================================= */ + +#ifdef __cplusplus +} +#endif + +#endif /* _UNICASE_H */ diff --git a/gllib/unicase/simple-mapping.h b/gllib/unicase/simple-mapping.h new file mode 100644 index 0000000..1e30666 --- /dev/null +++ b/gllib/unicase/simple-mapping.h @@ -0,0 +1,39 @@ +/* Simple case mapping for Unicode characters. + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +ucs4_t +FUNC (ucs4_t uc) +{ + unsigned int index1 = uc >> mapping_header_0; + if (index1 < mapping_header_1) + { + int lookup1 = u_mapping.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> mapping_header_2) & mapping_header_3; + int lookup2 = u_mapping.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc & mapping_header_4); + int lookup3 = u_mapping.level3[lookup2 + index3]; + + return uc + lookup3; + } + } + } + return uc; +} diff --git a/gllib/unicase/tolower.c b/gllib/unicase/tolower.c new file mode 100644 index 0000000..d3048a8 --- /dev/null +++ b/gllib/unicase/tolower.c @@ -0,0 +1,27 @@ +/* Lowercase mapping for Unicode characters (locale and context independent). + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unicase.h" + +/* Define u_mapping table. */ +#include "tolower.h" + +#define FUNC uc_tolower +#include "simple-mapping.h" diff --git a/gllib/unicase/tolower.h b/gllib/unicase/tolower.h new file mode 100644 index 0000000..6795557 --- /dev/null +++ b/gllib/unicase/tolower.h @@ -0,0 +1,647 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Simple character mapping of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define mapping_header_0 16 +#define mapping_header_1 2 +#define mapping_header_2 7 +#define mapping_header_3 511 +#define mapping_header_4 127 +static const +struct + { + int level1[2]; + short level2[2 << 9]; + int level3[31 << 7]; + } +u_mapping = +{ + { 0, 512 }, + { + 0, 128, 256, 384, 512, -1, 640, 768, + 896, 1024, 1152, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1280, -1, -1, -1, -1, -1, 1408, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1536, 1664, 1792, 1920, + -1, -1, 2048, 2176, -1, -1, -1, -1, + -1, 2304, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 2432, 2560, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2688, 2816, 2944, 3072, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3200, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 3328, 3456, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3584, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3712, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3840, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 0, + 32, 32, 32, 32, 32, 32, 32, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + -199, 0, 1, 0, 1, 0, 1, 0, + 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, + 0, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + -121, 1, 0, 1, 0, 1, 0, 0, + 0, 210, 1, 0, 1, 0, 206, 1, + 0, 205, 205, 1, 0, 0, 79, 202, + 203, 1, 0, 205, 207, 0, 211, 209, + 1, 0, 0, 0, 211, 213, 0, 214, + 1, 0, 1, 0, 1, 0, 218, 1, + 0, 218, 0, 0, 1, 0, 218, 1, + 0, 217, 217, 1, 0, 1, 0, 219, + 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 1, 0, 2, + 1, 0, 2, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 2, 1, 0, 1, 0, -97, -56, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + -130, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 10795, 1, 0, -163, 10792, 0, + 0, 1, 0, -195, 69, 71, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 116, + 0, 0, 0, 0, 0, 0, 38, 0, + 37, 37, 37, 0, 64, 0, 63, 63, + 0, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 0, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, -60, 0, 0, 1, + 0, -7, 1, 0, 0, -130, -130, -130, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 15, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 7264, 7264, 7264, 7264, 7264, 7264, 7264, 7264, + 7264, 7264, 7264, 7264, 7264, 7264, 7264, 7264, + 7264, 7264, 7264, 7264, 7264, 7264, 7264, 7264, + 7264, 7264, 7264, 7264, 7264, 7264, 7264, 7264, + 7264, 7264, 7264, 7264, 7264, 7264, 0, 7264, + 0, 0, 0, 0, 0, 7264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 38864, 38864, 38864, 38864, 38864, 38864, 38864, 38864, + 8, 8, 8, 8, 8, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -7615, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -8, 0, -8, 0, -8, 0, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, -8, -8, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -74, -74, -9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -86, -86, -86, -86, -9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -100, -100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -112, -112, -7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -128, -128, -126, -126, -9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -7517, 0, + 0, 0, -8383, -8262, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, -10743, -3814, -10727, 0, 0, 1, + 0, 1, 0, 1, 0, -10780, -10749, -10783, + -10782, 0, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, -10815, -10815, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 1, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 1, 0, -35332, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 1, 0, -42280, 0, 0, + 1, 0, 1, 0, 0, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, -42308, -42319, -42315, -42305, -42308, 0, + -42258, -42282, -42261, 928, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + } +}; diff --git a/gllib/unicase/totitle.c b/gllib/unicase/totitle.c new file mode 100644 index 0000000..6d7847e --- /dev/null +++ b/gllib/unicase/totitle.c @@ -0,0 +1,27 @@ +/* Titlecase mapping for Unicode characters (locale and context independent). + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unicase.h" + +/* Define u_mapping table. */ +#include "totitle.h" + +#define FUNC uc_totitle +#include "simple-mapping.h" diff --git a/gllib/unicase/totitle.h b/gllib/unicase/totitle.h new file mode 100644 index 0000000..0512619 --- /dev/null +++ b/gllib/unicase/totitle.h @@ -0,0 +1,743 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Simple character mapping of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define mapping_header_0 16 +#define mapping_header_1 2 +#define mapping_header_2 7 +#define mapping_header_3 511 +#define mapping_header_4 127 +static const +struct + { + int level1[2]; + short level2[2 << 9]; + int level3[37 << 7]; + } +u_mapping = +{ + { 0, 512 }, + { + 0, 128, 256, 384, 512, 640, 768, 896, + 1024, 1152, 1280, 1408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1536, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1664, 1792, -1, 1920, 2048, 2176, 2304, + -1, -1, 2432, 2560, -1, -1, -1, -1, + -1, 2688, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 2816, 2944, 3072, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3200, 3328, 3456, 3584, + -1, -1, -1, -1, -1, -1, 3712, 3840, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3968, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4096, 4224, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4352, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4480, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4608, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 743, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, 0, + -32, -32, -32, -32, -32, -32, -32, 121, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -232, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, 0, + -1, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, -300, + 195, 0, 0, -1, 0, -1, 0, 0, + -1, 0, 0, 0, -1, 0, 0, 0, + 0, 0, -1, 0, 0, 97, 0, 0, + 0, -1, 163, 0, 0, 0, 130, 0, + 0, -1, 0, -1, 0, -1, 0, 0, + -1, 0, 0, 0, 0, -1, 0, 0, + -1, 0, 0, 0, -1, 0, -1, 0, + 0, -1, 0, 0, 0, -1, 0, 56, + 0, 0, 0, 0, 1, 0, -1, 1, + 0, -1, 1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, -79, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 1, 0, -1, 0, -1, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, 0, 10815, + 10815, 0, -1, 0, 0, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 10783, 10780, 10782, -210, -206, 0, -205, -205, + 0, -202, 0, -203, 42319, 0, 0, 0, + -205, 42315, 0, -207, 0, 42280, 42308, 0, + -209, -211, 42308, 10743, 42305, 0, 0, -211, + 0, 10749, -213, 0, 0, -214, 0, 0, + 0, 0, 0, 0, 0, 10727, 0, 0, + -218, 0, 0, -218, 0, 0, 0, 42282, + -218, -69, -217, -217, -71, 0, 0, 0, + 0, 0, -219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 42261, 42258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, 0, 0, -1, + 0, 0, 0, 130, 130, 130, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -38, -37, -37, -37, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -31, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -64, -63, -63, 0, + -62, -57, 0, 0, 0, -47, -54, -8, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + -86, -80, 7, -116, 0, -96, 0, 0, + -1, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -80, -80, -80, -80, -80, -80, -80, -80, + -80, -80, -80, -80, -80, -80, -80, -80, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, -15, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, 0, 0, + -6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181, + 35266, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 35332, 0, 0, 0, 3814, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, 0, + 0, 0, 0, -59, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 8, 0, 8, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 74, 74, 86, 86, 86, 86, 100, 100, + 128, 128, 112, 112, 126, 126, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -7205, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 0, 0, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -16, -16, -16, -16, -16, -16, -16, -16, + -16, -16, -16, -16, -16, -16, -16, -16, + 0, 0, 0, 0, -1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 0, + 0, -1, 0, 0, 0, -10795, -10792, 0, + -1, 0, -1, 0, -1, 0, 0, 0, + 0, 0, 0, -1, 0, 0, -1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, -1, 0, + 0, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, 0, -7264, + 0, 0, 0, 0, 0, -7264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, -1, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, -1, 0, 0, 0, + 0, -1, 0, -1, 0, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -928, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + } +}; diff --git a/gllib/unicase/toupper.c b/gllib/unicase/toupper.c new file mode 100644 index 0000000..dd79817 --- /dev/null +++ b/gllib/unicase/toupper.c @@ -0,0 +1,27 @@ +/* Uppercase mapping for Unicode characters (locale and context independent). + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unicase.h" + +/* Define u_mapping table. */ +#include "toupper.h" + +#define FUNC uc_toupper +#include "simple-mapping.h" diff --git a/gllib/unicase/toupper.h b/gllib/unicase/toupper.h new file mode 100644 index 0000000..453dbb2 --- /dev/null +++ b/gllib/unicase/toupper.h @@ -0,0 +1,743 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Simple character mapping of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define mapping_header_0 16 +#define mapping_header_1 2 +#define mapping_header_2 7 +#define mapping_header_3 511 +#define mapping_header_4 127 +static const +struct + { + int level1[2]; + short level2[2 << 9]; + int level3[37 << 7]; + } +u_mapping = +{ + { 0, 512 }, + { + 0, 128, 256, 384, 512, 640, 768, 896, + 1024, 1152, 1280, 1408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1536, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1664, 1792, -1, 1920, 2048, 2176, 2304, + -1, -1, 2432, 2560, -1, -1, -1, -1, + -1, 2688, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 2816, 2944, 3072, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3200, 3328, 3456, 3584, + -1, -1, -1, -1, -1, -1, 3712, 3840, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3968, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4096, 4224, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4352, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4480, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4608, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 743, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, 0, + -32, -32, -32, -32, -32, -32, -32, 121, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -232, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, 0, + -1, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, -300, + 195, 0, 0, -1, 0, -1, 0, 0, + -1, 0, 0, 0, -1, 0, 0, 0, + 0, 0, -1, 0, 0, 97, 0, 0, + 0, -1, 163, 0, 0, 0, 130, 0, + 0, -1, 0, -1, 0, -1, 0, 0, + -1, 0, 0, 0, 0, -1, 0, 0, + -1, 0, 0, 0, -1, 0, -1, 0, + 0, -1, 0, 0, 0, -1, 0, 56, + 0, 0, 0, 0, 0, -1, -2, 0, + -1, -2, 0, -1, -2, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, -79, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, -1, -2, 0, -1, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, 0, 10815, + 10815, 0, -1, 0, 0, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 10783, 10780, 10782, -210, -206, 0, -205, -205, + 0, -202, 0, -203, 42319, 0, 0, 0, + -205, 42315, 0, -207, 0, 42280, 42308, 0, + -209, -211, 42308, 10743, 42305, 0, 0, -211, + 0, 10749, -213, 0, 0, -214, 0, 0, + 0, 0, 0, 0, 0, 10727, 0, 0, + -218, 0, 0, -218, 0, 0, 0, 42282, + -218, -69, -217, -217, -71, 0, 0, 0, + 0, 0, -219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 42261, 42258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, 0, 0, -1, + 0, 0, 0, 130, 130, 130, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -38, -37, -37, -37, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -31, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -64, -63, -63, 0, + -62, -57, 0, 0, 0, -47, -54, -8, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + -86, -80, 7, -116, 0, -96, 0, 0, + -1, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -80, -80, -80, -80, -80, -80, -80, -80, + -80, -80, -80, -80, -80, -80, -80, -80, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, -1, 0, -1, 0, -1, 0, + -1, 0, -1, 0, -1, 0, -1, -15, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -8, -8, -8, -8, -8, -8, 0, 0, + -6254, -6253, -6244, -6242, -6242, -6243, -6236, -6181, + 35266, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 35332, 0, 0, 0, 3814, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, 0, + 0, 0, 0, -59, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 8, 0, 8, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 74, 74, 86, 86, 86, 86, 100, 100, + 128, 128, 112, 112, 126, 126, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 8, 8, 8, 8, 8, 8, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -7205, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 8, 8, 0, 0, 0, 7, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -16, -16, -16, -16, -16, -16, -16, -16, + -16, -16, -16, -16, -16, -16, -16, -16, + 0, 0, 0, 0, -1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, -26, -26, -26, -26, -26, -26, + -26, -26, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, 0, + 0, -1, 0, 0, 0, -10795, -10792, 0, + -1, 0, -1, 0, -1, 0, 0, 0, + 0, 0, 0, -1, 0, 0, -1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, -1, 0, -1, 0, + 0, 0, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, -7264, -7264, + -7264, -7264, -7264, -7264, -7264, -7264, 0, -7264, + 0, 0, 0, 0, 0, -7264, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, -1, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, 0, 0, 0, -1, 0, 0, 0, + 0, -1, 0, -1, 0, 0, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -1, 0, -1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -928, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + -38864, -38864, -38864, -38864, -38864, -38864, -38864, -38864, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, + -40, -40, -40, -40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, -64, -64, -64, -64, -64, + -64, -64, -64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, -34, -34, -34, -34, + -34, -34, -34, -34, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + } +}; diff --git a/gllib/unictype.in.h b/gllib/unictype.in.h new file mode 100644 index 0000000..7a0d17b --- /dev/null +++ b/gllib/unictype.in.h @@ -0,0 +1,1053 @@ +/* Unicode character classification and properties. + Copyright (C) 2002, 2005-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNICTYPE_H +#define _UNICTYPE_H + +#include "unitypes.h" + +/* Get bool. */ +#include + +/* Get size_t. */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ========================================================================= */ + +/* Field 1 of Unicode Character Database: Character name. + See "uniname.h". */ + +/* ========================================================================= */ + +/* Field 2 of Unicode Character Database: General category. */ + +/* Data type denoting a General category value. This is not just a bitmask, + but rather a bitmask and a pointer to the lookup table, so that programs + that use only the predefined bitmasks (i.e. don't combine bitmasks with & + and |) don't have a link-time dependency towards the big general table. */ +typedef struct +{ + uint32_t bitmask : 31; + /*bool*/ unsigned int generic : 1; + union + { + const void *table; /* when generic is 0 */ + bool (*lookup_fn) (ucs4_t uc, uint32_t bitmask); /* when generic is 1 */ + } lookup; +} +uc_general_category_t; + +/* Bits and bit masks denoting General category values. UnicodeData-3.2.0.html + says a 32-bit integer will always suffice to represent them. + These bit masks can only be used with the uc_is_general_category_withtable + function. */ +enum +{ + UC_CATEGORY_MASK_L = 0x0000001f, + UC_CATEGORY_MASK_LC = 0x00000007, + UC_CATEGORY_MASK_Lu = 0x00000001, + UC_CATEGORY_MASK_Ll = 0x00000002, + UC_CATEGORY_MASK_Lt = 0x00000004, + UC_CATEGORY_MASK_Lm = 0x00000008, + UC_CATEGORY_MASK_Lo = 0x00000010, + UC_CATEGORY_MASK_M = 0x000000e0, + UC_CATEGORY_MASK_Mn = 0x00000020, + UC_CATEGORY_MASK_Mc = 0x00000040, + UC_CATEGORY_MASK_Me = 0x00000080, + UC_CATEGORY_MASK_N = 0x00000700, + UC_CATEGORY_MASK_Nd = 0x00000100, + UC_CATEGORY_MASK_Nl = 0x00000200, + UC_CATEGORY_MASK_No = 0x00000400, + UC_CATEGORY_MASK_P = 0x0003f800, + UC_CATEGORY_MASK_Pc = 0x00000800, + UC_CATEGORY_MASK_Pd = 0x00001000, + UC_CATEGORY_MASK_Ps = 0x00002000, + UC_CATEGORY_MASK_Pe = 0x00004000, + UC_CATEGORY_MASK_Pi = 0x00008000, + UC_CATEGORY_MASK_Pf = 0x00010000, + UC_CATEGORY_MASK_Po = 0x00020000, + UC_CATEGORY_MASK_S = 0x003c0000, + UC_CATEGORY_MASK_Sm = 0x00040000, + UC_CATEGORY_MASK_Sc = 0x00080000, + UC_CATEGORY_MASK_Sk = 0x00100000, + UC_CATEGORY_MASK_So = 0x00200000, + UC_CATEGORY_MASK_Z = 0x01c00000, + UC_CATEGORY_MASK_Zs = 0x00400000, + UC_CATEGORY_MASK_Zl = 0x00800000, + UC_CATEGORY_MASK_Zp = 0x01000000, + UC_CATEGORY_MASK_C = 0x3e000000, + UC_CATEGORY_MASK_Cc = 0x02000000, + UC_CATEGORY_MASK_Cf = 0x04000000, + UC_CATEGORY_MASK_Cs = 0x08000000, + UC_CATEGORY_MASK_Co = 0x10000000, + UC_CATEGORY_MASK_Cn = 0x20000000 +}; + +/* Predefined General category values. */ +extern const uc_general_category_t UC_CATEGORY_L; +extern const uc_general_category_t UC_CATEGORY_LC; +extern const uc_general_category_t UC_CATEGORY_Lu; +extern const uc_general_category_t UC_CATEGORY_Ll; +extern const uc_general_category_t UC_CATEGORY_Lt; +extern const uc_general_category_t UC_CATEGORY_Lm; +extern const uc_general_category_t UC_CATEGORY_Lo; +extern const uc_general_category_t UC_CATEGORY_M; +extern const uc_general_category_t UC_CATEGORY_Mn; +extern const uc_general_category_t UC_CATEGORY_Mc; +extern const uc_general_category_t UC_CATEGORY_Me; +extern const uc_general_category_t UC_CATEGORY_N; +extern const uc_general_category_t UC_CATEGORY_Nd; +extern const uc_general_category_t UC_CATEGORY_Nl; +extern const uc_general_category_t UC_CATEGORY_No; +extern const uc_general_category_t UC_CATEGORY_P; +extern const uc_general_category_t UC_CATEGORY_Pc; +extern const uc_general_category_t UC_CATEGORY_Pd; +extern const uc_general_category_t UC_CATEGORY_Ps; +extern const uc_general_category_t UC_CATEGORY_Pe; +extern const uc_general_category_t UC_CATEGORY_Pi; +extern const uc_general_category_t UC_CATEGORY_Pf; +extern const uc_general_category_t UC_CATEGORY_Po; +extern const uc_general_category_t UC_CATEGORY_S; +extern const uc_general_category_t UC_CATEGORY_Sm; +extern const uc_general_category_t UC_CATEGORY_Sc; +extern const uc_general_category_t UC_CATEGORY_Sk; +extern const uc_general_category_t UC_CATEGORY_So; +extern const uc_general_category_t UC_CATEGORY_Z; +extern const uc_general_category_t UC_CATEGORY_Zs; +extern const uc_general_category_t UC_CATEGORY_Zl; +extern const uc_general_category_t UC_CATEGORY_Zp; +extern const uc_general_category_t UC_CATEGORY_C; +extern const uc_general_category_t UC_CATEGORY_Cc; +extern const uc_general_category_t UC_CATEGORY_Cf; +extern const uc_general_category_t UC_CATEGORY_Cs; +extern const uc_general_category_t UC_CATEGORY_Co; +extern const uc_general_category_t UC_CATEGORY_Cn; +/* Non-public. */ +extern const uc_general_category_t _UC_CATEGORY_NONE; + +/* Alias names for predefined General category values. */ +#define UC_LETTER UC_CATEGORY_L +#define UC_CASED_LETTER UC_CATEGORY_LC +#define UC_UPPERCASE_LETTER UC_CATEGORY_Lu +#define UC_LOWERCASE_LETTER UC_CATEGORY_Ll +#define UC_TITLECASE_LETTER UC_CATEGORY_Lt +#define UC_MODIFIER_LETTER UC_CATEGORY_Lm +#define UC_OTHER_LETTER UC_CATEGORY_Lo +#define UC_MARK UC_CATEGORY_M +#define UC_NON_SPACING_MARK UC_CATEGORY_Mn +#define UC_COMBINING_SPACING_MARK UC_CATEGORY_Mc +#define UC_ENCLOSING_MARK UC_CATEGORY_Me +#define UC_NUMBER UC_CATEGORY_N +#define UC_DECIMAL_DIGIT_NUMBER UC_CATEGORY_Nd +#define UC_LETTER_NUMBER UC_CATEGORY_Nl +#define UC_OTHER_NUMBER UC_CATEGORY_No +#define UC_PUNCTUATION UC_CATEGORY_P +#define UC_CONNECTOR_PUNCTUATION UC_CATEGORY_Pc +#define UC_DASH_PUNCTUATION UC_CATEGORY_Pd +#define UC_OPEN_PUNCTUATION UC_CATEGORY_Ps /* a.k.a. UC_START_PUNCTUATION */ +#define UC_CLOSE_PUNCTUATION UC_CATEGORY_Pe /* a.k.a. UC_END_PUNCTUATION */ +#define UC_INITIAL_QUOTE_PUNCTUATION UC_CATEGORY_Pi +#define UC_FINAL_QUOTE_PUNCTUATION UC_CATEGORY_Pf +#define UC_OTHER_PUNCTUATION UC_CATEGORY_Po +#define UC_SYMBOL UC_CATEGORY_S +#define UC_MATH_SYMBOL UC_CATEGORY_Sm +#define UC_CURRENCY_SYMBOL UC_CATEGORY_Sc +#define UC_MODIFIER_SYMBOL UC_CATEGORY_Sk +#define UC_OTHER_SYMBOL UC_CATEGORY_So +#define UC_SEPARATOR UC_CATEGORY_Z +#define UC_SPACE_SEPARATOR UC_CATEGORY_Zs +#define UC_LINE_SEPARATOR UC_CATEGORY_Zl +#define UC_PARAGRAPH_SEPARATOR UC_CATEGORY_Zp +#define UC_OTHER UC_CATEGORY_C +#define UC_CONTROL UC_CATEGORY_Cc +#define UC_FORMAT UC_CATEGORY_Cf +#define UC_SURROGATE UC_CATEGORY_Cs /* all of them are invalid characters */ +#define UC_PRIVATE_USE UC_CATEGORY_Co +#define UC_UNASSIGNED UC_CATEGORY_Cn /* some of them are invalid characters */ + +/* Return the union of two general categories. + This corresponds to the unions of the two sets of characters. */ +extern uc_general_category_t + uc_general_category_or (uc_general_category_t category1, + uc_general_category_t category2); + +/* Return the intersection of two general categories as bit masks. + This *does*not* correspond to the intersection of the two sets of + characters. */ +extern uc_general_category_t + uc_general_category_and (uc_general_category_t category1, + uc_general_category_t category2); + +/* Return the intersection of a general category with the complement of a + second general category, as bit masks. + This *does*not* correspond to the intersection with complement, when + viewing the categories as sets of characters. */ +extern uc_general_category_t + uc_general_category_and_not (uc_general_category_t category1, + uc_general_category_t category2); + +/* Return the name of a general category. */ +extern const char * + uc_general_category_name (uc_general_category_t category) + _UC_ATTRIBUTE_PURE; + +/* Return the long name of a general category. */ +extern const char * + uc_general_category_long_name (uc_general_category_t category) + _UC_ATTRIBUTE_PURE; + +/* Return the general category given by name, e.g. "Lu", or by long name, + e.g. "Uppercase Letter". */ +extern uc_general_category_t + uc_general_category_byname (const char *category_name) + _UC_ATTRIBUTE_PURE; + +/* Return the general category of a Unicode character. */ +extern uc_general_category_t + uc_general_category (ucs4_t uc) + _UC_ATTRIBUTE_PURE; + +/* Test whether a Unicode character belongs to a given category. + The CATEGORY argument can be the combination of several predefined + general categories. */ +extern bool + uc_is_general_category (ucs4_t uc, uc_general_category_t category) + _UC_ATTRIBUTE_PURE; +/* Likewise. This function uses a big table comprising all categories. */ +extern bool + uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 3 of Unicode Character Database: Canonical combining class. */ + +/* The possible results of uc_combining_class (0..255) are described in + UCD.html. The list here is not definitive; more values can be added + in future versions. */ +enum +{ + UC_CCC_NR = 0, /* Not Reordered */ + UC_CCC_OV = 1, /* Overlay */ + UC_CCC_NK = 7, /* Nukta */ + UC_CCC_KV = 8, /* Kana Voicing */ + UC_CCC_VR = 9, /* Virama */ + UC_CCC_ATBL = 200, /* Attached Below Left */ + UC_CCC_ATB = 202, /* Attached Below */ + UC_CCC_ATA = 214, /* Attached Above */ + UC_CCC_ATAR = 216, /* Attached Above Right */ + UC_CCC_BL = 218, /* Below Left */ + UC_CCC_B = 220, /* Below */ + UC_CCC_BR = 222, /* Below Right */ + UC_CCC_L = 224, /* Left */ + UC_CCC_R = 226, /* Right */ + UC_CCC_AL = 228, /* Above Left */ + UC_CCC_A = 230, /* Above */ + UC_CCC_AR = 232, /* Above Right */ + UC_CCC_DB = 233, /* Double Below */ + UC_CCC_DA = 234, /* Double Above */ + UC_CCC_IS = 240 /* Iota Subscript */ +}; + +/* Return the canonical combining class of a Unicode character. */ +extern int + uc_combining_class (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Return the name of a canonical combining class. */ +extern const char * + uc_combining_class_name (int ccc) + _UC_ATTRIBUTE_CONST; + +/* Return the long name of a canonical combining class. */ +extern const char * + uc_combining_class_long_name (int ccc) + _UC_ATTRIBUTE_CONST; + +/* Return the canonical combining class given by name, e.g. "BL", or by long + name, e.g. "Below Left". */ +extern int + uc_combining_class_byname (const char *ccc_name) + _UC_ATTRIBUTE_PURE; + +/* ========================================================================= */ + +/* Field 4 of Unicode Character Database: Bidi class. + Before Unicode 4.0, this field was called "Bidirectional category". */ + +enum +{ + UC_BIDI_L, /* Left-to-Right */ + UC_BIDI_LRE, /* Left-to-Right Embedding */ + UC_BIDI_LRO, /* Left-to-Right Override */ + UC_BIDI_R, /* Right-to-Left */ + UC_BIDI_AL, /* Right-to-Left Arabic */ + UC_BIDI_RLE, /* Right-to-Left Embedding */ + UC_BIDI_RLO, /* Right-to-Left Override */ + UC_BIDI_PDF, /* Pop Directional Format */ + UC_BIDI_EN, /* European Number */ + UC_BIDI_ES, /* European Number Separator */ + UC_BIDI_ET, /* European Number Terminator */ + UC_BIDI_AN, /* Arabic Number */ + UC_BIDI_CS, /* Common Number Separator */ + UC_BIDI_NSM, /* Non-Spacing Mark */ + UC_BIDI_BN, /* Boundary Neutral */ + UC_BIDI_B, /* Paragraph Separator */ + UC_BIDI_S, /* Segment Separator */ + UC_BIDI_WS, /* Whitespace */ + UC_BIDI_ON, /* Other Neutral */ + UC_BIDI_LRI, /* Left-to-Right Isolate */ + UC_BIDI_RLI, /* Right-to-Left Isolate */ + UC_BIDI_FSI, /* First Strong Isolate */ + UC_BIDI_PDI /* Pop Directional Isolate */ +}; + +/* Return the name of a bidi class. */ +extern const char * + uc_bidi_class_name (int bidi_class) + _UC_ATTRIBUTE_CONST; +/* Same; obsolete function name. */ +extern const char * + uc_bidi_category_name (int category) + _UC_ATTRIBUTE_CONST; + +/* Return the long name of a bidi class. */ +extern const char * + uc_bidi_class_long_name (int bidi_class) + _UC_ATTRIBUTE_CONST; + +/* Return the bidi class given by name, e.g. "LRE", or by long name, e.g. + "Left-to-Right Embedding". */ +extern int + uc_bidi_class_byname (const char *bidi_class_name) + _UC_ATTRIBUTE_PURE; +/* Same; obsolete function name. */ +extern int + uc_bidi_category_byname (const char *category_name) + _UC_ATTRIBUTE_PURE; + +/* Return the bidi class of a Unicode character. */ +extern int + uc_bidi_class (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +/* Same; obsolete function name. */ +extern int + uc_bidi_category (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test whether a Unicode character belongs to a given bidi class. */ +extern bool + uc_is_bidi_class (ucs4_t uc, int bidi_class) + _UC_ATTRIBUTE_CONST; +/* Same; obsolete function name. */ +extern bool + uc_is_bidi_category (ucs4_t uc, int category) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 5 of Unicode Character Database: Character decomposition mapping. + See "uninorm.h". */ + +/* ========================================================================= */ + +/* Field 6 of Unicode Character Database: Decimal digit value. */ + +/* Return the decimal digit value of a Unicode character. */ +extern int + uc_decimal_value (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 7 of Unicode Character Database: Digit value. */ + +/* Return the digit value of a Unicode character. */ +extern int + uc_digit_value (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 8 of Unicode Character Database: Numeric value. */ + +/* Return the numeric value of a Unicode character. */ +typedef struct +{ + int numerator; + int denominator; +} +uc_fraction_t; +extern uc_fraction_t + uc_numeric_value (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 9 of Unicode Character Database: Mirrored. */ + +/* Return the mirrored character of a Unicode character UC in *PUC. */ +extern bool + uc_mirror_char (ucs4_t uc, ucs4_t *puc); + +/* ========================================================================= */ + +/* Field 10 of Unicode Character Database: Unicode 1.0 Name. + Not available in this library. */ + +/* ========================================================================= */ + +/* Field 11 of Unicode Character Database: ISO 10646 comment. + Not available in this library. */ + +/* ========================================================================= */ + +/* Field 12, 13, 14 of Unicode Character Database: Uppercase mapping, + lowercase mapping, titlecase mapping. See "unicase.h". */ + +/* ========================================================================= */ + +/* Field 2 of the file ArabicShaping.txt in the Unicode Character Database. */ + +/* Possible joining types. */ +enum +{ + UC_JOINING_TYPE_U, /* Non_Joining */ + UC_JOINING_TYPE_T, /* Transparent */ + UC_JOINING_TYPE_C, /* Join_Causing */ + UC_JOINING_TYPE_L, /* Left_Joining */ + UC_JOINING_TYPE_R, /* Right_Joining */ + UC_JOINING_TYPE_D /* Dual_Joining */ +}; + +/* Return the name of a joining type. */ +extern const char * + uc_joining_type_name (int joining_type) + _UC_ATTRIBUTE_CONST; + +/* Return the long name of a joining type. */ +extern const char * + uc_joining_type_long_name (int joining_type) + _UC_ATTRIBUTE_CONST; + +/* Return the joining type given by name, e.g. "D", or by long name, e.g. + "Dual Joining". */ +extern int + uc_joining_type_byname (const char *joining_type_name) + _UC_ATTRIBUTE_PURE; + +/* Return the joining type of a Unicode character. */ +extern int + uc_joining_type (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Field 3 of the file ArabicShaping.txt in the Unicode Character Database. */ + +/* Possible joining groups. + This enumeration may be extended in the future. */ +enum +{ + UC_JOINING_GROUP_NONE, /* No_Joining_Group */ + UC_JOINING_GROUP_AIN, /* Ain */ + UC_JOINING_GROUP_ALAPH, /* Alaph */ + UC_JOINING_GROUP_ALEF, /* Alef */ + UC_JOINING_GROUP_BEH, /* Beh */ + UC_JOINING_GROUP_BETH, /* Beth */ + UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE, /* Burushaski_Yeh_Barree */ + UC_JOINING_GROUP_DAL, /* Dal */ + UC_JOINING_GROUP_DALATH_RISH, /* Dalath_Rish */ + UC_JOINING_GROUP_E, /* E */ + UC_JOINING_GROUP_FARSI_YEH, /* Farsi_Yeh */ + UC_JOINING_GROUP_FE, /* Fe */ + UC_JOINING_GROUP_FEH, /* Feh */ + UC_JOINING_GROUP_FINAL_SEMKATH, /* Final_Semkath */ + UC_JOINING_GROUP_GAF, /* Gaf */ + UC_JOINING_GROUP_GAMAL, /* Gamal */ + UC_JOINING_GROUP_HAH, /* Hah */ + UC_JOINING_GROUP_HE, /* He */ + UC_JOINING_GROUP_HEH, /* Heh */ + UC_JOINING_GROUP_HEH_GOAL, /* Heh_Goal */ + UC_JOINING_GROUP_HETH, /* Heth */ + UC_JOINING_GROUP_KAF, /* Kaf */ + UC_JOINING_GROUP_KAPH, /* Kaph */ + UC_JOINING_GROUP_KHAPH, /* Khaph */ + UC_JOINING_GROUP_KNOTTED_HEH, /* Knotted_Heh */ + UC_JOINING_GROUP_LAM, /* Lam */ + UC_JOINING_GROUP_LAMADH, /* Lamadh */ + UC_JOINING_GROUP_MEEM, /* Meem */ + UC_JOINING_GROUP_MIM, /* Mim */ + UC_JOINING_GROUP_NOON, /* Noon */ + UC_JOINING_GROUP_NUN, /* Nun */ + UC_JOINING_GROUP_NYA, /* Nya */ + UC_JOINING_GROUP_PE, /* Pe */ + UC_JOINING_GROUP_QAF, /* Qaf */ + UC_JOINING_GROUP_QAPH, /* Qaph */ + UC_JOINING_GROUP_REH, /* Reh */ + UC_JOINING_GROUP_REVERSED_PE, /* Reversed_Pe */ + UC_JOINING_GROUP_SAD, /* Sad */ + UC_JOINING_GROUP_SADHE, /* Sadhe */ + UC_JOINING_GROUP_SEEN, /* Seen */ + UC_JOINING_GROUP_SEMKATH, /* Semkath */ + UC_JOINING_GROUP_SHIN, /* Shin */ + UC_JOINING_GROUP_SWASH_KAF, /* Swash_Kaf */ + UC_JOINING_GROUP_SYRIAC_WAW, /* Syriac_Waw */ + UC_JOINING_GROUP_TAH, /* Tah */ + UC_JOINING_GROUP_TAW, /* Taw */ + UC_JOINING_GROUP_TEH_MARBUTA, /* Teh_Marbuta */ + UC_JOINING_GROUP_TEH_MARBUTA_GOAL, /* Teh_Marbuta_Goal */ + UC_JOINING_GROUP_TETH, /* Teth */ + UC_JOINING_GROUP_WAW, /* Waw */ + UC_JOINING_GROUP_YEH, /* Yeh */ + UC_JOINING_GROUP_YEH_BARREE, /* Yeh_Barree */ + UC_JOINING_GROUP_YEH_WITH_TAIL, /* Yeh_With_Tail */ + UC_JOINING_GROUP_YUDH, /* Yudh */ + UC_JOINING_GROUP_YUDH_HE, /* Yudh_He */ + UC_JOINING_GROUP_ZAIN, /* Zain */ + UC_JOINING_GROUP_ZHAIN, /* Zhain */ + UC_JOINING_GROUP_ROHINGYA_YEH, /* Rohingya_Yeh */ + UC_JOINING_GROUP_STRAIGHT_WAW, /* Straight_Waw */ + UC_JOINING_GROUP_MANICHAEAN_ALEPH, /* Manichaean_Aleph */ + UC_JOINING_GROUP_MANICHAEAN_BETH, /* Manichaean_Beth */ + UC_JOINING_GROUP_MANICHAEAN_GIMEL, /* Manichaean_Gimel */ + UC_JOINING_GROUP_MANICHAEAN_DALETH, /* Manichaean_Daleth */ + UC_JOINING_GROUP_MANICHAEAN_WAW, /* Manichaean_Waw */ + UC_JOINING_GROUP_MANICHAEAN_ZAYIN, /* Manichaean_Zayin */ + UC_JOINING_GROUP_MANICHAEAN_HETH, /* Manichaean_Heth */ + UC_JOINING_GROUP_MANICHAEAN_TETH, /* Manichaean_Teth */ + UC_JOINING_GROUP_MANICHAEAN_YODH, /* Manichaean_Yodh */ + UC_JOINING_GROUP_MANICHAEAN_KAPH, /* Manichaean_Kaph */ + UC_JOINING_GROUP_MANICHAEAN_LAMEDH, /* Manichaean_Lamedh */ + UC_JOINING_GROUP_MANICHAEAN_DHAMEDH, /* Manichaean_Dhamedh */ + UC_JOINING_GROUP_MANICHAEAN_THAMEDH, /* Manichaean_Thamedh */ + UC_JOINING_GROUP_MANICHAEAN_MEM, /* Manichaean_Mem */ + UC_JOINING_GROUP_MANICHAEAN_NUN, /* Manichaean_Nun */ + UC_JOINING_GROUP_MANICHAEAN_SAMEKH, /* Manichaean_Aleph */ + UC_JOINING_GROUP_MANICHAEAN_AYIN, /* Manichaean_Ayin */ + UC_JOINING_GROUP_MANICHAEAN_PE, /* Manichaean_Pe */ + UC_JOINING_GROUP_MANICHAEAN_SADHE, /* Manichaean_Sadhe */ + UC_JOINING_GROUP_MANICHAEAN_QOPH, /* Manichaean_Qoph */ + UC_JOINING_GROUP_MANICHAEAN_RESH, /* Manichaean_Resh */ + UC_JOINING_GROUP_MANICHAEAN_TAW, /* Manichaean_Taw */ + UC_JOINING_GROUP_MANICHAEAN_ONE, /* Manichaean_One */ + UC_JOINING_GROUP_MANICHAEAN_FIVE, /* Manichaean_Five */ + UC_JOINING_GROUP_MANICHAEAN_TEN, /* Manichaean_Ten */ + UC_JOINING_GROUP_MANICHAEAN_TWENTY, /* Manichaean_Twenty */ + UC_JOINING_GROUP_MANICHAEAN_HUNDRED, /* Manichaean_Hundred */ + UC_JOINING_GROUP_AFRICAN_FEH, /* African_Feh */ + UC_JOINING_GROUP_AFRICAN_QAF, /* African_Qaf */ + UC_JOINING_GROUP_AFRICAN_NOON /* African_Noon */ +}; + +/* Return the name of a joining group. */ +extern const char * + uc_joining_group_name (int joining_group) + _UC_ATTRIBUTE_CONST; + +/* Return the joining group given by name, e.g. "Teh_Marbuta". */ +extern int + uc_joining_group_byname (const char *joining_group_name) + _UC_ATTRIBUTE_PURE; + +/* Return the joining group of a Unicode character. */ +extern int + uc_joining_group (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Common API for properties. */ + +/* Data type denoting a property. This is not just a number, but rather a + pointer to the test functions, so that programs that use only few of the + properties don't have a link-time dependency towards all the tables. */ +typedef struct +{ + bool (*test_fn) (ucs4_t uc); +} +uc_property_t; + +/* Predefined properties. */ +/* General. */ +extern const uc_property_t UC_PROPERTY_WHITE_SPACE; +extern const uc_property_t UC_PROPERTY_ALPHABETIC; +extern const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC; +extern const uc_property_t UC_PROPERTY_NOT_A_CHARACTER; +extern const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT; +extern const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT; +extern const uc_property_t UC_PROPERTY_DEPRECATED; +extern const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION; +extern const uc_property_t UC_PROPERTY_VARIATION_SELECTOR; +extern const uc_property_t UC_PROPERTY_PRIVATE_USE; +extern const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE; +/* Case. */ +extern const uc_property_t UC_PROPERTY_UPPERCASE; +extern const uc_property_t UC_PROPERTY_OTHER_UPPERCASE; +extern const uc_property_t UC_PROPERTY_LOWERCASE; +extern const uc_property_t UC_PROPERTY_OTHER_LOWERCASE; +extern const uc_property_t UC_PROPERTY_TITLECASE; +extern const uc_property_t UC_PROPERTY_CASED; +extern const uc_property_t UC_PROPERTY_CASE_IGNORABLE; +extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED; +extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED; +extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED; +extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED; +extern const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED; +extern const uc_property_t UC_PROPERTY_SOFT_DOTTED; +/* Identifiers. */ +extern const uc_property_t UC_PROPERTY_ID_START; +extern const uc_property_t UC_PROPERTY_OTHER_ID_START; +extern const uc_property_t UC_PROPERTY_ID_CONTINUE; +extern const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE; +extern const uc_property_t UC_PROPERTY_XID_START; +extern const uc_property_t UC_PROPERTY_XID_CONTINUE; +extern const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE; +extern const uc_property_t UC_PROPERTY_PATTERN_SYNTAX; +/* Shaping and rendering. */ +extern const uc_property_t UC_PROPERTY_JOIN_CONTROL; +extern const uc_property_t UC_PROPERTY_GRAPHEME_BASE; +extern const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND; +extern const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND; +extern const uc_property_t UC_PROPERTY_GRAPHEME_LINK; +/* Bidi. */ +extern const uc_property_t UC_PROPERTY_BIDI_CONTROL; +extern const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT; +extern const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT; +extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT; +extern const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT; +extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR; +extern const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR; +extern const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT; +extern const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR; +extern const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR; +extern const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR; +extern const uc_property_t UC_PROPERTY_BIDI_WHITESPACE; +extern const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK; +extern const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL; +extern const uc_property_t UC_PROPERTY_BIDI_PDF; +extern const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE; +extern const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL; +/* Numeric. */ +extern const uc_property_t UC_PROPERTY_HEX_DIGIT; +extern const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT; +/* CJK. */ +extern const uc_property_t UC_PROPERTY_IDEOGRAPHIC; +extern const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH; +extern const uc_property_t UC_PROPERTY_RADICAL; +extern const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR; +extern const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR; +/* Misc. */ +extern const uc_property_t UC_PROPERTY_ZERO_WIDTH; +extern const uc_property_t UC_PROPERTY_SPACE; +extern const uc_property_t UC_PROPERTY_NON_BREAK; +extern const uc_property_t UC_PROPERTY_ISO_CONTROL; +extern const uc_property_t UC_PROPERTY_FORMAT_CONTROL; +extern const uc_property_t UC_PROPERTY_DASH; +extern const uc_property_t UC_PROPERTY_HYPHEN; +extern const uc_property_t UC_PROPERTY_PUNCTUATION; +extern const uc_property_t UC_PROPERTY_LINE_SEPARATOR; +extern const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR; +extern const uc_property_t UC_PROPERTY_QUOTATION_MARK; +extern const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL; +extern const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION; +extern const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL; +extern const uc_property_t UC_PROPERTY_MATH; +extern const uc_property_t UC_PROPERTY_OTHER_MATH; +extern const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION; +extern const uc_property_t UC_PROPERTY_LEFT_OF_PAIR; +extern const uc_property_t UC_PROPERTY_COMBINING; +extern const uc_property_t UC_PROPERTY_COMPOSITE; +extern const uc_property_t UC_PROPERTY_DECIMAL_DIGIT; +extern const uc_property_t UC_PROPERTY_NUMERIC; +extern const uc_property_t UC_PROPERTY_DIACRITIC; +extern const uc_property_t UC_PROPERTY_EXTENDER; +extern const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL; + +/* Return the property given by name, e.g. "White space". */ +extern uc_property_t + uc_property_byname (const char *property_name); + +/* Test whether a property is valid. */ +#define uc_property_is_valid(property) ((property).test_fn != NULL) + +/* Test whether a Unicode character has a given property. */ +extern bool + uc_is_property (ucs4_t uc, uc_property_t property); +extern bool uc_is_property_white_space (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_alphabetic (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_alphabetic (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_not_a_character (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_default_ignorable_code_point (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_default_ignorable_code_point (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_deprecated (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_logical_order_exception (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_variation_selector (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_private_use (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_unassigned_code_value (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_uppercase (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_uppercase (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_lowercase (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_lowercase (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_titlecase (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_cased (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_case_ignorable (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_changes_when_lowercased (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_changes_when_uppercased (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_changes_when_titlecased (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_changes_when_casefolded (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_changes_when_casemapped (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_soft_dotted (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_id_start (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_id_start (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_id_continue (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_id_continue (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_xid_start (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_xid_continue (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_pattern_white_space (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_pattern_syntax (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_join_control (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_grapheme_base (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_grapheme_extend (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_grapheme_extend (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_grapheme_link (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_control (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_left_to_right (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_arabic_right_to_left (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_european_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_eur_num_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_eur_num_terminator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_arabic_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_common_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_block_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_segment_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_whitespace (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_non_spacing_mark (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_boundary_neutral (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_pdf (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_embedding_or_override (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_bidi_other_neutral (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_hex_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_ascii_hex_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_ideographic (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_unified_ideograph (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_radical (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_ids_binary_operator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_ids_trinary_operator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_zero_width (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_space (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_non_break (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_iso_control (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_format_control (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_dash (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_hyphen (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_punctuation (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_line_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_paragraph_separator (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_quotation_mark (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_sentence_terminal (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_terminal_punctuation (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_currency_symbol (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_math (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_other_math (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_paired_punctuation (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_left_of_pair (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_combining (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_composite (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_decimal_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_numeric (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_diacritic (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_extender (ucs4_t uc) + _UC_ATTRIBUTE_CONST; +extern bool uc_is_property_ignorable_control (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Subdivision of the Unicode characters into scripts. */ + +typedef struct +{ + unsigned int code : 21; + unsigned int start : 1; + unsigned int end : 1; +} +uc_interval_t; +typedef struct +{ + unsigned int nintervals; + const uc_interval_t *intervals; + const char *name; +} +uc_script_t; + +/* Return the script of a Unicode character. */ +extern const uc_script_t * + uc_script (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Return the script given by name, e.g. "HAN". */ +extern const uc_script_t * + uc_script_byname (const char *script_name) + _UC_ATTRIBUTE_PURE; + +/* Test whether a Unicode character belongs to a given script. */ +extern bool + uc_is_script (ucs4_t uc, const uc_script_t *script) + _UC_ATTRIBUTE_PURE; + +/* Get the list of all scripts. */ +extern void + uc_all_scripts (const uc_script_t **scripts, size_t *count); + +/* ========================================================================= */ + +/* Subdivision of the Unicode character range into blocks. */ + +typedef struct +{ + ucs4_t start; + ucs4_t end; + const char *name; +} +uc_block_t; + +/* Return the block a character belongs to. */ +extern const uc_block_t * + uc_block (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test whether a Unicode character belongs to a given block. */ +extern bool + uc_is_block (ucs4_t uc, const uc_block_t *block) + _UC_ATTRIBUTE_PURE; + +/* Get the list of all blocks. */ +extern void + uc_all_blocks (const uc_block_t **blocks, size_t *count); + +/* ========================================================================= */ + +/* Properties taken from language standards. */ + +/* Test whether a Unicode character is considered whitespace in ISO C 99. */ +extern bool + uc_is_c_whitespace (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test whether a Unicode character is considered whitespace in Java. */ +extern bool + uc_is_java_whitespace (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +enum +{ + UC_IDENTIFIER_START, /* valid as first or subsequent character */ + UC_IDENTIFIER_VALID, /* valid as subsequent character only */ + UC_IDENTIFIER_INVALID, /* not valid */ + UC_IDENTIFIER_IGNORABLE /* ignorable (Java only) */ +}; + +/* Return the categorization of a Unicode character w.r.t. the ISO C 99 + identifier syntax. */ +extern int + uc_c_ident_category (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Return the categorization of a Unicode character w.r.t. the Java + identifier syntax. */ +extern int + uc_java_ident_category (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +/* Like ISO C and . These functions are deprecated, + because this set of functions was designed with ASCII in mind and cannot + reflect the more diverse reality of the Unicode character set. But they + can be a quick-and-dirty porting aid when migrating from wchar_t APIs + to Unicode strings. */ + +/* Test for any character for which 'uc_is_alpha' or 'uc_is_digit' is true. */ +extern bool + uc_is_alnum (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character for which 'uc_is_upper' or 'uc_is_lower' is true, + or any character that is one of a locale-specific set of characters for + which none of 'uc_is_cntrl', 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' + is true. */ +extern bool + uc_is_alpha (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any control character. */ +extern bool + uc_is_cntrl (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character that corresponds to a decimal-digit character. */ +extern bool + uc_is_digit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character for which 'uc_is_print' is true and 'uc_is_space' + is false. */ +extern bool + uc_is_graph (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character that corresponds to a lowercase letter or is one + of a locale-specific set of characters for which none of 'uc_is_cntrl', + 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */ +extern bool + uc_is_lower (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any printing character. */ +extern bool + uc_is_print (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any printing character that is one of a locale-specific set of + characters for which neither 'uc_is_space' nor 'uc_is_alnum' is true. */ +extern bool + uc_is_punct (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character that corresponds to a locale-specific set of + characters for which none of 'uc_is_alnum', 'uc_is_graph', or 'uc_is_punct' + is true. */ +extern bool + uc_is_space (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character that corresponds to an uppercase letter or is one + of a locale-specific set of character for which none of 'uc_is_cntrl', + 'uc_is_digit', 'uc_is_punct', or 'uc_is_space' is true. */ +extern bool + uc_is_upper (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* Test for any character that corresponds to a hexadecimal-digit + character. */ +extern bool + uc_is_xdigit (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* GNU extension. */ +/* Test for any character that corresponds to a standard blank character or + a locale-specific set of characters for which 'uc_is_alnum' is false. */ +extern bool + uc_is_blank (ucs4_t uc) + _UC_ATTRIBUTE_CONST; + +/* ========================================================================= */ + +#ifdef __cplusplus +} +#endif + +#endif /* _UNICTYPE_H */ diff --git a/gllib/unictype/bidi_of.c b/gllib/unictype/bidi_of.c new file mode 100644 index 0000000..dca6fa4 --- /dev/null +++ b/gllib/unictype/bidi_of.c @@ -0,0 +1,58 @@ +/* Bidi classes of Unicode characters. + Copyright (C) 2002, 2006, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_bidi_category table. */ +#include "bidi_of.h" + +int +uc_bidi_class (ucs4_t uc) +{ + unsigned int index1 = uc >> bidi_category_header_0; + if (index1 < bidi_category_header_1) + { + int lookup1 = u_bidi_category.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> bidi_category_header_2) & bidi_category_header_3; + int lookup2 = u_bidi_category.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = ((uc & bidi_category_header_4) + lookup2) * 5; + /* level3 contains 5-bit values, packed into 16-bit words. */ + unsigned int lookup3 = + ((u_bidi_category.level3[index3>>4] + | ((unsigned int) u_bidi_category.level3[(index3>>4)+1] << 16)) + >> (index3 % 16)) + & 0x1f; + + return lookup3; + } + } + } + return UC_BIDI_L; +} + +int +uc_bidi_category (ucs4_t uc) +{ + return uc_bidi_class (uc); +} diff --git a/gllib/unictype/bidi_of.h b/gllib/unictype/bidi_of.h new file mode 100644 index 0000000..cc16d2a --- /dev/null +++ b/gllib/unictype/bidi_of.h @@ -0,0 +1,1039 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Bidi categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define bidi_category_header_0 16 +#define bidi_category_header_1 17 +#define bidi_category_header_2 7 +#define bidi_category_header_3 511 +#define bidi_category_header_4 127 +static const +struct + { + int level1[17]; + short level2[4 << 9]; + unsigned short level3[151 * 40 + 1]; + } +u_bidi_category = +{ + { + 0, 512, 1024, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1024, 1024, 1024, 1024, 1536, 1024, + 1024 + }, + { + 0, 128, -1, -1, -1, 256, 384, 512, + -1, 640, -1, 768, 896, 1024, 1152, 1280, + 1408, 1536, 1664, 1792, 1920, 2048, 2176, 2304, + 2432, 2560, 2688, 2816, 2944, 3072, 3200, 3328, + 3456, 3584, -1, -1, -1, -1, 3712, 3840, + 3968, -1, -1, -1, -1, 4096, 4224, 4352, + 4480, 4608, 4736, 4864, 4992, 5120, 5248, 5376, + 5504, 5632, -1, 5760, -1, -1, -1, 5888, + 6016, 6144, 6272, 6400, 6528, 6656, 6784, 6912, + 7040, 7168, 6656, 6656, 6656, 7296, 6656, 6656, + -1, -1, 6656, 6656, 6656, 6656, 7424, 7552, + -1, 7680, 7808, 7936, 8064, 8192, 6656, 8320, + 8448, 8576, -1, 8704, 8832, 8960, 9088, 9216, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 9344, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 9472, -1, -1, 9600, 9728, 9856, 9984, + 10112, 10240, 10368, 10496, 10624, 10752, -1, 10880, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 11008, 11136, + 11136, 11136, 11264, 11392, 11520, 11648, 11776, 11904, + -1, -1, 12032, 12160, -1, 12288, 12416, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 12544, 12544, 12672, 12544, 12800, 12928, 13056, 12544, + 12544, 12544, 12544, 12544, 13184, 12544, 12544, 12544, + 13312, 13440, 13568, 13696, 13824, 13952, 14080, -1, + 14208, 14336, -1, 14464, 14592, 14720, 14848, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 14976, 15104, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 15232, 15360, -1, + -1, -1, -1, -1, -1, -1, -1, 15488, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 15616, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 15744, 15872, 16000, -1, 16128, -1, + -1, -1, -1, -1, -1, 16256, 16384, 16512, + -1, -1, -1, -1, 16640, 16768, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 16896, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 12544, 17024, 17152, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 17280, 17408, -1, -1, + 17536, 17664, 17792, -1, -1, -1, 6656, 6656, + 6656, 6656, 6656, 6656, 6656, 17920, 18048, 18176, + 18304, 18432, 18560, 18688, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 18816, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 18816, + 18944, 18944, 19072, 19200, 18944, 18944, 18944, 18944, + 18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944, + 18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944, + 18944, 18944, 18944, 18944, 18944, 18944, 18944, 18944, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 18816 + }, + { + 0x39ce, 0x9ce7, 0x0e73, 0x183e, 0x739f, 0x39ce, 0x9ce7, 0xce73, + 0xf739, 0x83de, 0x4a51, 0x94a5, 0x5294, 0xc4ca, 0x6312, 0x2108, + 0x1084, 0x0842, 0x2931, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5, 0x0012, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x74a5, + 0x39ce, 0x9ee7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, + 0xe739, 0x739c, 0x2a4c, 0x94a5, 0x5294, 0x2902, 0x949d, 0x214a, + 0x8124, 0x1294, 0x2901, 0x94a5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4000, 0x004a, 0x0000, 0x4800, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4800, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0xa400, + 0x5294, 0x294a, 0x9025, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0x0000, 0x2520, 0x0000, 0x0000, 0x0480, + 0x0000, 0x2520, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000, + 0x8000, 0x5ad6, 0xad6b, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0048, 0x54a4, 0xb5a3, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x68da, 0xb5a3, 0xdad1, 0x6368, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0xad6b, 0x96b5, 0x4494, 0xc229, 0x9488, 0xb5ad, 0x5ad6, 0xad6b, + 0x4235, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd690, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5a9, 0x2108, 0x108d, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4842, 0xad6b, 0xd6b5, 0x6c96, 0xb5ad, 0x08d6, + 0x4d69, 0xd6b6, 0x211a, 0x2108, 0x1084, 0x0842, 0x4211, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x11a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x4235, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x4842, 0xad6b, 0xd6b5, 0x6b5a, 0x108d, + 0x0842, 0x8421, 0x4210, 0x2108, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0xd68c, 0x6b5a, 0xb5ad, 0x8636, 0x5294, 0x318e, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x4631, 0xad6b, + 0xd68d, 0x6b5a, 0xb5ad, 0x5a36, 0xa36b, 0xd6b5, 0x18da, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0xa318, 0x36b5, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0642, 0x8421, 0x4210, 0x18c8, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0x5ad1, 0xad6b, 0xd6b5, 0x6b5a, 0xadad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd034, 0x0000, 0xb5a0, 0x5ad6, 0x0d6b, 0x0000, + 0x001a, 0xb5a0, 0x5ad6, 0x006b, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x2800, 0x0005, 0x0000, 0x0500, 0x0000, + 0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x0000, 0x35a0, 0x0000, 0x0d68, 0xd680, + 0x001a, 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x01ad, 0x1a00, 0x0000, 0x0000, 0x0000, + 0x35a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x0000, 0xb5a0, 0x1ad6, 0x0d68, 0x0000, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0140, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x6800, 0xb5a0, 0x00d6, 0x0000, 0x0000, + 0x001a, 0x0000, 0x4000, 0x0003, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x000d, 0x0000, 0x0000, 0x0000, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa529, 0x5294, 0x0049, 0x0000, + 0x000d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6b40, 0x000d, 0x4000, 0x0d6b, 0xd6b4, + 0x001a, 0x0000, 0x5a00, 0x0003, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5200, 0x294a, 0x04a5, + 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd000, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x0006, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0034, + 0x0000, 0xb400, 0x40d6, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0, + 0x5ad0, 0xad6b, 0x0035, 0x5000, 0x0000, 0x0000, 0xad68, 0xd6b5, + 0x035a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01a0, + 0x5ad0, 0xad6b, 0xd681, 0x0000, 0x0000, 0x0000, 0xad00, 0xd6b5, + 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad00, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1a00, 0xa068, 0x2949, 0x0025, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb5a0, 0x5ad6, 0xad6b, 0xd6b5, 0x035a, + 0xb5ad, 0x40d6, 0x006b, 0x0000, 0x6b5a, 0xb5ad, 0x5ad6, 0xa06b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x0000, 0x0000, 0x4000, 0x0003, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5a, 0xb40d, + 0x5ad6, 0xa06b, 0x0035, 0x035a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xad00, 0x0001, 0x6b40, 0x000d, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb5a0, 0x00d6, 0x0000, 0x0000, 0x0000, + 0x3400, 0x5a00, 0x0003, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b5a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x2900, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x00d6, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, + 0x00d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb400, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb400, 0x0006, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1ad0, 0xad68, 0xd6b5, 0x001a, 0x0000, 0x4000, 0xa003, 0xd6b5, + 0x6b5a, 0xb5ad, 0x0006, 0x0000, 0x0500, 0x001a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x0002, 0x0000, + 0x4a52, 0xa529, 0x5294, 0xd6ca, 0x039a, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x5a00, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x35ad, 0x0000, 0x0d68, 0x0000, 0x0000, 0x3400, + 0x0000, 0xa000, 0x06b5, 0x0000, 0x0012, 0x2520, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9480, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0d68, + 0x0680, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4000, 0xad03, 0xd6b5, 0x035a, 0x340d, 0x5a00, + 0xad6b, 0xd6b5, 0x0000, 0x8000, 0x5ad6, 0xad6b, 0xd6b5, 0x6800, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x035a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xb5ad, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x40d0, 0xad6b, 0xd035, 0x0000, 0x3400, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd680, 0x6b5a, 0xb5ad, 0x0006, 0x0000, 0x0000, 0x0000, + 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xb400, 0x1ad6, 0xad00, 0xd681, 0x001a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, + 0xad03, 0x0001, 0x681a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd000, 0x6b5a, 0xb5ad, + 0x4006, 0x006b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x35ad, 0x5ad0, 0xad6b, 0xd6b5, 0x6b5a, 0xb40d, 0x5ad6, + 0x0d6b, 0x0000, 0x001a, 0x0000, 0x00d0, 0xad00, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x1ad6, 0x0000, 0xd680, 0x6b5a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x9024, 0x0252, 0x0000, 0x0000, 0x0000, + 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x94a4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x04a4, + 0xc631, 0x6318, 0x318c, 0xe746, 0x181c, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0xf194, 0x7285, 0x6184, 0x294a, + 0xa4a5, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa4c9, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x8ca5, 0x39ce, 0xc8e7, + 0xd5a4, 0xe73a, 0x739c, 0x0008, 0x1080, 0x0842, 0x24a5, 0x04a5, + 0x2108, 0x1084, 0x0842, 0x24a5, 0x04a5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x0294, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0x000d, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0252, 0xa529, 0x5204, 0x0002, 0x0000, 0x0000, 0x8120, 0x1294, + 0x0000, 0x9480, 0x4a52, 0x2409, 0x4090, 0x0002, 0x0280, 0x0000, + 0x0000, 0x0000, 0x0948, 0x0000, 0x4a52, 0x0129, 0x0000, 0x2948, + 0x0025, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4000, 0x094a, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x2652, 0xa525, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x8129, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x04a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x004a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x0894, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x0421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2948, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x094a, 0x94a4, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0x8009, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x2529, 0x5200, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x0002, 0x94a4, 0x4a52, 0xa529, 0x1294, 0x2948, + 0x94a5, 0x0252, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2000, 0x94a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa400, + 0x5294, 0x004a, 0x6800, 0x01ad, 0x0000, 0x4000, 0x294a, 0x94a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0129, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x2902, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0x2529, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x094a, 0x0000, + 0x4a51, 0x0129, 0x5200, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x0012, 0x0000, 0x0000, 0xd6b4, 0x001a, 0x0012, + 0x8000, 0x0094, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, + 0x2935, 0x0001, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x04a4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x04a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a40, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x0000, 0x0000, 0x0000, 0x2000, + 0x94a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5290, 0x004a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9480, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x94a4, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x6800, 0x35ad, 0x5ad9, 0xad6b, 0xd6b5, 0x949a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6b40, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x0252, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3400, 0x4000, 0x0003, 0x0680, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x5a00, 0x5203, 0x094a, 0x0000, 0x0000, + 0x0000, 0x4a00, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa520, 0x0094, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1ad0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4000, 0xad6b, 0xd6b5, 0x001a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad68, 0xd6b5, + 0x6b5a, 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, + 0x4006, 0xad6b, 0xd001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a00, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0xd6b5, 0x035a, 0x35a0, + 0x5a00, 0x0003, 0x0000, 0x0000, 0x8000, 0x0006, 0x0000, 0xd000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb40d, + 0x00d6, 0x0d68, 0x0000, 0x6b40, 0x01a0, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xd000, 0x001a, 0x0000, 0x4000, 0x0003, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1a00, + 0x0d00, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1b46, 0x8c63, 0xc631, 0x2318, 0x318d, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x9488, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, + 0xce73, 0xe739, 0x739c, 0x1084, 0x0842, 0x8421, 0x4210, 0x2124, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x4a52, 0xa529, 0x5294, + 0x4212, 0x2108, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x324c, 0x9922, 0x5294, 0x294a, 0x54a5, 0xa652, 0xa524, + 0x5224, 0x4929, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x7108, + 0x4a40, 0x94a5, 0x5294, 0xc4ca, 0x6312, 0x2108, 0x1084, 0x0842, + 0x2931, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2900, 0x94a5, 0x0012, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2900, 0x94a5, 0x4a52, 0x2529, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x494a, 0x9529, + 0x5202, 0x294a, 0x04a5, 0x39ce, 0x9ce7, 0x4e73, 0x294a, 0x73a5, + 0x0240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x0001, 0x4a52, 0xa529, 0x5294, + 0x094a, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x210d, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x0421, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0xad6b, 0x0035, 0x0000, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x90c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0xb5a3, 0x5a36, 0x631b, 0xd18c, 0x6b5a, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0xad18, 0x31b5, 0x68c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x5a31, + 0x631b, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x4318, 0x294a, 0x94a5, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x1ad6, + 0x01a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xad00, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0x0003, 0x0000, + 0x0000, 0x4800, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x2529, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, + 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, + 0x5ad6, 0xa003, 0x0035, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x35ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xad68, 0x06b5, 0x6b5a, 0xb5ad, + 0x00d6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x8000, 0x0006, 0x0000, 0x0000, 0x0000, + 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4000, 0xad6b, 0xd6b5, 0x035a, 0x0000, 0x0000, 0x0000, 0xd6b4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, 0x01ad, + 0x40d0, 0x006b, 0x0000, 0x0340, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, 0x8000, 0x5ad6, + 0xad6b, 0x0035, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x01ad, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xd000, 0x0000, 0x000d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, + 0xad6b, 0xd6b5, 0x0000, 0xb5ad, 0x00d6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0xad00, 0xd6b5, 0x6b5a, 0xb400, 0x40d6, 0x0003, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, + 0x5ad6, 0x0d6b, 0x0034, 0x6800, 0xb40d, 0x0006, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, + 0x1ad6, 0x0000, 0xd000, 0x681a, 0x000d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0xd000, 0x001a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, + 0x5ad6, 0xad6b, 0x0035, 0x681a, 0x000d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0680, 0x001a, 0xb5ad, + 0x1ad6, 0x0068, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x6b5a, 0xb400, 0x1ad6, 0xad68, 0x06b5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, + 0x5ad6, 0xad03, 0xd6b5, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb400, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0x006b, 0xd6b4, 0x6b5a, 0xb40d, + 0x5a06, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xb5ad, 0x00d6, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5ad, + 0x5ad6, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6800, 0x35ad, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x035a, 0x39ce, 0x0007, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xad68, 0x0001, 0x0000, 0x0000, 0x9ce7, 0xce73, 0xd6b9, 0x6b5a, + 0x35ad, 0x5a00, 0xad6b, 0x06b5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6b4, 0x001a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0xb652, 0x24d6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x9000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, + 0x4200, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0x0003, 0xd680, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x0000, 0x0000, 0x1a00, 0x0000, 0x0000, 0x0000, + 0x0000, 0x00d0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xd680, 0x6b5a, 0xb5a0, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xb5ad, 0x5ad6, 0xad03, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0x0d6b, + 0xd680, 0x6b5a, 0x81ad, 0x40d6, 0xad6b, 0x0035, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x0031, 0x6318, 0x318c, + 0x18c6, 0xb5ad, 0x5ad6, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, + 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0x5ad1, 0xad6b, 0x0035, + 0x0000, 0x8c63, 0xc631, 0x6318, 0x0000, 0x18c0, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1084, 0x0802, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1080, 0x0040, 0x8020, 0x4210, 0x2108, 0x1084, + 0x0840, 0x8021, 0x0200, 0x0000, 0x1000, 0x0000, 0x8020, 0x0200, + 0x2108, 0x1080, 0x0040, 0x8020, 0x0200, 0x2008, 0x1080, 0x0040, + 0x8420, 0x4010, 0x2108, 0x1084, 0x0840, 0x8021, 0x4210, 0x0100, + 0x1084, 0x0842, 0x8421, 0x4200, 0x2108, 0x1084, 0x0842, 0x8421, + 0x0210, 0x0000, 0x1080, 0x0802, 0x8421, 0x4200, 0x2108, 0x1084, + 0x0842, 0x8421, 0x0210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0252, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x094a, 0x0000, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009, 0x0000, + 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x04a5, 0x4a40, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a40, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a40, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0x2529, 0x0000, 0x0000, 0x0000, + 0x2108, 0x1084, 0x0842, 0x2921, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0948, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x0001, 0x4a52, 0xa529, 0x0004, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0x0009, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0x0129, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x094a, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x0094, 0x0000, + 0x0000, 0x4a52, 0xa529, 0x5294, 0x0002, 0x0000, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x0094, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x0025, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x04a5, 0x4a52, 0xa529, 0x0094, 0x0000, 0x0000, 0x0012, + 0xa529, 0x5294, 0x294a, 0x04a5, 0x4a52, 0xa529, 0x5294, 0x094a, + 0x0000, 0x4a52, 0xa529, 0x5294, 0x294a, 0x04a5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x0252, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7380, + 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, + 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, + 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, + 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, + 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, + 0x0000 + } +}; diff --git a/gllib/unictype/bitmap.h b/gllib/unictype/bitmap.h new file mode 100644 index 0000000..0ac58f0 --- /dev/null +++ b/gllib/unictype/bitmap.h @@ -0,0 +1,47 @@ +/* Three-level bitmap lookup. + Copyright (C) 2000-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2000-2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +static inline int bitmap_lookup (const void *table, ucs4_t uc); + +/* These values are currently hardcoded into gen-ctype.c. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 + +static inline int +bitmap_lookup (const void *table, ucs4_t uc) +{ + unsigned int index1 = uc >> header_0; + if (index1 < ((const int *) table)[0]) + { + int lookup1 = ((const int *) table)[1 + index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> header_2) & header_3; + int lookup2 = ((const short *) table)[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc >> 5) & header_4; + unsigned int lookup3 = ((const int *) table)[lookup2 + index3]; + + return (lookup3 >> (uc & 0x1f)) & 1; + } + } + } + return 0; +} diff --git a/gllib/unictype/block_test.c b/gllib/unictype/block_test.c new file mode 100644 index 0000000..7c58ca0 --- /dev/null +++ b/gllib/unictype/block_test.c @@ -0,0 +1,30 @@ +/* Blocks of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +bool +uc_is_block (ucs4_t uc, const uc_block_t *block) +{ + if (block != NULL) + return ((ucs4_t) (uc - block->start) <= block->end - block->start); + else + return false; +} diff --git a/gllib/unictype/blocks.c b/gllib/unictype/blocks.c new file mode 100644 index 0000000..d12d2fe --- /dev/null +++ b/gllib/unictype/blocks.c @@ -0,0 +1,62 @@ +/* Blocks of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "blocks.h" + +const uc_block_t * +uc_block (ucs4_t uc) +{ + unsigned int first_index; + unsigned int last_index; + + if (uc < blocks_level1_threshold) + { + unsigned int index1 = uc >> blocks_level1_shift; + first_index = blocks_level1[2 * index1]; + last_index = blocks_level1[2 * index1 + 1]; + } + else + { + first_index = blocks_upper_first_index; + last_index = blocks_upper_last_index; + } + /* We know that the relevant blocks are blocks[i] with + first_index <= i < last_index. Now perform a binary search. */ + while (first_index < last_index) + { + unsigned int mid_index = (first_index + last_index) / 2; + if (blocks[mid_index].end < uc) + first_index = mid_index + 1; + else if (uc < blocks[mid_index].start) + last_index = mid_index; + else + return &blocks[mid_index]; + } + return NULL; +} + +void +uc_all_blocks (const uc_block_t **blocksp, size_t *countp) +{ + *blocksp = blocks; + *countp = sizeof (blocks) / sizeof (blocks[0]); +} diff --git a/gllib/unictype/blocks.h b/gllib/unictype/blocks.h new file mode 100644 index 0000000..d353bac --- /dev/null +++ b/gllib/unictype/blocks.h @@ -0,0 +1,926 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Unicode blocks. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +static const uc_block_t blocks[] = +{ + { 0x0000, 0x007F, "Basic Latin" }, + { 0x0080, 0x00FF, "Latin-1 Supplement" }, + { 0x0100, 0x017F, "Latin Extended-A" }, + { 0x0180, 0x024F, "Latin Extended-B" }, + { 0x0250, 0x02AF, "IPA Extensions" }, + { 0x02B0, 0x02FF, "Spacing Modifier Letters" }, + { 0x0300, 0x036F, "Combining Diacritical Marks" }, + { 0x0370, 0x03FF, "Greek and Coptic" }, + { 0x0400, 0x04FF, "Cyrillic" }, + { 0x0500, 0x052F, "Cyrillic Supplement" }, + { 0x0530, 0x058F, "Armenian" }, + { 0x0590, 0x05FF, "Hebrew" }, + { 0x0600, 0x06FF, "Arabic" }, + { 0x0700, 0x074F, "Syriac" }, + { 0x0750, 0x077F, "Arabic Supplement" }, + { 0x0780, 0x07BF, "Thaana" }, + { 0x07C0, 0x07FF, "NKo" }, + { 0x0800, 0x083F, "Samaritan" }, + { 0x0840, 0x085F, "Mandaic" }, + { 0x08A0, 0x08FF, "Arabic Extended-A" }, + { 0x0900, 0x097F, "Devanagari" }, + { 0x0980, 0x09FF, "Bengali" }, + { 0x0A00, 0x0A7F, "Gurmukhi" }, + { 0x0A80, 0x0AFF, "Gujarati" }, + { 0x0B00, 0x0B7F, "Oriya" }, + { 0x0B80, 0x0BFF, "Tamil" }, + { 0x0C00, 0x0C7F, "Telugu" }, + { 0x0C80, 0x0CFF, "Kannada" }, + { 0x0D00, 0x0D7F, "Malayalam" }, + { 0x0D80, 0x0DFF, "Sinhala" }, + { 0x0E00, 0x0E7F, "Thai" }, + { 0x0E80, 0x0EFF, "Lao" }, + { 0x0F00, 0x0FFF, "Tibetan" }, + { 0x1000, 0x109F, "Myanmar" }, + { 0x10A0, 0x10FF, "Georgian" }, + { 0x1100, 0x11FF, "Hangul Jamo" }, + { 0x1200, 0x137F, "Ethiopic" }, + { 0x1380, 0x139F, "Ethiopic Supplement" }, + { 0x13A0, 0x13FF, "Cherokee" }, + { 0x1400, 0x167F, "Unified Canadian Aboriginal Syllabics" }, + { 0x1680, 0x169F, "Ogham" }, + { 0x16A0, 0x16FF, "Runic" }, + { 0x1700, 0x171F, "Tagalog" }, + { 0x1720, 0x173F, "Hanunoo" }, + { 0x1740, 0x175F, "Buhid" }, + { 0x1760, 0x177F, "Tagbanwa" }, + { 0x1780, 0x17FF, "Khmer" }, + { 0x1800, 0x18AF, "Mongolian" }, + { 0x18B0, 0x18FF, "Unified Canadian Aboriginal Syllabics Extended" }, + { 0x1900, 0x194F, "Limbu" }, + { 0x1950, 0x197F, "Tai Le" }, + { 0x1980, 0x19DF, "New Tai Lue" }, + { 0x19E0, 0x19FF, "Khmer Symbols" }, + { 0x1A00, 0x1A1F, "Buginese" }, + { 0x1A20, 0x1AAF, "Tai Tham" }, + { 0x1AB0, 0x1AFF, "Combining Diacritical Marks Extended" }, + { 0x1B00, 0x1B7F, "Balinese" }, + { 0x1B80, 0x1BBF, "Sundanese" }, + { 0x1BC0, 0x1BFF, "Batak" }, + { 0x1C00, 0x1C4F, "Lepcha" }, + { 0x1C50, 0x1C7F, "Ol Chiki" }, + { 0x1C80, 0x1C8F, "Cyrillic Extended-C" }, + { 0x1CC0, 0x1CCF, "Sundanese Supplement" }, + { 0x1CD0, 0x1CFF, "Vedic Extensions" }, + { 0x1D00, 0x1D7F, "Phonetic Extensions" }, + { 0x1D80, 0x1DBF, "Phonetic Extensions Supplement" }, + { 0x1DC0, 0x1DFF, "Combining Diacritical Marks Supplement" }, + { 0x1E00, 0x1EFF, "Latin Extended Additional" }, + { 0x1F00, 0x1FFF, "Greek Extended" }, + { 0x2000, 0x206F, "General Punctuation" }, + { 0x2070, 0x209F, "Superscripts and Subscripts" }, + { 0x20A0, 0x20CF, "Currency Symbols" }, + { 0x20D0, 0x20FF, "Combining Diacritical Marks for Symbols" }, + { 0x2100, 0x214F, "Letterlike Symbols" }, + { 0x2150, 0x218F, "Number Forms" }, + { 0x2190, 0x21FF, "Arrows" }, + { 0x2200, 0x22FF, "Mathematical Operators" }, + { 0x2300, 0x23FF, "Miscellaneous Technical" }, + { 0x2400, 0x243F, "Control Pictures" }, + { 0x2440, 0x245F, "Optical Character Recognition" }, + { 0x2460, 0x24FF, "Enclosed Alphanumerics" }, + { 0x2500, 0x257F, "Box Drawing" }, + { 0x2580, 0x259F, "Block Elements" }, + { 0x25A0, 0x25FF, "Geometric Shapes" }, + { 0x2600, 0x26FF, "Miscellaneous Symbols" }, + { 0x2700, 0x27BF, "Dingbats" }, + { 0x27C0, 0x27EF, "Miscellaneous Mathematical Symbols-A" }, + { 0x27F0, 0x27FF, "Supplemental Arrows-A" }, + { 0x2800, 0x28FF, "Braille Patterns" }, + { 0x2900, 0x297F, "Supplemental Arrows-B" }, + { 0x2980, 0x29FF, "Miscellaneous Mathematical Symbols-B" }, + { 0x2A00, 0x2AFF, "Supplemental Mathematical Operators" }, + { 0x2B00, 0x2BFF, "Miscellaneous Symbols and Arrows" }, + { 0x2C00, 0x2C5F, "Glagolitic" }, + { 0x2C60, 0x2C7F, "Latin Extended-C" }, + { 0x2C80, 0x2CFF, "Coptic" }, + { 0x2D00, 0x2D2F, "Georgian Supplement" }, + { 0x2D30, 0x2D7F, "Tifinagh" }, + { 0x2D80, 0x2DDF, "Ethiopic Extended" }, + { 0x2DE0, 0x2DFF, "Cyrillic Extended-A" }, + { 0x2E00, 0x2E7F, "Supplemental Punctuation" }, + { 0x2E80, 0x2EFF, "CJK Radicals Supplement" }, + { 0x2F00, 0x2FDF, "Kangxi Radicals" }, + { 0x2FF0, 0x2FFF, "Ideographic Description Characters" }, + { 0x3000, 0x303F, "CJK Symbols and Punctuation" }, + { 0x3040, 0x309F, "Hiragana" }, + { 0x30A0, 0x30FF, "Katakana" }, + { 0x3100, 0x312F, "Bopomofo" }, + { 0x3130, 0x318F, "Hangul Compatibility Jamo" }, + { 0x3190, 0x319F, "Kanbun" }, + { 0x31A0, 0x31BF, "Bopomofo Extended" }, + { 0x31C0, 0x31EF, "CJK Strokes" }, + { 0x31F0, 0x31FF, "Katakana Phonetic Extensions" }, + { 0x3200, 0x32FF, "Enclosed CJK Letters and Months" }, + { 0x3300, 0x33FF, "CJK Compatibility" }, + { 0x3400, 0x4DBF, "CJK Unified Ideographs Extension A" }, + { 0x4DC0, 0x4DFF, "Yijing Hexagram Symbols" }, + { 0x4E00, 0x9FFF, "CJK Unified Ideographs" }, + { 0xA000, 0xA48F, "Yi Syllables" }, + { 0xA490, 0xA4CF, "Yi Radicals" }, + { 0xA4D0, 0xA4FF, "Lisu" }, + { 0xA500, 0xA63F, "Vai" }, + { 0xA640, 0xA69F, "Cyrillic Extended-B" }, + { 0xA6A0, 0xA6FF, "Bamum" }, + { 0xA700, 0xA71F, "Modifier Tone Letters" }, + { 0xA720, 0xA7FF, "Latin Extended-D" }, + { 0xA800, 0xA82F, "Syloti Nagri" }, + { 0xA830, 0xA83F, "Common Indic Number Forms" }, + { 0xA840, 0xA87F, "Phags-pa" }, + { 0xA880, 0xA8DF, "Saurashtra" }, + { 0xA8E0, 0xA8FF, "Devanagari Extended" }, + { 0xA900, 0xA92F, "Kayah Li" }, + { 0xA930, 0xA95F, "Rejang" }, + { 0xA960, 0xA97F, "Hangul Jamo Extended-A" }, + { 0xA980, 0xA9DF, "Javanese" }, + { 0xA9E0, 0xA9FF, "Myanmar Extended-B" }, + { 0xAA00, 0xAA5F, "Cham" }, + { 0xAA60, 0xAA7F, "Myanmar Extended-A" }, + { 0xAA80, 0xAADF, "Tai Viet" }, + { 0xAAE0, 0xAAFF, "Meetei Mayek Extensions" }, + { 0xAB00, 0xAB2F, "Ethiopic Extended-A" }, + { 0xAB30, 0xAB6F, "Latin Extended-E" }, + { 0xAB70, 0xABBF, "Cherokee Supplement" }, + { 0xABC0, 0xABFF, "Meetei Mayek" }, + { 0xAC00, 0xD7AF, "Hangul Syllables" }, + { 0xD7B0, 0xD7FF, "Hangul Jamo Extended-B" }, + { 0xD800, 0xDB7F, "High Surrogates" }, + { 0xDB80, 0xDBFF, "High Private Use Surrogates" }, + { 0xDC00, 0xDFFF, "Low Surrogates" }, + { 0xE000, 0xF8FF, "Private Use Area" }, + { 0xF900, 0xFAFF, "CJK Compatibility Ideographs" }, + { 0xFB00, 0xFB4F, "Alphabetic Presentation Forms" }, + { 0xFB50, 0xFDFF, "Arabic Presentation Forms-A" }, + { 0xFE00, 0xFE0F, "Variation Selectors" }, + { 0xFE10, 0xFE1F, "Vertical Forms" }, + { 0xFE20, 0xFE2F, "Combining Half Marks" }, + { 0xFE30, 0xFE4F, "CJK Compatibility Forms" }, + { 0xFE50, 0xFE6F, "Small Form Variants" }, + { 0xFE70, 0xFEFF, "Arabic Presentation Forms-B" }, + { 0xFF00, 0xFFEF, "Halfwidth and Fullwidth Forms" }, + { 0xFFF0, 0xFFFF, "Specials" }, + { 0x10000, 0x1007F, "Linear B Syllabary" }, + { 0x10080, 0x100FF, "Linear B Ideograms" }, + { 0x10100, 0x1013F, "Aegean Numbers" }, + { 0x10140, 0x1018F, "Ancient Greek Numbers" }, + { 0x10190, 0x101CF, "Ancient Symbols" }, + { 0x101D0, 0x101FF, "Phaistos Disc" }, + { 0x10280, 0x1029F, "Lycian" }, + { 0x102A0, 0x102DF, "Carian" }, + { 0x102E0, 0x102FF, "Coptic Epact Numbers" }, + { 0x10300, 0x1032F, "Old Italic" }, + { 0x10330, 0x1034F, "Gothic" }, + { 0x10350, 0x1037F, "Old Permic" }, + { 0x10380, 0x1039F, "Ugaritic" }, + { 0x103A0, 0x103DF, "Old Persian" }, + { 0x10400, 0x1044F, "Deseret" }, + { 0x10450, 0x1047F, "Shavian" }, + { 0x10480, 0x104AF, "Osmanya" }, + { 0x104B0, 0x104FF, "Osage" }, + { 0x10500, 0x1052F, "Elbasan" }, + { 0x10530, 0x1056F, "Caucasian Albanian" }, + { 0x10600, 0x1077F, "Linear A" }, + { 0x10800, 0x1083F, "Cypriot Syllabary" }, + { 0x10840, 0x1085F, "Imperial Aramaic" }, + { 0x10860, 0x1087F, "Palmyrene" }, + { 0x10880, 0x108AF, "Nabataean" }, + { 0x108E0, 0x108FF, "Hatran" }, + { 0x10900, 0x1091F, "Phoenician" }, + { 0x10920, 0x1093F, "Lydian" }, + { 0x10980, 0x1099F, "Meroitic Hieroglyphs" }, + { 0x109A0, 0x109FF, "Meroitic Cursive" }, + { 0x10A00, 0x10A5F, "Kharoshthi" }, + { 0x10A60, 0x10A7F, "Old South Arabian" }, + { 0x10A80, 0x10A9F, "Old North Arabian" }, + { 0x10AC0, 0x10AFF, "Manichaean" }, + { 0x10B00, 0x10B3F, "Avestan" }, + { 0x10B40, 0x10B5F, "Inscriptional Parthian" }, + { 0x10B60, 0x10B7F, "Inscriptional Pahlavi" }, + { 0x10B80, 0x10BAF, "Psalter Pahlavi" }, + { 0x10C00, 0x10C4F, "Old Turkic" }, + { 0x10C80, 0x10CFF, "Old Hungarian" }, + { 0x10E60, 0x10E7F, "Rumi Numeral Symbols" }, + { 0x11000, 0x1107F, "Brahmi" }, + { 0x11080, 0x110CF, "Kaithi" }, + { 0x110D0, 0x110FF, "Sora Sompeng" }, + { 0x11100, 0x1114F, "Chakma" }, + { 0x11150, 0x1117F, "Mahajani" }, + { 0x11180, 0x111DF, "Sharada" }, + { 0x111E0, 0x111FF, "Sinhala Archaic Numbers" }, + { 0x11200, 0x1124F, "Khojki" }, + { 0x11280, 0x112AF, "Multani" }, + { 0x112B0, 0x112FF, "Khudawadi" }, + { 0x11300, 0x1137F, "Grantha" }, + { 0x11400, 0x1147F, "Newa" }, + { 0x11480, 0x114DF, "Tirhuta" }, + { 0x11580, 0x115FF, "Siddham" }, + { 0x11600, 0x1165F, "Modi" }, + { 0x11660, 0x1167F, "Mongolian Supplement" }, + { 0x11680, 0x116CF, "Takri" }, + { 0x11700, 0x1173F, "Ahom" }, + { 0x118A0, 0x118FF, "Warang Citi" }, + { 0x11AC0, 0x11AFF, "Pau Cin Hau" }, + { 0x11C00, 0x11C6F, "Bhaiksuki" }, + { 0x11C70, 0x11CBF, "Marchen" }, + { 0x12000, 0x123FF, "Cuneiform" }, + { 0x12400, 0x1247F, "Cuneiform Numbers and Punctuation" }, + { 0x12480, 0x1254F, "Early Dynastic Cuneiform" }, + { 0x13000, 0x1342F, "Egyptian Hieroglyphs" }, + { 0x14400, 0x1467F, "Anatolian Hieroglyphs" }, + { 0x16800, 0x16A3F, "Bamum Supplement" }, + { 0x16A40, 0x16A6F, "Mro" }, + { 0x16AD0, 0x16AFF, "Bassa Vah" }, + { 0x16B00, 0x16B8F, "Pahawh Hmong" }, + { 0x16F00, 0x16F9F, "Miao" }, + { 0x16FE0, 0x16FFF, "Ideographic Symbols and Punctuation" }, + { 0x17000, 0x187FF, "Tangut" }, + { 0x18800, 0x18AFF, "Tangut Components" }, + { 0x1B000, 0x1B0FF, "Kana Supplement" }, + { 0x1BC00, 0x1BC9F, "Duployan" }, + { 0x1BCA0, 0x1BCAF, "Shorthand Format Controls" }, + { 0x1D000, 0x1D0FF, "Byzantine Musical Symbols" }, + { 0x1D100, 0x1D1FF, "Musical Symbols" }, + { 0x1D200, 0x1D24F, "Ancient Greek Musical Notation" }, + { 0x1D300, 0x1D35F, "Tai Xuan Jing Symbols" }, + { 0x1D360, 0x1D37F, "Counting Rod Numerals" }, + { 0x1D400, 0x1D7FF, "Mathematical Alphanumeric Symbols" }, + { 0x1D800, 0x1DAAF, "Sutton SignWriting" }, + { 0x1E000, 0x1E02F, "Glagolitic Supplement" }, + { 0x1E800, 0x1E8DF, "Mende Kikakui" }, + { 0x1E900, 0x1E95F, "Adlam" }, + { 0x1EE00, 0x1EEFF, "Arabic Mathematical Alphabetic Symbols" }, + { 0x1F000, 0x1F02F, "Mahjong Tiles" }, + { 0x1F030, 0x1F09F, "Domino Tiles" }, + { 0x1F0A0, 0x1F0FF, "Playing Cards" }, + { 0x1F100, 0x1F1FF, "Enclosed Alphanumeric Supplement" }, + { 0x1F200, 0x1F2FF, "Enclosed Ideographic Supplement" }, + { 0x1F300, 0x1F5FF, "Miscellaneous Symbols and Pictographs" }, + { 0x1F600, 0x1F64F, "Emoticons" }, + { 0x1F650, 0x1F67F, "Ornamental Dingbats" }, + { 0x1F680, 0x1F6FF, "Transport and Map Symbols" }, + { 0x1F700, 0x1F77F, "Alchemical Symbols" }, + { 0x1F780, 0x1F7FF, "Geometric Shapes Extended" }, + { 0x1F800, 0x1F8FF, "Supplemental Arrows-C" }, + { 0x1F900, 0x1F9FF, "Supplemental Symbols and Pictographs" }, + { 0x20000, 0x2A6DF, "CJK Unified Ideographs Extension B" }, + { 0x2A700, 0x2B73F, "CJK Unified Ideographs Extension C" }, + { 0x2B740, 0x2B81F, "CJK Unified Ideographs Extension D" }, + { 0x2B820, 0x2CEAF, "CJK Unified Ideographs Extension E" }, + { 0x2F800, 0x2FA1F, "CJK Compatibility Ideographs Supplement" }, + { 0xE0000, 0xE007F, "Tags" }, + { 0xE0100, 0xE01EF, "Variation Selectors Supplement" }, + { 0xF0000, 0xFFFFF, "Supplementary Private Use Area-A" }, + { 0x100000, 0x10FFFF, "Supplementary Private Use Area-B" } +}; +#define blocks_level1_shift 8 +#define blocks_level1_threshold 0x28000 +static const uint16_t blocks_level1[640 * 2] = +{ + 0, 2, + 2, 4, + 3, 6, + 6, 8, + 8, 9, + 9, 12, + 12, 13, + 13, 17, + 17, 20, + 20, 22, + 22, 24, + 24, 26, + 26, 28, + 28, 30, + 30, 32, + 32, 33, + 33, 35, + 35, 36, + 36, 37, + 36, 39, + 39, 40, + 39, 40, + 39, 42, + 42, 47, + 47, 49, + 49, 53, + 53, 56, + 56, 59, + 59, 64, + 64, 67, + 67, 68, + 68, 69, + 69, 73, + 73, 76, + 76, 77, + 77, 78, + 78, 81, + 81, 84, + 84, 85, + 85, 88, + 88, 89, + 89, 91, + 91, 92, + 92, 93, + 93, 96, + 96, 100, + 100, 102, + 102, 104, + 104, 107, + 107, 113, + 113, 114, + 114, 115, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 116, + 115, 117, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 117, 118, + 118, 119, + 118, 119, + 118, 119, + 118, 119, + 118, 121, + 121, 122, + 121, 124, + 124, 126, + 126, 131, + 131, 136, + 136, 140, + 140, 144, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 145, + 144, 146, + 146, 147, + 146, 147, + 146, 147, + 146, 148, + 148, 149, + 148, 149, + 148, 149, + 148, 149, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 149, 150, + 150, 151, + 150, 151, + 151, 153, + 152, 153, + 152, 153, + 153, 159, + 159, 161, + 161, 163, + 163, 167, + 167, 170, + 170, 175, + 175, 179, + 179, 181, + 181, 182, + 181, 182, + 182, 187, + 187, 191, + 191, 195, + 195, 199, + 199, 201, + 201, 201, + 201, 202, + 202, 202, + 202, 205, + 205, 209, + 209, 212, + 212, 213, + 213, 215, + 215, 216, + 216, 219, + 219, 220, + 220, 221, + 221, 221, + 221, 222, + 222, 222, + 222, 224, + 224, 224, + 224, 224, + 224, 224, + 224, 225, + 224, 225, + 224, 225, + 224, 225, + 225, 227, + 226, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 227, + 227, 228, + 227, 228, + 227, 228, + 227, 228, + 227, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 228, + 228, 229, + 228, 229, + 228, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 229, + 229, 230, + 229, 230, + 229, 232, + 232, 233, + 233, 233, + 233, 233, + 233, 233, + 233, 235, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 235, 236, + 236, 237, + 236, 237, + 236, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 237, + 237, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 238, + 238, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 240, + 240, 241, + 241, 242, + 242, 243, + 243, 245, + 245, 246, + 245, 246, + 245, 246, + 245, 246, + 246, 247, + 246, 247, + 246, 247, + 247, 247, + 247, 247, + 247, 247, + 247, 247, + 247, 247, + 247, 248, + 248, 248, + 248, 248, + 248, 248, + 248, 248, + 248, 248, + 248, 248, + 248, 248, + 248, 249, + 249, 250, + 250, 250, + 250, 250, + 250, 250, + 250, 250, + 250, 251, + 251, 251, + 251, 254, + 254, 255, + 255, 256, + 256, 257, + 256, 257, + 256, 257, + 257, 260, + 260, 262, + 262, 263, + 263, 264, + 264, 264, + 264, 264, + 264, 264, + 264, 264, + 264, 264, + 264, 264, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265, + 264, 265 +}; +#define blocks_upper_first_index 264 +#define blocks_upper_last_index 273 diff --git a/gllib/unictype/categ_C.c b/gllib/unictype/categ_C.c new file mode 100644 index 0000000..685d107 --- /dev/null +++ b/gllib/unictype/categ_C.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_C table. */ +#include "categ_C.h" + +const uc_general_category_t UC_CATEGORY_C = + { UC_CATEGORY_MASK_C, 0, { &u_categ_C } }; diff --git a/gllib/unictype/categ_C.h b/gllib/unictype/categ_C.h new file mode 100644 index 0000000..cb331f0 --- /dev/null +++ b/gllib/unictype/categ_C.h @@ -0,0 +1,994 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[5 << 7]; + /*unsigned*/ int level3[78 << 4]; + } +u_categ_C = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 512, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384 + }, + { + 18 + 640 * sizeof (short) / sizeof (int) + 0, + 18 + 640 * sizeof (short) / sizeof (int) + 16, + 18 + 640 * sizeof (short) / sizeof (int) + 32, + 18 + 640 * sizeof (short) / sizeof (int) + 48, + 18 + 640 * sizeof (short) / sizeof (int) + 64, + 18 + 640 * sizeof (short) / sizeof (int) + 80, + 18 + 640 * sizeof (short) / sizeof (int) + 96, + 18 + 640 * sizeof (short) / sizeof (int) + 112, + 18 + 640 * sizeof (short) / sizeof (int) + 128, + 18 + 640 * sizeof (short) / sizeof (int) + 144, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 176, + 18 + 640 * sizeof (short) / sizeof (int) + 192, + 18 + 640 * sizeof (short) / sizeof (int) + 208, + 18 + 640 * sizeof (short) / sizeof (int) + 224, + 18 + 640 * sizeof (short) / sizeof (int) + 240, + 18 + 640 * sizeof (short) / sizeof (int) + 256, + 18 + 640 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 288, + 18 + 640 * sizeof (short) / sizeof (int) + 304, + 18 + 640 * sizeof (short) / sizeof (int) + 320, + 18 + 640 * sizeof (short) / sizeof (int) + 336, + 18 + 640 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 400, + 18 + 640 * sizeof (short) / sizeof (int) + 416, + 18 + 640 * sizeof (short) / sizeof (int) + 432, + 18 + 640 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 464, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 496, + 18 + 640 * sizeof (short) / sizeof (int) + 512, + 18 + 640 * sizeof (short) / sizeof (int) + 528, + 18 + 640 * sizeof (short) / sizeof (int) + 544, + 18 + 640 * sizeof (short) / sizeof (int) + 560, + 18 + 640 * sizeof (short) / sizeof (int) + 576, + 18 + 640 * sizeof (short) / sizeof (int) + 592, + 18 + 640 * sizeof (short) / sizeof (int) + 608, + 18 + 640 * sizeof (short) / sizeof (int) + 624, + 18 + 640 * sizeof (short) / sizeof (int) + 640, + 18 + 640 * sizeof (short) / sizeof (int) + 656, + 18 + 640 * sizeof (short) / sizeof (int) + 672, + 18 + 640 * sizeof (short) / sizeof (int) + 688, + 18 + 640 * sizeof (short) / sizeof (int) + 704, + 18 + 640 * sizeof (short) / sizeof (int) + 720, + 18 + 640 * sizeof (short) / sizeof (int) + 736, + 18 + 640 * sizeof (short) / sizeof (int) + 752, + 18 + 640 * sizeof (short) / sizeof (int) + 768, + 18 + 640 * sizeof (short) / sizeof (int) + 784, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 800, + 18 + 640 * sizeof (short) / sizeof (int) + 816, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 832, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 848, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 864, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 880, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 896, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 912, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 928, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 944, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 960, + 18 + 640 * sizeof (short) / sizeof (int) + 976, + 18 + 640 * sizeof (short) / sizeof (int) + 992, + 18 + 640 * sizeof (short) / sizeof (int) + 1008, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1024, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 1040, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 1056, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 1072, + 18 + 640 * sizeof (short) / sizeof (int) + 1088, + 18 + 640 * sizeof (short) / sizeof (int) + 1104, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1120, + 18 + 640 * sizeof (short) / sizeof (int) + 1136, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1152, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1168, + 18 + 640 * sizeof (short) / sizeof (int) + 1184, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1200, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1216, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 1232, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + 18 + 640 * sizeof (short) / sizeof (int) + 480 + }, + { + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000, + 0xFFFFFFFF, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03000000, + 0x0000280F, 0x00000004, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00010000, 0x01800000, 0x00000001, + 0x00011900, 0x00000000, 0x0000FF00, 0xFFE0F800, + 0x3000003F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x0000C000, 0x00000000, 0x00001800, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000, + 0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030, + 0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F, + 0x00044011, 0x0C120200, 0xFFFEC440, 0xFDFC0030, + 0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030, + 0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F, + 0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030, + 0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030, + 0x00022011, 0x18000000, 0x000F0220, 0x00000030, + 0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F, + 0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF, + 0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000100, 0x0001E000, + 0x01000000, 0x20000000, 0xF8002000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000DF40, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC280C200, 0x00000000, + 0x0000C200, 0x80C20000, 0x008000C2, 0x00000000, + 0x00C20000, 0x00000000, 0x18000000, 0xE0000000, + 0xFC000000, 0x00000000, 0x00000000, 0xC0C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xE0000000, 0x00000000, 0x00000000, 0xFE000000, + 0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000, + 0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00, + 0xFC00C000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x0000F800, 0x00000000, 0xFFC00000, + 0x80000000, 0xF000F000, 0x0000000E, 0xFFE0C000, + 0x00000000, 0x0000F000, 0x3800FC00, 0x00000000, + 0x30000000, 0x00000000, 0x80000000, 0x60000000, + 0xFC00FC00, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000F000, 0xE0000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FF00000, + 0x00000000, 0x07000000, 0x00001C00, 0x00000000, + 0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000, + 0x00000000, 0x00200000, 0x10300020, 0x80230000, + 0x0000F800, 0x00007C00, 0x00000000, 0x000CFFFF, + 0xE0008000, 0x80000000, 0x0000FFFF, 0xFFFE0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00300000, + 0x00C00000, 0x1C000000, 0xFFFC0200, 0xFFFF0FFF, + 0x00000000, 0x00008000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x01F00000, + 0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00, + 0xFF800000, 0x80808080, 0x80808080, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF, + 0x04000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x01800000, 0x00000000, 0x00000000, 0x00000000, + 0x0000001F, 0x0001C000, 0x00000000, 0x00000000, + 0x00008000, 0xF8000000, 0x00000000, 0x0000FFF0, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF, + 0x00000000, 0xFC00F000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000, + 0x00000000, 0x00000000, 0x7FF00000, 0xE0000000, + 0x00000000, 0x00000000, 0x3C004000, 0x80000000, + 0x00000000, 0xFF800000, 0x0C00C000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFF8, 0xFF800000, + 0xFF818181, 0x00008080, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0xFC00C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF, + 0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000, + 0x00000000, 0x00000000, 0x0007FFFC, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFFF, 0x00000000, + 0x00030000, 0x00000000, 0xFFFFFF00, 0xC000FFFF, + 0xFC000000, 0x00000000, 0x00080000, 0x0020F080, + 0x00000000, 0x00000000, 0x00000000, 0xE0000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0xE3030303, 0xCFFF8080, + 0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xF8000000, + 0x00000078, 0x00700000, 0x00000000, 0x00000000, + 0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000, + 0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000, + 0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000, + 0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF800000, 0xFFC00000, 0xFFFFFF00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000002C0, 0x6E400000, 0x00400000, 0x00000000, + 0x80000000, 0xFFFF007F, 0xFFFFFFFF, 0x07C80000, + 0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0F000000, 0x00030000, 0x00000000, + 0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFF800780, + 0x00000000, 0x01C00000, 0x00C00000, 0x00F80000, + 0xE1FC0000, 0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF, + 0x00000000, 0xFFF80000, 0x00000000, 0x03F80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0003C000, 0x7FFF0000, + 0x00000000, 0x20000000, 0x0000FFFC, 0xFC00FE00, + 0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000, + 0x00000000, 0x00000000, 0x0000C000, 0xFFE00001, + 0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800, + 0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000, + 0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF, + 0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x7FF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000, + 0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFC000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xFFE08000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFE000000, 0x80000000, 0xFFFF3C00, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFC0C000, + 0x00000000, 0x00000000, 0x0400FFC0, 0x1F000004, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000FFE0, 0x80000000, + 0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFE000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xE000F800, + 0x0C00FE00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x00000000, 0x00000180, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00, + 0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00200000, 0x00000000, + 0x20000000, 0x1400219B, 0x00000010, 0x00000000, + 0x20201840, 0x84000000, 0x000203A0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000000C0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000010, 0xF5080169, 0x5569157B, 0xA1080869, + 0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0000F000, 0x00000000, 0x00000000, + 0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000, + 0x0000E000, 0x00008000, 0x00000000, 0x0000F000, + 0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F, + 0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF, + 0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000, + 0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF, + 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000 + } +}; diff --git a/gllib/unictype/categ_Cc.c b/gllib/unictype/categ_Cc.c new file mode 100644 index 0000000..7989bed --- /dev/null +++ b/gllib/unictype/categ_Cc.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Cc table. */ +#include "categ_Cc.h" + +const uc_general_category_t UC_CATEGORY_Cc = + { UC_CATEGORY_MASK_Cc, 0, { &u_categ_Cc } }; diff --git a/gllib/unictype/categ_Cc.h b/gllib/unictype/categ_Cc.h new file mode 100644 index 0000000..2a6f374 --- /dev/null +++ b/gllib/unictype/categ_Cc.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_categ_Cc = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000, + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Cf.c b/gllib/unictype/categ_Cf.c new file mode 100644 index 0000000..07c0c70 --- /dev/null +++ b/gllib/unictype/categ_Cf.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Cf table. */ +#include "categ_Cf.h" + +const uc_general_category_t UC_CATEGORY_Cf = + { UC_CATEGORY_MASK_Cf, 0, { &u_categ_Cf } }; diff --git a/gllib/unictype/categ_Cf.h b/gllib/unictype/categ_Cf.h new file mode 100644 index 0000000..25b882f --- /dev/null +++ b/gllib/unictype/categ_Cf.h @@ -0,0 +1,464 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_categ_Cf = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1000003F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F800, 0x00007C00, 0x00000000, 0x0000FFDF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0E000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x20000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Cn.c b/gllib/unictype/categ_Cn.c new file mode 100644 index 0000000..3095681 --- /dev/null +++ b/gllib/unictype/categ_Cn.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Cn table. */ +#include "categ_Cn.h" + +const uc_general_category_t UC_CATEGORY_Cn = + { UC_CATEGORY_MASK_Cn, 0, { &u_categ_Cn } }; diff --git a/gllib/unictype/categ_Cn.h b/gllib/unictype/categ_Cn.h new file mode 100644 index 0000000..02bf264 --- /dev/null +++ b/gllib/unictype/categ_Cn.h @@ -0,0 +1,1118 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[6 << 7]; + /*unsigned*/ int level3[77 << 4]; + } +u_categ_Cn = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 512, + 18 * sizeof (int) / sizeof (short) + 640, + 18 * sizeof (int) / sizeof (short) + 640 + }, + { + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 0, + 18 + 768 * sizeof (short) / sizeof (int) + 16, + 18 + 768 * sizeof (short) / sizeof (int) + 32, + 18 + 768 * sizeof (short) / sizeof (int) + 48, + 18 + 768 * sizeof (short) / sizeof (int) + 64, + 18 + 768 * sizeof (short) / sizeof (int) + 80, + 18 + 768 * sizeof (short) / sizeof (int) + 96, + 18 + 768 * sizeof (short) / sizeof (int) + 112, + 18 + 768 * sizeof (short) / sizeof (int) + 128, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 144, + 18 + 768 * sizeof (short) / sizeof (int) + 160, + 18 + 768 * sizeof (short) / sizeof (int) + 176, + 18 + 768 * sizeof (short) / sizeof (int) + 192, + 18 + 768 * sizeof (short) / sizeof (int) + 208, + 18 + 768 * sizeof (short) / sizeof (int) + 224, + 18 + 768 * sizeof (short) / sizeof (int) + 240, + 18 + 768 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 272, + 18 + 768 * sizeof (short) / sizeof (int) + 288, + 18 + 768 * sizeof (short) / sizeof (int) + 304, + 18 + 768 * sizeof (short) / sizeof (int) + 320, + 18 + 768 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 384, + 18 + 768 * sizeof (short) / sizeof (int) + 400, + 18 + 768 * sizeof (short) / sizeof (int) + 416, + 18 + 768 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 464, + 18 + 768 * sizeof (short) / sizeof (int) + 480, + 18 + 768 * sizeof (short) / sizeof (int) + 496, + 18 + 768 * sizeof (short) / sizeof (int) + 512, + 18 + 768 * sizeof (short) / sizeof (int) + 528, + 18 + 768 * sizeof (short) / sizeof (int) + 544, + 18 + 768 * sizeof (short) / sizeof (int) + 560, + 18 + 768 * sizeof (short) / sizeof (int) + 576, + 18 + 768 * sizeof (short) / sizeof (int) + 592, + 18 + 768 * sizeof (short) / sizeof (int) + 608, + 18 + 768 * sizeof (short) / sizeof (int) + 624, + 18 + 768 * sizeof (short) / sizeof (int) + 640, + 18 + 768 * sizeof (short) / sizeof (int) + 656, + 18 + 768 * sizeof (short) / sizeof (int) + 672, + 18 + 768 * sizeof (short) / sizeof (int) + 688, + 18 + 768 * sizeof (short) / sizeof (int) + 704, + 18 + 768 * sizeof (short) / sizeof (int) + 720, + 18 + 768 * sizeof (short) / sizeof (int) + 736, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 768, + 18 + 768 * sizeof (short) / sizeof (int) + 784, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 800, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 816, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 832, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 864, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 880, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 896, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 912, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 928, + 18 + 768 * sizeof (short) / sizeof (int) + 944, + 18 + 768 * sizeof (short) / sizeof (int) + 960, + 18 + 768 * sizeof (short) / sizeof (int) + 976, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 992, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 1008, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 1024, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 1040, + 18 + 768 * sizeof (short) / sizeof (int) + 1056, + 18 + 768 * sizeof (short) / sizeof (int) + 1072, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1088, + 18 + 768 * sizeof (short) / sizeof (int) + 1104, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1120, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1136, + 18 + 768 * sizeof (short) / sizeof (int) + 1152, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1168, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1184, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 1200, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + 18 + 768 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 768 * sizeof (short) / sizeof (int) + 1216 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03000000, + 0x0000280F, 0x00000004, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00010000, 0x01800000, 0x00000001, + 0x00011900, 0x00000000, 0x0000FF00, 0xFFE0F800, + 0x20000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00001800, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000, + 0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030, + 0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F, + 0x00044011, 0x0C120200, 0xFFFEC440, 0xFDFC0030, + 0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030, + 0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F, + 0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030, + 0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030, + 0x00022011, 0x18000000, 0x000F0220, 0x00000030, + 0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F, + 0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF, + 0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000100, 0x0001E000, + 0x01000000, 0x20000000, 0xF8002000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000DF40, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC280C200, 0x00000000, + 0x0000C200, 0x80C20000, 0x008000C2, 0x00000000, + 0x00C20000, 0x00000000, 0x18000000, 0xE0000000, + 0xFC000000, 0x00000000, 0x00000000, 0xC0C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xE0000000, 0x00000000, 0x00000000, 0xFE000000, + 0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000, + 0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00, + 0xFC008000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x0000F800, 0x00000000, 0xFFC00000, + 0x80000000, 0xF000F000, 0x0000000E, 0xFFE0C000, + 0x00000000, 0x0000F000, 0x3800FC00, 0x00000000, + 0x30000000, 0x00000000, 0x80000000, 0x60000000, + 0xFC00FC00, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000F000, 0xE0000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FF00000, + 0x00000000, 0x07000000, 0x00001C00, 0x00000000, + 0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000, + 0x00000000, 0x00200000, 0x10300020, 0x80230000, + 0x00000000, 0x00000000, 0x00000000, 0x000C0020, + 0xE0008000, 0x80000000, 0x0000FFFF, 0xFFFE0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00300000, + 0x00C00000, 0x1C000000, 0xFFFC0200, 0xFFFF0FFF, + 0x00000000, 0x00008000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x01F00000, + 0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00, + 0xFF800000, 0x80808080, 0x80808080, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF, + 0x04000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x01800000, 0x00000000, 0x00000000, 0x00000000, + 0x0000001F, 0x0001C000, 0x00000000, 0x00000000, + 0x00008000, 0xF8000000, 0x00000000, 0x0000FFF0, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF, + 0x00000000, 0xFC00F000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000, + 0x00000000, 0x00000000, 0x7FF00000, 0xE0000000, + 0x00000000, 0x00000000, 0x3C004000, 0x80000000, + 0x00000000, 0xFF800000, 0x0C00C000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFF8, 0xFF800000, + 0xFF818181, 0x00008080, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0xFC00C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF, + 0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000, + 0x00000000, 0x00000000, 0x0007FFFC, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFFF, 0x00000000, + 0x00030000, 0x00000000, 0xFFFFFF00, 0xC000FFFF, + 0xFC000000, 0x00000000, 0x00080000, 0x0020F080, + 0x00000000, 0x00000000, 0x00000000, 0x60000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0xE3030303, 0xC1FF8080, + 0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xF8000000, + 0x00000078, 0x00700000, 0x00000000, 0x00000000, + 0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000, + 0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000, + 0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000, + 0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF800000, 0xFFC00000, 0xFFFFFF00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000002C0, 0x6E400000, 0x00400000, 0x00000000, + 0x80000000, 0xFFFF007F, 0xFFFFFFFF, 0x07C80000, + 0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0F000000, 0x00030000, 0x00000000, + 0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFF800780, + 0x00000000, 0x01C00000, 0x00C00000, 0x00F80000, + 0xE1FC0000, 0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF, + 0x00000000, 0xFFF80000, 0x00000000, 0x03F80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0003C000, 0x7FFF0000, + 0x00000000, 0x00000000, 0x0000FFFC, 0xFC00FE00, + 0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000, + 0x00000000, 0x00000000, 0x0000C000, 0xFFE00001, + 0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800, + 0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000, + 0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF, + 0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x7FF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000, + 0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFC000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xFFE08000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFE000000, 0x80000000, 0xFFFF3C00, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFC0C000, + 0x00000000, 0x00000000, 0x0400FFC0, 0x1F000004, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000FFE0, 0x80000000, + 0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFE000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xE000F800, + 0x0C00FE00, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x00000000, 0x00000180, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00, + 0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00200000, 0x00000000, + 0x20000000, 0x1400219B, 0x00000010, 0x00000000, + 0x20201840, 0x84000000, 0x000203A0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000000C0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000010, 0xF5080169, 0x5569157B, 0xA1080869, + 0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0000F000, 0x00000000, 0x00000000, + 0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000, + 0x0000E000, 0x00008000, 0x00000000, 0x0000F000, + 0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F, + 0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF, + 0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000, + 0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF, + 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000 + } +}; diff --git a/gllib/unictype/categ_Co.c b/gllib/unictype/categ_Co.c new file mode 100644 index 0000000..5eec6b8 --- /dev/null +++ b/gllib/unictype/categ_Co.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Co table. */ +#include "categ_Co.h" + +const uc_general_category_t UC_CATEGORY_Co = + { UC_CATEGORY_MASK_Co, 0, { &u_categ_Co } }; diff --git a/gllib/unictype/categ_Co.h b/gllib/unictype/categ_Co.h new file mode 100644 index 0000000..4480f6c --- /dev/null +++ b/gllib/unictype/categ_Co.h @@ -0,0 +1,310 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[2 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_categ_Co = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 32 + }, + { + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF + } +}; diff --git a/gllib/unictype/categ_Cs.c b/gllib/unictype/categ_Cs.c new file mode 100644 index 0000000..4a36061 --- /dev/null +++ b/gllib/unictype/categ_Cs.c @@ -0,0 +1,30 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static bool +uc_is_category_Cs (ucs4_t uc) +{ + return (uc >= 0xd800 && uc < 0xe000); +} + +const uc_general_category_t UC_CATEGORY_Cs = + { UC_CATEGORY_MASK_Cs, 1, { &uc_is_category_Cs } }; diff --git a/gllib/unictype/categ_Cs.h b/gllib/unictype/categ_Cs.h new file mode 100644 index 0000000..a4bbfc7 --- /dev/null +++ b/gllib/unictype/categ_Cs.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_categ_Cs = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF + } +}; diff --git a/gllib/unictype/categ_L.c b/gllib/unictype/categ_L.c new file mode 100644 index 0000000..ddfbd81 --- /dev/null +++ b/gllib/unictype/categ_L.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_L table. */ +#include "categ_L.h" + +const uc_general_category_t UC_CATEGORY_L = + { UC_CATEGORY_MASK_L, 0, { &u_categ_L } }; diff --git a/gllib/unictype/categ_L.h b/gllib/unictype/categ_L.h new file mode 100644 index 0000000..89d338b --- /dev/null +++ b/gllib/unictype/categ_L.h @@ -0,0 +1,672 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[65 << 4]; + } +u_categ_L = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + 4 + 384 * sizeof (short) / sizeof (int) + 992, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 1008, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 1024, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0x00000000, 0x00000000, 0x00000000, 0xBCDF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF, + 0x00000000, 0xFFFFFFFF, 0x000007FF, 0xFFFEC000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060, + 0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF, + 0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003, + 0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003, + 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000, + 0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x02000003, + 0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003, + 0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000, + 0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003, + 0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003, + 0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003, + 0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000, + 0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000, + 0xFEF02596, 0x200DECAE, 0xF000005F, 0x00000000, + 0x00000001, 0x00000000, 0xFFFFFEFF, 0x00001FFF, + 0x00001F00, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062, + 0x00004003, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FE07FF, + 0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF, + 0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000, + 0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000, + 0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F, + 0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x0063DE00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x3E2FFC84, 0xF3FFBD50, 0x000043E0, 0x00000000, + 0x00000018, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x183E0000, 0xFFFFFFFE, 0xFFFFFFFF, + 0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000, + 0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF, + 0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x7C00FFDF, + 0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0xC47FFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x001C07FF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000, + 0x00000000, 0x00000000, 0x00000000, 0xFFDF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF03FD, 0x003FFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x0000FF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x00FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x0000FFFF, 0xFFFF0000, 0x000001FF, + 0xFFFFFFF8, 0x0000007F, 0xFFFF0000, 0x0047FFFF, + 0xFFFFFFF8, 0x0007FFFF, 0x1400001E, 0x00000000, + 0xFFFBFFFF, 0x00000FFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000, + 0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x00000010, 0x00000000, + 0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF, + 0xFFFFFFFF, 0x0000FFFF, 0x0000000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x03FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_LC.c b/gllib/unictype/categ_LC.c new file mode 100644 index 0000000..fc2d99c --- /dev/null +++ b/gllib/unictype/categ_LC.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_LC table. */ +#include "categ_LC.h" + +const uc_general_category_t UC_CATEGORY_LC = + { UC_CATEGORY_MASK_LC, 0, { &u_categ_LC } }; diff --git a/gllib/unictype/categ_LC.h b/gllib/unictype/categ_LC.h new file mode 100644 index 0000000..13f3ca8 --- /dev/null +++ b/gllib/unictype/categ_LC.h @@ -0,0 +1,359 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[19 << 4]; + } +u_categ_LC = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x00200000, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF7FFFFFF, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFEFFFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xB8CF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x007FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000FFF, 0x00000000, 0xFEFFF800, + 0x07FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3E2FFC84, 0xF21FBD50, 0x000043E0, 0x00000000, + 0x00000018, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xCFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF, + 0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFEFFFF, + 0xFFFF78FF, 0x00FF7FFF, 0x00000000, 0x04000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x07FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Ll.c b/gllib/unictype/categ_Ll.c new file mode 100644 index 0000000..875240a --- /dev/null +++ b/gllib/unictype/categ_Ll.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Ll table. */ +#include "categ_Ll.h" + +const uc_general_category_t UC_CATEGORY_Ll = + { UC_CATEGORY_MASK_Ll, 0, { &u_categ_Ll } }; diff --git a/gllib/unictype/categ_Ll.h b/gllib/unictype/categ_Ll.h new file mode 100644 index 0000000..3658bad --- /dev/null +++ b/gllib/unictype/categ_Ll.h @@ -0,0 +1,355 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[18 << 4]; + } +u_categ_Ll = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE, + 0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF, + 0xAAAAAAAA, 0x55AAAAAA, 0xAAAAAB55, 0xD4AAAAAA, + 0x4E243129, 0xE6512D2A, 0xB5555240, 0xAA29AAAA, + 0xAAAAAAAA, 0x93FAAAAA, 0xFFFFAA85, 0xFFFFFFFF, + 0xFFEFFFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x388A0000, + 0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA, + 0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA, + 0xAAAAAAAA, 0x0000AAAA, 0x00000000, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000FFF, 0x00000000, 0xFEFFF800, + 0x07FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0xBFEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF, + 0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0008C400, 0x32108000, 0x000043C0, 0x00000000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x0FDA1562, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0008501A, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AAA, + 0x0AAAAAAA, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xAAABAAA8, 0xAAAAAAAA, 0x95FEAAAA, + 0xAABA50AA, 0x00A002AA, 0x00000000, 0x04000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x07FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFC000000, 0x000FFFFF, 0xFFDFC000, 0x000000FF, + 0x0FFFFFFC, 0xEBC00000, 0x0000FFEF, 0xFFFFFC00, + 0xC000000F, 0x00FFFFFF, 0xFFFC0000, 0x00000FFF, + 0xFFFFFFC0, 0xFC000000, 0x000FFFFF, 0xFFFFC000, + 0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF, + 0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003, + 0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000, + 0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Lm.c b/gllib/unictype/categ_Lm.c new file mode 100644 index 0000000..7e7def2 --- /dev/null +++ b/gllib/unictype/categ_Lm.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Lm table. */ +#include "categ_Lm.h" + +const uc_general_category_t UC_CATEGORY_Lm = + { UC_CATEGORY_MASK_Lm, 0, { &u_categ_Lm } }; diff --git a/gllib/unictype/categ_Lm.h b/gllib/unictype/categ_Lm.h new file mode 100644 index 0000000..9d33c38 --- /dev/null +++ b/gllib/unictype/categ_Lm.h @@ -0,0 +1,371 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[22 << 4]; + } +u_categ_Lm = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x0003FFC3, 0x0000501F, + 0x00000000, 0x00000000, 0x00000000, 0x04100000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x02000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x04300000, + 0x04000000, 0x00000110, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000008, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x010007FF, + 0xF8000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x083E0000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x70000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00200000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0x80000000, + 0x30000000, 0x00000000, 0x00000000, 0x00000000, + 0xFF800000, 0x00000000, 0x00000000, 0x00010000, + 0x00000100, 0x00000000, 0x00000000, 0x03000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x00000040, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x20000000, 0x00180000, + 0x00000000, 0x00000000, 0xF0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001 + } +}; diff --git a/gllib/unictype/categ_Lo.c b/gllib/unictype/categ_Lo.c new file mode 100644 index 0000000..66e8b23 --- /dev/null +++ b/gllib/unictype/categ_Lo.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Lo table. */ +#include "categ_Lo.h" + +const uc_general_category_t UC_CATEGORY_Lo = + { UC_CATEGORY_MASK_Lo, 0, { &u_categ_Lo } }; diff --git a/gllib/unictype/categ_Lo.h b/gllib/unictype/categ_Lo.h new file mode 100644 index 0000000..034e87f --- /dev/null +++ b/gllib/unictype/categ_Lo.h @@ -0,0 +1,660 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[62 << 4]; + } +u_categ_Lo = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04000400, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x08000000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00100000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x000707FF, + 0x00000000, 0xFFFFFFFF, 0x000007FE, 0xFFFEC000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C000, + 0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x000007FF, + 0x003FFFFF, 0x00000000, 0x01FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFC0003, + 0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003, + 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000, + 0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x02000003, + 0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003, + 0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000, + 0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003, + 0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003, + 0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003, + 0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000, + 0xFFFFFFFE, 0x000DFFFF, 0x0000003F, 0x00000000, + 0xFEF02596, 0x200DECAE, 0xF000001F, 0x00000000, + 0x00000001, 0x00000000, 0xFFFFFEFF, 0x00001FFF, + 0x00001F00, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062, + 0x00004003, 0x00000000, 0xFFFF0000, 0xE7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FE07FF, + 0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF, + 0xFFFFFFFF, 0x000FFFFF, 0x10000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFF7, 0x00FFFFFF, + 0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000, + 0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000, + 0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F, + 0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x00FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x0063DE00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01E00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0x000000FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000, + 0x00000040, 0x10000000, 0xFFFFFFFE, 0xFFFFFFFF, + 0x807FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x87FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF0FFF, 0x00000C00, 0x00000000, 0x00004000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0xF8800000, + 0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000, + 0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF, + 0xFFFFFFF0, 0x0007FFFF, 0x00000000, 0x7C00FF9F, + 0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0xC47EFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0x18000005, 0x000407FF, + 0x007E7E7E, 0x00007F7F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000007, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xA0000000, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000, + 0x00000000, 0x00000000, 0x00000000, 0xFFDF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xFFFEFFC0, + 0x3FFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF03FD, 0x003FFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x0000FF0F, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x00FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x0000FFFF, 0xFFFF0000, 0x000001FF, + 0xFFFFFFF8, 0x0000007F, 0xFFFF0000, 0x0047FFFF, + 0xFFFFFFF8, 0x0007FFFF, 0x1400001E, 0x00000000, + 0xFFFBFFFF, 0x00000FFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000, + 0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x00000010, 0x00000000, + 0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF, + 0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x03FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Lt.c b/gllib/unictype/categ_Lt.c new file mode 100644 index 0000000..cd0bdf2 --- /dev/null +++ b/gllib/unictype/categ_Lt.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Lt table. */ +#include "categ_Lt.h" + +const uc_general_category_t UC_CATEGORY_Lt = + { UC_CATEGORY_MASK_Lt, 0, { &u_categ_Lt } }; diff --git a/gllib/unictype/categ_Lt.h b/gllib/unictype/categ_Lt.h new file mode 100644 index 0000000..e6c7837 --- /dev/null +++ b/gllib/unictype/categ_Lt.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_categ_Lt = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000920, 0x00040000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFF00FF00, 0x1000FF00, 0x00001000, 0x10000000 + } +}; diff --git a/gllib/unictype/categ_Lu.c b/gllib/unictype/categ_Lu.c new file mode 100644 index 0000000..20f116c --- /dev/null +++ b/gllib/unictype/categ_Lu.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Lu table. */ +#include "categ_Lu.h" + +const uc_general_category_t UC_CATEGORY_Lu = + { UC_CATEGORY_MASK_Lu, 0, { &u_categ_Lu } }; diff --git a/gllib/unictype/categ_Lu.h b/gllib/unictype/categ_Lu.h new file mode 100644 index 0000000..39478f4 --- /dev/null +++ b/gllib/unictype/categ_Lu.h @@ -0,0 +1,347 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[16 << 4]; + } +u_categ_Lu = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000, + 0x55555555, 0xAA555555, 0x555554AA, 0x2B555555, + 0xB1DBCED6, 0x11AED2D5, 0x4AAAA490, 0x55D25555, + 0x55555555, 0x6C055555, 0x0000557A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80450000, + 0xFFFED740, 0x00000FFB, 0x551C8000, 0xE6905555, + 0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555, + 0x55555401, 0x55555555, 0x55552AAB, 0x55555555, + 0x55555555, 0xFFFE5555, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0x55555555, 0x55555555, 0x55555555, 0x55555555, + 0x40155555, 0x55555555, 0x55555555, 0x55555555, + 0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00, + 0x00000000, 0x0F000000, 0x0F000F00, 0x0F001F00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3E273884, 0xC00F3D50, 0x00000020, 0x00000000, + 0x00000008, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D, + 0x55555555, 0x55555555, 0x55555555, 0x00042805, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x55555555, 0x00001555, + 0x05555555, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x55545554, 0x55555555, 0x6A005555, + 0x55452855, 0x005F7D55, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FFFFFF, 0xFFF00000, 0x00003FFF, 0xFFFFFF00, + 0xD0000003, 0x003FDE64, 0xFFFF0000, 0x000003FF, + 0x1FDFE7B0, 0x7B000000, 0x0001FC5F, 0xFFFFF000, + 0x0000003F, 0x03FFFFFF, 0xFFF00000, 0x00003FFF, + 0xFFFFFF00, 0xF0000003, 0x003FFFFF, 0xFFFF0000, + 0x000003FF, 0xFFFFFF00, 0x00000001, 0x07FFFFFC, + 0xF0000000, 0x001FFFFF, 0xFFC00000, 0x00007FFF, + 0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_M.c b/gllib/unictype/categ_M.c new file mode 100644 index 0000000..3fc7050 --- /dev/null +++ b/gllib/unictype/categ_M.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_M table. */ +#include "categ_M.h" + +const uc_general_category_t UC_CATEGORY_M = + { UC_CATEGORY_MASK_M, 0, { &u_categ_M } }; diff --git a/gllib/unictype/categ_M.h b/gllib/unictype/categ_M.h new file mode 100644 index 0000000..1e8987c --- /dev/null +++ b/gllib/unictype/categ_M.h @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_categ_M = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000003F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFFFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F, + 0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800, + 0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB, + 0x0000000F, 0xDC000000, 0x00FEFFFF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00023987, 0x00230000, + 0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00C0399F, 0x0000000C, + 0x00000004, 0xC0000000, 0x00803DC7, 0x00000000, + 0x0000000F, 0xC0000000, 0x00603DDF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00603DDF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00803DDF, 0x0000000C, + 0x0000000C, 0x00000000, 0xFF5F8400, 0x000C0000, + 0x00000000, 0x07F20000, 0x00007F80, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F00, 0x00000000, + 0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x7FFFF800, 0xC3C00000, 0x001E3F9D, + 0x3C00BFFC, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0xFFF00000, 0x200FFFFF, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF, + 0x00000000, 0x7FFF0000, 0x00000000, 0x00000000, + 0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800, + 0x00000007, 0x00003FFE, 0x00000000, 0x000FFFC0, + 0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031C21FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x0000FC00, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3FF78000, + 0xC0000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000844, 0x000000F8, 0x00000000, 0x00000000, + 0x00000003, 0xFFF00000, 0x0000003F, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000, + 0x0000000F, 0xFFF80000, 0x00000001, 0x00000020, + 0x00000000, 0x007FFE00, 0x00003008, 0x38000000, + 0x00000000, 0xC19D0000, 0x00000002, 0x0060F800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000037F8, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000007, 0x07FF0000, 0x00000000, 0x00000000, + 0x00000007, 0x001FFF80, 0x00000000, 0x00080000, + 0x00000007, 0xFFF80000, 0x00001C01, 0x00000000, + 0x00000000, 0x40FFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007FF, + 0x0000000F, 0xD0000000, 0x0080399F, 0x001F1FCC, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x0000007F, 0x00000000, + 0x00000000, 0xFFFF0000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF3F8000, 0x30000001, 0x00000000, + 0x00000000, 0xFFFF0000, 0x00000001, 0x00000000, + 0x00000000, 0x00FFF800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF7F8000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFE0000, 0x7FFFFFFF, + 0x00078000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807E3E0, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/categ_Mc.c b/gllib/unictype/categ_Mc.c new file mode 100644 index 0000000..e042daf --- /dev/null +++ b/gllib/unictype/categ_Mc.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Mc table. */ +#include "categ_Mc.h" + +const uc_general_category_t UC_CATEGORY_Mc = + { UC_CATEGORY_MASK_Mc, 0, { &u_categ_Mc } }; diff --git a/gllib/unictype/categ_Mc.h b/gllib/unictype/categ_Mc.h new file mode 100644 index 0000000..4b2f44f --- /dev/null +++ b/gllib/unictype/categ_Mc.h @@ -0,0 +1,359 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[19 << 4]; + } +u_categ_Mc = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000008, 0xC8000000, 0x0000DE01, 0x00000000, + 0x0000000C, 0xC0000000, 0x00801981, 0x00000000, + 0x00000008, 0xC0000000, 0x00000001, 0x00000000, + 0x00000008, 0xC0000000, 0x00001A01, 0x00000000, + 0x0000000C, 0x40000000, 0x00801981, 0x00000000, + 0x00000000, 0xC0000000, 0x00801DC6, 0x00000000, + 0x0000000E, 0x00000000, 0x0000001E, 0x00000000, + 0x0000000C, 0x40000000, 0x00600D9F, 0x00000000, + 0x0000000C, 0xC0000000, 0x00801DC1, 0x00000000, + 0x0000000C, 0x00000000, 0xFF038000, 0x000C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x19021800, 0x00C00000, 0x00003F9C, + 0x1C009F98, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0400000, 0x000001BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01FB0E78, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00A00000, 0x0007E01A, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000010, 0xE8200000, 0x0000001B, 0x00000000, + 0x00000004, 0x000004C2, 0x00000000, 0x000C5C80, + 0x00000000, 0x00300FF0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000C0002, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000C000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000098, 0x00000000, 0x00000000, + 0x00000003, 0xFFF00000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x000C0000, 0x00000000, + 0x00000008, 0xEC300000, 0x00000001, 0x00000000, + 0x00000000, 0x00198000, 0x00002000, 0x28000000, + 0x00000000, 0x00000000, 0x00000000, 0x0020C800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000016D8, + 0x00000005, 0x00000000, 0x00000000, 0x00000000, + 0x00000004, 0x01870000, 0x00000000, 0x00000000, + 0x00000000, 0x00001000, 0x00000000, 0x00000000, + 0x00000004, 0x80380000, 0x00000001, 0x00000000, + 0x00000000, 0x002C7000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000007, + 0x0000000C, 0xC0000000, 0x0080399E, 0x0000000C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00E00000, 0x00000023, 0x00000000, + 0x00000000, 0x7A070000, 0x00000002, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x4F038000, 0x00000000, 0x00000000, + 0x00000000, 0x58070000, 0x00000000, 0x00000000, + 0x00000000, 0x0040D000, 0x00000000, 0x00000000, + 0x00000000, 0x00000043, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40008000, 0x00000000, 0x00000000, + 0x00000000, 0x00120200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFE0000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0007E060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Me.c b/gllib/unictype/categ_Me.c new file mode 100644 index 0000000..865aa06 --- /dev/null +++ b/gllib/unictype/categ_Me.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Me table. */ +#include "categ_Me.h" + +const uc_general_category_t UC_CATEGORY_Me = + { UC_CATEGORY_MASK_Me, 0, { &u_categ_Me } }; diff --git a/gllib/unictype/categ_Me.h b/gllib/unictype/categ_Me.h new file mode 100644 index 0000000..c8b5038 --- /dev/null +++ b/gllib/unictype/categ_Me.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_categ_Me = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000300, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x0000001D, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00070000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Mn.c b/gllib/unictype/categ_Mn.c new file mode 100644 index 0000000..2c1c3d7 --- /dev/null +++ b/gllib/unictype/categ_Mn.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Mn table. */ +#include "categ_Mn.h" + +const uc_general_category_t UC_CATEGORY_Mn = + { UC_CATEGORY_MASK_Mn, 0, { &u_categ_Mn } }; diff --git a/gllib/unictype/categ_Mn.h b/gllib/unictype/categ_Mn.h new file mode 100644 index 0000000..95cbd43 --- /dev/null +++ b/gllib/unictype/categ_Mn.h @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_categ_Mn = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000000F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFFFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F, + 0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800, + 0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB, + 0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C, + 0x00000002, 0x10000000, 0x0000201E, 0x0000000C, + 0x00000006, 0x10000000, 0x00023986, 0x00230000, + 0x00000006, 0x10000000, 0x000021BE, 0x0000000C, + 0x00000002, 0x90000000, 0x0040201E, 0x0000000C, + 0x00000004, 0x00000000, 0x00002001, 0x00000000, + 0x00000001, 0xC0000000, 0x00603DC1, 0x0000000C, + 0x00000002, 0x90000000, 0x00003040, 0x0000000C, + 0x00000002, 0x00000000, 0x0000201E, 0x0000000C, + 0x00000000, 0x00000000, 0x005C0400, 0x00000000, + 0x00000000, 0x07F20000, 0x00007F80, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F00, 0x00000000, + 0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001, + 0x20002064, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0E040187, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5, + 0x00000000, 0x3FFF0000, 0x00000000, 0x00000000, + 0x0000000F, 0x17D00000, 0x00000004, 0x000FF800, + 0x00000003, 0x00003B3C, 0x00000000, 0x0003A340, + 0x00000000, 0x00CFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031021FD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x1FFF0000, 0x0001FFE2, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x00003C00, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3FF08000, + 0xC0000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000844, 0x00000060, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000, + 0x00000007, 0x13C80000, 0x00000000, 0x00000020, + 0x00000000, 0x00667E00, 0x00001008, 0x10000000, + 0x00000000, 0xC19D0000, 0x00000002, 0x00403000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002120, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000003, 0x06780000, 0x00000000, 0x00000000, + 0x00000007, 0x001FEF80, 0x00000000, 0x00080000, + 0x00000003, 0x7FC00000, 0x00001C00, 0x00000000, + 0x00000000, 0x40D38000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007F8, + 0x00000003, 0x10000000, 0x00000001, 0x001F1FC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF000000, 0x0000005C, 0x00000000, + 0x00000000, 0x85F80000, 0x0000000D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xB03C0000, 0x30000001, 0x00000000, + 0x00000000, 0xA7F80000, 0x00000001, 0x00000000, + 0x00000000, 0x00BF2800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FBC, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xBF7F0000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00078000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF8000380, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/categ_N.c b/gllib/unictype/categ_N.c new file mode 100644 index 0000000..d791205 --- /dev/null +++ b/gllib/unictype/categ_N.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_N table. */ +#include "categ_N.h" + +const uc_general_category_t UC_CATEGORY_N = + { UC_CATEGORY_MASK_N, 0, { &u_categ_N } }; diff --git a/gllib/unictype/categ_N.h b/gllib/unictype/categ_N.h new file mode 100644 index 0000000..8f63f9c --- /dev/null +++ b/gllib/unictype/categ_N.h @@ -0,0 +1,447 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[41 << 4]; + } +u_categ_N = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x720C0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x03F0FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00FCFFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0007FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x7F00FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x7F000000, 0x01FFFFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x000FFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0001C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF03FF, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFC0, 0x00000000, + 0x00000000, 0x00000000, 0x07FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF03FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF03FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03F10000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF, + 0x000003E7, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x000FFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x070003FE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x003C0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0xFFFEFF00, 0x00000000, + 0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x003F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x03FF0000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFF80, 0x000FFFFF, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000C00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFFE, + 0x00000000, 0x0000000F, 0x00000402, 0x00000000, + 0x00000000, 0x00000000, 0x003E0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0xFE000000, + 0x00000000, 0x0000FF80, 0x00000000, 0xF8000000, + 0x0FC00000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30000000, 0xFFFCFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x000000FF, 0x60000000, + 0xE0000000, 0x00000000, 0x00000000, 0x0000F800, + 0x00000000, 0x00000000, 0xFF000000, 0xFF000000, + 0x00000000, 0x0000FE00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFC000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC0000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x001FFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x0FFF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFBFF0000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0003FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Nd.c b/gllib/unictype/categ_Nd.c new file mode 100644 index 0000000..994655d --- /dev/null +++ b/gllib/unictype/categ_Nd.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Nd table. */ +#include "categ_Nd.h" + +const uc_general_category_t UC_CATEGORY_Nd = + { UC_CATEGORY_MASK_Nd, 0, { &u_categ_Nd } }; diff --git a/gllib/unictype/categ_Nd.h b/gllib/unictype/categ_Nd.h new file mode 100644 index 0000000..9f176e5 --- /dev/null +++ b/gllib/unictype/categ_Nd.h @@ -0,0 +1,379 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[24 << 4]; + } +u_categ_Nd = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFC0, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF03FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF03FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x03FF0000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Nl.c b/gllib/unictype/categ_Nl.c new file mode 100644 index 0000000..c1a0bdf --- /dev/null +++ b/gllib/unictype/categ_Nl.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Nl table. */ +#include "categ_Nl.h" + +const uc_general_category_t UC_CATEGORY_Nl = + { UC_CATEGORY_MASK_Nl, 0, { &u_categ_Nl } }; diff --git a/gllib/unictype/categ_Nl.h b/gllib/unictype/categ_Nl.h new file mode 100644 index 0000000..44ded55 --- /dev/null +++ b/gllib/unictype/categ_Nl.h @@ -0,0 +1,311 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[7 << 4]; + } +u_categ_Nl = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0001C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x000001E7, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x070003FE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000402, 0x00000000, + 0x00000000, 0x00000000, 0x003E0000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_No.c b/gllib/unictype/categ_No.c new file mode 100644 index 0000000..0415522 --- /dev/null +++ b/gllib/unictype/categ_No.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_No table. */ +#include "categ_No.h" + +const uc_general_category_t UC_CATEGORY_No = + { UC_CATEGORY_MASK_No, 0, { &u_categ_No } }; diff --git a/gllib/unictype/categ_No.h b/gllib/unictype/categ_No.h new file mode 100644 index 0000000..142a8d0 --- /dev/null +++ b/gllib/unictype/categ_No.h @@ -0,0 +1,399 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[29 << 4]; + } +u_categ_No = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x720C0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03F00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00FC0000, + 0x00000000, 0x00000000, 0x00000000, 0x00070000, + 0x00000000, 0x00000000, 0x00000000, 0x7F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x7F000000, 0x01FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000FFC00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x04000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03F10000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x000FFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x003C0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0xFFFEFF00, 0x00000000, + 0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x003F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFF80, 0x000FFFFF, 0x00000000, 0x01E00000, + 0x00000C00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFFE, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0xFE000000, + 0x00000000, 0x0000FF80, 0x00000000, 0xF8000000, + 0x0FC00000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30000000, 0xFFFCFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x000000FF, 0x60000000, + 0xE0000000, 0x00000000, 0x00000000, 0x0000F800, + 0x00000000, 0x00000000, 0xFF000000, 0xFF000000, + 0x00000000, 0x0000FE00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFC000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC0000, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001FFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0C000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0007FC00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xF8000000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0003FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_P.c b/gllib/unictype/categ_P.c new file mode 100644 index 0000000..4a905fd --- /dev/null +++ b/gllib/unictype/categ_P.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_P table. */ +#include "categ_P.h" + +const uc_general_category_t UC_CATEGORY_P = + { UC_CATEGORY_MASK_P, 0, { &u_categ_P } }; diff --git a/gllib/unictype/categ_P.h b/gllib/unictype/categ_P.h new file mode 100644 index 0000000..20e0656 --- /dev/null +++ b/gllib/unictype/categ_P.h @@ -0,0 +1,455 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[43 << 4]; + } +u_categ_P = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 656, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 672, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x8C00F7EE, 0xB8000001, 0x28000000, + 0x00000000, 0x88C00882, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x40000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000000, + 0x00000600, 0x40000000, 0x00000049, 0x00180000, + 0xC8003600, 0x00000000, 0x00000000, 0x00003C00, + 0x00000000, 0x00000000, 0x00100000, 0x00000000, + 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03800000, + 0x00000000, 0x7FFF0000, 0x40000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00100000, + 0x00000000, 0x00000000, 0x0C008000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0017FFF0, 0x3C000000, 0x00000000, 0x00000000, + 0x00000020, 0x00000000, 0x061F0000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FC00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000001FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00006000, + 0x18000000, 0x00000000, 0x00000000, 0x00003800, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07700000, 0x00000000, + 0x000007FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00003F7F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0xF0000000, + 0x00000000, 0xF8000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x000800FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000, + 0x00006000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F00, 0x00000600, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x003FFF00, + 0x00000000, 0x00000000, 0x00000060, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xDE000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x0000001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFF3FF0E, 0x20010000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0x40080000, + 0x00000000, 0x00000000, 0x00000000, 0x00FC0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00F00000, + 0x00000000, 0x00000000, 0x0000C000, 0x17000000, + 0x00000000, 0x0000C000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0003FFE, 0x00000000, + 0x00000000, 0x00000000, 0xF0000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0x00000D0B, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x8C00F7EE, 0xB8000001, 0xA8000000, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x01FF0000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x007F0000, + 0x00000000, 0xFE000000, 0x00000000, 0x00000000, + 0x1E000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003F80, 0x00000000, + 0x00000000, 0xD8000000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x0000000F, 0x00300000, + 0x00000000, 0x00000000, 0xE80023E0, 0x00000000, + 0x00000000, 0x3F000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x2800F800, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000003E, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000000, 0x0F800000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F80, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Pc.c b/gllib/unictype/categ_Pc.c new file mode 100644 index 0000000..d28dcfd --- /dev/null +++ b/gllib/unictype/categ_Pc.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Pc table. */ +#include "categ_Pc.h" + +const uc_general_category_t UC_CATEGORY_Pc = + { UC_CATEGORY_MASK_Pc, 0, { &u_categ_Pc } }; diff --git a/gllib/unictype/categ_Pc.h b/gllib/unictype/categ_Pc.h new file mode 100644 index 0000000..87d4a62 --- /dev/null +++ b/gllib/unictype/categ_Pc.h @@ -0,0 +1,164 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_categ_Pc = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32 + }, + { + 0x00000000, 0x00000000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00100001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00180000, 0x0000E000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Pd.c b/gllib/unictype/categ_Pd.c new file mode 100644 index 0000000..438bd1b --- /dev/null +++ b/gllib/unictype/categ_Pd.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Pd table. */ +#include "categ_Pd.h" + +const uc_general_category_t UC_CATEGORY_Pd = + { UC_CATEGORY_MASK_Pd, 0, { &u_categ_Pd } }; diff --git a/gllib/unictype/categ_Pd.h b/gllib/unictype/categ_Pd.h new file mode 100644 index 0000000..6c057c9 --- /dev/null +++ b/gllib/unictype/categ_Pd.h @@ -0,0 +1,184 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_categ_Pd = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112 + }, + { + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000400, 0x40000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000040, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x003F0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x04800000, 0x0C000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00010000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00060000, 0x01000000, 0x00000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Pe.c b/gllib/unictype/categ_Pe.c new file mode 100644 index 0000000..0a841dd --- /dev/null +++ b/gllib/unictype/categ_Pe.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Pe table. */ +#include "categ_Pe.h" + +const uc_general_category_t UC_CATEGORY_Pe = + { UC_CATEGORY_MASK_Pe, 0, { &u_categ_Pe } }; diff --git a/gllib/unictype/categ_Pe.h b/gllib/unictype/categ_Pe.h new file mode 100644 index 0000000..e257630 --- /dev/null +++ b/gllib/unictype/categ_Pe.h @@ -0,0 +1,196 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_categ_Pe = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + 2 + 128 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 144, + 2 + 128 * sizeof (short) / sizeof (int) + 160 + }, + { + 0x00000000, 0x00000200, 0x20000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x28000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x40000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000A00, 0x00000400, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x002AAA00, + 0x00000000, 0x00000000, 0x00000040, 0x0000AA80, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01555550, 0x00000000, 0x0A000000, 0x20000000, + 0x00000000, 0x000002A8, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xCAA2AA00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01000000, 0x55400000, 0x54000115, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000200, 0x20000000, 0x20000000, 0x00000009, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Pf.c b/gllib/unictype/categ_Pf.c new file mode 100644 index 0000000..cf6e975 --- /dev/null +++ b/gllib/unictype/categ_Pf.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Pf table. */ +#include "categ_Pf.h" + +const uc_general_category_t UC_CATEGORY_Pf = + { UC_CATEGORY_MASK_Pf, 0, { &u_categ_Pf } }; diff --git a/gllib/unictype/categ_Pf.h b/gllib/unictype/categ_Pf.h new file mode 100644 index 0000000..60271aa --- /dev/null +++ b/gllib/unictype/categ_Pf.h @@ -0,0 +1,164 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_categ_Pf = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x08000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x22000000, 0x04000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x20002428, 0x00000002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Pi.c b/gllib/unictype/categ_Pi.c new file mode 100644 index 0000000..07f96ed --- /dev/null +++ b/gllib/unictype/categ_Pi.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Pi table. */ +#include "categ_Pi.h" + +const uc_general_category_t UC_CATEGORY_Pi = + { UC_CATEGORY_MASK_Pi, 0, { &u_categ_Pi } }; diff --git a/gllib/unictype/categ_Pi.h b/gllib/unictype/categ_Pi.h new file mode 100644 index 0000000..87f67c8 --- /dev/null +++ b/gllib/unictype/categ_Pi.h @@ -0,0 +1,164 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_categ_Pi = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x99000000, 0x02000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10001214, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Po.c b/gllib/unictype/categ_Po.c new file mode 100644 index 0000000..39a89bb --- /dev/null +++ b/gllib/unictype/categ_Po.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Po table. */ +#include "categ_Po.h" + +const uc_general_category_t UC_CATEGORY_Po = + { UC_CATEGORY_MASK_Po, 0, { &u_categ_Po } }; diff --git a/gllib/unictype/categ_Po.h b/gllib/unictype/categ_Po.h new file mode 100644 index 0000000..266e135 --- /dev/null +++ b/gllib/unictype/categ_Po.h @@ -0,0 +1,435 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_categ_Po = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x8C00D4EE, 0x10000001, 0x00000000, + 0x00000000, 0x80C00082, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x40000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000000, + 0x00000200, 0x00000000, 0x00000049, 0x00180000, + 0xC8003600, 0x00000000, 0x00000000, 0x00003C00, + 0x00000000, 0x00000000, 0x00100000, 0x00000000, + 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03800000, + 0x00000000, 0x7FFF0000, 0x40000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00100000, + 0x00000000, 0x00000000, 0x0C008000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0017FFF0, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x00000000, 0x061F0000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FC00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000001FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00006000, + 0x00000000, 0x00000000, 0x00000000, 0x00003800, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07700000, 0x00000000, + 0x000007BF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00003F7F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0xF0000000, + 0x00000000, 0xF8000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x000800FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00C00000, 0x79FF00FF, 0x7FEBFF8E, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xDE000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xCB7FC9C3, 0xF3FF7C00, 0x0000001A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000000E, 0x20000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0x40080000, + 0x00000000, 0x00000000, 0x00000000, 0x00FC0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00F00000, + 0x00000000, 0x00000000, 0x0000C000, 0x17000000, + 0x00000000, 0x0000C000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0003FFE, 0x00000000, + 0x00000000, 0x00000000, 0xF0000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000800, + 0x027F0000, 0x00010000, 0x80F71E60, 0x00000D03, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x8C00D4EE, 0x10000001, 0x00000000, 0x00000032, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x01FF0000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x007F0000, + 0x00000000, 0xFE000000, 0x00000000, 0x00000000, + 0x1E000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003F80, 0x00000000, + 0x00000000, 0xD8000000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x0000000F, 0x00300000, + 0x00000000, 0x00000000, 0xE80023E0, 0x00000000, + 0x00000000, 0x3F000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x2800F800, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000003E, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000000, 0x0F800000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F80, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Ps.c b/gllib/unictype/categ_Ps.c new file mode 100644 index 0000000..4026145 --- /dev/null +++ b/gllib/unictype/categ_Ps.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Ps table. */ +#include "categ_Ps.h" + +const uc_general_category_t UC_CATEGORY_Ps = + { UC_CATEGORY_MASK_Ps, 0, { &u_categ_Ps } }; diff --git a/gllib/unictype/categ_Ps.h b/gllib/unictype/categ_Ps.h new file mode 100644 index 0000000..557d0bc --- /dev/null +++ b/gllib/unictype/categ_Ps.h @@ -0,0 +1,196 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_categ_Ps = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + 2 + 128 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 144, + 2 + 128 * sizeof (short) / sizeof (int) + 160 + }, + { + 0x00000000, 0x00000100, 0x08000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x14000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x08000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x44000000, 0x00000000, 0x00000020, 0x20000000, + 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000500, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00155500, + 0x00000000, 0x00000000, 0x00000020, 0x00005540, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00AAAAA8, 0x00000000, 0x05000000, 0x10000000, + 0x00000000, 0x00000154, 0x00000004, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x25515500, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00800000, 0xAAA00000, 0x2A00008A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000100, 0x08000000, 0x88000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_S.c b/gllib/unictype/categ_S.c new file mode 100644 index 0000000..3dc9676 --- /dev/null +++ b/gllib/unictype/categ_S.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_S table. */ +#include "categ_S.h" + +const uc_general_category_t UC_CATEGORY_S = + { UC_CATEGORY_MASK_S, 0, { &u_categ_S } }; diff --git a/gllib/unictype/categ_S.h b/gllib/unictype/categ_S.h new file mode 100644 index 0000000..d60c79b --- /dev/null +++ b/gllib/unictype/categ_S.h @@ -0,0 +1,475 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[48 << 4]; + } +u_categ_S = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 640, + 3 + 256 * sizeof (short) / sizeof (int) + 656, + 3 + 256 * sizeof (short) / sizeof (int) + 672, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 688, + 3 + 256 * sizeof (short) / sizeof (int) + 704, + 3 + 256 * sizeof (short) / sizeof (int) + 720, + 3 + 256 * sizeof (short) / sizeof (int) + 656, + 3 + 256 * sizeof (short) / sizeof (int) + 736, + 3 + 256 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1 + }, + { + 0x00000000, 0x70000810, 0x40000000, 0x50000001, + 0x00000000, 0x0113D37C, 0x00800000, 0x00800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC003C, 0xFFFFAFE0, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000030, 0x00000000, 0x00000000, 0x00400000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000004, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0x00000000, + 0x0000C9C0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x40000000, 0x60000200, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00400000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0C0C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x02000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFCE8000E, 0x01500000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x01E0DFBF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1FF007FE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xA0000000, 0xE000E003, 0x6000E000, + 0x00000000, 0x00000000, 0x00040010, 0x1C000000, + 0x00001C00, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0xC1D0037B, 0x0C0042AF, 0x0000BC1F, 0x00000000, + 0xFFFF0C00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF0FF, 0xFFFFF9FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000, + 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF, + 0xFFF00000, 0xFFFFFFFF, 0xFFFFFF9F, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFE000007, 0xFFFFFFFF, 0xF0FFFFFF, 0xCFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFCFFFFF, + 0xFF3FFFFF, 0xE3FFFFFF, 0x0003FDFF, 0x0000F000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000007E0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000, + 0x000C0010, 0xC0C00001, 0x00000000, 0x00000000, + 0x18000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFC30000, 0x00000000, 0xFFFFFFFF, 0x0000000F, + 0x7FFFFFFF, 0xFFFFFC00, 0x000100FF, 0xFFFFFFFF, + 0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x007FFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000600, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x03C00F00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000274, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x70000810, 0x40000000, 0x50000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30007F7F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF800000, 0x00000000, 0xFE000000, + 0x0FFF73FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x01800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000100, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xF0000000, 0x00000020, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0x00001C1F, + 0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0x000001FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000002, 0x08000000, + 0x00200000, 0x00200000, 0x00008000, 0x00008000, + 0x00000200, 0x00000200, 0x00000008, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x07800000, 0x00000000, 0xFFDFE000, + 0x0000006F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF, + 0xFFFF0000, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF, + 0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0, + 0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF, + 0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000, + 0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000, + 0x0003FFFF, 0x00000000, 0x00000001, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Sc.c b/gllib/unictype/categ_Sc.c new file mode 100644 index 0000000..eb44a8c --- /dev/null +++ b/gllib/unictype/categ_Sc.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Sc table. */ +#include "categ_Sc.h" + +const uc_general_category_t UC_CATEGORY_Sc = + { UC_CATEGORY_MASK_Sc, 0, { &u_categ_Sc } }; diff --git a/gllib/unictype/categ_Sc.h b/gllib/unictype/categ_Sc.h new file mode 100644 index 0000000..e5acd72 --- /dev/null +++ b/gllib/unictype/categ_Sc.h @@ -0,0 +1,196 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_categ_Sc = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 144, + 2 + 128 * sizeof (short) / sizeof (int) + 160 + }, + { + 0x00000000, 0x00000010, 0x00000000, 0x00000000, + 0x00000000, 0x0000003C, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000063 + } +}; diff --git a/gllib/unictype/categ_Sk.c b/gllib/unictype/categ_Sk.c new file mode 100644 index 0000000..f575ddb --- /dev/null +++ b/gllib/unictype/categ_Sk.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Sk table. */ +#include "categ_Sk.h" + +const uc_general_category_t UC_CATEGORY_Sk = + { UC_CATEGORY_MASK_Sk, 0, { &u_categ_Sk } }; diff --git a/gllib/unictype/categ_Sk.h b/gllib/unictype/categ_Sk.h new file mode 100644 index 0000000..04f8b0a --- /dev/null +++ b/gllib/unictype/categ_Sk.h @@ -0,0 +1,319 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[9 << 4]; + } +u_categ_Sk = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x40000000, 0x00000001, + 0x00000000, 0x01108100, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC003C, 0xFFFFAFE0, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000030, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xA0000000, 0xE000E003, 0x6000E000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x007FFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000600, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF8000000 + } +}; diff --git a/gllib/unictype/categ_Sm.c b/gllib/unictype/categ_Sm.c new file mode 100644 index 0000000..556ee68 --- /dev/null +++ b/gllib/unictype/categ_Sm.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Sm table. */ +#include "categ_Sm.h" + +const uc_general_category_t UC_CATEGORY_Sm = + { UC_CATEGORY_MASK_Sm, 0, { &u_categ_Sm } }; diff --git a/gllib/unictype/categ_Sm.h b/gllib/unictype/categ_Sm.h new file mode 100644 index 0000000..164a5e0 --- /dev/null +++ b/gllib/unictype/categ_Sm.h @@ -0,0 +1,335 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[13 << 4]; + } +u_categ_Sm = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x70000800, 0x00000000, 0x50000000, + 0x00000000, 0x00021000, 0x00800000, 0x00800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00400000, + 0x000001C0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00040010, 0x1C000000, + 0x00001C00, 0x00000000, 0x00000000, 0x00000000, + 0x01000000, 0x00000000, 0x0000081F, 0x00000000, + 0x0C1F0000, 0x00004049, 0x0014C000, 0xFFF00000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000003, 0x00000000, 0x10000000, + 0xF8000000, 0x000FFFFF, 0xF0000000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00800000, 0x00000002, 0xFF000000, + 0x00000000, 0x00000000, 0x00000000, 0x00008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFF9F, 0xFFFF003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFE000007, 0xFFFFFFFF, 0xF0FFFFFF, 0xCFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFFFF0000, 0x00001F9F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000074, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x70000800, 0x00000000, 0x50000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00001E04, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000002, 0x08000000, + 0x00200000, 0x00200000, 0x00008000, 0x00008000, + 0x00000200, 0x00000200, 0x00000008, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_So.c b/gllib/unictype/categ_So.c new file mode 100644 index 0000000..db2c08d --- /dev/null +++ b/gllib/unictype/categ_So.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_So table. */ +#include "categ_So.h" + +const uc_general_category_t UC_CATEGORY_So = + { UC_CATEGORY_MASK_So, 0, { &u_categ_So } }; diff --git a/gllib/unictype/categ_So.h b/gllib/unictype/categ_So.h new file mode 100644 index 0000000..166d3e2 --- /dev/null +++ b/gllib/unictype/categ_So.h @@ -0,0 +1,447 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[41 << 4]; + } +u_categ_So = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + 3 + 256 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00014240, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000004, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00006000, 0x00000000, 0x00000000, 0x00000000, + 0x0000C000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x40000000, 0x60000200, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00400000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x04000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x05F80000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x02000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFCE8000E, 0x01500000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x01E0DFBF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1FF007FE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0D0037B, 0x0C0042AF, 0x0000B400, 0x00000000, + 0xF3E00C00, 0xFFFFBFB6, 0xFFEB3FFF, 0x000FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFF0FF, 0xFFFFF9FC, 0xFFFFFFFF, 0xEFFFFFFF, + 0x07FFFFFF, 0xFFF00000, 0x0FFFFFFF, 0x7FFFFFFC, + 0xFFFFFFFF, 0x0000007F, 0x000007FF, 0x00000000, + 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFF7FFFFF, 0xFFFFFFFD, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF7FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000FF, + 0xFFF00000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0xFFFFE060, 0xFFCFFFFF, + 0xFF3FFFFF, 0xE3FFFFFF, 0x0003FDFF, 0x0000F000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000007E0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000, + 0x000C0010, 0xC0C00001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFC30000, 0x00000000, 0xFFFFFFFF, 0x0000000F, + 0x7FFFFFFF, 0xFFFFFC00, 0x000100FF, 0xFFFFFFFF, + 0xFFFFFC00, 0x0001FFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x02C00F00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30006110, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF800000, 0x00000000, 0xFE000000, + 0x0FFF73FF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x01800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000100, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xF0000000, 0x00000020, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0x00001C1F, + 0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0x000001FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x07800000, 0x00000000, 0xFFDFE000, + 0x0000006F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF, + 0xFFFF0000, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF, + 0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0, + 0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF, + 0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000, + 0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000, + 0x0003FFFF, 0x00000000, 0x00000001, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Z.c b/gllib/unictype/categ_Z.c new file mode 100644 index 0000000..f89b20c --- /dev/null +++ b/gllib/unictype/categ_Z.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Z table. */ +#include "categ_Z.h" + +const uc_general_category_t UC_CATEGORY_Z = + { UC_CATEGORY_MASK_Z, 0, { &u_categ_Z } }; diff --git a/gllib/unictype/categ_Z.h b/gllib/unictype/categ_Z.h new file mode 100644 index 0000000..ba73071 --- /dev/null +++ b/gllib/unictype/categ_Z.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_categ_Z = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00008300, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Zl.c b/gllib/unictype/categ_Zl.c new file mode 100644 index 0000000..15e5aca --- /dev/null +++ b/gllib/unictype/categ_Zl.c @@ -0,0 +1,30 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static bool +uc_is_category_Zl (ucs4_t uc) +{ + return (uc == 0x2028); +} + +const uc_general_category_t UC_CATEGORY_Zl = + { UC_CATEGORY_MASK_Zl, 1, { &uc_is_category_Zl } }; diff --git a/gllib/unictype/categ_Zl.h b/gllib/unictype/categ_Zl.h new file mode 100644 index 0000000..d692233 --- /dev/null +++ b/gllib/unictype/categ_Zl.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_categ_Zl = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000100, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Zp.c b/gllib/unictype/categ_Zp.c new file mode 100644 index 0000000..ce28eee --- /dev/null +++ b/gllib/unictype/categ_Zp.c @@ -0,0 +1,30 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static bool +uc_is_category_Zp (ucs4_t uc) +{ + return (uc == 0x2029); +} + +const uc_general_category_t UC_CATEGORY_Zp = + { UC_CATEGORY_MASK_Zp, 1, { &uc_is_category_Zp } }; diff --git a/gllib/unictype/categ_Zp.h b/gllib/unictype/categ_Zp.h new file mode 100644 index 0000000..66a702e --- /dev/null +++ b/gllib/unictype/categ_Zp.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_categ_Zp = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_Zs.c b/gllib/unictype/categ_Zs.c new file mode 100644 index 0000000..ce15981 --- /dev/null +++ b/gllib/unictype/categ_Zs.c @@ -0,0 +1,27 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_categ_Zs table. */ +#include "categ_Zs.h" + +const uc_general_category_t UC_CATEGORY_Zs = + { UC_CATEGORY_MASK_Zs, 0, { &u_categ_Zs } }; diff --git a/gllib/unictype/categ_Zs.h b/gllib/unictype/categ_Zs.h new file mode 100644 index 0000000..82d2949 --- /dev/null +++ b/gllib/unictype/categ_Zs.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_categ_Zs = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00008000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/categ_and.c b/gllib/unictype/categ_and.c new file mode 100644 index 0000000..fb79d93 --- /dev/null +++ b/gllib/unictype/categ_and.c @@ -0,0 +1,45 @@ +/* Categories of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +uc_general_category_t +uc_general_category_and (uc_general_category_t category1, + uc_general_category_t category2) +{ + uint32_t bitmask; + uc_general_category_t result; + + bitmask = category1.bitmask & category2.bitmask; + + if (bitmask == category1.bitmask) + return category1; + + if (bitmask == category2.bitmask) + return category2; + + if (bitmask == 0) + return _UC_CATEGORY_NONE; + + result.bitmask = bitmask; + result.generic = 1; + result.lookup.lookup_fn = &uc_is_general_category_withtable; + return result; +} diff --git a/gllib/unictype/categ_and_not.c b/gllib/unictype/categ_and_not.c new file mode 100644 index 0000000..314af21 --- /dev/null +++ b/gllib/unictype/categ_and_not.c @@ -0,0 +1,42 @@ +/* Categories of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +uc_general_category_t +uc_general_category_and_not (uc_general_category_t category1, + uc_general_category_t category2) +{ + uint32_t bitmask; + uc_general_category_t result; + + bitmask = category1.bitmask & ~category2.bitmask; + + if (bitmask == category1.bitmask) + return category1; + + if (bitmask == 0) + return _UC_CATEGORY_NONE; + + result.bitmask = bitmask; + result.generic = 1; + result.lookup.lookup_fn = &uc_is_general_category_withtable; + return result; +} diff --git a/gllib/unictype/categ_byname.c b/gllib/unictype/categ_byname.c new file mode 100644 index 0000000..3a7a433 --- /dev/null +++ b/gllib/unictype/categ_byname.c @@ -0,0 +1,191 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include +#include + +/* Indices stored in the 'struct named_category' elements of the perfect hash + table. We don't use uc_general_category_t values or their addresses + directly, because this would introduce load-time relocations. */ +enum +{ + UC_CATEGORY_INDEX_L, + UC_CATEGORY_INDEX_LC, + UC_CATEGORY_INDEX_Lu, + UC_CATEGORY_INDEX_Ll, + UC_CATEGORY_INDEX_Lt, + UC_CATEGORY_INDEX_Lm, + UC_CATEGORY_INDEX_Lo, + UC_CATEGORY_INDEX_M, + UC_CATEGORY_INDEX_Mn, + UC_CATEGORY_INDEX_Mc, + UC_CATEGORY_INDEX_Me, + UC_CATEGORY_INDEX_N, + UC_CATEGORY_INDEX_Nd, + UC_CATEGORY_INDEX_Nl, + UC_CATEGORY_INDEX_No, + UC_CATEGORY_INDEX_P, + UC_CATEGORY_INDEX_Pc, + UC_CATEGORY_INDEX_Pd, + UC_CATEGORY_INDEX_Ps, + UC_CATEGORY_INDEX_Pe, + UC_CATEGORY_INDEX_Pi, + UC_CATEGORY_INDEX_Pf, + UC_CATEGORY_INDEX_Po, + UC_CATEGORY_INDEX_S, + UC_CATEGORY_INDEX_Sm, + UC_CATEGORY_INDEX_Sc, + UC_CATEGORY_INDEX_Sk, + UC_CATEGORY_INDEX_So, + UC_CATEGORY_INDEX_Z, + UC_CATEGORY_INDEX_Zs, + UC_CATEGORY_INDEX_Zl, + UC_CATEGORY_INDEX_Zp, + UC_CATEGORY_INDEX_C, + UC_CATEGORY_INDEX_Cc, + UC_CATEGORY_INDEX_Cf, + UC_CATEGORY_INDEX_Cs, + UC_CATEGORY_INDEX_Co, + UC_CATEGORY_INDEX_Cn +}; + +#include "unictype/categ_byname.h" + +uc_general_category_t +uc_general_category_byname (const char *category_name) +{ + size_t len; + + len = strlen (category_name); + if (len <= MAX_WORD_LENGTH) + { + char buf[MAX_WORD_LENGTH + 1]; + const struct named_category *found; + + /* Copy category_name into buf, converting '_' and '-' to ' '. */ + { + const char *p = category_name; + char *q = buf; + + for (;; p++, q++) + { + char c = *p; + + if (c == '_' || c == '-') + c = ' '; + *q = c; + if (c == '\0') + break; + } + } + /* Here q == buf + len. */ + + /* Do a hash table lookup, with case-insensitive comparison. */ + found = uc_general_category_lookup (buf, len); + if (found != NULL) + /* Use a 'switch' statement here, because a table would introduce + load-time relocations. */ + switch (found->category_index) + { + case UC_CATEGORY_INDEX_L: + return UC_CATEGORY_L; + case UC_CATEGORY_INDEX_LC: + return UC_CATEGORY_LC; + case UC_CATEGORY_INDEX_Lu: + return UC_CATEGORY_Lu; + case UC_CATEGORY_INDEX_Ll: + return UC_CATEGORY_Ll; + case UC_CATEGORY_INDEX_Lt: + return UC_CATEGORY_Lt; + case UC_CATEGORY_INDEX_Lm: + return UC_CATEGORY_Lm; + case UC_CATEGORY_INDEX_Lo: + return UC_CATEGORY_Lo; + case UC_CATEGORY_INDEX_M: + return UC_CATEGORY_M; + case UC_CATEGORY_INDEX_Mn: + return UC_CATEGORY_Mn; + case UC_CATEGORY_INDEX_Mc: + return UC_CATEGORY_Mc; + case UC_CATEGORY_INDEX_Me: + return UC_CATEGORY_Me; + case UC_CATEGORY_INDEX_N: + return UC_CATEGORY_N; + case UC_CATEGORY_INDEX_Nd: + return UC_CATEGORY_Nd; + case UC_CATEGORY_INDEX_Nl: + return UC_CATEGORY_Nl; + case UC_CATEGORY_INDEX_No: + return UC_CATEGORY_No; + case UC_CATEGORY_INDEX_P: + return UC_CATEGORY_P; + case UC_CATEGORY_INDEX_Pc: + return UC_CATEGORY_Pc; + case UC_CATEGORY_INDEX_Pd: + return UC_CATEGORY_Pd; + case UC_CATEGORY_INDEX_Ps: + return UC_CATEGORY_Ps; + case UC_CATEGORY_INDEX_Pe: + return UC_CATEGORY_Pe; + case UC_CATEGORY_INDEX_Pi: + return UC_CATEGORY_Pi; + case UC_CATEGORY_INDEX_Pf: + return UC_CATEGORY_Pf; + case UC_CATEGORY_INDEX_Po: + return UC_CATEGORY_Po; + case UC_CATEGORY_INDEX_S: + return UC_CATEGORY_S; + case UC_CATEGORY_INDEX_Sm: + return UC_CATEGORY_Sm; + case UC_CATEGORY_INDEX_Sc: + return UC_CATEGORY_Sc; + case UC_CATEGORY_INDEX_Sk: + return UC_CATEGORY_Sk; + case UC_CATEGORY_INDEX_So: + return UC_CATEGORY_So; + case UC_CATEGORY_INDEX_Z: + return UC_CATEGORY_Z; + case UC_CATEGORY_INDEX_Zs: + return UC_CATEGORY_Zs; + case UC_CATEGORY_INDEX_Zl: + return UC_CATEGORY_Zl; + case UC_CATEGORY_INDEX_Zp: + return UC_CATEGORY_Zp; + case UC_CATEGORY_INDEX_C: + return UC_CATEGORY_C; + case UC_CATEGORY_INDEX_Cc: + return UC_CATEGORY_Cc; + case UC_CATEGORY_INDEX_Cf: + return UC_CATEGORY_Cf; + case UC_CATEGORY_INDEX_Cs: + return UC_CATEGORY_Cs; + case UC_CATEGORY_INDEX_Co: + return UC_CATEGORY_Co; + case UC_CATEGORY_INDEX_Cn: + return UC_CATEGORY_Cn; + default: + abort (); + } + } + /* Invalid category name. */ + return _UC_CATEGORY_NONE; +} diff --git a/gllib/unictype/categ_byname.gperf b/gllib/unictype/categ_byname.gperf new file mode 100644 index 0000000..54d1996 --- /dev/null +++ b/gllib/unictype/categ_byname.gperf @@ -0,0 +1,116 @@ +/* Categories of Unicode characters. */ +struct named_category { int name; unsigned int category_index; }; +%struct-type +%ignore-case +%language=ANSI-C +%define hash-function-name general_category_hash +%define lookup-function-name uc_general_category_lookup +%readonly-tables +%global-table +%define word-array-name general_category_names +%pic +%define string-pool-name general_category_stringpool +%% +L, UC_CATEGORY_INDEX_L +LC, UC_CATEGORY_INDEX_LC +Lu, UC_CATEGORY_INDEX_Lu +Ll, UC_CATEGORY_INDEX_Ll +Lt, UC_CATEGORY_INDEX_Lt +Lm, UC_CATEGORY_INDEX_Lm +Lo, UC_CATEGORY_INDEX_Lo +M, UC_CATEGORY_INDEX_M +Mn, UC_CATEGORY_INDEX_Mn +Mc, UC_CATEGORY_INDEX_Mc +Me, UC_CATEGORY_INDEX_Me +N, UC_CATEGORY_INDEX_N +Nd, UC_CATEGORY_INDEX_Nd +Nl, UC_CATEGORY_INDEX_Nl +No, UC_CATEGORY_INDEX_No +P, UC_CATEGORY_INDEX_P +Pc, UC_CATEGORY_INDEX_Pc +Pd, UC_CATEGORY_INDEX_Pd +Ps, UC_CATEGORY_INDEX_Ps +Pe, UC_CATEGORY_INDEX_Pe +Pi, UC_CATEGORY_INDEX_Pi +Pf, UC_CATEGORY_INDEX_Pf +Po, UC_CATEGORY_INDEX_Po +S, UC_CATEGORY_INDEX_S +Sm, UC_CATEGORY_INDEX_Sm +Sc, UC_CATEGORY_INDEX_Sc +Sk, UC_CATEGORY_INDEX_Sk +So, UC_CATEGORY_INDEX_So +Z, UC_CATEGORY_INDEX_Z +Zs, UC_CATEGORY_INDEX_Zs +Zl, UC_CATEGORY_INDEX_Zl +Zp, UC_CATEGORY_INDEX_Zp +C, UC_CATEGORY_INDEX_C +Cc, UC_CATEGORY_INDEX_Cc +Cf, UC_CATEGORY_INDEX_Cf +Cs, UC_CATEGORY_INDEX_Cs +Co, UC_CATEGORY_INDEX_Co +Cn, UC_CATEGORY_INDEX_Cn +Letter, UC_CATEGORY_INDEX_L +Cased Letter, UC_CATEGORY_INDEX_LC +CasedLetter, UC_CATEGORY_INDEX_LC +Uppercase Letter, UC_CATEGORY_INDEX_Lu +UppercaseLetter, UC_CATEGORY_INDEX_Lu +Lowercase Letter, UC_CATEGORY_INDEX_Ll +LowercaseLetter, UC_CATEGORY_INDEX_Ll +Titlecase Letter, UC_CATEGORY_INDEX_Lt +TitlecaseLetter, UC_CATEGORY_INDEX_Lt +Modifier Letter, UC_CATEGORY_INDEX_Lm +ModifierLetter, UC_CATEGORY_INDEX_Lm +Other Letter, UC_CATEGORY_INDEX_Lo +OtherLetter, UC_CATEGORY_INDEX_Lo +Mark, UC_CATEGORY_INDEX_M +Nonspacing Mark, UC_CATEGORY_INDEX_Mn +NonspacingMark, UC_CATEGORY_INDEX_Mn +Spacing Mark, UC_CATEGORY_INDEX_Mc +SpacingMark, UC_CATEGORY_INDEX_Mc +Enclosing Mark, UC_CATEGORY_INDEX_Me +EnclosingMark, UC_CATEGORY_INDEX_Me +Number, UC_CATEGORY_INDEX_N +Decimal Number, UC_CATEGORY_INDEX_Nd +DecimalNumber, UC_CATEGORY_INDEX_Nd +Letter Number, UC_CATEGORY_INDEX_Nl +LetterNumber, UC_CATEGORY_INDEX_Nl +Other Number, UC_CATEGORY_INDEX_No +OtherNumber, UC_CATEGORY_INDEX_No +Punctuation, UC_CATEGORY_INDEX_P +Connector Punctuation, UC_CATEGORY_INDEX_Pc +ConnectorPunctuation, UC_CATEGORY_INDEX_Pc +Dash Punctuation, UC_CATEGORY_INDEX_Pd +DashPunctuation, UC_CATEGORY_INDEX_Pd +Open Punctuation, UC_CATEGORY_INDEX_Ps +OpenPunctuation, UC_CATEGORY_INDEX_Ps +Close Punctuation, UC_CATEGORY_INDEX_Pe +ClosePunctuation, UC_CATEGORY_INDEX_Pe +Initial Punctuation, UC_CATEGORY_INDEX_Pi +InitialPunctuation, UC_CATEGORY_INDEX_Pi +Final Punctuation, UC_CATEGORY_INDEX_Pf +FinalPunctuation, UC_CATEGORY_INDEX_Pf +Other Punctuation, UC_CATEGORY_INDEX_Po +OtherPunctuation, UC_CATEGORY_INDEX_Po +Symbol, UC_CATEGORY_INDEX_S +Math Symbol, UC_CATEGORY_INDEX_Sm +MathSymbol, UC_CATEGORY_INDEX_Sm +Currency Symbol, UC_CATEGORY_INDEX_Sc +CurrencySymbol, UC_CATEGORY_INDEX_Sc +Modifier Symbol, UC_CATEGORY_INDEX_Sk +ModifierSymbol, UC_CATEGORY_INDEX_Sk +Other Symbol, UC_CATEGORY_INDEX_So +OtherSymbol, UC_CATEGORY_INDEX_So +Separator, UC_CATEGORY_INDEX_Z +Space Separator, UC_CATEGORY_INDEX_Zs +SpaceSeparator, UC_CATEGORY_INDEX_Zs +Line Separator, UC_CATEGORY_INDEX_Zl +LineSeparator, UC_CATEGORY_INDEX_Zl +Paragraph Separator, UC_CATEGORY_INDEX_Zp +ParagraphSeparator, UC_CATEGORY_INDEX_Zp +Other, UC_CATEGORY_INDEX_C +Control, UC_CATEGORY_INDEX_Cc +Format, UC_CATEGORY_INDEX_Cf +Surrogate, UC_CATEGORY_INDEX_Cs +Private Use, UC_CATEGORY_INDEX_Co +PrivateUse, UC_CATEGORY_INDEX_Co +Unassigned, UC_CATEGORY_INDEX_Cn diff --git a/gllib/unictype/categ_byname.h b/gllib/unictype/categ_byname.h new file mode 100644 index 0000000..65748b0 --- /dev/null +++ b/gllib/unictype/categ_byname.h @@ -0,0 +1,616 @@ +/* ANSI-C code produced by gperf version 3.1 */ +/* Command-line: gperf -m 10 ./unictype/categ_byname.gperf */ +/* Computed positions: -k'1-2,7,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 2 "./unictype/categ_byname.gperf" +struct named_category { int name; unsigned int category_index; }; + +#define TOTAL_KEYWORDS 103 +#define MIN_WORD_LENGTH 1 +#define MAX_WORD_LENGTH 21 +#define MIN_HASH_VALUE 1 +#define MAX_HASH_VALUE 150 +/* maximum key range = 150, duplicates = 0 */ + +#ifndef GPERF_DOWNCASE +#define GPERF_DOWNCASE 1 +static unsigned char gperf_downcase[256] = + { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255 + }; +#endif + +#ifndef GPERF_CASE_STRCMP +#define GPERF_CASE_STRCMP 1 +static int +gperf_case_strcmp (register const char *s1, register const char *s2) +{ + for (;;) + { + unsigned char c1 = gperf_downcase[(unsigned char)*s1++]; + unsigned char c2 = gperf_downcase[(unsigned char)*s2++]; + if (c1 != 0 && c1 == c2) + continue; + return (int)c1 - (int)c2; + } +} +#endif + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +general_category_hash (register const char *str, register size_t len) +{ + static const unsigned char asso_values[] = + { + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 1, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 16, 151, 1, 66, 21, + 9, 25, 151, 62, 151, 49, 0, 51, 4, 7, + 6, 151, 25, 42, 5, 8, 151, 151, 151, 0, + 45, 151, 151, 151, 151, 151, 151, 16, 151, 1, + 66, 21, 9, 25, 151, 62, 151, 49, 0, 51, + 4, 7, 6, 151, 25, 42, 5, 8, 151, 151, + 151, 0, 45, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[6]]; + /*FALLTHROUGH*/ + case 6: + case 5: + case 4: + case 3: + case 2: + hval += asso_values[(unsigned char)str[1]]; + /*FALLTHROUGH*/ + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct general_category_stringpool_t + { + char general_category_stringpool_str1[sizeof("L")]; + char general_category_stringpool_str2[sizeof("Ll")]; + char general_category_stringpool_str3[sizeof("C")]; + char general_category_stringpool_str4[sizeof("LC")]; + char general_category_stringpool_str5[sizeof("Cc")]; + char general_category_stringpool_str6[sizeof("Nl")]; + char general_category_stringpool_str9[sizeof("N")]; + char general_category_stringpool_str10[sizeof("Pc")]; + char general_category_stringpool_str11[sizeof("Cn")]; + char general_category_stringpool_str12[sizeof("Lt")]; + char general_category_stringpool_str13[sizeof("P")]; + char general_category_stringpool_str15[sizeof("Control")]; + char general_category_stringpool_str16[sizeof("Lo")]; + char general_category_stringpool_str17[sizeof("Co")]; + char general_category_stringpool_str18[sizeof("Lu")]; + char general_category_stringpool_str20[sizeof("No")]; + char general_category_stringpool_str21[sizeof("Cf")]; + char general_category_stringpool_str22[sizeof("Po")]; + char general_category_stringpool_str23[sizeof("OtherSymbol")]; + char general_category_stringpool_str24[sizeof("CurrencySymbol")]; + char general_category_stringpool_str25[sizeof("Currency Symbol")]; + char general_category_stringpool_str26[sizeof("Pf")]; + char general_category_stringpool_str27[sizeof("Format")]; + char general_category_stringpool_str28[sizeof("Close Punctuation")]; + char general_category_stringpool_str29[sizeof("ClosePunctuation")]; + char general_category_stringpool_str36[sizeof("OpenPunctuation")]; + char general_category_stringpool_str37[sizeof("ConnectorPunctuation")]; + char general_category_stringpool_str38[sizeof("Connector Punctuation")]; + char general_category_stringpool_str39[sizeof("Other Punctuation")]; + char general_category_stringpool_str40[sizeof("OtherPunctuation")]; + char general_category_stringpool_str41[sizeof("Open Punctuation")]; + char general_category_stringpool_str42[sizeof("Other")]; + char general_category_stringpool_str43[sizeof("Number")]; + char general_category_stringpool_str45[sizeof("Punctuation")]; + char general_category_stringpool_str46[sizeof("Sc")]; + char general_category_stringpool_str47[sizeof("Zl")]; + char general_category_stringpool_str48[sizeof("Symbol")]; + char general_category_stringpool_str49[sizeof("Other Letter")]; + char general_category_stringpool_str50[sizeof("Pe")]; + char general_category_stringpool_str52[sizeof("Letter")]; + char general_category_stringpool_str53[sizeof("Other Number")]; + char general_category_stringpool_str54[sizeof("Cased Letter")]; + char general_category_stringpool_str55[sizeof("Mc")]; + char general_category_stringpool_str56[sizeof("OtherNumber")]; + char general_category_stringpool_str58[sizeof("So")]; + char general_category_stringpool_str59[sizeof("Zp")]; + char general_category_stringpool_str60[sizeof("Letter Number")]; + char general_category_stringpool_str61[sizeof("Mn")]; + char general_category_stringpool_str62[sizeof("LetterNumber")]; + char general_category_stringpool_str63[sizeof("LowercaseLetter")]; + char general_category_stringpool_str64[sizeof("Lowercase Letter")]; + char general_category_stringpool_str66[sizeof("Other Symbol")]; + char general_category_stringpool_str69[sizeof("OtherLetter")]; + char general_category_stringpool_str70[sizeof("UppercaseLetter")]; + char general_category_stringpool_str71[sizeof("Uppercase Letter")]; + char general_category_stringpool_str74[sizeof("CasedLetter")]; + char general_category_stringpool_str75[sizeof("NonspacingMark")]; + char general_category_stringpool_str76[sizeof("Nonspacing Mark")]; + char general_category_stringpool_str78[sizeof("Math Symbol")]; + char general_category_stringpool_str81[sizeof("ParagraphSeparator")]; + char general_category_stringpool_str82[sizeof("Paragraph Separator")]; + char general_category_stringpool_str83[sizeof("PrivateUse")]; + char general_category_stringpool_str84[sizeof("Private Use")]; + char general_category_stringpool_str85[sizeof("S")]; + char general_category_stringpool_str87[sizeof("Cs")]; + char general_category_stringpool_str88[sizeof("InitialPunctuation")]; + char general_category_stringpool_str89[sizeof("Initial Punctuation")]; + char general_category_stringpool_str91[sizeof("Z")]; + char general_category_stringpool_str92[sizeof("Ps")]; + char general_category_stringpool_str93[sizeof("ModifierSymbol")]; + char general_category_stringpool_str94[sizeof("Modifier Symbol")]; + char general_category_stringpool_str95[sizeof("Me")]; + char general_category_stringpool_str96[sizeof("Surrogate")]; + char general_category_stringpool_str98[sizeof("Final Punctuation")]; + char general_category_stringpool_str99[sizeof("FinalPunctuation")]; + char general_category_stringpool_str102[sizeof("Separator")]; + char general_category_stringpool_str103[sizeof("M")]; + char general_category_stringpool_str104[sizeof("Lm")]; + char general_category_stringpool_str105[sizeof("DashPunctuation")]; + char general_category_stringpool_str106[sizeof("LineSeparator")]; + char general_category_stringpool_str108[sizeof("SpaceSeparator")]; + char general_category_stringpool_str110[sizeof("Dash Punctuation")]; + char general_category_stringpool_str113[sizeof("Unassigned")]; + char general_category_stringpool_str118[sizeof("ModifierLetter")]; + char general_category_stringpool_str119[sizeof("Modifier Letter")]; + char general_category_stringpool_str120[sizeof("Mark")]; + char general_category_stringpool_str122[sizeof("Line Separator")]; + char general_category_stringpool_str123[sizeof("TitlecaseLetter")]; + char general_category_stringpool_str124[sizeof("Titlecase Letter")]; + char general_category_stringpool_str125[sizeof("DecimalNumber")]; + char general_category_stringpool_str126[sizeof("Decimal Number")]; + char general_category_stringpool_str128[sizeof("MathSymbol")]; + char general_category_stringpool_str130[sizeof("Space Separator")]; + char general_category_stringpool_str131[sizeof("Zs")]; + char general_category_stringpool_str132[sizeof("Pi")]; + char general_category_stringpool_str133[sizeof("SpacingMark")]; + char general_category_stringpool_str134[sizeof("Spacing Mark")]; + char general_category_stringpool_str138[sizeof("Nd")]; + char general_category_stringpool_str140[sizeof("Pd")]; + char general_category_stringpool_str142[sizeof("Sk")]; + char general_category_stringpool_str146[sizeof("Sm")]; + char general_category_stringpool_str149[sizeof("EnclosingMark")]; + char general_category_stringpool_str150[sizeof("Enclosing Mark")]; + }; +static const struct general_category_stringpool_t general_category_stringpool_contents = + { + "L", + "Ll", + "C", + "LC", + "Cc", + "Nl", + "N", + "Pc", + "Cn", + "Lt", + "P", + "Control", + "Lo", + "Co", + "Lu", + "No", + "Cf", + "Po", + "OtherSymbol", + "CurrencySymbol", + "Currency Symbol", + "Pf", + "Format", + "Close Punctuation", + "ClosePunctuation", + "OpenPunctuation", + "ConnectorPunctuation", + "Connector Punctuation", + "Other Punctuation", + "OtherPunctuation", + "Open Punctuation", + "Other", + "Number", + "Punctuation", + "Sc", + "Zl", + "Symbol", + "Other Letter", + "Pe", + "Letter", + "Other Number", + "Cased Letter", + "Mc", + "OtherNumber", + "So", + "Zp", + "Letter Number", + "Mn", + "LetterNumber", + "LowercaseLetter", + "Lowercase Letter", + "Other Symbol", + "OtherLetter", + "UppercaseLetter", + "Uppercase Letter", + "CasedLetter", + "NonspacingMark", + "Nonspacing Mark", + "Math Symbol", + "ParagraphSeparator", + "Paragraph Separator", + "PrivateUse", + "Private Use", + "S", + "Cs", + "InitialPunctuation", + "Initial Punctuation", + "Z", + "Ps", + "ModifierSymbol", + "Modifier Symbol", + "Me", + "Surrogate", + "Final Punctuation", + "FinalPunctuation", + "Separator", + "M", + "Lm", + "DashPunctuation", + "LineSeparator", + "SpaceSeparator", + "Dash Punctuation", + "Unassigned", + "ModifierLetter", + "Modifier Letter", + "Mark", + "Line Separator", + "TitlecaseLetter", + "Titlecase Letter", + "DecimalNumber", + "Decimal Number", + "MathSymbol", + "Space Separator", + "Zs", + "Pi", + "SpacingMark", + "Spacing Mark", + "Nd", + "Pd", + "Sk", + "Sm", + "EnclosingMark", + "Enclosing Mark" + }; +#define general_category_stringpool ((const char *) &general_category_stringpool_contents) + +static const struct named_category general_category_names[] = + { + {-1}, +#line 14 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str1, UC_CATEGORY_INDEX_L}, +#line 17 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str2, UC_CATEGORY_INDEX_Ll}, +#line 46 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str3, UC_CATEGORY_INDEX_C}, +#line 15 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str4, UC_CATEGORY_INDEX_LC}, +#line 47 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str5, UC_CATEGORY_INDEX_Cc}, +#line 27 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str6, UC_CATEGORY_INDEX_Nl}, + {-1}, {-1}, +#line 25 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str9, UC_CATEGORY_INDEX_N}, +#line 30 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str10, UC_CATEGORY_INDEX_Pc}, +#line 51 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str11, UC_CATEGORY_INDEX_Cn}, +#line 18 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str12, UC_CATEGORY_INDEX_Lt}, +#line 29 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str13, UC_CATEGORY_INDEX_P}, + {-1}, +#line 111 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str15, UC_CATEGORY_INDEX_Cc}, +#line 20 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str16, UC_CATEGORY_INDEX_Lo}, +#line 50 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str17, UC_CATEGORY_INDEX_Co}, +#line 16 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str18, UC_CATEGORY_INDEX_Lu}, + {-1}, +#line 28 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str20, UC_CATEGORY_INDEX_No}, +#line 48 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str21, UC_CATEGORY_INDEX_Cf}, +#line 36 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str22, UC_CATEGORY_INDEX_Po}, +#line 102 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str23, UC_CATEGORY_INDEX_So}, +#line 98 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str24, UC_CATEGORY_INDEX_Sc}, +#line 97 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str25, UC_CATEGORY_INDEX_Sc}, +#line 35 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str26, UC_CATEGORY_INDEX_Pf}, +#line 112 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str27, UC_CATEGORY_INDEX_Cf}, +#line 86 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str28, UC_CATEGORY_INDEX_Pe}, +#line 87 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str29, UC_CATEGORY_INDEX_Pe}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 85 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str36, UC_CATEGORY_INDEX_Ps}, +#line 81 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str37, UC_CATEGORY_INDEX_Pc}, +#line 80 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str38, UC_CATEGORY_INDEX_Pc}, +#line 92 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str39, UC_CATEGORY_INDEX_Po}, +#line 93 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str40, UC_CATEGORY_INDEX_Po}, +#line 84 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str41, UC_CATEGORY_INDEX_Ps}, +#line 110 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str42, UC_CATEGORY_INDEX_C}, +#line 72 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str43, UC_CATEGORY_INDEX_N}, + {-1}, +#line 79 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str45, UC_CATEGORY_INDEX_P}, +#line 39 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str46, UC_CATEGORY_INDEX_Sc}, +#line 44 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str47, UC_CATEGORY_INDEX_Zl}, +#line 94 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str48, UC_CATEGORY_INDEX_S}, +#line 63 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str49, UC_CATEGORY_INDEX_Lo}, +#line 33 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str50, UC_CATEGORY_INDEX_Pe}, + {-1}, +#line 52 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str52, UC_CATEGORY_INDEX_L}, +#line 77 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str53, UC_CATEGORY_INDEX_No}, +#line 53 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str54, UC_CATEGORY_INDEX_LC}, +#line 23 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str55, UC_CATEGORY_INDEX_Mc}, +#line 78 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str56, UC_CATEGORY_INDEX_No}, + {-1}, +#line 41 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str58, UC_CATEGORY_INDEX_So}, +#line 45 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str59, UC_CATEGORY_INDEX_Zp}, +#line 75 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str60, UC_CATEGORY_INDEX_Nl}, +#line 22 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str61, UC_CATEGORY_INDEX_Mn}, +#line 76 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str62, UC_CATEGORY_INDEX_Nl}, +#line 58 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str63, UC_CATEGORY_INDEX_Ll}, +#line 57 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str64, UC_CATEGORY_INDEX_Ll}, + {-1}, +#line 101 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str66, UC_CATEGORY_INDEX_So}, + {-1}, {-1}, +#line 64 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str69, UC_CATEGORY_INDEX_Lo}, +#line 56 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str70, UC_CATEGORY_INDEX_Lu}, +#line 55 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str71, UC_CATEGORY_INDEX_Lu}, + {-1}, {-1}, +#line 54 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str74, UC_CATEGORY_INDEX_LC}, +#line 67 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str75, UC_CATEGORY_INDEX_Mn}, +#line 66 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str76, UC_CATEGORY_INDEX_Mn}, + {-1}, +#line 95 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str78, UC_CATEGORY_INDEX_Sm}, + {-1}, {-1}, +#line 109 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str81, UC_CATEGORY_INDEX_Zp}, +#line 108 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str82, UC_CATEGORY_INDEX_Zp}, +#line 115 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str83, UC_CATEGORY_INDEX_Co}, +#line 114 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str84, UC_CATEGORY_INDEX_Co}, +#line 37 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str85, UC_CATEGORY_INDEX_S}, + {-1}, +#line 49 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str87, UC_CATEGORY_INDEX_Cs}, +#line 89 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str88, UC_CATEGORY_INDEX_Pi}, +#line 88 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str89, UC_CATEGORY_INDEX_Pi}, + {-1}, +#line 42 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str91, UC_CATEGORY_INDEX_Z}, +#line 32 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str92, UC_CATEGORY_INDEX_Ps}, +#line 100 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str93, UC_CATEGORY_INDEX_Sk}, +#line 99 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str94, UC_CATEGORY_INDEX_Sk}, +#line 24 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str95, UC_CATEGORY_INDEX_Me}, +#line 113 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str96, UC_CATEGORY_INDEX_Cs}, + {-1}, +#line 90 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str98, UC_CATEGORY_INDEX_Pf}, +#line 91 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str99, UC_CATEGORY_INDEX_Pf}, + {-1}, {-1}, +#line 103 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str102, UC_CATEGORY_INDEX_Z}, +#line 21 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str103, UC_CATEGORY_INDEX_M}, +#line 19 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str104, UC_CATEGORY_INDEX_Lm}, +#line 83 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str105, UC_CATEGORY_INDEX_Pd}, +#line 107 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str106, UC_CATEGORY_INDEX_Zl}, + {-1}, +#line 105 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str108, UC_CATEGORY_INDEX_Zs}, + {-1}, +#line 82 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str110, UC_CATEGORY_INDEX_Pd}, + {-1}, {-1}, +#line 116 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str113, UC_CATEGORY_INDEX_Cn}, + {-1}, {-1}, {-1}, {-1}, +#line 62 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str118, UC_CATEGORY_INDEX_Lm}, +#line 61 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str119, UC_CATEGORY_INDEX_Lm}, +#line 65 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str120, UC_CATEGORY_INDEX_M}, + {-1}, +#line 106 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str122, UC_CATEGORY_INDEX_Zl}, +#line 60 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str123, UC_CATEGORY_INDEX_Lt}, +#line 59 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str124, UC_CATEGORY_INDEX_Lt}, +#line 74 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str125, UC_CATEGORY_INDEX_Nd}, +#line 73 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str126, UC_CATEGORY_INDEX_Nd}, + {-1}, +#line 96 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str128, UC_CATEGORY_INDEX_Sm}, + {-1}, +#line 104 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str130, UC_CATEGORY_INDEX_Zs}, +#line 43 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str131, UC_CATEGORY_INDEX_Zs}, +#line 34 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str132, UC_CATEGORY_INDEX_Pi}, +#line 69 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str133, UC_CATEGORY_INDEX_Mc}, +#line 68 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str134, UC_CATEGORY_INDEX_Mc}, + {-1}, {-1}, {-1}, +#line 26 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str138, UC_CATEGORY_INDEX_Nd}, + {-1}, +#line 31 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str140, UC_CATEGORY_INDEX_Pd}, + {-1}, +#line 40 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str142, UC_CATEGORY_INDEX_Sk}, + {-1}, {-1}, {-1}, +#line 38 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str146, UC_CATEGORY_INDEX_Sm}, + {-1}, {-1}, +#line 71 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str149, UC_CATEGORY_INDEX_Me}, +#line 70 "./unictype/categ_byname.gperf" + {(int)(size_t)&((struct general_category_stringpool_t *)0)->general_category_stringpool_str150, UC_CATEGORY_INDEX_Me} + }; + +const struct named_category * +uc_general_category_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = general_category_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = general_category_names[key].name; + if (o >= 0) + { + register const char *s = o + general_category_stringpool; + + if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s)) + return &general_category_names[key]; + } + } + } + return 0; +} diff --git a/gllib/unictype/categ_longname.c b/gllib/unictype/categ_longname.c new file mode 100644 index 0000000..140d9bf --- /dev/null +++ b/gllib/unictype/categ_longname.c @@ -0,0 +1,106 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static const char u_category_long_name[30][22] = +{ + "Uppercase Letter", + "Lowercase Letter", + "Titlecase Letter", + "Modifier Letter", + "Other Letter", + "Nonspacing Mark", + "Spacing Mark", + "Enclosing Mark", + "Decimal Number", + "Letter Number", + "Other Number", + "Connector Punctuation", + "Dash Punctuation", + "Open Punctuation", + "Close Punctuation", + "Initial Punctuation", + "Final Punctuation", + "Other Punctuation", + "Math Symbol", + "Currency Symbol", + "Modifier Symbol", + "Other Symbol", + "Space Separator", + "Line Separator", + "Paragraph Separator", + "Control", + "Format", + "Surrogate", + "Private Use", + "Unassigned" +}; + +const char * +uc_general_category_long_name (uc_general_category_t category) +{ + uint32_t bitmask = category.bitmask; + /* bitmask should consist of a single bit. */ + if (bitmask != 0) + { + if ((bitmask & (bitmask - 1)) == 0) + { + int bit; + /* Take log2 using a variant of Robert Harley's method. + Found by Bruno Haible 1996. */ + uint32_t n = bitmask; + static const char ord2_tab[64] = + { + -1, 0, 1, 12, 2, 6, -1, 13, 3, -1, 7, -1, -1, -1, -1, 14, + 10, 4, -1, -1, 8, -1, -1, 25, -1, -1, -1, -1, -1, 21, 27, 15, + 31, 11, 5, -1, -1, -1, -1, -1, 9, -1, -1, 24, -1, -1, 20, 26, + 30, -1, -1, -1, -1, 23, -1, 19, 29, -1, 22, 18, 28, 17, 16, -1 + }; + n += n << 4; + n += n << 6; + n = (n << 16) - n; + bit = ord2_tab[n >> 26]; + + if (bit < sizeof (u_category_long_name) / sizeof (u_category_long_name[0])) + return u_category_long_name[bit]; + } + else + { + if (bitmask == UC_CATEGORY_MASK_L) + return "Letter"; + if (bitmask == UC_CATEGORY_MASK_LC) + return "Cased Letter"; + if (bitmask == UC_CATEGORY_MASK_M) + return "Mark"; + if (bitmask == UC_CATEGORY_MASK_N) + return "Number"; + if (bitmask == UC_CATEGORY_MASK_P) + return "Punctuation"; + if (bitmask == UC_CATEGORY_MASK_S) + return "Symbol"; + if (bitmask == UC_CATEGORY_MASK_Z) + return "Separator"; + if (bitmask == UC_CATEGORY_MASK_C) + return "Other"; + } + } + return NULL; +} diff --git a/gllib/unictype/categ_name.c b/gllib/unictype/categ_name.c new file mode 100644 index 0000000..7f3468b --- /dev/null +++ b/gllib/unictype/categ_name.c @@ -0,0 +1,79 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static const char u_category_name[30][3] = +{ + "Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Mc", "Me", "Nd", "Nl", + "No", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "Sm", "Sc", + "Sk", "So", "Zs", "Zl", "Zp", "Cc", "Cf", "Cs", "Co", "Cn" +}; + +const char * +uc_general_category_name (uc_general_category_t category) +{ + uint32_t bitmask = category.bitmask; + /* bitmask should consist of a single bit. */ + if (bitmask != 0) + { + if ((bitmask & (bitmask - 1)) == 0) + { + int bit; + /* Take log2 using a variant of Robert Harley's method. + Found by Bruno Haible 1996. */ + uint32_t n = bitmask; + static const char ord2_tab[64] = + { + -1, 0, 1, 12, 2, 6, -1, 13, 3, -1, 7, -1, -1, -1, -1, 14, + 10, 4, -1, -1, 8, -1, -1, 25, -1, -1, -1, -1, -1, 21, 27, 15, + 31, 11, 5, -1, -1, -1, -1, -1, 9, -1, -1, 24, -1, -1, 20, 26, + 30, -1, -1, -1, -1, 23, -1, 19, 29, -1, 22, 18, 28, 17, 16, -1 + }; + n += n << 4; + n += n << 6; + n = (n << 16) - n; + bit = ord2_tab[n >> 26]; + + if (bit < sizeof (u_category_name) / sizeof (u_category_name[0])) + return u_category_name[bit]; + } + else + { + if (bitmask == UC_CATEGORY_MASK_L) + return "L"; + if (bitmask == UC_CATEGORY_MASK_LC) + return "LC"; + if (bitmask == UC_CATEGORY_MASK_M) + return "M"; + if (bitmask == UC_CATEGORY_MASK_N) + return "N"; + if (bitmask == UC_CATEGORY_MASK_P) + return "P"; + if (bitmask == UC_CATEGORY_MASK_S) + return "S"; + if (bitmask == UC_CATEGORY_MASK_Z) + return "Z"; + if (bitmask == UC_CATEGORY_MASK_C) + return "C"; + } + } + return NULL; +} diff --git a/gllib/unictype/categ_none.c b/gllib/unictype/categ_none.c new file mode 100644 index 0000000..d6b73e4 --- /dev/null +++ b/gllib/unictype/categ_none.c @@ -0,0 +1,30 @@ +/* Categories of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +static bool +always_false (ucs4_t uc, uint32_t bitmask) +{ + return false; +} + +const uc_general_category_t _UC_CATEGORY_NONE = + { 0, 1, { &always_false } }; diff --git a/gllib/unictype/categ_of.c b/gllib/unictype/categ_of.c new file mode 100644 index 0000000..e60c882 --- /dev/null +++ b/gllib/unictype/categ_of.c @@ -0,0 +1,81 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_category table. */ +#include "categ_of.h" + +static inline int +lookup_withtable (ucs4_t uc) +{ + unsigned int index1 = uc >> category_header_0; + if (index1 < category_header_1) + { + int lookup1 = u_category.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> category_header_2) & category_header_3; + int lookup2 = u_category.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = ((uc & category_header_4) + lookup2) * 5; + /* level3 contains 5-bit values, packed into 16-bit words. */ + unsigned int lookup3 = + ((u_category.level3[index3>>4] + | ((unsigned int) u_category.level3[(index3>>4)+1] << 16)) + >> (index3 % 16)) + & 0x1f; + + return lookup3; + } + } + return 29; /* = log2(UC_CATEGORY_MASK_Cn) */ + } + return -1; +} + +bool +uc_is_general_category_withtable (ucs4_t uc, uint32_t bitmask) +{ + int bit = lookup_withtable (uc); + + if (bit >= 0) + return ((bitmask >> bit) & 1); + else + return false; +} + +uc_general_category_t +uc_general_category (ucs4_t uc) +{ + int bit = lookup_withtable (uc); + uc_general_category_t result; + + if (bit >= 0) + { + result.bitmask = 1 << bit; + result.generic = 1; + result.lookup.lookup_fn = &uc_is_general_category_withtable; + return result; + } + else + return _UC_CATEGORY_NONE; +} diff --git a/gllib/unictype/categ_of.h b/gllib/unictype/categ_of.h new file mode 100644 index 0000000..605b235 --- /dev/null +++ b/gllib/unictype/categ_of.h @@ -0,0 +1,1428 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Categories of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define category_header_0 16 +#define category_header_1 17 +#define category_header_2 7 +#define category_header_3 511 +#define category_header_4 127 +static const +struct + { + int level1[17]; + short level2[5 << 9]; + unsigned short level3[216 * 40 + 1]; + } +u_category = +{ + { + 0, 512, 1024, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1536, 2048, + 2048 + }, + { + 0, 128, 256, 384, 512, 640, 768, 896, + 1024, 1152, 1280, 1408, 1536, 1664, 1792, 1920, + 2048, 2176, 2304, 2432, 2560, 2688, 2816, 2944, + 3072, 3200, 3328, 3456, 3584, 3712, 3840, 3968, + 4096, 4224, 4352, 4352, 4480, 4608, 4736, 4864, + 4992, 4352, 4352, 4352, 5120, 5248, 5376, 5504, + 5632, 5760, 5888, 6016, 6144, 6272, 6400, 6528, + 6656, 6784, 6912, 7040, 7168, 7296, 7424, 7552, + 7680, 7808, 7936, 8064, 8192, 8192, 8320, 8448, + 8576, 8704, 8832, 8960, 9088, 8832, 9216, 9344, + 8832, 8832, 8192, 9472, 8192, 8192, 9600, 9728, + 9856, 9984, 10112, 10240, 10368, 10496, 8832, 10624, + 10752, 10880, 11008, 11136, 11264, 11392, 8832, 8832, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 11520, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 11648, + 11776, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 11904, 4352, 4352, 12032, 12160, 12288, 12416, + 12544, 12672, 12800, 12928, 13056, 13184, 13312, 13440, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 13568, + 13696, 13696, 13696, 13696, 13696, 13696, 13696, 13696, + 13696, 13696, 13696, 13696, 13696, 13696, 13696, 13696, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 4352, 4352, 13952, 14080, 14208, 14336, + 4352, 4352, 14464, 14592, 14720, 14848, 14976, 15104, + 15232, 15360, 15488, 15616, -1, 15744, 15872, 16000, + 16128, 16256, 16384, -1, 4352, 4352, 16512, -1, + 16640, 16768, 16896, 17024, 17152, 17280, 17408, 17536, + 17664, 17792, -1, -1, 17920, -1, -1, -1, + 18048, 18176, 18304, 18432, 18560, 18688, 18816, -1, + 18944, 19072, -1, 19200, 19328, 19456, 19584, -1, + -1, 19712, -1, -1, -1, 19840, -1, -1, + 19968, 20096, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 20224, + 20352, 4352, 20480, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 20608, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 20736, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 20864, 20992, 21120, 21248, + -1, -1, -1, -1, -1, -1, 21376, 21504, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 21632, + 4352, 4352, 4352, 4352, 4352, 21760, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 21888, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 22016, 22144, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 8832, 22272, 22400, 22528, 22656, -1, 22784, -1, + 22912, 23040, 23168, 23296, 23424, 23552, 23680, 23808, + 8832, 8832, 8832, 8832, 23936, 24064, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 24192, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 24320, 24448, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 24576, 24704, -1, -1, + 24832, 24960, 25088, 25216, 25344, -1, 8832, 25472, + 8832, 8832, 8832, 8832, 8832, 25600, 25728, 25856, + 25984, 26112, 26240, 26368, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 26496, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 26624, 4352, + 26752, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 4352, 4352, 4352, + 4352, 4352, 4352, 4352, 4352, 26880, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4352, 4352, 4352, 4352, 27008, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 27136, -1, 27264, 27392, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 13824, + 13824, 13824, 13824, 13824, 13824, 13824, 13824, 27520 + }, + { + 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, + 0x9ce7, 0xce73, 0xc636, 0x6338, 0xcd8c, 0x1945, 0x8c59, 0x2108, + 0x1084, 0x0842, 0x28c5, 0x8ca5, 0x0011, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1680, 0x5d1d, 0x8434, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x2684, 0xcc9d, + 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, + 0x9ce7, 0xce73, 0xce36, 0x6739, 0xb48d, 0x2792, 0xa575, 0x2a55, + 0x4345, 0x548c, 0xa811, 0x8a94, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0800, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2190, 0x1084, 0x0842, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x0200, 0x0108, 0x1004, 0x0040, 0x0401, 0x4010, 0x2100, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x0008, 0x1004, 0x0840, + 0x8001, 0x0200, 0x0100, 0x1000, 0x0002, 0x0400, 0x0200, 0x2000, + 0x0084, 0x0040, 0x8020, 0x0200, 0x0100, 0x0084, 0x0002, 0x0001, + 0x4010, 0x2000, 0x0204, 0x0842, 0x1084, 0x4402, 0x2200, 0x1100, + 0x0040, 0x0401, 0x4010, 0x0100, 0x1004, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8801, 0x0200, 0x2000, 0x0080, 0x0802, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x4210, 0x2108, 0x1000, 0x0800, 0x0401, 0x0000, 0x2008, 0x0080, + 0x0802, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4240, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x5063, 0xe94a, 0x6318, 0x318c, + 0x18c6, 0x5063, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x8c63, 0x2831, + 0x94a5, 0x3a52, 0xa0e8, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x8020, 0x2830, 0xbd08, 0x108f, 0x0442, + 0xf7bd, 0x294e, 0x0088, 0x0e80, 0x003a, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7400, 0x0000, 0x0000, 0x1000, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0042, 0x0021, 0x4200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8421, 0x8200, 0x0104, 0x1080, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, + 0xd420, 0x4a52, 0xe729, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x0200, 0x2008, 0x0080, 0x0802, 0x0400, 0x4010, 0x0100, 0x1004, + 0x0840, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x001d, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x7de8, 0x18c4, 0x8c63, 0x843d, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x3d08, 0xdeb2, 0x9d6b, 0x94bd, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x2b0a, 0x94b1, 0x4a58, 0xbd2c, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0xde90, 0xef7b, 0x9084, 0x7b18, 0xbdef, 0xdef7, 0xef7b, + 0x6b5a, 0xb5ad, 0x3294, 0x19c6, 0xad63, 0x94a5, 0x4a52, 0xa529, + 0xa894, 0x8c7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1083, 0x0842, 0x8421, 0x5290, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x2108, 0x1084, + 0x0842, 0x18c5, 0x2123, 0x1085, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4912, 0xa529, 0x5294, 0x2d74, 0x94a5, 0xc652, + 0xa528, 0x5296, 0x210a, 0x2108, 0x1084, 0x0842, 0x4211, 0x256a, + 0xc631, 0x6318, 0x318c, 0x18c6, 0xd763, 0x10a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xde94, + 0x2109, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x4842, 0xa529, 0x5294, 0x294a, 0xf485, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0x4211, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x5290, 0x294a, 0x94a5, 0x4632, 0x318d, 0xde8e, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, 0xa529, + 0x528c, 0x294a, 0x94a5, 0x4a32, 0xa329, 0x5294, 0xef4a, 0xc631, + 0x6318, 0x318c, 0x18c6, 0xec63, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0xa421, 0xd294, 0xec7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x3a42, 0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x4a5e, 0xa529, 0x5294, 0x294a, 0xe8a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x14a5, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x5314, 0x3188, 0x94a6, 0x4a52, 0xc529, 0x6318, + 0x318a, 0x94a4, 0x4a52, 0x8429, 0x4210, 0x2108, 0x9484, 0x2312, + 0x0842, 0x8421, 0x4210, 0x1071, 0x0842, 0x8421, 0x4210, 0x2108, + 0x18a4, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x93a4, + 0x3bde, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x7a52, 0xa637, 0x6377, + 0xe90a, 0xf7bd, 0x7bde, 0xbd37, 0x4ef7, 0x2748, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0xcc84, 0x94a9, 0x4a52, 0xd9d5, 0xef7b, + 0x14bd, 0x09d3, 0x8421, 0xde90, 0x277b, 0x77a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4, + 0x09d2, 0x84e9, 0x5ef4, 0x31ba, 0x94a6, 0x7bde, 0xa52f, 0x52f7, + 0xef4a, 0xf4bd, 0x7bde, 0x9def, 0x4210, 0xe93a, 0xf7bd, 0x3bde, + 0x0842, 0x8421, 0x4210, 0x10a5, 0x4a42, 0xbdef, 0xdef7, 0xef7b, + 0x14bd, 0x09d3, 0x8421, 0x4210, 0x2748, 0x7484, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4, + 0x09d2, 0x8421, 0x5ef4, 0x3188, 0x94a6, 0x4a52, 0xc52f, 0x6374, + 0xef4a, 0xf7a4, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0xf671, 0x7bde, 0x9def, 0xdef4, 0xef7b, + 0x18bd, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4, + 0x09d2, 0x8421, 0x5ef4, 0x2988, 0x94a6, 0x7a52, 0xa637, 0x6377, + 0xef4a, 0xf7bd, 0x7bde, 0xbd31, 0x4ef7, 0x2748, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0x2895, 0x94a5, 0xbd52, 0xdef7, 0xef7b, + 0x17bd, 0x09d2, 0x8421, 0xde90, 0x213b, 0x13a4, 0x4842, 0x9def, + 0x4e90, 0x213a, 0x77bd, 0x7a42, 0x84ef, 0xde90, 0x213b, 0x1084, + 0x0842, 0x8421, 0xdef4, 0x31bb, 0x98c5, 0xbbde, 0xa631, 0x631b, + 0xef4a, 0xf7a4, 0x7bde, 0xbd37, 0xdef7, 0xef7b, 0xf7bd, 0x3bde, + 0x0842, 0x8421, 0x4210, 0xa94a, 0x6b5a, 0x75ad, 0xded6, 0xef7b, + 0x18c5, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084, + 0x0842, 0x8421, 0xdef4, 0x2949, 0x18c5, 0x7a63, 0xa529, 0x5297, + 0xef4a, 0xf7bd, 0x4bde, 0x84e9, 0xde90, 0xef7b, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0xf7bd, 0x7bde, 0x4aef, 0xa529, 0xaa94, + 0x18a4, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084, + 0x09d2, 0x8421, 0x5ef4, 0x2988, 0x18c6, 0x7a63, 0xa631, 0x531b, + 0xef4a, 0xf7bd, 0x8dde, 0xbde9, 0xdef7, 0xe93b, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0x909d, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x18bd, 0x09d3, 0x8421, 0x4210, 0x213a, 0x13a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0xde90, 0x3189, 0x94a6, 0xba52, 0xa631, 0x631b, + 0xa90a, 0xf7bd, 0x084e, 0x4a31, 0xa529, 0x2294, 0x9484, 0x3bd2, + 0x0842, 0x8421, 0x4210, 0x294a, 0x94a5, 0xaa52, 0x4212, 0x2108, + 0x1bbd, 0x09d3, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, + 0x4213, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x7484, + 0x0842, 0x8421, 0xd210, 0xef49, 0x1084, 0x0842, 0xbde9, 0xde97, + 0x377b, 0x94c6, 0x7a52, 0xc6e9, 0x6318, 0x318c, 0xf7bd, 0x3bde, + 0x0842, 0x8421, 0x4210, 0x1bbd, 0x7b13, 0xbdef, 0xdef7, 0xef7b, + 0x109d, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x10a4, + 0x4a52, 0xa529, 0xde94, 0x9f7b, 0x1084, 0xc842, 0xa528, 0x5294, + 0x894a, 0x2108, 0x1084, 0x0842, 0xd8c5, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x909d, 0x7a4e, 0xa427, 0xde93, 0xef49, 0xf7bd, 0x084e, 0x9d21, + 0x4210, 0x2108, 0x109d, 0x49d2, 0xbd27, 0xd213, 0x2109, 0x10a4, + 0x4a52, 0xa529, 0x52f4, 0xef48, 0x1084, 0xfa42, 0xa5e8, 0x5294, + 0xef4a, 0x2108, 0x1084, 0x0842, 0x4ef5, 0x2108, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6a4, 0x631a, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6b1a, 0xa5ad, + 0x5ad4, 0xad6b, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294, 0x294a, + 0x4b55, 0xb52d, 0xd734, 0x319c, 0x1084, 0x0842, 0x9d21, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0xef7a, 0x94bd, 0x4a52, 0xa529, 0x5294, 0x314a, + 0x94a5, 0x6252, 0x8429, 0x4210, 0x294a, 0x94a5, 0x4a52, 0xbd29, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0xad7a, 0xd6b5, 0x6b5a, 0xb5a9, 0x5ad6, + 0xad7b, 0xc631, 0x6b18, 0x35ad, 0xdec6, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6310, 0x294a, 0x94c5, + 0x4a52, 0xa629, 0x6314, 0x214a, 0x2108, 0x1084, 0x0842, 0x18c5, + 0x8c63, 0x1084, 0x8842, 0xa531, 0x4210, 0x2948, 0x1885, 0x0863, + 0xc631, 0x6318, 0x210c, 0x94a4, 0x0852, 0x8421, 0x4210, 0x2108, + 0x1484, 0x4a63, 0xc631, 0x6318, 0x310a, 0x2108, 0x1084, 0x0842, + 0x6319, 0xad4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0xbd07, 0xdef7, + 0xef41, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x3890, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, + 0xef48, 0x1084, 0x0842, 0xa4e9, 0x4213, 0xef48, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0xa421, 0x4213, 0xef48, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13a4, + 0x4842, 0x84ef, 0x4210, 0xe908, 0x13a4, 0x4842, 0x84ef, 0x4210, + 0x2108, 0x1084, 0x0842, 0x84e9, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13a4, 0x4842, 0x84ef, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0xde90, 0x294b, 0xc631, 0x6318, + 0x518c, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xef7a, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xd6b5, 0x6b5a, 0xb5ad, + 0xdef6, 0xef7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x21ef, 0x1084, 0xef42, + 0x108c, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2462, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1096, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0xe690, 0xef7a, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x1890, 0x4a63, 0x1089, 0x0842, 0xa421, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x213a, 0x9484, 0x7a52, 0xbdef, + 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9484, + 0x6252, 0xbdec, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x9484, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, + 0x8421, 0x4210, 0x213a, 0x97a4, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x8a52, 0xa529, 0x5294, 0x318a, 0x18c6, 0x4c63, 0xa631, 0x5294, + 0x294a, 0x94a5, 0x6312, 0x311c, 0x49c6, 0xef4a, 0x2108, 0x1084, + 0x0842, 0xdef5, 0xef7b, 0x294a, 0x94a5, 0x4a52, 0xdef5, 0xef7b, + 0xc631, 0x2318, 0x318b, 0x52c6, 0xee8a, 0x2108, 0x1084, 0x0842, + 0xdef5, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x9084, 0x0841, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b, + 0x1084, 0x4a42, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xde90, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xe908, 0x14a5, 0x8c63, 0xc529, 0xd318, 0xef7b, 0x14c6, + 0x8c63, 0xa631, 0xd294, 0xef7b, 0xf7b5, 0x231e, 0x0842, 0x8421, + 0x4210, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0xef48, 0x1084, 0x7a42, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd210, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xdea9, 0xad7b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xc529, + 0xd298, 0x8c7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4c42, 0xa531, 0x5294, 0xe94a, 0x14c5, 0x4a63, + 0xa529, 0x5294, 0x318c, 0x98c6, 0x4a52, 0xa529, 0x5294, 0x2f7a, + 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x2108, 0x1084, 0x0842, + 0xdef5, 0xef7b, 0xc631, 0x6318, 0x311c, 0x18c6, 0xef63, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0xe9ca, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x94a5, 0x0862, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x4c52, 0xa529, 0x5314, 0x318c, 0x14c6, 0x0863, 0x8421, 0xd210, + 0xef7b, 0x2108, 0x1084, 0x0842, 0x18c5, 0x8c63, 0xd6b1, 0x6b5a, + 0xb5ad, 0x52d6, 0x294a, 0x94a5, 0x6b52, 0xb5ad, 0x5ad6, 0xef7b, + 0x18a5, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x94c4, 0x8a52, 0xa531, 0x5298, 0x210a, 0x2108, + 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, + 0xa531, 0x6318, 0x298a, 0x18a5, 0x7bd3, 0xbdef, 0x1ef7, 0x8c63, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x8c62, 0xc631, 0x5318, 0x294a, 0x94a5, + 0x4c62, 0xbd29, 0x18f7, 0x8c63, 0x2108, 0x1084, 0x0842, 0xdef5, + 0x2109, 0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x6321, 0x318c, 0x8c46, + 0x8421, 0x4210, 0xa108, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xc631, 0x6318, 0xbd8c, 0xdef7, + 0xef7b, 0x94a5, 0x4a58, 0xa529, 0x5294, 0x294a, 0x94c5, 0x4a52, + 0x8529, 0x4210, 0x210a, 0x1884, 0x0853, 0xa5e9, 0xdef4, 0xef7b, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x3084, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, + 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, + 0x6318, 0x108c, 0x0842, 0x8421, 0x4210, 0x2308, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x3184, 0x18c6, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xbdef, 0x52f7, 0x294a, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x4200, 0x2108, + 0x1084, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, + 0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x00ef, + 0x0000, 0xef40, 0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x8421, + 0x4210, 0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x00ef, 0x0000, + 0xef40, 0x8421, 0x4210, 0x1d08, 0xd074, 0x0741, 0x8421, 0x4210, + 0x0008, 0x0000, 0x0000, 0x8421, 0x4210, 0x2108, 0x1084, 0xef42, + 0x8421, 0x4210, 0x4208, 0x2108, 0x1084, 0x8421, 0x4210, 0x4208, + 0x2108, 0x1084, 0x8421, 0x4210, 0x4208, 0x2108, 0x1084, 0x8421, + 0x7a10, 0x0008, 0x2000, 0xa068, 0x8694, 0x7a10, 0x0008, 0x2000, + 0xa528, 0x8421, 0x7bd0, 0x0008, 0xd000, 0xa529, 0x8421, 0x4210, + 0x0008, 0x0000, 0xa528, 0x87bd, 0x7a10, 0x0008, 0x2000, 0xed28, + 0x5ad6, 0xad6b, 0xd6b5, 0xad5a, 0xd6b5, 0x318c, 0x58c6, 0x0f8c, + 0xf7b6, 0x7b60, 0xc631, 0x6318, 0x178c, 0xad6b, 0xb6b5, 0xc631, + 0x6318, 0xf18c, 0x18c1, 0x5c63, 0xc62b, 0x9b28, 0x318b, 0x18c6, + 0x8c63, 0xca31, 0x62b8, 0x318c, 0x18c6, 0xb463, 0x6b5a, 0xbbad, + 0x5ad6, 0xad6b, 0xd6b5, 0xf46a, 0x94ae, 0x4a52, 0x2949, 0x1b9b, + 0x294a, 0x94a5, 0x4a52, 0x2949, 0xeb9b, 0x8c63, 0xc631, 0x6318, + 0x318c, 0xef7a, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, + 0xe739, 0x739c, 0x39ce, 0xece7, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x39ce, 0x9ca7, 0x4a73, + 0xa529, 0x5294, 0x294a, 0xf7a5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x82b5, 0x6b5a, 0xb505, 0x0006, 0x0840, 0x8000, 0x4150, 0x12ad, + 0x0000, 0xad40, 0xd6b5, 0x2a0a, 0xa0a8, 0x0002, 0x0d40, 0x0000, + 0x0810, 0x2421, 0x1ad4, 0x0002, 0x4a52, 0x4129, 0x2108, 0x5954, + 0xa86b, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0x2529, 0x5210, 0x494a, 0xdad5, 0xef7b, 0x4a52, 0x6b29, 0xb5ad, + 0x594a, 0xad6b, 0x56b2, 0xab59, 0xb5ac, 0x5ad6, 0xacab, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0x94ab, 0xcab5, 0x6b2a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0xa52a, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0xd6b5, 0x6b5a, 0xcdad, 0x5735, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd652, 0x6b5a, 0xb5ad, 0x5ab9, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x2956, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0x6b59, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x2ad6, 0x94a5, 0xd652, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xded6, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0x5529, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0xa52a, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb595, 0x5ad6, 0xad6b, 0xd655, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x52ad, 0x294a, 0x94a5, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0x956b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xcdad, 0xd735, 0x735c, 0x35cd, 0x9cd7, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x6b55, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x4a52, 0x9b29, 0x5293, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x6529, + 0xcd73, 0xd735, 0x735c, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0xca52, 0x9ae6, 0xae6b, 0xe6b9, 0x6b9a, 0xb9ae, 0x9ae6, 0x4e6b, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0xcd94, 0x2735, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd94a, 0x949c, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x6b29, 0x5295, 0x294a, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ef, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0xdef6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad7, + 0xad6b, 0xf6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0x5ef7, 0xad6b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe800, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0xe842, 0x0020, 0x4200, + 0x0100, 0x1004, 0x0000, 0x8020, 0x4010, 0x2108, 0x3084, 0x0006, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, + 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x6a10, + 0xb5ad, 0x1056, 0x2840, 0x80a5, 0x7bd0, 0x3def, 0x18c6, 0x8c55, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0xbd0f, 0xdef7, 0xef43, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0xbd21, 0xdef7, 0x1f7b, 0xf7b1, 0x7bde, 0xbdef, 0xdef7, 0x2f7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, + 0xdef7, 0xef7b, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0x1084, + 0x0842, 0x84e9, 0x4210, 0xe908, 0x1084, 0x0842, 0x84e9, 0x4210, + 0xe908, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x3e31, 0x60f8, 0xf18c, 0xf8c1, 0x8c60, 0xc631, 0x6318, 0x3164, + 0xf8b2, 0x8c60, 0x360f, 0x5cd7, 0xcd73, 0x18c5, 0x1c63, 0xc631, + 0x6318, 0x318c, 0x1632, 0x8c63, 0xb62c, 0x7b18, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5af6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, 0xef7b, + 0xc636, 0x0758, 0xcd49, 0xd735, 0x735c, 0xd5cd, 0x5cda, 0xcd73, + 0xc735, 0x739a, 0xa535, 0x5294, 0x294a, 0x5295, 0x318a, 0x8c6c, + 0x4631, 0x29ad, 0x41a5, 0xad62, 0x109d, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, + 0x4a14, 0x20c7, 0x108c, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x3890, 0x20c6, + 0xf7bd, 0x09de, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0x109d, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0xe908, 0x2ab5, 0x54a5, 0xb5ad, + 0x5ad6, 0xad6b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0xde90, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, + 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xed6b, 0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0x4aad, 0xa529, + 0x5294, 0x2955, 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0x294a, 0x94a5, 0x4a52, 0x5ad5, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x2955, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x4842, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4842, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0642, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x6321, 0x318c, 0x8c46, + 0x1084, 0x0842, 0x8421, 0x3210, 0x8c62, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x2108, 0x1084, 0x0842, 0xd211, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x8020, 0x0200, 0x2008, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x2902, 0x9ce7, 0x4a58, 0xa529, 0x5294, 0x1c4a, + 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, + 0x3080, 0x2946, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, + 0x294a, 0x94a5, 0x4a52, 0xc4a5, 0x6318, 0xbd8c, 0xdef7, 0xef7b, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x631d, + 0x318c, 0x18c6, 0x8294, 0x0200, 0x2008, 0x0080, 0x0802, 0x8021, + 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, + 0x0802, 0x8020, 0x0200, 0x2008, 0x0080, 0x0802, 0x8020, 0x0200, + 0x2008, 0x0080, 0x0802, 0x8423, 0x4210, 0x0108, 0x1004, 0x0800, + 0x8020, 0x0200, 0x8308, 0x1052, 0x2040, 0x8020, 0x0210, 0x2008, + 0x0080, 0x0802, 0x8020, 0x0200, 0x2008, 0x0000, 0xe800, 0x0000, + 0x0200, 0xbd08, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0x6327, 0x4204, 0x2108, + 0x1484, 0x4842, 0x8421, 0x4290, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x4a63, 0xb531, 0xdad6, 0xef7b, 0x294a, + 0x54a5, 0xb3ad, 0xdef6, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x6312, 0xbd8c, 0xdef7, 0xef7b, + 0x10c6, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x8c62, 0xc631, 0x6318, 0x318c, 0x18c6, 0x4a53, 0xbdef, 0xdef7, + 0x8c7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x10a5, 0x0842, 0x3121, 0x1246, 0xef49, + 0x2108, 0x1084, 0x0842, 0x4211, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x4842, 0xa529, 0x5294, 0x8c4a, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294, + 0x294a, 0x18a5, 0x7bd3, 0xbdef, 0xdef7, 0x8f7b, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, + 0x14a5, 0x0843, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9084, + 0x4c62, 0xa529, 0x5318, 0x318c, 0xc626, 0x6318, 0x318c, 0x18c6, + 0x1f63, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0x1084, 0xca42, + 0x8420, 0x4210, 0x2108, 0x2108, 0x1084, 0x0842, 0x4211, 0xe908, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x5294, 0x314a, 0x14a6, + 0x4a63, 0xbde9, 0xdef7, 0xef7b, 0x9084, 0x0842, 0x8421, 0x5210, + 0xef4c, 0x2108, 0x1084, 0x0842, 0x1ef5, 0x8c63, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1083, 0x0842, 0xb5a9, 0x5312, 0x210c, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x9485, + 0x0852, 0x8529, 0x4210, 0x2948, 0x90a4, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0x4277, 0x8c46, 0x1084, 0x0842, + 0x8421, 0x5310, 0x318a, 0x9231, 0x4c31, 0xbde9, 0xdef7, 0xef7b, + 0x109d, 0x0842, 0x9de9, 0x4210, 0xe908, 0x109d, 0x0842, 0xbde9, + 0xdef7, 0xef7b, 0x1084, 0x0842, 0x84e9, 0x4210, 0xe908, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x3a04, 0x18c6, 0x8421, 0x4210, + 0xbdef, 0xdef7, 0xef7b, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x8a63, + 0xc531, 0x6898, 0xef4a, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, 0x4277, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xd210, 0xef7b, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, + 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, + 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, + 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, + 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0xef48, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0xdef4, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x8421, 0x4210, 0xbde8, 0xdef7, 0xef7b, 0xf7bd, 0x4210, 0xbd08, + 0xdef7, 0x2149, 0x1084, 0x0842, 0x4421, 0x4212, 0x2108, 0x1084, + 0x0842, 0x84e9, 0x4210, 0xe93a, 0x7484, 0x3a42, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x5084, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0xf694, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0x77bd, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x6b88, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x13bd, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x3210, 0xef6b, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0xc631, 0x6318, 0x2e6c, + 0xdef6, 0xef7b, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0xb191, + 0x9ab5, 0xae6b, 0xe6b9, 0x6b9a, 0xb9ae, 0x62e6, 0x2e6c, 0x18c6, + 0x5ad7, 0xc631, 0x631e, 0xac8c, 0xe6b9, 0x8b9a, 0x4a31, 0xa526, + 0x71ec, 0xd8c6, 0xef7b, 0x1084, 0x3a42, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xd77a, + 0xc63d, 0x6338, 0xcd8c, 0x1945, 0x8c59, 0x2108, 0x1084, 0x0842, + 0x28c5, 0x8ca5, 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1680, 0x5d1d, 0x8434, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x2684, 0x6c9d, 0x362e, 0x2317, + 0x8421, 0x4210, 0x2108, 0x1083, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x18c8, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0xe908, 0x13bd, 0x0842, 0xbd21, 0x4213, + 0x2108, 0x13bd, 0x0842, 0xbd21, 0x4213, 0xef7a, 0x4a73, 0xe75a, + 0x55ec, 0x294a, 0xed6b, 0xf7bd, 0x7bde, 0x5def, 0x5d6b, 0xef6b, + 0x1084, 0x0842, 0x8421, 0xd210, 0x2109, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x84e9, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4e90, 0x2748, 0x1084, 0x0842, 0x8421, 0x4210, + 0xef48, 0x1084, 0x0842, 0x8421, 0x4210, 0xef48, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0xde90, 0xef7b, + 0xc631, 0x7bde, 0x4a57, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x7bd5, 0xb5af, 0x5ad6, 0xad6b, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x9494, 0xaa52, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x552a, 0xed6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0xdad6, 0xef7b, 0xf7b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xef4b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xef7a, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0xf7a4, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x2945, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xd529, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x294a, 0x7bd5, 0xbdef, 0xdef7, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1124, 0x0842, 0x8421, 0xdea4, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x4842, 0xa529, 0xde94, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x8f48, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7bd2, 0x84ef, 0x4210, + 0x2108, 0xa531, 0x5294, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xef48, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x7bd0, 0x21ef, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xd084, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7bd2, + 0xbdef, 0xdef7, 0x8f7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0xbde9, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4842, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, + 0xbd21, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x4842, 0xa4ef, 0x4213, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x4842, 0xa427, 0x4ef7, 0x277a, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4842, 0x4a8f, 0xa529, 0x5294, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x55a9, 0xa529, 0x5294, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xe908, 0xf7bd, 0x7bde, 0x4a57, 0xa529, 0x5294, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x9084, 0x484e, 0xbdef, 0xa577, 0x5294, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x8842, 0x4a52, + 0xd529, 0x8f7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0xdef4, 0x8f7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0xbd21, 0xaef7, 0x2114, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x2bbd, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x94a4, 0x4bd2, 0xbde9, 0x5ef7, 0x294a, 0x1084, 0x09d2, 0x9d21, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x7bd2, 0xa5ef, 0xde94, 0x2f7b, 0x294a, 0x94a5, 0xbd52, 0xdef7, + 0xef7b, 0xc631, 0x6318, 0xb18c, 0xdef7, 0xef7b, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x8a94, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x5294, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x9521, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x4a42, + 0xbde9, 0xa577, 0x5294, 0xc631, 0x6318, 0xbdec, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x4842, 0x3def, 0x18c6, 0x8c63, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x4842, 0x4aef, 0xa529, 0x5294, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x9084, 0x7bde, 0x4aef, 0xa529, 0x5294, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xf484, 0x7bde, 0x3def, + 0x18c6, 0xef7b, 0xf7bd, 0x7bde, 0x5def, 0xa529, 0x5294, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x7bde, 0xbdef, 0xa52b, 0x5294, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0xea94, + 0x18a6, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0xa521, 0x5294, 0x294a, 0x94a5, 0x4a52, 0x3189, 0x18c6, + 0xef63, 0x2bbd, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x14a5, + 0x0842, 0x8421, 0x4210, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x2f7b, + 0x18a5, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6, + 0x4a52, 0xa631, 0x1894, 0x8c75, 0xf631, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0xa421, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, + 0x14a5, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa529, 0x6294, 0x294a, 0x94a5, + 0x3a52, 0x0842, 0x8421, 0x4210, 0xc631, 0x7bd8, 0xbdef, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x9084, 0x2312, 0xbde9, 0xdef7, 0xef7b, + 0x18a5, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x4c63, 0xa529, 0x5294, 0x314a, 0x1086, 0x6242, 0x318c, 0x5296, + 0xef62, 0x2108, 0x1084, 0x0842, 0x4891, 0x8c62, 0x295d, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x7aa5, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x7484, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6210, 0x298c, 0x18a5, + 0x4c53, 0x3129, 0x18c6, 0xe963, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0xa4e9, 0x4213, 0x2748, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2748, 0x1084, 0x0842, 0x2421, 0xdef6, 0xef7b, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2908, 0x98c6, 0x4a52, + 0xa529, 0xde94, 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, + 0x18a5, 0x09d3, 0x8421, 0x4210, 0x277a, 0x77a4, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x13a4, + 0x09d2, 0x8421, 0x5ef4, 0x3188, 0x18c5, 0x7a63, 0xa637, 0x6377, + 0xef4c, 0xf7a4, 0x7bde, 0xbd37, 0xdef7, 0x2109, 0x1884, 0x7bd3, + 0xa529, 0x5294, 0xef7a, 0x94a5, 0x7a52, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x8c42, 0xa531, 0x5294, 0x294a, 0x94c6, 0x4c52, 0x8421, 0x1890, + 0x8c63, 0x2108, 0x1084, 0x0842, 0xd8f5, 0xef63, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6, + 0x4a52, 0xc529, 0x6314, 0x298c, 0x94c5, 0x4842, 0xbd24, 0xdef7, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x3108, 0x94c6, + 0x4a52, 0xc6ef, 0x5318, 0x298a, 0xc625, 0x6318, 0x318c, 0x18c6, + 0x8c63, 0xc631, 0x6318, 0x848c, 0x5210, 0xef4a, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x98c6, + 0x4a52, 0xa529, 0x6314, 0x298a, 0xc625, 0x7a48, 0xbdef, 0xdef7, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0xef7b, 0xc631, 0x6318, + 0x318c, 0x18c6, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6290, 0x318a, 0x94a5, + 0x8a52, 0xbd29, 0xdef7, 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0xdef4, 0x294b, 0x94c6, 0x8a52, 0xa529, 0xd294, 0xef7b, 0x2108, + 0x1084, 0x0842, 0x1529, 0xac63, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x2108, 0x1084, + 0x0842, 0xa529, 0x5294, 0xa94a, 0x7bde, 0xbdef, 0xdef7, 0x277b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xa421, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0xa421, 0x4213, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x3108, 0x94a5, + 0x4a52, 0xa5e9, 0x5294, 0x298a, 0xc624, 0x6318, 0xbdef, 0xdef7, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0xef7a, 0x1231, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x97bd, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xdd29, 0x5294, 0x294a, 0x94c5, + 0x4a62, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0xdef4, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0xea52, 0xc631, 0x7b18, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7bd2, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xe908, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbde9, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0xa421, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0xe908, 0x2108, 0x1084, + 0x0842, 0xdef5, 0x8c7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0xef48, 0x94a5, 0x6252, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x94a5, + 0x4a52, 0x3189, 0x58c6, 0xad6b, 0x8c63, 0x6b11, 0xbdef, 0xdef7, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xa575, 0x5294, 0x754a, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0xbd21, 0xdef7, 0x2109, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7a42, 0xbdef, 0xdef7, + 0xef7b, 0x18c4, 0x8c63, 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, + 0xc631, 0x6318, 0x318c, 0x18c6, 0x8c63, 0xc631, 0x6318, 0xe98c, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0x2f7b, 0x94a5, 0xc631, 0x6318, + 0x318c, 0x18c6, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7a3, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0xef7a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x9084, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf484, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0xde90, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, 0xef7a, + 0x1084, 0x0842, 0xa421, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, + 0x5ef4, 0x894b, 0x6b5a, 0x7bdd, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x8d5a, + 0xa529, 0x5ad4, 0x318d, 0x18c6, 0xb5ad, 0x5ad6, 0x52eb, 0x294a, + 0x94a5, 0x4b5a, 0xa529, 0x5294, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5296, 0xad4a, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0x96b5, 0x6a52, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0xf54a, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0840, 0x8421, 0x7a10, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x0084, 0x003a, 0x83bd, 0x01de, 0x1de8, 0x0000, 0x003a, 0x0000, + 0x4000, 0x2108, 0xd0f4, 0x0843, 0x8421, 0x43d0, 0x2108, 0x1084, + 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4000, 0x0007, 0xde80, 0x0001, 0x0000, 0x3a00, 0x0000, + 0x0000, 0x087a, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x0008, 0x0074, 0xe800, 0x0000, 0x3a00, 0xbde8, 0x0003, + 0x0000, 0x87a0, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4000, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0840, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x4000, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x00ef, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x8640, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1904, 0x0842, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1900, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x6410, 0x2108, + 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x6400, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x9042, 0x8421, 0x0210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x9000, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x4108, 0x1086, 0x0842, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x1086, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x0421, 0x4219, 0x2108, 0xd080, + 0x423b, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xb5a9, 0x52d6, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0xad6a, 0xd6b5, 0x4b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6a5a, 0x318d, 0xd8c6, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0x52f7, 0x294a, 0x94bd, 0x4a52, 0xa529, 0x5294, 0x294a, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x94a5, 0x4a52, 0xa5e9, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x52f7, 0x294a, 0xf4a5, 0x7a52, 0xa529, 0xde94, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x7a42, 0x4a57, 0xa529, + 0x5294, 0x94a5, 0x4a52, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x8400, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4a50, 0xa529, 0xde94, + 0xef7b, 0x2108, 0x1084, 0x0842, 0xdef5, 0x8c7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x09d2, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x909d, 0x7a4e, 0x9d27, 0x4210, 0x2108, 0x9084, + 0x084e, 0x9d21, 0xd274, 0xef7b, 0x93bd, 0x7bde, 0x9d27, 0xd274, + 0x2109, 0x909d, 0x7a4e, 0x9d27, 0xd274, 0x2749, 0x909d, 0x7a4e, + 0x8427, 0x4e90, 0x2108, 0x9084, 0x084e, 0x9d21, 0x4210, 0xe93a, + 0x1084, 0x0842, 0x8421, 0x4274, 0x2108, 0x1084, 0x0842, 0x8421, + 0xd210, 0xef7b, 0x109d, 0x09d2, 0x8421, 0x4274, 0x2108, 0x1084, + 0x0842, 0x8421, 0xd210, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf652, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, 0xef7b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, + 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xd6bd, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6bd, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6bd, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdef, 0xdef7, 0xef7b, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0xef7a, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0xdad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0xdad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef7, + 0xef7b, 0xf6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x4a56, 0xa529, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xef7b, 0xd6b5, 0x6b5a, 0xbded, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x7bda, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, + 0xad6b, 0xd6b5, 0x7b5a, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xbdad, 0xdef7, + 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdef6, 0xef7b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xbdad, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xef6b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xed6b, 0xd6b5, 0x6b5a, 0xbdad, 0xdef7, 0xef7b, 0xf7b5, + 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xd6b5, 0x6b5a, 0xb5ad, 0xdad6, + 0xef7b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xed6b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xf6b5, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7b5, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0xbde9, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x7a42, 0xbdef, 0xdef7, 0xef7b, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xef48, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, + 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, + 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, + 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0x2108, 0xf484, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x1084, 0x0842, 0x8421, 0x4210, 0x2108, 0x1084, 0x0842, 0x8421, + 0x4210, 0xef48, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, + 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, + 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, + 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0xf75d, 0x7bde, 0xbdef, 0xdef7, 0xef7b, 0xf7bd, 0x7bde, 0xbdef, + 0xdef7, 0xef7b, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, + 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, + 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, + 0x5ad6, 0xad6b, 0xd6b5, 0x6b5a, 0xb5ad, 0x5ad6, 0xad6b, 0xd6b5, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, + 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, + 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, + 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, + 0x294a, 0x94a5, 0x4a52, 0xa529, 0x5294, 0x294a, 0x94a5, 0x4a52, + 0xa529, 0x5294, 0x294a, 0xf7bd, 0x7bde, 0xbdef, 0xdef7, 0xef7b, + 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, + 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, + 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, + 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, + 0x9ce7, 0xce73, 0xe739, 0x739c, 0x39ce, 0x9ce7, 0xce73, 0xef79, + 0x0000 + } +}; diff --git a/gllib/unictype/categ_or.c b/gllib/unictype/categ_or.c new file mode 100644 index 0000000..00c891b --- /dev/null +++ b/gllib/unictype/categ_or.c @@ -0,0 +1,42 @@ +/* Categories of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +uc_general_category_t +uc_general_category_or (uc_general_category_t category1, + uc_general_category_t category2) +{ + uint32_t bitmask; + uc_general_category_t result; + + bitmask = category1.bitmask | category2.bitmask; + + if (bitmask == category1.bitmask) + return category1; + + if (bitmask == category2.bitmask) + return category2; + + result.bitmask = bitmask; + result.generic = 1; + result.lookup.lookup_fn = &uc_is_general_category_withtable; + return result; +} diff --git a/gllib/unictype/categ_test.c b/gllib/unictype/categ_test.c new file mode 100644 index 0000000..0bdad44 --- /dev/null +++ b/gllib/unictype/categ_test.c @@ -0,0 +1,32 @@ +/* Categories of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +bool +uc_is_general_category (ucs4_t uc, uc_general_category_t category) +{ + if (category.generic) + return category.lookup.lookup_fn (uc, category.bitmask); + else + return bitmap_lookup (category.lookup.table, uc); +} diff --git a/gllib/unictype/combiningclass.c b/gllib/unictype/combiningclass.c new file mode 100644 index 0000000..75050ca --- /dev/null +++ b/gllib/unictype/combiningclass.c @@ -0,0 +1,47 @@ +/* Combining classes of Unicode characters. + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_combclass table. */ +#include "combiningclass.h" + +int +uc_combining_class (ucs4_t uc) +{ + unsigned int index1 = uc >> combclass_header_0; + if (index1 < combclass_header_1) + { + int lookup1 = u_combclass.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> combclass_header_2) & combclass_header_3; + int lookup2 = u_combclass.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc & combclass_header_4); + unsigned int lookup3 = u_combclass.level3[lookup2 + index3]; + + return lookup3; + } + } + } + return 0; +} diff --git a/gllib/unictype/combiningclass.h b/gllib/unictype/combiningclass.h new file mode 100644 index 0000000..ddfe9b0 --- /dev/null +++ b/gllib/unictype/combiningclass.h @@ -0,0 +1,1351 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Combining class of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define combclass_header_0 16 +#define combclass_header_1 2 +#define combclass_header_2 7 +#define combclass_header_3 511 +#define combclass_header_4 127 +static const +struct + { + int level1[2]; + short level2[2 << 9]; + unsigned char level3[75 << 7]; + } +u_combclass = +{ + { 0, 512 }, + { + -1, -1, -1, -1, -1, -1, 0, -1, + -1, 128, -1, 256, 384, 512, 640, 768, + 896, 1024, 1152, 1280, 1280, 1280, 1280, 1408, + 1536, 1280, 1408, 1664, 1792, 1920, 2048, 2176, + 2304, 2432, -1, -1, -1, -1, 2560, -1, + -1, -1, -1, -1, -1, -1, 2688, 2816, + -1, 2944, 3072, -1, 3200, 3328, 3456, 3584, + 3712, 3840, -1, 3968, -1, -1, -1, -1, + -1, 4096, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4224, 4352, 4480, -1, -1, -1, -1, + 4608, 4736, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4864, 4992, -1, -1, + 5120, 5248, 5376, 5504, -1, 5632, -1, 5760, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5888, -1, + -1, -1, -1, -1, 6016, -1, -1, -1, + -1, -1, -1, 6144, -1, 6272, 6400, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6528, 6656, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 6784, 6912, 7040, 7168, 7296, 7424, 7552, -1, + 7680, 7808, -1, 7936, 8064, 8192, 8320, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 8064, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 8448, 8576, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 8704, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 8832, 8960, 9088, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 9216, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 9344, 9472, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 232, 220, 220, + 220, 220, 232, 216, 220, 220, 220, 220, + 220, 202, 202, 220, 220, 220, 220, 202, + 202, 220, 220, 220, 220, 220, 220, 220, + 220, 220, 220, 220, 1, 1, 1, 1, + 1, 220, 220, 220, 220, 230, 230, 230, + 230, 230, 230, 230, 230, 240, 230, 220, + 220, 220, 230, 230, 230, 220, 220, 0, + 230, 230, 230, 220, 220, 220, 220, 230, + 232, 220, 220, 230, 233, 234, 234, 233, + 234, 234, 233, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 230, 230, 230, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 220, 230, 230, 230, 230, 220, 230, + 230, 230, 222, 220, 230, 230, 230, 230, + 230, 230, 220, 220, 220, 220, 220, 220, + 230, 230, 220, 230, 230, 222, 228, 230, + 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 19, 20, 21, 22, 0, 23, + 0, 24, 25, 0, 230, 220, 0, 18, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 230, + 30, 31, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 230, 230, 220, 220, 230, + 230, 230, 230, 230, 220, 230, 230, 220, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 35, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 230, 230, + 230, 230, 230, 230, 230, 0, 0, 230, + 230, 230, 230, 220, 230, 0, 0, 230, + 230, 0, 220, 230, 230, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 220, 230, 230, 220, 230, 230, 220, + 220, 220, 230, 220, 220, 230, 220, 230, + 230, 230, 220, 230, 220, 230, 220, 230, + 220, 230, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 230, 230, 230, 230, 230, + 230, 230, 220, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 230, 230, + 230, 230, 0, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 0, 230, 230, 230, + 0, 230, 230, 230, 230, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 220, 220, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 0, 220, 230, 230, 220, 230, + 230, 220, 230, 230, 230, 220, 220, 220, + 27, 28, 29, 230, 230, 230, 220, 230, + 230, 220, 220, 230, 230, 230, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 230, 220, 230, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 0, 0, 0, 84, 91, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 103, 103, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 118, 118, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 220, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 220, + 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 0, 132, 0, 0, 0, + 0, 0, 130, 130, 130, 130, 0, 0, + 130, 0, 230, 230, 9, 0, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, + 0, 9, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 222, 230, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, + 220, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 230, 230, + 230, 230, 230, 230, 230, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 220, 220, 220, + 220, 220, 220, 230, 230, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 230, 220, 230, 230, 230, + 230, 230, 230, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 0, 1, 220, 220, 220, + 220, 220, 230, 230, 220, 220, 220, 220, + 230, 0, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 230, 0, 0, 0, + 230, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 220, 230, 230, 230, 230, 230, + 230, 230, 220, 230, 230, 234, 214, 220, + 202, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 0, 0, + 0, 0, 0, 230, 233, 220, 230, 220, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 1, 1, 230, 230, 230, 230, + 1, 1, 1, 230, 230, 0, 0, 0, + 0, 230, 0, 0, 0, 1, 1, 230, + 220, 230, 1, 1, 220, 220, 220, 220, + 230, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, + 230, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 218, 228, 232, 222, 224, 224, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 230, + 0, 0, 0, 0, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 220, 220, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 0, 230, 230, 220, 0, 0, 230, + 230, 0, 0, 0, 0, 0, 230, 230, + 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 220, + 220, 220, 220, 220, 220, 220, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 230, 230, + 230, 230, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 230, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 1, 220, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 220, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 7, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 7, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 230, 230, + 230, 230, 230, 230, 230, 0, 0, 0, + 230, 230, 230, 230, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 9, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9, + 7, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 7, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 216, 216, 1, + 1, 1, 0, 0, 0, 226, 216, 216, + 216, 216, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 220, 220, 220, 220, 220, + 220, 220, 220, 0, 0, 230, 230, 230, + 230, 230, 220, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 230, 230, 230, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 230, 230, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 230, 230, 230, 230, 230, 230, 230, 0, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, + 230, 0, 0, 230, 230, 230, 230, 230, + 230, 230, 0, 230, 230, 0, 230, 230, + 230, 230, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 220, 220, 220, 220, 220, 220, 220, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 230, 230, 230, + 230, 230, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + } +}; diff --git a/gllib/unictype/ctype_print.c b/gllib/unictype/ctype_print.c new file mode 100644 index 0000000..77234a0 --- /dev/null +++ b/gllib/unictype/ctype_print.c @@ -0,0 +1,32 @@ +/* ISO C like properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_is_print table. */ +#include "ctype_print.h" + +bool +uc_is_print (ucs4_t uc) +{ + return bitmap_lookup (&u_is_print, uc); +} diff --git a/gllib/unictype/ctype_print.h b/gllib/unictype/ctype_print.h new file mode 100644 index 0000000..5a7b3ab --- /dev/null +++ b/gllib/unictype/ctype_print.h @@ -0,0 +1,994 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* ISO C like properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[5 << 7]; + /*unsigned*/ int level3[78 << 4]; + } +u_is_print = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 512, + 18 * sizeof (int) / sizeof (short) + 512 + }, + { + 18 + 640 * sizeof (short) / sizeof (int) + 0, + 18 + 640 * sizeof (short) / sizeof (int) + 16, + 18 + 640 * sizeof (short) / sizeof (int) + 32, + 18 + 640 * sizeof (short) / sizeof (int) + 48, + 18 + 640 * sizeof (short) / sizeof (int) + 64, + 18 + 640 * sizeof (short) / sizeof (int) + 80, + 18 + 640 * sizeof (short) / sizeof (int) + 96, + 18 + 640 * sizeof (short) / sizeof (int) + 112, + 18 + 640 * sizeof (short) / sizeof (int) + 128, + 18 + 640 * sizeof (short) / sizeof (int) + 144, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 176, + 18 + 640 * sizeof (short) / sizeof (int) + 192, + 18 + 640 * sizeof (short) / sizeof (int) + 208, + 18 + 640 * sizeof (short) / sizeof (int) + 224, + 18 + 640 * sizeof (short) / sizeof (int) + 240, + 18 + 640 * sizeof (short) / sizeof (int) + 256, + 18 + 640 * sizeof (short) / sizeof (int) + 272, + 18 + 640 * sizeof (short) / sizeof (int) + 288, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 304, + 18 + 640 * sizeof (short) / sizeof (int) + 320, + 18 + 640 * sizeof (short) / sizeof (int) + 336, + 18 + 640 * sizeof (short) / sizeof (int) + 352, + 18 + 640 * sizeof (short) / sizeof (int) + 368, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 384, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 400, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 416, + 18 + 640 * sizeof (short) / sizeof (int) + 432, + 18 + 640 * sizeof (short) / sizeof (int) + 448, + 18 + 640 * sizeof (short) / sizeof (int) + 464, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 496, + 18 + 640 * sizeof (short) / sizeof (int) + 512, + 18 + 640 * sizeof (short) / sizeof (int) + 528, + 18 + 640 * sizeof (short) / sizeof (int) + 544, + 18 + 640 * sizeof (short) / sizeof (int) + 560, + 18 + 640 * sizeof (short) / sizeof (int) + 576, + 18 + 640 * sizeof (short) / sizeof (int) + 592, + 18 + 640 * sizeof (short) / sizeof (int) + 608, + 18 + 640 * sizeof (short) / sizeof (int) + 624, + 18 + 640 * sizeof (short) / sizeof (int) + 640, + 18 + 640 * sizeof (short) / sizeof (int) + 656, + 18 + 640 * sizeof (short) / sizeof (int) + 672, + 18 + 640 * sizeof (short) / sizeof (int) + 688, + 18 + 640 * sizeof (short) / sizeof (int) + 704, + 18 + 640 * sizeof (short) / sizeof (int) + 720, + 18 + 640 * sizeof (short) / sizeof (int) + 736, + 18 + 640 * sizeof (short) / sizeof (int) + 752, + 18 + 640 * sizeof (short) / sizeof (int) + 768, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 784, + 18 + 640 * sizeof (short) / sizeof (int) + 800, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 816, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 848, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 864, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 880, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 896, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 912, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 944, + 18 + 640 * sizeof (short) / sizeof (int) + 960, + 18 + 640 * sizeof (short) / sizeof (int) + 976, + 18 + 640 * sizeof (short) / sizeof (int) + 992, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1008, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1024, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1040, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1056, + 18 + 640 * sizeof (short) / sizeof (int) + 1072, + 18 + 640 * sizeof (short) / sizeof (int) + 1088, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1104, + 18 + 640 * sizeof (short) / sizeof (int) + 1120, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1136, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1152, + 18 + 640 * sizeof (short) / sizeof (int) + 1168, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1184, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1200, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 1216, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 160, + 18 + 640 * sizeof (short) / sizeof (int) + 1232 + }, + { + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFCFFFFFF, + 0xFFFFD7F0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0xFE7FFFFF, 0xFFFFFFFE, + 0xFFFEE6FF, 0xFFFFFFFF, 0xFFFF00FF, 0x001F07FF, + 0xDFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFBFFF, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0xFFFFFFFF, 0x7FFF3FFF, 0x4FFFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0FFFFFCF, + 0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0, + 0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0203FFCF, + 0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x00FFFFCF, + 0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x07FFFFC0, + 0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0xFF00FFCF, + 0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF, + 0xFFFDDFEE, 0xE7FFFFFF, 0xFFF0FDDF, 0xFFFFFFCF, + 0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x001CFFC0, + 0xFFFFFFFE, 0x87FFFFFF, 0x0FFFFFFF, 0x00000000, + 0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFF, 0xFFFE1FFF, + 0xFEFFFFFF, 0xDFFFFFFF, 0x07FFDFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0xE7FFFFFF, 0x1FFFFFFF, + 0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFFFFF, + 0x001FDFFF, 0x007FFFFF, 0x000FFFFF, 0x000DDFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x03FF03FF, + 0x03FF7FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x0FFF0FFF, 0xFFFFFFF1, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF, + 0xCFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF, + 0x03FF03FF, 0x7FFF3FFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0FFF, 0x1FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF00FFFFF, + 0xFFFFFFFF, 0xF8FFFFFF, 0xFFFFE3FF, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0xFFFF00FF, 0x037FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF, + 0xFFFFFFFF, 0xFFFFFCFF, 0xFFFFFFFF, 0xFFF3FFDF, + 0x1FFF7FFF, 0x7FFFFFFF, 0xFFFF0000, 0x0001FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFCFFFFF, + 0xFF3FFFFF, 0xE3FFFFFF, 0x0003FDFF, 0x0000F000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0FFFFF, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x800180FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, + 0xFE7FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF7FFF, 0x07FFFFFF, 0xFFFFFFFF, 0xFFFF000F, + 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0xFFFFFFFF, 0xFFFF007F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFFFFF, 0x03FF0FFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC03F, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x800FFFFF, 0x1FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xC3FFBFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0xF3FF3FFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xF8000007, 0x007FFFFF, + 0x007E7E7E, 0xFFFF7F7F, 0xFFFFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xE0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFF80003, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x3FFF0000, + 0x03FFFFFF, 0xFFFFFFFF, 0xFFF7FFFF, 0xFFDF0F7F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x9FFFFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x3E007F7F, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0FFF7FFF, 0x00000001, 0xFFFF0000, 0x3FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFF07FF, 0x07FFFFFF, + 0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000800F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0xFFBFFFFF, 0xFFFFFFFF, + 0x7FFFFFFF, 0x0000FF80, 0x00000000, 0xF837FFFF, + 0x8FFFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF0FFFFFF, 0xFFFCFFFF, 0xFFFFFFFF, + 0xFEEFF06F, 0x870FFFFF, 0x01FF00FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x007FF87F, + 0xFFFFFFFF, 0xFE3FFFFF, 0xFF3FFFFF, 0xFF07FFFF, + 0x1E03FFFF, 0x0000FE00, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0xFC07FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFC3FFF, 0x8000FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0003, 0x03FF01FF, + 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF000F, 0x007FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, 0x001FFFFE, + 0xFFFBFFFF, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF03FF, 0xFFFFFFFF, 0x03FF07FF, + 0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x2BFFFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFF3FFFFF, 0x3FFFFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF001F, 0x00001FFF, + 0xFFFFFFFF, 0x00FFFFFF, 0x000003FF, 0x00000000, + 0xE3FFFFFF, 0xFFFF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x8007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0xFF7FFFFF, 0xFFFF003F, 0xFFFF1FFF, + 0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001F7FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x0000C3FF, + 0x00000000, 0x00000000, 0xFFFF0000, 0x003F3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFBFF003F, 0xE0FFFFFB, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF, + 0xFFFF8000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0xF3FF01FF, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xF8000FFF, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFF9F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF07FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF, + 0xFFFF1FFF, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF, + 0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0, + 0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF, + 0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000, + 0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000, + 0x0003FFFF, 0x00000000, 0x00000001, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF + } +}; diff --git a/gllib/unictype/mirror.c b/gllib/unictype/mirror.c new file mode 100644 index 0000000..01dc08f --- /dev/null +++ b/gllib/unictype/mirror.c @@ -0,0 +1,49 @@ +/* Mirrored Unicode characters. + Copyright (C) 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +/* Define u_mirror table. */ +#include "mirror.h" + +bool +uc_mirror_char (ucs4_t uc, ucs4_t *puc) +{ + unsigned int index1 = uc >> mirror_header_0; + if (index1 < mirror_header_1) + { + int lookup1 = u_mirror.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> mirror_header_2) & mirror_header_3; + int lookup2 = u_mirror.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc & mirror_header_4); + int lookup3 = u_mirror.level3[lookup2 + index3]; + + *puc = uc + lookup3; + return (lookup3 != 0); + } + } + } + *puc = uc; + return false; +} diff --git a/gllib/unictype/mirror.h b/gllib/unictype/mirror.h new file mode 100644 index 0000000..0dc4df0 --- /dev/null +++ b/gllib/unictype/mirror.h @@ -0,0 +1,503 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Mirrored Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define mirror_header_0 16 +#define mirror_header_1 2 +#define mirror_header_2 7 +#define mirror_header_3 511 +#define mirror_header_4 127 +static const +struct + { + int level1[2]; + short level2[2 << 9]; + int level3[22 << 7]; + } +u_mirror = +{ + { 0, 512 }, + { + 0, 128, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 256, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 384, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 512, 640, 768, -1, 896, 1024, 1152, -1, + -1, -1, -1, -1, -1, -1, 1280, 1408, + -1, -1, -1, 1536, 1664, 1792, -1, -1, + -1, -1, -1, -1, 1920, -1, -1, -1, + 2048, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2176, -1, 2304, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2432, 2560, 2688, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, -1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, -2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -16, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 61635, 61634, 61633, 61632, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 59746, 59745, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, -1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, -1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, -1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 57021, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 56828, 56827, 56826, 56825, 0, 0, 0, + 3, 56820, 3, -3, 56817, -3, 0, 0, + 0, 56812, 0, 0, 0, 56808, 56807, 0, + 0, 0, 56803, 56802, 56801, 56800, 0, 56798, + 56797, 56796, 56795, 0, 56793, 0, 56791, 0, + 0, 0, 0, 56786, 56785, 56784, 56783, 56782, + 56781, 56780, 56779, 56778, 0, 0, 0, 0, + 0, 56772, 0, 56770, 1, -1, 56767, 56766, + 56765, 56764, 56763, 138, 56761, 56760, 56759, 56758, + 56757, 56756, 56755, 56754, 56753, 0, 0, 0, + 0, 0, 1, -1, 1, -1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56734, + 56733, 0, 56731, 0, 1, -1, 1, -1, + 56725, 56724, 1, -1, 0, 0, 56719, 56718, + 56717, 56716, 56715, 56714, 56713, 56712, 1, -1, + 1, -1, 1, -1, 1, -1, 56703, 56702, + 56701, 56700, 1, -1, 56697, 56696, 1, -1, + 56693, 56692, 56691, 56690, 56689, 0, 0, 1, + -1, 1, -1, 0, 0, 0, 0, 0, + 56677, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, -1, 0, 0, 56663, 56662, + 56661, 56660, 56659, 56658, 56657, 56656, 56655, 56654, + 1, -1, 1, -1, 1, -1, 1, -1, + 56645, 0, 0, 0, 0, 0, 56639, 56638, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, -1, 1, -1, -138, 0, 0, + 1, -1, 0, 0, 0, 0, 1, -1, + 1, -1, 1, -1, 1, -1, 1, -1, + 56605, 56604, 56603, 56602, 56601, 56600, 56599, 56598, + 56597, 56596, 56595, 56594, 56593, 56592, 0, 0, + 1, -1, 56587, 56586, 56585, 56584, 56583, 56582, + 56581, 56580, 56579, 56578, 56577, 56576, 56575, 56574, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, -1, 1, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 56541, 56540, 0, 0, 0, 0, 0, 0, + 0, 1, -1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 55445, 55444, 55443, 55442, 55441, 55440, 55439, 55438, + 55437, 55436, 55435, 55434, 55433, 55432, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 55357, 0, 0, 55354, 55353, 55352, 55351, 0, + 55349, 55348, 0, 55346, 55345, 55344, 0, 0, + 0, 0, 0, 55338, 55337, 55336, 55335, 0, + 0, 0, 0, 0, 55329, 55328, 55327, 0, + 0, 0, 55323, 55322, 55321, 55320, 55319, 55318, + 55317, 55316, 55315, 55314, 55313, 55312, 55311, 55310, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 54906, 54905, 54904, 54903, 54902, + 54901, 54900, 54899, 54898, 54897, 54896, 54895, 54894, + 54893, 54892, 54891, 54890, 54889, 54888, 54887, 54886, + 54885, 0, 0, 54882, 54881, 54880, 54879, 54878, + 54877, 54876, 54875, 54874, 54873, 54872, 54871, 54870, + 54869, 54868, 54867, 54866, 54865, 54864, 54863, 54862, + 0, 0, 0, 0, 0, 0, 0, 0, + 54853, 0, 0, 0, 0, 0, 0, 0, + 54845, 54844, 54843, 54842, 54841, 54840, 0, 0, + 0, 54836, 0, 0, 0, 0, 54831, 54830, + 54829, 54828, 54827, 0, 54825, 54824, 0, 0, + 54821, 54820, 54819, 54818, 54817, 0, 0, 0, + 0, 54812, 0, 54810, 54809, 54808, 0, 0, + 54805, 54804, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54793, 54792, 54791, 54790, + 54789, 54788, 0, 0, 54785, 54784, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 54771, 54770, 54769, 54768, 54767, 54766, + 54765, 54764, 54763, 54762, 54761, 54760, 54759, 54758, + 54757, 54756, 54755, 54754, 54753, 0, 54751, 54750, + 54749, 54748, 0, 0, 54745, 0, 54743, 0, + 0, 54740, 0, 54738, 54737, 54736, 54735, 0, + 0, 0, 0, 0, 54729, 54728, 0, 0, + 0, 0, 0, 0, 54721, 54720, 54719, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 54694, + 54693, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54681, 54680, 0, 0, + 0, 0, 54675, 54674, 54673, 54672, 0, 54670, + 54669, 0, 0, 54666, 54665, 0, 0, 0, + 0, 54660, 54659, 54658, 54657, 54656, 54655, 54654, + 54653, 54652, 54651, 54650, 54649, 54648, 54647, 54646, + 54645, 54644, 54643, 54642, 54641, 54640, 54639, 54638, + 54637, 54636, 54635, 54634, 54633, 54632, 54631, 54630, + 54629, 54628, 54627, 54626, 54625, 54624, 54623, 54622, + 54621, 54620, 54619, 54618, 0, 0, 54615, 54614, + 54613, 54612, 54611, 54610, 54609, 54608, 0, 54606, + 54605, 54604, 54603, 54602, 54601, 54600, 54599, 54598, + 54597, 54596, 54595, 54594, 54593, 54592, 54591, 54590, + 54589, 54588, 54587, 54586, 54585, 54584, 54583, 54582, + 54581, 54580, 54579, 54578, 54577, 54576, 54575, 54574, + 54573, 54572, 54571, 54570, 54569, 54568, 54567, 0, + 0, 0, 0, 0, 54561, 0, 54559, 0, + 0, 0, 54555, 54554, 54553, 54552, 54551, 0, + 0, 0, 0, 0, 54545, 54544, 54543, 0, + 0, 0, 0, 54538, 0, 0, 0, 54534, + 54533, 54532, 54531, 54530, 0, 54528, 0, 0, + 0, 0, 53755, 53754, 53753, 53752, 0, 0, + 0, 53748, 53747, 0, 53745, 53744, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 53729, 53728, 0, 0, + 53725, 53724, 53723, 53722, 53721, 53720, 53719, 53718, + 53717, 53716, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, -1, 1, -1, 1, -1, 1, -1, + 1, -1, 0, 0, 1, -1, 1, -1, + 1, -1, 1, -1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 420, 419, 418, 417, 416, 415, 0, + 0, 0, 0, 0, 409, 408, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 245, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 223, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 194, 0, 192, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 162, 0, 160, 0, 158, + 157, 0, 155, 154, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -55006, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -55064, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -55122, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, -55180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -55238, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 + } +}; diff --git a/gllib/unictype/pr_alphabetic.c b/gllib/unictype/pr_alphabetic.c new file mode 100644 index 0000000..a82a3cf --- /dev/null +++ b/gllib/unictype/pr_alphabetic.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_alphabetic table. */ +#include "pr_alphabetic.h" + +bool +uc_is_property_alphabetic (ucs4_t uc) +{ + return bitmap_lookup (&u_property_alphabetic, uc); +} + +const uc_property_t UC_PROPERTY_ALPHABETIC = + { &uc_is_property_alphabetic }; diff --git a/gllib/unictype/pr_alphabetic.h b/gllib/unictype/pr_alphabetic.h new file mode 100644 index 0000000..9a56cb3 --- /dev/null +++ b/gllib/unictype/pr_alphabetic.h @@ -0,0 +1,684 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[68 << 4]; + } +u_property_alphabetic = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + 4 + 384 * sizeof (short) / sizeof (int) + 992, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 1008, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 1024, + 4 + 384 * sizeof (short) / sizeof (int) + 1040, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 1056, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 1072, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0x00000000, 0x00000000, 0x00000020, 0xBCDF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0x000000FF, 0xBFFF0000, 0xFFFF00B6, 0x000707FF, + 0x07FF0000, 0xFFFFFFFF, 0xFEFFFFFF, 0xFFFFC000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x1FEFFFFF, 0x9C00E1FE, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFFFFC00, 0x043007FF, + 0xFCFFFFFF, 0x00001FFF, 0x01FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFF03F8, + 0xFFFFFFFF, 0xEFFFFFFF, 0xFFE1DFFF, 0xFFFE000F, + 0xFFF99FEF, 0xE3C5FDFF, 0xB080599F, 0x0003000F, + 0xFFF987EE, 0xC36DFDFF, 0x5E021987, 0x003F0000, + 0xFFFBBFEE, 0xE3EDFDFF, 0x00011BBF, 0x0200000F, + 0xFFF99FEE, 0xE3EDFDFF, 0xB0C0199F, 0x0002000F, + 0xD63DC7EC, 0xC3FFC718, 0x00811DC7, 0x00000000, + 0xFFFDDFEF, 0xE3FFFDFF, 0x07601DDF, 0x0000000F, + 0xFFFDDFEF, 0xE3EFFDFF, 0x40601DDF, 0x0006000F, + 0xFFFDDFEE, 0xE7FFFFFF, 0x80F05DDF, 0xFC00000F, + 0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F807F, 0x000C0000, + 0xFFFFFFFE, 0x07FFFFFF, 0x0000207F, 0x00000000, + 0xFEF02596, 0x3BFFECAE, 0xF000205F, 0x00000000, + 0x00000001, 0x00000000, 0xFFFFFEFF, 0xFFFE1FFF, + 0xFEFFFF03, 0x1FFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF97FFFFF, 0xFFFF0000, 0xFFFFC1E7, + 0x3000407F, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x87FFFFFF, 0x00000000, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF, + 0x000FDFFF, 0x000FFFFF, 0x000FFFFF, 0x000DDFFF, + 0xFFFFFFFF, 0xFFCFFFFF, 0x108001FF, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x01FF0FFF, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000, + 0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x001FFFFE, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFEFFFFF, 0x00000FEF, 0x00000000, + 0xFFFFFFFF, 0xFC00F3FF, 0xFFFFFFFF, 0x0003FFBF, + 0xFFFFFFFF, 0x003FFFFF, 0xFC00E000, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x006FDE00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x001FFF80, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x3E2FFC84, 0xF3FFBD50, 0x000043E0, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF, + 0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x8FF07FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFF7BB, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000002F, 0x28FC0000, + 0xFFFFFC00, 0xFFFF07FF, 0x0007FFFF, 0x1FFFFFFF, + 0xFFFFFFFF, 0xFFF7FFFF, 0x00008000, 0x7C00FFDF, + 0xFFFFFFFF, 0x007FFFFF, 0x00003FFF, 0xC47FFFFF, + 0xFFFFFFFF, 0x7FFFFFFF, 0x38000005, 0x003CFFFF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000007FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000, + 0x00000000, 0x00000000, 0x00000000, 0xFFDF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEFF06F, 0x000FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000000, + 0xFFFFFFFC, 0x01FFFFFF, 0xFFFF0000, 0x000001FF, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFF0000, 0x0047FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x1400001E, 0x00000000, + 0xFFFBFFFF, 0x409FFFFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x000001FF, + 0xFFF99FEF, 0xE3EDFDFF, 0xE081199F, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000007BB, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000000B3, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x7F3FFFFF, 0x3F000000, 0x00000000, + 0xFFFFFFFF, 0x7FFFFFFF, 0x00000011, 0x00000000, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xE3FFFFFF, 0x000007FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x7F7FFFFF, 0x00000001, 0xFFFC0000, + 0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF, + 0xFFFFFFFF, 0x007FFFFF, 0x0000000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x43FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000008F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_ascii_hex_digit.c b/gllib/unictype/pr_ascii_hex_digit.c new file mode 100644 index 0000000..7809561 --- /dev/null +++ b/gllib/unictype/pr_ascii_hex_digit.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_ascii_hex_digit table. */ +#include "pr_ascii_hex_digit.h" + +bool +uc_is_property_ascii_hex_digit (ucs4_t uc) +{ + return bitmap_lookup (&u_property_ascii_hex_digit, uc); +} + +const uc_property_t UC_PROPERTY_ASCII_HEX_DIGIT = + { &uc_is_property_ascii_hex_digit }; diff --git a/gllib/unictype/pr_ascii_hex_digit.h b/gllib/unictype/pr_ascii_hex_digit.h new file mode 100644 index 0000000..b74611e --- /dev/null +++ b/gllib/unictype/pr_ascii_hex_digit.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_ascii_hex_digit = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x0000007E, 0x0000007E, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_arabic_digit.c b/gllib/unictype/pr_bidi_arabic_digit.c new file mode 100644 index 0000000..459e30c --- /dev/null +++ b/gllib/unictype/pr_bidi_arabic_digit.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_arabic_digit table. */ +#include "pr_bidi_arabic_digit.h" + +bool +uc_is_property_bidi_arabic_digit (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_arabic_digit, uc); +} + +#else + +bool +uc_is_property_bidi_arabic_digit (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_AN); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_ARABIC_DIGIT = + { &uc_is_property_bidi_arabic_digit }; diff --git a/gllib/unictype/pr_bidi_arabic_digit.h b/gllib/unictype/pr_bidi_arabic_digit.h new file mode 100644 index 0000000..a55881d --- /dev/null +++ b/gllib/unictype/pr_bidi_arabic_digit.h @@ -0,0 +1,295 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_bidi_arabic_digit = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x0000003F, 0x00000000, 0x00000000, 0x00001BFF, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_arabic_right_to_left.c b/gllib/unictype/pr_bidi_arabic_right_to_left.c new file mode 100644 index 0000000..8612d3a --- /dev/null +++ b/gllib/unictype/pr_bidi_arabic_right_to_left.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_arabic_right_to_left table. */ +#include "pr_bidi_arabic_right_to_left.h" + +bool +uc_is_property_bidi_arabic_right_to_left (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_arabic_right_to_left, uc); +} + +#else + +bool +uc_is_property_bidi_arabic_right_to_left (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_AL); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT = + { &uc_is_property_bidi_arabic_right_to_left }; diff --git a/gllib/unictype/pr_bidi_arabic_right_to_left.h b/gllib/unictype/pr_bidi_arabic_right_to_left.h new file mode 100644 index 0000000..541e20a --- /dev/null +++ b/gllib/unictype/pr_bidi_arabic_right_to_left.h @@ -0,0 +1,311 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[7 << 4]; + } +u_property_bidi_arabic_right_to_left = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0xF8002900, 0xFFFFFFFF, 0x000007FF, 0xFFFEE000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0xFC00C060, + 0xFFFDFFFF, 0x0000FFFF, 0xFFFFF800, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFE003F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000020, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xDFFF0000, + 0xFC000000, 0x00000000, 0x00080000, 0xFFFFF080, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_block_separator.c b/gllib/unictype/pr_bidi_block_separator.c new file mode 100644 index 0000000..d2738f6 --- /dev/null +++ b/gllib/unictype/pr_bidi_block_separator.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_block_separator table. */ +#include "pr_bidi_block_separator.h" + +bool +uc_is_property_bidi_block_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_block_separator, uc); +} + +#else + +bool +uc_is_property_bidi_block_separator (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_B); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_BLOCK_SEPARATOR = + { &uc_is_property_bidi_block_separator }; diff --git a/gllib/unictype/pr_bidi_block_separator.h b/gllib/unictype/pr_bidi_block_separator.h new file mode 100644 index 0000000..a9747b1 --- /dev/null +++ b/gllib/unictype/pr_bidi_block_separator.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_bidi_block_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x70002400, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_boundary_neutral.c b/gllib/unictype/pr_bidi_boundary_neutral.c new file mode 100644 index 0000000..3b0dba5 --- /dev/null +++ b/gllib/unictype/pr_bidi_boundary_neutral.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_boundary_neutral table. */ +#include "pr_bidi_boundary_neutral.h" + +bool +uc_is_property_bidi_boundary_neutral (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_boundary_neutral, uc); +} + +#else + +bool +uc_is_property_bidi_boundary_neutral (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_BN); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL = + { &uc_is_property_bidi_boundary_neutral }; diff --git a/gllib/unictype/pr_bidi_boundary_neutral.h b/gllib/unictype/pr_bidi_boundary_neutral.h new file mode 100644 index 0000000..28c39eb --- /dev/null +++ b/gllib/unictype/pr_bidi_boundary_neutral.h @@ -0,0 +1,594 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[4 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_property_bidi_boundary_neutral = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256 + }, + { + 18 + 512 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 48, + 18 + 512 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 112, + 18 + 512 * sizeof (short) / sizeof (int) + 128, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 112 + }, + { + 0x0FFFC1FF, 0x00000000, 0x00000000, 0x80000000, + 0xFFFFFFDF, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x0000FC1F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC1FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF + } +}; diff --git a/gllib/unictype/pr_bidi_common_separator.c b/gllib/unictype/pr_bidi_common_separator.c new file mode 100644 index 0000000..c0cc427 --- /dev/null +++ b/gllib/unictype/pr_bidi_common_separator.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_common_separator table. */ +#include "pr_bidi_common_separator.h" + +bool +uc_is_property_bidi_common_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_common_separator, uc); +} + +#else + +bool +uc_is_property_bidi_common_separator (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_CS); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_COMMON_SEPARATOR = + { &uc_is_property_bidi_common_separator }; diff --git a/gllib/unictype/pr_bidi_common_separator.h b/gllib/unictype/pr_bidi_common_separator.h new file mode 100644 index 0000000..f1f11b1 --- /dev/null +++ b/gllib/unictype/pr_bidi_common_separator.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_property_bidi_common_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48 + }, + { + 0x00000000, 0x0400D000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00008000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00250000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0400D000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_control.c b/gllib/unictype/pr_bidi_control.c new file mode 100644 index 0000000..30cd3de --- /dev/null +++ b/gllib/unictype/pr_bidi_control.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_bidi_control table. */ +#include "pr_bidi_control.h" + +bool +uc_is_property_bidi_control (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_control, uc); +} + +const uc_property_t UC_PROPERTY_BIDI_CONTROL = + { &uc_is_property_bidi_control }; diff --git a/gllib/unictype/pr_bidi_control.h b/gllib/unictype/pr_bidi_control.h new file mode 100644 index 0000000..b85592b --- /dev/null +++ b/gllib/unictype/pr_bidi_control.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_bidi_control = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000C000, 0x00007C00, 0x00000000, 0x000003C0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_embedding_or_override.c b/gllib/unictype/pr_bidi_embedding_or_override.c new file mode 100644 index 0000000..a6150fa --- /dev/null +++ b/gllib/unictype/pr_bidi_embedding_or_override.c @@ -0,0 +1,49 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_embedding_or_override table. */ +#include "pr_bidi_embedding_or_override.h" + +bool +uc_is_property_bidi_embedding_or_override (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_embedding_or_override, uc); +} + +#else + +bool +uc_is_property_bidi_embedding_or_override (ucs4_t uc) +{ + int category = uc_bidi_category (uc); + return (category == UC_BIDI_LRE || category == UC_BIDI_LRO + || category == UC_BIDI_RLE || category == UC_BIDI_RLO); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE = + { &uc_is_property_bidi_embedding_or_override }; diff --git a/gllib/unictype/pr_bidi_embedding_or_override.h b/gllib/unictype/pr_bidi_embedding_or_override.h new file mode 100644 index 0000000..bb1be95 --- /dev/null +++ b/gllib/unictype/pr_bidi_embedding_or_override.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_bidi_embedding_or_override = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00006C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_eur_num_separator.c b/gllib/unictype/pr_bidi_eur_num_separator.c new file mode 100644 index 0000000..0f081ec --- /dev/null +++ b/gllib/unictype/pr_bidi_eur_num_separator.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_eur_num_separator table. */ +#include "pr_bidi_eur_num_separator.h" + +bool +uc_is_property_bidi_eur_num_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_eur_num_separator, uc); +} + +#else + +bool +uc_is_property_bidi_eur_num_separator (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_ES); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR = + { &uc_is_property_bidi_eur_num_separator }; diff --git a/gllib/unictype/pr_bidi_eur_num_separator.h b/gllib/unictype/pr_bidi_eur_num_separator.h new file mode 100644 index 0000000..4085fc3 --- /dev/null +++ b/gllib/unictype/pr_bidi_eur_num_separator.h @@ -0,0 +1,172 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[5 << 4]; + } +u_property_bidi_eur_num_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64 + }, + { + 0x00000000, 0x00002800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0C000000, + 0x00000C00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00040000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000000C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00002800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_eur_num_terminator.c b/gllib/unictype/pr_bidi_eur_num_terminator.c new file mode 100644 index 0000000..6dc8c97 --- /dev/null +++ b/gllib/unictype/pr_bidi_eur_num_terminator.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_eur_num_terminator table. */ +#include "pr_bidi_eur_num_terminator.h" + +bool +uc_is_property_bidi_eur_num_terminator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_eur_num_terminator, uc); +} + +#else + +bool +uc_is_property_bidi_eur_num_terminator (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_ET); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR = + { &uc_is_property_bidi_eur_num_terminator }; diff --git a/gllib/unictype/pr_bidi_eur_num_terminator.h b/gllib/unictype/pr_bidi_eur_num_terminator.h new file mode 100644 index 0000000..dd00006 --- /dev/null +++ b/gllib/unictype/pr_bidi_eur_num_terminator.h @@ -0,0 +1,196 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_property_bidi_eur_num_terminator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + 2 + 128 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 160 + }, + { + 0x00000000, 0x00000038, 0x00000000, 0x00000000, + 0x00000000, 0x0003003C, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000600, 0x00000000, 0x00000000, 0x00000400, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x001F0000, 0x00000000, 0x00000000, + 0x00000000, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00004000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00080000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x03000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00000600, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000038, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000063 + } +}; diff --git a/gllib/unictype/pr_bidi_european_digit.c b/gllib/unictype/pr_bidi_european_digit.c new file mode 100644 index 0000000..39a36d2 --- /dev/null +++ b/gllib/unictype/pr_bidi_european_digit.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_european_digit table. */ +#include "pr_bidi_european_digit.h" + +bool +uc_is_property_bidi_european_digit (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_european_digit, uc); +} + +#else + +bool +uc_is_property_bidi_european_digit (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_EN); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_EUROPEAN_DIGIT = + { &uc_is_property_bidi_european_digit }; diff --git a/gllib/unictype/pr_bidi_european_digit.h b/gllib/unictype/pr_bidi_european_digit.h new file mode 100644 index 0000000..c36f002 --- /dev/null +++ b/gllib/unictype/pr_bidi_european_digit.h @@ -0,0 +1,315 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_bidi_european_digit = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x020C0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03F10000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0FFFFF00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_hebrew_right_to_left.c b/gllib/unictype/pr_bidi_hebrew_right_to_left.c new file mode 100644 index 0000000..427e5c4 --- /dev/null +++ b/gllib/unictype/pr_bidi_hebrew_right_to_left.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_hebrew_right_to_left table. */ +#include "pr_bidi_hebrew_right_to_left.h" + +bool +uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_hebrew_right_to_left, uc); +} + +#else + +bool +uc_is_property_bidi_hebrew_right_to_left (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_R); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT = + { &uc_is_property_bidi_hebrew_right_to_left }; diff --git a/gllib/unictype/pr_bidi_hebrew_right_to_left.h b/gllib/unictype/pr_bidi_hebrew_right_to_left.h new file mode 100644 index 0000000..c77ae9d --- /dev/null +++ b/gllib/unictype/pr_bidi_hebrew_right_to_left.h @@ -0,0 +1,323 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_property_bidi_hebrew_right_to_left = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00010000, 0x40000000, 0xFFFFFF49, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFC3007FF, + 0x043FFFFF, 0xFFFFC110, 0xF1FFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xA0000000, 0xFFFFFDFF, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF0F91, 0x78FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFF9F, + 0xFFFFFFFF, 0x01FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF9F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_left_to_right.c b/gllib/unictype/pr_bidi_left_to_right.c new file mode 100644 index 0000000..2b1ca0d --- /dev/null +++ b/gllib/unictype/pr_bidi_left_to_right.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_left_to_right table. */ +#include "pr_bidi_left_to_right.h" + +bool +uc_is_property_bidi_left_to_right (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_left_to_right, uc); +} + +#else + +bool +uc_is_property_bidi_left_to_right (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_L); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_LEFT_TO_RIGHT = + { &uc_is_property_bidi_left_to_right }; diff --git a/gllib/unictype/pr_bidi_left_to_right.h b/gllib/unictype/pr_bidi_left_to_right.h new file mode 100644 index 0000000..6741ad5 --- /dev/null +++ b/gllib/unictype/pr_bidi_left_to_right.h @@ -0,0 +1,770 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[4 << 7]; + /*unsigned*/ int level3[54 << 4]; + } +u_property_bidi_left_to_right = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 384, + 18 * sizeof (int) / sizeof (short) + 256, + 18 * sizeof (int) / sizeof (short) + 256 + }, + { + 18 + 512 * sizeof (short) / sizeof (int) + 0, + 18 + 512 * sizeof (short) / sizeof (int) + 16, + 18 + 512 * sizeof (short) / sizeof (int) + 32, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 48, + 18 + 512 * sizeof (short) / sizeof (int) + 64, + 18 + 512 * sizeof (short) / sizeof (int) + 80, + 18 + 512 * sizeof (short) / sizeof (int) + 96, + 18 + 512 * sizeof (short) / sizeof (int) + 112, + 18 + 512 * sizeof (short) / sizeof (int) + 128, + 18 + 512 * sizeof (short) / sizeof (int) + 144, + 18 + 512 * sizeof (short) / sizeof (int) + 160, + 18 + 512 * sizeof (short) / sizeof (int) + 176, + 18 + 512 * sizeof (short) / sizeof (int) + 192, + 18 + 512 * sizeof (short) / sizeof (int) + 208, + 18 + 512 * sizeof (short) / sizeof (int) + 224, + 18 + 512 * sizeof (short) / sizeof (int) + 240, + 18 + 512 * sizeof (short) / sizeof (int) + 256, + 18 + 512 * sizeof (short) / sizeof (int) + 272, + 18 + 512 * sizeof (short) / sizeof (int) + 288, + 18 + 512 * sizeof (short) / sizeof (int) + 304, + 18 + 512 * sizeof (short) / sizeof (int) + 320, + 18 + 512 * sizeof (short) / sizeof (int) + 336, + 18 + 512 * sizeof (short) / sizeof (int) + 352, + 18 + 512 * sizeof (short) / sizeof (int) + 368, + 18 + 512 * sizeof (short) / sizeof (int) + 384, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 416, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 432, + 18 + 512 * sizeof (short) / sizeof (int) + 448, + 18 + 512 * sizeof (short) / sizeof (int) + 464, + 18 + 512 * sizeof (short) / sizeof (int) + 480, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 496, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 512, + 18 + 512 * sizeof (short) / sizeof (int) + 528, + 18 + 512 * sizeof (short) / sizeof (int) + 544, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 560, + 18 + 512 * sizeof (short) / sizeof (int) + 576, + 18 + 512 * sizeof (short) / sizeof (int) + 592, + 18 + 512 * sizeof (short) / sizeof (int) + 608, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 624, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 640, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 656, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 672, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 688, + 18 + 512 * sizeof (short) / sizeof (int) + 704, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 720, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 736, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 752, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 768, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 784, + 18 + 512 * sizeof (short) / sizeof (int) + 800, + 18 + 512 * sizeof (short) / sizeof (int) + 304, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 816, + 18 + 512 * sizeof (short) / sizeof (int) + 832, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 848, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 400, + 18 + 512 * sizeof (short) / sizeof (int) + 848 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF9FFFFFF, 0x00030003, 0x0000401F, + 0x00000000, 0x00000000, 0x00000000, 0xBFCF0000, + 0xFFFFFF4F, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001BFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0xEBFFFFFF, 0xFF01DE01, 0xFFFFFFF3, + 0xFFFFFFFD, 0xEFFFFFFF, 0xFFFFDFE1, 0xF7F3FFF3, + 0xFFFFFFF9, 0xEFFFFFFF, 0xFFFDC679, 0xFFDCFFFF, + 0xFFFFFFF9, 0xEFFFFFFF, 0xFFFFDE41, 0xFFFDFFF3, + 0xFFFFFFFD, 0x6FFFFFFF, 0xFFBFDFE1, 0xFFFFFFF3, + 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFDFFE, 0xF807FFFF, + 0xFFFFFFFE, 0x3FFFFFFF, 0xFF9FC23E, 0x80FFFFF3, + 0xFFFFFFFD, 0xEFFFFFFF, 0xFFFFCFFF, 0xFFFFFFF3, + 0xFFFFFFFD, 0xFFFFFFFF, 0xFFFFDFE1, 0xFFFFFFF3, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFA3FBFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x780DFFFF, 0xFFFF807F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xE40DFFFF, 0xFFFFC0FF, 0xFFFFFFFF, + 0xFCFFFFFF, 0xC15FFFFF, 0xFFFFFFFF, 0x8001FFFF, + 0x01001F20, 0xE0000000, 0xFFFFFFBF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x99021FFF, 0x3CFFFFFF, 0xFFE1FFFE, + 0xDFFFDF9B, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, 0xFFFFFFFF, + 0xFC00FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xE7FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFE3FFFF, 0xFFE3FFFF, 0xFFF3FFFF, 0xFFF3FFFF, + 0xFFFFFFFF, 0xC04FFFFF, 0xD7F001BF, 0xFC00FFFF, + 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFF9F, 0xFFFFFDFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF1FBFE78, 0xFFFFFFCE, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x00000000, + 0xF67FFFFF, 0xFFFFFFFF, 0x80BFFFFF, 0x6007E01A, + 0xFFFFFFFF, 0x8000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFF0, 0xE82FFFFF, 0xFFFFFFFB, 0xFFF007FF, + 0xFFFFFFFC, 0xFFFFC4C3, 0xFFFFFFFF, 0xFFFC5CBF, + 0xFFFFFFFF, 0xFF300FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0008FFFF, 0xFCEFDE02, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x07C00000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x5FFFFFFF, 0x1FFF1FFC, 0x9FFF1FFF, + 0x00004000, 0x00000000, 0x00000000, 0x800E0000, + 0xFFFF8000, 0x80000000, 0x0000FFFF, 0xFFFE0000, + 0x3E2FFC84, 0xF3FFBD50, 0x0000C3E0, 0xFFFFFFFF, + 0x0000F1FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x07FFFFFF, + 0x00200000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000, + 0xF0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00001000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00300000, + 0x00C00000, 0x1C000000, 0xFFFC0200, 0xFFFF0FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FC781F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF, + 0x04000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF, + 0x000000E0, 0x1F3EC3FE, 0xFFFFFFFF, 0xFFFFFFFF, + 0xE1FFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFFFFFFF0, + 0x9FFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x8FFFFFFF, + 0xFFFFFFFF, 0x0001FFFF, 0xFFFF0FFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF87FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0000FFFF, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFCFFFF, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF7BB, 0xFCFFF09F, 0xFFFFFFFF, 0xFF0FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFCF, 0xFFFC0000, + 0xFFFFFFFF, 0xFFFFC03F, 0xFFFC007F, 0xFFFFFFFF, + 0xFFFFFFF8, 0xEC37FFFF, 0xFFFFFFFF, 0xFFFFFFDF, + 0xFFFFFFFF, 0xFF9981FF, 0xFFFFEFF7, 0xEFFFFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0xFFFFFFFD, 0xFFBFCFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFDEDF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x1FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00008080, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xF000E000, 0xFFFFFFFE, 0xFFFFFFFF, 0xDFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFD, 0x00FFFFFF, 0x0003FF80, 0x7FFFFFC0, + 0xFFFFFFFC, 0xF987FFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFF8, 0xFFE0107F, 0xFFFFFFFF, 0xFFF7FFFF, + 0xFFFFFFFC, 0x803FFFFF, 0xFFFFE3FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xBF2C7FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0xFFFFF807, + 0xFFFFFFFC, 0xEFFFFFFF, 0xFFFFFFFE, 0xFFE0E03F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00FFFFFF, 0xFFFFFFA3, 0xFFFFFFFF, + 0xFFFFFFFF, 0x7A07FFFF, 0xFFFFFFF2, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x4FC3FFFF, 0xCFFFFFFE, 0xFFFFFFFF, + 0xFFFFFFFF, 0x5807FFFF, 0xFFFFFFFE, 0xFFFFE000, + 0xFFFFFFFF, 0xFF40D7FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x1FFFFFFF, 0xFFFFF043, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xC080FFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0003FFFF, 0xFF920300, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFE0FFFF, + 0xFFFFFFFF, 0xFF80FFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFF87FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x9FFFFFFF, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FC7F, + 0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xF7FFFFFF, 0xFFFFFFFF, + 0xFFDFFFFF, 0xFFFFFFFF, 0xFFFF7FFF, 0xFFFFFFFF, + 0xFFFFFDFF, 0xFFFFFFFF, 0x00003FF7, 0x00000000, + 0x00000000, 0x07800000, 0x00000000, 0xFFDFE000, + 0x07FFFFEF, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000010, 0xF5080169, 0x5569157B, 0xA1080869, + 0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0000F000, 0x00000000, 0x00000000, + 0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000, + 0xFFFFE000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF3FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF, + 0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000, + 0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF, + 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF + } +}; diff --git a/gllib/unictype/pr_bidi_non_spacing_mark.c b/gllib/unictype/pr_bidi_non_spacing_mark.c new file mode 100644 index 0000000..daf4fd1 --- /dev/null +++ b/gllib/unictype/pr_bidi_non_spacing_mark.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_non_spacing_mark table. */ +#include "pr_bidi_non_spacing_mark.h" + +bool +uc_is_property_bidi_non_spacing_mark (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_non_spacing_mark, uc); +} + +#else + +bool +uc_is_property_bidi_non_spacing_mark (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_NSM); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_NON_SPACING_MARK = + { &uc_is_property_bidi_non_spacing_mark }; diff --git a/gllib/unictype/pr_bidi_non_spacing_mark.h b/gllib/unictype/pr_bidi_non_spacing_mark.h new file mode 100644 index 0000000..d32c7cb --- /dev/null +++ b/gllib/unictype/pr_bidi_non_spacing_mark.h @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_property_bidi_non_spacing_mark = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000003F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFFFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F, + 0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800, + 0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB, + 0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C, + 0x00000002, 0x10000000, 0x0000201E, 0x0000000C, + 0x00000006, 0x10000000, 0x00023986, 0x00230000, + 0x00000006, 0x10000000, 0x000021BE, 0x0000000C, + 0x00000002, 0x90000000, 0x0040201E, 0x0000000C, + 0x00000004, 0x00000000, 0x00002001, 0x00000000, + 0x00000001, 0xC0000000, 0x00603DC1, 0x0000000C, + 0x00000002, 0x10000000, 0x00003000, 0x0000000C, + 0x00000002, 0x00000000, 0x0000201E, 0x0000000C, + 0x00000000, 0x00000000, 0x005C0400, 0x00000000, + 0x00000000, 0x07F20000, 0x00007F80, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F00, 0x00000000, + 0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001, + 0x20002064, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0E040187, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5, + 0x00000000, 0x7FFF0000, 0x00000000, 0x00000000, + 0x0000000F, 0x17D00000, 0x00000004, 0x000FF800, + 0x00000003, 0x00003B3C, 0x00000000, 0x0003A340, + 0x00000000, 0x00CFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031021FD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x00003C00, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3FF78000, + 0xC0000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000844, 0x00000060, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000, + 0x00000007, 0x13C80000, 0x00000000, 0x00000020, + 0x00000000, 0x00667E00, 0x00001008, 0x10000000, + 0x00000000, 0xC19D0000, 0x00000002, 0x00403000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002120, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000003, 0x06780000, 0x00000000, 0x00000000, + 0x00000007, 0x001FEF80, 0x00000000, 0x00080000, + 0x00000003, 0x7FC00000, 0x00001C00, 0x00000000, + 0x00000000, 0x40D38000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007F8, + 0x00000003, 0x10000000, 0x00000001, 0x001F1FC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF000000, 0x0000005C, 0x00000000, + 0x00000000, 0x85F80000, 0x0000000D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xB03C0000, 0x30000001, 0x00000000, + 0x00000000, 0xA7F80000, 0x00000001, 0x00000000, + 0x00000000, 0x00BF2800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FBC, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x3F7F0000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00078000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF8000380, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_bidi_other_neutral.c b/gllib/unictype/pr_bidi_other_neutral.c new file mode 100644 index 0000000..7bda3ec --- /dev/null +++ b/gllib/unictype/pr_bidi_other_neutral.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_other_neutral table. */ +#include "pr_bidi_other_neutral.h" + +bool +uc_is_property_bidi_other_neutral (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_other_neutral, uc); +} + +#else + +bool +uc_is_property_bidi_other_neutral (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_ON); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_OTHER_NEUTRAL = + { &uc_is_property_bidi_other_neutral }; diff --git a/gllib/unictype/pr_bidi_other_neutral.h b/gllib/unictype/pr_bidi_other_neutral.h new file mode 100644 index 0000000..d49ddf3 --- /dev/null +++ b/gllib/unictype/pr_bidi_other_neutral.h @@ -0,0 +1,443 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[40 << 4]; + } +u_property_bidi_other_neutral = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + -1 + }, + { + 0x00000000, 0xF80007C6, 0xF8000001, 0x78000001, + 0x00000000, 0xF9D0DBC2, 0x00800000, 0x00800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06000000, 0xFFFCFFFC, 0xFFFFBFE0, + 0x00000000, 0x00000000, 0x00000000, 0x40300000, + 0x000000B0, 0x00000000, 0x00000000, 0x00400000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00006400, 0x00000000, 0x00000000, 0x00000000, + 0x0000C0C0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x40000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x05F80000, + 0x00000000, 0x00000000, 0x00000000, 0x7F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x3C000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x000007FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000031, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xA0000000, 0xE000E003, 0x6000E000, + 0xFFFF0000, 0xFFE000FF, 0x7FFFFFEF, 0x70000000, + 0x00007000, 0x00000000, 0x00000000, 0x00000000, + 0xC1D0037B, 0x0C0002AF, 0xFFFF3C1F, 0x00000000, + 0xFFFF0E00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFF3FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0xF8000000, + 0xFFDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF, + 0x000000FF, 0x00000000, 0x00000000, 0xFFFFFC00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFEFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFCFFFFF, + 0xFF3FFFFF, 0xE3FFFFFF, 0x0003FDFF, 0x0000F000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFE0007E0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000, + 0xFFFFFF1E, 0xE0C10001, 0x00000000, 0x00000000, + 0x18000000, 0x00000001, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0000000F, + 0x60000000, 0x00000000, 0xFFFF0000, 0x70000000, + 0x00000000, 0xFFFE0000, 0x0000F000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07800000, + 0x00000000, 0x00000000, 0xC0000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0xC0080000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000100, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000F00, 0x00000000, 0x00F00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x03FF0000, 0xFFFF0000, 0x7FD2FFFF, 0x00000973, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF80007C6, 0xF8000001, 0xF8000001, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x3E007F1C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0FFF1FFF, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFE000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC0000, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00200000, 0x00000000, 0x00008000, 0x00000000, + 0x00000200, 0x00000000, 0x00000008, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF, + 0x00001800, 0x00000000, 0x00000000, 0x00000C00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF, + 0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000, + 0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000, + 0x0003FFFF, 0x00000000, 0x00000001, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_pdf.c b/gllib/unictype/pr_bidi_pdf.c new file mode 100644 index 0000000..b57b96e --- /dev/null +++ b/gllib/unictype/pr_bidi_pdf.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_pdf table. */ +#include "pr_bidi_pdf.h" + +bool +uc_is_property_bidi_pdf (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_pdf, uc); +} + +#else + +bool +uc_is_property_bidi_pdf (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_PDF); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_PDF = + { &uc_is_property_bidi_pdf }; diff --git a/gllib/unictype/pr_bidi_pdf.h b/gllib/unictype/pr_bidi_pdf.h new file mode 100644 index 0000000..aeaafb2 --- /dev/null +++ b/gllib/unictype/pr_bidi_pdf.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_bidi_pdf = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00001000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_segment_separator.c b/gllib/unictype/pr_bidi_segment_separator.c new file mode 100644 index 0000000..113c5d5 --- /dev/null +++ b/gllib/unictype/pr_bidi_segment_separator.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_segment_separator table. */ +#include "pr_bidi_segment_separator.h" + +bool +uc_is_property_bidi_segment_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_segment_separator, uc); +} + +#else + +bool +uc_is_property_bidi_segment_separator (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_S); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_SEGMENT_SEPARATOR = + { &uc_is_property_bidi_segment_separator }; diff --git a/gllib/unictype/pr_bidi_segment_separator.h b/gllib/unictype/pr_bidi_segment_separator.h new file mode 100644 index 0000000..8e12d50 --- /dev/null +++ b/gllib/unictype/pr_bidi_segment_separator.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_bidi_segment_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x80000A00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_bidi_whitespace.c b/gllib/unictype/pr_bidi_whitespace.c new file mode 100644 index 0000000..38aa6b4 --- /dev/null +++ b/gllib/unictype/pr_bidi_whitespace.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_bidi_whitespace table. */ +#include "pr_bidi_whitespace.h" + +bool +uc_is_property_bidi_whitespace (ucs4_t uc) +{ + return bitmap_lookup (&u_property_bidi_whitespace, uc); +} + +#else + +bool +uc_is_property_bidi_whitespace (ucs4_t uc) +{ + return (uc_bidi_category (uc) == UC_BIDI_WS); +} + +#endif + +const uc_property_t UC_PROPERTY_BIDI_WHITESPACE = + { &uc_is_property_bidi_whitespace }; diff --git a/gllib/unictype/pr_bidi_whitespace.h b/gllib/unictype/pr_bidi_whitespace.h new file mode 100644 index 0000000..0c4ce00 --- /dev/null +++ b/gllib/unictype/pr_bidi_whitespace.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_property_bidi_whitespace = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00001000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00000100, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_byname.c b/gllib/unictype/pr_byname.c new file mode 100644 index 0000000..4747664 --- /dev/null +++ b/gllib/unictype/pr_byname.c @@ -0,0 +1,339 @@ +/* Properties of Unicode characters. + Copyright (C) 2007, 2011-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include +#include + +/* Indices stored in the 'struct named_category' elements of the perfect hash + table. We don't use uc_general_category_t values or their addresses + directly, because this would introduce load-time relocations. */ +enum +{ + /* General. */ + UC_PROPERTY_INDEX_WHITE_SPACE, + UC_PROPERTY_INDEX_ALPHABETIC, + UC_PROPERTY_INDEX_OTHER_ALPHABETIC, + UC_PROPERTY_INDEX_NOT_A_CHARACTER, + UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT, + UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT, + UC_PROPERTY_INDEX_DEPRECATED, + UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION, + UC_PROPERTY_INDEX_VARIATION_SELECTOR, + UC_PROPERTY_INDEX_PRIVATE_USE, + UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE, + /* Case. */ + UC_PROPERTY_INDEX_UPPERCASE, + UC_PROPERTY_INDEX_OTHER_UPPERCASE, + UC_PROPERTY_INDEX_LOWERCASE, + UC_PROPERTY_INDEX_OTHER_LOWERCASE, + UC_PROPERTY_INDEX_TITLECASE, + UC_PROPERTY_INDEX_CASED, + UC_PROPERTY_INDEX_CASE_IGNORABLE, + UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED, + UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED, + UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED, + UC_PROPERTY_INDEX_SOFT_DOTTED, + /* Identifiers. */ + UC_PROPERTY_INDEX_ID_START, + UC_PROPERTY_INDEX_OTHER_ID_START, + UC_PROPERTY_INDEX_ID_CONTINUE, + UC_PROPERTY_INDEX_OTHER_ID_CONTINUE, + UC_PROPERTY_INDEX_XID_START, + UC_PROPERTY_INDEX_XID_CONTINUE, + UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE, + UC_PROPERTY_INDEX_PATTERN_SYNTAX, + /* Shaping and rendering. */ + UC_PROPERTY_INDEX_JOIN_CONTROL, + UC_PROPERTY_INDEX_GRAPHEME_BASE, + UC_PROPERTY_INDEX_GRAPHEME_EXTEND, + UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND, + UC_PROPERTY_INDEX_GRAPHEME_LINK, + /* Bidi. */ + UC_PROPERTY_INDEX_BIDI_CONTROL, + UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT, + UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT, + UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT, + UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT, + UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR, + UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT, + UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR, + UC_PROPERTY_INDEX_BIDI_WHITESPACE, + UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK, + UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL, + UC_PROPERTY_INDEX_BIDI_PDF, + UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE, + UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL, + /* Numeric. */ + UC_PROPERTY_INDEX_HEX_DIGIT, + UC_PROPERTY_INDEX_ASCII_HEX_DIGIT, + /* CJK. */ + UC_PROPERTY_INDEX_IDEOGRAPHIC, + UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH, + UC_PROPERTY_INDEX_RADICAL, + UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR, + UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR, + /* Misc. */ + UC_PROPERTY_INDEX_ZERO_WIDTH, + UC_PROPERTY_INDEX_SPACE, + UC_PROPERTY_INDEX_NON_BREAK, + UC_PROPERTY_INDEX_ISO_CONTROL, + UC_PROPERTY_INDEX_FORMAT_CONTROL, + UC_PROPERTY_INDEX_DASH, + UC_PROPERTY_INDEX_HYPHEN, + UC_PROPERTY_INDEX_PUNCTUATION, + UC_PROPERTY_INDEX_LINE_SEPARATOR, + UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR, + UC_PROPERTY_INDEX_QUOTATION_MARK, + UC_PROPERTY_INDEX_SENTENCE_TERMINAL, + UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION, + UC_PROPERTY_INDEX_CURRENCY_SYMBOL, + UC_PROPERTY_INDEX_MATH, + UC_PROPERTY_INDEX_OTHER_MATH, + UC_PROPERTY_INDEX_PAIRED_PUNCTUATION, + UC_PROPERTY_INDEX_LEFT_OF_PAIR, + UC_PROPERTY_INDEX_COMBINING, + UC_PROPERTY_INDEX_COMPOSITE, + UC_PROPERTY_INDEX_DECIMAL_DIGIT, + UC_PROPERTY_INDEX_NUMERIC, + UC_PROPERTY_INDEX_DIACRITIC, + UC_PROPERTY_INDEX_EXTENDER, + UC_PROPERTY_INDEX_IGNORABLE_CONTROL +}; + +/* Get gperf generated lookup function. */ +#include "unictype/pr_byname.h" + +static const uc_property_t UC_PROPERTY_NONE = { NULL }; + +uc_property_t +uc_property_byname (const char *property_name) +{ + char buf[MAX_WORD_LENGTH + 1]; + const char *cp; + char *bp; + unsigned int count; + const struct named_property *found; + + for (cp = property_name, bp = buf, count = MAX_WORD_LENGTH + 1; ; cp++, bp++) + { + unsigned char c = (unsigned char) *cp; + if (c >= 0x80) + goto invalid; + if (c >= 'A' && c <= 'Z') + c += 'a' - 'A'; + else if (c == ' ' || c == '-') + c = '_'; + *bp = c; + if (c == '\0') + break; + if (--count == 0) + goto invalid; + } + found = uc_property_lookup (buf, bp - buf); + if (found != NULL) + /* Use a 'switch' statement here, because a table would introduce load-time + relocations. */ + switch (found->property_index) + { + case UC_PROPERTY_INDEX_WHITE_SPACE: + return UC_PROPERTY_WHITE_SPACE; + case UC_PROPERTY_INDEX_ALPHABETIC: + return UC_PROPERTY_ALPHABETIC; + case UC_PROPERTY_INDEX_OTHER_ALPHABETIC: + return UC_PROPERTY_OTHER_ALPHABETIC; + case UC_PROPERTY_INDEX_NOT_A_CHARACTER: + return UC_PROPERTY_NOT_A_CHARACTER; + case UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT: + return UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT; + case UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT: + return UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT; + case UC_PROPERTY_INDEX_DEPRECATED: + return UC_PROPERTY_DEPRECATED; + case UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION: + return UC_PROPERTY_LOGICAL_ORDER_EXCEPTION; + case UC_PROPERTY_INDEX_VARIATION_SELECTOR: + return UC_PROPERTY_VARIATION_SELECTOR; + case UC_PROPERTY_INDEX_PRIVATE_USE: + return UC_PROPERTY_PRIVATE_USE; + case UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE: + return UC_PROPERTY_UNASSIGNED_CODE_VALUE; + case UC_PROPERTY_INDEX_UPPERCASE: + return UC_PROPERTY_UPPERCASE; + case UC_PROPERTY_INDEX_OTHER_UPPERCASE: + return UC_PROPERTY_OTHER_UPPERCASE; + case UC_PROPERTY_INDEX_LOWERCASE: + return UC_PROPERTY_LOWERCASE; + case UC_PROPERTY_INDEX_OTHER_LOWERCASE: + return UC_PROPERTY_OTHER_LOWERCASE; + case UC_PROPERTY_INDEX_TITLECASE: + return UC_PROPERTY_TITLECASE; + case UC_PROPERTY_INDEX_CASED: + return UC_PROPERTY_CASED; + case UC_PROPERTY_INDEX_CASE_IGNORABLE: + return UC_PROPERTY_CASE_IGNORABLE; + case UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED: + return UC_PROPERTY_CHANGES_WHEN_LOWERCASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED: + return UC_PROPERTY_CHANGES_WHEN_UPPERCASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED: + return UC_PROPERTY_CHANGES_WHEN_TITLECASED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED: + return UC_PROPERTY_CHANGES_WHEN_CASEFOLDED; + case UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED: + return UC_PROPERTY_CHANGES_WHEN_CASEMAPPED; + case UC_PROPERTY_INDEX_SOFT_DOTTED: + return UC_PROPERTY_SOFT_DOTTED; + case UC_PROPERTY_INDEX_ID_START: + return UC_PROPERTY_ID_START; + case UC_PROPERTY_INDEX_OTHER_ID_START: + return UC_PROPERTY_OTHER_ID_START; + case UC_PROPERTY_INDEX_ID_CONTINUE: + return UC_PROPERTY_ID_CONTINUE; + case UC_PROPERTY_INDEX_OTHER_ID_CONTINUE: + return UC_PROPERTY_OTHER_ID_CONTINUE; + case UC_PROPERTY_INDEX_XID_START: + return UC_PROPERTY_XID_START; + case UC_PROPERTY_INDEX_XID_CONTINUE: + return UC_PROPERTY_XID_CONTINUE; + case UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE: + return UC_PROPERTY_PATTERN_WHITE_SPACE; + case UC_PROPERTY_INDEX_PATTERN_SYNTAX: + return UC_PROPERTY_PATTERN_SYNTAX; + case UC_PROPERTY_INDEX_JOIN_CONTROL: + return UC_PROPERTY_JOIN_CONTROL; + case UC_PROPERTY_INDEX_GRAPHEME_BASE: + return UC_PROPERTY_GRAPHEME_BASE; + case UC_PROPERTY_INDEX_GRAPHEME_EXTEND: + return UC_PROPERTY_GRAPHEME_EXTEND; + case UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND: + return UC_PROPERTY_OTHER_GRAPHEME_EXTEND; + case UC_PROPERTY_INDEX_GRAPHEME_LINK: + return UC_PROPERTY_GRAPHEME_LINK; + case UC_PROPERTY_INDEX_BIDI_CONTROL: + return UC_PROPERTY_BIDI_CONTROL; + case UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT: + return UC_PROPERTY_BIDI_LEFT_TO_RIGHT; + case UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT: + return UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT; + case UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT: + return UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT; + case UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT: + return UC_PROPERTY_BIDI_EUROPEAN_DIGIT; + case UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR: + return UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR: + return UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR; + case UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT: + return UC_PROPERTY_BIDI_ARABIC_DIGIT; + case UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR: + return UC_PROPERTY_BIDI_COMMON_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR: + return UC_PROPERTY_BIDI_BLOCK_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR: + return UC_PROPERTY_BIDI_SEGMENT_SEPARATOR; + case UC_PROPERTY_INDEX_BIDI_WHITESPACE: + return UC_PROPERTY_BIDI_WHITESPACE; + case UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK: + return UC_PROPERTY_BIDI_NON_SPACING_MARK; + case UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL: + return UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL; + case UC_PROPERTY_INDEX_BIDI_PDF: + return UC_PROPERTY_BIDI_PDF; + case UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE: + return UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE; + case UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL: + return UC_PROPERTY_BIDI_OTHER_NEUTRAL; + case UC_PROPERTY_INDEX_HEX_DIGIT: + return UC_PROPERTY_HEX_DIGIT; + case UC_PROPERTY_INDEX_ASCII_HEX_DIGIT: + return UC_PROPERTY_ASCII_HEX_DIGIT; + case UC_PROPERTY_INDEX_IDEOGRAPHIC: + return UC_PROPERTY_IDEOGRAPHIC; + case UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH: + return UC_PROPERTY_UNIFIED_IDEOGRAPH; + case UC_PROPERTY_INDEX_RADICAL: + return UC_PROPERTY_RADICAL; + case UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR: + return UC_PROPERTY_IDS_BINARY_OPERATOR; + case UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR: + return UC_PROPERTY_IDS_TRINARY_OPERATOR; + case UC_PROPERTY_INDEX_ZERO_WIDTH: + return UC_PROPERTY_ZERO_WIDTH; + case UC_PROPERTY_INDEX_SPACE: + return UC_PROPERTY_SPACE; + case UC_PROPERTY_INDEX_NON_BREAK: + return UC_PROPERTY_NON_BREAK; + case UC_PROPERTY_INDEX_ISO_CONTROL: + return UC_PROPERTY_ISO_CONTROL; + case UC_PROPERTY_INDEX_FORMAT_CONTROL: + return UC_PROPERTY_FORMAT_CONTROL; + case UC_PROPERTY_INDEX_DASH: + return UC_PROPERTY_DASH; + case UC_PROPERTY_INDEX_HYPHEN: + return UC_PROPERTY_HYPHEN; + case UC_PROPERTY_INDEX_PUNCTUATION: + return UC_PROPERTY_PUNCTUATION; + case UC_PROPERTY_INDEX_LINE_SEPARATOR: + return UC_PROPERTY_LINE_SEPARATOR; + case UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR: + return UC_PROPERTY_PARAGRAPH_SEPARATOR; + case UC_PROPERTY_INDEX_QUOTATION_MARK: + return UC_PROPERTY_QUOTATION_MARK; + case UC_PROPERTY_INDEX_SENTENCE_TERMINAL: + return UC_PROPERTY_SENTENCE_TERMINAL; + case UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION: + return UC_PROPERTY_TERMINAL_PUNCTUATION; + case UC_PROPERTY_INDEX_CURRENCY_SYMBOL: + return UC_PROPERTY_CURRENCY_SYMBOL; + case UC_PROPERTY_INDEX_MATH: + return UC_PROPERTY_MATH; + case UC_PROPERTY_INDEX_OTHER_MATH: + return UC_PROPERTY_OTHER_MATH; + case UC_PROPERTY_INDEX_PAIRED_PUNCTUATION: + return UC_PROPERTY_PAIRED_PUNCTUATION; + case UC_PROPERTY_INDEX_LEFT_OF_PAIR: + return UC_PROPERTY_LEFT_OF_PAIR; + case UC_PROPERTY_INDEX_COMBINING: + return UC_PROPERTY_COMBINING; + case UC_PROPERTY_INDEX_COMPOSITE: + return UC_PROPERTY_COMPOSITE; + case UC_PROPERTY_INDEX_DECIMAL_DIGIT: + return UC_PROPERTY_DECIMAL_DIGIT; + case UC_PROPERTY_INDEX_NUMERIC: + return UC_PROPERTY_NUMERIC; + case UC_PROPERTY_INDEX_DIACRITIC: + return UC_PROPERTY_DIACRITIC; + case UC_PROPERTY_INDEX_EXTENDER: + return UC_PROPERTY_EXTENDER; + case UC_PROPERTY_INDEX_IGNORABLE_CONTROL: + return UC_PROPERTY_IGNORABLE_CONTROL; + default: + abort (); + } + invalid: + return UC_PROPERTY_NONE; +} diff --git a/gllib/unictype/pr_byname.gperf b/gllib/unictype/pr_byname.gperf new file mode 100644 index 0000000..9c2031b --- /dev/null +++ b/gllib/unictype/pr_byname.gperf @@ -0,0 +1,218 @@ +struct named_property { int name; int property_index; }; +%struct-type +%language=ANSI-C +%define hash-function-name properties_hash +%define lookup-function-name uc_property_lookup +%7bit +%readonly-tables +%global-table +%define word-array-name properties +%pic +%define string-pool-name properties_stringpool +%% +white_space, UC_PROPERTY_INDEX_WHITE_SPACE +whitespace, UC_PROPERTY_INDEX_WHITE_SPACE +wspace, UC_PROPERTY_INDEX_WHITE_SPACE +alphabetic, UC_PROPERTY_INDEX_ALPHABETIC +alpha, UC_PROPERTY_INDEX_ALPHABETIC +other_alphabetic, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +otheralphabetic, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +oalpha, UC_PROPERTY_INDEX_OTHER_ALPHABETIC +not_a_character, UC_PROPERTY_INDEX_NOT_A_CHARACTER +notacharacter, UC_PROPERTY_INDEX_NOT_A_CHARACTER +default_ignorable_code_point, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +defaultignorablecodepoint, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +di, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT +other_default_ignorable_code_point, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +otherdefaultignorablecodepoint, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +odi, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT +deprecated, UC_PROPERTY_INDEX_DEPRECATED +dep, UC_PROPERTY_INDEX_DEPRECATED +logical_order_exception, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +logicalorderexception, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +loe, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION +variation_selector, UC_PROPERTY_INDEX_VARIATION_SELECTOR +variationselector, UC_PROPERTY_INDEX_VARIATION_SELECTOR +vs, UC_PROPERTY_INDEX_VARIATION_SELECTOR +private_use, UC_PROPERTY_INDEX_PRIVATE_USE +privateuse, UC_PROPERTY_INDEX_PRIVATE_USE +unassigned_code_value, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE +unassignedcodevalue, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE +uppercase, UC_PROPERTY_INDEX_UPPERCASE +upper, UC_PROPERTY_INDEX_UPPERCASE +other_uppercase, UC_PROPERTY_INDEX_OTHER_UPPERCASE +otheruppercase, UC_PROPERTY_INDEX_OTHER_UPPERCASE +oupper, UC_PROPERTY_INDEX_OTHER_UPPERCASE +lowercase, UC_PROPERTY_INDEX_LOWERCASE +lower, UC_PROPERTY_INDEX_LOWERCASE +other_lowercase, UC_PROPERTY_INDEX_OTHER_LOWERCASE +otherlowercase, UC_PROPERTY_INDEX_OTHER_LOWERCASE +olower, UC_PROPERTY_INDEX_OTHER_LOWERCASE +titlecase, UC_PROPERTY_INDEX_TITLECASE +cased, UC_PROPERTY_INDEX_CASED +case_ignorable, UC_PROPERTY_INDEX_CASE_IGNORABLE +caseignorable, UC_PROPERTY_INDEX_CASE_IGNORABLE +ci, UC_PROPERTY_INDEX_CASE_IGNORABLE +changes_when_lowercased, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +changeswhenlowercased, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +cwl, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED +changes_when_uppercased, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +changeswhenuppercased, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +cwu, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED +changes_when_titlecased, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +changeswhentitlecased, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +cwt, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED +changes_when_casefolded, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +changeswhencasefolded, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +cwcf, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED +changes_when_casemapped, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +changeswhencasemapped, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +cwcm, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED +soft_dotted, UC_PROPERTY_INDEX_SOFT_DOTTED +softdotted, UC_PROPERTY_INDEX_SOFT_DOTTED +sd, UC_PROPERTY_INDEX_SOFT_DOTTED +id_start, UC_PROPERTY_INDEX_ID_START +idstart, UC_PROPERTY_INDEX_ID_START +ids, UC_PROPERTY_INDEX_ID_START +other_id_start, UC_PROPERTY_INDEX_OTHER_ID_START +otheridstart, UC_PROPERTY_INDEX_OTHER_ID_START +oids, UC_PROPERTY_INDEX_OTHER_ID_START +id_continue, UC_PROPERTY_INDEX_ID_CONTINUE +idcontinue, UC_PROPERTY_INDEX_ID_CONTINUE +idc, UC_PROPERTY_INDEX_ID_CONTINUE +other_id_continue, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +otheridcontinue, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +oidc, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE +xid_start, UC_PROPERTY_INDEX_XID_START +xidstart, UC_PROPERTY_INDEX_XID_START +xids, UC_PROPERTY_INDEX_XID_START +xid_continue, UC_PROPERTY_INDEX_XID_CONTINUE +xidcontinue, UC_PROPERTY_INDEX_XID_CONTINUE +xidc, UC_PROPERTY_INDEX_XID_CONTINUE +pattern_white_space, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +patternwhitespace, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +pat_ws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +patws, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE +pattern_syntax, UC_PROPERTY_INDEX_PATTERN_SYNTAX +patternsyntax, UC_PROPERTY_INDEX_PATTERN_SYNTAX +pat_syn, UC_PROPERTY_INDEX_PATTERN_SYNTAX +patsyn, UC_PROPERTY_INDEX_PATTERN_SYNTAX +join_control, UC_PROPERTY_INDEX_JOIN_CONTROL +joincontrol, UC_PROPERTY_INDEX_JOIN_CONTROL +join_c, UC_PROPERTY_INDEX_JOIN_CONTROL +joinc, UC_PROPERTY_INDEX_JOIN_CONTROL +grapheme_base, UC_PROPERTY_INDEX_GRAPHEME_BASE +graphemebase, UC_PROPERTY_INDEX_GRAPHEME_BASE +gr_base, UC_PROPERTY_INDEX_GRAPHEME_BASE +grbase, UC_PROPERTY_INDEX_GRAPHEME_BASE +grapheme_extend, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +graphemeextend, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +gr_ext, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +grext, UC_PROPERTY_INDEX_GRAPHEME_EXTEND +other_grapheme_extend, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +othergraphemeextend, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +ogr_ext, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +ogrext, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND +grapheme_link, UC_PROPERTY_INDEX_GRAPHEME_LINK +graphemelink, UC_PROPERTY_INDEX_GRAPHEME_LINK +gr_link, UC_PROPERTY_INDEX_GRAPHEME_LINK +grlink, UC_PROPERTY_INDEX_GRAPHEME_LINK +bidi_control, UC_PROPERTY_INDEX_BIDI_CONTROL +bidicontrol, UC_PROPERTY_INDEX_BIDI_CONTROL +bidi_c, UC_PROPERTY_INDEX_BIDI_CONTROL +bidic, UC_PROPERTY_INDEX_BIDI_CONTROL +bidi_left_to_right, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT +bidilefttoright, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT +bidi_hebrew_right_to_left, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT +bidihebrewrighttoleft, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT +bidi_arabic_right_to_left, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT +bidiarabicrighttoleft, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT +bidi_european_digit, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT +bidieuropeandigit, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT +bidi_eur_num_separator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR +bidieurnumseparator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR +bidi_eur_num_terminator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR +bidieurnumterminator, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR +bidi_arabic_digit, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT +bidiarabicdigit, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT +bidi_common_separator, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR +bidicommonseparator, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR +bidi_block_separator, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR +bidiblockseparator, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR +bidi_segment_separator, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR +bidisegmentseparator, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR +bidi_whitespace, UC_PROPERTY_INDEX_BIDI_WHITESPACE +bidiwhitespace, UC_PROPERTY_INDEX_BIDI_WHITESPACE +bidi_non_spacing_mark, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK +bidinonspacingmark, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK +bidi_boundary_neutral, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL +bidiboundaryneutral, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL +bidi_pdf, UC_PROPERTY_INDEX_BIDI_PDF +bidipdf, UC_PROPERTY_INDEX_BIDI_PDF +bidi_embedding_or_override, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE +bidiembeddingoroverride, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE +bidi_other_neutral, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL +bidiotherneutral, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL +hex_digit, UC_PROPERTY_INDEX_HEX_DIGIT +hexdigit, UC_PROPERTY_INDEX_HEX_DIGIT +hex, UC_PROPERTY_INDEX_HEX_DIGIT +ascii_hex_digit, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +asciihexdigit, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +ahex, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT +ideographic, UC_PROPERTY_INDEX_IDEOGRAPHIC +ideo, UC_PROPERTY_INDEX_IDEOGRAPHIC +unified_ideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +unifiedideograph, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +uideo, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH +radical, UC_PROPERTY_INDEX_RADICAL +ids_binary_operator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +idsbinaryoperator, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +idsb, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR +ids_trinary_operator, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +idstrinaryoperator, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +idst, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR +zero_width, UC_PROPERTY_INDEX_ZERO_WIDTH +zerowidth, UC_PROPERTY_INDEX_ZERO_WIDTH +space, UC_PROPERTY_INDEX_SPACE +non_break, UC_PROPERTY_INDEX_NON_BREAK +nonbreak, UC_PROPERTY_INDEX_NON_BREAK +iso_control, UC_PROPERTY_INDEX_ISO_CONTROL +isocontrol, UC_PROPERTY_INDEX_ISO_CONTROL +format_control, UC_PROPERTY_INDEX_FORMAT_CONTROL +formatcontrol, UC_PROPERTY_INDEX_FORMAT_CONTROL +dash, UC_PROPERTY_INDEX_DASH +hyphen, UC_PROPERTY_INDEX_HYPHEN +punctuation, UC_PROPERTY_INDEX_PUNCTUATION +line_separator, UC_PROPERTY_INDEX_LINE_SEPARATOR +lineseparator, UC_PROPERTY_INDEX_LINE_SEPARATOR +paragraph_separator, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR +paragraphseparator, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR +quotation_mark, UC_PROPERTY_INDEX_QUOTATION_MARK +quotationmark, UC_PROPERTY_INDEX_QUOTATION_MARK +qmark, UC_PROPERTY_INDEX_QUOTATION_MARK +sentence_terminal, UC_PROPERTY_INDEX_SENTENCE_TERMINAL +sentenceterminal, UC_PROPERTY_INDEX_SENTENCE_TERMINAL +terminal_punctuation, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +terminalpunctuation, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +term, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION +currency_symbol, UC_PROPERTY_INDEX_CURRENCY_SYMBOL +currencysymbol, UC_PROPERTY_INDEX_CURRENCY_SYMBOL +math, UC_PROPERTY_INDEX_MATH +other_math, UC_PROPERTY_INDEX_OTHER_MATH +othermath, UC_PROPERTY_INDEX_OTHER_MATH +omath, UC_PROPERTY_INDEX_OTHER_MATH +paired_punctuation, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION +pairedpunctuation, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION +left_of_pair, UC_PROPERTY_INDEX_LEFT_OF_PAIR +leftofpair, UC_PROPERTY_INDEX_LEFT_OF_PAIR +combining, UC_PROPERTY_INDEX_COMBINING +composite, UC_PROPERTY_INDEX_COMPOSITE +decimal_digit, UC_PROPERTY_INDEX_DECIMAL_DIGIT +decimaldigit, UC_PROPERTY_INDEX_DECIMAL_DIGIT +numeric, UC_PROPERTY_INDEX_NUMERIC +diacritic, UC_PROPERTY_INDEX_DIACRITIC +dia, UC_PROPERTY_INDEX_DIACRITIC +extender, UC_PROPERTY_INDEX_EXTENDER +ext, UC_PROPERTY_INDEX_EXTENDER +ignorable_control, UC_PROPERTY_INDEX_IGNORABLE_CONTROL +ignorablecontrol, UC_PROPERTY_INDEX_IGNORABLE_CONTROL diff --git a/gllib/unictype/pr_byname.h b/gllib/unictype/pr_byname.h new file mode 100644 index 0000000..a9c6744 --- /dev/null +++ b/gllib/unictype/pr_byname.h @@ -0,0 +1,1079 @@ +/* ANSI-C code produced by gperf version 3.1 */ +/* Command-line: gperf -m 10 ./unictype/pr_byname.gperf */ +/* Computed positions: -k'1-2,8,14,18,$' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 1 "./unictype/pr_byname.gperf" +struct named_property { int name; int property_index; }; + +#define TOTAL_KEYWORDS 206 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 34 +#define MIN_HASH_VALUE 8 +#define MAX_HASH_VALUE 619 +/* maximum key range = 612, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +properties_hash (register const char *str, register size_t len) +{ + static const unsigned short asso_values[] = + { + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 620, 620, 620, 620, 110, 620, 29, 17, 101, + 2, 2, 167, 230, 92, 2, 65, 62, 41, 152, + 74, 2, 104, 14, 14, 20, 5, 80, 41, 140, + 181, 68, 35, 620, 620, 620, 620, 620 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[17]]; + /*FALLTHROUGH*/ + case 17: + case 16: + case 15: + case 14: + hval += asso_values[(unsigned char)str[13]]; + /*FALLTHROUGH*/ + case 13: + case 12: + case 11: + case 10: + case 9: + case 8: + hval += asso_values[(unsigned char)str[7]]; + /*FALLTHROUGH*/ + case 7: + case 6: + case 5: + case 4: + case 3: + case 2: + hval += asso_values[(unsigned char)str[1]]; + /*FALLTHROUGH*/ + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval + asso_values[(unsigned char)str[len - 1]]; +} + +struct properties_stringpool_t + { + char properties_stringpool_str8[sizeof("di")]; + char properties_stringpool_str9[sizeof("odi")]; + char properties_stringpool_str10[sizeof("ideo")]; + char properties_stringpool_str13[sizeof("idst")]; + char properties_stringpool_str16[sizeof("idstart")]; + char properties_stringpool_str19[sizeof("id_continue")]; + char properties_stringpool_str21[sizeof("deprecated")]; + char properties_stringpool_str22[sizeof("id_start")]; + char properties_stringpool_str23[sizeof("decimaldigit")]; + char properties_stringpool_str25[sizeof("idsb")]; + char properties_stringpool_str26[sizeof("sd")]; + char properties_stringpool_str27[sizeof("ids")]; + char properties_stringpool_str28[sizeof("oids")]; + char properties_stringpool_str30[sizeof("other_id_continue")]; + char properties_stringpool_str33[sizeof("other_id_start")]; + char properties_stringpool_str36[sizeof("dia")]; + char properties_stringpool_str38[sizeof("titlecase")]; + char properties_stringpool_str39[sizeof("softdotted")]; + char properties_stringpool_str40[sizeof("soft_dotted")]; + char properties_stringpool_str42[sizeof("bidiwhitespace")]; + char properties_stringpool_str44[sizeof("otheridstart")]; + char properties_stringpool_str45[sizeof("bidieuropeandigit")]; + char properties_stringpool_str46[sizeof("other_lowercase")]; + char properties_stringpool_str48[sizeof("loe")]; + char properties_stringpool_str50[sizeof("bidiembeddingoroverride")]; + char properties_stringpool_str51[sizeof("other_grapheme_extend")]; + char properties_stringpool_str55[sizeof("defaultignorablecodepoint")]; + char properties_stringpool_str58[sizeof("bidiarabicdigit")]; + char properties_stringpool_str62[sizeof("lower")]; + char properties_stringpool_str63[sizeof("olower")]; + char properties_stringpool_str66[sizeof("oalpha")]; + char properties_stringpool_str70[sizeof("ids_binary_operator")]; + char properties_stringpool_str72[sizeof("bidi_arabic_digit")]; + char properties_stringpool_str73[sizeof("ascii_hex_digit")]; + char properties_stringpool_str74[sizeof("lowercase")]; + char properties_stringpool_str76[sizeof("bidicontrol")]; + char properties_stringpool_str77[sizeof("bidi_eur_num_terminator")]; + char properties_stringpool_str78[sizeof("idsbinaryoperator")]; + char properties_stringpool_str79[sizeof("iso_control")]; + char properties_stringpool_str83[sizeof("vs")]; + char properties_stringpool_str84[sizeof("sentence_terminal")]; + char properties_stringpool_str87[sizeof("isocontrol")]; + char properties_stringpool_str89[sizeof("uideo")]; + char properties_stringpool_str90[sizeof("idcontinue")]; + char properties_stringpool_str91[sizeof("radical")]; + char properties_stringpool_str92[sizeof("bidiotherneutral")]; + char properties_stringpool_str93[sizeof("idstrinaryoperator")]; + char properties_stringpool_str96[sizeof("leftofpair")]; + char properties_stringpool_str99[sizeof("lineseparator")]; + char properties_stringpool_str102[sizeof("oupper")]; + char properties_stringpool_str103[sizeof("bidi_eur_num_separator")]; + char properties_stringpool_str104[sizeof("alpha")]; + char properties_stringpool_str107[sizeof("ci")]; + char properties_stringpool_str108[sizeof("idc")]; + char properties_stringpool_str109[sizeof("oidc")]; + char properties_stringpool_str110[sizeof("hex_digit")]; + char properties_stringpool_str111[sizeof("dep")]; + char properties_stringpool_str112[sizeof("hexdigit")]; + char properties_stringpool_str113[sizeof("othermath")]; + char properties_stringpool_str116[sizeof("diacritic")]; + char properties_stringpool_str117[sizeof("notacharacter")]; + char properties_stringpool_str119[sizeof("composite")]; + char properties_stringpool_str120[sizeof("variation_selector")]; + char properties_stringpool_str124[sizeof("joincontrol")]; + char properties_stringpool_str125[sizeof("bidic")]; + char properties_stringpool_str126[sizeof("bidi_c")]; + char properties_stringpool_str127[sizeof("dash")]; + char properties_stringpool_str129[sizeof("otheruppercase")]; + char properties_stringpool_str131[sizeof("space")]; + char properties_stringpool_str132[sizeof("decimal_digit")]; + char properties_stringpool_str133[sizeof("othergraphemeextend")]; + char properties_stringpool_str136[sizeof("bidilefttoright")]; + char properties_stringpool_str137[sizeof("cased")]; + char properties_stringpool_str138[sizeof("other_math")]; + char properties_stringpool_str139[sizeof("bidi_whitespace")]; + char properties_stringpool_str141[sizeof("zero_width")]; + char properties_stringpool_str143[sizeof("zerowidth")]; + char properties_stringpool_str146[sizeof("bidi_control")]; + char properties_stringpool_str147[sizeof("caseignorable")]; + char properties_stringpool_str148[sizeof("other_uppercase")]; + char properties_stringpool_str149[sizeof("terminal_punctuation")]; + char properties_stringpool_str155[sizeof("sentenceterminal")]; + char properties_stringpool_str157[sizeof("bidieurnumseparator")]; + char properties_stringpool_str158[sizeof("patws")]; + char properties_stringpool_str159[sizeof("pat_ws")]; + char properties_stringpool_str160[sizeof("other_default_ignorable_code_point")]; + char properties_stringpool_str163[sizeof("term")]; + char properties_stringpool_str164[sizeof("bidi_block_separator")]; + char properties_stringpool_str165[sizeof("otherlowercase")]; + char properties_stringpool_str168[sizeof("wspace")]; + char properties_stringpool_str169[sizeof("bidi_european_digit")]; + char properties_stringpool_str170[sizeof("other_alphabetic")]; + char properties_stringpool_str171[sizeof("quotationmark")]; + char properties_stringpool_str173[sizeof("joinc")]; + char properties_stringpool_str174[sizeof("join_c")]; + char properties_stringpool_str176[sizeof("non_break")]; + char properties_stringpool_str178[sizeof("bidi_hebrew_right_to_left")]; + char properties_stringpool_str179[sizeof("left_of_pair")]; + char properties_stringpool_str180[sizeof("bidiblockseparator")]; + char properties_stringpool_str184[sizeof("bidiboundaryneutral")]; + char properties_stringpool_str186[sizeof("alphabetic")]; + char properties_stringpool_str189[sizeof("line_separator")]; + char properties_stringpool_str190[sizeof("bidi_arabic_right_to_left")]; + char properties_stringpool_str191[sizeof("ext")]; + char properties_stringpool_str192[sizeof("bidihebrewrighttoleft")]; + char properties_stringpool_str193[sizeof("bidipdf")]; + char properties_stringpool_str194[sizeof("join_control")]; + char properties_stringpool_str195[sizeof("bidiarabicrighttoleft")]; + char properties_stringpool_str198[sizeof("xidcontinue")]; + char properties_stringpool_str199[sizeof("not_a_character")]; + char properties_stringpool_str201[sizeof("xidstart")]; + char properties_stringpool_str202[sizeof("xid_continue")]; + char properties_stringpool_str203[sizeof("upper")]; + char properties_stringpool_str204[sizeof("variationselector")]; + char properties_stringpool_str205[sizeof("otheridcontinue")]; + char properties_stringpool_str207[sizeof("xids")]; + char properties_stringpool_str208[sizeof("nonbreak")]; + char properties_stringpool_str210[sizeof("privateuse")]; + char properties_stringpool_str211[sizeof("xid_start")]; + char properties_stringpool_str213[sizeof("patsyn")]; + char properties_stringpool_str214[sizeof("pat_syn")]; + char properties_stringpool_str215[sizeof("uppercase")]; + char properties_stringpool_str219[sizeof("extender")]; + char properties_stringpool_str220[sizeof("ideographic")]; + char properties_stringpool_str221[sizeof("ids_trinary_operator")]; + char properties_stringpool_str222[sizeof("case_ignorable")]; + char properties_stringpool_str223[sizeof("terminalpunctuation")]; + char properties_stringpool_str225[sizeof("formatcontrol")]; + char properties_stringpool_str228[sizeof("bidi_left_to_right")]; + char properties_stringpool_str229[sizeof("otheralphabetic")]; + char properties_stringpool_str233[sizeof("qmark")]; + char properties_stringpool_str234[sizeof("quotation_mark")]; + char properties_stringpool_str235[sizeof("bidicommonseparator")]; + char properties_stringpool_str237[sizeof("bidi_common_separator")]; + char properties_stringpool_str240[sizeof("hyphen")]; + char properties_stringpool_str241[sizeof("private_use")]; + char properties_stringpool_str243[sizeof("ogrext")]; + char properties_stringpool_str244[sizeof("ogr_ext")]; + char properties_stringpool_str248[sizeof("asciihexdigit")]; + char properties_stringpool_str249[sizeof("cwt")]; + char properties_stringpool_str251[sizeof("omath")]; + char properties_stringpool_str252[sizeof("grbase")]; + char properties_stringpool_str253[sizeof("gr_base")]; + char properties_stringpool_str254[sizeof("grext")]; + char properties_stringpool_str255[sizeof("gr_ext")]; + char properties_stringpool_str260[sizeof("graphemebase")]; + char properties_stringpool_str261[sizeof("grapheme_base")]; + char properties_stringpool_str262[sizeof("numeric")]; + char properties_stringpool_str264[sizeof("graphemeextend")]; + char properties_stringpool_str273[sizeof("whitespace")]; + char properties_stringpool_str274[sizeof("punctuation")]; + char properties_stringpool_str276[sizeof("bidi_boundary_neutral")]; + char properties_stringpool_str277[sizeof("math")]; + char properties_stringpool_str278[sizeof("hex")]; + char properties_stringpool_str282[sizeof("unassigned_code_value")]; + char properties_stringpool_str284[sizeof("bidieurnumterminator")]; + char properties_stringpool_str285[sizeof("cwl")]; + char properties_stringpool_str286[sizeof("default_ignorable_code_point")]; + char properties_stringpool_str288[sizeof("xidc")]; + char properties_stringpool_str291[sizeof("bidi_other_neutral")]; + char properties_stringpool_str293[sizeof("unifiedideograph")]; + char properties_stringpool_str297[sizeof("paragraphseparator")]; + char properties_stringpool_str301[sizeof("paragraph_separator")]; + char properties_stringpool_str306[sizeof("ahex")]; + char properties_stringpool_str307[sizeof("currency_symbol")]; + char properties_stringpool_str309[sizeof("pairedpunctuation")]; + char properties_stringpool_str312[sizeof("grlink")]; + char properties_stringpool_str313[sizeof("gr_link")]; + char properties_stringpool_str314[sizeof("bidisegmentseparator")]; + char properties_stringpool_str319[sizeof("bidi_segment_separator")]; + char properties_stringpool_str320[sizeof("graphemelink")]; + char properties_stringpool_str321[sizeof("grapheme_link")]; + char properties_stringpool_str324[sizeof("cwu")]; + char properties_stringpool_str326[sizeof("logicalorderexception")]; + char properties_stringpool_str330[sizeof("bidi_non_spacing_mark")]; + char properties_stringpool_str331[sizeof("unassignedcodevalue")]; + char properties_stringpool_str335[sizeof("changes_when_titlecased")]; + char properties_stringpool_str336[sizeof("ignorable_control")]; + char properties_stringpool_str337[sizeof("grapheme_extend")]; + char properties_stringpool_str344[sizeof("ignorablecontrol")]; + char properties_stringpool_str345[sizeof("currencysymbol")]; + char properties_stringpool_str347[sizeof("patternsyntax")]; + char properties_stringpool_str349[sizeof("white_space")]; + char properties_stringpool_str361[sizeof("bidi_pdf")]; + char properties_stringpool_str362[sizeof("logical_order_exception")]; + char properties_stringpool_str366[sizeof("format_control")]; + char properties_stringpool_str383[sizeof("changes_when_lowercased")]; + char properties_stringpool_str387[sizeof("unified_ideograph")]; + char properties_stringpool_str390[sizeof("changeswhentitlecased")]; + char properties_stringpool_str396[sizeof("patternwhitespace")]; + char properties_stringpool_str397[sizeof("cwcm")]; + char properties_stringpool_str404[sizeof("bidi_embedding_or_override")]; + char properties_stringpool_str411[sizeof("bidinonspacingmark")]; + char properties_stringpool_str412[sizeof("cwcf")]; + char properties_stringpool_str416[sizeof("combining")]; + char properties_stringpool_str417[sizeof("changeswhencasefolded")]; + char properties_stringpool_str422[sizeof("changes_when_uppercased")]; + char properties_stringpool_str432[sizeof("paired_punctuation")]; + char properties_stringpool_str468[sizeof("otherdefaultignorablecodepoint")]; + char properties_stringpool_str475[sizeof("pattern_white_space")]; + char properties_stringpool_str480[sizeof("changeswhencasemapped")]; + char properties_stringpool_str489[sizeof("changeswhenuppercased")]; + char properties_stringpool_str525[sizeof("changeswhenlowercased")]; + char properties_stringpool_str581[sizeof("changes_when_casemapped")]; + char properties_stringpool_str596[sizeof("changes_when_casefolded")]; + char properties_stringpool_str619[sizeof("pattern_syntax")]; + }; +static const struct properties_stringpool_t properties_stringpool_contents = + { + "di", + "odi", + "ideo", + "idst", + "idstart", + "id_continue", + "deprecated", + "id_start", + "decimaldigit", + "idsb", + "sd", + "ids", + "oids", + "other_id_continue", + "other_id_start", + "dia", + "titlecase", + "softdotted", + "soft_dotted", + "bidiwhitespace", + "otheridstart", + "bidieuropeandigit", + "other_lowercase", + "loe", + "bidiembeddingoroverride", + "other_grapheme_extend", + "defaultignorablecodepoint", + "bidiarabicdigit", + "lower", + "olower", + "oalpha", + "ids_binary_operator", + "bidi_arabic_digit", + "ascii_hex_digit", + "lowercase", + "bidicontrol", + "bidi_eur_num_terminator", + "idsbinaryoperator", + "iso_control", + "vs", + "sentence_terminal", + "isocontrol", + "uideo", + "idcontinue", + "radical", + "bidiotherneutral", + "idstrinaryoperator", + "leftofpair", + "lineseparator", + "oupper", + "bidi_eur_num_separator", + "alpha", + "ci", + "idc", + "oidc", + "hex_digit", + "dep", + "hexdigit", + "othermath", + "diacritic", + "notacharacter", + "composite", + "variation_selector", + "joincontrol", + "bidic", + "bidi_c", + "dash", + "otheruppercase", + "space", + "decimal_digit", + "othergraphemeextend", + "bidilefttoright", + "cased", + "other_math", + "bidi_whitespace", + "zero_width", + "zerowidth", + "bidi_control", + "caseignorable", + "other_uppercase", + "terminal_punctuation", + "sentenceterminal", + "bidieurnumseparator", + "patws", + "pat_ws", + "other_default_ignorable_code_point", + "term", + "bidi_block_separator", + "otherlowercase", + "wspace", + "bidi_european_digit", + "other_alphabetic", + "quotationmark", + "joinc", + "join_c", + "non_break", + "bidi_hebrew_right_to_left", + "left_of_pair", + "bidiblockseparator", + "bidiboundaryneutral", + "alphabetic", + "line_separator", + "bidi_arabic_right_to_left", + "ext", + "bidihebrewrighttoleft", + "bidipdf", + "join_control", + "bidiarabicrighttoleft", + "xidcontinue", + "not_a_character", + "xidstart", + "xid_continue", + "upper", + "variationselector", + "otheridcontinue", + "xids", + "nonbreak", + "privateuse", + "xid_start", + "patsyn", + "pat_syn", + "uppercase", + "extender", + "ideographic", + "ids_trinary_operator", + "case_ignorable", + "terminalpunctuation", + "formatcontrol", + "bidi_left_to_right", + "otheralphabetic", + "qmark", + "quotation_mark", + "bidicommonseparator", + "bidi_common_separator", + "hyphen", + "private_use", + "ogrext", + "ogr_ext", + "asciihexdigit", + "cwt", + "omath", + "grbase", + "gr_base", + "grext", + "gr_ext", + "graphemebase", + "grapheme_base", + "numeric", + "graphemeextend", + "whitespace", + "punctuation", + "bidi_boundary_neutral", + "math", + "hex", + "unassigned_code_value", + "bidieurnumterminator", + "cwl", + "default_ignorable_code_point", + "xidc", + "bidi_other_neutral", + "unifiedideograph", + "paragraphseparator", + "paragraph_separator", + "ahex", + "currency_symbol", + "pairedpunctuation", + "grlink", + "gr_link", + "bidisegmentseparator", + "bidi_segment_separator", + "graphemelink", + "grapheme_link", + "cwu", + "logicalorderexception", + "bidi_non_spacing_mark", + "unassignedcodevalue", + "changes_when_titlecased", + "ignorable_control", + "grapheme_extend", + "ignorablecontrol", + "currencysymbol", + "patternsyntax", + "white_space", + "bidi_pdf", + "logical_order_exception", + "format_control", + "changes_when_lowercased", + "unified_ideograph", + "changeswhentitlecased", + "patternwhitespace", + "cwcm", + "bidi_embedding_or_override", + "bidinonspacingmark", + "cwcf", + "combining", + "changeswhencasefolded", + "changes_when_uppercased", + "paired_punctuation", + "otherdefaultignorablecodepoint", + "pattern_white_space", + "changeswhencasemapped", + "changeswhenuppercased", + "changeswhenlowercased", + "changes_when_casemapped", + "changes_when_casefolded", + "pattern_syntax" + }; +#define properties_stringpool ((const char *) &properties_stringpool_contents) + +static const struct named_property properties[] = + { + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 25 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str8, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT}, +#line 28 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str9, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT}, +#line 163 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str10, UC_PROPERTY_INDEX_IDEOGRAPHIC}, + {-1}, {-1}, +#line 173 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str13, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR}, + {-1}, {-1}, +#line 75 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str16, UC_PROPERTY_INDEX_ID_START}, + {-1}, {-1}, +#line 80 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str19, UC_PROPERTY_INDEX_ID_CONTINUE}, + {-1}, +#line 29 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str21, UC_PROPERTY_INDEX_DEPRECATED}, +#line 74 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str22, UC_PROPERTY_INDEX_ID_START}, +#line 211 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str23, UC_PROPERTY_INDEX_DECIMAL_DIGIT}, + {-1}, +#line 170 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str25, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR}, +#line 73 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str26, UC_PROPERTY_INDEX_SOFT_DOTTED}, +#line 76 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str27, UC_PROPERTY_INDEX_ID_START}, +#line 79 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str28, UC_PROPERTY_INDEX_OTHER_ID_START}, + {-1}, +#line 83 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str30, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE}, + {-1}, {-1}, +#line 77 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str33, UC_PROPERTY_INDEX_OTHER_ID_START}, + {-1}, {-1}, +#line 214 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str36, UC_PROPERTY_INDEX_DIACRITIC}, + {-1}, +#line 51 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str38, UC_PROPERTY_INDEX_TITLECASE}, +#line 72 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str39, UC_PROPERTY_INDEX_SOFT_DOTTED}, +#line 71 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str40, UC_PROPERTY_INDEX_SOFT_DOTTED}, + {-1}, +#line 145 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str42, UC_PROPERTY_INDEX_BIDI_WHITESPACE}, + {-1}, +#line 78 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str44, UC_PROPERTY_INDEX_OTHER_ID_START}, +#line 131 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str45, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT}, +#line 48 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str46, UC_PROPERTY_INDEX_OTHER_LOWERCASE}, + {-1}, +#line 33 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str48, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION}, + {-1}, +#line 153 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str50, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE}, +#line 112 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str51, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND}, + {-1}, {-1}, {-1}, +#line 24 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str55, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT}, + {-1}, {-1}, +#line 137 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str58, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT}, + {-1}, {-1}, {-1}, +#line 47 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str62, UC_PROPERTY_INDEX_LOWERCASE}, +#line 50 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str63, UC_PROPERTY_INDEX_OTHER_LOWERCASE}, + {-1}, {-1}, +#line 20 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str66, UC_PROPERTY_INDEX_OTHER_ALPHABETIC}, + {-1}, {-1}, {-1}, +#line 168 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str70, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR}, + {-1}, +#line 136 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str72, UC_PROPERTY_INDEX_BIDI_ARABIC_DIGIT}, +#line 159 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str73, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT}, +#line 46 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str74, UC_PROPERTY_INDEX_LOWERCASE}, + {-1}, +#line 121 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str76, UC_PROPERTY_INDEX_BIDI_CONTROL}, +#line 134 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str77, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR}, +#line 169 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str78, UC_PROPERTY_INDEX_IDS_BINARY_OPERATOR}, +#line 179 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str79, UC_PROPERTY_INDEX_ISO_CONTROL}, + {-1}, {-1}, {-1}, +#line 36 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str83, UC_PROPERTY_INDEX_VARIATION_SELECTOR}, +#line 193 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str84, UC_PROPERTY_INDEX_SENTENCE_TERMINAL}, + {-1}, {-1}, +#line 180 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str87, UC_PROPERTY_INDEX_ISO_CONTROL}, + {-1}, +#line 166 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str89, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH}, +#line 81 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str90, UC_PROPERTY_INDEX_ID_CONTINUE}, +#line 167 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str91, UC_PROPERTY_INDEX_RADICAL}, +#line 155 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str92, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL}, +#line 172 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str93, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR}, + {-1}, {-1}, +#line 207 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str96, UC_PROPERTY_INDEX_LEFT_OF_PAIR}, + {-1}, {-1}, +#line 187 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str99, UC_PROPERTY_INDEX_LINE_SEPARATOR}, + {-1}, {-1}, +#line 45 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str102, UC_PROPERTY_INDEX_OTHER_UPPERCASE}, +#line 132 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str103, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR}, +#line 17 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str104, UC_PROPERTY_INDEX_ALPHABETIC}, + {-1}, {-1}, +#line 55 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str107, UC_PROPERTY_INDEX_CASE_IGNORABLE}, +#line 82 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str108, UC_PROPERTY_INDEX_ID_CONTINUE}, +#line 85 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str109, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE}, +#line 156 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str110, UC_PROPERTY_INDEX_HEX_DIGIT}, +#line 30 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str111, UC_PROPERTY_INDEX_DEPRECATED}, +#line 157 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str112, UC_PROPERTY_INDEX_HEX_DIGIT}, +#line 202 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str113, UC_PROPERTY_INDEX_OTHER_MATH}, + {-1}, {-1}, +#line 213 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str116, UC_PROPERTY_INDEX_DIACRITIC}, +#line 22 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str117, UC_PROPERTY_INDEX_NOT_A_CHARACTER}, + {-1}, +#line 209 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str119, UC_PROPERTY_INDEX_COMPOSITE}, +#line 34 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str120, UC_PROPERTY_INDEX_VARIATION_SELECTOR}, + {-1}, {-1}, {-1}, +#line 101 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str124, UC_PROPERTY_INDEX_JOIN_CONTROL}, +#line 123 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str125, UC_PROPERTY_INDEX_BIDI_CONTROL}, +#line 122 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str126, UC_PROPERTY_INDEX_BIDI_CONTROL}, +#line 183 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str127, UC_PROPERTY_INDEX_DASH}, + {-1}, +#line 44 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str129, UC_PROPERTY_INDEX_OTHER_UPPERCASE}, + {-1}, +#line 176 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str131, UC_PROPERTY_INDEX_SPACE}, +#line 210 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str132, UC_PROPERTY_INDEX_DECIMAL_DIGIT}, +#line 113 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str133, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND}, + {-1}, {-1}, +#line 125 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str136, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT}, +#line 52 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str137, UC_PROPERTY_INDEX_CASED}, +#line 201 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str138, UC_PROPERTY_INDEX_OTHER_MATH}, +#line 144 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str139, UC_PROPERTY_INDEX_BIDI_WHITESPACE}, + {-1}, +#line 174 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str141, UC_PROPERTY_INDEX_ZERO_WIDTH}, + {-1}, +#line 175 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str143, UC_PROPERTY_INDEX_ZERO_WIDTH}, + {-1}, {-1}, +#line 120 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str146, UC_PROPERTY_INDEX_BIDI_CONTROL}, +#line 54 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str147, UC_PROPERTY_INDEX_CASE_IGNORABLE}, +#line 43 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str148, UC_PROPERTY_INDEX_OTHER_UPPERCASE}, +#line 195 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str149, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 194 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str155, UC_PROPERTY_INDEX_SENTENCE_TERMINAL}, + {-1}, +#line 133 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str157, UC_PROPERTY_INDEX_BIDI_EUR_NUM_SEPARATOR}, +#line 95 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str158, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE}, +#line 94 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str159, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE}, +#line 26 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str160, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT}, + {-1}, {-1}, +#line 197 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str163, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION}, +#line 140 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str164, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR}, +#line 49 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str165, UC_PROPERTY_INDEX_OTHER_LOWERCASE}, + {-1}, {-1}, +#line 15 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str168, UC_PROPERTY_INDEX_WHITE_SPACE}, +#line 130 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str169, UC_PROPERTY_INDEX_BIDI_EUROPEAN_DIGIT}, +#line 18 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str170, UC_PROPERTY_INDEX_OTHER_ALPHABETIC}, +#line 191 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str171, UC_PROPERTY_INDEX_QUOTATION_MARK}, + {-1}, +#line 103 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str173, UC_PROPERTY_INDEX_JOIN_CONTROL}, +#line 102 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str174, UC_PROPERTY_INDEX_JOIN_CONTROL}, + {-1}, +#line 177 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str176, UC_PROPERTY_INDEX_NON_BREAK}, + {-1}, +#line 126 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str178, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT}, +#line 206 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str179, UC_PROPERTY_INDEX_LEFT_OF_PAIR}, +#line 141 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str180, UC_PROPERTY_INDEX_BIDI_BLOCK_SEPARATOR}, + {-1}, {-1}, {-1}, +#line 149 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str184, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL}, + {-1}, +#line 16 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str186, UC_PROPERTY_INDEX_ALPHABETIC}, + {-1}, {-1}, +#line 186 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str189, UC_PROPERTY_INDEX_LINE_SEPARATOR}, +#line 128 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str190, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT}, +#line 216 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str191, UC_PROPERTY_INDEX_EXTENDER}, +#line 127 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str192, UC_PROPERTY_INDEX_BIDI_HEBREW_RIGHT_TO_LEFT}, +#line 151 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str193, UC_PROPERTY_INDEX_BIDI_PDF}, +#line 100 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str194, UC_PROPERTY_INDEX_JOIN_CONTROL}, +#line 129 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str195, UC_PROPERTY_INDEX_BIDI_ARABIC_RIGHT_TO_LEFT}, + {-1}, {-1}, +#line 90 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str198, UC_PROPERTY_INDEX_XID_CONTINUE}, +#line 21 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str199, UC_PROPERTY_INDEX_NOT_A_CHARACTER}, + {-1}, +#line 87 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str201, UC_PROPERTY_INDEX_XID_START}, +#line 89 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str202, UC_PROPERTY_INDEX_XID_CONTINUE}, +#line 42 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str203, UC_PROPERTY_INDEX_UPPERCASE}, +#line 35 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str204, UC_PROPERTY_INDEX_VARIATION_SELECTOR}, +#line 84 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str205, UC_PROPERTY_INDEX_OTHER_ID_CONTINUE}, + {-1}, +#line 88 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str207, UC_PROPERTY_INDEX_XID_START}, +#line 178 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str208, UC_PROPERTY_INDEX_NON_BREAK}, + {-1}, +#line 38 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str210, UC_PROPERTY_INDEX_PRIVATE_USE}, +#line 86 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str211, UC_PROPERTY_INDEX_XID_START}, + {-1}, +#line 99 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str213, UC_PROPERTY_INDEX_PATTERN_SYNTAX}, +#line 98 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str214, UC_PROPERTY_INDEX_PATTERN_SYNTAX}, +#line 41 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str215, UC_PROPERTY_INDEX_UPPERCASE}, + {-1}, {-1}, {-1}, +#line 215 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str219, UC_PROPERTY_INDEX_EXTENDER}, +#line 162 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str220, UC_PROPERTY_INDEX_IDEOGRAPHIC}, +#line 171 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str221, UC_PROPERTY_INDEX_IDS_TRINARY_OPERATOR}, +#line 53 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str222, UC_PROPERTY_INDEX_CASE_IGNORABLE}, +#line 196 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str223, UC_PROPERTY_INDEX_TERMINAL_PUNCTUATION}, + {-1}, +#line 182 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str225, UC_PROPERTY_INDEX_FORMAT_CONTROL}, + {-1}, {-1}, +#line 124 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str228, UC_PROPERTY_INDEX_BIDI_LEFT_TO_RIGHT}, +#line 19 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str229, UC_PROPERTY_INDEX_OTHER_ALPHABETIC}, + {-1}, {-1}, {-1}, +#line 192 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str233, UC_PROPERTY_INDEX_QUOTATION_MARK}, +#line 190 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str234, UC_PROPERTY_INDEX_QUOTATION_MARK}, +#line 139 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str235, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR}, + {-1}, +#line 138 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str237, UC_PROPERTY_INDEX_BIDI_COMMON_SEPARATOR}, + {-1}, {-1}, +#line 184 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str240, UC_PROPERTY_INDEX_HYPHEN}, +#line 37 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str241, UC_PROPERTY_INDEX_PRIVATE_USE}, + {-1}, +#line 115 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str243, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND}, +#line 114 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str244, UC_PROPERTY_INDEX_OTHER_GRAPHEME_EXTEND}, + {-1}, {-1}, {-1}, +#line 160 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str248, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT}, +#line 64 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str249, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED}, + {-1}, +#line 203 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str251, UC_PROPERTY_INDEX_OTHER_MATH}, +#line 107 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str252, UC_PROPERTY_INDEX_GRAPHEME_BASE}, +#line 106 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str253, UC_PROPERTY_INDEX_GRAPHEME_BASE}, +#line 111 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str254, UC_PROPERTY_INDEX_GRAPHEME_EXTEND}, +#line 110 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str255, UC_PROPERTY_INDEX_GRAPHEME_EXTEND}, + {-1}, {-1}, {-1}, {-1}, +#line 105 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str260, UC_PROPERTY_INDEX_GRAPHEME_BASE}, +#line 104 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str261, UC_PROPERTY_INDEX_GRAPHEME_BASE}, +#line 212 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str262, UC_PROPERTY_INDEX_NUMERIC}, + {-1}, +#line 109 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str264, UC_PROPERTY_INDEX_GRAPHEME_EXTEND}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 14 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str273, UC_PROPERTY_INDEX_WHITE_SPACE}, +#line 185 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str274, UC_PROPERTY_INDEX_PUNCTUATION}, + {-1}, +#line 148 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str276, UC_PROPERTY_INDEX_BIDI_BOUNDARY_NEUTRAL}, +#line 200 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str277, UC_PROPERTY_INDEX_MATH}, +#line 158 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str278, UC_PROPERTY_INDEX_HEX_DIGIT}, + {-1}, {-1}, {-1}, +#line 39 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str282, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE}, + {-1}, +#line 135 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str284, UC_PROPERTY_INDEX_BIDI_EUR_NUM_TERMINATOR}, +#line 58 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str285, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED}, +#line 23 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str286, UC_PROPERTY_INDEX_DEFAULT_IGNORABLE_CODE_POINT}, + {-1}, +#line 91 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str288, UC_PROPERTY_INDEX_XID_CONTINUE}, + {-1}, {-1}, +#line 154 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str291, UC_PROPERTY_INDEX_BIDI_OTHER_NEUTRAL}, + {-1}, +#line 165 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str293, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH}, + {-1}, {-1}, {-1}, +#line 189 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str297, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR}, + {-1}, {-1}, {-1}, +#line 188 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str301, UC_PROPERTY_INDEX_PARAGRAPH_SEPARATOR}, + {-1}, {-1}, {-1}, {-1}, +#line 161 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str306, UC_PROPERTY_INDEX_ASCII_HEX_DIGIT}, +#line 198 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str307, UC_PROPERTY_INDEX_CURRENCY_SYMBOL}, + {-1}, +#line 205 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str309, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION}, + {-1}, {-1}, +#line 119 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str312, UC_PROPERTY_INDEX_GRAPHEME_LINK}, +#line 118 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str313, UC_PROPERTY_INDEX_GRAPHEME_LINK}, +#line 143 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str314, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR}, + {-1}, {-1}, {-1}, {-1}, +#line 142 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str319, UC_PROPERTY_INDEX_BIDI_SEGMENT_SEPARATOR}, +#line 117 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str320, UC_PROPERTY_INDEX_GRAPHEME_LINK}, +#line 116 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str321, UC_PROPERTY_INDEX_GRAPHEME_LINK}, + {-1}, {-1}, +#line 61 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str324, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED}, + {-1}, +#line 32 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str326, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION}, + {-1}, {-1}, {-1}, +#line 146 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str330, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK}, +#line 40 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str331, UC_PROPERTY_INDEX_UNASSIGNED_CODE_VALUE}, + {-1}, {-1}, {-1}, +#line 62 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str335, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED}, +#line 217 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str336, UC_PROPERTY_INDEX_IGNORABLE_CONTROL}, +#line 108 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str337, UC_PROPERTY_INDEX_GRAPHEME_EXTEND}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 218 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str344, UC_PROPERTY_INDEX_IGNORABLE_CONTROL}, +#line 199 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str345, UC_PROPERTY_INDEX_CURRENCY_SYMBOL}, + {-1}, +#line 97 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str347, UC_PROPERTY_INDEX_PATTERN_SYNTAX}, + {-1}, +#line 13 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str349, UC_PROPERTY_INDEX_WHITE_SPACE}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, +#line 150 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str361, UC_PROPERTY_INDEX_BIDI_PDF}, +#line 31 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str362, UC_PROPERTY_INDEX_LOGICAL_ORDER_EXCEPTION}, + {-1}, {-1}, {-1}, +#line 181 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str366, UC_PROPERTY_INDEX_FORMAT_CONTROL}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 56 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str383, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED}, + {-1}, {-1}, {-1}, +#line 164 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str387, UC_PROPERTY_INDEX_UNIFIED_IDEOGRAPH}, + {-1}, {-1}, +#line 63 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str390, UC_PROPERTY_INDEX_CHANGES_WHEN_TITLECASED}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 93 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str396, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE}, +#line 70 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str397, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 152 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str404, UC_PROPERTY_INDEX_BIDI_EMBEDDING_OR_OVERRIDE}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 147 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str411, UC_PROPERTY_INDEX_BIDI_NON_SPACING_MARK}, +#line 67 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str412, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED}, + {-1}, {-1}, {-1}, +#line 208 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str416, UC_PROPERTY_INDEX_COMBINING}, +#line 66 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str417, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED}, + {-1}, {-1}, {-1}, {-1}, +#line 59 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str422, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 204 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str432, UC_PROPERTY_INDEX_PAIRED_PUNCTUATION}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 27 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str468, UC_PROPERTY_INDEX_OTHER_DEFAULT_IGNORABLE_CODE_POINT}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 92 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str475, UC_PROPERTY_INDEX_PATTERN_WHITE_SPACE}, + {-1}, {-1}, {-1}, {-1}, +#line 69 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str480, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 60 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str489, UC_PROPERTY_INDEX_CHANGES_WHEN_UPPERCASED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 57 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str525, UC_PROPERTY_INDEX_CHANGES_WHEN_LOWERCASED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, +#line 68 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str581, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEMAPPED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 65 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str596, UC_PROPERTY_INDEX_CHANGES_WHEN_CASEFOLDED}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, +#line 96 "./unictype/pr_byname.gperf" + {(int)(size_t)&((struct properties_stringpool_t *)0)->properties_stringpool_str619, UC_PROPERTY_INDEX_PATTERN_SYNTAX} + }; + +const struct named_property * +uc_property_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = properties_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = properties[key].name; + if (o >= 0) + { + register const char *s = o + properties_stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &properties[key]; + } + } + } + return 0; +} diff --git a/gllib/unictype/pr_case_ignorable.c b/gllib/unictype/pr_case_ignorable.c new file mode 100644 index 0000000..c0204ea --- /dev/null +++ b/gllib/unictype/pr_case_ignorable.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_case_ignorable table. */ +#include "pr_case_ignorable.h" + +bool +uc_is_property_case_ignorable (ucs4_t uc) +{ + return bitmap_lookup (&u_property_case_ignorable, uc); +} + +const uc_property_t UC_PROPERTY_CASE_IGNORABLE = + { &uc_is_property_case_ignorable }; diff --git a/gllib/unictype/pr_case_ignorable.h b/gllib/unictype/pr_case_ignorable.h new file mode 100644 index 0000000..7a49b4d --- /dev/null +++ b/gllib/unictype/pr_case_ignorable.h @@ -0,0 +1,600 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[44 << 4]; + } +u_property_case_ignorable = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + 16 + 384 * sizeof (short) / sizeof (int) + 608, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 656, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 672, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 688, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x04004080, 0x40000000, 0x00000001, + 0x00000000, 0x0190A100, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0430FFFF, + 0x000000B0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000003F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x02000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00100000, + 0x17FF003F, 0x00000000, 0xFFFFF801, 0x00010000, + 0x00000000, 0x00000000, 0xBFC00000, 0x00003DFF, + 0x00028000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x043FF800, + 0xFFC00000, 0x00003FFF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFF, + 0x00000007, 0x14000000, 0x00FE21FE, 0x0002000C, + 0x00000002, 0x10000000, 0x0000201E, 0x0000000C, + 0x00000006, 0x10000000, 0x00023986, 0x00230000, + 0x00000006, 0x10000000, 0x000021BE, 0x0000000C, + 0x00000002, 0x90000000, 0x0040201E, 0x0000000C, + 0x00000004, 0x00000000, 0x00002001, 0x00000000, + 0x00000001, 0xC0000000, 0x00603DC1, 0x0000000C, + 0x00000002, 0x90000000, 0x00003040, 0x0000000C, + 0x00000002, 0x00000000, 0x0000201E, 0x0000000C, + 0x00000000, 0x00000000, 0x005C0400, 0x00000000, + 0x00000000, 0x07F20000, 0x00007FC0, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F40, 0x00000000, + 0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001, + 0x20002064, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0x3FB00000, 0x208FFE40, 0x00000000, + 0x00007800, 0x00000000, 0x00000008, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0E040187, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5, + 0x00000000, 0x7FFF0080, 0x00000000, 0x00000000, + 0x0000000F, 0x17D00000, 0x00000004, 0x000FF800, + 0x00000003, 0x00003B3C, 0x00000000, 0x0003A340, + 0x00000000, 0x00CFF000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031021FD, + 0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x010007FF, + 0xF8000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xA0000000, 0xE000E003, 0x6000E000, + 0x0300F800, 0x00007C90, 0x00000000, 0x8002FFDF, + 0x1FFF0000, 0x00000000, 0xFFFF0000, 0x0001FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80008000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x083E3C00, 0x00000000, 0x00000000, + 0x7E000000, 0x00000000, 0x00000000, 0x70000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00200000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0xBFF78000, + 0xF0000000, 0x00000000, 0x00000000, 0x00030000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00010000, + 0x00000700, 0x00000000, 0x00000000, 0x03000000, + 0x00000844, 0x00000060, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000, + 0x00000007, 0x13C80000, 0x00008000, 0x00000060, + 0x00000000, 0x00667E00, 0x00001008, 0x10010000, + 0x00000000, 0xC19D0000, 0x20000002, 0x00583000, + 0x00000000, 0x00000000, 0xF8000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002120, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000003, 0x00000000, + 0x0008FFFF, 0x0000FFFF, 0x00240000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x04004080, 0x40000000, 0x00000001, 0x00010000, + 0xC0000000, 0x00000000, 0x00000000, 0x0E000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000003, 0x26780000, 0x00000000, 0x00000000, + 0x00000007, 0x001FEF80, 0x00000000, 0x00080000, + 0x00000003, 0x7FC00000, 0x00001C00, 0x00000000, + 0x00000000, 0x40D38000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007F8, + 0x00000003, 0x10000000, 0x00000001, 0x001F1FC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF000000, 0x0000005C, 0x00000000, + 0x00000000, 0x85F80000, 0x0000000D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xB03C0000, 0x30000001, 0x00000000, + 0x00000000, 0xA7F80000, 0x00000001, 0x00000000, + 0x00000000, 0x00BF2800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FBC, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xBF7F0000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF8000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF80380, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF8000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_cased.c b/gllib/unictype/pr_cased.c new file mode 100644 index 0000000..928d57d --- /dev/null +++ b/gllib/unictype/pr_cased.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_cased table. */ +#include "pr_cased.h" + +bool +uc_is_property_cased (ucs4_t uc) +{ + return bitmap_lookup (&u_property_cased, uc); +} + +const uc_property_t UC_PROPERTY_CASED = + { &uc_is_property_cased }; diff --git a/gllib/unictype/pr_cased.h b/gllib/unictype/pr_cased.h new file mode 100644 index 0000000..780f433 --- /dev/null +++ b/gllib/unictype/pr_cased.h @@ -0,0 +1,367 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[21 << 4]; + } +u_property_cased = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF7FFFFFF, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFEFFFFF, 0x01FFFFFF, 0x00000003, 0x0000001F, + 0x00000000, 0x00000000, 0x00000020, 0xBCCF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x007FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x3E2FFC84, 0xF21FBD50, 0x000043E0, 0xFFFFFFFF, + 0x00000018, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF78FF, 0x00FF7FFF, 0x00000000, 0x07000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_changes_when_casefolded.c b/gllib/unictype/pr_changes_when_casefolded.c new file mode 100644 index 0000000..c68656a --- /dev/null +++ b/gllib/unictype/pr_changes_when_casefolded.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_changes_when_casefolded table. */ +#include "pr_changes_when_casefolded.h" + +bool +uc_is_property_changes_when_casefolded (ucs4_t uc) +{ + return bitmap_lookup (&u_property_changes_when_casefolded, uc); +} + +const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEFOLDED = + { &uc_is_property_changes_when_casefolded }; diff --git a/gllib/unictype/pr_changes_when_casefolded.h b/gllib/unictype/pr_changes_when_casefolded.h new file mode 100644 index 0000000..b4bec6c --- /dev/null +++ b/gllib/unictype/pr_changes_when_casefolded.h @@ -0,0 +1,355 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[18 << 4]; + } +u_property_changes_when_casefolded = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00200000, 0xFF7FFFFF, 0x00000000, + 0x55555555, 0xAA555555, 0x555556AA, 0xAB555555, + 0xB1DBCED6, 0x11AED2D5, 0x4AAAADB0, 0x55D65555, + 0x55555555, 0x6C055555, 0x0000557A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000020, 0x80450000, + 0xFFFED740, 0x00000FFB, 0x55638004, 0xE6B35555, + 0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555, + 0x55555401, 0x55555555, 0x55552AAB, 0x55555555, + 0x55555555, 0xFFFE5555, 0x007FFFFF, 0x00000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x55555555, 0x55555555, 0x55555555, 0x55555555, + 0x4C155555, 0x55555555, 0x55555555, 0x55555555, + 0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00, + 0xFFFFFFFF, 0x1F9CFFFF, 0x0F001F9C, 0x1F9C1F00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00040C40, 0x00000000, 0x0000FFFF, + 0x00000008, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D, + 0x55555555, 0x55555555, 0x55555555, 0x00042805, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x55555555, 0x00001555, + 0x05555555, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x55545554, 0x55555555, 0x6A005555, + 0x55452855, 0x005F7D55, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_changes_when_casemapped.c b/gllib/unictype/pr_changes_when_casemapped.c new file mode 100644 index 0000000..afb226e --- /dev/null +++ b/gllib/unictype/pr_changes_when_casemapped.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_changes_when_casemapped table. */ +#include "pr_changes_when_casemapped.h" + +bool +uc_is_property_changes_when_casemapped (ucs4_t uc) +{ + return bitmap_lookup (&u_property_changes_when_casemapped, uc); +} + +const uc_property_t UC_PROPERTY_CHANGES_WHEN_CASEMAPPED = + { &uc_is_property_changes_when_casemapped }; diff --git a/gllib/unictype/pr_changes_when_casemapped.h b/gllib/unictype/pr_changes_when_casemapped.h new file mode 100644 index 0000000..0cc0a4a --- /dev/null +++ b/gllib/unictype/pr_changes_when_casemapped.h @@ -0,0 +1,355 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[18 << 4]; + } +u_property_changes_when_casemapped = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x00200000, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xF7FFDFFF, 0xB3FFF3FF, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFC0FFFFD, 0x1ADFFFFF, 0x20269F6B, + 0x60041F89, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000020, 0xB8CF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFE3FFFF, 0xEFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x007FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x22000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x4FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00040C40, 0x00004000, 0xFFFFFFFF, + 0x00000018, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xC06DFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C780F, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00003FFF, + 0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFCFFFC, 0xFFFFFFFF, 0xFE00FFFF, + 0xFFCF38FF, 0x00FF7FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00080000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_changes_when_lowercased.c b/gllib/unictype/pr_changes_when_lowercased.c new file mode 100644 index 0000000..75e114a --- /dev/null +++ b/gllib/unictype/pr_changes_when_lowercased.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_changes_when_lowercased table. */ +#include "pr_changes_when_lowercased.h" + +bool +uc_is_property_changes_when_lowercased (ucs4_t uc) +{ + return bitmap_lookup (&u_property_changes_when_lowercased, uc); +} + +const uc_property_t UC_PROPERTY_CHANGES_WHEN_LOWERCASED = + { &uc_is_property_changes_when_lowercased }; diff --git a/gllib/unictype/pr_changes_when_lowercased.h b/gllib/unictype/pr_changes_when_lowercased.h new file mode 100644 index 0000000..a0a5e57 --- /dev/null +++ b/gllib/unictype/pr_changes_when_lowercased.h @@ -0,0 +1,343 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[15 << 4]; + } +u_property_changes_when_lowercased = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000, + 0x55555555, 0xAA555555, 0x555554AA, 0x2B555555, + 0xB1DBCED6, 0x11AED2D5, 0x4AAAADB0, 0x55D65555, + 0x55555555, 0x6C055555, 0x0000557A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80450000, + 0xFFFED740, 0x00000FFB, 0x55008000, 0xE6905555, + 0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555, + 0x55555401, 0x55555555, 0x55552AAB, 0x55555555, + 0x55555555, 0xFFFE5555, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0x55555555, 0x55555555, 0x55555555, 0x55555555, + 0x40155555, 0x55555555, 0x55555555, 0x55555555, + 0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00, + 0xFF00FF00, 0x1F00FF00, 0x0F001F00, 0x1F001F00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00040C40, 0x00000000, 0x0000FFFF, + 0x00000008, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D, + 0x55555555, 0x55555555, 0x55555555, 0x00042805, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x55555555, 0x00001555, + 0x05555555, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x55545554, 0x55555555, 0x6A005555, + 0x55452855, 0x005F7D55, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_changes_when_titlecased.c b/gllib/unictype/pr_changes_when_titlecased.c new file mode 100644 index 0000000..f36b1b1 --- /dev/null +++ b/gllib/unictype/pr_changes_when_titlecased.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_changes_when_titlecased table. */ +#include "pr_changes_when_titlecased.h" + +bool +uc_is_property_changes_when_titlecased (ucs4_t uc) +{ + return bitmap_lookup (&u_property_changes_when_titlecased, uc); +} + +const uc_property_t UC_PROPERTY_CHANGES_WHEN_TITLECASED = + { &uc_is_property_changes_when_titlecased }; diff --git a/gllib/unictype/pr_changes_when_titlecased.h b/gllib/unictype/pr_changes_when_titlecased.h new file mode 100644 index 0000000..b85d29f --- /dev/null +++ b/gllib/unictype/pr_changes_when_titlecased.h @@ -0,0 +1,351 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[17 << 4]; + } +u_property_changes_when_titlecased = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE, + 0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF, + 0xAAAAAAAA, 0x54AAAAAA, 0xAAAAAB55, 0xD4AAAAAA, + 0x46241129, 0xA251212A, 0xB55556D0, 0xAA2BAAAA, + 0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269F6B, + 0x60041F89, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000020, 0x388A0000, + 0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x092FAAAA, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA, + 0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA, + 0xAAAAAAAA, 0x0000AAAA, 0x00000000, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x22000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x0FEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF, + 0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00004000, 0xFFFF0000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00481562, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0008500A, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AAA, + 0x0AAAAAAA, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xAAA8AAA8, 0xAAAAAAAA, 0x9400AAAA, + 0xAA8A10AA, 0x00A002AA, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00080000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_changes_when_uppercased.c b/gllib/unictype/pr_changes_when_uppercased.c new file mode 100644 index 0000000..0b69cd3 --- /dev/null +++ b/gllib/unictype/pr_changes_when_uppercased.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2011. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_changes_when_uppercased table. */ +#include "pr_changes_when_uppercased.h" + +bool +uc_is_property_changes_when_uppercased (ucs4_t uc) +{ + return bitmap_lookup (&u_property_changes_when_uppercased, uc); +} + +const uc_property_t UC_PROPERTY_CHANGES_WHEN_UPPERCASED = + { &uc_is_property_changes_when_uppercased }; diff --git a/gllib/unictype/pr_changes_when_uppercased.h b/gllib/unictype/pr_changes_when_uppercased.h new file mode 100644 index 0000000..0c8a010 --- /dev/null +++ b/gllib/unictype/pr_changes_when_uppercased.h @@ -0,0 +1,351 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[17 << 4]; + } +u_property_changes_when_uppercased = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE, + 0x00000000, 0x00200000, 0x80000000, 0xFF7FFFFF, + 0xAAAAAAAA, 0x54AAAAAA, 0xAAAAAB55, 0xD4AAAAAA, + 0x46241129, 0xA251212A, 0xB5555B60, 0xAA2DAAAA, + 0xAAAAAAAA, 0x900AAAA8, 0x1ADFAA85, 0x20269F6B, + 0x60041F89, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000020, 0x388A0000, + 0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x092FAAAA, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA, + 0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA, + 0xAAAAAAAA, 0x0000AAAA, 0x00000000, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x22000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x0FEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF, + 0xFFFFFFFF, 0x50DFFFFF, 0x00CF10DC, 0x10DC00FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00004000, 0xFFFF0000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x00481562, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0008500A, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AAA, + 0x0AAAAAAA, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xAAA8AAA8, 0xAAAAAAAA, 0x9400AAAA, + 0xAA8A10AA, 0x00A002AA, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00080000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_combining.c b/gllib/unictype/pr_combining.c new file mode 100644 index 0000000..5e377e7 --- /dev/null +++ b/gllib/unictype/pr_combining.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_combining table. */ +#include "pr_combining.h" + +bool +uc_is_property_combining (ucs4_t uc) +{ + return bitmap_lookup (&u_property_combining, uc); +} + +const uc_property_t UC_PROPERTY_COMBINING = + { &uc_is_property_combining }; diff --git a/gllib/unictype/pr_combining.h b/gllib/unictype/pr_combining.h new file mode 100644 index 0000000..afe3ec8 --- /dev/null +++ b/gllib/unictype/pr_combining.h @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_property_combining = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000003F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFFFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F, + 0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800, + 0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB, + 0x0000000F, 0xDC000000, 0x00FEFFFF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x0080399F, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00023987, 0x00230000, + 0x0000000E, 0xD0000000, 0x00003BBF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00C0399F, 0x0000000C, + 0x00000004, 0xC0000000, 0x00803DC7, 0x00000000, + 0x0000000F, 0xC0000000, 0x00603DDF, 0x0000000C, + 0x0000000E, 0xD0000000, 0x00603DDF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00803DDF, 0x0000000C, + 0x0000000C, 0x00000000, 0xFF5F8400, 0x000C0000, + 0x00000000, 0x07F20000, 0x00007F80, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F00, 0x00000000, + 0x03000000, 0xC2A00000, 0x00000000, 0xFFFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x7FFFF800, 0xC3C00000, 0x001E3F9D, + 0x3C00BFFC, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0xFFF00000, 0x200FFFFF, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0FFF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0F800000, 0x00000000, 0x7FE00000, 0x9FFFFFFF, + 0x00000000, 0x7FFF0000, 0x00000000, 0x00000000, + 0x0000001F, 0xFFF00000, 0x0000001F, 0x000FF800, + 0x00000007, 0x00003FFE, 0x00000000, 0x000FFFC0, + 0x00000000, 0x00FFFFF0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031C21FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x0000FC00, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3FF78000, + 0xC0000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000844, 0x000000F8, 0x00000000, 0x00000000, + 0x00000003, 0xFFF00000, 0x0000003F, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x000FFF80, 0x00000000, + 0x0000000F, 0xFFF80000, 0x00000001, 0x00000020, + 0x00000000, 0x007FFE00, 0x00003008, 0x38000000, + 0x00000000, 0xC19D0000, 0x00000002, 0x0060F800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000037F8, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000007, 0x07FF0000, 0x00000000, 0x00000000, + 0x00000007, 0x001FFF80, 0x00000000, 0x00080000, + 0x00000007, 0xFFF80000, 0x00001C01, 0x00000000, + 0x00000000, 0x40FFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007FF, + 0x0000000F, 0xD0000000, 0x0080399F, 0x001F1FCC, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x0000007F, 0x00000000, + 0x00000000, 0xFFFF0000, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF3F8000, 0x30000001, 0x00000000, + 0x00000000, 0xFFFF0000, 0x00000001, 0x00000000, + 0x00000000, 0x00FFF800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF7F8000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFE0000, 0x7FFFFFFF, + 0x00078000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807E3E0, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_composite.c b/gllib/unictype/pr_composite.c new file mode 100644 index 0000000..c64deb1 --- /dev/null +++ b/gllib/unictype/pr_composite.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_composite table. */ +#include "pr_composite.h" + +bool +uc_is_property_composite (ucs4_t uc) +{ + return bitmap_lookup (&u_property_composite, uc); +} + +const uc_property_t UC_PROPERTY_COMPOSITE = + { &uc_is_property_composite }; diff --git a/gllib/unictype/pr_composite.h b/gllib/unictype/pr_composite.h new file mode 100644 index 0000000..ffe5b54 --- /dev/null +++ b/gllib/unictype/pr_composite.h @@ -0,0 +1,395 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[28 << 4]; + } +u_property_composite = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x3E7EFFBF, 0xBE7EFFBF, + 0xFFFCFFFF, 0xFEFDFF3F, 0xFFF3F3F9, 0x7FFFFF3F, + 0x00000000, 0x00018003, 0xDFFFFFF0, 0xFF3FFFCF, + 0xCFFFFFFF, 0x000FFFC0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000010, 0x00000000, + 0x0001D760, 0x0001FC00, 0x00187C00, 0x00000000, + 0x0200708B, 0x02000000, 0x708B0000, 0x00C00000, + 0x00000000, 0x00000000, 0xFCCF0006, 0x033FFCFC, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000007C, 0x00000000, 0x01E00000, + 0x00000000, 0x00000000, 0x00080005, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00120200, 0xFF000000, 0x00000000, + 0x00000000, 0x00000000, 0xB0001800, 0x00000000, + 0x00000000, 0x00480000, 0x4E000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x30001900, 0x00000000, + 0x00100000, 0x00000000, 0x00001C00, 0x00000000, + 0x00000000, 0x00000000, 0x00000100, 0x00000000, + 0x00000000, 0x00000000, 0x00000D81, 0x00000000, + 0x00000000, 0x00000000, 0x00001C00, 0x00000000, + 0x00000000, 0x00000000, 0x74000000, 0x00000000, + 0x00000000, 0x00080000, 0x00000000, 0x00000000, + 0x00000000, 0x00080000, 0x30000000, 0x00000000, + 0x00000000, 0x00000000, 0x10842008, 0x03E80200, + 0x20080002, 0x02001084, 0x00000000, 0x00000000, + 0x00000000, 0x00000040, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00045540, 0x28000000, 0x0000000B, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x1555FFFF, + 0xFFFFFFFF, 0x17DFFFFF, 0xE7C7F5DE, 0x15DC37F7, + 0x00000000, 0x10D80060, 0x00800380, 0x00000000, + 0x00000000, 0x00000100, 0x00000000, 0x00000000, + 0x0040026B, 0x08000007, 0xFFFF0000, 0x0DEE0DEE, + 0x0C000200, 0x00004000, 0x0000E000, 0x00000000, + 0x00001210, 0x0001B050, 0x00000292, 0x0333E005, + 0x00000333, 0x0000F000, 0x00000000, 0x00003C0F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0x00700000, + 0x00000000, 0x00000000, 0x10000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x55555000, 0x36DB02A5, + 0xC0100000, 0x55555000, 0x36DB02A5, 0xC7900000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFF000F, 0x7FFFC000, + 0x00000000, 0xFFFE0000, 0x0000FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0000001F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xA0F8007F, 0x5F7FFC00, 0x0000FFDB, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FFFFC00, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x1FFF0000, + 0x00000000, 0x00000000, 0x00000000, 0xAA820000, + 0x00000000, 0x00000000, 0x00000000, 0x1FE00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x14000000, 0x00000800, 0x00000000, 0x00000000, + 0x00000000, 0x0000C000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00001800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x58000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0C000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x0000001F, + 0x00000000, 0xF8000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF07FF, 0x000067FF, 0x0000FC00, 0x00000C00, + 0x00010000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x000001FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_currency_symbol.c b/gllib/unictype/pr_currency_symbol.c new file mode 100644 index 0000000..6fd35d5 --- /dev/null +++ b/gllib/unictype/pr_currency_symbol.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_currency_symbol table. */ +#include "pr_currency_symbol.h" + +bool +uc_is_property_currency_symbol (ucs4_t uc) +{ + return bitmap_lookup (&u_property_currency_symbol, uc); +} + +#else + +bool +uc_is_property_currency_symbol (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_Sc); +} + +#endif + +const uc_property_t UC_PROPERTY_CURRENCY_SYMBOL = + { &uc_is_property_currency_symbol }; diff --git a/gllib/unictype/pr_currency_symbol.h b/gllib/unictype/pr_currency_symbol.h new file mode 100644 index 0000000..ca2d12a --- /dev/null +++ b/gllib/unictype/pr_currency_symbol.h @@ -0,0 +1,196 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_property_currency_symbol = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 144, + 2 + 128 * sizeof (short) / sizeof (int) + 160 + }, + { + 0x00000000, 0x00000010, 0x00000000, 0x00000000, + 0x00000000, 0x0000003C, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000200, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000063 + } +}; diff --git a/gllib/unictype/pr_dash.c b/gllib/unictype/pr_dash.c new file mode 100644 index 0000000..3209528 --- /dev/null +++ b/gllib/unictype/pr_dash.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_dash table. */ +#include "pr_dash.h" + +bool +uc_is_property_dash (ucs4_t uc) +{ + return bitmap_lookup (&u_property_dash, uc); +} + +const uc_property_t UC_PROPERTY_DASH = + { &uc_is_property_dash }; diff --git a/gllib/unictype/pr_dash.h b/gllib/unictype/pr_dash.h new file mode 100644 index 0000000..0677f06 --- /dev/null +++ b/gllib/unictype/pr_dash.h @@ -0,0 +1,188 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[9 << 4]; + } +u_property_dash = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 128 + }, + { + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000400, 0x40000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000040, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x003F0000, 0x00000000, 0x00080000, 0x08000000, + 0x00000800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00040000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x04800000, 0x0C000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00010000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00060000, 0x01000000, 0x00000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_decimal_digit.c b/gllib/unictype/pr_decimal_digit.c new file mode 100644 index 0000000..8d23644 --- /dev/null +++ b/gllib/unictype/pr_decimal_digit.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_decimal_digit table. */ +#include "pr_decimal_digit.h" + +bool +uc_is_property_decimal_digit (ucs4_t uc) +{ + return bitmap_lookup (&u_property_decimal_digit, uc); +} + +#else + +bool +uc_is_property_decimal_digit (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_Nd); +} + +#endif + +const uc_property_t UC_PROPERTY_DECIMAL_DIGIT = + { &uc_is_property_decimal_digit }; diff --git a/gllib/unictype/pr_decimal_digit.h b/gllib/unictype/pr_decimal_digit.h new file mode 100644 index 0000000..542a038 --- /dev/null +++ b/gllib/unictype/pr_decimal_digit.h @@ -0,0 +1,379 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[24 << 4]; + } +u_property_decimal_digit = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFC0, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF03FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF03FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x03FF0000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_default_ignorable_code_point.c b/gllib/unictype/pr_default_ignorable_code_point.c new file mode 100644 index 0000000..f3975b7 --- /dev/null +++ b/gllib/unictype/pr_default_ignorable_code_point.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_default_ignorable_code_point table. */ +#include "pr_default_ignorable_code_point.h" + +bool +uc_is_property_default_ignorable_code_point (ucs4_t uc) +{ + return bitmap_lookup (&u_property_default_ignorable_code_point, uc); +} + +const uc_property_t UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = + { &uc_is_property_default_ignorable_code_point }; diff --git a/gllib/unictype/pr_default_ignorable_code_point.h b/gllib/unictype/pr_default_ignorable_code_point.h new file mode 100644 index 0000000..1163ad4 --- /dev/null +++ b/gllib/unictype/pr_default_ignorable_code_point.h @@ -0,0 +1,472 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[12 << 4]; + } +u_property_default_ignorable_code_point = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00300000, 0x00000000, 0x00000000, + 0x00007800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F800, 0x00007C00, 0x00000000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000010, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x01FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF + } +}; diff --git a/gllib/unictype/pr_deprecated.c b/gllib/unictype/pr_deprecated.c new file mode 100644 index 0000000..c1aed5e --- /dev/null +++ b/gllib/unictype/pr_deprecated.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_deprecated table. */ +#include "pr_deprecated.h" + +bool +uc_is_property_deprecated (ucs4_t uc) +{ + return bitmap_lookup (&u_property_deprecated, uc); +} + +const uc_property_t UC_PROPERTY_DEPRECATED = + { &uc_is_property_deprecated }; diff --git a/gllib/unictype/pr_deprecated.h b/gllib/unictype/pr_deprecated.h new file mode 100644 index 0000000..9a7e1f8 --- /dev/null +++ b/gllib/unictype/pr_deprecated.h @@ -0,0 +1,324 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[2 << 7]; + /*unsigned*/ int level3[7 << 4]; + } +u_property_deprecated = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 128 + }, + { + 16 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 64, + 16 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000200, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00080000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000018, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FC00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000600, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_diacritic.c b/gllib/unictype/pr_diacritic.c new file mode 100644 index 0000000..6ab756a --- /dev/null +++ b/gllib/unictype/pr_diacritic.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_diacritic table. */ +#include "pr_diacritic.h" + +bool +uc_is_property_diacritic (ucs4_t uc) +{ + return bitmap_lookup (&u_property_diacritic, uc); +} + +const uc_property_t UC_PROPERTY_DIACRITIC = + { &uc_is_property_diacritic }; diff --git a/gllib/unictype/pr_diacritic.h b/gllib/unictype/pr_diacritic.h new file mode 100644 index 0000000..58877b1 --- /dev/null +++ b/gllib/unictype/pr_diacritic.h @@ -0,0 +1,415 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[33 << 4]; + } +u_property_diacritic = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x40000000, 0x00000001, + 0x00000000, 0x01908100, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xE0FF7FFF, 0x04300007, + 0x00000030, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000000F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x02000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFB, 0x00000016, 0x00000000, + 0x00000000, 0x00000000, 0x0187F800, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00001C61, + 0x00000000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x003FF800, + 0x03000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFF8, + 0x00000000, 0x10000000, 0x001E2000, 0x00020000, + 0x00000000, 0x10000000, 0x00002000, 0x00000000, + 0x00000000, 0x10000000, 0x00002000, 0x00000000, + 0x00000000, 0x10000000, 0x00002000, 0x00000000, + 0x00000000, 0x10000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x10000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00000400, 0x00000000, + 0x00000000, 0x00000000, 0x00005F80, 0x00000000, + 0x00000000, 0x00000000, 0x00001F00, 0x00000000, + 0x03000000, 0xC2A00000, 0x00000000, 0x00000000, + 0x000000DC, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x06800000, 0x00000000, 0x00000000, + 0x0C00BF80, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x200FFE00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0E000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x9FE00000, + 0x00000000, 0x3FFF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00100000, 0x00000010, 0x000FF800, + 0x00000000, 0x00000C00, 0x00000000, 0x00000000, + 0x00000000, 0x00C00000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x031021FF, + 0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x000007FF, + 0x00000000, 0x00000000, 0x0000FFF0, 0xE0200000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xA0000000, 0xE000E003, 0x6000E000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000FC00, 0x00000000, 0x00000000, + 0x1E000000, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xB0008000, + 0x30000000, 0x00000000, 0x00000000, 0x00030000, + 0xFF800000, 0x00000003, 0x00000000, 0x00000000, + 0x00000100, 0x00000000, 0x00000000, 0x03000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000010, 0x0003FFFF, + 0x00000000, 0x00007800, 0x00080000, 0x00000000, + 0x00000000, 0x00080000, 0x00000001, 0x00000020, + 0x00000000, 0x00000000, 0x00000000, 0x38000000, + 0x00000000, 0x80000000, 0x00000007, 0x00400000, + 0x00000000, 0x00000000, 0xF8000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00003000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00000001, 0x00010000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06000000, 0x00000000, 0x00000000, + 0x00000000, 0x00180000, 0x00000000, 0x00080000, + 0x00000000, 0x00000000, 0x00001C01, 0x00000000, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000600, + 0x00000000, 0x10000000, 0x00002000, 0x001F1FC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000044, 0x00000000, + 0x00000000, 0x00000000, 0x0000000C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000001, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00C00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF8000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807E380, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000770, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_extender.c b/gllib/unictype/pr_extender.c new file mode 100644 index 0000000..dc64ae1 --- /dev/null +++ b/gllib/unictype/pr_extender.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_extender table. */ +#include "pr_extender.h" + +bool +uc_is_property_extender (ucs4_t uc) +{ + return bitmap_lookup (&u_property_extender, uc); +} + +const uc_property_t UC_PROPERTY_EXTENDER = + { &uc_is_property_extender }; diff --git a/gllib/unictype/pr_extender.h b/gllib/unictype/pr_extender.h new file mode 100644 index 0000000..59efb61 --- /dev/null +++ b/gllib/unictype/pr_extender.h @@ -0,0 +1,355 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[18 << 4]; + } +u_property_extender = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00800000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00030000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x04000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000400, 0x00000000, 0x00000008, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00400000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000020, 0x003E0000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x70000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00200000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x00000040, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x20000000, 0x00180000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000001C0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000000C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000070, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_format_control.c b/gllib/unictype/pr_format_control.c new file mode 100644 index 0000000..2c61c77 --- /dev/null +++ b/gllib/unictype/pr_format_control.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_format_control table. */ +#include "pr_format_control.h" + +bool +uc_is_property_format_control (ucs4_t uc) +{ + return bitmap_lookup (&u_property_format_control, uc); +} + +const uc_property_t UC_PROPERTY_FORMAT_CONTROL = + { &uc_is_property_format_control }; diff --git a/gllib/unictype/pr_format_control.h b/gllib/unictype/pr_format_control.h new file mode 100644 index 0000000..8b6428f --- /dev/null +++ b/gllib/unictype/pr_format_control.h @@ -0,0 +1,448 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[6 << 4]; + } +u_property_format_control = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000800, 0x00000000, 0x00000000, 0x0000FC1F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_grapheme_base.c b/gllib/unictype/pr_grapheme_base.c new file mode 100644 index 0000000..bbb5beb --- /dev/null +++ b/gllib/unictype/pr_grapheme_base.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_grapheme_base table. */ +#include "pr_grapheme_base.h" + +bool +uc_is_property_grapheme_base (ucs4_t uc) +{ + return bitmap_lookup (&u_property_grapheme_base, uc); +} + +const uc_property_t UC_PROPERTY_GRAPHEME_BASE = + { &uc_is_property_grapheme_base }; diff --git a/gllib/unictype/pr_grapheme_base.h b/gllib/unictype/pr_grapheme_base.h new file mode 100644 index 0000000..cca8cab --- /dev/null +++ b/gllib/unictype/pr_grapheme_base.h @@ -0,0 +1,716 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[76 << 4]; + } +u_property_grapheme_base = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + 4 + 384 * sizeof (short) / sizeof (int) + 992, + 4 + 384 * sizeof (short) / sizeof (int) + 1008, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1024, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 1040, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 1056, + 4 + 384 * sizeof (short) / sizeof (int) + 1072, + 4 + 384 * sizeof (short) / sizeof (int) + 1088, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1104, + 4 + 384 * sizeof (short) / sizeof (int) + 1120, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1136, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1152, + 4 + 384 * sizeof (short) / sizeof (int) + 1168, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1184, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 1200, + -1, + -1 + }, + { + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0x00000000, 0xFFFFDFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xFCFF0000, + 0xFFFFD7F0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC07, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0xFE7FFFFF, 0xFFFFFFFE, + 0x0000E6FF, 0x40000000, 0xFFFF0049, 0x001F07FF, + 0xC800FFC0, 0xFFFFFFFF, 0x000007FF, 0xFFFEFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x403FFFFF, 0xFFFFC260, + 0xFFFD3FFF, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0002003F, 0xFFFFFFFF, 0x07F007FF, + 0x043FFFFF, 0x7FFF0110, 0x41FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0xEBFFFFFF, 0xFF01DE01, 0xFFFFFFF3, + 0xFFF99FED, 0xA3C5FDFF, 0xB0005981, 0x0FFFFFC3, + 0xFFF987E8, 0xC36DFDFF, 0x5E000001, 0x001CFFC0, + 0xFFFBBFE8, 0xE3EDFDFF, 0x00011A01, 0x0203FFC3, + 0xFFF99FEC, 0x23EDFDFF, 0xB0001981, 0x00FFFFC3, + 0xD63DC7E8, 0x83FFC718, 0x00011DC6, 0x07FFFFC0, + 0xFFFDDFEE, 0x23FFFDFF, 0x0700001E, 0xFF00FFC3, + 0xFFFDDFED, 0x63EFFDFF, 0x40000D9B, 0x0006FFC3, + 0xFFFDDFEC, 0xA7FFFFFF, 0xFF70DDC1, 0xFFFFFFC3, + 0xFC7FFFEC, 0x2FFBFFFF, 0x7F03007F, 0x001CFFC0, + 0xFFFFFFFE, 0x800DFFFF, 0x0FFF807F, 0x00000000, + 0xFEF02596, 0x200DECAE, 0xF3FF005F, 0x00000000, + 0xFCFFFFFF, 0xFD5FFFFF, 0xFFFFFEFF, 0x80001FFF, + 0x00001F20, 0xC0000000, 0x07FFDFBF, 0x00000000, + 0xFFFFFFFF, 0x99021FFF, 0x3CFFFFFF, 0xFFE1FFFE, + 0xDFFFDF9B, 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x1FFFFFFF, + 0x03FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x1FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFFFFF, + 0x0003DFFF, 0x0063FFFF, 0x0003FFFF, 0x0001DFFF, + 0xFFFFFFFF, 0xC04FFFFF, 0x1FF001BF, 0x03FF03FF, + 0x03FF07FF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFF9F, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x01FB0E78, 0xFFFFFFF1, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0xC7FF03FF, 0xFFFFFFFF, + 0xC67FFFFF, 0xFFFFFFFF, 0x00BFFFFF, 0x0007E01A, + 0x03FF03FF, 0x00003FFF, 0x00000000, 0x00000000, + 0xFFFFFFF0, 0xE82FFFFF, 0xFFFF0FFB, 0x1FF007FF, + 0xFFFFFFFC, 0xFFFFC4C3, 0xFFFFFFFF, 0xF00C5CBF, + 0xFFFFFFFF, 0xF8300FFF, 0xFFFFE3FF, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x000800FF, 0x006FDE02, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFDFFFFF, 0xEFCFFFDF, 0x7FDCFFFF, + 0xFFFF07FF, 0xFFFF80FF, 0xFFFFFFFF, 0xFFF30000, + 0x1FFF7FFF, 0x7FFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0x0000007F, 0x000007FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFCFFFFF, + 0xFF3FFFFF, 0xE3FFFFFF, 0x0003FDFF, 0x0000F000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFE0C7FFF, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000180FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x0FFF0000, + 0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFE, 0xFFFFFFFF, + 0xF87FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF7FFF, 0x07FFFFFF, 0xFFFFFFFF, 0xFFFF000F, + 0x7FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0xFFFFFFFF, 0xFFFF007F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000FFF, 0xFFFFFFFF, 0xC0087FFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FCFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFF7BB, 0x03FF0F9F, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFC00F, 0x3FFC0000, + 0xFFFFFFFF, 0xFFFFC03F, 0x800C007F, 0x1FFFFFFF, + 0xFFFFFFF8, 0xEC37FFFF, 0xC3FFBFFF, 0x7FFFFFDF, + 0xFFFFFFFF, 0x001981FF, 0xF3FF2FF7, 0xEFFFFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0xF8000005, 0x003FCFFF, + 0x007E7E7E, 0xFFFF7F7F, 0xFFFFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF1EDF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xA0F8007F, 0x5F7FFFFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFF80003, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x3FFF0000, + 0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0xFFDF0F7F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x30007F7F, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0xFFFFFF87, 0xFF8FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x0FFF7FFF, 0x00000001, 0xFFFF0000, 0x1FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x0FFFFFFE, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFF07FF, 0x003FFFFF, + 0xBFFFFFFF, 0xFFFFFFFF, 0x003FFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000800F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0xFFBFFFFF, 0xFFFFFFFF, + 0x7FFFFFFF, 0x0000FF80, 0x00000000, 0xF837FFFF, + 0x8FFFFFFF, 0x83FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF0FFFFFF, 0xFFFCFFFF, 0xFFFFFFFF, + 0xFEEF0001, 0x000FFFFF, 0x01FF00FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x007FF81F, + 0xFFFFFFFF, 0xFE3FFFFF, 0xFF3FFFFF, 0xFF07FFFF, + 0x1E03FFFF, 0x0000FE00, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0xFC07FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFD, 0x00FFFFFF, 0xFFFC3F80, 0x0000FFFF, + 0xFFFFFFFC, 0xD987FFFF, 0xFFFF0003, 0x03FF01FF, + 0xFFFFFFF8, 0xFFC0107F, 0xFFFF000F, 0x0077FFFF, + 0xFFFFFFFC, 0x803FFFFF, 0xFFFF23FF, 0x001FFFFE, + 0xFFFBFFFF, 0x3F2C7FFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF03FF, 0x7FFFFFFF, 0x03FF0007, + 0xFFF99FEC, 0xA3EDFDFF, 0xE001399E, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00FFFFFF, 0x2BFFFFA3, 0x00000000, + 0xFFFFFFFF, 0x5A06FFFF, 0x03FF00F2, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x4F037FFF, 0x0FFFFFFE, 0x00000000, + 0xFFFFFFFF, 0x5807FFFF, 0x03FF001E, 0x00001FFF, + 0xFFFFFFFF, 0x0040D7FF, 0x000003FF, 0x00000000, + 0x03FFFFFF, 0xFFFF0043, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x8007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x4000FFFF, 0xFFFF003F, 0xFFFF1FFF, + 0x0000FFFF, 0x00120200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x001F7FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x0000C3FF, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00203FFF, + 0xFFFFFFFF, 0xFF80FFFF, 0xFBFF003F, 0xE0FFFFFB, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x93FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0xFFFFFFFF, 0xFFFFFE7F, 0xFFFFFFFF, 0x00003C5F, + 0xFFFFF018, 0xFFFFC3FF, 0xFFFFFFFF, 0x000001FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000023, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x0003FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF, + 0x00000000, 0x07800000, 0x00000000, 0xFFDFE000, + 0x00000FEF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FF9F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xC3FF000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF0FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000FFFFF, 0xFFFE7FFF, 0xFFFEFFFE, 0x003FFFFF, + 0xFFFF1FFF, 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFF0FFF, + 0xFFFFFFFF, 0x00001FFF, 0x00000000, 0xFFFFFFC0, + 0xFFFF0007, 0x0FFFFFFF, 0x000301FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, 0x007F1FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0xFFFF0FFF, 0xFFFFFFFF, 0x03FF00FF, 0xFFFFFFFF, + 0xFFFF00FF, 0x00003FFF, 0x00000000, 0x00000000, + 0x7FFF0000, 0x7FF900FF, 0x7FFF0FFF, 0x00000000, + 0x0003FFFF, 0x00000000, 0x00000001, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_grapheme_extend.c b/gllib/unictype/pr_grapheme_extend.c new file mode 100644 index 0000000..408fc74 --- /dev/null +++ b/gllib/unictype/pr_grapheme_extend.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_grapheme_extend table. */ +#include "pr_grapheme_extend.h" + +bool +uc_is_property_grapheme_extend (ucs4_t uc) +{ + return bitmap_lookup (&u_property_grapheme_extend, uc); +} + +const uc_property_t UC_PROPERTY_GRAPHEME_EXTEND = + { &uc_is_property_grapheme_extend }; diff --git a/gllib/unictype/pr_grapheme_extend.h b/gllib/unictype/pr_grapheme_extend.h new file mode 100644 index 0000000..93db881 --- /dev/null +++ b/gllib/unictype/pr_grapheme_extend.h @@ -0,0 +1,576 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[38 << 4]; + } +u_property_grapheme_extend = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + 16 + 384 * sizeof (short) / sizeof (int) + 160, + 16 + 384 * sizeof (short) / sizeof (int) + 176, + 16 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 256, + 16 + 384 * sizeof (short) / sizeof (int) + 272, + 16 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 304, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 320, + 16 + 384 * sizeof (short) / sizeof (int) + 336, + 16 + 384 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 384, + 16 + 384 * sizeof (short) / sizeof (int) + 400, + 16 + 384 * sizeof (short) / sizeof (int) + 416, + 16 + 384 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 464, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 512, + 16 + 384 * sizeof (short) / sizeof (int) + 528, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000003F8, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFE0000, 0xBFFFFFFF, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFFFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x9FC00000, 0x00003D9F, + 0x00020000, 0xFFFF0000, 0x000007FF, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x000FF800, + 0xFBC00000, 0x00003EEF, 0x0E000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFFFFFB, + 0x00000007, 0x14000000, 0x00FE21FE, 0x0000000C, + 0x00000002, 0x50000000, 0x0080201E, 0x0000000C, + 0x00000006, 0x10000000, 0x00023986, 0x00230000, + 0x00000006, 0x10000000, 0x000021BE, 0x0000000C, + 0x00000002, 0xD0000000, 0x00C0201E, 0x0000000C, + 0x00000004, 0x40000000, 0x00802001, 0x00000000, + 0x00000001, 0xC0000000, 0x00603DC1, 0x0000000C, + 0x00000002, 0x90000000, 0x00603044, 0x0000000C, + 0x00000002, 0x40000000, 0x0080201E, 0x0000000C, + 0x00000000, 0x00000000, 0x805C8400, 0x00000000, + 0x00000000, 0x07F20000, 0x00007F80, 0x00000000, + 0x00000000, 0x1BF20000, 0x00003F00, 0x00000000, + 0x03000000, 0x02A00000, 0x00000000, 0x7FFE0000, + 0xFEFFE0DF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0x00000000, 0x66FDE000, 0xC3000000, 0x001E0001, + 0x20002064, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x001C0000, 0x001C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0x3FB00000, 0x200FFE40, 0x00000000, + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x0E040187, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x09800000, 0x00000000, 0x7F400000, 0x9FF81FE5, + 0x00000000, 0x7FFF0000, 0x00000000, 0x00000000, + 0x0000000F, 0x17D00000, 0x00000004, 0x000FF800, + 0x00000003, 0x00003B3C, 0x00000000, 0x0003A340, + 0x00000000, 0x00CFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF70000, 0x031021FD, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xF83FFFFF, + 0x00001000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0001FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00038000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x0000FC00, 0x00000000, 0x00000000, + 0x06000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3FF78000, + 0xC0000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000844, 0x00000060, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x0003FFFF, + 0x00000000, 0x00003FC0, 0x0003FF80, 0x00000000, + 0x00000007, 0x13C80000, 0x00000000, 0x00000020, + 0x00000000, 0x00667E00, 0x00001008, 0x10000000, + 0x00000000, 0xC19D0000, 0x00000002, 0x00403000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002120, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x0000FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x87000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000060, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFF000000, 0x0000007F, 0x80000000, + 0x00000003, 0x06780000, 0x00000000, 0x00000000, + 0x00000007, 0x001FEF80, 0x00000000, 0x00080000, + 0x00000003, 0x7FC00000, 0x00001C00, 0x00000000, + 0x00000000, 0x40D38000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000007F8, + 0x00000003, 0x50000000, 0x00800001, 0x001F1FC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF000000, 0x0000005C, 0x00000000, + 0x00000000, 0xA5F90000, 0x0000000D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xB03C8000, 0x30000001, 0x00000000, + 0x00000000, 0xA7F80000, 0x00000001, 0x00000000, + 0x00000000, 0x00BF2800, 0x00000000, 0x00000000, + 0xE0000000, 0x00000FBC, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xBF7F0000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x006DFCFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00078000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x60000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807C3A0, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x007F0000, 0x00000000, + 0x00000000, 0x00000000, 0x000007F0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_grapheme_link.c b/gllib/unictype/pr_grapheme_link.c new file mode 100644 index 0000000..eae16b3 --- /dev/null +++ b/gllib/unictype/pr_grapheme_link.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_grapheme_link table. */ +#include "pr_grapheme_link.h" + +bool +uc_is_property_grapheme_link (ucs4_t uc) +{ + return bitmap_lookup (&u_property_grapheme_link, uc); +} + +const uc_property_t UC_PROPERTY_GRAPHEME_LINK = + { &uc_is_property_grapheme_link }; diff --git a/gllib/unictype/pr_grapheme_link.h b/gllib/unictype/pr_grapheme_link.h new file mode 100644 index 0000000..1692a7a --- /dev/null +++ b/gllib/unictype/pr_grapheme_link.h @@ -0,0 +1,343 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[15 << 4]; + } +u_property_grapheme_link = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00000400, 0x00000000, + 0x00000000, 0x04000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x06000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00100000, 0x00100000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00040000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000010, 0x00000000, + 0x00000000, 0x00000C00, 0x00000000, 0x000C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000040, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00080000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00400000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00002000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x80000000, + 0x00000000, 0x02000000, 0x00000000, 0x00000000, + 0x00000000, 0x00180000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x00000000, 0x00200000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000400, + 0x00000000, 0x00000000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000004, 0x00000000, + 0x00000000, 0x00000000, 0x00000004, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00400000, 0x00000000, 0x00000000, + 0x00000000, 0x00000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_hex_digit.c b/gllib/unictype/pr_hex_digit.c new file mode 100644 index 0000000..ec70bec --- /dev/null +++ b/gllib/unictype/pr_hex_digit.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_hex_digit table. */ +#include "pr_hex_digit.h" + +bool +uc_is_property_hex_digit (ucs4_t uc) +{ + return bitmap_lookup (&u_property_hex_digit, uc); +} + +const uc_property_t UC_PROPERTY_HEX_DIGIT = + { &uc_is_property_hex_digit }; diff --git a/gllib/unictype/pr_hex_digit.h b/gllib/unictype/pr_hex_digit.h new file mode 100644 index 0000000..f83ac6a --- /dev/null +++ b/gllib/unictype/pr_hex_digit.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_hex_digit = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16 + }, + { + 0x00000000, 0x03FF0000, 0x0000007E, 0x0000007E, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x0000007E, 0x0000007E, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_hyphen.c b/gllib/unictype/pr_hyphen.c new file mode 100644 index 0000000..d9b27e0 --- /dev/null +++ b/gllib/unictype/pr_hyphen.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_hyphen table. */ +#include "pr_hyphen.h" + +bool +uc_is_property_hyphen (ucs4_t uc) +{ + return bitmap_lookup (&u_property_hyphen, uc); +} + +const uc_property_t UC_PROPERTY_HYPHEN = + { &uc_is_property_hyphen }; diff --git a/gllib/unictype/pr_hyphen.h b/gllib/unictype/pr_hyphen.h new file mode 100644 index 0000000..35bba66 --- /dev/null +++ b/gllib/unictype/pr_hyphen.h @@ -0,0 +1,180 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[7 << 4]; + } +u_property_hyphen = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96 + }, + { + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000400, 0x00000000, 0x00000000, 0x00000000, + 0x00000040, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00030000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00800000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000008, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00002000, 0x00000000, 0x00000000, 0x00000020, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_id_continue.c b/gllib/unictype/pr_id_continue.c new file mode 100644 index 0000000..e6ca1bd --- /dev/null +++ b/gllib/unictype/pr_id_continue.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_id_continue table. */ +#include "pr_id_continue.h" + +bool +uc_is_property_id_continue (ucs4_t uc) +{ + return bitmap_lookup (&u_property_id_continue, uc); +} + +const uc_property_t UC_PROPERTY_ID_CONTINUE = + { &uc_is_property_id_continue }; diff --git a/gllib/unictype/pr_id_continue.h b/gllib/unictype/pr_id_continue.h new file mode 100644 index 0000000..6696c3b --- /dev/null +++ b/gllib/unictype/pr_id_continue.h @@ -0,0 +1,828 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[4 << 7]; + /*unsigned*/ int level3[69 << 4]; + } +u_property_id_continue = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + 16 * sizeof (int) / sizeof (short) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 384 + }, + { + 16 + 512 * sizeof (short) / sizeof (int) + 0, + 16 + 512 * sizeof (short) / sizeof (int) + 16, + 16 + 512 * sizeof (short) / sizeof (int) + 32, + 16 + 512 * sizeof (short) / sizeof (int) + 48, + 16 + 512 * sizeof (short) / sizeof (int) + 64, + 16 + 512 * sizeof (short) / sizeof (int) + 80, + 16 + 512 * sizeof (short) / sizeof (int) + 96, + 16 + 512 * sizeof (short) / sizeof (int) + 112, + 16 + 512 * sizeof (short) / sizeof (int) + 128, + 16 + 512 * sizeof (short) / sizeof (int) + 144, + 16 + 512 * sizeof (short) / sizeof (int) + 160, + 16 + 512 * sizeof (short) / sizeof (int) + 176, + 16 + 512 * sizeof (short) / sizeof (int) + 192, + 16 + 512 * sizeof (short) / sizeof (int) + 208, + 16 + 512 * sizeof (short) / sizeof (int) + 224, + 16 + 512 * sizeof (short) / sizeof (int) + 240, + 16 + 512 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 272, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 288, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 320, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 336, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 352, + 16 + 512 * sizeof (short) / sizeof (int) + 368, + 16 + 512 * sizeof (short) / sizeof (int) + 384, + 16 + 512 * sizeof (short) / sizeof (int) + 400, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 432, + 16 + 512 * sizeof (short) / sizeof (int) + 448, + 16 + 512 * sizeof (short) / sizeof (int) + 464, + 16 + 512 * sizeof (short) / sizeof (int) + 480, + 16 + 512 * sizeof (short) / sizeof (int) + 496, + 16 + 512 * sizeof (short) / sizeof (int) + 512, + 16 + 512 * sizeof (short) / sizeof (int) + 528, + 16 + 512 * sizeof (short) / sizeof (int) + 544, + 16 + 512 * sizeof (short) / sizeof (int) + 560, + 16 + 512 * sizeof (short) / sizeof (int) + 576, + 16 + 512 * sizeof (short) / sizeof (int) + 592, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 608, + 16 + 512 * sizeof (short) / sizeof (int) + 624, + 16 + 512 * sizeof (short) / sizeof (int) + 640, + 16 + 512 * sizeof (short) / sizeof (int) + 656, + 16 + 512 * sizeof (short) / sizeof (int) + 672, + 16 + 512 * sizeof (short) / sizeof (int) + 688, + 16 + 512 * sizeof (short) / sizeof (int) + 704, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 720, + 16 + 512 * sizeof (short) / sizeof (int) + 736, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 784, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 800, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 816, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 880, + 16 + 512 * sizeof (short) / sizeof (int) + 896, + 16 + 512 * sizeof (short) / sizeof (int) + 912, + 16 + 512 * sizeof (short) / sizeof (int) + 928, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 944, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 960, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 976, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 992, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1008, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1024, + 16 + 512 * sizeof (short) / sizeof (int) + 1040, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1056, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1072, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 1088, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04A00400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xBCDFFFFF, + 0xFFFFD7C0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFCFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF, + 0x07FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC3FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF, + 0xFFFFFFFF, 0x00003FFF, 0x0FFFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFB, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFFCF, + 0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF, + 0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0, + 0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0200FFCF, + 0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0002FFCF, + 0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x0000FFC0, + 0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0x0000FFCF, + 0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF, + 0xFFFDDFEE, 0xE7FFFFFF, 0x80F07DDF, 0xFC00FFCF, + 0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000CFFC0, + 0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000, + 0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000, + 0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE1FFF, + 0xFEFFFFDF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0xE7FFFFFF, 0x0003FE00, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF, + 0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x308FFFFF, 0x000003FF, + 0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x07FF03FF, 0x00000000, + 0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF, + 0x03FF03FF, 0x3FFF0080, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0xFFF70000, 0x037FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x80000000, 0x00100001, 0x80020000, + 0x1FFF0000, 0x00000000, 0x1FFF0000, 0x0001FFE2, + 0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FF81F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x800080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF, + 0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF, + 0xFE7FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xBFF0FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF003F, 0x28FFFFFF, + 0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x7FFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0xFC7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x38000007, 0x007CFFFF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF37FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000, + 0x0000FFFF, 0x0018FFFF, 0x0000E000, 0xFFDF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000001, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000007F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x8000FFC0, + 0xFFFFFFFF, 0x07FFFFFF, 0xFFFF0000, 0x03FF01FF, + 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF0000, 0x004FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x17FF1C1F, 0x00000000, + 0xFFFBFFFF, 0x40FFFFFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x03FF07FF, + 0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFF3FFFFF, 0x3F000001, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0011, 0x00000000, + 0xFFFFFFFF, 0x00FFFFFF, 0x000003FF, 0x00000000, + 0xE3FFFFFF, 0x03FF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x800003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0xFF7FFFFF, 0x03FF0001, 0xFFFC0000, + 0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0x007FFFFF, 0x03FF000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF, + 0xFFFF8000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x63FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807E3E0, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007F001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_id_start.c b/gllib/unictype/pr_id_start.c new file mode 100644 index 0000000..010cd23 --- /dev/null +++ b/gllib/unictype/pr_id_start.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_id_start table. */ +#include "pr_id_start.h" + +bool +uc_is_property_id_start (ucs4_t uc) +{ + return bitmap_lookup (&u_property_id_start, uc); +} + +const uc_property_t UC_PROPERTY_ID_START = + { &uc_is_property_id_start }; diff --git a/gllib/unictype/pr_id_start.h b/gllib/unictype/pr_id_start.h new file mode 100644 index 0000000..aff0d0b --- /dev/null +++ b/gllib/unictype/pr_id_start.h @@ -0,0 +1,668 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[64 << 4]; + } +u_property_id_start = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 992, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 1008, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0x00000000, 0x00000000, 0x00000000, 0xBCDF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF, + 0x00000000, 0xFFFFFFFF, 0x000007FF, 0xFFFEC000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060, + 0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF, + 0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003, + 0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003, + 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000, + 0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x02000003, + 0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003, + 0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000, + 0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003, + 0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003, + 0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003, + 0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000, + 0xFFFFFFFE, 0x000DFFFF, 0x0000007F, 0x00000000, + 0xFEF02596, 0x200DECAE, 0xF000005F, 0x00000000, + 0x00000001, 0x00000000, 0xFFFFFEFF, 0x00001FFF, + 0x00001F00, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062, + 0x00004003, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF, + 0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF, + 0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000, + 0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000, + 0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F, + 0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x0063DE00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000, + 0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF, + 0xF87FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000, + 0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF, + 0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x7C00FFDF, + 0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0xC47FFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x001C07FF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x0FFF0000, + 0x00000000, 0x00000000, 0x00000000, 0xFFDF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x003FFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x00FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x0000FFFF, 0xFFFF0000, 0x000001FF, + 0xFFFFFFF8, 0x0000007F, 0xFFFF0000, 0x0047FFFF, + 0xFFFFFFF8, 0x0007FFFF, 0x1400001E, 0x00000000, + 0xFFFBFFFF, 0x00000FFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000, + 0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x00000010, 0x00000000, + 0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF, + 0xFFFFFFFF, 0x0000FFFF, 0x0000000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x03FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_ideographic.c b/gllib/unictype/pr_ideographic.c new file mode 100644 index 0000000..e1aa53c --- /dev/null +++ b/gllib/unictype/pr_ideographic.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_ideographic table. */ +#include "pr_ideographic.h" + +bool +uc_is_property_ideographic (ucs4_t uc) +{ + return bitmap_lookup (&u_property_ideographic, uc); +} + +const uc_property_t UC_PROPERTY_IDEOGRAPHIC = + { &uc_is_property_ideographic }; diff --git a/gllib/unictype/pr_ideographic.h b/gllib/unictype/pr_ideographic.h new file mode 100644 index 0000000..c9f07e2 --- /dev/null +++ b/gllib/unictype/pr_ideographic.h @@ -0,0 +1,464 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[13 << 4]; + } +u_property_ideographic = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + -1 + }, + { + 0x000000C0, 0x070003FE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_ids_binary_operator.c b/gllib/unictype/pr_ids_binary_operator.c new file mode 100644 index 0000000..3d8594e --- /dev/null +++ b/gllib/unictype/pr_ids_binary_operator.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_ids_binary_operator table. */ +#include "pr_ids_binary_operator.h" + +bool +uc_is_property_ids_binary_operator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_ids_binary_operator, uc); +} + +const uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR = + { &uc_is_property_ids_binary_operator }; diff --git a/gllib/unictype/pr_ids_binary_operator.h b/gllib/unictype/pr_ids_binary_operator.h new file mode 100644 index 0000000..12df49d --- /dev/null +++ b/gllib/unictype/pr_ids_binary_operator.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_ids_binary_operator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FF30000 + } +}; diff --git a/gllib/unictype/pr_ids_trinary_operator.c b/gllib/unictype/pr_ids_trinary_operator.c new file mode 100644 index 0000000..66761f2 --- /dev/null +++ b/gllib/unictype/pr_ids_trinary_operator.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_ids_trinary_operator table. */ +#include "pr_ids_trinary_operator.h" + +bool +uc_is_property_ids_trinary_operator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_ids_trinary_operator, uc); +} + +const uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR = + { &uc_is_property_ids_trinary_operator }; diff --git a/gllib/unictype/pr_ids_trinary_operator.h b/gllib/unictype/pr_ids_trinary_operator.h new file mode 100644 index 0000000..a76ddbf --- /dev/null +++ b/gllib/unictype/pr_ids_trinary_operator.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_ids_trinary_operator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000C0000 + } +}; diff --git a/gllib/unictype/pr_ignorable_control.c b/gllib/unictype/pr_ignorable_control.c new file mode 100644 index 0000000..04f6926 --- /dev/null +++ b/gllib/unictype/pr_ignorable_control.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_ignorable_control table. */ +#include "pr_ignorable_control.h" + +bool +uc_is_property_ignorable_control (ucs4_t uc) +{ + return bitmap_lookup (&u_property_ignorable_control, uc); +} + +const uc_property_t UC_PROPERTY_IGNORABLE_CONTROL = + { &uc_is_property_ignorable_control }; diff --git a/gllib/unictype/pr_ignorable_control.h b/gllib/unictype/pr_ignorable_control.h new file mode 100644 index 0000000..1934b12 --- /dev/null +++ b/gllib/unictype/pr_ignorable_control.h @@ -0,0 +1,464 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_property_ignorable_control = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x0FFFC1FE, 0x00000000, 0x00000000, 0x80000000, + 0xFFFFFFDF, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1000003F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F800, 0x00007C00, 0x00000000, 0x0000FFDF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0E000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x20000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_iso_control.c b/gllib/unictype/pr_iso_control.c new file mode 100644 index 0000000..3ba7c4d --- /dev/null +++ b/gllib/unictype/pr_iso_control.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_iso_control table. */ +#include "pr_iso_control.h" + +bool +uc_is_property_iso_control (ucs4_t uc) +{ + return bitmap_lookup (&u_property_iso_control, uc); +} + +#else + +bool +uc_is_property_iso_control (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_Cc); +} + +#endif + +const uc_property_t UC_PROPERTY_ISO_CONTROL = + { &uc_is_property_iso_control }; diff --git a/gllib/unictype/pr_iso_control.h b/gllib/unictype/pr_iso_control.h new file mode 100644 index 0000000..e105d64 --- /dev/null +++ b/gllib/unictype/pr_iso_control.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_iso_control = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x80000000, + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_join_control.c b/gllib/unictype/pr_join_control.c new file mode 100644 index 0000000..2a8d3bc --- /dev/null +++ b/gllib/unictype/pr_join_control.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_join_control table. */ +#include "pr_join_control.h" + +bool +uc_is_property_join_control (ucs4_t uc) +{ + return bitmap_lookup (&u_property_join_control, uc); +} + +#else + +bool +uc_is_property_join_control (ucs4_t uc) +{ + return (uc >= 0x200C && uc <= 0x200D); +} + +#endif + +const uc_property_t UC_PROPERTY_JOIN_CONTROL = + { &uc_is_property_join_control }; diff --git a/gllib/unictype/pr_join_control.h b/gllib/unictype/pr_join_control.h new file mode 100644 index 0000000..ee4b2e1 --- /dev/null +++ b/gllib/unictype/pr_join_control.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_join_control = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00003000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_left_of_pair.c b/gllib/unictype/pr_left_of_pair.c new file mode 100644 index 0000000..eb56128 --- /dev/null +++ b/gllib/unictype/pr_left_of_pair.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_left_of_pair table. */ +#include "pr_left_of_pair.h" + +bool +uc_is_property_left_of_pair (ucs4_t uc) +{ + return bitmap_lookup (&u_property_left_of_pair, uc); +} + +const uc_property_t UC_PROPERTY_LEFT_OF_PAIR = + { &uc_is_property_left_of_pair }; diff --git a/gllib/unictype/pr_left_of_pair.h b/gllib/unictype/pr_left_of_pair.h new file mode 100644 index 0000000..1503582 --- /dev/null +++ b/gllib/unictype/pr_left_of_pair.h @@ -0,0 +1,184 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_left_of_pair = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + 2 + 128 * sizeof (short) / sizeof (int) + 112 + }, + { + 0x00000000, 0x00000100, 0x08000000, 0x08000000, + 0x00000000, 0x00000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x14000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x08000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xDD000000, 0x02000000, 0x00000020, 0x20000000, + 0x00002000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x25515500, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xAAA00000, 0x2A00000A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000100, 0x08000000, 0x08000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_line_separator.c b/gllib/unictype/pr_line_separator.c new file mode 100644 index 0000000..5b857c4 --- /dev/null +++ b/gllib/unictype/pr_line_separator.c @@ -0,0 +1,55 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_line_separator table. */ +#include "pr_line_separator.h" + +bool +uc_is_property_line_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_line_separator, uc); +} + +#elif 0 + +bool +uc_is_property_line_separator (ucs4_t uc) +{ + return uc_is_category_Zl (uc); +} + +#else + +bool +uc_is_property_line_separator (ucs4_t uc) +{ + return (uc == 0x2028); +} + +#endif + +const uc_property_t UC_PROPERTY_LINE_SEPARATOR = + { &uc_is_property_line_separator }; diff --git a/gllib/unictype/pr_line_separator.h b/gllib/unictype/pr_line_separator.h new file mode 100644 index 0000000..3d94141 --- /dev/null +++ b/gllib/unictype/pr_line_separator.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_line_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000100, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_logical_order_exception.c b/gllib/unictype/pr_logical_order_exception.c new file mode 100644 index 0000000..692a8e5 --- /dev/null +++ b/gllib/unictype/pr_logical_order_exception.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_logical_order_exception table. */ +#include "pr_logical_order_exception.h" + +bool +uc_is_property_logical_order_exception (ucs4_t uc) +{ + return bitmap_lookup (&u_property_logical_order_exception, uc); +} + +const uc_property_t UC_PROPERTY_LOGICAL_ORDER_EXCEPTION = + { &uc_is_property_logical_order_exception }; diff --git a/gllib/unictype/pr_logical_order_exception.h b/gllib/unictype/pr_logical_order_exception.h new file mode 100644 index 0000000..dab0369 --- /dev/null +++ b/gllib/unictype/pr_logical_order_exception.h @@ -0,0 +1,164 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_logical_order_exception = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x0000001F, 0x00000000, + 0x00000000, 0x00000000, 0x0000001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04E00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x1A600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_lowercase.c b/gllib/unictype/pr_lowercase.c new file mode 100644 index 0000000..3f58741 --- /dev/null +++ b/gllib/unictype/pr_lowercase.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_lowercase table. */ +#include "pr_lowercase.h" + +bool +uc_is_property_lowercase (ucs4_t uc) +{ + return bitmap_lookup (&u_property_lowercase, uc); +} + +const uc_property_t UC_PROPERTY_LOWERCASE = + { &uc_is_property_lowercase }; diff --git a/gllib/unictype/pr_lowercase.h b/gllib/unictype/pr_lowercase.h new file mode 100644 index 0000000..b11c836 --- /dev/null +++ b/gllib/unictype/pr_lowercase.h @@ -0,0 +1,359 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[19 << 4]; + } +u_property_lowercase = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x07FFFFFE, + 0x00000000, 0x04200400, 0x80000000, 0xFF7FFFFF, + 0xAAAAAAAA, 0x55AAAAAA, 0xAAAAAB55, 0xD4AAAAAA, + 0x4E243129, 0xE6512D2A, 0xB5555240, 0xAA29AAAA, + 0xAAAAAAAA, 0x93FAAAAA, 0xFFFFAA85, 0xFFFFFFFF, + 0xFFEFFFFF, 0x01FFFFFF, 0x00000003, 0x0000001F, + 0x00000000, 0x00000000, 0x00000020, 0x3C8A0000, + 0x00010000, 0xFFFFF000, 0xAAE37FFF, 0x192FAAAA, + 0x00000000, 0xFFFF0000, 0xFFFFFFFF, 0xAAAAAAAA, + 0xAAAAA802, 0xAAAAAAAA, 0xAAAAD554, 0xAAAAAAAA, + 0xAAAAAAAA, 0x0000AAAA, 0x00000000, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x3F000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0xBFEAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, + 0x003F00FF, 0x00FF00FF, 0x00FF003F, 0x3FFF00FF, + 0x00FF00FF, 0x40DF00FF, 0x00CF00DC, 0x00DC00FF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x0008C400, 0x32108000, 0x000043C0, 0xFFFF0000, + 0x00000010, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x7FFFFFFF, 0x3FDA1562, + 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0x0008501A, + 0xFFFFFFFF, 0x000020BF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xAAAAAAAA, 0x00002AAA, + 0x3AAAAAAA, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xAAABAAA8, 0xAAAAAAAA, 0x95FFAAAA, + 0xAABA50AA, 0x00A002AA, 0x00000000, 0x07000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00F8007F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFF00, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFC000000, 0x000FFFFF, 0xFFDFC000, 0x000000FF, + 0x0FFFFFFC, 0xEBC00000, 0x0000FFEF, 0xFFFFFC00, + 0xC000000F, 0x00FFFFFF, 0xFFFC0000, 0x00000FFF, + 0xFFFFFFC0, 0xFC000000, 0x000FFFFF, 0xFFFFC000, + 0x000000FF, 0x0FFFFFFC, 0xFFC00000, 0x0000FFFF, + 0xFFFFFC00, 0x0000003F, 0xF7FFFFFC, 0xF0000003, + 0x0FDFFFFF, 0xFFC00000, 0x003F7FFF, 0xFFFF0000, + 0x0000FDFF, 0xFFFFFC00, 0x00000BF7, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_math.c b/gllib/unictype/pr_math.c new file mode 100644 index 0000000..c907ee5 --- /dev/null +++ b/gllib/unictype/pr_math.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_math table. */ +#include "pr_math.h" + +bool +uc_is_property_math (ucs4_t uc) +{ + return bitmap_lookup (&u_property_math, uc); +} + +const uc_property_t UC_PROPERTY_MATH = + { &uc_is_property_math }; diff --git a/gllib/unictype/pr_math.h b/gllib/unictype/pr_math.h new file mode 100644 index 0000000..ee50c25 --- /dev/null +++ b/gllib/unictype/pr_math.h @@ -0,0 +1,339 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[14 << 4]; + } +u_property_math = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x70000800, 0x40000000, 0x50000000, + 0x00000000, 0x00021000, 0x00800000, 0x00800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00270000, 0x00730000, + 0x000001C0, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00400000, 0x001C0000, 0x00040011, 0x7C00001E, + 0x00007C00, 0x00000000, 0x1FFF0000, 0x0000F862, + 0x3F2FFC84, 0xF1FBB310, 0x00000BFF, 0x00000000, + 0xFFFF0000, 0xF0C37EFF, 0x2FFFFFFF, 0xFFF00030, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000F00, 0x00000003, 0x00000000, 0x10000000, + 0xF8000000, 0x00BFFFFF, 0xF0010000, 0x00000007, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xF0FFC003, 0x000F8CC3, 0xFF001F94, + 0x00000060, 0x00000000, 0x00000005, 0x0000E00F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFFFF0000, 0x00001F9F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000017E, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x70000800, 0x50000000, 0x50000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00001E04, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCFFF, 0xFFFFFFFF, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_non_break.c b/gllib/unictype/pr_non_break.c new file mode 100644 index 0000000..bd83c05 --- /dev/null +++ b/gllib/unictype/pr_non_break.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_non_break table. */ +#include "pr_non_break.h" + +bool +uc_is_property_non_break (ucs4_t uc) +{ + return bitmap_lookup (&u_property_non_break, uc); +} + +const uc_property_t UC_PROPERTY_NON_BREAK = + { &uc_is_property_non_break }; diff --git a/gllib/unictype/pr_non_break.h b/gllib/unictype/pr_non_break.h new file mode 100644 index 0000000..ed862de --- /dev/null +++ b/gllib/unictype/pr_non_break.h @@ -0,0 +1,172 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[5 << 4]; + } +u_property_non_break = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xF0008000, 0x00000007, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00041100, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00020080, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_not_a_character.c b/gllib/unictype/pr_not_a_character.c new file mode 100644 index 0000000..98d9ae5 --- /dev/null +++ b/gllib/unictype/pr_not_a_character.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_not_a_character table. */ +#include "pr_not_a_character.h" + +bool +uc_is_property_not_a_character (ucs4_t uc) +{ + return bitmap_lookup (&u_property_not_a_character, uc); +} + +const uc_property_t UC_PROPERTY_NOT_A_CHARACTER = + { &uc_is_property_not_a_character }; diff --git a/gllib/unictype/pr_not_a_character.h b/gllib/unictype/pr_not_a_character.h new file mode 100644 index 0000000..5bcc485 --- /dev/null +++ b/gllib/unictype/pr_not_a_character.h @@ -0,0 +1,306 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[2 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_not_a_character = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 16 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000 + } +}; diff --git a/gllib/unictype/pr_numeric.c b/gllib/unictype/pr_numeric.c new file mode 100644 index 0000000..ac09822 --- /dev/null +++ b/gllib/unictype/pr_numeric.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_numeric table. */ +#include "pr_numeric.h" + +bool +uc_is_property_numeric (ucs4_t uc) +{ + return bitmap_lookup (&u_property_numeric, uc); +} + +const uc_property_t UC_PROPERTY_NUMERIC = + { &uc_is_property_numeric }; diff --git a/gllib/unictype/pr_numeric.h b/gllib/unictype/pr_numeric.h new file mode 100644 index 0000000..84acabb --- /dev/null +++ b/gllib/unictype/pr_numeric.h @@ -0,0 +1,584 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[43 << 4]; + } +u_property_numeric = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x720C0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x03F0FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00FCFFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0007FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x7F00FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x7F000000, 0x01FFFFC0, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x000FFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x1FFFFE00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0001C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF03FF, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFC0, 0x00000000, + 0x00000000, 0x00000000, 0x07FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF03FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x03FF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF03FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03F10000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0xFFFFFFFF, + 0x000003EF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x0FFFFFFF, 0x00000000, 0x00000000, 0xFFFFFC00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x000FFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x070003FE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x003C0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0xFFFEFF00, 0x00000000, + 0x000003FF, 0xFFFE0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x003F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x03FF0000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x01080800, + 0x00000000, 0x00040000, 0x000A0000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFF80, 0x000FFFFF, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000C00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FFFFFFE, + 0x00000000, 0x0000000F, 0x00000402, 0x00000000, + 0x00000000, 0x00000000, 0x003E0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000003FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF000000, 0xFE000000, + 0x00000000, 0x0000FF80, 0x00000000, 0xF8000000, + 0x0FC00000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30000000, 0xFFFCFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x000000FF, 0x60000000, + 0xE0000000, 0x00000000, 0x00000000, 0x0000F800, + 0x00000000, 0x00000000, 0xFF000000, 0xFF000000, + 0x00000000, 0x0000FE00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFC000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFC0000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x001FFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x000003FF, 0x00000000, + 0x00000000, 0x0FFF0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFBFF0000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0003FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFC000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x03FF0000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00001FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00010000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_alphabetic.c b/gllib/unictype/pr_other_alphabetic.c new file mode 100644 index 0000000..d26996f --- /dev/null +++ b/gllib/unictype/pr_other_alphabetic.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_alphabetic table. */ +#include "pr_other_alphabetic.h" + +bool +uc_is_property_other_alphabetic (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_alphabetic, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_ALPHABETIC = + { &uc_is_property_other_alphabetic }; diff --git a/gllib/unictype/pr_other_alphabetic.h b/gllib/unictype/pr_other_alphabetic.h new file mode 100644 index 0000000..50dc81d --- /dev/null +++ b/gllib/unictype/pr_other_alphabetic.h @@ -0,0 +1,411 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[32 << 4]; + } +u_property_other_alphabetic = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000020, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xBFFF0000, 0x000000B6, 0x00000000, + 0x07FF0000, 0x00000000, 0xFEFFF800, 0x00010000, + 0x00000000, 0x00000000, 0x1FC00000, 0x0000219E, + 0x00020000, 0xFFFF0000, 0x00000000, 0x00000000, + 0x00000000, 0x0001FFC0, 0x00000000, 0x00000000, + 0xF8C00000, 0x00001EEF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF00000, 0xFFFF03F8, + 0x0000000F, 0xCC000000, 0x00E0DFFF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x0080199F, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00021987, 0x00230000, + 0x0000000E, 0xC0000000, 0x00001BBF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00C0199F, 0x0000000C, + 0x00000004, 0xC0000000, 0x00801DC7, 0x00000000, + 0x0000000F, 0xC0000000, 0x00601DDF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00601DDF, 0x0000000C, + 0x0000000E, 0xC0000000, 0x00801DDF, 0x0000000C, + 0x0000000C, 0x00000000, 0xFF5F8000, 0x000C0000, + 0x00000000, 0x07F20000, 0x00002000, 0x00000000, + 0x00000000, 0x1BF20000, 0x00002000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFE0000, + 0xFEFFE003, 0x1FFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x797FF800, 0xC3C00000, 0x001E0185, + 0x3000007C, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000C0000, 0x000C0000, 0x000C0000, 0x000C0000, + 0x00000000, 0xFFC00000, 0x000001FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x01FF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0F800000, 0x00000000, 0x7FE00000, 0x001FFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000001F, 0xFFE00000, 0x0000000F, 0x00000000, + 0x00000007, 0x000033FE, 0x00000000, 0x0003FF80, + 0x00000000, 0x003FFFF0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000C0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001FFF80, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0xFFFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x0FF00000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000000F8, 0x00000000, 0x00000000, + 0x00000003, 0xFFF00000, 0x0000002F, 0x00000000, + 0x00000000, 0x000007C0, 0x0007FF80, 0x00000000, + 0x0000000F, 0xFFF00000, 0x00000000, 0x00000000, + 0x00000000, 0x007FFE00, 0x00003008, 0x00000000, + 0x00000000, 0x419D0000, 0x00000000, 0x0020F800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000007F8, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F06E, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0xFF000000, 0x0000003F, 0x00000000, + 0x00000004, 0x01FF0000, 0x00000000, 0x00000000, + 0x00000007, 0x0007FF80, 0x00000000, 0x00000000, + 0x00000007, 0xFFF80000, 0x00000000, 0x00000000, + 0x00000000, 0x409FF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x000001FF, + 0x0000000F, 0xC0000000, 0x0080199F, 0x0000000C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x0000003B, 0x00000000, + 0x00000000, 0xFFFF0000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x7F3F8000, 0x30000000, 0x00000000, + 0x00000000, 0x7FFF0000, 0x00000001, 0x00000000, + 0x00000000, 0x003FF800, 0x00000000, 0x00000000, + 0xE0000000, 0x000007FF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x7F7F8000, 0x00000000, 0x00000000, + 0xFFFC0000, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x007F0000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFE0000, 0x7FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x40000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000080, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_default_ignorable_code_point.c b/gllib/unictype/pr_other_default_ignorable_code_point.c new file mode 100644 index 0000000..ea24010 --- /dev/null +++ b/gllib/unictype/pr_other_default_ignorable_code_point.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_default_ignorable_code_point table. */ +#include "pr_other_default_ignorable_code_point.h" + +bool +uc_is_property_other_default_ignorable_code_point (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_default_ignorable_code_point, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT = + { &uc_is_property_other_default_ignorable_code_point }; diff --git a/gllib/unictype/pr_other_default_ignorable_code_point.h b/gllib/unictype/pr_other_default_ignorable_code_point.h new file mode 100644 index 0000000..b660e2f --- /dev/null +++ b/gllib/unictype/pr_other_default_ignorable_code_point.h @@ -0,0 +1,328 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[2 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_other_default_ignorable_code_point = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 80, + 16 + 256 * sizeof (short) / sizeof (int) + 96, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + 16 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00008000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00300000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000020, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000010, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x01FF0000, + 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF + } +}; diff --git a/gllib/unictype/pr_other_grapheme_extend.c b/gllib/unictype/pr_other_grapheme_extend.c new file mode 100644 index 0000000..2f9b1a6 --- /dev/null +++ b/gllib/unictype/pr_other_grapheme_extend.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_grapheme_extend table. */ +#include "pr_other_grapheme_extend.h" + +bool +uc_is_property_other_grapheme_extend (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_grapheme_extend, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND = + { &uc_is_property_other_grapheme_extend }; diff --git a/gllib/unictype/pr_other_grapheme_extend.h b/gllib/unictype/pr_other_grapheme_extend.h new file mode 100644 index 0000000..ddd4a67 --- /dev/null +++ b/gllib/unictype/pr_other_grapheme_extend.h @@ -0,0 +1,464 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_property_other_grapheme_extend = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 0, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00800000, 0x00000000, + 0x00000000, 0x40000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00600004, 0x00000000, + 0x00000000, 0x40000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x80008000, 0x00000000, + 0x00001000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000C000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x40000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x20010000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0007C020, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_id_continue.c b/gllib/unictype/pr_other_id_continue.c new file mode 100644 index 0000000..b96c8f1 --- /dev/null +++ b/gllib/unictype/pr_other_id_continue.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_id_continue table. */ +#include "pr_other_id_continue.h" + +bool +uc_is_property_other_id_continue (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_id_continue, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE = + { &uc_is_property_other_id_continue }; diff --git a/gllib/unictype/pr_other_id_continue.h b/gllib/unictype/pr_other_id_continue.h new file mode 100644 index 0000000..11f3d37 --- /dev/null +++ b/gllib/unictype/pr_other_id_continue.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_property_other_id_continue = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00800000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0003FE00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x04000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_id_start.c b/gllib/unictype/pr_other_id_start.c new file mode 100644 index 0000000..adfc6b2 --- /dev/null +++ b/gllib/unictype/pr_other_id_start.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_id_start table. */ +#include "pr_other_id_start.h" + +bool +uc_is_property_other_id_start (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_id_start, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_ID_START = + { &uc_is_property_other_id_start }; diff --git a/gllib/unictype/pr_other_id_start.h b/gllib/unictype/pr_other_id_start.h new file mode 100644 index 0000000..d7fe624 --- /dev/null +++ b/gllib/unictype/pr_other_id_start.h @@ -0,0 +1,164 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_other_id_start = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000060, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01000000, 0x00004000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_lowercase.c b/gllib/unictype/pr_other_lowercase.c new file mode 100644 index 0000000..66bed9e --- /dev/null +++ b/gllib/unictype/pr_other_lowercase.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_lowercase table. */ +#include "pr_other_lowercase.h" + +bool +uc_is_property_other_lowercase (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_lowercase, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_LOWERCASE = + { &uc_is_property_other_lowercase }; diff --git a/gllib/unictype/pr_other_lowercase.h b/gllib/unictype/pr_other_lowercase.h new file mode 100644 index 0000000..96545a2 --- /dev/null +++ b/gllib/unictype/pr_other_lowercase.h @@ -0,0 +1,184 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_other_lowercase = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x04000400, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x01FF0000, 0x00000003, 0x0000001F, + 0x00000000, 0x00000000, 0x00000020, 0x04000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFF000, 0xFFFFFFFF, 0x010007FF, + 0xF8000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x000003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x30000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x03000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xF0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_math.c b/gllib/unictype/pr_other_math.c new file mode 100644 index 0000000..5358887 --- /dev/null +++ b/gllib/unictype/pr_other_math.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_math table. */ +#include "pr_other_math.h" + +bool +uc_is_property_other_math (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_math, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_MATH = + { &uc_is_property_other_math }; diff --git a/gllib/unictype/pr_other_math.h b/gllib/unictype/pr_other_math.h new file mode 100644 index 0000000..e40d7bf --- /dev/null +++ b/gllib/unictype/pr_other_math.h @@ -0,0 +1,327 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[11 << 4]; + } +u_property_other_math = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x40000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00270000, 0x00330000, + 0x00400000, 0x001C0000, 0x00000001, 0x6000001E, + 0x00006000, 0x00000000, 0x1FFF0000, 0x0000F862, + 0x3E2FFC84, 0xF1FBB310, 0x000003E0, 0x00000000, + 0xF3E00000, 0xF0C33EB6, 0x2FEB3FFF, 0x00000030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00B00000, 0x00010000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xF07FC003, 0x000F8CC1, 0x00001F94, + 0x00000060, 0x00000000, 0x00000005, 0x0000600F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000060, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000010A, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x50000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_other_uppercase.c b/gllib/unictype/pr_other_uppercase.c new file mode 100644 index 0000000..a39f281 --- /dev/null +++ b/gllib/unictype/pr_other_uppercase.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_other_uppercase table. */ +#include "pr_other_uppercase.h" + +bool +uc_is_property_other_uppercase (ucs4_t uc) +{ + return bitmap_lookup (&u_property_other_uppercase, uc); +} + +const uc_property_t UC_PROPERTY_OTHER_UPPERCASE = + { &uc_is_property_other_uppercase }; diff --git a/gllib/unictype/pr_other_uppercase.h b/gllib/unictype/pr_other_uppercase.h new file mode 100644 index 0000000..938ffbc --- /dev/null +++ b/gllib/unictype/pr_other_uppercase.h @@ -0,0 +1,295 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_other_uppercase = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_paired_punctuation.c b/gllib/unictype/pr_paired_punctuation.c new file mode 100644 index 0000000..9dc3dfe --- /dev/null +++ b/gllib/unictype/pr_paired_punctuation.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_paired_punctuation table. */ +#include "pr_paired_punctuation.h" + +bool +uc_is_property_paired_punctuation (ucs4_t uc) +{ + return bitmap_lookup (&u_property_paired_punctuation, uc); +} + +const uc_property_t UC_PROPERTY_PAIRED_PUNCTUATION = + { &uc_is_property_paired_punctuation }; diff --git a/gllib/unictype/pr_paired_punctuation.h b/gllib/unictype/pr_paired_punctuation.h new file mode 100644 index 0000000..5d6ecdb --- /dev/null +++ b/gllib/unictype/pr_paired_punctuation.h @@ -0,0 +1,184 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_paired_punctuation = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + 2 + 128 * sizeof (short) / sizeof (int) + 112 + }, + { + 0x00000000, 0x00000300, 0x28000000, 0x28000000, + 0x00000000, 0x08000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x3C000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFF000000, 0x06000000, 0x00000060, 0x60000000, + 0x00006000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000600, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xEFF3FF00, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x7E00001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000300, 0x28000000, 0x28000000, 0x0000000C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_paragraph_separator.c b/gllib/unictype/pr_paragraph_separator.c new file mode 100644 index 0000000..29bfdda --- /dev/null +++ b/gllib/unictype/pr_paragraph_separator.c @@ -0,0 +1,55 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_paragraph_separator table. */ +#include "pr_paragraph_separator.h" + +bool +uc_is_property_paragraph_separator (ucs4_t uc) +{ + return bitmap_lookup (&u_property_paragraph_separator, uc); +} + +#elif 0 + +bool +uc_is_property_paragraph_separator (ucs4_t uc) +{ + return uc_is_category_Zp (uc); +} + +#else + +bool +uc_is_property_paragraph_separator (ucs4_t uc) +{ + return (uc == 0x2029); +} + +#endif + +const uc_property_t UC_PROPERTY_PARAGRAPH_SEPARATOR = + { &uc_is_property_paragraph_separator }; diff --git a/gllib/unictype/pr_paragraph_separator.h b/gllib/unictype/pr_paragraph_separator.h new file mode 100644 index 0000000..497ac60 --- /dev/null +++ b/gllib/unictype/pr_paragraph_separator.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_paragraph_separator = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_pattern_syntax.c b/gllib/unictype/pr_pattern_syntax.c new file mode 100644 index 0000000..5e608c0 --- /dev/null +++ b/gllib/unictype/pr_pattern_syntax.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_pattern_syntax table. */ +#include "pr_pattern_syntax.h" + +bool +uc_is_property_pattern_syntax (ucs4_t uc) +{ + return bitmap_lookup (&u_property_pattern_syntax, uc); +} + +const uc_property_t UC_PROPERTY_PATTERN_SYNTAX = + { &uc_is_property_pattern_syntax }; diff --git a/gllib/unictype/pr_pattern_syntax.h b/gllib/unictype/pr_pattern_syntax.h new file mode 100644 index 0000000..936244a --- /dev/null +++ b/gllib/unictype/pr_pattern_syntax.h @@ -0,0 +1,188 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[9 << 4]; + } +u_property_pattern_syntax = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + 2 + 128 * sizeof (short) / sizeof (int) + 64, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 80, + 2 + 128 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 112, + 2 + 128 * sizeof (short) / sizeof (int) + 128 + }, + { + 0x00000000, 0xFC00FFFE, 0x78000001, 0x78000001, + 0x00000000, 0x88435AFE, 0x00800000, 0x00800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0x7FFF00FF, 0x7FEFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0xFFF00000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFF0E, 0x00010001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000060, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_pattern_white_space.c b/gllib/unictype/pr_pattern_white_space.c new file mode 100644 index 0000000..42871ed --- /dev/null +++ b/gllib/unictype/pr_pattern_white_space.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_pattern_white_space table. */ +#include "pr_pattern_white_space.h" + +bool +uc_is_property_pattern_white_space (ucs4_t uc) +{ + return bitmap_lookup (&u_property_pattern_white_space, uc); +} + +const uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE = + { &uc_is_property_pattern_white_space }; diff --git a/gllib/unictype/pr_pattern_white_space.h b/gllib/unictype/pr_pattern_white_space.h new file mode 100644 index 0000000..cb245bb --- /dev/null +++ b/gllib/unictype/pr_pattern_white_space.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_pattern_white_space = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00003E00, 0x00000001, 0x00000000, 0x00000000, + 0x00000020, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000C000, 0x00000300, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_private_use.c b/gllib/unictype/pr_private_use.c new file mode 100644 index 0000000..2089d14 --- /dev/null +++ b/gllib/unictype/pr_private_use.c @@ -0,0 +1,49 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_private_use table. */ +#include "pr_private_use.h" + +bool +uc_is_property_private_use (ucs4_t uc) +{ + return bitmap_lookup (&u_property_private_use, uc); +} + +#else + +bool +uc_is_property_private_use (ucs4_t uc) +{ + return (uc >= 0xE000 && uc <= 0xF8FF) + || (uc >= 0xF0000 && uc <= 0xFFFFD) + || (uc >= 0x100000 && uc <= 0x10FFFD); +} + +#endif + +const uc_property_t UC_PROPERTY_PRIVATE_USE = + { &uc_is_property_private_use }; diff --git a/gllib/unictype/pr_private_use.h b/gllib/unictype/pr_private_use.h new file mode 100644 index 0000000..869a5f7 --- /dev/null +++ b/gllib/unictype/pr_private_use.h @@ -0,0 +1,310 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[17]; + short level2[2 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_private_use = +{ + { 17 }, + { + 18 * sizeof (int) / sizeof (short) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 * sizeof (int) / sizeof (short) + 128, + 18 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 0, + 18 + 256 * sizeof (short) / sizeof (int) + 32 + }, + { + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF + } +}; diff --git a/gllib/unictype/pr_punctuation.c b/gllib/unictype/pr_punctuation.c new file mode 100644 index 0000000..bcbfa17 --- /dev/null +++ b/gllib/unictype/pr_punctuation.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_punctuation table. */ +#include "pr_punctuation.h" + +bool +uc_is_property_punctuation (ucs4_t uc) +{ + return bitmap_lookup (&u_property_punctuation, uc); +} + +#else + +bool +uc_is_property_punctuation (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_P); +} + +#endif + +const uc_property_t UC_PROPERTY_PUNCTUATION = + { &uc_is_property_punctuation }; diff --git a/gllib/unictype/pr_punctuation.h b/gllib/unictype/pr_punctuation.h new file mode 100644 index 0000000..7a9dbb7 --- /dev/null +++ b/gllib/unictype/pr_punctuation.h @@ -0,0 +1,455 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[43 << 4]; + } +u_property_punctuation = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + 3 + 256 * sizeof (short) / sizeof (int) + 512, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 528, + 3 + 256 * sizeof (short) / sizeof (int) + 544, + 3 + 256 * sizeof (short) / sizeof (int) + 560, + 3 + 256 * sizeof (short) / sizeof (int) + 576, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 592, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 608, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 624, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 640, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 656, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 672, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x8C00F7EE, 0xB8000001, 0x28000000, + 0x00000000, 0x88C00882, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x40000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000000, + 0x00000600, 0x40000000, 0x00000049, 0x00180000, + 0xC8003600, 0x00000000, 0x00000000, 0x00003C00, + 0x00000000, 0x00000000, 0x00100000, 0x00000000, + 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03800000, + 0x00000000, 0x7FFF0000, 0x40000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00100000, + 0x00000000, 0x00000000, 0x0C008000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0017FFF0, 0x3C000000, 0x00000000, 0x00000000, + 0x00000020, 0x00000000, 0x061F0000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FC00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000001FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00006000, + 0x18000000, 0x00000000, 0x00000000, 0x00003800, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x07700000, 0x00000000, + 0x000007FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00003F7F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFC000000, 0x00000001, + 0x00000000, 0x00000000, 0x00000000, 0xF0000000, + 0x00000000, 0xF8000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x000800FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFF0000, 0xFFFF00FF, 0x7FFBFFEF, 0x60000000, + 0x00006000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F00, 0x00000600, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x003FFF00, + 0x00000000, 0x00000000, 0x00000060, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x01FFFFF8, 0x00000000, 0x0F000000, 0x30000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xDE000000, + 0x00000000, 0x00000000, 0x00000000, 0x00010000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x0000001F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFF3FF0E, 0x20010000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x08000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0x40080000, + 0x00000000, 0x00000000, 0x00000000, 0x00FC0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00F00000, + 0x00000000, 0x00000000, 0x0000C000, 0x17000000, + 0x00000000, 0x0000C000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0003FFE, 0x00000000, + 0x00000000, 0x00000000, 0xF0000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000800, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xC0000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FF0000, 0xFFFF0000, 0xFFF7FFFF, 0x00000D0B, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x8C00F7EE, 0xB8000001, 0xA8000000, 0x0000003F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00008000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x80000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x01FF0000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x007F0000, + 0x00000000, 0xFE000000, 0x00000000, 0x00000000, + 0x1E000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003F80, 0x00000000, + 0x00000000, 0xD8000000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x0000000F, 0x00300000, + 0x00000000, 0x00000000, 0xE80023E0, 0x00000000, + 0x00000000, 0x3F000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x2800F800, 0x00000000, + 0x00000000, 0x00000000, 0x00000040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00001FFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000003E, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000000, 0x0F800000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000F80, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_quotation_mark.c b/gllib/unictype/pr_quotation_mark.c new file mode 100644 index 0000000..56cf4bb --- /dev/null +++ b/gllib/unictype/pr_quotation_mark.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_quotation_mark table. */ +#include "pr_quotation_mark.h" + +bool +uc_is_property_quotation_mark (ucs4_t uc) +{ + return bitmap_lookup (&u_property_quotation_mark, uc); +} + +const uc_property_t UC_PROPERTY_QUOTATION_MARK = + { &uc_is_property_quotation_mark }; diff --git a/gllib/unictype/pr_quotation_mark.h b/gllib/unictype/pr_quotation_mark.h new file mode 100644 index 0000000..8c57f50 --- /dev/null +++ b/gllib/unictype/pr_quotation_mark.h @@ -0,0 +1,172 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[5 << 4]; + } +u_property_quotation_mark = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 64 + }, + { + 0x00000000, 0x00000084, 0x00000000, 0x00000000, + 0x00000000, 0x08000800, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFF000000, 0x06000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000004, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xE000F000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001E, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000084, 0x00000000, 0x00000000, 0x0000000C, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_radical.c b/gllib/unictype/pr_radical.c new file mode 100644 index 0000000..31d17c5 --- /dev/null +++ b/gllib/unictype/pr_radical.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_radical table. */ +#include "pr_radical.h" + +bool +uc_is_property_radical (ucs4_t uc) +{ + return bitmap_lookup (&u_property_radical, uc); +} + +const uc_property_t UC_PROPERTY_RADICAL = + { &uc_is_property_radical }; diff --git a/gllib/unictype/pr_radical.h b/gllib/unictype/pr_radical.h new file mode 100644 index 0000000..df5365a --- /dev/null +++ b/gllib/unictype/pr_radical.h @@ -0,0 +1,156 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[1 << 4]; + } +u_property_radical = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFBFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_sentence_terminal.c b/gllib/unictype/pr_sentence_terminal.c new file mode 100644 index 0000000..14e78b5 --- /dev/null +++ b/gllib/unictype/pr_sentence_terminal.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_sentence_terminal table. */ +#include "pr_sentence_terminal.h" + +bool +uc_is_property_sentence_terminal (ucs4_t uc) +{ + return bitmap_lookup (&u_property_sentence_terminal, uc); +} + +const uc_property_t UC_PROPERTY_SENTENCE_TERMINAL = + { &uc_is_property_sentence_terminal }; diff --git a/gllib/unictype/pr_sentence_terminal.h b/gllib/unictype/pr_sentence_terminal.h new file mode 100644 index 0000000..44cf1ba --- /dev/null +++ b/gllib/unictype/pr_sentence_terminal.h @@ -0,0 +1,391 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[27 << 4]; + } +u_property_sentence_terminal = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x80004002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000200, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00100000, 0x00000000, + 0x00000007, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x02000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000C00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000184, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00004000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000208, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000F00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xCC000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x18000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30000000, 0x00000380, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x10004000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000004, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000C000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00880000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00C00000, + 0x00000000, 0x00000000, 0x0000C000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000300, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000800, + 0x00000000, 0x00000000, 0x00C40000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80004002, 0x00000000, 0x00000000, 0x00000002, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00C00000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000180, 0x00000000, + 0x00000000, 0xC0000000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00000000, + 0x00000000, 0x00000000, 0xC0002060, 0x00000000, + 0x00000000, 0x1B000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00001800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00FFFE0C, 0x00000000, + 0x00000000, 0x00000000, 0x00000006, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000006, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000000, 0x01800000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000100, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_soft_dotted.c b/gllib/unictype/pr_soft_dotted.c new file mode 100644 index 0000000..5d839ca --- /dev/null +++ b/gllib/unictype/pr_soft_dotted.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_soft_dotted table. */ +#include "pr_soft_dotted.h" + +bool +uc_is_property_soft_dotted (ucs4_t uc) +{ + return bitmap_lookup (&u_property_soft_dotted, uc); +} + +const uc_property_t UC_PROPERTY_SOFT_DOTTED = + { &uc_is_property_soft_dotted }; diff --git a/gllib/unictype/pr_soft_dotted.h b/gllib/unictype/pr_soft_dotted.h new file mode 100644 index 0000000..2c81721 --- /dev/null +++ b/gllib/unictype/pr_soft_dotted.h @@ -0,0 +1,319 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[9 << 4]; + } +u_property_soft_dotted = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000600, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000200, 0x00000100, + 0x20000000, 0x00040000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00080000, + 0x00000000, 0x00000000, 0x01400000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000004, + 0x00400000, 0x00000110, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000300, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x10000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000C, 0x00C00000, 0x00000000, + 0x00000C00, 0xC0000000, 0x00000000, 0x000C0000, + 0x00000000, 0x000000C0, 0x0C000000, 0x00000000, + 0x0000C000, 0x00000000, 0x0000000C, 0x00C00000, + 0x00000000, 0x00000C00, 0xC0000000, 0x00000000, + 0x000C0000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_space.c b/gllib/unictype/pr_space.c new file mode 100644 index 0000000..72ebbf5 --- /dev/null +++ b/gllib/unictype/pr_space.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_space table. */ +#include "pr_space.h" + +bool +uc_is_property_space (ucs4_t uc) +{ + return bitmap_lookup (&u_property_space, uc); +} + +#else + +bool +uc_is_property_space (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_Zs); +} + +#endif + +const uc_property_t UC_PROPERTY_SPACE = + { &uc_is_property_space }; diff --git a/gllib/unictype/pr_space.h b/gllib/unictype/pr_space.h new file mode 100644 index 0000000..66a653c --- /dev/null +++ b/gllib/unictype/pr_space.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_property_space = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00008000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_terminal_punctuation.c b/gllib/unictype/pr_terminal_punctuation.c new file mode 100644 index 0000000..84a7af2 --- /dev/null +++ b/gllib/unictype/pr_terminal_punctuation.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_terminal_punctuation table. */ +#include "pr_terminal_punctuation.h" + +bool +uc_is_property_terminal_punctuation (ucs4_t uc) +{ + return bitmap_lookup (&u_property_terminal_punctuation, uc); +} + +const uc_property_t UC_PROPERTY_TERMINAL_PUNCTUATION = + { &uc_is_property_terminal_punctuation }; diff --git a/gllib/unictype/pr_terminal_punctuation.h b/gllib/unictype/pr_terminal_punctuation.h new file mode 100644 index 0000000..a2a8fe7 --- /dev/null +++ b/gllib/unictype/pr_terminal_punctuation.h @@ -0,0 +1,411 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[32 << 4]; + } +u_property_terminal_punctuation = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + 3 + 256 * sizeof (short) / sizeof (int) + 288, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 304, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 320, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 336, + 3 + 256 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 368, + 3 + 256 * sizeof (short) / sizeof (int) + 384, + 3 + 256 * sizeof (short) / sizeof (int) + 400, + 3 + 256 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 464, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 480, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 496, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x8C005002, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x40000000, + 0x00000080, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000200, 0x00000000, 0x00000008, 0x00000000, + 0x88001000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00100000, 0x00000000, + 0x000017FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03000000, + 0x00000000, 0x7FFF0000, 0x40000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000030, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0C000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0007E100, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000C00, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x000001FE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00006000, + 0x00000000, 0x00000000, 0x00000000, 0x00003800, + 0x00000000, 0x00600000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x04700000, 0x00000000, + 0x0000033C, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000030, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000F00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xEC000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xF8000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x30000000, 0x00000380, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x10004000, 0x00000002, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000006, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xC0000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00C00000, + 0x00000000, 0x00000000, 0x0000C000, 0x00000000, + 0x00000000, 0x00008000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000380, 0x00000000, + 0x00000000, 0x00000000, 0xE0000000, 0x00000000, + 0x00000000, 0x00000000, 0x80000000, 0x00030000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000800, + 0x00000000, 0x00000000, 0x00F70000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x8C005002, 0x00000000, 0x00000000, 0x00000012, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000000, 0x00000000, 0x00800000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00C00000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x003F0000, + 0x00000000, 0xFC000000, 0x00000000, 0x00000000, + 0x1E000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003F80, 0x00000000, + 0x00000000, 0xC0000000, 0x00000003, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00000000, + 0x00000000, 0x00000000, 0xC0002060, 0x00000000, + 0x00000000, 0x1F000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000200, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08003800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00FFFE3C, 0x00000000, + 0x00000000, 0x00000000, 0x00000006, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x70000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000000E, 0x00020000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x001F0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x00200000, + 0x00000000, 0x03800000, 0x00000010, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000780, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_test.c b/gllib/unictype/pr_test.c new file mode 100644 index 0000000..72b831b --- /dev/null +++ b/gllib/unictype/pr_test.c @@ -0,0 +1,27 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +bool +uc_is_property (ucs4_t uc, uc_property_t property) +{ + return property.test_fn (uc); +} diff --git a/gllib/unictype/pr_titlecase.c b/gllib/unictype/pr_titlecase.c new file mode 100644 index 0000000..342a613 --- /dev/null +++ b/gllib/unictype/pr_titlecase.c @@ -0,0 +1,47 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#if 0 + +#include "bitmap.h" + +/* Define u_property_titlecase table. */ +#include "pr_titlecase.h" + +bool +uc_is_property_titlecase (ucs4_t uc) +{ + return bitmap_lookup (&u_property_titlecase, uc); +} + +#else + +bool +uc_is_property_titlecase (ucs4_t uc) +{ + return uc_is_general_category (uc, UC_CATEGORY_Lt); +} + +#endif + +const uc_property_t UC_PROPERTY_TITLECASE = + { &uc_is_property_titlecase }; diff --git a/gllib/unictype/pr_titlecase.h b/gllib/unictype/pr_titlecase.h new file mode 100644 index 0000000..26a1f4d --- /dev/null +++ b/gllib/unictype/pr_titlecase.h @@ -0,0 +1,160 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[2 << 4]; + } +u_property_titlecase = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000920, 0x00040000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFF00FF00, 0x1000FF00, 0x00001000, 0x10000000 + } +}; diff --git a/gllib/unictype/pr_unassigned_code_value.c b/gllib/unictype/pr_unassigned_code_value.c new file mode 100644 index 0000000..a368fdc --- /dev/null +++ b/gllib/unictype/pr_unassigned_code_value.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_unassigned_code_value table. */ +#include "pr_unassigned_code_value.h" + +bool +uc_is_property_unassigned_code_value (ucs4_t uc) +{ + return bitmap_lookup (&u_property_unassigned_code_value, uc); +} + +const uc_property_t UC_PROPERTY_UNASSIGNED_CODE_VALUE = + { &uc_is_property_unassigned_code_value }; diff --git a/gllib/unictype/pr_unassigned_code_value.h b/gllib/unictype/pr_unassigned_code_value.h new file mode 100644 index 0000000..4ea9197 --- /dev/null +++ b/gllib/unictype/pr_unassigned_code_value.h @@ -0,0 +1,988 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[5 << 7]; + /*unsigned*/ int level3[77 << 4]; + } +u_property_unassigned_code_value = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + 16 * sizeof (int) / sizeof (short) + 256, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 384, + 16 * sizeof (int) / sizeof (short) + 512 + }, + { + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 0, + 16 + 640 * sizeof (short) / sizeof (int) + 16, + 16 + 640 * sizeof (short) / sizeof (int) + 32, + 16 + 640 * sizeof (short) / sizeof (int) + 48, + 16 + 640 * sizeof (short) / sizeof (int) + 64, + 16 + 640 * sizeof (short) / sizeof (int) + 80, + 16 + 640 * sizeof (short) / sizeof (int) + 96, + 16 + 640 * sizeof (short) / sizeof (int) + 112, + 16 + 640 * sizeof (short) / sizeof (int) + 128, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 144, + 16 + 640 * sizeof (short) / sizeof (int) + 160, + 16 + 640 * sizeof (short) / sizeof (int) + 176, + 16 + 640 * sizeof (short) / sizeof (int) + 192, + 16 + 640 * sizeof (short) / sizeof (int) + 208, + 16 + 640 * sizeof (short) / sizeof (int) + 224, + 16 + 640 * sizeof (short) / sizeof (int) + 240, + 16 + 640 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 272, + 16 + 640 * sizeof (short) / sizeof (int) + 288, + 16 + 640 * sizeof (short) / sizeof (int) + 304, + 16 + 640 * sizeof (short) / sizeof (int) + 320, + 16 + 640 * sizeof (short) / sizeof (int) + 336, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 352, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 368, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 384, + 16 + 640 * sizeof (short) / sizeof (int) + 400, + 16 + 640 * sizeof (short) / sizeof (int) + 416, + 16 + 640 * sizeof (short) / sizeof (int) + 432, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 448, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 464, + 16 + 640 * sizeof (short) / sizeof (int) + 480, + 16 + 640 * sizeof (short) / sizeof (int) + 496, + 16 + 640 * sizeof (short) / sizeof (int) + 512, + 16 + 640 * sizeof (short) / sizeof (int) + 528, + 16 + 640 * sizeof (short) / sizeof (int) + 544, + 16 + 640 * sizeof (short) / sizeof (int) + 560, + 16 + 640 * sizeof (short) / sizeof (int) + 576, + 16 + 640 * sizeof (short) / sizeof (int) + 592, + 16 + 640 * sizeof (short) / sizeof (int) + 608, + 16 + 640 * sizeof (short) / sizeof (int) + 624, + 16 + 640 * sizeof (short) / sizeof (int) + 640, + 16 + 640 * sizeof (short) / sizeof (int) + 656, + 16 + 640 * sizeof (short) / sizeof (int) + 672, + 16 + 640 * sizeof (short) / sizeof (int) + 688, + 16 + 640 * sizeof (short) / sizeof (int) + 704, + 16 + 640 * sizeof (short) / sizeof (int) + 720, + 16 + 640 * sizeof (short) / sizeof (int) + 736, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 768, + 16 + 640 * sizeof (short) / sizeof (int) + 784, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 800, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 816, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 832, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 864, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 880, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 896, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 912, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 928, + 16 + 640 * sizeof (short) / sizeof (int) + 944, + 16 + 640 * sizeof (short) / sizeof (int) + 960, + 16 + 640 * sizeof (short) / sizeof (int) + 976, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 992, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1008, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1024, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1040, + 16 + 640 * sizeof (short) / sizeof (int) + 1056, + 16 + 640 * sizeof (short) / sizeof (int) + 1072, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 1088, + 16 + 640 * sizeof (short) / sizeof (int) + 1104, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1120, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 1136, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 1152, + 16 + 640 * sizeof (short) / sizeof (int) + 1168, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 1184, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + -1, + 16 + 640 * sizeof (short) / sizeof (int) + 1200, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1120, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1120, + 16 + 640 * sizeof (short) / sizeof (int) + 1216, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 752, + 16 + 640 * sizeof (short) / sizeof (int) + 1120 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x03000000, + 0x0000280F, 0x00000004, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00010000, 0x01800000, 0x00000001, + 0x00011900, 0x00000000, 0x0000FF00, 0xFFE0F800, + 0x20000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00001800, 0x00000000, + 0x00000000, 0xFFFC0000, 0x00000000, 0xF8000000, + 0x00000000, 0x8000C000, 0xB0000000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xC0200000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00066010, 0x0C3A0200, 0x4F7F8660, 0xF0000030, + 0x00067811, 0x2C920200, 0xA1FDC678, 0xFFC0003F, + 0x00044011, 0x0C120200, 0xFFFEC440, 0xFDFC0030, + 0x00066011, 0x0C120200, 0x4F3FC660, 0xFF000030, + 0x29C23813, 0x3C0038E7, 0xFF7EC238, 0xF800003F, + 0x00022010, 0x1C000200, 0xF89FC220, 0x00FF0030, + 0x00022010, 0x0C100200, 0xBF9FC220, 0xFFF90030, + 0x00022011, 0x18000000, 0x000F0220, 0x00000030, + 0x03800013, 0xD0040000, 0x00A07B80, 0xFFE3003F, + 0x00000001, 0x78000000, 0xF0000000, 0xFFFFFFFF, + 0x010FDA69, 0xC4001351, 0x0C00C0A0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000100, 0x0001E000, + 0x01000000, 0x20000000, 0xF8002000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000DF40, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xC280C200, 0x00000000, + 0x0000C200, 0x80C20000, 0x008000C2, 0x00000000, + 0x00C20000, 0x00000000, 0x18000000, 0xE0000000, + 0xFC000000, 0x00000000, 0x00000000, 0xC0C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xE0000000, 0x00000000, 0x00000000, 0xFE000000, + 0xFFE02000, 0xFF800000, 0xFFF00000, 0xFFF22000, + 0x00000000, 0x00000000, 0xC0000000, 0xFC00FC00, + 0xFC008000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x0000F800, 0x00000000, 0xFFC00000, + 0x80000000, 0xF000F000, 0x0000000E, 0xFFE0C000, + 0x00000000, 0x0000F000, 0x3800FC00, 0x00000000, + 0x30000000, 0x00000000, 0x80000000, 0x60000000, + 0xFC00FC00, 0x8000C000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000F000, 0xE0000000, + 0x00000000, 0x00000000, 0x00000000, 0x0FF00000, + 0x00000000, 0x07000000, 0x00001C00, 0x00000000, + 0xFFFFFE00, 0xFFFFFFFF, 0x0000FF00, 0xFC800000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07C00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0C00000, 0x00000000, 0x5500C0C0, 0xC0000000, + 0x00000000, 0x00200000, 0x10300020, 0x80230000, + 0x00000000, 0x00000000, 0x00000000, 0x000C0020, + 0xE0008000, 0x80000000, 0x0000FFFF, 0xFFFE0000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0xFFFFFF80, 0xFFFFF800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00300000, + 0x00C00000, 0x1C000000, 0xFFFC0200, 0xFFFF0FFF, + 0x00000000, 0x00008000, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x01F00000, + 0x00000000, 0x0000DF40, 0x00000000, 0x7FFE7F00, + 0xFF800000, 0x80808080, 0x80808080, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFE0, 0xFFFFFFFF, + 0x04000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xF000FFFF, + 0x00000000, 0x00000000, 0x00000001, 0x00000000, + 0x01800000, 0x00000000, 0x00000000, 0x00000000, + 0x0000001F, 0x0001C000, 0x00000000, 0x00000000, + 0x00008000, 0xF8000000, 0x00000000, 0x0000FFF0, + 0x80000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFC00000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000E000, 0x00000000, 0x0000FF80, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFF000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF008000, 0xFFFFFFFF, 0x007FFFFF, + 0x00000000, 0xFC00F000, 0x00000000, 0xFF000000, + 0x00000000, 0x00000000, 0xFC003FC0, 0xC0000000, + 0x00000000, 0x00000000, 0x7FF00000, 0xE0000000, + 0x00000000, 0x00000000, 0x3C004000, 0x80000000, + 0x00000000, 0xFF800000, 0x0C00C000, 0x00000000, + 0x00000000, 0x00000000, 0x07FFFFF8, 0xFF800000, + 0xFF818181, 0x00008080, 0x00000000, 0x0000FFC0, + 0x00000000, 0x00000000, 0x00000000, 0xFC00C000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000FFF0, 0x00000780, 0xF0000000, + 0x00000000, 0x00000000, 0x00000000, 0x0000C000, + 0x00000000, 0x00000000, 0xFC000000, 0xFFFFFFFF, + 0x1F07FF80, 0xA0800000, 0x00000024, 0x00000000, + 0x00000000, 0x00000000, 0x0007FFFC, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000FFFF, 0x00000000, + 0x00030000, 0x00000000, 0x0000FF00, 0xC0000000, + 0xFC000000, 0x00000000, 0x00080000, 0x0020F080, + 0x00000000, 0x00000000, 0x00000000, 0x60000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x80000000, 0xE3030303, 0x01FF8080, + 0x00001000, 0x48000080, 0xC000C000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xF8000000, + 0x00000078, 0x00700000, 0x00000000, 0x00000000, + 0xF0008000, 0xFFFFFFFE, 0x0000FFFF, 0xC0000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xE0000000, 0x00000000, 0xFFFE0000, 0xF0000000, + 0x00000000, 0x0000FFF0, 0x0000F800, 0xF8000000, + 0x40000000, 0x00000000, 0xFFC000F0, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x0000FC00, 0x00F00000, 0xF0000000, + 0x00000000, 0x0000FF00, 0x00000000, 0xFFFF7FF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFF800000, 0xFFC00000, 0xFFFFFF00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x000002C0, 0x6E400000, 0x00400000, 0x00000000, + 0x80000000, 0xFFFF007F, 0xFFFFFFFF, 0x07C80000, + 0x70000000, 0x7C000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0F000000, 0x00030000, 0x00000000, + 0x01100F90, 0x78F00000, 0xFE00FF00, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFF800780, + 0x00000000, 0x01C00000, 0x00C00000, 0x00F80000, + 0xE1FC0000, 0xFFFF01FF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFE00, 0xFFFFFFFF, + 0x00000000, 0xFFF80000, 0x00000000, 0x03F80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0003C000, 0x7FFF0000, + 0x00000000, 0x00000000, 0x0000FFFC, 0xFC00FE00, + 0x00000000, 0x00200000, 0x0000FFF0, 0xFF800000, + 0x00000000, 0x00000000, 0x0000C000, 0xFFE00001, + 0x00040000, 0x80000000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x40004280, 0x0000FC00, 0x00000000, 0xFC00F800, + 0x00066010, 0x0C120200, 0x1F7EC660, 0xFFE0E030, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xD4000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FF00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00C00000, 0xC0000000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFC00FFE0, 0xFFFFE000, + 0x00000000, 0xFF000000, 0xFFFFFC00, 0xFFFFFFFF, + 0x1C000000, 0x0000F000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x7FF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0xFE000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000200, 0x00800000, 0x0000FFC0, 0x0000E000, + 0x00030000, 0xFF800100, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFC000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xFFE08000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFFFF8000, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFFFFFF80, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0xFE000000, 0x80000000, 0xFFFF3C00, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, 0xFFC0C000, + 0x00000000, 0x00000000, 0x0400FFC0, 0x1F000004, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x0000FFE0, 0x80000000, + 0x00007FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFE000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF80000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0xE000F800, + 0x0C00FE00, 0xFFFFFFF0, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFC00000, + 0x00000000, 0x00000180, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFE00, + 0x00000000, 0x00000000, 0xFFFFFFC0, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFC0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00200000, 0x00000000, + 0x20000000, 0x1400219B, 0x00000010, 0x00000000, + 0x20201840, 0x84000000, 0x000203A0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x000000C0, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00003000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x07FFF000, 0xFFFF0001, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x06000080, 0xFFFFF824, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800060, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x3C00F800, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000010, 0xF5080169, 0x5569157B, 0xA1080869, + 0xF0000400, 0xF0000411, 0xFFFFFFFF, 0xFFFCFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x0000F000, 0x00000000, 0x00000000, + 0xFFF00000, 0x00018000, 0x00010001, 0xFFC00000, + 0x0000E000, 0x00008000, 0x00000000, 0x0000F000, + 0x00000000, 0xFFFFE000, 0xFFFFFFFF, 0x0000003F, + 0x0000FFF8, 0xF0000000, 0xFFFCFE00, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFF80000, 0xFF80E000, + 0x00000000, 0x00000000, 0x00000000, 0xFFF00000, + 0x00000000, 0x00000000, 0xFFE00000, 0xFFFFFFFF, + 0x0000F000, 0x00000000, 0xFC00FF00, 0x00000000, + 0x0000FF00, 0xFFFFC000, 0xFFFFFFFF, 0xFFFFFFFF, + 0x8000FFFF, 0x8006FF00, 0x8000F000, 0xFFFFFFFF, + 0xFFFC0000, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFF800000, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFE00000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xC0000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xC0000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000 + } +}; diff --git a/gllib/unictype/pr_unified_ideograph.c b/gllib/unictype/pr_unified_ideograph.c new file mode 100644 index 0000000..98d700a --- /dev/null +++ b/gllib/unictype/pr_unified_ideograph.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_unified_ideograph table. */ +#include "pr_unified_ideograph.h" + +bool +uc_is_property_unified_ideograph (ucs4_t uc) +{ + return bitmap_lookup (&u_property_unified_ideograph, uc); +} + +const uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH = + { &uc_is_property_unified_ideograph }; diff --git a/gllib/unictype/pr_unified_ideograph.h b/gllib/unictype/pr_unified_ideograph.h new file mode 100644 index 0000000..237f207 --- /dev/null +++ b/gllib/unictype/pr_unified_ideograph.h @@ -0,0 +1,316 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[2 << 7]; + /*unsigned*/ int level3[8 << 4]; + } +u_property_unified_ideograph = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + -1, + 4 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 16, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 256 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 64, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 80, + 4 + 256 * sizeof (short) / sizeof (int) + 96, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 0, + 4 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0x801AC000, 0x0000039A, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_uppercase.c b/gllib/unictype/pr_uppercase.c new file mode 100644 index 0000000..5b07fdb --- /dev/null +++ b/gllib/unictype/pr_uppercase.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_uppercase table. */ +#include "pr_uppercase.h" + +bool +uc_is_property_uppercase (ucs4_t uc) +{ + return bitmap_lookup (&u_property_uppercase, uc); +} + +const uc_property_t UC_PROPERTY_UPPERCASE = + { &uc_is_property_uppercase }; diff --git a/gllib/unictype/pr_uppercase.h b/gllib/unictype/pr_uppercase.h new file mode 100644 index 0000000..149f556 --- /dev/null +++ b/gllib/unictype/pr_uppercase.h @@ -0,0 +1,355 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[2]; + short level2[2 << 7]; + /*unsigned*/ int level3[18 << 4]; + } +u_property_uppercase = +{ + { 2 }, + { + 3 * sizeof (int) / sizeof (short) + 0, + 3 * sizeof (int) / sizeof (short) + 128 + }, + { + 3 + 256 * sizeof (short) / sizeof (int) + 0, + 3 + 256 * sizeof (short) / sizeof (int) + 16, + 3 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 48, + 3 + 256 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 80, + 3 + 256 * sizeof (short) / sizeof (int) + 96, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 160, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 176, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 192, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 208, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 224, + 3 + 256 * sizeof (short) / sizeof (int) + 240, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + 3 + 256 * sizeof (short) / sizeof (int) + 272, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x00000000, + 0x00000000, 0x00000000, 0x7F7FFFFF, 0x00000000, + 0x55555555, 0xAA555555, 0x555554AA, 0x2B555555, + 0xB1DBCED6, 0x11AED2D5, 0x4AAAA490, 0x55D25555, + 0x55555555, 0x6C055555, 0x0000557A, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80450000, + 0xFFFED740, 0x00000FFB, 0x551C8000, 0xE6905555, + 0xFFFFFFFF, 0x0000FFFF, 0x00000000, 0x55555555, + 0x55555401, 0x55555555, 0x55552AAB, 0x55555555, + 0x55555555, 0xFFFE5555, 0x007FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x000020BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, + 0x55555555, 0x55555555, 0x55555555, 0x55555555, + 0x40155555, 0x55555555, 0x55555555, 0x55555555, + 0x3F00FF00, 0xFF00FF00, 0xAA003F00, 0x0000FF00, + 0x00000000, 0x0F000000, 0x0F000F00, 0x0F001F00, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3E273884, 0xC00F3D50, 0x00000020, 0x0000FFFF, + 0x00000008, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFC00000, 0x0000FFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0xC025EA9D, + 0x55555555, 0x55555555, 0x55555555, 0x00042805, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x55555555, 0x00001555, + 0x05555555, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x55545554, 0x55555555, 0x6A005555, + 0x55452855, 0x005F7D55, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x07FFFFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x000000FF, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0x000FFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x03FFFFFF, 0xFFF00000, 0x00003FFF, 0xFFFFFF00, + 0xD0000003, 0x003FDE64, 0xFFFF0000, 0x000003FF, + 0x1FDFE7B0, 0x7B000000, 0x0001FC5F, 0xFFFFF000, + 0x0000003F, 0x03FFFFFF, 0xFFF00000, 0x00003FFF, + 0xFFFFFF00, 0xF0000003, 0x003FFFFF, 0xFFFF0000, + 0x000003FF, 0xFFFFFF00, 0x00000001, 0x07FFFFFC, + 0xF0000000, 0x001FFFFF, 0xFFC00000, 0x00007FFF, + 0xFFFF0000, 0x000001FF, 0x00000400, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFF0000, 0xFFFF03FF, 0xFFFF03FF, + 0x000003FF, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_variation_selector.c b/gllib/unictype/pr_variation_selector.c new file mode 100644 index 0000000..7fb33bd --- /dev/null +++ b/gllib/unictype/pr_variation_selector.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_variation_selector table. */ +#include "pr_variation_selector.h" + +bool +uc_is_property_variation_selector (ucs4_t uc) +{ + return bitmap_lookup (&u_property_variation_selector, uc); +} + +const uc_property_t UC_PROPERTY_VARIATION_SELECTOR = + { &uc_is_property_variation_selector }; diff --git a/gllib/unictype/pr_variation_selector.h b/gllib/unictype/pr_variation_selector.h new file mode 100644 index 0000000..c038c36 --- /dev/null +++ b/gllib/unictype/pr_variation_selector.h @@ -0,0 +1,308 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[2 << 7]; + /*unsigned*/ int level3[3 << 4]; + } +u_property_variation_selector = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 128 + }, + { + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 256 * sizeof (short) / sizeof (int) + 16, + 16 + 256 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00003800, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_white_space.c b/gllib/unictype/pr_white_space.c new file mode 100644 index 0000000..996d607 --- /dev/null +++ b/gllib/unictype/pr_white_space.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_white_space table. */ +#include "pr_white_space.h" + +bool +uc_is_property_white_space (ucs4_t uc) +{ + return bitmap_lookup (&u_property_white_space, uc); +} + +const uc_property_t UC_PROPERTY_WHITE_SPACE = + { &uc_is_property_white_space }; diff --git a/gllib/unictype/pr_white_space.h b/gllib/unictype/pr_white_space.h new file mode 100644 index 0000000..7af37ec --- /dev/null +++ b/gllib/unictype/pr_white_space.h @@ -0,0 +1,168 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[1]; + short level2[1 << 7]; + /*unsigned*/ int level3[4 << 4]; + } +u_property_white_space = +{ + { 1 }, + { 2 * sizeof (int) / sizeof (short) + 0 }, + { + 2 + 128 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 16, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2 + 128 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00003E00, 0x00000001, 0x00000000, 0x00000000, + 0x00000020, 0x00000001, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x000007FF, 0x00008300, 0x80000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_xid_continue.c b/gllib/unictype/pr_xid_continue.c new file mode 100644 index 0000000..dfcb9b5 --- /dev/null +++ b/gllib/unictype/pr_xid_continue.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_xid_continue table. */ +#include "pr_xid_continue.h" + +bool +uc_is_property_xid_continue (ucs4_t uc) +{ + return bitmap_lookup (&u_property_xid_continue, uc); +} + +const uc_property_t UC_PROPERTY_XID_CONTINUE = + { &uc_is_property_xid_continue }; diff --git a/gllib/unictype/pr_xid_continue.h b/gllib/unictype/pr_xid_continue.h new file mode 100644 index 0000000..d8f729d --- /dev/null +++ b/gllib/unictype/pr_xid_continue.h @@ -0,0 +1,828 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[4 << 7]; + /*unsigned*/ int level3[69 << 4]; + } +u_property_xid_continue = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + 16 * sizeof (int) / sizeof (short) + 256, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 384 + }, + { + 16 + 512 * sizeof (short) / sizeof (int) + 0, + 16 + 512 * sizeof (short) / sizeof (int) + 16, + 16 + 512 * sizeof (short) / sizeof (int) + 32, + 16 + 512 * sizeof (short) / sizeof (int) + 48, + 16 + 512 * sizeof (short) / sizeof (int) + 64, + 16 + 512 * sizeof (short) / sizeof (int) + 80, + 16 + 512 * sizeof (short) / sizeof (int) + 96, + 16 + 512 * sizeof (short) / sizeof (int) + 112, + 16 + 512 * sizeof (short) / sizeof (int) + 128, + 16 + 512 * sizeof (short) / sizeof (int) + 144, + 16 + 512 * sizeof (short) / sizeof (int) + 160, + 16 + 512 * sizeof (short) / sizeof (int) + 176, + 16 + 512 * sizeof (short) / sizeof (int) + 192, + 16 + 512 * sizeof (short) / sizeof (int) + 208, + 16 + 512 * sizeof (short) / sizeof (int) + 224, + 16 + 512 * sizeof (short) / sizeof (int) + 240, + 16 + 512 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 272, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 288, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 320, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 336, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 352, + 16 + 512 * sizeof (short) / sizeof (int) + 368, + 16 + 512 * sizeof (short) / sizeof (int) + 384, + 16 + 512 * sizeof (short) / sizeof (int) + 400, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 432, + 16 + 512 * sizeof (short) / sizeof (int) + 448, + 16 + 512 * sizeof (short) / sizeof (int) + 464, + 16 + 512 * sizeof (short) / sizeof (int) + 480, + 16 + 512 * sizeof (short) / sizeof (int) + 496, + 16 + 512 * sizeof (short) / sizeof (int) + 512, + 16 + 512 * sizeof (short) / sizeof (int) + 528, + 16 + 512 * sizeof (short) / sizeof (int) + 544, + 16 + 512 * sizeof (short) / sizeof (int) + 560, + 16 + 512 * sizeof (short) / sizeof (int) + 576, + 16 + 512 * sizeof (short) / sizeof (int) + 592, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 608, + 16 + 512 * sizeof (short) / sizeof (int) + 624, + 16 + 512 * sizeof (short) / sizeof (int) + 640, + 16 + 512 * sizeof (short) / sizeof (int) + 656, + 16 + 512 * sizeof (short) / sizeof (int) + 672, + 16 + 512 * sizeof (short) / sizeof (int) + 688, + 16 + 512 * sizeof (short) / sizeof (int) + 704, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 720, + 16 + 512 * sizeof (short) / sizeof (int) + 736, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 784, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 800, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 816, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 880, + 16 + 512 * sizeof (short) / sizeof (int) + 896, + 16 + 512 * sizeof (short) / sizeof (int) + 912, + 16 + 512 * sizeof (short) / sizeof (int) + 928, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 944, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 960, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 976, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 992, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1008, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1024, + 16 + 512 * sizeof (short) / sizeof (int) + 1040, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1056, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 304, + 16 + 512 * sizeof (short) / sizeof (int) + 1072, + -1, + -1, + 16 + 512 * sizeof (short) / sizeof (int) + 1088, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04A00400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xB8DFFFFF, + 0xFFFFD7C0, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFCFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0xFFFE00FF, 0xBFFFFFFF, 0xFFFF00B6, 0x000707FF, + 0x07FF0000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC3FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x9FEFFFFF, 0x9FFFFDFF, + 0xFFFF0000, 0xFFFFFFFF, 0xFFFFE7FF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFFFFFFF, 0x043FFFFF, + 0xFFFFFFFF, 0x00003FFF, 0x0FFFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0xFFF00000, 0xFFFFFFFB, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFFCF, + 0xFFF99FEF, 0xF3C5FDFF, 0xB080799F, 0x0003FFCF, + 0xFFF987EE, 0xD36DFDFF, 0x5E023987, 0x003FFFC0, + 0xFFFBBFEE, 0xF3EDFDFF, 0x00013BBF, 0x0200FFCF, + 0xFFF99FEE, 0xF3EDFDFF, 0xB0C0399F, 0x0002FFCF, + 0xD63DC7EC, 0xC3FFC718, 0x00813DC7, 0x0000FFC0, + 0xFFFDDFEF, 0xE3FFFDFF, 0x07603DDF, 0x0000FFCF, + 0xFFFDDFEF, 0xF3EFFDFF, 0x40603DDF, 0x0006FFCF, + 0xFFFDDFEE, 0xE7FFFFFF, 0x80F07DDF, 0xFC00FFCF, + 0xFC7FFFEC, 0x2FFBFFFF, 0xFF5F847F, 0x000CFFC0, + 0xFFFFFFFE, 0x07FFFFFF, 0x03FF7FFF, 0x00000000, + 0xFEF02596, 0x3BFFECAE, 0xF3FF3F5F, 0x00000000, + 0x03000001, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE1FFF, + 0xFEFFFFDF, 0x1FFFFFFF, 0x00000040, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF03FF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0xE7FFFFFF, 0x0003FE00, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF, + 0x001FDFFF, 0x001FFFFF, 0x000FFFFF, 0x000DDFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x308FFFFF, 0x000003FF, + 0x03FF3800, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF07FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x0FFF0FFF, 0xFFFFFFC0, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x07FF03FF, 0x00000000, + 0x0FFFFFFF, 0xFFFFFFFF, 0x7FFFFFFF, 0x9FFFFFFF, + 0x03FF03FF, 0x3FFF0080, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0FFF, 0x000FF800, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0x00FFFFFF, 0xFFFFE3FF, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0xFFF70000, 0x037FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xF83FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x80000000, 0x00100001, 0x80020000, + 0x1FFF0000, 0x00000000, 0x1FFF0000, 0x0001FFE2, + 0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000FF81F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x800080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0xFFFFFFFF, + 0x000000E0, 0x1F3EFFFE, 0xFFFFFFFE, 0xFFFFFFFF, + 0xE67FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000FFF, 0xFFFFFFFF, 0xBFF0FFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFFF, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFFFFF, 0x000000FF, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF003F, 0x28FFFFFF, + 0xFFFFFFFF, 0xFFFF3FFF, 0x000FFFFF, 0x1FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF8001, 0x7FFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x03FF3FFF, 0xFC7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x38000007, 0x007CFFFF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF37FF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xE0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x03FF0000, + 0x0000FFFF, 0x0018FFFF, 0x0000E000, 0xAA8A0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x03FF0000, 0x87FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0xFFFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x20000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000001, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x07FFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF03FF, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEFF06F, 0x870FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000007F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x8000FFC0, + 0xFFFFFFFF, 0x07FFFFFF, 0xFFFF0000, 0x03FF01FF, + 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFF0000, 0x004FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x17FF1C1F, 0x00000000, + 0xFFFBFFFF, 0x40FFFFFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0xFFFFFFFF, 0x03FF07FF, + 0xFFF99FEF, 0xF3EDFDFF, 0xE081399F, 0x001F1FCF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF00BF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFF3FFFFF, 0x3F000001, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF0011, 0x00000000, + 0xFFFFFFFF, 0x00FFFFFF, 0x000003FF, 0x00000000, + 0xE3FFFFFF, 0x03FF0FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x800003FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0xFF7FFFFF, 0x03FF0001, 0xFFFC0000, + 0xFFFCFFFF, 0x007FFEFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x000003FF, + 0x00000000, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0x007FFFFF, 0x03FF000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF001F, 0x7FFFFFFF, + 0xFFFF8000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x63FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xF807E3E0, + 0x00000FE7, 0x00003C00, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x0000001C, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0xFFFFCFF7, 0xFFFFFFFF, + 0xFFFFFFFF, 0xF87FFFFF, 0xFFFFFFFF, 0x00201FFF, + 0xF8000010, 0x0000FFFE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xF9FFFF7F, 0x000007DB, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007F001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FF07FF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF + } +}; diff --git a/gllib/unictype/pr_xid_start.c b/gllib/unictype/pr_xid_start.c new file mode 100644 index 0000000..6b77496 --- /dev/null +++ b/gllib/unictype/pr_xid_start.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_xid_start table. */ +#include "pr_xid_start.h" + +bool +uc_is_property_xid_start (ucs4_t uc) +{ + return bitmap_lookup (&u_property_xid_start, uc); +} + +const uc_property_t UC_PROPERTY_XID_START = + { &uc_is_property_xid_start }; diff --git a/gllib/unictype/pr_xid_start.h b/gllib/unictype/pr_xid_start.h new file mode 100644 index 0000000..4c11007 --- /dev/null +++ b/gllib/unictype/pr_xid_start.h @@ -0,0 +1,668 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[3]; + short level2[3 << 7]; + /*unsigned*/ int level3[64 << 4]; + } +u_property_xid_start = +{ + { 3 }, + { + 4 * sizeof (int) / sizeof (short) + 0, + 4 * sizeof (int) / sizeof (short) + 128, + 4 * sizeof (int) / sizeof (short) + 256 + }, + { + 4 + 384 * sizeof (short) / sizeof (int) + 0, + 4 + 384 * sizeof (short) / sizeof (int) + 16, + 4 + 384 * sizeof (short) / sizeof (int) + 32, + 4 + 384 * sizeof (short) / sizeof (int) + 48, + 4 + 384 * sizeof (short) / sizeof (int) + 64, + 4 + 384 * sizeof (short) / sizeof (int) + 80, + 4 + 384 * sizeof (short) / sizeof (int) + 96, + 4 + 384 * sizeof (short) / sizeof (int) + 112, + 4 + 384 * sizeof (short) / sizeof (int) + 128, + 4 + 384 * sizeof (short) / sizeof (int) + 144, + 4 + 384 * sizeof (short) / sizeof (int) + 160, + 4 + 384 * sizeof (short) / sizeof (int) + 176, + 4 + 384 * sizeof (short) / sizeof (int) + 192, + 4 + 384 * sizeof (short) / sizeof (int) + 208, + 4 + 384 * sizeof (short) / sizeof (int) + 224, + 4 + 384 * sizeof (short) / sizeof (int) + 240, + 4 + 384 * sizeof (short) / sizeof (int) + 256, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 272, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 288, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 320, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 336, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 352, + 4 + 384 * sizeof (short) / sizeof (int) + 368, + 4 + 384 * sizeof (short) / sizeof (int) + 384, + 4 + 384 * sizeof (short) / sizeof (int) + 400, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 416, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 432, + 4 + 384 * sizeof (short) / sizeof (int) + 448, + 4 + 384 * sizeof (short) / sizeof (int) + 464, + 4 + 384 * sizeof (short) / sizeof (int) + 480, + 4 + 384 * sizeof (short) / sizeof (int) + 496, + 4 + 384 * sizeof (short) / sizeof (int) + 512, + 4 + 384 * sizeof (short) / sizeof (int) + 528, + 4 + 384 * sizeof (short) / sizeof (int) + 544, + 4 + 384 * sizeof (short) / sizeof (int) + 560, + 4 + 384 * sizeof (short) / sizeof (int) + 576, + 4 + 384 * sizeof (short) / sizeof (int) + 592, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 608, + 4 + 384 * sizeof (short) / sizeof (int) + 624, + 4 + 384 * sizeof (short) / sizeof (int) + 640, + 4 + 384 * sizeof (short) / sizeof (int) + 656, + 4 + 384 * sizeof (short) / sizeof (int) + 672, + 4 + 384 * sizeof (short) / sizeof (int) + 688, + 4 + 384 * sizeof (short) / sizeof (int) + 704, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 720, + 4 + 384 * sizeof (short) / sizeof (int) + 736, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 752, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 768, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 784, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 800, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 816, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 832, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 848, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 864, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 880, + 4 + 384 * sizeof (short) / sizeof (int) + 896, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 912, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 928, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 944, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 960, + 4 + 384 * sizeof (short) / sizeof (int) + 976, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 992, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 4 + 384 * sizeof (short) / sizeof (int) + 304, + 4 + 384 * sizeof (short) / sizeof (int) + 1008, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x07FFFFFE, 0x07FFFFFE, + 0x00000000, 0x04200400, 0xFF7FFFFF, 0xFF7FFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0003FFC3, 0x0000501F, + 0x00000000, 0x00000000, 0x00000000, 0xB8DF0000, + 0xFFFFD740, 0xFFFFFFFB, 0xFFFFFFFF, 0xFFBFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFC03, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFEFFFF, 0x027FFFFF, 0xFFFFFFFE, + 0x000000FF, 0x00000000, 0xFFFF0000, 0x000707FF, + 0x00000000, 0xFFFFFFFF, 0x000007FF, 0xFFFEC000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x002FFFFF, 0x9C00C060, + 0xFFFD0000, 0x0000FFFF, 0xFFFFE000, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0002003F, 0xFFFFFC00, 0x043007FF, + 0x043FFFFF, 0x00000110, 0x01FFFFFF, 0x00000000, + 0x00000000, 0x3FDFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF0, 0x23FFFFFF, 0xFF010000, 0xFFFE0003, + 0xFFF99FE1, 0x23C5FDFF, 0xB0004000, 0x00030003, + 0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000, + 0xFFFBBFE0, 0x23EDFDFF, 0x00010000, 0x02000003, + 0xFFF99FE0, 0x23EDFDFF, 0xB0000000, 0x00020003, + 0xD63DC7E8, 0x03FFC718, 0x00010000, 0x00000000, + 0xFFFDDFE0, 0x23FFFDFF, 0x07000000, 0x00000003, + 0xFFFDDFE1, 0x23EFFDFF, 0x40000000, 0x00060003, + 0xFFFDDFE0, 0x27FFFFFF, 0x80704000, 0xFC000003, + 0xFC7FFFE0, 0x2FFBFFFF, 0x0000007F, 0x00000000, + 0xFFFFFFFE, 0x0005FFFF, 0x0000007F, 0x00000000, + 0xFEF02596, 0x2005ECAE, 0xF000005F, 0x00000000, + 0x00000001, 0x00000000, 0xFFFFFEFF, 0x00001FFF, + 0x00001F00, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x800007FF, 0x3C3F0000, 0xFFE1C062, + 0x00004003, 0xFFFFFFFF, 0xFFFF20BF, 0xF7FFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3D7F3DFF, 0xFFFFFFFF, + 0xFFFF3DFF, 0x7F3DFFFF, 0xFF7FFF3D, 0xFFFFFFFF, + 0xFF3DFFFF, 0xFFFFFFFF, 0x07FFFFFF, 0x00000000, + 0x0000FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x3F3FFFFF, + 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF9FFF, + 0x07FFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0x01FFC7FF, + 0x0003DFFF, 0x0003FFFF, 0x0003FFFF, 0x0001DFFF, + 0xFFFFFFFF, 0x000FFFFF, 0x10800000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF, + 0xFFFFFFFF, 0xFFFF05FF, 0xFFFFFFFF, 0x003FFFFF, + 0x7FFFFFFF, 0x00000000, 0xFFFF0000, 0x001F3FFF, + 0xFFFFFFFF, 0xFFFF0FFF, 0x000003FF, 0x00000000, + 0x007FFFFF, 0xFFFFFFFF, 0x001FFFFF, 0x00000000, + 0x00000000, 0x00000080, 0x00000000, 0x00000000, + 0xFFFFFFE0, 0x000FFFFF, 0x00000FE0, 0x00000000, + 0xFFFFFFF8, 0xFC00C001, 0xFFFFFFFF, 0x0000003F, + 0xFFFFFFFF, 0x0000000F, 0xFC00E000, 0x3FFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x0063DE00, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF, + 0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF, + 0x00000000, 0x00000000, 0x00000000, 0x80020000, + 0x1FFF0000, 0x00000000, 0x00000000, 0x00000000, + 0x3F2FFC84, 0xF3FFFD50, 0x000043E0, 0xFFFFFFFF, + 0x000001FF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFF7FFF, 0x7FFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000C781F, + 0xFFFFFFFF, 0xFFFF20BF, 0xFFFFFFFF, 0x000080FF, + 0x007FFFFF, 0x7F7F7F7F, 0x7F7F7F7F, 0x00000000, + 0x000000E0, 0x1F3E03FE, 0xFFFFFFFE, 0xFFFFFFFF, + 0xE07FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xF7FFFFFF, + 0xFFFFFFE0, 0xFFFE3FFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00007FFF, 0x07FFFFFF, 0x00000000, 0xFFFF0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x003FFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x003FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00001FFF, 0x00000000, 0xFFFF0000, 0x3FFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFF1FFF, 0x00000C00, 0xFFFFFFFF, 0x80007FFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000FFFF, + 0xFF800000, 0xFFFFFFFC, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFF9FF, 0x00FF7FFF, 0x00000000, 0xFF800000, + 0xFFFFF7BB, 0x00000007, 0xFFFFFFFF, 0x000FFFFF, + 0xFFFFFFFC, 0x000FFFFF, 0x00000000, 0x28FC0000, + 0xFFFFFC00, 0xFFFF003F, 0x0000007F, 0x1FFFFFFF, + 0xFFFFFFF0, 0x0007FFFF, 0x00008000, 0x7C00FFDF, + 0xFFFFFFFF, 0x000001FF, 0x00000FF7, 0xC47FFFFF, + 0xFFFFFFFF, 0x3E62FFFF, 0x38000005, 0x001C07FF, + 0x007E7E7E, 0xFFFF7F7F, 0xF7FFFFFF, 0xFFFF003F, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFF000F, 0xFFFFF87F, 0x0FFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0x00000000, + 0xA0F8007F, 0x5F7FFDFF, 0xFFFFFFDB, 0xFFFFFFFF, + 0xFFFFFFFF, 0x0003FFFF, 0xFFF80000, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFFFFF0, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x3FFFFFFF, 0xFFFF0000, 0xFFFFFFFF, + 0xFFFCFFFF, 0xFFFFFFFF, 0x000000FF, 0x03FF0000, + 0x00000000, 0x00000000, 0x00000000, 0xAA8A0000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFFFFFF, + 0x00000000, 0x07FFFFFE, 0x07FFFFFE, 0xFFFFFFC0, + 0x3FFFFFFF, 0x7FFFFFFF, 0x1CFCFCFC, 0x00000000, + 0xFFFFEFFF, 0xB7FFFF7F, 0x3FFF3FFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x07FFFFFF, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x001FFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1FFFFFFF, 0xFFFFFFFF, 0x0001FFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFF0000, 0xFFFF07FF, 0x003FFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0x003EFF0F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFF0000, 0xFF0FFFFF, 0x0FFFFFFF, + 0xFFFFFFFF, 0xFFFF00FF, 0xFFFFFFFF, 0x0000000F, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x007FFFFF, 0x003FFFFF, 0x000000FF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFD3F, 0x91BFFFFF, 0x003FFFFF, 0x007FFFFF, + 0x7FFFFFFF, 0x00000000, 0x00000000, 0x0037FFFF, + 0x003FFFFF, 0x03FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xC0FFFFFF, 0x00000000, 0x00000000, + 0xFEEF0001, 0x000FFFFF, 0x00000000, 0x1FFFFFFF, + 0x1FFFFFFF, 0x00000000, 0xFFFFFEFF, 0x0000001F, + 0xFFFFFFFF, 0x003FFFFF, 0x003FFFFF, 0x0007FFFF, + 0x0003FFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x000001FF, 0x00000000, + 0xFFFFFFFF, 0x0007FFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x00FFFFFF, 0x00000000, 0x00000000, + 0xFFFFFFF8, 0x0000FFFF, 0xFFFF0000, 0x000001FF, + 0xFFFFFFF8, 0x0000007F, 0xFFFF0000, 0x0047FFFF, + 0xFFFFFFF8, 0x0007FFFF, 0x1400001E, 0x00000000, + 0xFFFBFFFF, 0x00000FFF, 0x00000000, 0x00000000, + 0xBFFFBD7F, 0xFFFF01FF, 0x7FFFFFFF, 0x00000000, + 0xFFF99FE0, 0x23EDFDFF, 0xE0010000, 0x00000003, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x001FFFFF, 0x00000780, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x000000B0, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x0F000000, 0x00000000, + 0xFFFFFFFF, 0x0000FFFF, 0x00000010, 0x00000000, + 0xFFFFFFFF, 0x000007FF, 0x00000000, 0x00000000, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x01FFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFDFF, 0x00007FFF, 0x00000001, 0xFFFC0000, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x03FFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00007FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x00007FFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000007F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0x01FFFFFF, 0x7FFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0xFFFF0000, 0x00003FFF, + 0xFFFFFFFF, 0x0000FFFF, 0x0000000F, 0xE0FFFFF8, + 0x0000FFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0001001F, 0x00000000, + 0xFFF80000, 0x00000000, 0x00000000, 0x00000001, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00001FFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0007FFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000003, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x1FFF07FF, + 0x03FF01FF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDFFFFF, 0xFFFFFFFF, + 0xDFFFFFFF, 0xEBFFDE64, 0xFFFFFFEF, 0xFFFFFFFF, + 0xDFDFE7BF, 0x7BFFFFFF, 0xFFFDFC5F, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFF3F, 0xF7FFFFFD, 0xF7FFFFFF, + 0xFFDFFFFF, 0xFFDFFFFF, 0xFFFF7FFF, 0xFFFF7FFF, + 0xFFFFFDFF, 0xFFFFFDFF, 0x00000FF7, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000001F, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFEF, 0x0AF7FE96, 0xAA96EA84, 0x5EF7F796, + 0x0FFFFBFF, 0x0FFFFBEE, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0x007FFFFF, 0x00000000, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x001FFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x3FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0x00000003, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x3FFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/pr_zero_width.c b/gllib/unictype/pr_zero_width.c new file mode 100644 index 0000000..08eb416 --- /dev/null +++ b/gllib/unictype/pr_zero_width.c @@ -0,0 +1,35 @@ +/* Properties of Unicode characters. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include "bitmap.h" + +/* Define u_property_zero_width table. */ +#include "pr_zero_width.h" + +bool +uc_is_property_zero_width (ucs4_t uc) +{ + return bitmap_lookup (&u_property_zero_width, uc); +} + +const uc_property_t UC_PROPERTY_ZERO_WIDTH = + { &uc_is_property_zero_width }; diff --git a/gllib/unictype/pr_zero_width.h b/gllib/unictype/pr_zero_width.h new file mode 100644 index 0000000..aab1e91 --- /dev/null +++ b/gllib/unictype/pr_zero_width.h @@ -0,0 +1,464 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Properties of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +#define header_0 16 +#define header_2 9 +#define header_3 127 +#define header_4 15 +static const +struct + { + int header[1]; + int level1[15]; + short level2[3 << 7]; + /*unsigned*/ int level3[10 << 4]; + } +u_property_zero_width = +{ + { 15 }, + { + 16 * sizeof (int) / sizeof (short) + 0, + 16 * sizeof (int) / sizeof (short) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 * sizeof (int) / sizeof (short) + 256 + }, + { + 16 + 384 * sizeof (short) / sizeof (int) + 0, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 16, + 16 + 384 * sizeof (short) / sizeof (int) + 32, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 48, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 64, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 80, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 96, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 112, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 128, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 16 + 384 * sizeof (short) / sizeof (int) + 144, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + }, + { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00002000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x1000003F, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x20000000, 0x00000000, + 0x00008000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000004, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00004000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x0000F800, 0x00007C00, 0x00000000, 0x0000FFDF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x80000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x0E000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x20000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x0000000F, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x07F80000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000002, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000 + } +}; diff --git a/gllib/unictype/scripts.c b/gllib/unictype/scripts.c new file mode 100644 index 0000000..877c938 --- /dev/null +++ b/gllib/unictype/scripts.c @@ -0,0 +1,75 @@ +/* Scripts of Unicode characters. + Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2007. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unictype.h" + +#include + +#include "scripts.h" +#include "unictype/scripts_byname.h" + +const uc_script_t * +uc_script (ucs4_t uc) +{ + unsigned int index1 = uc >> script_header_0; + if (index1 < script_header_1) + { + int lookup1 = u_script.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> script_header_2) & script_header_3; + int lookup2 = u_script.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = (uc & script_header_4); + unsigned char lookup3 = u_script.level3[lookup2 + index3]; + + if (lookup3 != 0xff) + return &scripts[lookup3]; + } + } + } + return NULL; +} + +const uc_script_t * +uc_script_byname (const char *script_name) +{ + const struct named_script *found; + + found = uc_script_lookup (script_name, strlen (script_name)); + if (found != NULL) + return &scripts[found->index]; + else + return NULL; +} + +bool +uc_is_script (ucs4_t uc, const uc_script_t *script) +{ + return uc_script (uc) == script; +} + +void +uc_all_scripts (const uc_script_t **scriptsp, size_t *countp) +{ + *scriptsp = scripts; + *countp = sizeof (scripts) / sizeof (scripts[0]); +} diff --git a/gllib/unictype/scripts.h b/gllib/unictype/scripts.h new file mode 100644 index 0000000..85bd699 --- /dev/null +++ b/gllib/unictype/scripts.h @@ -0,0 +1,5561 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Unicode scripts. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +static const uc_interval_t script_common_intervals[] = +{ + { 0x0000, 1, 0 }, { 0x0040, 0, 1 }, + { 0x005B, 1, 0 }, { 0x0060, 0, 1 }, + { 0x007B, 1, 0 }, { 0x00A9, 0, 1 }, + { 0x00AB, 1, 0 }, { 0x00B9, 0, 1 }, + { 0x00BB, 1, 0 }, { 0x00BF, 0, 1 }, + { 0x00D7, 1, 1 }, + { 0x00F7, 1, 1 }, + { 0x02B9, 1, 0 }, { 0x02DF, 0, 1 }, + { 0x02E5, 1, 0 }, { 0x02E9, 0, 1 }, + { 0x02EC, 1, 0 }, { 0x02FF, 0, 1 }, + { 0x0374, 1, 1 }, + { 0x037E, 1, 1 }, + { 0x0385, 1, 1 }, + { 0x0387, 1, 1 }, + { 0x0589, 1, 1 }, + { 0x0605, 1, 1 }, + { 0x060C, 1, 1 }, + { 0x061B, 1, 0 }, { 0x061C, 0, 1 }, + { 0x061F, 1, 1 }, + { 0x0640, 1, 1 }, + { 0x06DD, 1, 1 }, + { 0x08E2, 1, 1 }, + { 0x0964, 1, 0 }, { 0x0965, 0, 1 }, + { 0x0E3F, 1, 1 }, + { 0x0FD5, 1, 0 }, { 0x0FD8, 0, 1 }, + { 0x10FB, 1, 1 }, + { 0x16EB, 1, 0 }, { 0x16ED, 0, 1 }, + { 0x1735, 1, 0 }, { 0x1736, 0, 1 }, + { 0x1802, 1, 0 }, { 0x1803, 0, 1 }, + { 0x1805, 1, 1 }, + { 0x1CD3, 1, 1 }, + { 0x1CE1, 1, 1 }, + { 0x1CE9, 1, 0 }, { 0x1CEC, 0, 1 }, + { 0x1CEE, 1, 0 }, { 0x1CF3, 0, 1 }, + { 0x1CF5, 1, 0 }, { 0x1CF6, 0, 1 }, + { 0x2000, 1, 0 }, { 0x200B, 0, 1 }, + { 0x200E, 1, 0 }, { 0x2064, 0, 1 }, + { 0x2066, 1, 0 }, { 0x2070, 0, 1 }, + { 0x2074, 1, 0 }, { 0x207E, 0, 1 }, + { 0x2080, 1, 0 }, { 0x208E, 0, 1 }, + { 0x20A0, 1, 0 }, { 0x20BE, 0, 1 }, + { 0x2100, 1, 0 }, { 0x2125, 0, 1 }, + { 0x2127, 1, 0 }, { 0x2129, 0, 1 }, + { 0x212C, 1, 0 }, { 0x2131, 0, 1 }, + { 0x2133, 1, 0 }, { 0x214D, 0, 1 }, + { 0x214F, 1, 0 }, { 0x215F, 0, 1 }, + { 0x2189, 1, 0 }, { 0x218B, 0, 1 }, + { 0x2190, 1, 0 }, { 0x23FE, 0, 1 }, + { 0x2400, 1, 0 }, { 0x2426, 0, 1 }, + { 0x2440, 1, 0 }, { 0x244A, 0, 1 }, + { 0x2460, 1, 0 }, { 0x27FF, 0, 1 }, + { 0x2900, 1, 0 }, { 0x2B73, 0, 1 }, + { 0x2B76, 1, 0 }, { 0x2B95, 0, 1 }, + { 0x2B98, 1, 0 }, { 0x2BB9, 0, 1 }, + { 0x2BBD, 1, 0 }, { 0x2BC8, 0, 1 }, + { 0x2BCA, 1, 0 }, { 0x2BD1, 0, 1 }, + { 0x2BEC, 1, 0 }, { 0x2BEF, 0, 1 }, + { 0x2E00, 1, 0 }, { 0x2E44, 0, 1 }, + { 0x2FF0, 1, 0 }, { 0x2FFB, 0, 1 }, + { 0x3000, 1, 0 }, { 0x3004, 0, 1 }, + { 0x3006, 1, 1 }, + { 0x3008, 1, 0 }, { 0x3020, 0, 1 }, + { 0x3030, 1, 0 }, { 0x3037, 0, 1 }, + { 0x303C, 1, 0 }, { 0x303F, 0, 1 }, + { 0x309B, 1, 0 }, { 0x309C, 0, 1 }, + { 0x30A0, 1, 1 }, + { 0x30FB, 1, 0 }, { 0x30FC, 0, 1 }, + { 0x3190, 1, 0 }, { 0x319F, 0, 1 }, + { 0x31C0, 1, 0 }, { 0x31E3, 0, 1 }, + { 0x3220, 1, 0 }, { 0x325F, 0, 1 }, + { 0x327F, 1, 0 }, { 0x32CF, 0, 1 }, + { 0x3358, 1, 0 }, { 0x33FF, 0, 1 }, + { 0x4DC0, 1, 0 }, { 0x4DFF, 0, 1 }, + { 0xA700, 1, 0 }, { 0xA721, 0, 1 }, + { 0xA788, 1, 0 }, { 0xA78A, 0, 1 }, + { 0xA830, 1, 0 }, { 0xA839, 0, 1 }, + { 0xA92E, 1, 1 }, + { 0xA9CF, 1, 1 }, + { 0xAB5B, 1, 1 }, + { 0xFD3E, 1, 0 }, { 0xFD3F, 0, 1 }, + { 0xFE10, 1, 0 }, { 0xFE19, 0, 1 }, + { 0xFE30, 1, 0 }, { 0xFE52, 0, 1 }, + { 0xFE54, 1, 0 }, { 0xFE66, 0, 1 }, + { 0xFE68, 1, 0 }, { 0xFE6B, 0, 1 }, + { 0xFEFF, 1, 1 }, + { 0xFF01, 1, 0 }, { 0xFF20, 0, 1 }, + { 0xFF3B, 1, 0 }, { 0xFF40, 0, 1 }, + { 0xFF5B, 1, 0 }, { 0xFF65, 0, 1 }, + { 0xFF70, 1, 1 }, + { 0xFF9E, 1, 0 }, { 0xFF9F, 0, 1 }, + { 0xFFE0, 1, 0 }, { 0xFFE6, 0, 1 }, + { 0xFFE8, 1, 0 }, { 0xFFEE, 0, 1 }, + { 0xFFF9, 1, 0 }, { 0xFFFD, 0, 1 }, + { 0x10100, 1, 0 }, { 0x10102, 0, 1 }, + { 0x10107, 1, 0 }, { 0x10133, 0, 1 }, + { 0x10137, 1, 0 }, { 0x1013F, 0, 1 }, + { 0x10190, 1, 0 }, { 0x1019B, 0, 1 }, + { 0x101D0, 1, 0 }, { 0x101FC, 0, 1 }, + { 0x102E1, 1, 0 }, { 0x102FB, 0, 1 }, + { 0x1BCA0, 1, 0 }, { 0x1BCA3, 0, 1 }, + { 0x1D000, 1, 0 }, { 0x1D0F5, 0, 1 }, + { 0x1D100, 1, 0 }, { 0x1D126, 0, 1 }, + { 0x1D129, 1, 0 }, { 0x1D166, 0, 1 }, + { 0x1D16A, 1, 0 }, { 0x1D17A, 0, 1 }, + { 0x1D183, 1, 0 }, { 0x1D184, 0, 1 }, + { 0x1D18C, 1, 0 }, { 0x1D1A9, 0, 1 }, + { 0x1D1AE, 1, 0 }, { 0x1D1E8, 0, 1 }, + { 0x1D300, 1, 0 }, { 0x1D356, 0, 1 }, + { 0x1D360, 1, 0 }, { 0x1D371, 0, 1 }, + { 0x1D400, 1, 0 }, { 0x1D454, 0, 1 }, + { 0x1D456, 1, 0 }, { 0x1D49C, 0, 1 }, + { 0x1D49E, 1, 0 }, { 0x1D49F, 0, 1 }, + { 0x1D4A2, 1, 1 }, + { 0x1D4A5, 1, 0 }, { 0x1D4A6, 0, 1 }, + { 0x1D4A9, 1, 0 }, { 0x1D4AC, 0, 1 }, + { 0x1D4AE, 1, 0 }, { 0x1D4B9, 0, 1 }, + { 0x1D4BB, 1, 1 }, + { 0x1D4BD, 1, 0 }, { 0x1D4C3, 0, 1 }, + { 0x1D4C5, 1, 0 }, { 0x1D505, 0, 1 }, + { 0x1D507, 1, 0 }, { 0x1D50A, 0, 1 }, + { 0x1D50D, 1, 0 }, { 0x1D514, 0, 1 }, + { 0x1D516, 1, 0 }, { 0x1D51C, 0, 1 }, + { 0x1D51E, 1, 0 }, { 0x1D539, 0, 1 }, + { 0x1D53B, 1, 0 }, { 0x1D53E, 0, 1 }, + { 0x1D540, 1, 0 }, { 0x1D544, 0, 1 }, + { 0x1D546, 1, 1 }, + { 0x1D54A, 1, 0 }, { 0x1D550, 0, 1 }, + { 0x1D552, 1, 0 }, { 0x1D6A5, 0, 1 }, + { 0x1D6A8, 1, 0 }, { 0x1D7CB, 0, 1 }, + { 0x1D7CE, 1, 0 }, { 0x1D7FF, 0, 1 }, + { 0x1F000, 1, 0 }, { 0x1F02B, 0, 1 }, + { 0x1F030, 1, 0 }, { 0x1F093, 0, 1 }, + { 0x1F0A0, 1, 0 }, { 0x1F0AE, 0, 1 }, + { 0x1F0B1, 1, 0 }, { 0x1F0BF, 0, 1 }, + { 0x1F0C1, 1, 0 }, { 0x1F0CF, 0, 1 }, + { 0x1F0D1, 1, 0 }, { 0x1F0F5, 0, 1 }, + { 0x1F100, 1, 0 }, { 0x1F10C, 0, 1 }, + { 0x1F110, 1, 0 }, { 0x1F12E, 0, 1 }, + { 0x1F130, 1, 0 }, { 0x1F16B, 0, 1 }, + { 0x1F170, 1, 0 }, { 0x1F1AC, 0, 1 }, + { 0x1F1E6, 1, 0 }, { 0x1F1FF, 0, 1 }, + { 0x1F201, 1, 0 }, { 0x1F202, 0, 1 }, + { 0x1F210, 1, 0 }, { 0x1F23B, 0, 1 }, + { 0x1F240, 1, 0 }, { 0x1F248, 0, 1 }, + { 0x1F250, 1, 0 }, { 0x1F251, 0, 1 }, + { 0x1F300, 1, 0 }, { 0x1F6D2, 0, 1 }, + { 0x1F6E0, 1, 0 }, { 0x1F6EC, 0, 1 }, + { 0x1F6F0, 1, 0 }, { 0x1F6F6, 0, 1 }, + { 0x1F700, 1, 0 }, { 0x1F773, 0, 1 }, + { 0x1F780, 1, 0 }, { 0x1F7D4, 0, 1 }, + { 0x1F800, 1, 0 }, { 0x1F80B, 0, 1 }, + { 0x1F810, 1, 0 }, { 0x1F847, 0, 1 }, + { 0x1F850, 1, 0 }, { 0x1F859, 0, 1 }, + { 0x1F860, 1, 0 }, { 0x1F887, 0, 1 }, + { 0x1F890, 1, 0 }, { 0x1F8AD, 0, 1 }, + { 0x1F910, 1, 0 }, { 0x1F91E, 0, 1 }, + { 0x1F920, 1, 0 }, { 0x1F927, 0, 1 }, + { 0x1F930, 1, 1 }, + { 0x1F933, 1, 0 }, { 0x1F93E, 0, 1 }, + { 0x1F940, 1, 0 }, { 0x1F94B, 0, 1 }, + { 0x1F950, 1, 0 }, { 0x1F95E, 0, 1 }, + { 0x1F980, 1, 0 }, { 0x1F991, 0, 1 }, + { 0x1F9C0, 1, 1 }, + { 0xE0001, 1, 1 }, + { 0xE0020, 1, 0 }, { 0xE007F, 0, 1 } +}; +static const uc_interval_t script_latin_intervals[] = +{ + { 0x0041, 1, 0 }, { 0x005A, 0, 1 }, + { 0x0061, 1, 0 }, { 0x007A, 0, 1 }, + { 0x00AA, 1, 1 }, + { 0x00BA, 1, 1 }, + { 0x00C0, 1, 0 }, { 0x00D6, 0, 1 }, + { 0x00D8, 1, 0 }, { 0x00F6, 0, 1 }, + { 0x00F8, 1, 0 }, { 0x02B8, 0, 1 }, + { 0x02E0, 1, 0 }, { 0x02E4, 0, 1 }, + { 0x1D00, 1, 0 }, { 0x1D25, 0, 1 }, + { 0x1D2C, 1, 0 }, { 0x1D5C, 0, 1 }, + { 0x1D62, 1, 0 }, { 0x1D65, 0, 1 }, + { 0x1D6B, 1, 0 }, { 0x1D77, 0, 1 }, + { 0x1D79, 1, 0 }, { 0x1DBE, 0, 1 }, + { 0x1E00, 1, 0 }, { 0x1EFF, 0, 1 }, + { 0x2071, 1, 1 }, + { 0x207F, 1, 1 }, + { 0x2090, 1, 0 }, { 0x209C, 0, 1 }, + { 0x212A, 1, 0 }, { 0x212B, 0, 1 }, + { 0x2132, 1, 1 }, + { 0x214E, 1, 1 }, + { 0x2160, 1, 0 }, { 0x2188, 0, 1 }, + { 0x2C60, 1, 0 }, { 0x2C7F, 0, 1 }, + { 0xA722, 1, 0 }, { 0xA787, 0, 1 }, + { 0xA78B, 1, 0 }, { 0xA7AE, 0, 1 }, + { 0xA7B0, 1, 0 }, { 0xA7B7, 0, 1 }, + { 0xA7F7, 1, 0 }, { 0xA7FF, 0, 1 }, + { 0xAB30, 1, 0 }, { 0xAB5A, 0, 1 }, + { 0xAB5C, 1, 0 }, { 0xAB64, 0, 1 }, + { 0xFB00, 1, 0 }, { 0xFB06, 0, 1 }, + { 0xFF21, 1, 0 }, { 0xFF3A, 0, 1 }, + { 0xFF41, 1, 0 }, { 0xFF5A, 0, 1 } +}; +static const uc_interval_t script_greek_intervals[] = +{ + { 0x0370, 1, 0 }, { 0x0373, 0, 1 }, + { 0x0375, 1, 0 }, { 0x0377, 0, 1 }, + { 0x037A, 1, 0 }, { 0x037D, 0, 1 }, + { 0x037F, 1, 1 }, + { 0x0384, 1, 1 }, + { 0x0386, 1, 1 }, + { 0x0388, 1, 0 }, { 0x038A, 0, 1 }, + { 0x038C, 1, 1 }, + { 0x038E, 1, 0 }, { 0x03A1, 0, 1 }, + { 0x03A3, 1, 0 }, { 0x03E1, 0, 1 }, + { 0x03F0, 1, 0 }, { 0x03FF, 0, 1 }, + { 0x1D26, 1, 0 }, { 0x1D2A, 0, 1 }, + { 0x1D5D, 1, 0 }, { 0x1D61, 0, 1 }, + { 0x1D66, 1, 0 }, { 0x1D6A, 0, 1 }, + { 0x1DBF, 1, 1 }, + { 0x1F00, 1, 0 }, { 0x1F15, 0, 1 }, + { 0x1F18, 1, 0 }, { 0x1F1D, 0, 1 }, + { 0x1F20, 1, 0 }, { 0x1F45, 0, 1 }, + { 0x1F48, 1, 0 }, { 0x1F4D, 0, 1 }, + { 0x1F50, 1, 0 }, { 0x1F57, 0, 1 }, + { 0x1F59, 1, 1 }, + { 0x1F5B, 1, 1 }, + { 0x1F5D, 1, 1 }, + { 0x1F5F, 1, 0 }, { 0x1F7D, 0, 1 }, + { 0x1F80, 1, 0 }, { 0x1FB4, 0, 1 }, + { 0x1FB6, 1, 0 }, { 0x1FC4, 0, 1 }, + { 0x1FC6, 1, 0 }, { 0x1FD3, 0, 1 }, + { 0x1FD6, 1, 0 }, { 0x1FDB, 0, 1 }, + { 0x1FDD, 1, 0 }, { 0x1FEF, 0, 1 }, + { 0x1FF2, 1, 0 }, { 0x1FF4, 0, 1 }, + { 0x1FF6, 1, 0 }, { 0x1FFE, 0, 1 }, + { 0x2126, 1, 1 }, + { 0xAB65, 1, 1 }, + { 0x10140, 1, 0 }, { 0x1018E, 0, 1 }, + { 0x101A0, 1, 1 }, + { 0x1D200, 1, 0 }, { 0x1D245, 0, 1 } +}; +static const uc_interval_t script_cyrillic_intervals[] = +{ + { 0x0400, 1, 0 }, { 0x0484, 0, 1 }, + { 0x0487, 1, 0 }, { 0x052F, 0, 1 }, + { 0x1C80, 1, 0 }, { 0x1C88, 0, 1 }, + { 0x1D2B, 1, 1 }, + { 0x1D78, 1, 1 }, + { 0x2DE0, 1, 0 }, { 0x2DFF, 0, 1 }, + { 0xA640, 1, 0 }, { 0xA69F, 0, 1 }, + { 0xFE2E, 1, 0 }, { 0xFE2F, 0, 1 } +}; +static const uc_interval_t script_armenian_intervals[] = +{ + { 0x0531, 1, 0 }, { 0x0556, 0, 1 }, + { 0x0559, 1, 0 }, { 0x055F, 0, 1 }, + { 0x0561, 1, 0 }, { 0x0587, 0, 1 }, + { 0x058A, 1, 1 }, + { 0x058D, 1, 0 }, { 0x058F, 0, 1 }, + { 0xFB13, 1, 0 }, { 0xFB17, 0, 1 } +}; +static const uc_interval_t script_hebrew_intervals[] = +{ + { 0x0591, 1, 0 }, { 0x05C7, 0, 1 }, + { 0x05D0, 1, 0 }, { 0x05EA, 0, 1 }, + { 0x05F0, 1, 0 }, { 0x05F4, 0, 1 }, + { 0xFB1D, 1, 0 }, { 0xFB36, 0, 1 }, + { 0xFB38, 1, 0 }, { 0xFB3C, 0, 1 }, + { 0xFB3E, 1, 1 }, + { 0xFB40, 1, 0 }, { 0xFB41, 0, 1 }, + { 0xFB43, 1, 0 }, { 0xFB44, 0, 1 }, + { 0xFB46, 1, 0 }, { 0xFB4F, 0, 1 } +}; +static const uc_interval_t script_arabic_intervals[] = +{ + { 0x0600, 1, 0 }, { 0x0604, 0, 1 }, + { 0x0606, 1, 0 }, { 0x060B, 0, 1 }, + { 0x060D, 1, 0 }, { 0x061A, 0, 1 }, + { 0x061E, 1, 1 }, + { 0x0620, 1, 0 }, { 0x063F, 0, 1 }, + { 0x0641, 1, 0 }, { 0x064A, 0, 1 }, + { 0x0656, 1, 0 }, { 0x066F, 0, 1 }, + { 0x0671, 1, 0 }, { 0x06DC, 0, 1 }, + { 0x06DE, 1, 0 }, { 0x06FF, 0, 1 }, + { 0x0750, 1, 0 }, { 0x077F, 0, 1 }, + { 0x08A0, 1, 0 }, { 0x08B4, 0, 1 }, + { 0x08B6, 1, 0 }, { 0x08BD, 0, 1 }, + { 0x08D4, 1, 0 }, { 0x08E1, 0, 1 }, + { 0x08E3, 1, 0 }, { 0x08FF, 0, 1 }, + { 0xFB50, 1, 0 }, { 0xFBC1, 0, 1 }, + { 0xFBD3, 1, 0 }, { 0xFD3D, 0, 1 }, + { 0xFD50, 1, 0 }, { 0xFD8F, 0, 1 }, + { 0xFD92, 1, 0 }, { 0xFDC7, 0, 1 }, + { 0xFDF0, 1, 0 }, { 0xFDFD, 0, 1 }, + { 0xFE70, 1, 0 }, { 0xFE74, 0, 1 }, + { 0xFE76, 1, 0 }, { 0xFEFC, 0, 1 }, + { 0x10E60, 1, 0 }, { 0x10E7E, 0, 1 }, + { 0x1EE00, 1, 0 }, { 0x1EE03, 0, 1 }, + { 0x1EE05, 1, 0 }, { 0x1EE1F, 0, 1 }, + { 0x1EE21, 1, 0 }, { 0x1EE22, 0, 1 }, + { 0x1EE24, 1, 1 }, + { 0x1EE27, 1, 1 }, + { 0x1EE29, 1, 0 }, { 0x1EE32, 0, 1 }, + { 0x1EE34, 1, 0 }, { 0x1EE37, 0, 1 }, + { 0x1EE39, 1, 1 }, + { 0x1EE3B, 1, 1 }, + { 0x1EE42, 1, 1 }, + { 0x1EE47, 1, 1 }, + { 0x1EE49, 1, 1 }, + { 0x1EE4B, 1, 1 }, + { 0x1EE4D, 1, 0 }, { 0x1EE4F, 0, 1 }, + { 0x1EE51, 1, 0 }, { 0x1EE52, 0, 1 }, + { 0x1EE54, 1, 1 }, + { 0x1EE57, 1, 1 }, + { 0x1EE59, 1, 1 }, + { 0x1EE5B, 1, 1 }, + { 0x1EE5D, 1, 1 }, + { 0x1EE5F, 1, 1 }, + { 0x1EE61, 1, 0 }, { 0x1EE62, 0, 1 }, + { 0x1EE64, 1, 1 }, + { 0x1EE67, 1, 0 }, { 0x1EE6A, 0, 1 }, + { 0x1EE6C, 1, 0 }, { 0x1EE72, 0, 1 }, + { 0x1EE74, 1, 0 }, { 0x1EE77, 0, 1 }, + { 0x1EE79, 1, 0 }, { 0x1EE7C, 0, 1 }, + { 0x1EE7E, 1, 1 }, + { 0x1EE80, 1, 0 }, { 0x1EE89, 0, 1 }, + { 0x1EE8B, 1, 0 }, { 0x1EE9B, 0, 1 }, + { 0x1EEA1, 1, 0 }, { 0x1EEA3, 0, 1 }, + { 0x1EEA5, 1, 0 }, { 0x1EEA9, 0, 1 }, + { 0x1EEAB, 1, 0 }, { 0x1EEBB, 0, 1 }, + { 0x1EEF0, 1, 0 }, { 0x1EEF1, 0, 1 } +}; +static const uc_interval_t script_syriac_intervals[] = +{ + { 0x0700, 1, 0 }, { 0x070D, 0, 1 }, + { 0x070F, 1, 0 }, { 0x074A, 0, 1 }, + { 0x074D, 1, 0 }, { 0x074F, 0, 1 } +}; +static const uc_interval_t script_thaana_intervals[] = +{ + { 0x0780, 1, 0 }, { 0x07B1, 0, 1 } +}; +static const uc_interval_t script_devanagari_intervals[] = +{ + { 0x0900, 1, 0 }, { 0x0950, 0, 1 }, + { 0x0953, 1, 0 }, { 0x0963, 0, 1 }, + { 0x0966, 1, 0 }, { 0x097F, 0, 1 }, + { 0xA8E0, 1, 0 }, { 0xA8FD, 0, 1 } +}; +static const uc_interval_t script_bengali_intervals[] = +{ + { 0x0980, 1, 0 }, { 0x0983, 0, 1 }, + { 0x0985, 1, 0 }, { 0x098C, 0, 1 }, + { 0x098F, 1, 0 }, { 0x0990, 0, 1 }, + { 0x0993, 1, 0 }, { 0x09A8, 0, 1 }, + { 0x09AA, 1, 0 }, { 0x09B0, 0, 1 }, + { 0x09B2, 1, 1 }, + { 0x09B6, 1, 0 }, { 0x09B9, 0, 1 }, + { 0x09BC, 1, 0 }, { 0x09C4, 0, 1 }, + { 0x09C7, 1, 0 }, { 0x09C8, 0, 1 }, + { 0x09CB, 1, 0 }, { 0x09CE, 0, 1 }, + { 0x09D7, 1, 1 }, + { 0x09DC, 1, 0 }, { 0x09DD, 0, 1 }, + { 0x09DF, 1, 0 }, { 0x09E3, 0, 1 }, + { 0x09E6, 1, 0 }, { 0x09FB, 0, 1 } +}; +static const uc_interval_t script_gurmukhi_intervals[] = +{ + { 0x0A01, 1, 0 }, { 0x0A03, 0, 1 }, + { 0x0A05, 1, 0 }, { 0x0A0A, 0, 1 }, + { 0x0A0F, 1, 0 }, { 0x0A10, 0, 1 }, + { 0x0A13, 1, 0 }, { 0x0A28, 0, 1 }, + { 0x0A2A, 1, 0 }, { 0x0A30, 0, 1 }, + { 0x0A32, 1, 0 }, { 0x0A33, 0, 1 }, + { 0x0A35, 1, 0 }, { 0x0A36, 0, 1 }, + { 0x0A38, 1, 0 }, { 0x0A39, 0, 1 }, + { 0x0A3C, 1, 1 }, + { 0x0A3E, 1, 0 }, { 0x0A42, 0, 1 }, + { 0x0A47, 1, 0 }, { 0x0A48, 0, 1 }, + { 0x0A4B, 1, 0 }, { 0x0A4D, 0, 1 }, + { 0x0A51, 1, 1 }, + { 0x0A59, 1, 0 }, { 0x0A5C, 0, 1 }, + { 0x0A5E, 1, 1 }, + { 0x0A66, 1, 0 }, { 0x0A75, 0, 1 } +}; +static const uc_interval_t script_gujarati_intervals[] = +{ + { 0x0A81, 1, 0 }, { 0x0A83, 0, 1 }, + { 0x0A85, 1, 0 }, { 0x0A8D, 0, 1 }, + { 0x0A8F, 1, 0 }, { 0x0A91, 0, 1 }, + { 0x0A93, 1, 0 }, { 0x0AA8, 0, 1 }, + { 0x0AAA, 1, 0 }, { 0x0AB0, 0, 1 }, + { 0x0AB2, 1, 0 }, { 0x0AB3, 0, 1 }, + { 0x0AB5, 1, 0 }, { 0x0AB9, 0, 1 }, + { 0x0ABC, 1, 0 }, { 0x0AC5, 0, 1 }, + { 0x0AC7, 1, 0 }, { 0x0AC9, 0, 1 }, + { 0x0ACB, 1, 0 }, { 0x0ACD, 0, 1 }, + { 0x0AD0, 1, 1 }, + { 0x0AE0, 1, 0 }, { 0x0AE3, 0, 1 }, + { 0x0AE6, 1, 0 }, { 0x0AF1, 0, 1 }, + { 0x0AF9, 1, 1 } +}; +static const uc_interval_t script_oriya_intervals[] = +{ + { 0x0B01, 1, 0 }, { 0x0B03, 0, 1 }, + { 0x0B05, 1, 0 }, { 0x0B0C, 0, 1 }, + { 0x0B0F, 1, 0 }, { 0x0B10, 0, 1 }, + { 0x0B13, 1, 0 }, { 0x0B28, 0, 1 }, + { 0x0B2A, 1, 0 }, { 0x0B30, 0, 1 }, + { 0x0B32, 1, 0 }, { 0x0B33, 0, 1 }, + { 0x0B35, 1, 0 }, { 0x0B39, 0, 1 }, + { 0x0B3C, 1, 0 }, { 0x0B44, 0, 1 }, + { 0x0B47, 1, 0 }, { 0x0B48, 0, 1 }, + { 0x0B4B, 1, 0 }, { 0x0B4D, 0, 1 }, + { 0x0B56, 1, 0 }, { 0x0B57, 0, 1 }, + { 0x0B5C, 1, 0 }, { 0x0B5D, 0, 1 }, + { 0x0B5F, 1, 0 }, { 0x0B63, 0, 1 }, + { 0x0B66, 1, 0 }, { 0x0B77, 0, 1 } +}; +static const uc_interval_t script_tamil_intervals[] = +{ + { 0x0B82, 1, 0 }, { 0x0B83, 0, 1 }, + { 0x0B85, 1, 0 }, { 0x0B8A, 0, 1 }, + { 0x0B8E, 1, 0 }, { 0x0B90, 0, 1 }, + { 0x0B92, 1, 0 }, { 0x0B95, 0, 1 }, + { 0x0B99, 1, 0 }, { 0x0B9A, 0, 1 }, + { 0x0B9C, 1, 1 }, + { 0x0B9E, 1, 0 }, { 0x0B9F, 0, 1 }, + { 0x0BA3, 1, 0 }, { 0x0BA4, 0, 1 }, + { 0x0BA8, 1, 0 }, { 0x0BAA, 0, 1 }, + { 0x0BAE, 1, 0 }, { 0x0BB9, 0, 1 }, + { 0x0BBE, 1, 0 }, { 0x0BC2, 0, 1 }, + { 0x0BC6, 1, 0 }, { 0x0BC8, 0, 1 }, + { 0x0BCA, 1, 0 }, { 0x0BCD, 0, 1 }, + { 0x0BD0, 1, 1 }, + { 0x0BD7, 1, 1 }, + { 0x0BE6, 1, 0 }, { 0x0BFA, 0, 1 } +}; +static const uc_interval_t script_telugu_intervals[] = +{ + { 0x0C00, 1, 0 }, { 0x0C03, 0, 1 }, + { 0x0C05, 1, 0 }, { 0x0C0C, 0, 1 }, + { 0x0C0E, 1, 0 }, { 0x0C10, 0, 1 }, + { 0x0C12, 1, 0 }, { 0x0C28, 0, 1 }, + { 0x0C2A, 1, 0 }, { 0x0C39, 0, 1 }, + { 0x0C3D, 1, 0 }, { 0x0C44, 0, 1 }, + { 0x0C46, 1, 0 }, { 0x0C48, 0, 1 }, + { 0x0C4A, 1, 0 }, { 0x0C4D, 0, 1 }, + { 0x0C55, 1, 0 }, { 0x0C56, 0, 1 }, + { 0x0C58, 1, 0 }, { 0x0C5A, 0, 1 }, + { 0x0C60, 1, 0 }, { 0x0C63, 0, 1 }, + { 0x0C66, 1, 0 }, { 0x0C6F, 0, 1 }, + { 0x0C78, 1, 0 }, { 0x0C7F, 0, 1 } +}; +static const uc_interval_t script_kannada_intervals[] = +{ + { 0x0C80, 1, 0 }, { 0x0C83, 0, 1 }, + { 0x0C85, 1, 0 }, { 0x0C8C, 0, 1 }, + { 0x0C8E, 1, 0 }, { 0x0C90, 0, 1 }, + { 0x0C92, 1, 0 }, { 0x0CA8, 0, 1 }, + { 0x0CAA, 1, 0 }, { 0x0CB3, 0, 1 }, + { 0x0CB5, 1, 0 }, { 0x0CB9, 0, 1 }, + { 0x0CBC, 1, 0 }, { 0x0CC4, 0, 1 }, + { 0x0CC6, 1, 0 }, { 0x0CC8, 0, 1 }, + { 0x0CCA, 1, 0 }, { 0x0CCD, 0, 1 }, + { 0x0CD5, 1, 0 }, { 0x0CD6, 0, 1 }, + { 0x0CDE, 1, 1 }, + { 0x0CE0, 1, 0 }, { 0x0CE3, 0, 1 }, + { 0x0CE6, 1, 0 }, { 0x0CEF, 0, 1 }, + { 0x0CF1, 1, 0 }, { 0x0CF2, 0, 1 } +}; +static const uc_interval_t script_malayalam_intervals[] = +{ + { 0x0D01, 1, 0 }, { 0x0D03, 0, 1 }, + { 0x0D05, 1, 0 }, { 0x0D0C, 0, 1 }, + { 0x0D0E, 1, 0 }, { 0x0D10, 0, 1 }, + { 0x0D12, 1, 0 }, { 0x0D3A, 0, 1 }, + { 0x0D3D, 1, 0 }, { 0x0D44, 0, 1 }, + { 0x0D46, 1, 0 }, { 0x0D48, 0, 1 }, + { 0x0D4A, 1, 0 }, { 0x0D4F, 0, 1 }, + { 0x0D54, 1, 0 }, { 0x0D63, 0, 1 }, + { 0x0D66, 1, 0 }, { 0x0D7F, 0, 1 } +}; +static const uc_interval_t script_sinhala_intervals[] = +{ + { 0x0D82, 1, 0 }, { 0x0D83, 0, 1 }, + { 0x0D85, 1, 0 }, { 0x0D96, 0, 1 }, + { 0x0D9A, 1, 0 }, { 0x0DB1, 0, 1 }, + { 0x0DB3, 1, 0 }, { 0x0DBB, 0, 1 }, + { 0x0DBD, 1, 1 }, + { 0x0DC0, 1, 0 }, { 0x0DC6, 0, 1 }, + { 0x0DCA, 1, 1 }, + { 0x0DCF, 1, 0 }, { 0x0DD4, 0, 1 }, + { 0x0DD6, 1, 1 }, + { 0x0DD8, 1, 0 }, { 0x0DDF, 0, 1 }, + { 0x0DE6, 1, 0 }, { 0x0DEF, 0, 1 }, + { 0x0DF2, 1, 0 }, { 0x0DF4, 0, 1 }, + { 0x111E1, 1, 0 }, { 0x111F4, 0, 1 } +}; +static const uc_interval_t script_thai_intervals[] = +{ + { 0x0E01, 1, 0 }, { 0x0E3A, 0, 1 }, + { 0x0E40, 1, 0 }, { 0x0E5B, 0, 1 } +}; +static const uc_interval_t script_lao_intervals[] = +{ + { 0x0E81, 1, 0 }, { 0x0E82, 0, 1 }, + { 0x0E84, 1, 1 }, + { 0x0E87, 1, 0 }, { 0x0E88, 0, 1 }, + { 0x0E8A, 1, 1 }, + { 0x0E8D, 1, 1 }, + { 0x0E94, 1, 0 }, { 0x0E97, 0, 1 }, + { 0x0E99, 1, 0 }, { 0x0E9F, 0, 1 }, + { 0x0EA1, 1, 0 }, { 0x0EA3, 0, 1 }, + { 0x0EA5, 1, 1 }, + { 0x0EA7, 1, 1 }, + { 0x0EAA, 1, 0 }, { 0x0EAB, 0, 1 }, + { 0x0EAD, 1, 0 }, { 0x0EB9, 0, 1 }, + { 0x0EBB, 1, 0 }, { 0x0EBD, 0, 1 }, + { 0x0EC0, 1, 0 }, { 0x0EC4, 0, 1 }, + { 0x0EC6, 1, 1 }, + { 0x0EC8, 1, 0 }, { 0x0ECD, 0, 1 }, + { 0x0ED0, 1, 0 }, { 0x0ED9, 0, 1 }, + { 0x0EDC, 1, 0 }, { 0x0EDF, 0, 1 } +}; +static const uc_interval_t script_tibetan_intervals[] = +{ + { 0x0F00, 1, 0 }, { 0x0F47, 0, 1 }, + { 0x0F49, 1, 0 }, { 0x0F6C, 0, 1 }, + { 0x0F71, 1, 0 }, { 0x0F97, 0, 1 }, + { 0x0F99, 1, 0 }, { 0x0FBC, 0, 1 }, + { 0x0FBE, 1, 0 }, { 0x0FCC, 0, 1 }, + { 0x0FCE, 1, 0 }, { 0x0FD4, 0, 1 }, + { 0x0FD9, 1, 0 }, { 0x0FDA, 0, 1 } +}; +static const uc_interval_t script_myanmar_intervals[] = +{ + { 0x1000, 1, 0 }, { 0x109F, 0, 1 }, + { 0xA9E0, 1, 0 }, { 0xA9FE, 0, 1 }, + { 0xAA60, 1, 0 }, { 0xAA7F, 0, 1 } +}; +static const uc_interval_t script_georgian_intervals[] = +{ + { 0x10A0, 1, 0 }, { 0x10C5, 0, 1 }, + { 0x10C7, 1, 1 }, + { 0x10CD, 1, 1 }, + { 0x10D0, 1, 0 }, { 0x10FA, 0, 1 }, + { 0x10FC, 1, 0 }, { 0x10FF, 0, 1 }, + { 0x2D00, 1, 0 }, { 0x2D25, 0, 1 }, + { 0x2D27, 1, 1 }, + { 0x2D2D, 1, 1 } +}; +static const uc_interval_t script_hangul_intervals[] = +{ + { 0x1100, 1, 0 }, { 0x11FF, 0, 1 }, + { 0x302E, 1, 0 }, { 0x302F, 0, 1 }, + { 0x3131, 1, 0 }, { 0x318E, 0, 1 }, + { 0x3200, 1, 0 }, { 0x321E, 0, 1 }, + { 0x3260, 1, 0 }, { 0x327E, 0, 1 }, + { 0xA960, 1, 0 }, { 0xA97C, 0, 1 }, + { 0xAC00, 1, 0 }, { 0xD7A3, 0, 1 }, + { 0xD7B0, 1, 0 }, { 0xD7C6, 0, 1 }, + { 0xD7CB, 1, 0 }, { 0xD7FB, 0, 1 }, + { 0xFFA0, 1, 0 }, { 0xFFBE, 0, 1 }, + { 0xFFC2, 1, 0 }, { 0xFFC7, 0, 1 }, + { 0xFFCA, 1, 0 }, { 0xFFCF, 0, 1 }, + { 0xFFD2, 1, 0 }, { 0xFFD7, 0, 1 }, + { 0xFFDA, 1, 0 }, { 0xFFDC, 0, 1 } +}; +static const uc_interval_t script_ethiopic_intervals[] = +{ + { 0x1200, 1, 0 }, { 0x1248, 0, 1 }, + { 0x124A, 1, 0 }, { 0x124D, 0, 1 }, + { 0x1250, 1, 0 }, { 0x1256, 0, 1 }, + { 0x1258, 1, 1 }, + { 0x125A, 1, 0 }, { 0x125D, 0, 1 }, + { 0x1260, 1, 0 }, { 0x1288, 0, 1 }, + { 0x128A, 1, 0 }, { 0x128D, 0, 1 }, + { 0x1290, 1, 0 }, { 0x12B0, 0, 1 }, + { 0x12B2, 1, 0 }, { 0x12B5, 0, 1 }, + { 0x12B8, 1, 0 }, { 0x12BE, 0, 1 }, + { 0x12C0, 1, 1 }, + { 0x12C2, 1, 0 }, { 0x12C5, 0, 1 }, + { 0x12C8, 1, 0 }, { 0x12D6, 0, 1 }, + { 0x12D8, 1, 0 }, { 0x1310, 0, 1 }, + { 0x1312, 1, 0 }, { 0x1315, 0, 1 }, + { 0x1318, 1, 0 }, { 0x135A, 0, 1 }, + { 0x135D, 1, 0 }, { 0x137C, 0, 1 }, + { 0x1380, 1, 0 }, { 0x1399, 0, 1 }, + { 0x2D80, 1, 0 }, { 0x2D96, 0, 1 }, + { 0x2DA0, 1, 0 }, { 0x2DA6, 0, 1 }, + { 0x2DA8, 1, 0 }, { 0x2DAE, 0, 1 }, + { 0x2DB0, 1, 0 }, { 0x2DB6, 0, 1 }, + { 0x2DB8, 1, 0 }, { 0x2DBE, 0, 1 }, + { 0x2DC0, 1, 0 }, { 0x2DC6, 0, 1 }, + { 0x2DC8, 1, 0 }, { 0x2DCE, 0, 1 }, + { 0x2DD0, 1, 0 }, { 0x2DD6, 0, 1 }, + { 0x2DD8, 1, 0 }, { 0x2DDE, 0, 1 }, + { 0xAB01, 1, 0 }, { 0xAB06, 0, 1 }, + { 0xAB09, 1, 0 }, { 0xAB0E, 0, 1 }, + { 0xAB11, 1, 0 }, { 0xAB16, 0, 1 }, + { 0xAB20, 1, 0 }, { 0xAB26, 0, 1 }, + { 0xAB28, 1, 0 }, { 0xAB2E, 0, 1 } +}; +static const uc_interval_t script_cherokee_intervals[] = +{ + { 0x13A0, 1, 0 }, { 0x13F5, 0, 1 }, + { 0x13F8, 1, 0 }, { 0x13FD, 0, 1 }, + { 0xAB70, 1, 0 }, { 0xABBF, 0, 1 } +}; +static const uc_interval_t script_canadian_aboriginal_intervals[] = +{ + { 0x1400, 1, 0 }, { 0x167F, 0, 1 }, + { 0x18B0, 1, 0 }, { 0x18F5, 0, 1 } +}; +static const uc_interval_t script_ogham_intervals[] = +{ + { 0x1680, 1, 0 }, { 0x169C, 0, 1 } +}; +static const uc_interval_t script_runic_intervals[] = +{ + { 0x16A0, 1, 0 }, { 0x16EA, 0, 1 }, + { 0x16EE, 1, 0 }, { 0x16F8, 0, 1 } +}; +static const uc_interval_t script_khmer_intervals[] = +{ + { 0x1780, 1, 0 }, { 0x17DD, 0, 1 }, + { 0x17E0, 1, 0 }, { 0x17E9, 0, 1 }, + { 0x17F0, 1, 0 }, { 0x17F9, 0, 1 }, + { 0x19E0, 1, 0 }, { 0x19FF, 0, 1 } +}; +static const uc_interval_t script_mongolian_intervals[] = +{ + { 0x1800, 1, 0 }, { 0x1801, 0, 1 }, + { 0x1804, 1, 1 }, + { 0x1806, 1, 0 }, { 0x180E, 0, 1 }, + { 0x1810, 1, 0 }, { 0x1819, 0, 1 }, + { 0x1820, 1, 0 }, { 0x1877, 0, 1 }, + { 0x1880, 1, 0 }, { 0x18AA, 0, 1 }, + { 0x11660, 1, 0 }, { 0x1166C, 0, 1 } +}; +static const uc_interval_t script_hiragana_intervals[] = +{ + { 0x3041, 1, 0 }, { 0x3096, 0, 1 }, + { 0x309D, 1, 0 }, { 0x309F, 0, 1 }, + { 0x1B001, 1, 1 }, + { 0x1F200, 1, 1 } +}; +static const uc_interval_t script_katakana_intervals[] = +{ + { 0x30A1, 1, 0 }, { 0x30FA, 0, 1 }, + { 0x30FD, 1, 0 }, { 0x30FF, 0, 1 }, + { 0x31F0, 1, 0 }, { 0x31FF, 0, 1 }, + { 0x32D0, 1, 0 }, { 0x32FE, 0, 1 }, + { 0x3300, 1, 0 }, { 0x3357, 0, 1 }, + { 0xFF66, 1, 0 }, { 0xFF6F, 0, 1 }, + { 0xFF71, 1, 0 }, { 0xFF9D, 0, 1 }, + { 0x1B000, 1, 1 } +}; +static const uc_interval_t script_bopomofo_intervals[] = +{ + { 0x02EA, 1, 0 }, { 0x02EB, 0, 1 }, + { 0x3105, 1, 0 }, { 0x312D, 0, 1 }, + { 0x31A0, 1, 0 }, { 0x31BA, 0, 1 } +}; +static const uc_interval_t script_han_intervals[] = +{ + { 0x2E80, 1, 0 }, { 0x2E99, 0, 1 }, + { 0x2E9B, 1, 0 }, { 0x2EF3, 0, 1 }, + { 0x2F00, 1, 0 }, { 0x2FD5, 0, 1 }, + { 0x3005, 1, 1 }, + { 0x3007, 1, 1 }, + { 0x3021, 1, 0 }, { 0x3029, 0, 1 }, + { 0x3038, 1, 0 }, { 0x303B, 0, 1 }, + { 0x3400, 1, 0 }, { 0x4DB5, 0, 1 }, + { 0x4E00, 1, 0 }, { 0x9FD5, 0, 1 }, + { 0xF900, 1, 0 }, { 0xFA6D, 0, 1 }, + { 0xFA70, 1, 0 }, { 0xFAD9, 0, 1 }, + { 0x20000, 1, 0 }, { 0x2A6D6, 0, 1 }, + { 0x2A700, 1, 0 }, { 0x2B734, 0, 1 }, + { 0x2B740, 1, 0 }, { 0x2B81D, 0, 1 }, + { 0x2B820, 1, 0 }, { 0x2CEA1, 0, 1 }, + { 0x2F800, 1, 0 }, { 0x2FA1D, 0, 1 } +}; +static const uc_interval_t script_yi_intervals[] = +{ + { 0xA000, 1, 0 }, { 0xA48C, 0, 1 }, + { 0xA490, 1, 0 }, { 0xA4C6, 0, 1 } +}; +static const uc_interval_t script_old_italic_intervals[] = +{ + { 0x10300, 1, 0 }, { 0x10323, 0, 1 } +}; +static const uc_interval_t script_gothic_intervals[] = +{ + { 0x10330, 1, 0 }, { 0x1034A, 0, 1 } +}; +static const uc_interval_t script_deseret_intervals[] = +{ + { 0x10400, 1, 0 }, { 0x1044F, 0, 1 } +}; +static const uc_interval_t script_inherited_intervals[] = +{ + { 0x0300, 1, 0 }, { 0x036F, 0, 1 }, + { 0x0485, 1, 0 }, { 0x0486, 0, 1 }, + { 0x064B, 1, 0 }, { 0x0655, 0, 1 }, + { 0x0670, 1, 1 }, + { 0x0951, 1, 0 }, { 0x0952, 0, 1 }, + { 0x1AB0, 1, 0 }, { 0x1ABE, 0, 1 }, + { 0x1CD0, 1, 0 }, { 0x1CD2, 0, 1 }, + { 0x1CD4, 1, 0 }, { 0x1CE0, 0, 1 }, + { 0x1CE2, 1, 0 }, { 0x1CE8, 0, 1 }, + { 0x1CED, 1, 1 }, + { 0x1CF4, 1, 1 }, + { 0x1CF8, 1, 0 }, { 0x1CF9, 0, 1 }, + { 0x1DC0, 1, 0 }, { 0x1DF5, 0, 1 }, + { 0x1DFB, 1, 0 }, { 0x1DFF, 0, 1 }, + { 0x200C, 1, 0 }, { 0x200D, 0, 1 }, + { 0x20D0, 1, 0 }, { 0x20F0, 0, 1 }, + { 0x302A, 1, 0 }, { 0x302D, 0, 1 }, + { 0x3099, 1, 0 }, { 0x309A, 0, 1 }, + { 0xFE00, 1, 0 }, { 0xFE0F, 0, 1 }, + { 0xFE20, 1, 0 }, { 0xFE2D, 0, 1 }, + { 0x101FD, 1, 1 }, + { 0x102E0, 1, 1 }, + { 0x1D167, 1, 0 }, { 0x1D169, 0, 1 }, + { 0x1D17B, 1, 0 }, { 0x1D182, 0, 1 }, + { 0x1D185, 1, 0 }, { 0x1D18B, 0, 1 }, + { 0x1D1AA, 1, 0 }, { 0x1D1AD, 0, 1 }, + { 0xE0100, 1, 0 }, { 0xE01EF, 0, 1 } +}; +static const uc_interval_t script_tagalog_intervals[] = +{ + { 0x1700, 1, 0 }, { 0x170C, 0, 1 }, + { 0x170E, 1, 0 }, { 0x1714, 0, 1 } +}; +static const uc_interval_t script_hanunoo_intervals[] = +{ + { 0x1720, 1, 0 }, { 0x1734, 0, 1 } +}; +static const uc_interval_t script_buhid_intervals[] = +{ + { 0x1740, 1, 0 }, { 0x1753, 0, 1 } +}; +static const uc_interval_t script_tagbanwa_intervals[] = +{ + { 0x1760, 1, 0 }, { 0x176C, 0, 1 }, + { 0x176E, 1, 0 }, { 0x1770, 0, 1 }, + { 0x1772, 1, 0 }, { 0x1773, 0, 1 } +}; +static const uc_interval_t script_limbu_intervals[] = +{ + { 0x1900, 1, 0 }, { 0x191E, 0, 1 }, + { 0x1920, 1, 0 }, { 0x192B, 0, 1 }, + { 0x1930, 1, 0 }, { 0x193B, 0, 1 }, + { 0x1940, 1, 1 }, + { 0x1944, 1, 0 }, { 0x194F, 0, 1 } +}; +static const uc_interval_t script_tai_le_intervals[] = +{ + { 0x1950, 1, 0 }, { 0x196D, 0, 1 }, + { 0x1970, 1, 0 }, { 0x1974, 0, 1 } +}; +static const uc_interval_t script_linear_b_intervals[] = +{ + { 0x10000, 1, 0 }, { 0x1000B, 0, 1 }, + { 0x1000D, 1, 0 }, { 0x10026, 0, 1 }, + { 0x10028, 1, 0 }, { 0x1003A, 0, 1 }, + { 0x1003C, 1, 0 }, { 0x1003D, 0, 1 }, + { 0x1003F, 1, 0 }, { 0x1004D, 0, 1 }, + { 0x10050, 1, 0 }, { 0x1005D, 0, 1 }, + { 0x10080, 1, 0 }, { 0x100FA, 0, 1 } +}; +static const uc_interval_t script_ugaritic_intervals[] = +{ + { 0x10380, 1, 0 }, { 0x1039D, 0, 1 }, + { 0x1039F, 1, 1 } +}; +static const uc_interval_t script_shavian_intervals[] = +{ + { 0x10450, 1, 0 }, { 0x1047F, 0, 1 } +}; +static const uc_interval_t script_osmanya_intervals[] = +{ + { 0x10480, 1, 0 }, { 0x1049D, 0, 1 }, + { 0x104A0, 1, 0 }, { 0x104A9, 0, 1 } +}; +static const uc_interval_t script_cypriot_intervals[] = +{ + { 0x10800, 1, 0 }, { 0x10805, 0, 1 }, + { 0x10808, 1, 1 }, + { 0x1080A, 1, 0 }, { 0x10835, 0, 1 }, + { 0x10837, 1, 0 }, { 0x10838, 0, 1 }, + { 0x1083C, 1, 1 }, + { 0x1083F, 1, 1 } +}; +static const uc_interval_t script_braille_intervals[] = +{ + { 0x2800, 1, 0 }, { 0x28FF, 0, 1 } +}; +static const uc_interval_t script_buginese_intervals[] = +{ + { 0x1A00, 1, 0 }, { 0x1A1B, 0, 1 }, + { 0x1A1E, 1, 0 }, { 0x1A1F, 0, 1 } +}; +static const uc_interval_t script_coptic_intervals[] = +{ + { 0x03E2, 1, 0 }, { 0x03EF, 0, 1 }, + { 0x2C80, 1, 0 }, { 0x2CF3, 0, 1 }, + { 0x2CF9, 1, 0 }, { 0x2CFF, 0, 1 } +}; +static const uc_interval_t script_new_tai_lue_intervals[] = +{ + { 0x1980, 1, 0 }, { 0x19AB, 0, 1 }, + { 0x19B0, 1, 0 }, { 0x19C9, 0, 1 }, + { 0x19D0, 1, 0 }, { 0x19DA, 0, 1 }, + { 0x19DE, 1, 0 }, { 0x19DF, 0, 1 } +}; +static const uc_interval_t script_glagolitic_intervals[] = +{ + { 0x2C00, 1, 0 }, { 0x2C2E, 0, 1 }, + { 0x2C30, 1, 0 }, { 0x2C5E, 0, 1 }, + { 0x1E000, 1, 0 }, { 0x1E006, 0, 1 }, + { 0x1E008, 1, 0 }, { 0x1E018, 0, 1 }, + { 0x1E01B, 1, 0 }, { 0x1E021, 0, 1 }, + { 0x1E023, 1, 0 }, { 0x1E024, 0, 1 }, + { 0x1E026, 1, 0 }, { 0x1E02A, 0, 1 } +}; +static const uc_interval_t script_tifinagh_intervals[] = +{ + { 0x2D30, 1, 0 }, { 0x2D67, 0, 1 }, + { 0x2D6F, 1, 0 }, { 0x2D70, 0, 1 }, + { 0x2D7F, 1, 1 } +}; +static const uc_interval_t script_syloti_nagri_intervals[] = +{ + { 0xA800, 1, 0 }, { 0xA82B, 0, 1 } +}; +static const uc_interval_t script_old_persian_intervals[] = +{ + { 0x103A0, 1, 0 }, { 0x103C3, 0, 1 }, + { 0x103C8, 1, 0 }, { 0x103D5, 0, 1 } +}; +static const uc_interval_t script_kharoshthi_intervals[] = +{ + { 0x10A00, 1, 0 }, { 0x10A03, 0, 1 }, + { 0x10A05, 1, 0 }, { 0x10A06, 0, 1 }, + { 0x10A0C, 1, 0 }, { 0x10A13, 0, 1 }, + { 0x10A15, 1, 0 }, { 0x10A17, 0, 1 }, + { 0x10A19, 1, 0 }, { 0x10A33, 0, 1 }, + { 0x10A38, 1, 0 }, { 0x10A3A, 0, 1 }, + { 0x10A3F, 1, 0 }, { 0x10A47, 0, 1 }, + { 0x10A50, 1, 0 }, { 0x10A58, 0, 1 } +}; +static const uc_interval_t script_balinese_intervals[] = +{ + { 0x1B00, 1, 0 }, { 0x1B4B, 0, 1 }, + { 0x1B50, 1, 0 }, { 0x1B7C, 0, 1 } +}; +static const uc_interval_t script_cuneiform_intervals[] = +{ + { 0x12000, 1, 0 }, { 0x12399, 0, 1 }, + { 0x12400, 1, 0 }, { 0x1246E, 0, 1 }, + { 0x12470, 1, 0 }, { 0x12474, 0, 1 }, + { 0x12480, 1, 0 }, { 0x12543, 0, 1 } +}; +static const uc_interval_t script_phoenician_intervals[] = +{ + { 0x10900, 1, 0 }, { 0x1091B, 0, 1 }, + { 0x1091F, 1, 1 } +}; +static const uc_interval_t script_phags_pa_intervals[] = +{ + { 0xA840, 1, 0 }, { 0xA877, 0, 1 } +}; +static const uc_interval_t script_nko_intervals[] = +{ + { 0x07C0, 1, 0 }, { 0x07FA, 0, 1 } +}; +static const uc_interval_t script_sundanese_intervals[] = +{ + { 0x1B80, 1, 0 }, { 0x1BBF, 0, 1 }, + { 0x1CC0, 1, 0 }, { 0x1CC7, 0, 1 } +}; +static const uc_interval_t script_lepcha_intervals[] = +{ + { 0x1C00, 1, 0 }, { 0x1C37, 0, 1 }, + { 0x1C3B, 1, 0 }, { 0x1C49, 0, 1 }, + { 0x1C4D, 1, 0 }, { 0x1C4F, 0, 1 } +}; +static const uc_interval_t script_ol_chiki_intervals[] = +{ + { 0x1C50, 1, 0 }, { 0x1C7F, 0, 1 } +}; +static const uc_interval_t script_vai_intervals[] = +{ + { 0xA500, 1, 0 }, { 0xA62B, 0, 1 } +}; +static const uc_interval_t script_saurashtra_intervals[] = +{ + { 0xA880, 1, 0 }, { 0xA8C5, 0, 1 }, + { 0xA8CE, 1, 0 }, { 0xA8D9, 0, 1 } +}; +static const uc_interval_t script_kayah_li_intervals[] = +{ + { 0xA900, 1, 0 }, { 0xA92D, 0, 1 }, + { 0xA92F, 1, 1 } +}; +static const uc_interval_t script_rejang_intervals[] = +{ + { 0xA930, 1, 0 }, { 0xA953, 0, 1 }, + { 0xA95F, 1, 1 } +}; +static const uc_interval_t script_lycian_intervals[] = +{ + { 0x10280, 1, 0 }, { 0x1029C, 0, 1 } +}; +static const uc_interval_t script_carian_intervals[] = +{ + { 0x102A0, 1, 0 }, { 0x102D0, 0, 1 } +}; +static const uc_interval_t script_lydian_intervals[] = +{ + { 0x10920, 1, 0 }, { 0x10939, 0, 1 }, + { 0x1093F, 1, 1 } +}; +static const uc_interval_t script_cham_intervals[] = +{ + { 0xAA00, 1, 0 }, { 0xAA36, 0, 1 }, + { 0xAA40, 1, 0 }, { 0xAA4D, 0, 1 }, + { 0xAA50, 1, 0 }, { 0xAA59, 0, 1 }, + { 0xAA5C, 1, 0 }, { 0xAA5F, 0, 1 } +}; +static const uc_interval_t script_tai_tham_intervals[] = +{ + { 0x1A20, 1, 0 }, { 0x1A5E, 0, 1 }, + { 0x1A60, 1, 0 }, { 0x1A7C, 0, 1 }, + { 0x1A7F, 1, 0 }, { 0x1A89, 0, 1 }, + { 0x1A90, 1, 0 }, { 0x1A99, 0, 1 }, + { 0x1AA0, 1, 0 }, { 0x1AAD, 0, 1 } +}; +static const uc_interval_t script_tai_viet_intervals[] = +{ + { 0xAA80, 1, 0 }, { 0xAAC2, 0, 1 }, + { 0xAADB, 1, 0 }, { 0xAADF, 0, 1 } +}; +static const uc_interval_t script_avestan_intervals[] = +{ + { 0x10B00, 1, 0 }, { 0x10B35, 0, 1 }, + { 0x10B39, 1, 0 }, { 0x10B3F, 0, 1 } +}; +static const uc_interval_t script_egyptian_hieroglyphs_intervals[] = +{ + { 0x13000, 1, 0 }, { 0x1342E, 0, 1 } +}; +static const uc_interval_t script_samaritan_intervals[] = +{ + { 0x0800, 1, 0 }, { 0x082D, 0, 1 }, + { 0x0830, 1, 0 }, { 0x083E, 0, 1 } +}; +static const uc_interval_t script_lisu_intervals[] = +{ + { 0xA4D0, 1, 0 }, { 0xA4FF, 0, 1 } +}; +static const uc_interval_t script_bamum_intervals[] = +{ + { 0xA6A0, 1, 0 }, { 0xA6F7, 0, 1 }, + { 0x16800, 1, 0 }, { 0x16A38, 0, 1 } +}; +static const uc_interval_t script_javanese_intervals[] = +{ + { 0xA980, 1, 0 }, { 0xA9CD, 0, 1 }, + { 0xA9D0, 1, 0 }, { 0xA9D9, 0, 1 }, + { 0xA9DE, 1, 0 }, { 0xA9DF, 0, 1 } +}; +static const uc_interval_t script_meetei_mayek_intervals[] = +{ + { 0xAAE0, 1, 0 }, { 0xAAF6, 0, 1 }, + { 0xABC0, 1, 0 }, { 0xABED, 0, 1 }, + { 0xABF0, 1, 0 }, { 0xABF9, 0, 1 } +}; +static const uc_interval_t script_imperial_aramaic_intervals[] = +{ + { 0x10840, 1, 0 }, { 0x10855, 0, 1 }, + { 0x10857, 1, 0 }, { 0x1085F, 0, 1 } +}; +static const uc_interval_t script_old_south_arabian_intervals[] = +{ + { 0x10A60, 1, 0 }, { 0x10A7F, 0, 1 } +}; +static const uc_interval_t script_inscriptional_parthian_intervals[] = +{ + { 0x10B40, 1, 0 }, { 0x10B55, 0, 1 }, + { 0x10B58, 1, 0 }, { 0x10B5F, 0, 1 } +}; +static const uc_interval_t script_inscriptional_pahlavi_intervals[] = +{ + { 0x10B60, 1, 0 }, { 0x10B72, 0, 1 }, + { 0x10B78, 1, 0 }, { 0x10B7F, 0, 1 } +}; +static const uc_interval_t script_old_turkic_intervals[] = +{ + { 0x10C00, 1, 0 }, { 0x10C48, 0, 1 } +}; +static const uc_interval_t script_kaithi_intervals[] = +{ + { 0x11080, 1, 0 }, { 0x110C1, 0, 1 } +}; +static const uc_interval_t script_batak_intervals[] = +{ + { 0x1BC0, 1, 0 }, { 0x1BF3, 0, 1 }, + { 0x1BFC, 1, 0 }, { 0x1BFF, 0, 1 } +}; +static const uc_interval_t script_brahmi_intervals[] = +{ + { 0x11000, 1, 0 }, { 0x1104D, 0, 1 }, + { 0x11052, 1, 0 }, { 0x1106F, 0, 1 }, + { 0x1107F, 1, 1 } +}; +static const uc_interval_t script_mandaic_intervals[] = +{ + { 0x0840, 1, 0 }, { 0x085B, 0, 1 }, + { 0x085E, 1, 1 } +}; +static const uc_interval_t script_chakma_intervals[] = +{ + { 0x11100, 1, 0 }, { 0x11134, 0, 1 }, + { 0x11136, 1, 0 }, { 0x11143, 0, 1 } +}; +static const uc_interval_t script_meroitic_cursive_intervals[] = +{ + { 0x109A0, 1, 0 }, { 0x109B7, 0, 1 }, + { 0x109BC, 1, 0 }, { 0x109CF, 0, 1 }, + { 0x109D2, 1, 0 }, { 0x109FF, 0, 1 } +}; +static const uc_interval_t script_meroitic_hieroglyphs_intervals[] = +{ + { 0x10980, 1, 0 }, { 0x1099F, 0, 1 } +}; +static const uc_interval_t script_miao_intervals[] = +{ + { 0x16F00, 1, 0 }, { 0x16F44, 0, 1 }, + { 0x16F50, 1, 0 }, { 0x16F7E, 0, 1 }, + { 0x16F8F, 1, 0 }, { 0x16F9F, 0, 1 } +}; +static const uc_interval_t script_sharada_intervals[] = +{ + { 0x11180, 1, 0 }, { 0x111CD, 0, 1 }, + { 0x111D0, 1, 0 }, { 0x111DF, 0, 1 } +}; +static const uc_interval_t script_sora_sompeng_intervals[] = +{ + { 0x110D0, 1, 0 }, { 0x110E8, 0, 1 }, + { 0x110F0, 1, 0 }, { 0x110F9, 0, 1 } +}; +static const uc_interval_t script_takri_intervals[] = +{ + { 0x11680, 1, 0 }, { 0x116B7, 0, 1 }, + { 0x116C0, 1, 0 }, { 0x116C9, 0, 1 } +}; +static const uc_interval_t script_caucasian_albanian_intervals[] = +{ + { 0x10530, 1, 0 }, { 0x10563, 0, 1 }, + { 0x1056F, 1, 1 } +}; +static const uc_interval_t script_bassa_vah_intervals[] = +{ + { 0x16AD0, 1, 0 }, { 0x16AED, 0, 1 }, + { 0x16AF0, 1, 0 }, { 0x16AF5, 0, 1 } +}; +static const uc_interval_t script_duployan_intervals[] = +{ + { 0x1BC00, 1, 0 }, { 0x1BC6A, 0, 1 }, + { 0x1BC70, 1, 0 }, { 0x1BC7C, 0, 1 }, + { 0x1BC80, 1, 0 }, { 0x1BC88, 0, 1 }, + { 0x1BC90, 1, 0 }, { 0x1BC99, 0, 1 }, + { 0x1BC9C, 1, 0 }, { 0x1BC9F, 0, 1 } +}; +static const uc_interval_t script_elbasan_intervals[] = +{ + { 0x10500, 1, 0 }, { 0x10527, 0, 1 } +}; +static const uc_interval_t script_grantha_intervals[] = +{ + { 0x11300, 1, 0 }, { 0x11303, 0, 1 }, + { 0x11305, 1, 0 }, { 0x1130C, 0, 1 }, + { 0x1130F, 1, 0 }, { 0x11310, 0, 1 }, + { 0x11313, 1, 0 }, { 0x11328, 0, 1 }, + { 0x1132A, 1, 0 }, { 0x11330, 0, 1 }, + { 0x11332, 1, 0 }, { 0x11333, 0, 1 }, + { 0x11335, 1, 0 }, { 0x11339, 0, 1 }, + { 0x1133C, 1, 0 }, { 0x11344, 0, 1 }, + { 0x11347, 1, 0 }, { 0x11348, 0, 1 }, + { 0x1134B, 1, 0 }, { 0x1134D, 0, 1 }, + { 0x11350, 1, 1 }, + { 0x11357, 1, 1 }, + { 0x1135D, 1, 0 }, { 0x11363, 0, 1 }, + { 0x11366, 1, 0 }, { 0x1136C, 0, 1 }, + { 0x11370, 1, 0 }, { 0x11374, 0, 1 } +}; +static const uc_interval_t script_pahawh_hmong_intervals[] = +{ + { 0x16B00, 1, 0 }, { 0x16B45, 0, 1 }, + { 0x16B50, 1, 0 }, { 0x16B59, 0, 1 }, + { 0x16B5B, 1, 0 }, { 0x16B61, 0, 1 }, + { 0x16B63, 1, 0 }, { 0x16B77, 0, 1 }, + { 0x16B7D, 1, 0 }, { 0x16B8F, 0, 1 } +}; +static const uc_interval_t script_khojki_intervals[] = +{ + { 0x11200, 1, 0 }, { 0x11211, 0, 1 }, + { 0x11213, 1, 0 }, { 0x1123E, 0, 1 } +}; +static const uc_interval_t script_linear_a_intervals[] = +{ + { 0x10600, 1, 0 }, { 0x10736, 0, 1 }, + { 0x10740, 1, 0 }, { 0x10755, 0, 1 }, + { 0x10760, 1, 0 }, { 0x10767, 0, 1 } +}; +static const uc_interval_t script_mahajani_intervals[] = +{ + { 0x11150, 1, 0 }, { 0x11176, 0, 1 } +}; +static const uc_interval_t script_manichaean_intervals[] = +{ + { 0x10AC0, 1, 0 }, { 0x10AE6, 0, 1 }, + { 0x10AEB, 1, 0 }, { 0x10AF6, 0, 1 } +}; +static const uc_interval_t script_mende_kikakui_intervals[] = +{ + { 0x1E800, 1, 0 }, { 0x1E8C4, 0, 1 }, + { 0x1E8C7, 1, 0 }, { 0x1E8D6, 0, 1 } +}; +static const uc_interval_t script_modi_intervals[] = +{ + { 0x11600, 1, 0 }, { 0x11644, 0, 1 }, + { 0x11650, 1, 0 }, { 0x11659, 0, 1 } +}; +static const uc_interval_t script_mro_intervals[] = +{ + { 0x16A40, 1, 0 }, { 0x16A5E, 0, 1 }, + { 0x16A60, 1, 0 }, { 0x16A69, 0, 1 }, + { 0x16A6E, 1, 0 }, { 0x16A6F, 0, 1 } +}; +static const uc_interval_t script_old_north_arabian_intervals[] = +{ + { 0x10A80, 1, 0 }, { 0x10A9F, 0, 1 } +}; +static const uc_interval_t script_nabataean_intervals[] = +{ + { 0x10880, 1, 0 }, { 0x1089E, 0, 1 }, + { 0x108A7, 1, 0 }, { 0x108AF, 0, 1 } +}; +static const uc_interval_t script_palmyrene_intervals[] = +{ + { 0x10860, 1, 0 }, { 0x1087F, 0, 1 } +}; +static const uc_interval_t script_pau_cin_hau_intervals[] = +{ + { 0x11AC0, 1, 0 }, { 0x11AF8, 0, 1 } +}; +static const uc_interval_t script_old_permic_intervals[] = +{ + { 0x10350, 1, 0 }, { 0x1037A, 0, 1 } +}; +static const uc_interval_t script_psalter_pahlavi_intervals[] = +{ + { 0x10B80, 1, 0 }, { 0x10B91, 0, 1 }, + { 0x10B99, 1, 0 }, { 0x10B9C, 0, 1 }, + { 0x10BA9, 1, 0 }, { 0x10BAF, 0, 1 } +}; +static const uc_interval_t script_siddham_intervals[] = +{ + { 0x11580, 1, 0 }, { 0x115B5, 0, 1 }, + { 0x115B8, 1, 0 }, { 0x115DD, 0, 1 } +}; +static const uc_interval_t script_khudawadi_intervals[] = +{ + { 0x112B0, 1, 0 }, { 0x112EA, 0, 1 }, + { 0x112F0, 1, 0 }, { 0x112F9, 0, 1 } +}; +static const uc_interval_t script_tirhuta_intervals[] = +{ + { 0x11480, 1, 0 }, { 0x114C7, 0, 1 }, + { 0x114D0, 1, 0 }, { 0x114D9, 0, 1 } +}; +static const uc_interval_t script_warang_citi_intervals[] = +{ + { 0x118A0, 1, 0 }, { 0x118F2, 0, 1 }, + { 0x118FF, 1, 1 } +}; +static const uc_interval_t script_ahom_intervals[] = +{ + { 0x11700, 1, 0 }, { 0x11719, 0, 1 }, + { 0x1171D, 1, 0 }, { 0x1172B, 0, 1 }, + { 0x11730, 1, 0 }, { 0x1173F, 0, 1 } +}; +static const uc_interval_t script_anatolian_hieroglyphs_intervals[] = +{ + { 0x14400, 1, 0 }, { 0x14646, 0, 1 } +}; +static const uc_interval_t script_hatran_intervals[] = +{ + { 0x108E0, 1, 0 }, { 0x108F2, 0, 1 }, + { 0x108F4, 1, 0 }, { 0x108F5, 0, 1 }, + { 0x108FB, 1, 0 }, { 0x108FF, 0, 1 } +}; +static const uc_interval_t script_multani_intervals[] = +{ + { 0x11280, 1, 0 }, { 0x11286, 0, 1 }, + { 0x11288, 1, 1 }, + { 0x1128A, 1, 0 }, { 0x1128D, 0, 1 }, + { 0x1128F, 1, 0 }, { 0x1129D, 0, 1 }, + { 0x1129F, 1, 0 }, { 0x112A9, 0, 1 } +}; +static const uc_interval_t script_old_hungarian_intervals[] = +{ + { 0x10C80, 1, 0 }, { 0x10CB2, 0, 1 }, + { 0x10CC0, 1, 0 }, { 0x10CF2, 0, 1 }, + { 0x10CFA, 1, 0 }, { 0x10CFF, 0, 1 } +}; +static const uc_interval_t script_signwriting_intervals[] = +{ + { 0x1D800, 1, 0 }, { 0x1DA8B, 0, 1 }, + { 0x1DA9B, 1, 0 }, { 0x1DA9F, 0, 1 }, + { 0x1DAA1, 1, 0 }, { 0x1DAAF, 0, 1 } +}; +static const uc_interval_t script_adlam_intervals[] = +{ + { 0x1E900, 1, 0 }, { 0x1E94A, 0, 1 }, + { 0x1E950, 1, 0 }, { 0x1E959, 0, 1 }, + { 0x1E95E, 1, 0 }, { 0x1E95F, 0, 1 } +}; +static const uc_interval_t script_bhaiksuki_intervals[] = +{ + { 0x11C00, 1, 0 }, { 0x11C08, 0, 1 }, + { 0x11C0A, 1, 0 }, { 0x11C36, 0, 1 }, + { 0x11C38, 1, 0 }, { 0x11C45, 0, 1 }, + { 0x11C50, 1, 0 }, { 0x11C6C, 0, 1 } +}; +static const uc_interval_t script_marchen_intervals[] = +{ + { 0x11C70, 1, 0 }, { 0x11C8F, 0, 1 }, + { 0x11C92, 1, 0 }, { 0x11CA7, 0, 1 }, + { 0x11CA9, 1, 0 }, { 0x11CB6, 0, 1 } +}; +static const uc_interval_t script_newa_intervals[] = +{ + { 0x11400, 1, 0 }, { 0x11459, 0, 1 }, + { 0x1145B, 1, 1 }, + { 0x1145D, 1, 1 } +}; +static const uc_interval_t script_osage_intervals[] = +{ + { 0x104B0, 1, 0 }, { 0x104D3, 0, 1 }, + { 0x104D8, 1, 0 }, { 0x104FB, 0, 1 } +}; +static const uc_interval_t script_tangut_intervals[] = +{ + { 0x16FE0, 1, 1 }, + { 0x17000, 1, 0 }, { 0x187EC, 0, 1 }, + { 0x18800, 1, 0 }, { 0x18AF2, 0, 1 } +}; +static const uc_script_t scripts[137] = +{ + { + sizeof (script_common_intervals) / sizeof (uc_interval_t), + script_common_intervals, + "Common" + }, + { + sizeof (script_latin_intervals) / sizeof (uc_interval_t), + script_latin_intervals, + "Latin" + }, + { + sizeof (script_greek_intervals) / sizeof (uc_interval_t), + script_greek_intervals, + "Greek" + }, + { + sizeof (script_cyrillic_intervals) / sizeof (uc_interval_t), + script_cyrillic_intervals, + "Cyrillic" + }, + { + sizeof (script_armenian_intervals) / sizeof (uc_interval_t), + script_armenian_intervals, + "Armenian" + }, + { + sizeof (script_hebrew_intervals) / sizeof (uc_interval_t), + script_hebrew_intervals, + "Hebrew" + }, + { + sizeof (script_arabic_intervals) / sizeof (uc_interval_t), + script_arabic_intervals, + "Arabic" + }, + { + sizeof (script_syriac_intervals) / sizeof (uc_interval_t), + script_syriac_intervals, + "Syriac" + }, + { + sizeof (script_thaana_intervals) / sizeof (uc_interval_t), + script_thaana_intervals, + "Thaana" + }, + { + sizeof (script_devanagari_intervals) / sizeof (uc_interval_t), + script_devanagari_intervals, + "Devanagari" + }, + { + sizeof (script_bengali_intervals) / sizeof (uc_interval_t), + script_bengali_intervals, + "Bengali" + }, + { + sizeof (script_gurmukhi_intervals) / sizeof (uc_interval_t), + script_gurmukhi_intervals, + "Gurmukhi" + }, + { + sizeof (script_gujarati_intervals) / sizeof (uc_interval_t), + script_gujarati_intervals, + "Gujarati" + }, + { + sizeof (script_oriya_intervals) / sizeof (uc_interval_t), + script_oriya_intervals, + "Oriya" + }, + { + sizeof (script_tamil_intervals) / sizeof (uc_interval_t), + script_tamil_intervals, + "Tamil" + }, + { + sizeof (script_telugu_intervals) / sizeof (uc_interval_t), + script_telugu_intervals, + "Telugu" + }, + { + sizeof (script_kannada_intervals) / sizeof (uc_interval_t), + script_kannada_intervals, + "Kannada" + }, + { + sizeof (script_malayalam_intervals) / sizeof (uc_interval_t), + script_malayalam_intervals, + "Malayalam" + }, + { + sizeof (script_sinhala_intervals) / sizeof (uc_interval_t), + script_sinhala_intervals, + "Sinhala" + }, + { + sizeof (script_thai_intervals) / sizeof (uc_interval_t), + script_thai_intervals, + "Thai" + }, + { + sizeof (script_lao_intervals) / sizeof (uc_interval_t), + script_lao_intervals, + "Lao" + }, + { + sizeof (script_tibetan_intervals) / sizeof (uc_interval_t), + script_tibetan_intervals, + "Tibetan" + }, + { + sizeof (script_myanmar_intervals) / sizeof (uc_interval_t), + script_myanmar_intervals, + "Myanmar" + }, + { + sizeof (script_georgian_intervals) / sizeof (uc_interval_t), + script_georgian_intervals, + "Georgian" + }, + { + sizeof (script_hangul_intervals) / sizeof (uc_interval_t), + script_hangul_intervals, + "Hangul" + }, + { + sizeof (script_ethiopic_intervals) / sizeof (uc_interval_t), + script_ethiopic_intervals, + "Ethiopic" + }, + { + sizeof (script_cherokee_intervals) / sizeof (uc_interval_t), + script_cherokee_intervals, + "Cherokee" + }, + { + sizeof (script_canadian_aboriginal_intervals) / sizeof (uc_interval_t), + script_canadian_aboriginal_intervals, + "Canadian_Aboriginal" + }, + { + sizeof (script_ogham_intervals) / sizeof (uc_interval_t), + script_ogham_intervals, + "Ogham" + }, + { + sizeof (script_runic_intervals) / sizeof (uc_interval_t), + script_runic_intervals, + "Runic" + }, + { + sizeof (script_khmer_intervals) / sizeof (uc_interval_t), + script_khmer_intervals, + "Khmer" + }, + { + sizeof (script_mongolian_intervals) / sizeof (uc_interval_t), + script_mongolian_intervals, + "Mongolian" + }, + { + sizeof (script_hiragana_intervals) / sizeof (uc_interval_t), + script_hiragana_intervals, + "Hiragana" + }, + { + sizeof (script_katakana_intervals) / sizeof (uc_interval_t), + script_katakana_intervals, + "Katakana" + }, + { + sizeof (script_bopomofo_intervals) / sizeof (uc_interval_t), + script_bopomofo_intervals, + "Bopomofo" + }, + { + sizeof (script_han_intervals) / sizeof (uc_interval_t), + script_han_intervals, + "Han" + }, + { + sizeof (script_yi_intervals) / sizeof (uc_interval_t), + script_yi_intervals, + "Yi" + }, + { + sizeof (script_old_italic_intervals) / sizeof (uc_interval_t), + script_old_italic_intervals, + "Old_Italic" + }, + { + sizeof (script_gothic_intervals) / sizeof (uc_interval_t), + script_gothic_intervals, + "Gothic" + }, + { + sizeof (script_deseret_intervals) / sizeof (uc_interval_t), + script_deseret_intervals, + "Deseret" + }, + { + sizeof (script_inherited_intervals) / sizeof (uc_interval_t), + script_inherited_intervals, + "Inherited" + }, + { + sizeof (script_tagalog_intervals) / sizeof (uc_interval_t), + script_tagalog_intervals, + "Tagalog" + }, + { + sizeof (script_hanunoo_intervals) / sizeof (uc_interval_t), + script_hanunoo_intervals, + "Hanunoo" + }, + { + sizeof (script_buhid_intervals) / sizeof (uc_interval_t), + script_buhid_intervals, + "Buhid" + }, + { + sizeof (script_tagbanwa_intervals) / sizeof (uc_interval_t), + script_tagbanwa_intervals, + "Tagbanwa" + }, + { + sizeof (script_limbu_intervals) / sizeof (uc_interval_t), + script_limbu_intervals, + "Limbu" + }, + { + sizeof (script_tai_le_intervals) / sizeof (uc_interval_t), + script_tai_le_intervals, + "Tai_Le" + }, + { + sizeof (script_linear_b_intervals) / sizeof (uc_interval_t), + script_linear_b_intervals, + "Linear_B" + }, + { + sizeof (script_ugaritic_intervals) / sizeof (uc_interval_t), + script_ugaritic_intervals, + "Ugaritic" + }, + { + sizeof (script_shavian_intervals) / sizeof (uc_interval_t), + script_shavian_intervals, + "Shavian" + }, + { + sizeof (script_osmanya_intervals) / sizeof (uc_interval_t), + script_osmanya_intervals, + "Osmanya" + }, + { + sizeof (script_cypriot_intervals) / sizeof (uc_interval_t), + script_cypriot_intervals, + "Cypriot" + }, + { + sizeof (script_braille_intervals) / sizeof (uc_interval_t), + script_braille_intervals, + "Braille" + }, + { + sizeof (script_buginese_intervals) / sizeof (uc_interval_t), + script_buginese_intervals, + "Buginese" + }, + { + sizeof (script_coptic_intervals) / sizeof (uc_interval_t), + script_coptic_intervals, + "Coptic" + }, + { + sizeof (script_new_tai_lue_intervals) / sizeof (uc_interval_t), + script_new_tai_lue_intervals, + "New_Tai_Lue" + }, + { + sizeof (script_glagolitic_intervals) / sizeof (uc_interval_t), + script_glagolitic_intervals, + "Glagolitic" + }, + { + sizeof (script_tifinagh_intervals) / sizeof (uc_interval_t), + script_tifinagh_intervals, + "Tifinagh" + }, + { + sizeof (script_syloti_nagri_intervals) / sizeof (uc_interval_t), + script_syloti_nagri_intervals, + "Syloti_Nagri" + }, + { + sizeof (script_old_persian_intervals) / sizeof (uc_interval_t), + script_old_persian_intervals, + "Old_Persian" + }, + { + sizeof (script_kharoshthi_intervals) / sizeof (uc_interval_t), + script_kharoshthi_intervals, + "Kharoshthi" + }, + { + sizeof (script_balinese_intervals) / sizeof (uc_interval_t), + script_balinese_intervals, + "Balinese" + }, + { + sizeof (script_cuneiform_intervals) / sizeof (uc_interval_t), + script_cuneiform_intervals, + "Cuneiform" + }, + { + sizeof (script_phoenician_intervals) / sizeof (uc_interval_t), + script_phoenician_intervals, + "Phoenician" + }, + { + sizeof (script_phags_pa_intervals) / sizeof (uc_interval_t), + script_phags_pa_intervals, + "Phags_Pa" + }, + { + sizeof (script_nko_intervals) / sizeof (uc_interval_t), + script_nko_intervals, + "Nko" + }, + { + sizeof (script_sundanese_intervals) / sizeof (uc_interval_t), + script_sundanese_intervals, + "Sundanese" + }, + { + sizeof (script_lepcha_intervals) / sizeof (uc_interval_t), + script_lepcha_intervals, + "Lepcha" + }, + { + sizeof (script_ol_chiki_intervals) / sizeof (uc_interval_t), + script_ol_chiki_intervals, + "Ol_Chiki" + }, + { + sizeof (script_vai_intervals) / sizeof (uc_interval_t), + script_vai_intervals, + "Vai" + }, + { + sizeof (script_saurashtra_intervals) / sizeof (uc_interval_t), + script_saurashtra_intervals, + "Saurashtra" + }, + { + sizeof (script_kayah_li_intervals) / sizeof (uc_interval_t), + script_kayah_li_intervals, + "Kayah_Li" + }, + { + sizeof (script_rejang_intervals) / sizeof (uc_interval_t), + script_rejang_intervals, + "Rejang" + }, + { + sizeof (script_lycian_intervals) / sizeof (uc_interval_t), + script_lycian_intervals, + "Lycian" + }, + { + sizeof (script_carian_intervals) / sizeof (uc_interval_t), + script_carian_intervals, + "Carian" + }, + { + sizeof (script_lydian_intervals) / sizeof (uc_interval_t), + script_lydian_intervals, + "Lydian" + }, + { + sizeof (script_cham_intervals) / sizeof (uc_interval_t), + script_cham_intervals, + "Cham" + }, + { + sizeof (script_tai_tham_intervals) / sizeof (uc_interval_t), + script_tai_tham_intervals, + "Tai_Tham" + }, + { + sizeof (script_tai_viet_intervals) / sizeof (uc_interval_t), + script_tai_viet_intervals, + "Tai_Viet" + }, + { + sizeof (script_avestan_intervals) / sizeof (uc_interval_t), + script_avestan_intervals, + "Avestan" + }, + { + sizeof (script_egyptian_hieroglyphs_intervals) / sizeof (uc_interval_t), + script_egyptian_hieroglyphs_intervals, + "Egyptian_Hieroglyphs" + }, + { + sizeof (script_samaritan_intervals) / sizeof (uc_interval_t), + script_samaritan_intervals, + "Samaritan" + }, + { + sizeof (script_lisu_intervals) / sizeof (uc_interval_t), + script_lisu_intervals, + "Lisu" + }, + { + sizeof (script_bamum_intervals) / sizeof (uc_interval_t), + script_bamum_intervals, + "Bamum" + }, + { + sizeof (script_javanese_intervals) / sizeof (uc_interval_t), + script_javanese_intervals, + "Javanese" + }, + { + sizeof (script_meetei_mayek_intervals) / sizeof (uc_interval_t), + script_meetei_mayek_intervals, + "Meetei_Mayek" + }, + { + sizeof (script_imperial_aramaic_intervals) / sizeof (uc_interval_t), + script_imperial_aramaic_intervals, + "Imperial_Aramaic" + }, + { + sizeof (script_old_south_arabian_intervals) / sizeof (uc_interval_t), + script_old_south_arabian_intervals, + "Old_South_Arabian" + }, + { + sizeof (script_inscriptional_parthian_intervals) / sizeof (uc_interval_t), + script_inscriptional_parthian_intervals, + "Inscriptional_Parthian" + }, + { + sizeof (script_inscriptional_pahlavi_intervals) / sizeof (uc_interval_t), + script_inscriptional_pahlavi_intervals, + "Inscriptional_Pahlavi" + }, + { + sizeof (script_old_turkic_intervals) / sizeof (uc_interval_t), + script_old_turkic_intervals, + "Old_Turkic" + }, + { + sizeof (script_kaithi_intervals) / sizeof (uc_interval_t), + script_kaithi_intervals, + "Kaithi" + }, + { + sizeof (script_batak_intervals) / sizeof (uc_interval_t), + script_batak_intervals, + "Batak" + }, + { + sizeof (script_brahmi_intervals) / sizeof (uc_interval_t), + script_brahmi_intervals, + "Brahmi" + }, + { + sizeof (script_mandaic_intervals) / sizeof (uc_interval_t), + script_mandaic_intervals, + "Mandaic" + }, + { + sizeof (script_chakma_intervals) / sizeof (uc_interval_t), + script_chakma_intervals, + "Chakma" + }, + { + sizeof (script_meroitic_cursive_intervals) / sizeof (uc_interval_t), + script_meroitic_cursive_intervals, + "Meroitic_Cursive" + }, + { + sizeof (script_meroitic_hieroglyphs_intervals) / sizeof (uc_interval_t), + script_meroitic_hieroglyphs_intervals, + "Meroitic_Hieroglyphs" + }, + { + sizeof (script_miao_intervals) / sizeof (uc_interval_t), + script_miao_intervals, + "Miao" + }, + { + sizeof (script_sharada_intervals) / sizeof (uc_interval_t), + script_sharada_intervals, + "Sharada" + }, + { + sizeof (script_sora_sompeng_intervals) / sizeof (uc_interval_t), + script_sora_sompeng_intervals, + "Sora_Sompeng" + }, + { + sizeof (script_takri_intervals) / sizeof (uc_interval_t), + script_takri_intervals, + "Takri" + }, + { + sizeof (script_caucasian_albanian_intervals) / sizeof (uc_interval_t), + script_caucasian_albanian_intervals, + "Caucasian_Albanian" + }, + { + sizeof (script_bassa_vah_intervals) / sizeof (uc_interval_t), + script_bassa_vah_intervals, + "Bassa_Vah" + }, + { + sizeof (script_duployan_intervals) / sizeof (uc_interval_t), + script_duployan_intervals, + "Duployan" + }, + { + sizeof (script_elbasan_intervals) / sizeof (uc_interval_t), + script_elbasan_intervals, + "Elbasan" + }, + { + sizeof (script_grantha_intervals) / sizeof (uc_interval_t), + script_grantha_intervals, + "Grantha" + }, + { + sizeof (script_pahawh_hmong_intervals) / sizeof (uc_interval_t), + script_pahawh_hmong_intervals, + "Pahawh_Hmong" + }, + { + sizeof (script_khojki_intervals) / sizeof (uc_interval_t), + script_khojki_intervals, + "Khojki" + }, + { + sizeof (script_linear_a_intervals) / sizeof (uc_interval_t), + script_linear_a_intervals, + "Linear_A" + }, + { + sizeof (script_mahajani_intervals) / sizeof (uc_interval_t), + script_mahajani_intervals, + "Mahajani" + }, + { + sizeof (script_manichaean_intervals) / sizeof (uc_interval_t), + script_manichaean_intervals, + "Manichaean" + }, + { + sizeof (script_mende_kikakui_intervals) / sizeof (uc_interval_t), + script_mende_kikakui_intervals, + "Mende_Kikakui" + }, + { + sizeof (script_modi_intervals) / sizeof (uc_interval_t), + script_modi_intervals, + "Modi" + }, + { + sizeof (script_mro_intervals) / sizeof (uc_interval_t), + script_mro_intervals, + "Mro" + }, + { + sizeof (script_old_north_arabian_intervals) / sizeof (uc_interval_t), + script_old_north_arabian_intervals, + "Old_North_Arabian" + }, + { + sizeof (script_nabataean_intervals) / sizeof (uc_interval_t), + script_nabataean_intervals, + "Nabataean" + }, + { + sizeof (script_palmyrene_intervals) / sizeof (uc_interval_t), + script_palmyrene_intervals, + "Palmyrene" + }, + { + sizeof (script_pau_cin_hau_intervals) / sizeof (uc_interval_t), + script_pau_cin_hau_intervals, + "Pau_Cin_Hau" + }, + { + sizeof (script_old_permic_intervals) / sizeof (uc_interval_t), + script_old_permic_intervals, + "Old_Permic" + }, + { + sizeof (script_psalter_pahlavi_intervals) / sizeof (uc_interval_t), + script_psalter_pahlavi_intervals, + "Psalter_Pahlavi" + }, + { + sizeof (script_siddham_intervals) / sizeof (uc_interval_t), + script_siddham_intervals, + "Siddham" + }, + { + sizeof (script_khudawadi_intervals) / sizeof (uc_interval_t), + script_khudawadi_intervals, + "Khudawadi" + }, + { + sizeof (script_tirhuta_intervals) / sizeof (uc_interval_t), + script_tirhuta_intervals, + "Tirhuta" + }, + { + sizeof (script_warang_citi_intervals) / sizeof (uc_interval_t), + script_warang_citi_intervals, + "Warang_Citi" + }, + { + sizeof (script_ahom_intervals) / sizeof (uc_interval_t), + script_ahom_intervals, + "Ahom" + }, + { + sizeof (script_anatolian_hieroglyphs_intervals) / sizeof (uc_interval_t), + script_anatolian_hieroglyphs_intervals, + "Anatolian_Hieroglyphs" + }, + { + sizeof (script_hatran_intervals) / sizeof (uc_interval_t), + script_hatran_intervals, + "Hatran" + }, + { + sizeof (script_multani_intervals) / sizeof (uc_interval_t), + script_multani_intervals, + "Multani" + }, + { + sizeof (script_old_hungarian_intervals) / sizeof (uc_interval_t), + script_old_hungarian_intervals, + "Old_Hungarian" + }, + { + sizeof (script_signwriting_intervals) / sizeof (uc_interval_t), + script_signwriting_intervals, + "SignWriting" + }, + { + sizeof (script_adlam_intervals) / sizeof (uc_interval_t), + script_adlam_intervals, + "Adlam" + }, + { + sizeof (script_bhaiksuki_intervals) / sizeof (uc_interval_t), + script_bhaiksuki_intervals, + "Bhaiksuki" + }, + { + sizeof (script_marchen_intervals) / sizeof (uc_interval_t), + script_marchen_intervals, + "Marchen" + }, + { + sizeof (script_newa_intervals) / sizeof (uc_interval_t), + script_newa_intervals, + "Newa" + }, + { + sizeof (script_osage_intervals) / sizeof (uc_interval_t), + script_osage_intervals, + "Osage" + }, + { + sizeof (script_tangut_intervals) / sizeof (uc_interval_t), + script_tangut_intervals, + "Tangut" + } +}; +#define script_header_0 16 +#define script_header_1 15 +#define script_header_2 7 +#define script_header_3 511 +#define script_header_4 127 +static const +struct + { + int level1[15]; + short level2[4 << 9]; + unsigned char level3[208 << 7]; + } +u_script = +{ + { + 0, 512, 1024, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1536 + }, + { + 0, 128, 256, 256, 256, 384, 512, 640, + 768, 896, 1024, 1152, 1280, 1408, 1536, 1664, + 1792, 1920, 2048, 2176, 2304, 2432, 2560, 2688, + 2816, 2944, 3072, 3200, 3328, 3456, 3584, 3712, + 3840, 3968, 4096, 4096, 4224, 4352, 4480, 4608, + 4736, 4736, 4736, 4736, 4736, 4864, 4992, 5120, + 5248, 5376, 5504, 5632, 5760, 5888, 6016, 6144, + 6272, 6400, 6528, 6656, 256, 256, 6784, 6912, + 7040, 7168, 7296, 7424, 7552, 7552, 7552, 7680, + 7808, 7552, 7552, 7552, 7552, 7552, 7552, 7552, + 7936, 7936, 7552, 7552, 7552, 7552, 8064, 8192, + 8320, 8448, 8576, 8704, 8832, 8960, 9088, 9216, + 9344, 9472, 9600, 9728, 9856, 9984, 10112, 7552, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 10240, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 10368, + 10496, 10496, 10496, 10496, 10496, 10496, 10496, 10496, + 10496, 10624, 10752, 10752, 10880, 11008, 11136, 11264, + 11392, 11520, 11648, 11776, 11904, 12032, 12160, 12288, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, + 4096, 4096, 4096, 4096, 4096, 4096, 4096, 12416, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 9088, 9088, 12544, 12672, 12800, 12928, + 13056, 13056, 13184, 13312, 13440, 13568, 13696, 13824, + 13952, 14080, 14208, 14336, -1, 14464, 14592, 14720, + 14848, 14976, 15104, -1, 15232, 15232, 15360, -1, + 15488, 15616, 15744, 15872, 16000, 16128, 16256, 16384, + 16512, 16640, -1, -1, 16768, -1, -1, -1, + 16896, 17024, 17152, 17280, 17408, 17536, 17664, -1, + 17792, 17920, -1, 18048, 18176, 18304, 18432, -1, + -1, 18560, -1, -1, -1, 18688, -1, -1, + 18816, 18944, -1, -1, -1, -1, -1, -1, + 19072, 19072, 19072, 19072, 19072, 19072, 19072, 19200, + 19328, 19072, 19456, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 19584, 19584, 19584, 19584, 19584, 19584, 19584, 19584, + 19712, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 19840, 19840, 19840, 19840, 19968, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 20096, 20096, 20096, 20096, 20224, 20352, 20480, 20608, + -1, -1, -1, -1, -1, -1, 20736, 20864, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 20992, + 20992, 20992, 20992, 20992, 20992, 20992, 20992, 21120, + 20992, 20992, 20992, 20992, 20992, 21248, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 21376, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 21504, 21632, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 7552, 21760, 21888, 22016, 22144, -1, 22272, -1, + 22400, 22528, 22656, 7552, 7552, 22784, 7552, 22912, + 23040, 23040, 23040, 23040, 23040, 23168, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 23296, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 23424, 23552, 23680, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 23808, 23936, -1, -1, + 24064, 24192, 24320, 24448, 24576, -1, 7552, 7552, + 7552, 7552, 7552, 7552, 7552, 24704, 24832, 24960, + 25088, 25216, 25344, 25472, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 25600, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 25728, 9088, + 25856, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 9088, 9088, 9088, + 9088, 9088, 9088, 9088, 9088, 25984, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 9088, 9088, 9088, 9088, 26112, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 26240, -1, 26368, 26496, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, + 0, 0, 34, 34, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 2, 2, 2, 2, 0, 2, 2, 2, + 255, 255, 2, 2, 2, 2, 0, 2, + 255, 255, 255, 255, 2, 0, 2, 0, + 2, 2, 2, 255, 2, 255, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 255, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 40, 40, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 255, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 255, + 255, 4, 4, 4, 4, 4, 4, 4, + 255, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 255, 0, 4, 255, 255, 4, 4, 4, + 255, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 255, 255, 255, 255, 255, 255, 255, 255, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 255, 255, 255, 255, 255, + 5, 5, 5, 5, 5, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 0, 6, 6, + 6, 6, 6, 6, 0, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 0, 0, 255, 6, 0, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 0, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 40, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 0, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 255, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 255, 255, 7, 7, 7, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 255, 255, 255, 255, 255, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 255, 255, + 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 255, + 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 255, 255, 94, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 255, 6, 6, + 6, 6, 6, 6, 6, 6, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 0, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 40, 40, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 0, 0, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 10, 10, 10, 10, 255, 10, 10, 10, + 10, 10, 10, 10, 10, 255, 255, 10, + 10, 255, 255, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, + 10, 255, 10, 10, 10, 10, 10, 10, + 10, 255, 10, 255, 255, 255, 10, 10, + 10, 10, 255, 255, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 255, 255, 10, + 10, 255, 255, 10, 10, 10, 10, 255, + 255, 255, 255, 255, 255, 255, 255, 10, + 255, 255, 255, 255, 10, 10, 255, 10, + 10, 10, 10, 10, 255, 255, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 255, 255, 255, 255, + 255, 11, 11, 11, 255, 11, 11, 11, + 11, 11, 11, 255, 255, 255, 255, 11, + 11, 255, 255, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 255, 11, 11, 11, 11, 11, 11, + 11, 255, 11, 11, 255, 11, 11, 255, + 11, 11, 255, 255, 11, 255, 11, 11, + 11, 11, 11, 255, 255, 255, 255, 11, + 11, 255, 255, 11, 11, 11, 255, 255, + 255, 11, 255, 255, 255, 255, 255, 255, + 255, 11, 11, 11, 11, 255, 11, 255, + 255, 255, 255, 255, 255, 255, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 12, 12, 12, 255, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 255, 12, + 12, 12, 255, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 255, 12, 12, 12, 12, 12, 12, + 12, 255, 12, 12, 255, 12, 12, 12, + 12, 12, 255, 255, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 255, 12, + 12, 12, 255, 12, 12, 12, 255, 255, + 12, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 12, 12, 12, 12, 255, 255, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 255, 255, 255, 255, 255, 255, + 255, 12, 255, 255, 255, 255, 255, 255, + 255, 13, 13, 13, 255, 13, 13, 13, + 13, 13, 13, 13, 13, 255, 255, 13, + 13, 255, 255, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 255, 13, 13, 13, 13, 13, 13, + 13, 255, 13, 13, 255, 13, 13, 13, + 13, 13, 255, 255, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 255, 255, 13, + 13, 255, 255, 13, 13, 13, 255, 255, + 255, 255, 255, 255, 255, 255, 13, 13, + 255, 255, 255, 255, 13, 13, 255, 13, + 13, 13, 13, 13, 255, 255, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 14, 14, 255, 14, 14, 14, + 14, 14, 14, 255, 255, 255, 14, 14, + 14, 255, 14, 14, 14, 14, 255, 255, + 255, 14, 14, 255, 14, 255, 14, 14, + 255, 255, 255, 14, 14, 255, 255, 255, + 14, 14, 14, 255, 255, 255, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 255, 255, 255, 255, 14, 14, + 14, 14, 14, 255, 255, 255, 14, 14, + 14, 255, 14, 14, 14, 14, 255, 255, + 14, 255, 255, 255, 255, 255, 255, 14, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 255, 255, 255, 255, 255, + 15, 15, 15, 15, 255, 15, 15, 15, + 15, 15, 15, 15, 15, 255, 15, 15, + 15, 255, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 255, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 255, 255, 255, 15, 15, 15, + 15, 15, 15, 15, 15, 255, 15, 15, + 15, 255, 15, 15, 15, 15, 255, 255, + 255, 255, 255, 255, 255, 15, 15, 255, + 15, 15, 15, 255, 255, 255, 255, 255, + 15, 15, 15, 15, 255, 255, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, + 255, 255, 255, 255, 255, 255, 255, 255, + 15, 15, 15, 15, 15, 15, 15, 15, + 16, 16, 16, 16, 255, 16, 16, 16, + 16, 16, 16, 16, 16, 255, 16, 16, + 16, 255, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 255, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 255, 16, 16, 16, + 16, 16, 255, 255, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 255, 16, 16, + 16, 255, 16, 16, 16, 16, 255, 255, + 255, 255, 255, 255, 255, 16, 16, 255, + 255, 255, 255, 255, 255, 255, 16, 255, + 16, 16, 16, 16, 255, 255, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 255, 16, 16, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 17, 17, 17, 255, 17, 17, 17, + 17, 17, 17, 17, 17, 255, 17, 17, + 17, 255, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 255, 255, 17, 17, 17, + 17, 17, 17, 17, 17, 255, 17, 17, + 17, 255, 17, 17, 17, 17, 17, 17, + 255, 255, 255, 255, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 255, 255, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, + 255, 255, 18, 18, 255, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 255, + 255, 255, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 255, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 255, 18, 255, 255, + 18, 18, 18, 18, 18, 18, 18, 255, + 255, 255, 18, 255, 255, 255, 255, 18, + 18, 18, 18, 18, 18, 255, 18, 255, + 18, 18, 18, 18, 18, 18, 18, 18, + 255, 255, 255, 255, 255, 255, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 255, 255, 18, 18, 18, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 255, 255, 255, 255, 0, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 20, 20, 255, 20, 255, 255, 20, + 20, 255, 20, 255, 255, 20, 255, 255, + 255, 255, 255, 255, 20, 20, 20, 20, + 255, 20, 20, 20, 20, 20, 20, 20, + 255, 20, 20, 20, 255, 20, 255, 20, + 255, 255, 20, 20, 255, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 255, 20, 20, 20, 255, 255, + 20, 20, 20, 20, 20, 255, 20, 255, + 20, 20, 20, 20, 20, 20, 255, 255, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 255, 255, 20, 20, 20, 20, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 255, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 255, 255, 255, + 255, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 255, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 255, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 255, 21, 21, + 21, 21, 21, 21, 21, 0, 0, 0, + 0, 21, 21, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 255, 23, + 255, 255, 255, 255, 255, 23, 255, 255, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 0, 23, 23, 23, 23, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 255, 25, 25, 25, 25, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 255, 255, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 255, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 255, 255, 255, 255, 255, 255, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 255, 255, + 26, 26, 26, 26, 26, 26, 255, 255, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 255, 255, 255, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 0, 0, 0, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, + 29, 255, 255, 255, 255, 255, 255, 255, + 41, 41, 41, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 255, 41, 41, + 41, 41, 41, 41, 41, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 44, 44, 44, 44, 44, 44, 44, 44, + 44, 44, 44, 44, 44, 255, 44, 44, + 44, 255, 44, 44, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 255, 255, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 255, 255, 255, 255, 255, 255, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 255, 255, 255, 255, 255, 255, + 31, 31, 0, 0, 31, 0, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 255, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 255, 255, 255, 255, 255, 255, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 255, 255, 255, 255, 255, 255, 255, 255, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 255, 255, 255, 255, 255, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 255, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 255, 255, 255, 255, + 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 255, 255, 255, 255, + 45, 255, 255, 255, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, + 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 255, 255, + 46, 46, 46, 46, 46, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 255, 255, 255, 255, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 255, 255, 255, 255, 255, 255, + 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 255, 255, 255, 55, 55, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, + 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 255, 255, 53, 53, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 255, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 255, 255, 77, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 255, 255, 255, 255, 255, 255, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 255, 255, 255, 255, 255, 255, + 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 255, 255, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 255, 255, 255, 255, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 255, 255, 255, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 255, 255, 255, 255, + 255, 255, 255, 255, 92, 92, 92, 92, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 255, 255, 255, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 255, 255, 255, 67, 67, 67, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 66, 66, 66, 66, 66, 66, 66, 66, + 255, 255, 255, 255, 255, 255, 255, 255, + 40, 40, 40, 0, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 0, 40, 40, 40, 40, 40, 40, + 40, 0, 0, 0, 0, 40, 0, 0, + 0, 0, 0, 0, 40, 0, 0, 255, + 40, 40, 255, 255, 255, 255, 255, 255, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 255, 255, + 255, 255, 255, 40, 40, 40, 40, 40, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 255, 255, + 2, 2, 2, 2, 2, 2, 255, 255, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 255, 255, + 2, 2, 2, 2, 2, 2, 255, 255, + 2, 2, 2, 2, 2, 2, 2, 2, + 255, 2, 255, 2, 255, 2, 255, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 255, 255, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 255, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 255, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 255, 255, 2, 2, + 2, 2, 2, 2, 255, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 255, 255, 2, 2, 2, 255, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 40, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 255, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2, 0, + 0, 0, 1, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 255, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 255, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 255, 255, 255, 255, + 255, 54, 54, 54, 54, 54, 54, 54, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 255, 23, + 255, 255, 255, 255, 255, 23, 255, 255, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, + 255, 255, 255, 255, 255, 255, 255, 57, + 57, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 57, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 255, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 35, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 40, 40, 40, 40, 24, 24, + 0, 0, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 0, 0, 0, 0, + 255, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 255, + 255, 40, 40, 0, 0, 32, 32, 32, + 0, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 0, 0, 33, 33, 33, + 255, 255, 255, 255, 255, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 255, 255, + 255, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 255, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 255, 255, 255, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 255, + 1, 1, 1, 1, 1, 1, 1, 1, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 255, 255, 255, 255, 255, 255, 255, 255, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 255, 255, + 255, 255, 255, 255, 255, 255, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 255, 255, 255, 255, 255, 255, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 255, 255, + 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 0, 71, + 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 72, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 255, 255, 255, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 255, 0, + 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 255, 255, 255, 255, 84, 84, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 255, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 255, 255, + 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 255, 255, 76, 76, 76, 76, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 78, 78, 78, 78, 78, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 25, 25, 25, 25, 25, 25, 255, + 255, 25, 25, 25, 25, 25, 25, 255, + 255, 25, 25, 25, 25, 25, 25, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 25, 25, 25, 25, 25, 25, 25, 255, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 255, 255, + 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 255, 255, 255, 255, 255, 255, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 255, + 255, 255, 255, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 1, 1, 1, 1, 1, 1, 1, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 4, 4, 4, 4, 4, + 255, 255, 255, 255, 255, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 255, + 5, 5, 5, 5, 5, 255, 5, 255, + 5, 5, 255, 5, 5, 255, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 255, 255, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 255, 255, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 3, 3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 255, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 255, 255, 0, + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 0, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 255, + 255, 255, 24, 24, 24, 24, 24, 24, + 255, 255, 24, 24, 24, 24, 24, 24, + 255, 255, 24, 24, 24, 24, 24, 24, + 255, 255, 24, 24, 24, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 0, 0, 0, 0, 0, 255, 255, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 255, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 255, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 255, 47, 47, 255, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 255, 255, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 255, 255, 255, 255, 255, + 0, 0, 0, 255, 255, 255, 255, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 2, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 40, 255, 255, + 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 255, 255, 255, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, + 74, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 40, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 255, 255, 255, 255, 255, + 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 255, 255, 255, 255, 255, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 255, 48, + 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 255, 255, 255, 255, + 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, + 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, + 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 255, 255, + 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 255, 255, 255, 255, 255, 255, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 255, 255, 255, 255, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 255, 255, 255, 255, + 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, + 255, 255, 255, 255, 255, 255, 255, 255, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 102, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 109, 109, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 109, 109, 109, 109, 109, 109, 109, 109, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 51, 51, 51, 51, 51, 51, 255, 255, + 51, 255, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 255, 51, + 51, 255, 255, 255, 51, 255, 255, 51, + 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 255, 86, + 86, 86, 86, 86, 86, 86, 86, 86, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, + 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 255, + 255, 255, 255, 255, 255, 255, 255, 116, + 116, 116, 116, 116, 116, 116, 116, 116, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 255, 127, 127, 255, 255, + 255, 255, 255, 127, 127, 127, 127, 127, + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 255, 255, 255, 63, + 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 255, 255, 255, 255, 255, 75, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 255, 255, 255, 255, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 255, 255, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, + 60, 60, 60, 60, 255, 60, 60, 255, + 255, 255, 255, 255, 60, 60, 60, 60, + 60, 60, 60, 60, 255, 60, 60, 60, + 255, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 255, 255, 255, 255, + 60, 60, 60, 255, 255, 255, 255, 60, + 60, 60, 60, 60, 60, 60, 60, 60, + 255, 255, 255, 255, 255, 255, 255, 255, + 60, 60, 60, 60, 60, 60, 60, 60, + 60, 255, 255, 255, 255, 255, 255, 255, + 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, + 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 255, + 255, 255, 255, 111, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 255, 255, + 255, 79, 79, 79, 79, 79, 79, 79, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 255, 255, + 88, 88, 88, 88, 88, 88, 88, 88, + 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 255, 255, 255, 255, 255, + 89, 89, 89, 89, 89, 89, 89, 89, + 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 255, 255, 255, 255, 255, 255, + 255, 120, 120, 120, 120, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 120, 120, 120, 120, 120, 120, 120, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, + 90, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 255, 255, 255, 255, 255, + 255, 255, 129, 129, 129, 129, 129, 129, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 255, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 255, 255, + 255, 255, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 93, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, + 100, 255, 255, 255, 255, 255, 255, 255, + 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 255, 255, 255, 255, 255, 255, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 255, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 255, 255, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 255, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 255, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 128, 128, 128, 128, 128, 128, 128, 255, + 128, 255, 128, 128, 128, 128, 255, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 255, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 255, 255, 255, 255, 255, 255, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 255, 255, 255, 255, 255, + 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 255, 255, 255, 255, 255, 255, + 106, 106, 106, 106, 255, 106, 106, 106, + 106, 106, 106, 106, 106, 255, 255, 106, + 106, 255, 255, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, + 106, 255, 106, 106, 106, 106, 106, 106, + 106, 255, 106, 106, 255, 106, 106, 106, + 106, 106, 255, 255, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 255, 255, 106, + 106, 255, 255, 106, 106, 106, 255, 255, + 106, 255, 255, 255, 255, 255, 255, 106, + 255, 255, 255, 255, 255, 106, 106, 106, + 106, 106, 106, 106, 255, 255, 106, 106, + 106, 106, 106, 106, 106, 255, 255, 255, + 106, 106, 106, 106, 106, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 255, 134, 255, 134, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, + 255, 255, 255, 255, 255, 255, 255, 255, + 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 255, 255, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 255, 255, 255, 255, 255, 255, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, + 255, 255, 255, 255, 255, 255, 255, 255, + 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 255, 255, 255, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 255, 255, 255, 255, + 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 124, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, + 118, 255, 255, 255, 255, 255, 255, 255, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 255, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 255, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 255, 255, 255, + 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, + 255, 255, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, + 255, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 255, + 62, 62, 62, 62, 62, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, + 83, 255, 255, 255, 255, 255, 255, 255, + 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 255, + 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 255, 255, 255, 255, 114, 114, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 103, 103, 103, 103, + 103, 103, 103, 103, 103, 103, 255, 255, + 103, 103, 103, 103, 103, 103, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 255, 107, 107, 107, 107, 107, + 107, 107, 255, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 255, 255, 255, 255, 255, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 107, 107, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 136, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 33, 32, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 255, 255, 255, 255, 255, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 255, 255, 255, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 255, 255, 255, 255, 255, 255, 255, + 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 255, 255, 104, 104, 104, 104, + 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 40, + 40, 40, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 40, 40, 40, 40, 40, + 40, 40, 40, 0, 0, 40, 40, 40, + 40, 40, 40, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 40, 40, 40, 40, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, + 255, 255, 0, 255, 255, 0, 0, 255, + 255, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 0, + 0, 0, 0, 255, 255, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 255, 0, 255, + 255, 255, 0, 0, 0, 0, 0, 0, + 0, 255, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 130, 130, 130, 130, 130, + 255, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 56, 56, 56, 56, 56, 56, 56, 255, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, + 56, 255, 255, 56, 56, 56, 56, 56, + 56, 56, 255, 56, 56, 255, 56, 56, + 56, 56, 56, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 255, 255, 112, + 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 255, 255, 255, 255, 255, + 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 255, 255, 255, 255, 131, 131, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 6, 6, 255, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 255, 6, 6, 255, 6, 255, 255, 6, + 255, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 255, 6, 6, 6, 6, + 255, 6, 255, 6, 255, 255, 255, 255, + 255, 255, 6, 255, 255, 255, 255, 6, + 255, 6, 255, 6, 255, 6, 6, 6, + 255, 6, 6, 255, 6, 255, 255, 6, + 255, 6, 255, 6, 255, 6, 255, 6, + 255, 6, 6, 255, 6, 255, 255, 6, + 6, 6, 6, 255, 6, 6, 6, 6, + 6, 6, 6, 255, 6, 6, 6, 6, + 255, 6, 6, 6, 6, 255, 6, 255, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 255, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 255, 255, 255, 255, + 255, 6, 6, 6, 255, 6, 6, 6, + 6, 6, 255, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 6, 6, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 32, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 255, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 0, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, + 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255 + } +}; diff --git a/gllib/unictype/scripts_byname.gperf b/gllib/unictype/scripts_byname.gperf new file mode 100644 index 0000000..befa93c --- /dev/null +++ b/gllib/unictype/scripts_byname.gperf @@ -0,0 +1,151 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Unicode scripts. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ +struct named_script { int name; unsigned int index; }; +%struct-type +%language=ANSI-C +%define hash-function-name scripts_hash +%define lookup-function-name uc_script_lookup +%readonly-tables +%global-table +%define word-array-name script_names +%pic +%define string-pool-name script_stringpool +%% +Common, 0 +Latin, 1 +Greek, 2 +Cyrillic, 3 +Armenian, 4 +Hebrew, 5 +Arabic, 6 +Syriac, 7 +Thaana, 8 +Devanagari, 9 +Bengali, 10 +Gurmukhi, 11 +Gujarati, 12 +Oriya, 13 +Tamil, 14 +Telugu, 15 +Kannada, 16 +Malayalam, 17 +Sinhala, 18 +Thai, 19 +Lao, 20 +Tibetan, 21 +Myanmar, 22 +Georgian, 23 +Hangul, 24 +Ethiopic, 25 +Cherokee, 26 +Canadian_Aboriginal, 27 +Ogham, 28 +Runic, 29 +Khmer, 30 +Mongolian, 31 +Hiragana, 32 +Katakana, 33 +Bopomofo, 34 +Han, 35 +Yi, 36 +Old_Italic, 37 +Gothic, 38 +Deseret, 39 +Inherited, 40 +Tagalog, 41 +Hanunoo, 42 +Buhid, 43 +Tagbanwa, 44 +Limbu, 45 +Tai_Le, 46 +Linear_B, 47 +Ugaritic, 48 +Shavian, 49 +Osmanya, 50 +Cypriot, 51 +Braille, 52 +Buginese, 53 +Coptic, 54 +New_Tai_Lue, 55 +Glagolitic, 56 +Tifinagh, 57 +Syloti_Nagri, 58 +Old_Persian, 59 +Kharoshthi, 60 +Balinese, 61 +Cuneiform, 62 +Phoenician, 63 +Phags_Pa, 64 +Nko, 65 +Sundanese, 66 +Lepcha, 67 +Ol_Chiki, 68 +Vai, 69 +Saurashtra, 70 +Kayah_Li, 71 +Rejang, 72 +Lycian, 73 +Carian, 74 +Lydian, 75 +Cham, 76 +Tai_Tham, 77 +Tai_Viet, 78 +Avestan, 79 +Egyptian_Hieroglyphs, 80 +Samaritan, 81 +Lisu, 82 +Bamum, 83 +Javanese, 84 +Meetei_Mayek, 85 +Imperial_Aramaic, 86 +Old_South_Arabian, 87 +Inscriptional_Parthian, 88 +Inscriptional_Pahlavi, 89 +Old_Turkic, 90 +Kaithi, 91 +Batak, 92 +Brahmi, 93 +Mandaic, 94 +Chakma, 95 +Meroitic_Cursive, 96 +Meroitic_Hieroglyphs, 97 +Miao, 98 +Sharada, 99 +Sora_Sompeng, 100 +Takri, 101 +Caucasian_Albanian, 102 +Bassa_Vah, 103 +Duployan, 104 +Elbasan, 105 +Grantha, 106 +Pahawh_Hmong, 107 +Khojki, 108 +Linear_A, 109 +Mahajani, 110 +Manichaean, 111 +Mende_Kikakui, 112 +Modi, 113 +Mro, 114 +Old_North_Arabian, 115 +Nabataean, 116 +Palmyrene, 117 +Pau_Cin_Hau, 118 +Old_Permic, 119 +Psalter_Pahlavi, 120 +Siddham, 121 +Khudawadi, 122 +Tirhuta, 123 +Warang_Citi, 124 +Ahom, 125 +Anatolian_Hieroglyphs, 126 +Hatran, 127 +Multani, 128 +Old_Hungarian, 129 +SignWriting, 130 +Adlam, 131 +Bhaiksuki, 132 +Marchen, 133 +Newa, 134 +Osage, 135 +Tangut, 136 diff --git a/gllib/unictype/scripts_byname.h b/gllib/unictype/scripts_byname.h new file mode 100644 index 0000000..6f07eba --- /dev/null +++ b/gllib/unictype/scripts_byname.h @@ -0,0 +1,705 @@ +/* ANSI-C code produced by gperf version 3.1 */ +/* Command-line: gperf -m 10 ./unictype/scripts_byname.gperf */ +/* Computed positions: -k'1,3,5,8' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#endif + +#line 4 "./unictype/scripts_byname.gperf" +struct named_script { int name; unsigned int index; }; + +#define TOTAL_KEYWORDS 137 +#define MIN_WORD_LENGTH 2 +#define MAX_WORD_LENGTH 22 +#define MIN_HASH_VALUE 2 +#define MAX_HASH_VALUE 210 +/* maximum key range = 209, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +scripts_hash (register const char *str, register size_t len) +{ + static const unsigned char asso_values[] = + { + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 9, 0, 16, 40, 28, + 211, 64, 66, 24, 68, 47, 29, 8, 71, 44, + 16, 211, 61, 26, 19, 46, 102, 23, 211, 0, + 211, 211, 211, 211, 211, 51, 211, 3, 54, 55, + 36, 3, 55, 51, 36, 11, 48, 26, 6, 2, + 0, 1, 70, 211, 16, 64, 11, 18, 46, 3, + 211, 83, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211 + }; + register unsigned int hval = len; + + switch (hval) + { + default: + hval += asso_values[(unsigned char)str[7]]; + /*FALLTHROUGH*/ + case 7: + case 6: + case 5: + hval += asso_values[(unsigned char)str[4]]; + /*FALLTHROUGH*/ + case 4: + case 3: + hval += asso_values[(unsigned char)str[2]]; + /*FALLTHROUGH*/ + case 2: + case 1: + hval += asso_values[(unsigned char)str[0]]; + break; + } + return hval; +} + +struct script_stringpool_t + { + char script_stringpool_str2[sizeof("Yi")]; + char script_stringpool_str9[sizeof("Bamum")]; + char script_stringpool_str10[sizeof("Bengali")]; + char script_stringpool_str11[sizeof("Brahmi")]; + char script_stringpool_str12[sizeof("Mro")]; + char script_stringpool_str14[sizeof("Ahom")]; + char script_stringpool_str15[sizeof("Miao")]; + char script_stringpool_str16[sizeof("Braille")]; + char script_stringpool_str17[sizeof("Balinese")]; + char script_stringpool_str18[sizeof("Mandaic")]; + char script_stringpool_str19[sizeof("Armenian")]; + char script_stringpool_str20[sizeof("Myanmar")]; + char script_stringpool_str21[sizeof("Mongolian")]; + char script_stringpool_str22[sizeof("Adlam")]; + char script_stringpool_str23[sizeof("Cham")]; + char script_stringpool_str24[sizeof("Multani")]; + char script_stringpool_str25[sizeof("Common")]; + char script_stringpool_str26[sizeof("Thai")]; + char script_stringpool_str27[sizeof("Chakma")]; + char script_stringpool_str28[sizeof("Thaana")]; + char script_stringpool_str29[sizeof("Arabic")]; + char script_stringpool_str30[sizeof("Avestan")]; + char script_stringpool_str31[sizeof("Cherokee")]; + char script_stringpool_str32[sizeof("Tamil")]; + char script_stringpool_str33[sizeof("Lao")]; + char script_stringpool_str34[sizeof("Meetei_Mayek")]; + char script_stringpool_str35[sizeof("Mende_Kikakui")]; + char script_stringpool_str36[sizeof("Sinhala")]; + char script_stringpool_str37[sizeof("Anatolian_Hieroglyphs")]; + char script_stringpool_str38[sizeof("Phoenician")]; + char script_stringpool_str39[sizeof("Sharada")]; + char script_stringpool_str40[sizeof("Linear_B")]; + char script_stringpool_str41[sizeof("Carian")]; + char script_stringpool_str42[sizeof("Batak")]; + char script_stringpool_str43[sizeof("Tangut")]; + char script_stringpool_str45[sizeof("Latin")]; + char script_stringpool_str47[sizeof("Shavian")]; + char script_stringpool_str48[sizeof("Modi")]; + char script_stringpool_str49[sizeof("Linear_A")]; + char script_stringpool_str51[sizeof("Syriac")]; + char script_stringpool_str52[sizeof("Cuneiform")]; + char script_stringpool_str53[sizeof("Osmanya")]; + char script_stringpool_str54[sizeof("Limbu")]; + char script_stringpool_str55[sizeof("Osage")]; + char script_stringpool_str56[sizeof("Samaritan")]; + char script_stringpool_str57[sizeof("Kannada")]; + char script_stringpool_str58[sizeof("Caucasian_Albanian")]; + char script_stringpool_str59[sizeof("Tai_Tham")]; + char script_stringpool_str60[sizeof("Tirhuta")]; + char script_stringpool_str61[sizeof("Takri")]; + char script_stringpool_str62[sizeof("Buginese")]; + char script_stringpool_str63[sizeof("Oriya")]; + char script_stringpool_str64[sizeof("Bhaiksuki")]; + char script_stringpool_str65[sizeof("Tai_Le")]; + char script_stringpool_str66[sizeof("Warang_Citi")]; + char script_stringpool_str67[sizeof("Marchen")]; + char script_stringpool_str68[sizeof("Saurashtra")]; + char script_stringpool_str69[sizeof("Han")]; + char script_stringpool_str70[sizeof("Khmer")]; + char script_stringpool_str71[sizeof("Canadian_Aboriginal")]; + char script_stringpool_str72[sizeof("Kharoshthi")]; + char script_stringpool_str73[sizeof("Hanunoo")]; + char script_stringpool_str74[sizeof("Lydian")]; + char script_stringpool_str75[sizeof("Nko")]; + char script_stringpool_str76[sizeof("Manichaean")]; + char script_stringpool_str77[sizeof("Buhid")]; + char script_stringpool_str78[sizeof("Newa")]; + char script_stringpool_str79[sizeof("Bassa_Vah")]; + char script_stringpool_str80[sizeof("Khojki")]; + char script_stringpool_str81[sizeof("Bopomofo")]; + char script_stringpool_str82[sizeof("Telugu")]; + char script_stringpool_str83[sizeof("Tagalog")]; + char script_stringpool_str84[sizeof("Tagbanwa")]; + char script_stringpool_str85[sizeof("Grantha")]; + char script_stringpool_str86[sizeof("Hatran")]; + char script_stringpool_str87[sizeof("Ogham")]; + char script_stringpool_str88[sizeof("Inherited")]; + char script_stringpool_str89[sizeof("Glagolitic")]; + char script_stringpool_str90[sizeof("Hangul")]; + char script_stringpool_str91[sizeof("Tibetan")]; + char script_stringpool_str92[sizeof("Gothic")]; + char script_stringpool_str93[sizeof("Lycian")]; + char script_stringpool_str94[sizeof("Phags_Pa")]; + char script_stringpool_str95[sizeof("Katakana")]; + char script_stringpool_str96[sizeof("Psalter_Pahlavi")]; + char script_stringpool_str97[sizeof("Lisu")]; + char script_stringpool_str98[sizeof("Greek")]; + char script_stringpool_str99[sizeof("Devanagari")]; + char script_stringpool_str100[sizeof("Kaithi")]; + char script_stringpool_str101[sizeof("Cyrillic")]; + char script_stringpool_str102[sizeof("Sundanese")]; + char script_stringpool_str103[sizeof("Coptic")]; + char script_stringpool_str104[sizeof("Cypriot")]; + char script_stringpool_str105[sizeof("Siddham")]; + char script_stringpool_str106[sizeof("Meroitic_Cursive")]; + char script_stringpool_str107[sizeof("Sora_Sompeng")]; + char script_stringpool_str108[sizeof("Old_Permic")]; + char script_stringpool_str109[sizeof("Malayalam")]; + char script_stringpool_str110[sizeof("Meroitic_Hieroglyphs")]; + char script_stringpool_str111[sizeof("Mahajani")]; + char script_stringpool_str112[sizeof("Pau_Cin_Hau")]; + char script_stringpool_str113[sizeof("Khudawadi")]; + char script_stringpool_str114[sizeof("Palmyrene")]; + char script_stringpool_str115[sizeof("Rejang")]; + char script_stringpool_str116[sizeof("Vai")]; + char script_stringpool_str117[sizeof("Gurmukhi")]; + char script_stringpool_str118[sizeof("Tifinagh")]; + char script_stringpool_str119[sizeof("Duployan")]; + char script_stringpool_str120[sizeof("Old_Italic")]; + char script_stringpool_str121[sizeof("Runic")]; + char script_stringpool_str122[sizeof("SignWriting")]; + char script_stringpool_str123[sizeof("Ugaritic")]; + char script_stringpool_str124[sizeof("Georgian")]; + char script_stringpool_str125[sizeof("Javanese")]; + char script_stringpool_str126[sizeof("Syloti_Nagri")]; + char script_stringpool_str127[sizeof("Deseret")]; + char script_stringpool_str128[sizeof("Ethiopic")]; + char script_stringpool_str129[sizeof("Hebrew")]; + char script_stringpool_str132[sizeof("Imperial_Aramaic")]; + char script_stringpool_str133[sizeof("Pahawh_Hmong")]; + char script_stringpool_str134[sizeof("Old_South_Arabian")]; + char script_stringpool_str135[sizeof("Old_Turkic")]; + char script_stringpool_str136[sizeof("Inscriptional_Pahlavi")]; + char script_stringpool_str137[sizeof("Inscriptional_Parthian")]; + char script_stringpool_str141[sizeof("Lepcha")]; + char script_stringpool_str142[sizeof("Egyptian_Hieroglyphs")]; + char script_stringpool_str144[sizeof("Hiragana")]; + char script_stringpool_str147[sizeof("Gujarati")]; + char script_stringpool_str148[sizeof("Nabataean")]; + char script_stringpool_str150[sizeof("Ol_Chiki")]; + char script_stringpool_str151[sizeof("Tai_Viet")]; + char script_stringpool_str153[sizeof("Elbasan")]; + char script_stringpool_str155[sizeof("New_Tai_Lue")]; + char script_stringpool_str171[sizeof("Old_Persian")]; + char script_stringpool_str179[sizeof("Old_North_Arabian")]; + char script_stringpool_str185[sizeof("Kayah_Li")]; + char script_stringpool_str210[sizeof("Old_Hungarian")]; + }; +static const struct script_stringpool_t script_stringpool_contents = + { + "Yi", + "Bamum", + "Bengali", + "Brahmi", + "Mro", + "Ahom", + "Miao", + "Braille", + "Balinese", + "Mandaic", + "Armenian", + "Myanmar", + "Mongolian", + "Adlam", + "Cham", + "Multani", + "Common", + "Thai", + "Chakma", + "Thaana", + "Arabic", + "Avestan", + "Cherokee", + "Tamil", + "Lao", + "Meetei_Mayek", + "Mende_Kikakui", + "Sinhala", + "Anatolian_Hieroglyphs", + "Phoenician", + "Sharada", + "Linear_B", + "Carian", + "Batak", + "Tangut", + "Latin", + "Shavian", + "Modi", + "Linear_A", + "Syriac", + "Cuneiform", + "Osmanya", + "Limbu", + "Osage", + "Samaritan", + "Kannada", + "Caucasian_Albanian", + "Tai_Tham", + "Tirhuta", + "Takri", + "Buginese", + "Oriya", + "Bhaiksuki", + "Tai_Le", + "Warang_Citi", + "Marchen", + "Saurashtra", + "Han", + "Khmer", + "Canadian_Aboriginal", + "Kharoshthi", + "Hanunoo", + "Lydian", + "Nko", + "Manichaean", + "Buhid", + "Newa", + "Bassa_Vah", + "Khojki", + "Bopomofo", + "Telugu", + "Tagalog", + "Tagbanwa", + "Grantha", + "Hatran", + "Ogham", + "Inherited", + "Glagolitic", + "Hangul", + "Tibetan", + "Gothic", + "Lycian", + "Phags_Pa", + "Katakana", + "Psalter_Pahlavi", + "Lisu", + "Greek", + "Devanagari", + "Kaithi", + "Cyrillic", + "Sundanese", + "Coptic", + "Cypriot", + "Siddham", + "Meroitic_Cursive", + "Sora_Sompeng", + "Old_Permic", + "Malayalam", + "Meroitic_Hieroglyphs", + "Mahajani", + "Pau_Cin_Hau", + "Khudawadi", + "Palmyrene", + "Rejang", + "Vai", + "Gurmukhi", + "Tifinagh", + "Duployan", + "Old_Italic", + "Runic", + "SignWriting", + "Ugaritic", + "Georgian", + "Javanese", + "Syloti_Nagri", + "Deseret", + "Ethiopic", + "Hebrew", + "Imperial_Aramaic", + "Pahawh_Hmong", + "Old_South_Arabian", + "Old_Turkic", + "Inscriptional_Pahlavi", + "Inscriptional_Parthian", + "Lepcha", + "Egyptian_Hieroglyphs", + "Hiragana", + "Gujarati", + "Nabataean", + "Ol_Chiki", + "Tai_Viet", + "Elbasan", + "New_Tai_Lue", + "Old_Persian", + "Old_North_Arabian", + "Kayah_Li", + "Old_Hungarian" + }; +#define script_stringpool ((const char *) &script_stringpool_contents) + +static const struct named_script script_names[] = + { + {-1}, {-1}, +#line 51 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str2, 36}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 98 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str9, 83}, +#line 25 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str10, 10}, +#line 108 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str11, 93}, +#line 129 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str12, 114}, + {-1}, +#line 140 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str14, 125}, +#line 113 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str15, 98}, +#line 67 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str16, 52}, +#line 76 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str17, 61}, +#line 109 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str18, 94}, +#line 19 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str19, 4}, +#line 37 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str20, 22}, +#line 46 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str21, 31}, +#line 146 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str22, 131}, +#line 91 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str23, 76}, +#line 143 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str24, 128}, +#line 15 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str25, 0}, +#line 34 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str26, 19}, +#line 110 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str27, 95}, +#line 23 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str28, 8}, +#line 21 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str29, 6}, +#line 94 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str30, 79}, +#line 41 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str31, 26}, +#line 29 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str32, 14}, +#line 35 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str33, 20}, +#line 100 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str34, 85}, +#line 127 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str35, 112}, +#line 33 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str36, 18}, +#line 141 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str37, 126}, +#line 78 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str38, 63}, +#line 114 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str39, 99}, +#line 62 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str40, 47}, +#line 89 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str41, 74}, +#line 107 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str42, 92}, +#line 151 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str43, 136}, + {-1}, +#line 16 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str45, 1}, + {-1}, +#line 64 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str47, 49}, +#line 128 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str48, 113}, +#line 124 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str49, 109}, + {-1}, +#line 22 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str51, 7}, +#line 77 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str52, 62}, +#line 65 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str53, 50}, +#line 60 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str54, 45}, +#line 150 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str55, 135}, +#line 96 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str56, 81}, +#line 31 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str57, 16}, +#line 117 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str58, 102}, +#line 92 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str59, 77}, +#line 138 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str60, 123}, +#line 116 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str61, 101}, +#line 68 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str62, 53}, +#line 28 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str63, 13}, +#line 147 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str64, 132}, +#line 61 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str65, 46}, +#line 139 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str66, 124}, +#line 148 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str67, 133}, +#line 85 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str68, 70}, +#line 50 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str69, 35}, +#line 45 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str70, 30}, +#line 42 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str71, 27}, +#line 75 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str72, 60}, +#line 57 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str73, 42}, +#line 90 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str74, 75}, +#line 80 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str75, 65}, +#line 126 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str76, 111}, +#line 58 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str77, 43}, +#line 149 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str78, 134}, +#line 118 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str79, 103}, +#line 123 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str80, 108}, +#line 49 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str81, 34}, +#line 30 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str82, 15}, +#line 56 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str83, 41}, +#line 59 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str84, 44}, +#line 121 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str85, 106}, +#line 142 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str86, 127}, +#line 43 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str87, 28}, +#line 55 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str88, 40}, +#line 71 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str89, 56}, +#line 39 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str90, 24}, +#line 36 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str91, 21}, +#line 53 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str92, 38}, +#line 88 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str93, 73}, +#line 79 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str94, 64}, +#line 48 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str95, 33}, +#line 135 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str96, 120}, +#line 97 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str97, 82}, +#line 17 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str98, 2}, +#line 24 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str99, 9}, +#line 106 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str100, 91}, +#line 18 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str101, 3}, +#line 81 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str102, 66}, +#line 69 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str103, 54}, +#line 66 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str104, 51}, +#line 136 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str105, 121}, +#line 111 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str106, 96}, +#line 115 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str107, 100}, +#line 134 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str108, 119}, +#line 32 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str109, 17}, +#line 112 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str110, 97}, +#line 125 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str111, 110}, +#line 133 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str112, 118}, +#line 137 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str113, 122}, +#line 132 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str114, 117}, +#line 87 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str115, 72}, +#line 84 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str116, 69}, +#line 26 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str117, 11}, +#line 72 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str118, 57}, +#line 119 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str119, 104}, +#line 52 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str120, 37}, +#line 44 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str121, 29}, +#line 145 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str122, 130}, +#line 63 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str123, 48}, +#line 38 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str124, 23}, +#line 99 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str125, 84}, +#line 73 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str126, 58}, +#line 54 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str127, 39}, +#line 40 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str128, 25}, +#line 20 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str129, 5}, + {-1}, {-1}, +#line 101 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str132, 86}, +#line 122 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str133, 107}, +#line 102 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str134, 87}, +#line 105 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str135, 90}, +#line 104 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str136, 89}, +#line 103 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str137, 88}, + {-1}, {-1}, {-1}, +#line 82 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str141, 67}, +#line 95 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str142, 80}, + {-1}, +#line 47 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str144, 32}, + {-1}, {-1}, +#line 27 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str147, 12}, +#line 131 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str148, 116}, + {-1}, +#line 83 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str150, 68}, +#line 93 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str151, 78}, + {-1}, +#line 120 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str153, 105}, + {-1}, +#line 70 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str155, 55}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 74 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str171, 59}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 130 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str179, 115}, + {-1}, {-1}, {-1}, {-1}, {-1}, +#line 86 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str185, 71}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 144 "./unictype/scripts_byname.gperf" + {(int)(size_t)&((struct script_stringpool_t *)0)->script_stringpool_str210, 129} + }; + +const struct named_script * +uc_script_lookup (register const char *str, register size_t len) +{ + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = scripts_hash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = script_names[key].name; + if (o >= 0) + { + register const char *s = o + script_stringpool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &script_names[key]; + } + } + } + return 0; +} diff --git a/gllib/uniname.in.h b/gllib/uniname.in.h new file mode 100644 index 0000000..cfffad0 --- /dev/null +++ b/gllib/uniname.in.h @@ -0,0 +1,46 @@ +/* Association between Unicode characters and their names. + Copyright (C) 2000-2002, 2005, 2007, 2009-2017 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNINAME_H +#define _UNINAME_H + +#include "unitypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Required size of buffer for a Unicode character name. */ +#define UNINAME_MAX 256 + +/* Looks up the name of a Unicode character, in uppercase ASCII. + Returns the filled buf, or NULL if the character does not have a name. */ +extern char * + unicode_character_name (ucs4_t uc, char *buf); + +/* Looks up the Unicode character with a given name, in upper- or lowercase + ASCII. Returns the character if found, or UNINAME_INVALID if not found. */ +extern ucs4_t + unicode_name_character (const char *name) + _UC_ATTRIBUTE_PURE; +#define UNINAME_INVALID ((ucs4_t) 0xFFFF) + +#ifdef __cplusplus +} +#endif + +#endif /* _UNINAME_H */ diff --git a/gllib/uniname/gen-uninames.lisp b/gllib/uniname/gen-uninames.lisp new file mode 100755 index 0000000..937b50e --- /dev/null +++ b/gllib/uniname/gen-uninames.lisp @@ -0,0 +1,332 @@ +#!/usr/local/bin/clisp -C + +;;; Creation of gnulib's uninames.h from the UnicodeData.txt table. +;;; Bruno Haible 2000-12-28 + +(defparameter add-comments nil) + +(defstruct unicode-char + (index nil :type integer) + (name nil :type string) + word-indices + word-indices-index +) + +(defstruct range + (index nil :type integer) + (start-code nil :type integer) + (end-code nil :type integer) +) + +(defstruct word-list + (hashed nil :type hash-table) + (sorted nil :type list) + size ; number of characters total + length ; number of words +) + +(defun main (inputfile outputfile aliasfile) + (declare (type string inputfile outputfile aliasfile)) + #+UNICODE (setq *default-file-encoding* charset:utf-8) + (let ((all-chars '()) + (all-chars-hashed (make-hash-table :test #'equal)) + (all-aliases '()) + all-chars-and-aliases + (all-ranges '()) + (name-index 0) + range) + ;; Read all characters and names from the input file. + (with-open-file (istream inputfile :direction :input) + (loop + (let ((line (read-line istream nil nil))) + (unless line (return)) + (let* ((i1 (position #\; line)) + (i2 (position #\; line :start (1+ i1))) + (code-string (subseq line 0 i1)) + (code (parse-integer code-string :radix 16)) + (name-string (subseq line (1+ i1) i2))) + ; Ignore characters whose name starts with "<". + (unless (eql (char name-string 0) #\<) + ; Also ignore Hangul syllables; they are treated specially. + (unless (<= #xAC00 code #xD7A3) + ; Also ignore CJK compatibility ideographs; they are treated + ; specially as well. + (unless (or (<= #xF900 code #xFA2D) (<= #xFA30 code #xFA6A) + (<= #xFA70 code #xFAD9) (<= #x2F800 code #x2FA1D)) + ;; Also ignore variationselectors; they are treated + ;; specially as well. + (unless (or (<= #xFE00 code #xFE0F) (<= #xE0100 code #xE01EF)) + (push (make-unicode-char :index name-index + :name name-string) + all-chars) + (setf (gethash code all-chars-hashed) (car all-chars)) + ;; Update the contiguous range, or start a new range. + (if (and range (= (1+ (range-end-code range)) code)) + (setf (range-end-code range) code) + (progn + (when range + (push range all-ranges)) + (setq range (make-range :index name-index + :start-code code + :end-code code)))) + (incf name-index) + (setq last-code code) + ) ) ) ) + ) ) ) ) + (setq all-chars (nreverse all-chars)) + (if range + (push range all-ranges)) + (setq all-ranges (nreverse all-ranges)) + (when aliasfile + ;; Read all characters and names from the alias file. + (with-open-file (istream aliasfile :direction :input) + (loop + (let ((line (read-line istream nil nil))) + (unless line (return)) + (let* ((i1 (position #\; line)) + (i2 (position #\; line :start (1+ i1))) + (code-string (subseq line 0 i1)) + (code (parse-integer code-string :radix 16)) + (name-string (subseq line (1+ i1) i2)) + (uc (gethash code all-chars-hashed))) + (when uc + (push (make-unicode-char :index (unicode-char-index uc) + :name name-string) + all-aliases) + ) ) ) ) ) ) + (setq all-aliases (nreverse all-aliases) + all-chars-and-aliases (append all-chars all-aliases)) + ;; Split into words. + (let ((words-by-length (make-array 0 :adjustable t))) + (dolist (name (list* "HANGUL SYLLABLE" "CJK COMPATIBILITY" "VARIATION" + (mapcar #'unicode-char-name all-chars-and-aliases))) + (let ((i1 0)) + (loop + (when (>= i1 (length name)) (return)) + (let ((i2 (or (position #\Space name :start i1) (length name)))) + (let* ((word (subseq name i1 i2)) + (len (length word))) + (when (>= len (length words-by-length)) + (adjust-array words-by-length (1+ len)) + ) + (unless (aref words-by-length len) + (setf (aref words-by-length len) + (make-word-list + :hashed (make-hash-table :test #'equal) + :sorted '() + ) ) ) + (let ((word-list (aref words-by-length len))) + (unless (gethash word (word-list-hashed word-list)) + (setf (gethash word (word-list-hashed word-list)) t) + (push word (word-list-sorted word-list)) + ) ) + ) + (setq i1 (1+ i2)) + ) ) ) ) + ;; Sort the word lists. + (dotimes (len (length words-by-length)) + (unless (aref words-by-length len) + (setf (aref words-by-length len) + (make-word-list + :hashed (make-hash-table :test #'equal) + :sorted '() + ) ) ) + (let ((word-list (aref words-by-length len))) + (setf (word-list-sorted word-list) + (sort (word-list-sorted word-list) #'string<) + ) + (setf (word-list-size word-list) + (reduce #'+ (mapcar #'length (word-list-sorted word-list))) + ) + (setf (word-list-length word-list) + (length (word-list-sorted word-list)) + ) ) ) + ;; Output the tables. + (with-open-file (ostream outputfile :direction :output + #+UNICODE :external-format #+UNICODE charset:ascii) + (format ostream "/* DO NOT EDIT! GENERATED AUTOMATICALLY! */~%") + (format ostream "/*~%") + (format ostream " * ~A~%" (file-namestring outputfile)) + (format ostream " *~%") + (format ostream " * Unicode character name table.~%") + (format ostream " * Generated automatically by the gen-uninames utility.~%") + (format ostream " */~%") + (format ostream "~%") + (format ostream "static const char unicode_name_words[~D] = {~%" + (let ((sum 0)) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (incf sum (word-list-size word-list)) + ) ) + sum + ) ) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (dolist (word (word-list-sorted word-list)) + (format ostream " ~{ '~C',~}~%" (coerce word 'list)) + ) ) ) + (format ostream "};~%") + (format ostream "#define UNICODE_CHARNAME_NUM_WORDS ~D~%" + (let ((sum 0)) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (incf sum (word-list-length word-list)) + ) ) + sum + ) ) + #| ; Redundant data + (format ostream "static const uint16_t unicode_name_word_offsets[~D] = {~%" + (let ((sum 0)) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (incf sum (word-list-length word-list)) + ) ) + sum + ) ) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (when (word-list-sorted word-list) + (format ostream " ") + (do ((l (word-list-sorted word-list) (cdr l)) + (offset 0 (+ offset (length (car l))))) + ((endp l)) + (format ostream "~<~% ~0,79:; ~D,~>" offset) + ) + (format ostream "~%") + ) ) ) + (format ostream "};~%") + |# + (format ostream "static const struct { uint32_t extra_offset; uint16_t ind_offset; } unicode_name_by_length[~D] = {~%" + (1+ (length words-by-length)) + ) + (let ((extra-offset 0) + (ind-offset 0)) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (format ostream " { ~D, ~D },~%" extra-offset ind-offset) + (incf extra-offset (word-list-size word-list)) + (incf ind-offset (word-list-length word-list)) + ) ) + (format ostream " { ~D, ~D }~%" extra-offset ind-offset) + ) + (format ostream "};~%") + (let ((ind-offset 0)) + (dotimes (len (length words-by-length)) + (let ((word-list (aref words-by-length len))) + (dolist (word (word-list-sorted word-list)) + (setf (gethash word (word-list-hashed word-list)) ind-offset) + (incf ind-offset) + ) ) ) ) + (dolist (word '("HANGUL" "SYLLABLE" "CJK" "COMPATIBILITY" "VARIATION")) + (format ostream "#define UNICODE_CHARNAME_WORD_~A ~D~%" word + (gethash word (word-list-hashed (aref words-by-length (length word)))) + ) ) + ;; Compute the word-indices for every unicode-char. + (dolist (uc all-chars-and-aliases) + (let ((name (unicode-char-name uc)) + (indices '())) + (let ((i1 0)) + (loop + (when (>= i1 (length name)) (return)) + (let ((i2 (or (position #\Space name :start i1) (length name)))) + (let* ((word (subseq name i1 i2)) + (len (length word))) + (push (gethash word (word-list-hashed (aref words-by-length len))) + indices + ) + ) + (setq i1 (1+ i2)) + ) ) ) + (setf (unicode-char-word-indices uc) + (coerce (nreverse indices) 'vector) + ) + ) ) + ;; Sort the list of unicode-chars by word-indices. + (setq all-chars-and-aliases + (sort all-chars-and-aliases + (lambda (vec1 vec2) + (let ((len1 (length vec1)) + (len2 (length vec2))) + (do ((i 0 (1+ i))) + (nil) + (if (< i len2) + (if (< i len1) + (cond ((< (aref vec1 i) (aref vec2 i)) (return t)) + ((> (aref vec1 i) (aref vec2 i)) (return nil)) + ) + (return t) + ) + (return nil) + ) ) ) ) + :key #'unicode-char-word-indices + ) ) + ;; Output the word-indices. + (format ostream "static const uint16_t unicode_names[~D] = {~%" + (reduce #'+ (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars-and-aliases)) + ) + (let ((i 0)) + (dolist (uc all-chars-and-aliases) + (format ostream " ~{ ~D,~}" + (maplist (lambda (r) (+ (* 2 (car r)) (if (cdr r) 1 0))) + (coerce (unicode-char-word-indices uc) 'list) + ) + ) + (when add-comments + (format ostream "~40T/* ~A */" (unicode-char-name uc)) + ) + (format ostream "~%") + (setf (unicode-char-word-indices-index uc) i) + (incf i (length (unicode-char-word-indices uc))) + ) ) + (format ostream "};~%") + (format ostream "static const struct { uint16_t index; uint32_t name:24; }~%") + (format ostream "#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)~%__attribute__((__packed__))~%#endif~%") + (format ostream "unicode_name_to_index[~D] = {~%" + (length all-chars-and-aliases) + ) + (dolist (uc all-chars-and-aliases) + (format ostream " { 0x~4,'0X, ~D }," + (unicode-char-index uc) + (unicode-char-word-indices-index uc) + ) + (when add-comments + (format ostream "~21T/* ~A */" (unicode-char-name uc)) + ) + (format ostream "~%") + ) + (format ostream "};~%") + (format ostream "static const struct { uint16_t index; uint32_t name:24; }~%") + (format ostream "#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)~%__attribute__((__packed__))~%#endif~%") + (format ostream "unicode_index_to_name[~D] = {~%" + (length all-chars) + ) + (dolist (uc (sort (copy-list all-chars) #'< :key #'unicode-char-index)) + (format ostream " { 0x~4,'0X, ~D }," + (unicode-char-index uc) + (unicode-char-word-indices-index uc) + ) + (when add-comments + (format ostream "~21T/* ~A */" (unicode-char-name uc)) + ) + (format ostream "~%") + ) + (format ostream "};~%") + (format ostream "#define UNICODE_CHARNAME_MAX_LENGTH ~D~%" + (reduce #'max (mapcar (lambda (uc) (length (unicode-char-name uc))) all-chars-and-aliases)) + ) + (format ostream "#define UNICODE_CHARNAME_MAX_WORDS ~D~%" + (reduce #'max (mapcar (lambda (uc) (length (unicode-char-word-indices uc))) all-chars-and-aliases)) + ) + (format ostream "static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[~D] = {~%" + (length all-ranges)) + (dolist (range all-ranges) + (format ostream " { ~D, ~D, ~D },~%" + (range-index range) + (- (range-start-code range) (range-index range)) + (1+ (- (range-end-code range) (range-start-code range)))) + ) + (format ostream "};~%") + ) +) ) ) + +(main (first *args*) (second *args*) (third *args*)) diff --git a/gllib/uniname/uniname.c b/gllib/uniname/uniname.c new file mode 100644 index 0000000..5a9862e --- /dev/null +++ b/gllib/uniname/uniname.c @@ -0,0 +1,626 @@ +/* Association between Unicode characters and their names. + Copyright (C) 2000-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uniname.h" + +#include +#include +#include +#include +#include + +#define SIZEOF(a) (sizeof(a) / sizeof(a[0])) + + +/* Table of Unicode character names, derived from UnicodeData.txt. + This table is generated in a way to minimize the memory footprint: + 1. its compiled size is small (less than 350 KB), + 2. it resides entirely in the text or read-only data segment of the + executable or shared library: the table contains only immediate + integers, no pointers, and the functions don't do heap allocation. + */ +#include "uninames.h" +/* It contains: + static const char unicode_name_words[36303] = ...; + #define UNICODE_CHARNAME_NUM_WORDS 6260 + static const struct { uint16_t extra_offset; uint16_t ind_offset; } unicode_name_by_length[26] = ...; + #define UNICODE_CHARNAME_WORD_HANGUL 3902 + #define UNICODE_CHARNAME_WORD_SYLLABLE 4978 + #define UNICODE_CHARNAME_WORD_CJK 417 + #define UNICODE_CHARNAME_WORD_COMPATIBILITY 6107 + static const uint16_t unicode_names[68940] = ...; + static const struct { uint16_t index; uint32_t name:24; } unicode_name_to_index[16626] = ...; + static const struct { uint16_t index; uint32_t name:24; } unicode_index_to_name[16626] = ...; + #define UNICODE_CHARNAME_MAX_LENGTH 83 + #define UNICODE_CHARNAME_MAX_WORDS 13 + static const struct { uint32_t index; uint32_t gap; uint16_t length; } unicode_ranges[401] = ...; +*/ + +/* Returns the word with a given index. */ +static const char * +unicode_name_word (unsigned int index, unsigned int *lengthp) +{ + unsigned int i1; + unsigned int i2; + unsigned int i; + + assert (index < UNICODE_CHARNAME_NUM_WORDS); + + /* Binary search for i with + unicode_name_by_length[i].ind_offset <= index + and + index < unicode_name_by_length[i+1].ind_offset + */ + + i1 = 0; + i2 = SIZEOF (unicode_name_by_length) - 1; + while (i2 - i1 > 1) + { + unsigned int i = (i1 + i2) >> 1; + if (unicode_name_by_length[i].ind_offset <= index) + i1 = i; + else + i2 = i; + } + i = i1; + assert (unicode_name_by_length[i].ind_offset <= index + && index < unicode_name_by_length[i+1].ind_offset); + *lengthp = i; + return &unicode_name_words[unicode_name_by_length[i].extra_offset + + (index-unicode_name_by_length[i].ind_offset)*i]; +} + +/* Looks up the index of a word. */ +static int +unicode_name_word_lookup (const char *word, unsigned int length) +{ + if (length > 0 && length < SIZEOF (unicode_name_by_length) - 1) + { + /* Binary search among the words of given length. */ + unsigned int extra_offset = unicode_name_by_length[length].extra_offset; + unsigned int i0 = unicode_name_by_length[length].ind_offset; + unsigned int i1 = i0; + unsigned int i2 = unicode_name_by_length[length+1].ind_offset; + while (i2 - i1 > 0) + { + unsigned int i = (i1 + i2) >> 1; + const char *p = &unicode_name_words[extra_offset + (i-i0)*length]; + const char *w = word; + unsigned int n = length; + for (;;) + { + if (*p < *w) + { + if (i1 == i) + return -1; + /* Note here: i1 < i < i2. */ + i1 = i; + break; + } + if (*p > *w) + { + /* Note here: i1 <= i < i2. */ + i2 = i; + break; + } + p++; w++; n--; + if (n == 0) + return i; + } + } + } + return -1; +} + +#define UNINAME_INVALID_INDEX UINT16_MAX + +/* Looks up the internal index of a Unicode character. */ +static uint16_t +unicode_code_to_index (ucs4_t c) +{ + /* Binary search in unicode_ranges. */ + unsigned int i1 = 0; + unsigned int i2 = SIZEOF (unicode_ranges); + + for (;;) + { + unsigned int i = (i1 + i2) >> 1; + ucs4_t start_code = + unicode_ranges[i].index + unicode_ranges[i].gap; + ucs4_t end_code = + start_code + unicode_ranges[i].length - 1; + + if (start_code <= c && c <= end_code) + return c - unicode_ranges[i].gap; + + if (end_code < c) + { + if (i1 == i) + break; + /* Note here: i1 < i < i2. */ + i1 = i; + } + else if (c < start_code) + { + if (i2 == i) + break; + /* Note here: i1 <= i < i2. */ + i2 = i; + } + } + return UNINAME_INVALID_INDEX; +} + +/* Looks up the codepoint of a Unicode character, from the given + internal index. */ +static ucs4_t +unicode_index_to_code (uint16_t index) +{ + /* Binary search in unicode_ranges. */ + unsigned int i1 = 0; + unsigned int i2 = SIZEOF (unicode_ranges); + + for (;;) + { + unsigned int i = (i1 + i2) >> 1; + uint16_t start_index = unicode_ranges[i].index; + uint16_t end_index = start_index + unicode_ranges[i].length - 1; + + if (start_index <= index && index <= end_index) + return index + unicode_ranges[i].gap; + + if (end_index < index) + { + if (i1 == i) + break; + /* Note here: i1 < i < i2. */ + i1 = i; + } + else if (index < start_index) + { + if (i2 == i) + break; + /* Note here: i1 <= i < i2. */ + i2 = i; + } + } + return UNINAME_INVALID; +} + + +/* Auxiliary tables for Hangul syllable names, see the Unicode 3.0 book, + sections 3.11 and 4.4. */ +static const char jamo_initial_short_name[19][3] = +{ + "G", "GG", "N", "D", "DD", "R", "M", "B", "BB", "S", "SS", "", "J", "JJ", + "C", "K", "T", "P", "H" +}; +static const char jamo_medial_short_name[21][4] = +{ + "A", "AE", "YA", "YAE", "EO", "E", "YEO", "YE", "O", "WA", "WAE", "OE", "YO", + "U", "WEO", "WE", "WI", "YU", "EU", "YI", "I" +}; +static const char jamo_final_short_name[28][3] = +{ + "", "G", "GG", "GS", "N", "NI", "NH", "D", "L", "LG", "LM", "LB", "LS", "LT", + "LP", "LH", "M", "B", "BS", "S", "SS", "NG", "J", "C", "K", "T", "P", "H" +}; + +/* Looks up the name of a Unicode character, in uppercase ASCII. + Returns the filled buf, or NULL if the character does not have a name. */ +char * +unicode_character_name (ucs4_t c, char *buf) +{ + if (c >= 0xAC00 && c <= 0xD7A3) + { + /* Special case for Hangul syllables. Keeps the tables small. */ + char *ptr; + unsigned int tmp; + unsigned int index1; + unsigned int index2; + unsigned int index3; + const char *q; + + /* buf needs to have at least 16 + 7 bytes here. */ + memcpy (buf, "HANGUL SYLLABLE ", 16); + ptr = buf + 16; + + tmp = c - 0xAC00; + index3 = tmp % 28; tmp = tmp / 28; + index2 = tmp % 21; tmp = tmp / 21; + index1 = tmp; + + q = jamo_initial_short_name[index1]; + while (*q != '\0') + *ptr++ = *q++; + q = jamo_medial_short_name[index2]; + while (*q != '\0') + *ptr++ = *q++; + q = jamo_final_short_name[index3]; + while (*q != '\0') + *ptr++ = *q++; + *ptr = '\0'; + return buf; + } + else if ((c >= 0xF900 && c <= 0xFA2D) || (c >= 0xFA30 && c <= 0xFA6A) + || (c >= 0xFA70 && c <= 0xFAD9) || (c >= 0x2F800 && c <= 0x2FA1D)) + { + /* Special case for CJK compatibility ideographs. Keeps the tables + small. */ + char *ptr; + int i; + + /* buf needs to have at least 28 + 5 bytes here. */ + memcpy (buf, "CJK COMPATIBILITY IDEOGRAPH-", 28); + ptr = buf + 28; + + for (i = (c < 0x10000 ? 12 : 16); i >= 0; i -= 4) + { + unsigned int x = (c >> i) & 0xf; + *ptr++ = (x < 10 ? '0' : 'A' - 10) + x; + } + *ptr = '\0'; + return buf; + } + else if ((c >= 0xFE00 && c <= 0xFE0F) || (c >= 0xE0100 && c <= 0xE01EF)) + { + /* Special case for variation selectors. Keeps the tables + small. */ + + /* buf needs to have at least 19 + 3 bytes here. */ + sprintf (buf, "VARIATION SELECTOR-%d", + c <= 0xFE0F ? c - 0xFE00 + 1 : c - 0xE0100 + 17); + return buf; + } + else + { + uint16_t index = unicode_code_to_index (c); + const uint16_t *words = NULL; + + if (index != UNINAME_INVALID_INDEX) + { + /* Binary search in unicode_code_to_name. */ + unsigned int i1 = 0; + unsigned int i2 = SIZEOF (unicode_index_to_name); + for (;;) + { + unsigned int i = (i1 + i2) >> 1; + if (unicode_index_to_name[i].index == index) + { + words = &unicode_names[unicode_index_to_name[i].name]; + break; + } + else if (unicode_index_to_name[i].index < index) + { + if (i1 == i) + { + words = NULL; + break; + } + /* Note here: i1 < i < i2. */ + i1 = i; + } + else if (unicode_index_to_name[i].index > index) + { + if (i2 == i) + { + words = NULL; + break; + } + /* Note here: i1 <= i < i2. */ + i2 = i; + } + } + } + if (words != NULL) + { + /* Found it in unicode_index_to_name. Now concatenate the words. */ + /* buf needs to have at least UNICODE_CHARNAME_MAX_LENGTH bytes. */ + char *ptr = buf; + for (;;) + { + unsigned int wordlen; + const char *word = unicode_name_word (*words>>1, &wordlen); + do + *ptr++ = *word++; + while (--wordlen > 0); + if ((*words & 1) == 0) + break; + *ptr++ = ' '; + words++; + } + *ptr = '\0'; + return buf; + } + return NULL; + } +} + +/* Looks up the Unicode character with a given name, in upper- or lowercase + ASCII. Returns the character if found, or UNINAME_INVALID if not found. */ +ucs4_t +unicode_name_character (const char *name) +{ + unsigned int len = strlen (name); + if (len > 1 && len <= UNICODE_CHARNAME_MAX_LENGTH) + { + /* Test for "word1 word2 ..." syntax. */ + char buf[UNICODE_CHARNAME_MAX_LENGTH]; + char *ptr = buf; + for (;;) + { + char c = *name++; + if (!(c >= ' ' && c <= '~')) + break; + *ptr++ = (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c); + if (--len == 0) + goto filled_buf; + } + if (false) + filled_buf: + { + { + /* Special case for variation selector aliases. Keeps the + tables small. */ + const char *p1 = buf; + if (ptr >= buf + 3 && *p1++ == 'V') + { + if (*p1++ == 'S') + { + if (*p1 != '0') + { + unsigned int c = 0; + for (;;) + { + if (*p1 >= '0' && *p1 <= '9') + c += (*p1 - '0'); + p1++; + if (p1 == ptr) + { + if (c >= 1 && c <= 16) + return c - 1 + 0xFE00; + else if (c >= 17 && c <= 256) + return c - 17 + 0xE0100; + else + break; + } + c = c * 10; + } + } + } + } + } + { + /* Convert the constituents to uint16_t words. */ + uint16_t words[UNICODE_CHARNAME_MAX_WORDS]; + uint16_t *wordptr = words; + { + const char *p1 = buf; + for (;;) + { + { + int word; + const char *p2 = p1; + while (p2 < ptr && *p2 != ' ') + p2++; + word = unicode_name_word_lookup (p1, p2 - p1); + if (word < 0) + break; + if (wordptr == &words[UNICODE_CHARNAME_MAX_WORDS]) + break; + *wordptr++ = word; + if (p2 == ptr) + goto filled_words; + p1 = p2 + 1; + } + /* Special case for Hangul syllables. Keeps the tables small. */ + if (wordptr == &words[2] + && words[0] == UNICODE_CHARNAME_WORD_HANGUL + && words[1] == UNICODE_CHARNAME_WORD_SYLLABLE) + { + /* Split the last word [p1..ptr) into three parts: + 1) [BCDGHJKMNPRST] + 2) [AEIOUWY] + 3) [BCDGHIJKLMNPST] + */ + const char *p2; + const char *p3; + const char *p4; + + p2 = p1; + while (p2 < ptr + && (*p2 == 'B' || *p2 == 'C' || *p2 == 'D' + || *p2 == 'G' || *p2 == 'H' || *p2 == 'J' + || *p2 == 'K' || *p2 == 'M' || *p2 == 'N' + || *p2 == 'P' || *p2 == 'R' || *p2 == 'S' + || *p2 == 'T')) + p2++; + p3 = p2; + while (p3 < ptr + && (*p3 == 'A' || *p3 == 'E' || *p3 == 'I' + || *p3 == 'O' || *p3 == 'U' || *p3 == 'W' + || *p3 == 'Y')) + p3++; + p4 = p3; + while (p4 < ptr + && (*p4 == 'B' || *p4 == 'C' || *p4 == 'D' + || *p4 == 'G' || *p4 == 'H' || *p4 == 'I' + || *p4 == 'J' || *p4 == 'K' || *p4 == 'L' + || *p4 == 'M' || *p4 == 'N' || *p4 == 'P' + || *p4 == 'S' || *p4 == 'T')) + p4++; + if (p4 == ptr) + { + unsigned int n1 = p2 - p1; + unsigned int n2 = p3 - p2; + unsigned int n3 = p4 - p3; + + if (n1 <= 2 && (n2 >= 1 && n2 <= 3) && n3 <= 2) + { + unsigned int index1; + + for (index1 = 0; index1 < 19; index1++) + if (memcmp (jamo_initial_short_name[index1], p1, n1) == 0 + && jamo_initial_short_name[index1][n1] == '\0') + { + unsigned int index2; + + for (index2 = 0; index2 < 21; index2++) + if (memcmp (jamo_medial_short_name[index2], p2, n2) == 0 + && jamo_medial_short_name[index2][n2] == '\0') + { + unsigned int index3; + + for (index3 = 0; index3 < 28; index3++) + if (memcmp (jamo_final_short_name[index3], p3, n3) == 0 + && jamo_final_short_name[index3][n3] == '\0') + { + return 0xAC00 + (index1 * 21 + index2) * 28 + index3; + } + break; + } + break; + } + } + } + } + /* Special case for CJK compatibility ideographs. Keeps the + tables small. */ + if (wordptr == &words[2] + && words[0] == UNICODE_CHARNAME_WORD_CJK + && words[1] == UNICODE_CHARNAME_WORD_COMPATIBILITY + && p1 + 14 <= ptr + && p1 + 15 >= ptr + && memcmp (p1, "IDEOGRAPH-", 10) == 0) + { + const char *p2 = p1 + 10; + + if (*p2 != '0') + { + unsigned int c = 0; + + for (;;) + { + if (*p2 >= '0' && *p2 <= '9') + c += (*p2 - '0'); + else if (*p2 >= 'A' && *p2 <= 'F') + c += (*p2 - 'A' + 10); + else + break; + p2++; + if (p2 == ptr) + { + if ((c >= 0xF900 && c <= 0xFA2D) + || (c >= 0xFA30 && c <= 0xFA6A) + || (c >= 0xFA70 && c <= 0xFAD9) + || (c >= 0x2F800 && c <= 0x2FA1D)) + return c; + else + break; + } + c = c << 4; + } + } + } + /* Special case for variation selectors. Keeps the + tables small. */ + if (wordptr == &words[1] + && words[0] == UNICODE_CHARNAME_WORD_VARIATION + && p1 + 10 <= ptr + && p1 + 12 >= ptr + && memcmp (p1, "SELECTOR-", 9) == 0) + { + const char *p2 = p1 + 9; + + if (*p2 != '0') + { + unsigned int c = 0; + + for (;;) + { + if (*p2 >= '0' && *p2 <= '9') + c += (*p2 - '0'); + p2++; + if (p2 == ptr) + { + if (c >= 1 && c <= 16) + return c - 1 + 0xFE00; + else if (c >= 17 && c <= 256) + return c - 17 + 0xE0100; + else + break; + } + c = c * 10; + } + } + } + } + } + if (false) + filled_words: + { + /* Multiply by 2, to simplify later comparisons. */ + unsigned int words_length = wordptr - words; + { + int i = words_length - 1; + words[i] = 2 * words[i]; + for (; --i >= 0; ) + words[i] = 2 * words[i] + 1; + } + /* Binary search in unicode_name_to_index. */ + { + unsigned int i1 = 0; + unsigned int i2 = SIZEOF (unicode_name_to_index); + for (;;) + { + unsigned int i = (i1 + i2) >> 1; + const uint16_t *w = words; + const uint16_t *p = &unicode_names[unicode_name_to_index[i].name]; + unsigned int n = words_length; + for (;;) + { + if (*p < *w) + { + if (i1 == i) + goto name_not_found; + /* Note here: i1 < i < i2. */ + i1 = i; + break; + } + else if (*p > *w) + { + if (i2 == i) + goto name_not_found; + /* Note here: i1 <= i < i2. */ + i2 = i; + break; + } + p++; w++; n--; + if (n == 0) + return unicode_index_to_code (unicode_name_to_index[i].index); + } + } + } + name_not_found: ; + } + } + } + } + return UNINAME_INVALID; +} diff --git a/gllib/uniname/uninames.h b/gllib/uniname/uninames.h new file mode 100644 index 0000000..2906ec9 --- /dev/null +++ b/gllib/uniname/uninames.h @@ -0,0 +1,100271 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* + * uninames.h + * + * Unicode character name table. + * Generated automatically by the gen-uninames utility. + */ + +static const char unicode_name_words[71408] = { + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + '-', 'A', + 'A', '2', + 'A', '3', + 'A', 'A', + 'A', 'B', + 'A', 'C', + 'A', 'D', + 'A', 'E', + 'A', 'G', + 'A', 'H', + 'A', 'I', + 'A', 'K', + 'A', 'L', + 'A', 'M', + 'A', 'N', + 'A', 'O', + 'A', 'P', + 'A', 'Q', + 'A', 'R', + 'A', 'S', + 'A', 'T', + 'A', 'U', + 'A', 'V', + 'A', 'W', + 'A', 'X', + 'A', 'Y', + 'A', 'Z', + 'B', 'A', + 'B', 'B', + 'B', 'E', + 'B', 'H', + 'B', 'I', + 'B', 'O', + 'B', 'Q', + 'B', 'U', + 'B', 'Y', + 'C', 'A', + 'C', 'C', + 'C', 'D', + 'C', 'E', + 'C', 'H', + 'C', 'I', + 'C', 'L', + 'C', 'M', + 'C', 'O', + 'C', 'U', + 'C', 'Y', + 'D', '2', + 'D', 'A', + 'D', 'B', + 'D', 'D', + 'D', 'E', + 'D', 'H', + 'D', 'I', + 'D', 'J', + 'D', 'L', + 'D', 'M', + 'D', 'O', + 'D', 'U', + 'D', 'V', + 'D', 'Z', + 'E', '2', + 'E', 'A', + 'E', 'B', + 'E', 'C', + 'E', 'D', + 'E', 'E', + 'E', 'F', + 'E', 'G', + 'E', 'H', + 'E', 'I', + 'E', 'J', + 'E', 'K', + 'E', 'L', + 'E', 'M', + 'E', 'N', + 'E', 'O', + 'E', 'P', + 'E', 'R', + 'E', 'S', + 'E', 'T', + 'E', 'U', + 'E', 'V', + 'E', 'W', + 'E', 'X', + 'E', 'Z', + 'F', 'A', + 'F', 'E', + 'F', 'F', + 'F', 'I', + 'F', 'L', + 'F', 'M', + 'F', 'O', + 'F', 'U', + 'F', 'Y', + 'G', '2', + 'G', 'A', + 'G', 'B', + 'G', 'E', + 'G', 'G', + 'G', 'H', + 'G', 'I', + 'G', 'N', + 'G', 'O', + 'G', 'U', + 'G', 'V', + 'G', 'Y', + 'H', 'A', + 'H', 'C', + 'H', 'E', + 'H', 'G', + 'H', 'I', + 'H', 'K', + 'H', 'L', + 'H', 'M', + 'H', 'O', + 'H', 'P', + 'H', 'U', + 'H', 'V', + 'H', 'Z', + 'I', 'A', + 'I', 'B', + 'I', 'C', + 'I', 'D', + 'I', 'E', + 'I', 'F', + 'I', 'G', + 'I', 'H', + 'I', 'I', + 'I', 'J', + 'I', 'L', + 'I', 'M', + 'I', 'N', + 'I', 'O', + 'I', 'P', + 'I', 'Q', + 'I', 'R', + 'I', 'S', + 'I', 'T', + 'I', 'U', + 'I', 'X', + 'I', 'Y', + 'J', 'A', + 'J', 'E', + 'J', 'I', + 'J', 'O', + 'J', 'U', + 'J', 'Y', + 'K', '2', + 'K', 'A', + 'K', 'B', + 'K', 'E', + 'K', 'G', + 'K', 'I', + 'K', 'K', + 'K', 'L', + 'K', 'M', + 'K', 'O', + 'K', 'T', + 'K', 'U', + 'K', 'V', + 'K', 'W', + 'L', '2', + 'L', '3', + 'L', '4', + 'L', '6', + 'L', 'A', + 'L', 'D', + 'L', 'E', + 'L', 'H', + 'L', 'I', + 'L', 'J', + 'L', 'L', + 'L', 'M', + 'L', 'N', + 'L', 'O', + 'L', 'S', + 'L', 'U', + 'L', 'V', + 'L', 'X', + 'L', 'Y', + 'L', 'Z', + 'M', 'A', + 'M', 'B', + 'M', 'C', + 'M', 'D', + 'M', 'E', + 'M', 'G', + 'M', 'H', + 'M', 'I', + 'M', 'L', + 'M', 'M', + 'M', 'O', + 'M', 'S', + 'M', 'U', + 'M', 'V', + 'M', 'W', + 'M', 'Y', + 'N', 'A', + 'N', 'D', + 'N', 'E', + 'N', 'F', + 'N', 'G', + 'N', 'H', + 'N', 'I', + 'N', 'J', + 'N', 'M', + 'N', 'N', + 'N', 'O', + 'N', 'S', + 'N', 'U', + 'N', 'V', + 'N', 'W', + 'O', 'A', + 'O', 'B', + 'O', 'E', + 'O', 'F', + 'O', 'H', + 'O', 'I', + 'O', 'K', + 'O', 'L', + 'O', 'M', + 'O', 'N', + 'O', 'O', + 'O', 'P', + 'O', 'Q', + 'O', 'R', + 'O', 'S', + 'O', 'T', + 'O', 'U', + 'O', 'V', + 'O', 'W', + 'O', 'X', + 'O', 'Y', + 'P', '2', + 'P', 'A', + 'P', 'C', + 'P', 'D', + 'P', 'E', + 'P', 'F', + 'P', 'G', + 'P', 'H', + 'P', 'I', + 'P', 'M', + 'P', 'O', + 'P', 'R', + 'P', 'S', + 'P', 'U', + 'P', 'V', + 'P', 'W', + 'P', 'Y', + 'P', 'Z', + 'Q', 'A', + 'Q', 'E', + 'Q', 'I', + 'Q', 'N', + 'Q', 'O', + 'Q', 'P', + 'Q', 'U', + 'Q', 'Y', + 'R', 'A', + 'R', 'E', + 'R', 'H', + 'R', 'I', + 'R', 'O', + 'R', 'R', + 'R', 'U', + 'R', 'Y', + 'S', 'A', + 'S', 'D', + 'S', 'E', + 'S', 'G', + 'S', 'H', + 'S', 'I', + 'S', 'K', + 'S', 'O', + 'S', 'P', + 'S', 'R', + 'S', 'S', + 'S', 'T', + 'S', 'U', + 'S', 'V', + 'S', 'W', + 'S', 'Y', + 'S', 'Z', + 'T', 'A', + 'T', 'C', + 'T', 'E', + 'T', 'H', + 'T', 'I', + 'T', 'N', + 'T', 'O', + 'T', 'R', + 'T', 'S', + 'T', 'T', + 'T', 'U', + 'T', 'Z', + 'U', '2', + 'U', 'A', + 'U', 'B', + 'U', 'C', + 'U', 'D', + 'U', 'E', + 'U', 'H', + 'U', 'I', + 'U', 'K', + 'U', 'M', + 'U', 'N', + 'U', 'O', + 'U', 'P', + 'U', 'R', + 'U', 'S', + 'U', 'U', + 'U', 'Y', + 'V', 'A', + 'V', 'E', + 'V', 'I', + 'V', 'O', + 'V', 'S', + 'V', 'U', + 'V', 'Y', + 'W', 'A', + 'W', 'B', + 'W', 'C', + 'W', 'E', + 'W', 'G', + 'W', 'H', + 'W', 'I', + 'W', 'J', + 'W', 'O', + 'W', 'U', + 'W', 'V', + 'W', 'Z', + 'X', 'A', + 'X', 'E', + 'X', 'G', + 'X', 'I', + 'X', 'O', + 'X', 'U', + 'X', 'W', + 'X', 'Y', + 'Y', 'A', + 'Y', 'E', + 'Y', 'I', + 'Y', 'N', + 'Y', 'O', + 'Y', 'R', + 'Y', 'U', + 'Y', 'V', + 'Y', 'Y', + 'Z', 'A', + 'Z', 'E', + 'Z', 'H', + 'Z', 'I', + 'Z', 'O', + 'Z', 'U', + 'Z', 'Y', + '-', 'U', 'M', + 'A', '-', 'O', + 'A', '-', 'U', + 'A', 'A', 'I', + 'A', 'A', 'J', + 'A', 'A', 'K', + 'A', 'A', 'M', + 'A', 'A', 'N', + 'A', 'A', 'O', + 'A', 'A', 'U', + 'A', 'A', 'W', + 'A', 'A', 'Y', + 'A', 'B', '2', + 'A', 'B', 'B', + 'A', 'C', 'E', + 'A', 'D', 'I', + 'A', 'D', 'O', + 'A', 'E', 'B', + 'A', 'E', 'D', + 'A', 'E', 'E', + 'A', 'E', 'G', + 'A', 'E', 'K', + 'A', 'E', 'L', + 'A', 'E', 'N', + 'A', 'E', 'R', + 'A', 'E', 'S', + 'A', 'E', 'T', + 'A', 'E', 'Y', + 'A', 'G', 'E', + 'A', 'H', 'H', + 'A', 'I', 'N', + 'A', 'I', 'R', + 'A', 'L', 'F', + 'A', 'L', 'I', + 'A', 'L', 'L', + 'A', 'L', 'M', + 'A', 'L', 'T', + 'A', 'M', 'B', + 'A', 'N', 'D', + 'A', 'N', 'G', + 'A', 'N', 'N', + 'A', 'N', 'O', + 'A', 'N', 'T', + 'A', 'O', 'R', + 'A', 'O', 'U', + 'A', 'P', 'L', + 'A', 'R', 'C', + 'A', 'R', 'E', + 'A', 'R', 'M', + 'A', 'S', 'H', + 'A', 'S', 'Z', + 'A', 'T', 'T', + 'A', 'U', 'E', + 'A', 'W', 'E', + 'A', 'X', 'E', + 'A', 'Y', 'B', + 'A', 'Y', 'N', + 'A', 'Z', 'U', + 'B', 'A', 'A', + 'B', 'A', 'D', + 'B', 'A', 'G', + 'B', 'A', 'H', + 'B', 'A', 'L', + 'B', 'A', 'N', + 'B', 'A', 'P', + 'B', 'A', 'R', + 'B', 'A', 'T', + 'B', 'A', 'U', + 'B', 'A', 'X', + 'B', 'B', 'A', + 'B', 'B', 'E', + 'B', 'B', 'I', + 'B', 'B', 'O', + 'B', 'B', 'U', + 'B', 'B', 'Y', + 'B', 'E', 'D', + 'B', 'E', 'E', + 'B', 'E', 'H', + 'B', 'E', 'I', + 'B', 'E', 'N', + 'B', 'E', 'P', + 'B', 'E', 'T', + 'B', 'E', 'X', + 'B', 'H', 'A', + 'B', 'H', 'E', + 'B', 'H', 'I', + 'B', 'H', 'O', + 'B', 'H', 'U', + 'B', 'I', 'B', + 'B', 'I', 'E', + 'B', 'I', 'G', + 'B', 'I', 'P', + 'B', 'I', 'T', + 'B', 'I', 'X', + 'B', 'L', 'A', + 'B', 'O', 'A', + 'B', 'O', 'M', + 'B', 'O', 'O', + 'B', 'O', 'P', + 'B', 'O', 'T', + 'B', 'O', 'W', + 'B', 'O', 'X', + 'B', 'O', 'Y', + 'B', 'R', 'A', + 'B', 'U', 'D', + 'B', 'U', 'G', + 'B', 'U', 'O', + 'B', 'U', 'P', + 'B', 'U', 'R', + 'B', 'U', 'S', + 'B', 'U', 'T', + 'B', 'U', 'X', + 'B', 'W', 'A', + 'B', 'W', 'E', + 'B', 'W', 'I', + 'B', 'X', 'G', + 'B', 'Y', 'P', + 'B', 'Y', 'R', + 'B', 'Y', 'T', + 'B', 'Y', 'X', + 'C', 'A', 'A', + 'C', 'A', 'H', + 'C', 'A', 'L', + 'C', 'A', 'N', + 'C', 'A', 'P', + 'C', 'A', 'R', + 'C', 'A', 'T', + 'C', 'A', 'U', + 'C', 'A', 'X', + 'C', 'C', 'A', + 'C', 'C', 'E', + 'C', 'C', 'I', + 'C', 'C', 'O', + 'C', 'C', 'U', + 'C', 'E', 'E', + 'C', 'E', 'N', + 'C', 'E', 'P', + 'C', 'E', 'X', + 'C', 'G', 'J', + 'C', 'H', 'A', + 'C', 'H', 'E', + 'C', 'H', 'I', + 'C', 'H', 'O', + 'C', 'H', 'U', + 'C', 'H', 'Y', + 'C', 'I', 'E', + 'C', 'I', 'I', + 'C', 'I', 'L', + 'C', 'I', 'M', + 'C', 'I', 'N', + 'C', 'I', 'P', + 'C', 'I', 'T', + 'C', 'I', 'X', + 'C', 'J', 'K', + 'C', 'O', 'A', + 'C', 'O', 'N', + 'C', 'O', 'O', + 'C', 'O', 'P', + 'C', 'O', 'T', + 'C', 'O', 'W', + 'C', 'O', 'X', + 'C', 'U', 'M', + 'C', 'U', 'O', + 'C', 'U', 'P', + 'C', 'U', 'R', + 'C', 'U', 'T', + 'C', 'U', 'X', + 'C', 'W', 'A', + 'C', 'W', 'E', + 'C', 'W', 'I', + 'C', 'W', 'O', + 'C', 'Y', 'A', + 'C', 'Y', 'P', + 'C', 'Y', 'R', + 'C', 'Y', 'T', + 'C', 'Y', 'X', + 'D', 'A', 'A', + 'D', 'A', 'D', + 'D', 'A', 'G', + 'D', 'A', 'H', + 'D', 'A', 'I', + 'D', 'A', 'L', + 'D', 'A', 'M', + 'D', 'A', 'P', + 'D', 'A', 'R', + 'D', 'A', 'T', + 'D', 'A', 'X', + 'D', 'A', 'Y', + 'D', 'D', 'A', + 'D', 'D', 'E', + 'D', 'D', 'I', + 'D', 'D', 'O', + 'D', 'D', 'U', + 'D', 'E', 'E', + 'D', 'E', 'I', + 'D', 'E', 'K', + 'D', 'E', 'L', + 'D', 'E', 'P', + 'D', 'E', 'X', + 'D', 'H', 'A', + 'D', 'H', 'E', + 'D', 'H', 'I', + 'D', 'H', 'O', + 'D', 'H', 'U', + 'D', 'I', 'B', + 'D', 'I', 'E', + 'D', 'I', 'L', + 'D', 'I', 'M', + 'D', 'I', 'N', + 'D', 'I', 'P', + 'D', 'I', 'T', + 'D', 'I', 'X', + 'D', 'J', 'A', + 'D', 'J', 'E', + 'D', 'L', 'A', + 'D', 'L', 'E', + 'D', 'L', 'I', + 'D', 'L', 'O', + 'D', 'L', 'U', + 'D', 'O', 'A', + 'D', 'O', 'G', + 'D', 'O', 'I', + 'D', 'O', 'N', + 'D', 'O', 'O', + 'D', 'O', 'P', + 'D', 'O', 'T', + 'D', 'O', 'X', + 'D', 'R', 'Y', + 'D', 'U', 'B', + 'D', 'U', 'G', + 'D', 'U', 'H', + 'D', 'U', 'L', + 'D', 'U', 'M', + 'D', 'U', 'N', + 'D', 'U', 'O', + 'D', 'U', 'P', + 'D', 'U', 'R', + 'D', 'U', 'T', + 'D', 'U', 'X', + 'D', 'V', 'D', + 'D', 'W', 'A', + 'D', 'W', 'E', + 'D', 'W', 'O', + 'D', 'Y', 'O', + 'D', 'Z', 'A', + 'D', 'Z', 'E', + 'D', 'Z', 'I', + 'D', 'Z', 'O', + 'D', 'Z', 'U', + 'E', 'A', 'R', + 'E', 'A', 'T', + 'E', 'C', 'H', + 'E', 'C', 'S', + 'E', 'D', 'D', + 'E', 'E', 'H', + 'E', 'E', 'N', + 'E', 'G', 'G', + 'E', 'G', 'Y', + 'E', 'I', 'E', + 'E', 'I', 'N', + 'E', 'I', 'S', + 'E', 'K', 'S', + 'E', 'L', 'T', + 'E', 'L', 'Y', + 'E', 'M', 'P', + 'E', 'N', 'C', + 'E', 'N', 'D', + 'E', 'N', 'G', + 'E', 'N', 'N', + 'E', 'N', 'T', + 'E', 'N', 'Y', + 'E', 'O', 'H', + 'E', 'R', 'A', + 'E', 'R', 'G', + 'E', 'R', 'R', + 'E', 'R', 'S', + 'E', 'S', 'H', + 'E', 'S', 'O', + 'E', 'S', 'S', + 'E', 'S', 'Z', + 'E', 'T', 'A', + 'E', 'T', 'H', + 'E', 'T', 'Y', + 'E', 'W', 'E', + 'E', 'X', 'O', + 'E', 'Y', 'E', + 'E', 'Y', 'N', + 'E', 'Z', 'H', + 'E', 'Z', 'S', + 'F', 'A', 'A', + 'F', 'A', 'J', + 'F', 'A', 'M', + 'F', 'A', 'N', + 'F', 'A', 'P', + 'F', 'A', 'Q', + 'F', 'A', 'R', + 'F', 'A', 'T', + 'F', 'A', 'X', + 'F', 'A', 'Y', + 'F', 'E', 'E', + 'F', 'E', 'H', + 'F', 'E', 'I', + 'F', 'F', 'I', + 'F', 'F', 'L', + 'F', 'I', 'I', + 'F', 'I', 'P', + 'F', 'I', 'T', + 'F', 'I', 'X', + 'F', 'L', 'A', + 'F', 'L', 'Y', + 'F', 'O', 'G', + 'F', 'O', 'M', + 'F', 'O', 'N', + 'F', 'O', 'O', + 'F', 'O', 'P', + 'F', 'O', 'R', + 'F', 'O', 'X', + 'F', 'S', 'I', + 'F', 'U', 'A', + 'F', 'U', 'E', + 'F', 'U', 'P', + 'F', 'U', 'R', + 'F', 'U', 'T', + 'F', 'U', 'X', + 'F', 'W', 'A', + 'F', 'W', 'E', + 'F', 'W', 'I', + 'F', 'Y', 'A', + 'F', 'Y', 'P', + 'F', 'Y', 'T', + 'F', 'Y', 'X', + 'G', 'A', '2', + 'G', 'A', 'A', + 'G', 'A', 'D', + 'G', 'A', 'F', + 'G', 'A', 'G', + 'G', 'A', 'H', + 'G', 'A', 'I', + 'G', 'A', 'L', + 'G', 'A', 'M', + 'G', 'A', 'N', + 'G', 'A', 'P', + 'G', 'A', 'R', + 'G', 'A', 'T', + 'G', 'A', 'X', + 'G', 'A', 'Y', + 'G', 'B', 'A', + 'G', 'B', 'E', + 'G', 'B', 'I', + 'G', 'B', 'O', + 'G', 'B', 'U', + 'G', 'E', 'E', + 'G', 'E', 'M', + 'G', 'E', 'N', + 'G', 'E', 'P', + 'G', 'E', 'R', + 'G', 'E', 'T', + 'G', 'E', 'X', + 'G', 'G', 'A', + 'G', 'G', 'E', + 'G', 'G', 'I', + 'G', 'G', 'O', + 'G', 'G', 'U', + 'G', 'H', 'A', + 'G', 'H', 'E', + 'G', 'H', 'I', + 'G', 'H', 'O', + 'G', 'H', 'U', + 'G', 'H', 'Z', + 'G', 'I', '4', + 'G', 'I', 'E', + 'G', 'I', 'G', + 'G', 'I', 'M', + 'G', 'I', 'P', + 'G', 'I', 'T', + 'G', 'I', 'X', + 'G', 'J', 'E', + 'G', 'L', 'A', + 'G', 'O', 'A', + 'G', 'O', 'K', + 'G', 'O', 'O', + 'G', 'O', 'P', + 'G', 'O', 'T', + 'G', 'O', 'X', + 'G', 'P', 'A', + 'G', 'R', 'U', + 'G', 'U', '2', + 'G', 'U', 'A', + 'G', 'U', 'D', + 'G', 'U', 'G', + 'G', 'U', 'L', + 'G', 'U', 'M', + 'G', 'U', 'O', + 'G', 'U', 'P', + 'G', 'U', 'R', + 'G', 'U', 'T', + 'G', 'U', 'X', + 'G', 'W', 'A', + 'G', 'W', 'E', + 'G', 'W', 'I', + 'G', 'W', 'U', + 'G', 'Y', 'A', + 'G', 'Y', 'E', + 'G', 'Y', 'I', + 'G', 'Y', 'O', + 'G', 'Y', 'U', + 'H', 'A', 'A', + 'H', 'A', 'E', + 'H', 'A', 'H', + 'H', 'A', 'I', + 'H', 'A', 'L', + 'H', 'A', 'M', + 'H', 'A', 'N', + 'H', 'A', 'O', + 'H', 'A', 'P', + 'H', 'A', 'R', + 'H', 'A', 'T', + 'H', 'A', 'U', + 'H', 'A', 'X', + 'H', 'D', 'R', + 'H', 'E', 'E', + 'H', 'E', 'H', + 'H', 'E', 'I', + 'H', 'E', 'N', + 'H', 'E', 'P', + 'H', 'E', 'T', + 'H', 'E', 'X', + 'H', 'H', 'A', + 'H', 'H', 'E', + 'H', 'H', 'I', + 'H', 'H', 'O', + 'H', 'H', 'U', + 'H', 'I', 'E', + 'H', 'I', 'I', + 'H', 'I', 'N', + 'H', 'I', 'P', + 'H', 'I', 'T', + 'H', 'L', 'A', + 'H', 'L', 'E', + 'H', 'L', 'I', + 'H', 'L', 'O', + 'H', 'L', 'U', + 'H', 'L', 'Y', + 'H', 'M', 'A', + 'H', 'M', 'E', + 'H', 'M', 'I', + 'H', 'M', 'O', + 'H', 'M', 'U', + 'H', 'M', 'Y', + 'H', 'N', 'A', + 'H', 'N', 'E', + 'H', 'N', 'I', + 'H', 'O', 'A', + 'H', 'O', 'E', + 'H', 'O', 'I', + 'H', 'O', 'M', + 'H', 'O', 'N', + 'H', 'O', 'O', + 'H', 'O', 'P', + 'H', 'O', 'T', + 'H', 'O', 'X', + 'H', 'O', 'Y', + 'H', 'P', 'A', + 'H', 'T', 'A', + 'H', 'U', 'B', + 'H', 'U', 'K', + 'H', 'U', 'N', + 'H', 'U', 'O', + 'H', 'W', 'A', + 'H', 'W', 'E', + 'H', 'W', 'I', + 'H', 'W', 'O', + 'H', 'W', 'U', + 'H', 'X', 'A', + 'H', 'X', 'E', + 'H', 'X', 'I', + 'H', 'X', 'O', + 'H', 'Y', 'A', + 'H', 'Z', 'G', + 'H', 'Z', 'T', + 'H', 'Z', 'W', + 'H', 'Z', 'Z', + 'I', '-', 'A', + 'I', '-', 'I', + 'I', '-', 'O', + 'I', '-', 'U', + 'I', 'A', 'N', + 'I', 'C', 'E', + 'I', 'E', 'P', + 'I', 'E', 'T', + 'I', 'E', 'X', + 'I', 'G', 'I', + 'I', 'L', '2', + 'I', 'M', 'N', + 'I', 'M', 'P', + 'I', 'N', 'G', + 'I', 'N', 'I', + 'I', 'N', 'K', + 'I', 'N', 'N', + 'I', 'N', 'Y', + 'I', 'O', 'R', + 'I', 'R', 'B', + 'I', 'R', 'I', + 'I', 'S', 'H', + 'I', 'S', 'S', + 'I', 'T', 'S', + 'I', 'W', 'N', + 'J', 'A', 'A', + 'J', 'A', 'H', + 'J', 'A', 'R', + 'J', 'A', 'W', + 'J', 'E', 'E', + 'J', 'E', 'H', + 'J', 'E', 'R', + 'J', 'E', 'U', + 'J', 'H', 'A', + 'J', 'H', 'O', + 'J', 'I', 'A', + 'J', 'I', 'E', + 'J', 'I', 'L', + 'J', 'I', 'P', + 'J', 'I', 'T', + 'J', 'I', 'X', + 'J', 'J', 'A', + 'J', 'J', 'E', + 'J', 'J', 'I', + 'J', 'J', 'O', + 'J', 'J', 'U', + 'J', 'J', 'Y', + 'J', 'O', 'A', + 'J', 'O', 'O', + 'J', 'O', 'P', + 'J', 'O', 'T', + 'J', 'O', 'X', + 'J', 'O', 'Y', + 'J', 'U', 'O', + 'J', 'U', 'P', + 'J', 'U', 'R', + 'J', 'U', 'T', + 'J', 'U', 'U', + 'J', 'U', 'X', + 'J', 'W', 'A', + 'J', 'Y', 'P', + 'J', 'Y', 'R', + 'J', 'Y', 'T', + 'J', 'Y', 'X', + 'K', 'A', '2', + 'K', 'A', 'A', + 'K', 'A', 'B', + 'K', 'A', 'D', + 'K', 'A', 'F', + 'K', 'A', 'H', + 'K', 'A', 'I', + 'K', 'A', 'K', + 'K', 'A', 'L', + 'K', 'A', 'M', + 'K', 'A', 'N', + 'K', 'A', 'P', + 'K', 'A', 'Q', + 'K', 'A', 'R', + 'K', 'A', 'T', + 'K', 'A', 'V', + 'K', 'A', 'X', + 'K', 'A', 'Y', + 'K', 'E', 'B', + 'K', 'E', 'E', + 'K', 'E', 'H', + 'K', 'E', 'N', + 'K', 'E', 'P', + 'K', 'E', 'S', + 'K', 'E', 'T', + 'K', 'E', 'V', + 'K', 'E', 'X', + 'K', 'E', 'Y', + 'K', 'H', 'A', + 'K', 'H', 'E', + 'K', 'H', 'I', + 'K', 'H', 'O', + 'K', 'H', 'U', + 'K', 'H', 'Z', + 'K', 'I', 'B', + 'K', 'I', 'D', + 'K', 'I', 'E', + 'K', 'I', 'H', + 'K', 'I', 'I', + 'K', 'I', 'N', + 'K', 'I', 'P', + 'K', 'I', 'Q', + 'K', 'I', 'T', + 'K', 'I', 'V', + 'K', 'I', 'W', + 'K', 'I', 'X', + 'K', 'J', 'E', + 'K', 'K', 'A', + 'K', 'K', 'E', + 'K', 'K', 'I', + 'K', 'K', 'O', + 'K', 'K', 'U', + 'K', 'L', 'A', + 'K', 'O', 'A', + 'K', 'O', 'B', + 'K', 'O', 'H', + 'K', 'O', 'I', + 'K', 'O', 'K', + 'K', 'O', 'N', + 'K', 'O', 'O', + 'K', 'O', 'P', + 'K', 'O', 'T', + 'K', 'O', 'V', + 'K', 'O', 'X', + 'K', 'P', 'A', + 'K', 'P', 'E', + 'K', 'P', 'I', + 'K', 'P', 'O', + 'K', 'P', 'U', + 'K', 'R', 'A', + 'K', 'S', 'I', + 'K', 'U', '3', + 'K', 'U', '4', + 'K', 'U', '7', + 'K', 'U', 'A', + 'K', 'U', 'B', + 'K', 'U', 'G', + 'K', 'U', 'L', + 'K', 'U', 'N', + 'K', 'U', 'O', + 'K', 'U', 'P', + 'K', 'U', 'Q', + 'K', 'U', 'R', + 'K', 'U', 'T', + 'K', 'U', 'V', + 'K', 'U', 'X', + 'K', 'V', 'A', + 'K', 'W', 'A', + 'K', 'W', 'B', + 'K', 'W', 'E', + 'K', 'W', 'I', + 'K', 'W', 'M', + 'K', 'W', 'O', + 'K', 'W', 'V', + 'K', 'X', 'A', + 'K', 'X', 'E', + 'K', 'X', 'I', + 'K', 'X', 'O', + 'K', 'X', 'U', + 'K', 'Y', 'A', + 'K', 'Y', 'E', + 'K', 'Y', 'I', + 'K', 'Y', 'O', + 'K', 'Y', 'U', + 'L', 'A', 'A', + 'L', 'A', 'E', + 'L', 'A', 'H', + 'L', 'A', 'I', + 'L', 'A', 'L', + 'L', 'A', 'M', + 'L', 'A', 'N', + 'L', 'A', 'O', + 'L', 'A', 'P', + 'L', 'A', 'Q', + 'L', 'A', 'S', + 'L', 'A', 'T', + 'L', 'A', 'U', + 'L', 'A', 'W', + 'L', 'A', 'X', + 'L', 'A', 'Y', + 'L', 'C', 'E', + 'L', 'C', 'I', + 'L', 'D', '2', + 'L', 'E', 'E', + 'L', 'E', 'G', + 'L', 'E', 'I', + 'L', 'E', 'K', + 'L', 'E', 'O', + 'L', 'E', 'P', + 'L', 'E', 'T', + 'L', 'E', 'U', + 'L', 'E', 'X', + 'L', 'H', 'A', + 'L', 'H', 'E', + 'L', 'H', 'I', + 'L', 'H', 'O', + 'L', 'H', 'U', + 'L', 'I', 'D', + 'L', 'I', 'E', + 'L', 'I', 'I', + 'L', 'I', 'L', + 'L', 'I', 'P', + 'L', 'I', 'Q', + 'L', 'I', 'S', + 'L', 'I', 'T', + 'L', 'I', 'X', + 'L', 'J', 'E', + 'L', 'L', 'A', + 'L', 'L', 'E', + 'L', 'L', 'L', + 'L', 'O', 'A', + 'L', 'O', 'G', + 'L', 'O', 'M', + 'L', 'O', 'O', + 'L', 'O', 'P', + 'L', 'O', 'Q', + 'L', 'O', 'S', + 'L', 'O', 'T', + 'L', 'O', 'W', + 'L', 'O', 'X', + 'L', 'R', 'E', + 'L', 'R', 'I', + 'L', 'R', 'M', + 'L', 'R', 'O', + 'L', 'U', '2', + 'L', 'U', '3', + 'L', 'U', 'B', + 'L', 'U', 'E', + 'L', 'U', 'H', + 'L', 'U', 'L', + 'L', 'U', 'M', + 'L', 'U', 'O', + 'L', 'U', 'P', + 'L', 'U', 'R', + 'L', 'U', 'S', + 'L', 'U', 'T', + 'L', 'U', 'X', + 'L', 'W', 'A', + 'L', 'W', 'E', + 'L', 'W', 'I', + 'L', 'W', 'O', + 'L', 'Y', 'A', + 'L', 'Y', 'P', + 'L', 'Y', 'R', + 'L', 'Y', 'T', + 'L', 'Y', 'X', + 'L', 'Y', 'Y', + 'M', 'A', '2', + 'M', 'A', 'A', + 'M', 'A', 'E', + 'M', 'A', 'H', + 'M', 'A', 'I', + 'M', 'A', 'N', + 'M', 'A', 'O', + 'M', 'A', 'P', + 'M', 'A', 'Q', + 'M', 'A', 'R', + 'M', 'A', 'T', + 'M', 'A', 'U', + 'M', 'A', 'X', + 'M', 'A', 'Y', + 'M', 'B', '2', + 'M', 'B', '3', + 'M', 'B', '4', + 'M', 'B', 'A', + 'M', 'B', 'E', + 'M', 'B', 'I', + 'M', 'B', 'O', + 'M', 'B', 'U', + 'M', 'E', 'D', + 'M', 'E', 'E', + 'M', 'E', 'M', + 'M', 'E', 'N', + 'M', 'E', 'S', + 'M', 'E', 'X', + 'M', 'F', 'O', + 'M', 'G', 'A', + 'M', 'G', 'E', + 'M', 'G', 'O', + 'M', 'G', 'U', + 'M', 'H', 'A', + 'M', 'H', 'Z', + 'M', 'I', 'D', + 'M', 'I', 'E', + 'M', 'I', 'G', + 'M', 'I', 'I', + 'M', 'I', 'L', + 'M', 'I', 'M', + 'M', 'I', 'N', + 'M', 'I', 'P', + 'M', 'I', 'T', + 'M', 'I', 'X', + 'M', 'L', 'A', + 'M', 'O', 'A', + 'M', 'O', 'L', + 'M', 'O', 'N', + 'M', 'O', 'O', + 'M', 'O', 'P', + 'M', 'O', 'T', + 'M', 'O', 'X', + 'M', 'P', 'A', + 'M', 'R', 'O', + 'M', 'U', 'E', + 'M', 'U', 'G', + 'M', 'U', 'M', + 'M', 'U', 'N', + 'M', 'U', 'O', + 'M', 'U', 'P', + 'M', 'U', 'R', + 'M', 'U', 'S', + 'M', 'U', 'T', + 'M', 'U', 'X', + 'M', 'V', 'I', + 'M', 'V', 'S', + 'M', 'W', 'A', + 'M', 'W', 'E', + 'M', 'W', 'I', + 'M', 'W', 'O', + 'M', 'Y', 'A', + 'M', 'Y', 'P', + 'M', 'Y', 'T', + 'M', 'Y', 'X', + 'N', 'A', '2', + 'N', 'A', '4', + 'N', 'A', 'A', + 'N', 'A', 'E', + 'N', 'A', 'G', + 'N', 'A', 'H', + 'N', 'A', 'M', + 'N', 'A', 'N', + 'N', 'A', 'P', + 'N', 'A', 'Q', + 'N', 'A', 'R', + 'N', 'A', 'U', + 'N', 'A', 'X', + 'N', 'A', 'Y', + 'N', 'B', 'A', + 'N', 'B', 'I', + 'N', 'B', 'O', + 'N', 'B', 'U', + 'N', 'B', 'Y', + 'N', 'D', 'A', + 'N', 'D', 'E', + 'N', 'D', 'I', + 'N', 'D', 'O', + 'N', 'D', 'U', + 'N', 'E', 'E', + 'N', 'E', 'N', + 'N', 'E', 'O', + 'N', 'E', 'P', + 'N', 'E', 'T', + 'N', 'E', 'W', + 'N', 'E', 'X', + 'N', 'G', 'A', + 'N', 'G', 'E', + 'N', 'G', 'G', + 'N', 'G', 'I', + 'N', 'G', 'O', + 'N', 'G', 'U', + 'N', 'H', 'A', + 'N', 'I', '2', + 'N', 'I', 'A', + 'N', 'I', 'B', + 'N', 'I', 'E', + 'N', 'I', 'I', + 'N', 'I', 'M', + 'N', 'I', 'N', + 'N', 'I', 'P', + 'N', 'I', 'T', + 'N', 'I', 'X', + 'N', 'J', 'A', + 'N', 'J', 'E', + 'N', 'J', 'I', + 'N', 'J', 'O', + 'N', 'J', 'U', + 'N', 'J', 'Y', + 'N', 'K', 'O', + 'N', 'N', 'A', + 'N', 'N', 'E', + 'N', 'N', 'G', + 'N', 'N', 'O', + 'N', 'O', 'A', + 'N', 'O', 'N', + 'N', 'O', 'O', + 'N', 'O', 'P', + 'N', 'O', 'R', + 'N', 'O', 'T', + 'N', 'O', 'W', + 'N', 'O', 'X', + 'N', 'O', 'Y', + 'N', 'R', 'A', + 'N', 'R', 'E', + 'N', 'R', 'O', + 'N', 'R', 'U', + 'N', 'R', 'Y', + 'N', 'S', 'A', + 'N', 'T', 'U', + 'N', 'U', 'E', + 'N', 'U', 'M', + 'N', 'U', 'N', + 'N', 'U', 'O', + 'N', 'U', 'P', + 'N', 'U', 'R', + 'N', 'U', 'T', + 'N', 'U', 'X', + 'N', 'W', 'A', + 'N', 'W', 'E', + 'N', 'W', 'I', + 'N', 'W', 'O', + 'N', 'Y', 'A', + 'N', 'Y', 'D', + 'N', 'Y', 'E', + 'N', 'Y', 'I', + 'N', 'Y', 'O', + 'N', 'Y', 'U', + 'N', 'Z', 'A', + 'N', 'Z', 'E', + 'N', 'Z', 'I', + 'N', 'Z', 'U', + 'N', 'Z', 'Y', + 'O', '-', 'E', + 'O', '-', 'O', + 'O', '-', 'U', + 'O', 'A', 'K', + 'O', 'A', 'Y', + 'O', 'C', 'R', + 'O', 'D', 'D', + 'O', 'E', 'E', + 'O', 'E', 'K', + 'O', 'E', 'Y', + 'O', 'F', 'F', + 'O', 'H', 'M', + 'O', 'I', 'L', + 'O', 'I', 'N', + 'O', 'L', 'D', + 'O', 'L', 'E', + 'O', 'N', 'E', + 'O', 'N', 'G', + 'O', 'N', 'N', + 'O', 'N', 'U', + 'O', 'O', 'E', + 'O', 'O', 'H', + 'O', 'O', 'N', + 'O', 'O', 'U', + 'O', 'R', 'E', + 'O', 'T', 'T', + 'O', 'T', 'U', + 'O', 'U', 'T', + 'O', 'W', 'L', + 'P', 'A', 'A', + 'P', 'A', 'D', + 'P', 'A', 'H', + 'P', 'A', 'N', + 'P', 'A', 'O', + 'P', 'A', 'P', + 'P', 'A', 'R', + 'P', 'A', 'T', + 'P', 'A', 'U', + 'P', 'A', 'W', + 'P', 'A', 'X', + 'P', 'A', 'Y', + 'P', 'D', 'F', + 'P', 'D', 'I', + 'P', 'E', 'E', + 'P', 'E', 'H', + 'P', 'E', 'N', + 'P', 'E', 'R', + 'P', 'E', 'S', + 'P', 'E', 'T', + 'P', 'H', 'A', + 'P', 'H', 'E', + 'P', 'H', 'I', + 'P', 'H', 'O', + 'P', 'H', 'U', + 'P', 'I', 'E', + 'P', 'I', 'G', + 'P', 'I', 'I', + 'P', 'I', 'N', + 'P', 'I', 'P', + 'P', 'I', 'T', + 'P', 'I', 'X', + 'P', 'L', 'A', + 'P', 'O', 'A', + 'P', 'O', 'N', + 'P', 'O', 'O', + 'P', 'O', 'P', + 'P', 'O', 'T', + 'P', 'O', 'X', + 'P', 'O', 'Y', + 'P', 'P', 'A', + 'P', 'P', 'M', + 'P', 'P', 'V', + 'P', 'S', 'I', + 'P', 'T', 'E', + 'P', 'U', '2', + 'P', 'U', 'B', + 'P', 'U', 'E', + 'P', 'U', 'M', + 'P', 'U', 'O', + 'P', 'U', 'P', + 'P', 'U', 'Q', + 'P', 'U', 'R', + 'P', 'U', 'T', + 'P', 'U', 'X', + 'P', 'W', 'A', + 'P', 'W', 'E', + 'P', 'W', 'I', + 'P', 'W', 'O', + 'P', 'Y', 'P', + 'P', 'Y', 'R', + 'P', 'Y', 'T', + 'P', 'Y', 'X', + 'Q', 'A', 'A', + 'Q', 'A', 'F', + 'Q', 'A', 'I', + 'Q', 'A', 'Q', + 'Q', 'A', 'R', + 'Q', 'A', 'U', + 'Q', 'A', 'Y', + 'Q', 'E', 'E', + 'Q', 'G', 'A', + 'Q', 'H', 'A', + 'Q', 'H', 'E', + 'Q', 'H', 'I', + 'Q', 'H', 'O', + 'Q', 'H', 'U', + 'Q', 'I', 'E', + 'Q', 'I', 'F', + 'Q', 'I', 'I', + 'Q', 'I', 'P', + 'Q', 'I', 'T', + 'Q', 'I', 'X', + 'Q', 'O', 'A', + 'Q', 'O', 'F', + 'Q', 'O', 'O', + 'Q', 'O', 'P', + 'Q', 'O', 'T', + 'Q', 'O', 'X', + 'Q', 'U', 'A', + 'Q', 'U', 'E', + 'Q', 'U', 'F', + 'Q', 'U', 'I', + 'Q', 'U', 'K', + 'Q', 'U', 'O', + 'Q', 'U', 'P', + 'Q', 'U', 'R', + 'Q', 'U', 'T', + 'Q', 'U', 'U', + 'Q', 'U', 'V', + 'Q', 'U', 'X', + 'Q', 'W', 'A', + 'Q', 'W', 'E', + 'Q', 'W', 'I', + 'Q', 'Y', 'A', + 'Q', 'Y', 'E', + 'Q', 'Y', 'I', + 'Q', 'Y', 'O', + 'Q', 'Y', 'P', + 'Q', 'Y', 'R', + 'Q', 'Y', 'T', + 'Q', 'Y', 'U', + 'Q', 'Y', 'X', + 'R', 'A', '2', + 'R', 'A', '3', + 'R', 'A', 'A', + 'R', 'A', 'B', + 'R', 'A', 'D', + 'R', 'A', 'E', + 'R', 'A', 'H', + 'R', 'A', 'I', + 'R', 'A', 'M', + 'R', 'A', 'N', + 'R', 'A', 'P', + 'R', 'A', 'Q', + 'R', 'A', 'T', + 'R', 'A', 'U', + 'R', 'A', 'X', + 'R', 'A', 'Y', + 'R', 'D', 'O', + 'R', 'E', 'D', + 'R', 'E', 'E', + 'R', 'E', 'H', + 'R', 'E', 'I', + 'R', 'E', 'N', + 'R', 'E', 'P', + 'R', 'E', 'U', + 'R', 'E', 'X', + 'R', 'H', 'A', + 'R', 'H', 'O', + 'R', 'I', 'I', + 'R', 'I', 'M', + 'R', 'I', 'N', + 'R', 'I', 'P', + 'R', 'J', 'E', + 'R', 'L', 'E', + 'R', 'L', 'I', + 'R', 'L', 'M', + 'R', 'L', 'O', + 'R', 'M', 'T', + 'R', 'O', '2', + 'R', 'O', 'A', + 'R', 'O', 'C', + 'R', 'O', 'D', + 'R', 'O', 'G', + 'R', 'O', 'M', + 'R', 'O', 'O', + 'R', 'O', 'P', + 'R', 'O', 'T', + 'R', 'O', 'X', + 'R', 'R', 'A', + 'R', 'R', 'E', + 'R', 'R', 'O', + 'R', 'R', 'U', + 'R', 'R', 'Y', + 'R', 'U', 'A', + 'R', 'U', 'B', + 'R', 'U', 'E', + 'R', 'U', 'M', + 'R', 'U', 'N', + 'R', 'U', 'O', + 'R', 'U', 'P', + 'R', 'U', 'R', + 'R', 'U', 'T', + 'R', 'U', 'X', + 'R', 'W', 'A', + 'R', 'W', 'E', + 'R', 'W', 'I', + 'R', 'W', 'O', + 'R', 'Y', 'A', + 'R', 'Y', 'P', + 'R', 'Y', 'R', + 'R', 'Y', 'T', + 'R', 'Y', 'X', + 'R', 'Y', 'Y', + 'S', '-', 'W', + 'S', 'A', 'A', + 'S', 'A', 'D', + 'S', 'A', 'G', + 'S', 'A', 'H', + 'S', 'A', 'L', + 'S', 'A', 'M', + 'S', 'A', 'N', + 'S', 'A', 'P', + 'S', 'A', 'Q', + 'S', 'A', 'R', + 'S', 'A', 'T', + 'S', 'A', 'W', + 'S', 'A', 'X', + 'S', 'A', 'Y', + 'S', 'E', 'E', + 'S', 'E', 'H', + 'S', 'E', 'P', + 'S', 'E', 'T', + 'S', 'E', 'X', + 'S', 'H', '2', + 'S', 'H', 'A', + 'S', 'H', 'E', + 'S', 'H', 'I', + 'S', 'H', 'O', + 'S', 'H', 'U', + 'S', 'H', 'V', + 'S', 'H', 'Y', + 'S', 'I', 'A', + 'S', 'I', 'E', + 'S', 'I', 'G', + 'S', 'I', 'I', + 'S', 'I', 'N', + 'S', 'I', 'P', + 'S', 'I', 'T', + 'S', 'I', 'X', + 'S', 'J', 'E', + 'S', 'K', 'I', + 'S', 'K', 'W', + 'S', 'N', 'A', + 'S', 'O', 'A', + 'S', 'O', 'F', + 'S', 'O', 'M', + 'S', 'O', 'N', + 'S', 'O', 'O', + 'S', 'O', 'P', + 'S', 'O', 'Q', + 'S', 'O', 'S', + 'S', 'O', 'T', + 'S', 'O', 'U', + 'S', 'O', 'W', + 'S', 'O', 'X', + 'S', 'O', 'Y', + 'S', 'P', 'Y', + 'S', 'S', 'A', + 'S', 'S', 'E', + 'S', 'S', 'I', + 'S', 'S', 'O', + 'S', 'S', 'U', + 'S', 'S', 'Y', + 'S', 'T', '2', + 'S', 'U', 'A', + 'S', 'U', 'D', + 'S', 'U', 'E', + 'S', 'U', 'M', + 'S', 'U', 'N', + 'S', 'U', 'O', + 'S', 'U', 'P', + 'S', 'U', 'R', + 'S', 'U', 'T', + 'S', 'U', 'U', + 'S', 'U', 'X', + 'S', 'W', 'A', + 'S', 'W', 'E', + 'S', 'W', 'G', + 'S', 'W', 'I', + 'S', 'W', 'O', + 'S', 'W', 'Z', + 'S', 'Y', 'A', + 'S', 'Y', 'P', + 'S', 'Y', 'R', + 'S', 'Y', 'T', + 'S', 'Y', 'X', + 'S', 'Z', 'A', + 'S', 'Z', 'E', + 'S', 'Z', 'I', + 'S', 'Z', 'O', + 'S', 'Z', 'U', + 'S', 'Z', 'Z', + 'T', 'A', '2', + 'T', 'A', 'A', + 'T', 'A', 'B', + 'T', 'A', 'E', + 'T', 'A', 'G', + 'T', 'A', 'H', + 'T', 'A', 'I', + 'T', 'A', 'K', + 'T', 'A', 'M', + 'T', 'A', 'N', + 'T', 'A', 'O', + 'T', 'A', 'P', + 'T', 'A', 'Q', + 'T', 'A', 'R', + 'T', 'A', 'S', + 'T', 'A', 'T', + 'T', 'A', 'U', + 'T', 'A', 'V', + 'T', 'A', 'W', + 'T', 'A', 'X', + 'T', 'A', 'Y', + 'T', 'E', 'E', + 'T', 'E', 'H', + 'T', 'E', 'K', + 'T', 'E', 'N', + 'T', 'E', 'P', + 'T', 'E', 'T', + 'T', 'E', 'U', + 'T', 'E', 'X', + 'T', 'H', 'A', + 'T', 'H', 'E', + 'T', 'H', 'I', + 'T', 'H', 'O', + 'T', 'H', 'U', + 'T', 'H', 'Z', + 'T', 'I', '2', + 'T', 'I', 'E', + 'T', 'I', 'I', + 'T', 'I', 'L', + 'T', 'I', 'N', + 'T', 'I', 'P', + 'T', 'I', 'R', + 'T', 'I', 'T', + 'T', 'I', 'X', + 'T', 'J', 'E', + 'T', 'L', 'A', + 'T', 'L', 'E', + 'T', 'L', 'I', + 'T', 'L', 'O', + 'T', 'L', 'U', + 'T', 'L', 'V', + 'T', 'O', 'A', + 'T', 'O', 'N', + 'T', 'O', 'O', + 'T', 'O', 'P', + 'T', 'O', 'Q', + 'T', 'O', 'S', + 'T', 'O', 'T', + 'T', 'O', 'V', + 'T', 'O', 'X', + 'T', 'R', 'A', + 'T', 'R', 'I', + 'T', 'S', 'A', + 'T', 'S', 'E', + 'T', 'S', 'I', + 'T', 'S', 'O', + 'T', 'S', 'U', + 'T', 'S', 'V', + 'T', 'T', '2', + 'T', 'T', 'A', + 'T', 'T', 'E', + 'T', 'T', 'H', + 'T', 'T', 'I', + 'T', 'T', 'O', + 'T', 'T', 'U', + 'T', 'U', 'B', + 'T', 'U', 'K', + 'T', 'U', 'M', + 'T', 'U', 'O', + 'T', 'U', 'P', + 'T', 'U', 'R', + 'T', 'U', 'T', + 'T', 'U', 'X', + 'T', 'W', 'A', + 'T', 'W', 'E', + 'T', 'W', 'I', + 'T', 'W', 'O', + 'T', 'Y', 'A', + 'T', 'Y', 'E', + 'T', 'Y', 'I', + 'T', 'Y', 'O', + 'T', 'Y', 'R', + 'T', 'Z', 'A', + 'T', 'Z', 'E', + 'T', 'Z', 'I', + 'T', 'Z', 'O', + 'T', 'Z', 'U', + 'U', '-', 'A', + 'U', '-', 'U', + 'U', 'A', 'N', + 'U', 'E', 'A', + 'U', 'E', 'E', + 'U', 'E', 'I', + 'U', 'E', 'Y', + 'U', 'H', 'D', + 'U', 'K', 'U', + 'U', 'L', 'U', + 'U', 'N', 'A', + 'U', 'N', 'G', + 'U', 'N', 'K', + 'U', 'N', 'N', + 'U', 'O', 'N', + 'U', 'O', 'P', + 'U', 'O', 'X', + 'U', 'R', '2', + 'U', 'R', '4', + 'U', 'R', 'A', + 'U', 'R', 'I', + 'U', 'R', 'N', + 'U', 'R', 'U', + 'U', 'S', 'E', + 'U', 'S', 'H', + 'U', 'U', 'E', + 'U', 'U', 'U', + 'U', 'W', 'U', + 'U', 'Z', '3', + 'U', 'Z', 'U', + 'V', 'A', 'A', + 'V', 'A', 'H', + 'V', 'A', 'I', + 'V', 'A', 'J', + 'V', 'A', 'P', + 'V', 'A', 'T', + 'V', 'A', 'U', + 'V', 'A', 'V', + 'V', 'A', 'X', + 'V', 'E', 'E', + 'V', 'E', 'H', + 'V', 'E', 'P', + 'V', 'E', 'R', + 'V', 'E', 'W', + 'V', 'E', 'X', + 'V', 'F', 'A', + 'V', 'I', 'E', + 'V', 'I', 'N', + 'V', 'I', 'P', + 'V', 'I', 'T', + 'V', 'I', 'X', + 'V', 'O', 'D', + 'V', 'O', 'M', + 'V', 'O', 'O', + 'V', 'O', 'P', + 'V', 'O', 'S', + 'V', 'O', 'T', + 'V', 'O', 'U', + 'V', 'O', 'W', + 'V', 'O', 'X', + 'V', 'U', 'P', + 'V', 'U', 'R', + 'V', 'U', 'T', + 'V', 'U', 'X', + 'V', 'W', 'A', + 'V', 'W', 'J', + 'V', 'Y', 'P', + 'V', 'Y', 'R', + 'V', 'Y', 'T', + 'V', 'Y', 'X', + 'W', 'A', 'A', + 'W', 'A', 'E', + 'W', 'A', 'I', + 'W', 'A', 'N', + 'W', 'A', 'P', + 'W', 'A', 'T', + 'W', 'A', 'U', + 'W', 'A', 'W', + 'W', 'A', 'X', + 'W', 'A', 'Y', + 'W', 'E', 'B', + 'W', 'E', 'E', + 'W', 'E', 'I', + 'W', 'E', 'N', + 'W', 'E', 'O', + 'W', 'E', 'P', + 'W', 'E', 'X', + 'W', 'I', 'I', + 'W', 'I', 'N', + 'W', 'O', 'A', + 'W', 'O', 'E', + 'W', 'O', 'N', + 'W', 'O', 'O', + 'W', 'O', 'P', + 'W', 'O', 'W', + 'W', 'O', 'X', + 'W', 'R', 'Y', + 'W', 'U', 'E', + 'W', 'U', 'I', + 'W', 'U', 'N', + 'W', 'U', 'O', + 'W', 'U', 'P', + 'W', 'V', 'A', + 'W', 'V', 'E', + 'W', 'V', 'I', + 'X', '-', 'X', + 'X', 'A', 'A', + 'X', 'A', 'N', + 'X', 'A', 'U', + 'X', 'E', 'E', + 'X', 'E', 'H', + 'X', 'I', 'E', + 'X', 'I', 'P', + 'X', 'I', 'T', + 'X', 'I', 'X', + 'X', 'O', 'A', + 'X', 'O', 'P', + 'X', 'O', 'R', + 'X', 'O', 'T', + 'X', 'O', 'X', + 'X', 'U', 'O', + 'X', 'V', 'A', + 'X', 'V', 'E', + 'X', 'W', 'A', + 'X', 'W', 'E', + 'X', 'W', 'I', + 'X', 'Y', 'A', + 'X', 'Y', 'E', + 'X', 'Y', 'I', + 'X', 'Y', 'O', + 'X', 'Y', 'P', + 'X', 'Y', 'R', + 'X', 'Y', 'T', + 'X', 'Y', 'U', + 'X', 'Y', 'X', + 'Y', 'A', 'A', + 'Y', 'A', 'B', + 'Y', 'A', 'D', + 'Y', 'A', 'E', + 'Y', 'A', 'F', + 'Y', 'A', 'G', + 'Y', 'A', 'H', + 'Y', 'A', 'J', + 'Y', 'A', 'K', + 'Y', 'A', 'L', + 'Y', 'A', 'M', + 'Y', 'A', 'N', + 'Y', 'A', 'P', + 'Y', 'A', 'Q', + 'Y', 'A', 'R', + 'Y', 'A', 'S', + 'Y', 'A', 'T', + 'Y', 'A', 'U', + 'Y', 'A', 'V', + 'Y', 'A', 'W', + 'Y', 'A', 'Y', + 'Y', 'A', 'Z', + 'Y', 'E', 'A', + 'Y', 'E', 'E', + 'Y', 'E', 'H', + 'Y', 'E', 'N', + 'Y', 'E', 'O', + 'Y', 'E', 'R', + 'Y', 'E', 'W', + 'Y', 'E', 'Y', + 'Y', 'H', 'E', + 'Y', 'I', 'E', + 'Y', 'I', 'G', + 'Y', 'I', 'I', + 'Y', 'I', 'N', + 'Y', 'I', 'P', + 'Y', 'I', 'T', + 'Y', 'I', 'X', + 'Y', 'O', 'A', + 'Y', 'O', 'D', + 'Y', 'O', 'O', + 'Y', 'O', 'P', + 'Y', 'O', 'Q', + 'Y', 'O', 'T', + 'Y', 'O', 'X', + 'Y', 'O', 'Y', + 'Y', 'R', 'Y', + 'Y', 'U', 'E', + 'Y', 'U', 'J', + 'Y', 'U', 'M', + 'Y', 'U', 'N', + 'Y', 'U', 'O', + 'Y', 'U', 'P', + 'Y', 'U', 'Q', + 'Y', 'U', 'R', + 'Y', 'U', 'S', + 'Y', 'U', 'T', + 'Y', 'U', 'X', + 'Y', 'W', 'A', + 'Y', 'W', 'E', + 'Y', 'W', 'I', + 'Y', 'W', 'O', + 'Y', 'Y', 'A', + 'Y', 'Y', 'E', + 'Y', 'Y', 'P', + 'Y', 'Y', 'R', + 'Y', 'Y', 'T', + 'Y', 'Y', 'X', + 'Z', 'A', '7', + 'Z', 'A', 'A', + 'Z', 'A', 'G', + 'Z', 'A', 'H', + 'Z', 'A', 'I', + 'Z', 'A', 'L', + 'Z', 'A', 'P', + 'Z', 'A', 'T', + 'Z', 'A', 'X', + 'Z', 'E', '2', + 'Z', 'E', 'E', + 'Z', 'E', 'N', + 'Z', 'E', 'P', + 'Z', 'E', 'X', + 'Z', 'H', 'A', + 'Z', 'H', 'E', + 'Z', 'H', 'I', + 'Z', 'H', 'O', + 'Z', 'H', 'U', + 'Z', 'H', 'Y', + 'Z', 'I', '3', + 'Z', 'I', 'B', + 'Z', 'I', 'E', + 'Z', 'I', 'G', + 'Z', 'I', 'P', + 'Z', 'I', 'T', + 'Z', 'I', 'X', + 'Z', 'J', 'E', + 'Z', 'L', 'A', + 'Z', 'O', 'A', + 'Z', 'O', 'O', + 'Z', 'O', 'P', + 'Z', 'O', 'T', + 'Z', 'O', 'X', + 'Z', 'R', 'A', + 'Z', 'S', 'A', + 'Z', 'U', '5', + 'Z', 'U', 'M', + 'Z', 'U', 'O', + 'Z', 'U', 'P', + 'Z', 'U', 'R', + 'Z', 'U', 'T', + 'Z', 'U', 'X', + 'Z', 'W', 'A', + 'Z', 'W', 'J', + 'Z', 'Y', 'P', + 'Z', 'Y', 'R', + 'Z', 'Y', 'T', + 'Z', 'Y', 'X', + 'Z', 'Z', 'A', + 'Z', 'Z', 'E', + 'Z', 'Z', 'I', + 'Z', 'Z', 'O', + 'Z', 'Z', 'U', + 'Z', 'Z', 'Y', + 'A', '-', 'E', 'U', + 'A', '0', '0', '1', + 'A', '0', '0', '2', + 'A', '0', '0', '3', + 'A', '0', '0', '4', + 'A', '0', '0', '5', + 'A', '0', '0', '6', + 'A', '0', '0', '7', + 'A', '0', '0', '8', + 'A', '0', '0', '9', + 'A', '0', '1', '0', + 'A', '0', '1', '1', + 'A', '0', '1', '2', + 'A', '0', '1', '3', + 'A', '0', '1', '4', + 'A', '0', '1', '5', + 'A', '0', '1', '6', + 'A', '0', '1', '7', + 'A', '0', '1', '8', + 'A', '0', '1', '9', + 'A', '0', '2', '0', + 'A', '0', '2', '1', + 'A', '0', '2', '2', + 'A', '0', '2', '3', + 'A', '0', '2', '4', + 'A', '0', '2', '5', + 'A', '0', '2', '6', + 'A', '0', '2', '7', + 'A', '0', '2', '8', + 'A', '0', '2', '9', + 'A', '0', '3', '0', + 'A', '0', '3', '1', + 'A', '0', '3', '2', + 'A', '0', '3', '3', + 'A', '0', '3', '4', + 'A', '0', '3', '5', + 'A', '0', '3', '6', + 'A', '0', '3', '7', + 'A', '0', '3', '8', + 'A', '0', '3', '9', + 'A', '0', '4', '0', + 'A', '0', '4', '1', + 'A', '0', '4', '2', + 'A', '0', '4', '3', + 'A', '0', '4', '4', + 'A', '0', '4', '5', + 'A', '0', '4', '6', + 'A', '0', '4', '7', + 'A', '0', '4', '8', + 'A', '0', '4', '9', + 'A', '0', '5', '0', + 'A', '0', '5', '1', + 'A', '0', '5', '2', + 'A', '0', '5', '3', + 'A', '0', '5', '4', + 'A', '0', '5', '5', + 'A', '0', '5', '6', + 'A', '0', '5', '7', + 'A', '0', '5', '8', + 'A', '0', '5', '9', + 'A', '0', '6', '0', + 'A', '0', '6', '1', + 'A', '0', '6', '2', + 'A', '0', '6', '3', + 'A', '0', '6', '4', + 'A', '0', '6', '5', + 'A', '0', '6', '6', + 'A', '0', '6', '7', + 'A', '0', '6', '8', + 'A', '0', '6', '9', + 'A', '0', '7', '0', + 'A', '0', '7', '1', + 'A', '0', '7', '2', + 'A', '0', '7', '3', + 'A', '0', '7', '4', + 'A', '0', '7', '5', + 'A', '0', '7', '6', + 'A', '0', '7', '7', + 'A', '0', '7', '8', + 'A', '0', '7', '9', + 'A', '0', '8', '0', + 'A', '0', '8', '1', + 'A', '0', '8', '2', + 'A', '0', '8', '3', + 'A', '0', '8', '4', + 'A', '0', '8', '5', + 'A', '0', '8', '6', + 'A', '0', '8', '7', + 'A', '0', '8', '8', + 'A', '0', '8', '9', + 'A', '0', '9', '0', + 'A', '0', '9', '1', + 'A', '0', '9', '2', + 'A', '0', '9', '3', + 'A', '0', '9', '4', + 'A', '0', '9', '5', + 'A', '0', '9', '6', + 'A', '0', '9', '7', + 'A', '0', '9', '8', + 'A', '0', '9', '9', + 'A', '1', '0', '0', + 'A', '1', '0', '1', + 'A', '1', '0', '2', + 'A', '1', '0', '3', + 'A', '1', '0', '4', + 'A', '1', '0', '5', + 'A', '1', '0', '6', + 'A', '1', '0', '7', + 'A', '1', '0', '8', + 'A', '1', '0', '9', + 'A', '1', '1', '0', + 'A', '1', '1', '1', + 'A', '1', '1', '2', + 'A', '1', '1', '3', + 'A', '1', '1', '4', + 'A', '1', '1', '5', + 'A', '1', '1', '6', + 'A', '1', '1', '7', + 'A', '1', '1', '8', + 'A', '1', '1', '9', + 'A', '1', '2', '0', + 'A', '1', '2', '1', + 'A', '1', '2', '2', + 'A', '1', '2', '3', + 'A', '1', '2', '4', + 'A', '1', '2', '5', + 'A', '1', '2', '6', + 'A', '1', '2', '7', + 'A', '1', '2', '8', + 'A', '1', '2', '9', + 'A', '1', '3', '0', + 'A', '1', '3', '1', + 'A', '1', '3', '2', + 'A', '1', '3', '3', + 'A', '1', '3', '4', + 'A', '1', '3', '5', + 'A', '1', '3', '6', + 'A', '1', '3', '7', + 'A', '1', '3', '8', + 'A', '1', '3', '9', + 'A', '1', '4', '0', + 'A', '1', '4', '1', + 'A', '1', '4', '2', + 'A', '1', '4', '3', + 'A', '1', '4', '4', + 'A', '1', '4', '5', + 'A', '1', '4', '6', + 'A', '1', '4', '7', + 'A', '1', '4', '8', + 'A', '1', '4', '9', + 'A', '1', '5', '0', + 'A', '1', '5', '1', + 'A', '1', '5', '2', + 'A', '1', '5', '3', + 'A', '1', '5', '4', + 'A', '1', '5', '5', + 'A', '1', '5', '6', + 'A', '1', '5', '7', + 'A', '1', '5', '8', + 'A', '1', '5', '9', + 'A', '1', '6', '0', + 'A', '1', '6', '1', + 'A', '1', '6', '2', + 'A', '1', '6', '3', + 'A', '1', '6', '4', + 'A', '1', '6', '5', + 'A', '1', '6', '6', + 'A', '1', '6', '7', + 'A', '1', '6', '8', + 'A', '1', '6', '9', + 'A', '1', '7', '0', + 'A', '1', '7', '1', + 'A', '1', '7', '2', + 'A', '1', '7', '3', + 'A', '1', '7', '4', + 'A', '1', '7', '5', + 'A', '1', '7', '6', + 'A', '1', '7', '7', + 'A', '1', '7', '8', + 'A', '1', '7', '9', + 'A', '1', '8', '0', + 'A', '1', '8', '1', + 'A', '1', '8', '2', + 'A', '1', '8', '3', + 'A', '1', '8', '4', + 'A', '1', '8', '5', + 'A', '1', '8', '6', + 'A', '1', '8', '7', + 'A', '1', '8', '8', + 'A', '1', '8', '9', + 'A', '1', '9', '0', + 'A', '1', '9', '1', + 'A', '1', '9', '2', + 'A', '1', '9', '3', + 'A', '1', '9', '4', + 'A', '1', '9', '5', + 'A', '1', '9', '6', + 'A', '1', '9', '7', + 'A', '1', '9', '8', + 'A', '1', '9', '9', + 'A', '2', '0', '0', + 'A', '2', '0', '1', + 'A', '2', '0', '2', + 'A', '2', '0', '3', + 'A', '2', '0', '4', + 'A', '2', '0', '5', + 'A', '2', '0', '6', + 'A', '2', '0', '7', + 'A', '2', '0', '8', + 'A', '2', '0', '9', + 'A', '2', '1', '0', + 'A', '2', '1', '1', + 'A', '2', '1', '2', + 'A', '2', '1', '3', + 'A', '2', '1', '4', + 'A', '2', '1', '5', + 'A', '2', '1', '6', + 'A', '2', '1', '7', + 'A', '2', '1', '8', + 'A', '2', '1', '9', + 'A', '2', '2', '0', + 'A', '2', '2', '1', + 'A', '2', '2', '2', + 'A', '2', '2', '3', + 'A', '2', '2', '4', + 'A', '2', '2', '5', + 'A', '2', '2', '6', + 'A', '2', '2', '7', + 'A', '2', '2', '8', + 'A', '2', '2', '9', + 'A', '2', '3', '0', + 'A', '2', '3', '1', + 'A', '2', '3', '2', + 'A', '2', '3', '3', + 'A', '2', '3', '4', + 'A', '2', '3', '5', + 'A', '2', '3', '6', + 'A', '2', '3', '7', + 'A', '2', '3', '8', + 'A', '2', '3', '9', + 'A', '2', '4', '0', + 'A', '2', '4', '1', + 'A', '2', '4', '2', + 'A', '2', '4', '3', + 'A', '2', '4', '4', + 'A', '2', '4', '5', + 'A', '2', '4', '6', + 'A', '2', '4', '7', + 'A', '2', '4', '8', + 'A', '2', '4', '9', + 'A', '2', '5', '0', + 'A', '2', '5', '1', + 'A', '2', '5', '2', + 'A', '2', '5', '3', + 'A', '2', '5', '4', + 'A', '2', '5', '5', + 'A', '2', '5', '6', + 'A', '2', '5', '7', + 'A', '2', '5', '8', + 'A', '2', '5', '9', + 'A', '2', '6', '0', + 'A', '2', '6', '1', + 'A', '2', '6', '2', + 'A', '2', '6', '3', + 'A', '2', '6', '4', + 'A', '2', '6', '5', + 'A', '2', '6', '6', + 'A', '2', '6', '7', + 'A', '2', '6', '8', + 'A', '2', '6', '9', + 'A', '2', '7', '0', + 'A', '2', '7', '1', + 'A', '2', '7', '2', + 'A', '2', '7', '3', + 'A', '2', '7', '4', + 'A', '2', '7', '5', + 'A', '2', '7', '6', + 'A', '2', '7', '7', + 'A', '2', '7', '8', + 'A', '2', '7', '9', + 'A', '2', '8', '0', + 'A', '2', '8', '1', + 'A', '2', '8', '2', + 'A', '2', '8', '3', + 'A', '2', '8', '4', + 'A', '2', '8', '5', + 'A', '2', '8', '6', + 'A', '2', '8', '7', + 'A', '2', '8', '8', + 'A', '2', '8', '9', + 'A', '2', '9', '0', + 'A', '2', '9', '1', + 'A', '2', '9', '2', + 'A', '2', '9', '3', + 'A', '2', '9', '4', + 'A', '2', '9', '5', + 'A', '2', '9', '6', + 'A', '2', '9', '7', + 'A', '2', '9', '8', + 'A', '2', '9', '9', + 'A', '3', '0', '0', + 'A', '3', '0', '1', + 'A', '3', '0', '2', + 'A', '3', '0', '3', + 'A', '3', '0', '4', + 'A', '3', '0', '5', + 'A', '3', '0', '6', + 'A', '3', '0', '7', + 'A', '3', '0', '8', + 'A', '3', '0', '9', + 'A', '3', '1', '0', + 'A', '3', '1', '1', + 'A', '3', '1', '2', + 'A', '3', '1', '3', + 'A', '3', '1', '4', + 'A', '3', '1', '5', + 'A', '3', '1', '6', + 'A', '3', '1', '7', + 'A', '3', '1', '8', + 'A', '3', '1', '9', + 'A', '3', '2', '0', + 'A', '3', '2', '1', + 'A', '3', '2', '2', + 'A', '3', '2', '3', + 'A', '3', '2', '4', + 'A', '3', '2', '5', + 'A', '3', '2', '6', + 'A', '3', '2', '7', + 'A', '3', '2', '8', + 'A', '3', '2', '9', + 'A', '3', '3', '0', + 'A', '3', '3', '1', + 'A', '3', '3', '2', + 'A', '3', '3', '3', + 'A', '3', '3', '4', + 'A', '3', '3', '5', + 'A', '3', '3', '6', + 'A', '3', '3', '7', + 'A', '3', '3', '8', + 'A', '3', '3', '9', + 'A', '3', '4', '0', + 'A', '3', '4', '1', + 'A', '3', '4', '2', + 'A', '3', '4', '3', + 'A', '3', '4', '4', + 'A', '3', '4', '5', + 'A', '3', '4', '6', + 'A', '3', '4', '7', + 'A', '3', '4', '8', + 'A', '3', '4', '9', + 'A', '3', '5', '0', + 'A', '3', '5', '1', + 'A', '3', '5', '2', + 'A', '3', '5', '3', + 'A', '3', '5', '4', + 'A', '3', '5', '5', + 'A', '3', '5', '6', + 'A', '3', '5', '7', + 'A', '3', '5', '8', + 'A', '3', '5', '9', + 'A', '3', '6', '0', + 'A', '3', '6', '1', + 'A', '3', '6', '2', + 'A', '3', '6', '3', + 'A', '3', '6', '4', + 'A', '3', '6', '5', + 'A', '3', '6', '6', + 'A', '3', '6', '7', + 'A', '3', '6', '8', + 'A', '3', '6', '9', + 'A', '3', '7', '0', + 'A', '3', '7', '1', + 'A', '3', '7', '2', + 'A', '3', '7', '3', + 'A', '3', '7', '4', + 'A', '3', '7', '5', + 'A', '3', '7', '6', + 'A', '3', '7', '7', + 'A', '3', '7', '8', + 'A', '3', '7', '9', + 'A', '3', '8', '0', + 'A', '3', '8', '1', + 'A', '3', '8', '2', + 'A', '3', '8', '3', + 'A', '3', '8', '4', + 'A', '3', '8', '5', + 'A', '3', '8', '6', + 'A', '3', '8', '7', + 'A', '3', '8', '8', + 'A', '3', '8', '9', + 'A', '3', '9', '0', + 'A', '3', '9', '1', + 'A', '3', '9', '2', + 'A', '3', '9', '3', + 'A', '3', '9', '4', + 'A', '3', '9', '5', + 'A', '3', '9', '6', + 'A', '3', '9', '7', + 'A', '3', '9', '8', + 'A', '3', '9', '9', + 'A', '4', '0', '0', + 'A', '4', '0', '1', + 'A', '4', '0', '2', + 'A', '4', '0', '3', + 'A', '4', '0', '4', + 'A', '4', '0', '5', + 'A', '4', '0', '6', + 'A', '4', '0', '7', + 'A', '4', '0', '8', + 'A', '4', '0', '9', + 'A', '4', '1', '0', + 'A', '4', '1', '1', + 'A', '4', '1', '2', + 'A', '4', '1', '3', + 'A', '4', '1', '4', + 'A', '4', '1', '5', + 'A', '4', '1', '6', + 'A', '4', '1', '7', + 'A', '4', '1', '8', + 'A', '4', '1', '9', + 'A', '4', '2', '0', + 'A', '4', '2', '1', + 'A', '4', '2', '2', + 'A', '4', '2', '3', + 'A', '4', '2', '4', + 'A', '4', '2', '5', + 'A', '4', '2', '6', + 'A', '4', '2', '7', + 'A', '4', '2', '8', + 'A', '4', '2', '9', + 'A', '4', '3', '0', + 'A', '4', '3', '1', + 'A', '4', '3', '2', + 'A', '4', '3', '3', + 'A', '4', '3', '4', + 'A', '4', '3', '5', + 'A', '4', '3', '6', + 'A', '4', '3', '7', + 'A', '4', '3', '8', + 'A', '4', '3', '9', + 'A', '4', '4', '0', + 'A', '4', '4', '1', + 'A', '4', '4', '2', + 'A', '4', '4', '3', + 'A', '4', '4', '4', + 'A', '4', '4', '5', + 'A', '4', '4', '6', + 'A', '4', '4', '7', + 'A', '4', '4', '8', + 'A', '4', '4', '9', + 'A', '4', '5', '0', + 'A', '4', '5', '1', + 'A', '4', '5', '2', + 'A', '4', '5', '3', + 'A', '4', '5', '4', + 'A', '4', '5', '5', + 'A', '4', '5', '6', + 'A', '4', '5', '7', + 'A', '4', '5', '8', + 'A', '4', '5', '9', + 'A', '4', '6', '0', + 'A', '4', '6', '1', + 'A', '4', '6', '2', + 'A', '4', '6', '3', + 'A', '4', '6', '4', + 'A', '4', '6', '5', + 'A', '4', '6', '6', + 'A', '4', '6', '7', + 'A', '4', '6', '8', + 'A', '4', '6', '9', + 'A', '4', '7', '0', + 'A', '4', '7', '1', + 'A', '4', '7', '2', + 'A', '4', '7', '3', + 'A', '4', '7', '4', + 'A', '4', '7', '5', + 'A', '4', '7', '6', + 'A', '4', '7', '7', + 'A', '4', '7', '8', + 'A', '4', '7', '9', + 'A', '4', '8', '0', + 'A', '4', '8', '1', + 'A', '4', '8', '2', + 'A', '4', '8', '3', + 'A', '4', '8', '4', + 'A', '4', '8', '5', + 'A', '4', '8', '6', + 'A', '4', '8', '7', + 'A', '4', '8', '8', + 'A', '4', '8', '9', + 'A', '4', '9', '0', + 'A', '4', '9', '1', + 'A', '4', '9', '2', + 'A', '4', '9', '3', + 'A', '4', '9', '4', + 'A', '4', '9', '5', + 'A', '4', '9', '6', + 'A', '4', '9', '7', + 'A', '5', '0', '1', + 'A', '5', '0', '2', + 'A', '5', '0', '3', + 'A', '5', '0', '4', + 'A', '5', '0', '5', + 'A', '5', '0', '6', + 'A', '5', '0', '7', + 'A', '5', '0', '8', + 'A', '5', '0', '9', + 'A', '5', '1', '0', + 'A', '5', '1', '1', + 'A', '5', '1', '2', + 'A', '5', '1', '3', + 'A', '5', '1', '4', + 'A', '5', '1', '5', + 'A', '5', '1', '6', + 'A', '5', '1', '7', + 'A', '5', '1', '8', + 'A', '5', '1', '9', + 'A', '5', '2', '0', + 'A', '5', '2', '1', + 'A', '5', '2', '2', + 'A', '5', '2', '3', + 'A', '5', '2', '4', + 'A', '5', '2', '5', + 'A', '5', '2', '6', + 'A', '5', '2', '7', + 'A', '5', '2', '8', + 'A', '5', '2', '9', + 'A', '5', '3', '0', + 'A', '5', '3', '1', + 'A', '5', '3', '2', + 'A', '5', '3', '4', + 'A', '5', '3', '5', + 'A', '5', '3', '6', + 'A', '5', '3', '7', + 'A', '5', '3', '8', + 'A', '5', '3', '9', + 'A', '5', '4', '0', + 'A', '5', '4', '1', + 'A', '5', '4', '2', + 'A', '5', '4', '5', + 'A', '5', '4', '7', + 'A', '5', '4', '8', + 'A', '5', '4', '9', + 'A', '5', '5', '0', + 'A', '5', '5', '1', + 'A', '5', '5', '2', + 'A', '5', '5', '3', + 'A', '5', '5', '4', + 'A', '5', '5', '5', + 'A', '5', '5', '6', + 'A', '5', '5', '7', + 'A', '5', '5', '9', + 'A', '5', '6', '3', + 'A', '5', '6', '4', + 'A', '5', '6', '5', + 'A', '5', '6', '6', + 'A', '5', '6', '8', + 'A', '5', '6', '9', + 'A', '5', '7', '0', + 'A', '5', '7', '1', + 'A', '5', '7', '2', + 'A', '5', '7', '3', + 'A', '5', '7', '4', + 'A', '5', '7', '5', + 'A', '5', '7', '6', + 'A', '5', '7', '7', + 'A', '5', '7', '8', + 'A', '5', '7', '9', + 'A', '5', '8', '0', + 'A', '5', '8', '1', + 'A', '5', '8', '2', + 'A', '5', '8', '3', + 'A', '5', '8', '4', + 'A', '5', '8', '5', + 'A', '5', '8', '6', + 'A', '5', '8', '7', + 'A', '5', '8', '8', + 'A', '5', '8', '9', + 'A', '5', '9', '1', + 'A', '5', '9', '2', + 'A', '5', '9', '4', + 'A', '5', '9', '5', + 'A', '5', '9', '6', + 'A', '5', '9', '8', + 'A', '6', '0', '0', + 'A', '6', '0', '1', + 'A', '6', '0', '2', + 'A', '6', '0', '3', + 'A', '6', '0', '4', + 'A', '6', '0', '6', + 'A', '6', '0', '8', + 'A', '6', '0', '9', + 'A', '6', '1', '0', + 'A', '6', '1', '1', + 'A', '6', '1', '2', + 'A', '6', '1', '3', + 'A', '6', '1', '4', + 'A', '6', '1', '5', + 'A', '6', '1', '6', + 'A', '6', '1', '7', + 'A', '6', '1', '8', + 'A', '6', '1', '9', + 'A', '6', '2', '0', + 'A', '6', '2', '1', + 'A', '6', '2', '2', + 'A', '6', '2', '3', + 'A', '6', '2', '4', + 'A', '6', '2', '6', + 'A', '6', '2', '7', + 'A', '6', '2', '8', + 'A', '6', '2', '9', + 'A', '6', '3', '4', + 'A', '6', '3', '7', + 'A', '6', '3', '8', + 'A', '6', '4', '0', + 'A', '6', '4', '2', + 'A', '6', '4', '3', + 'A', '6', '4', '4', + 'A', '6', '4', '5', + 'A', '6', '4', '6', + 'A', '6', '4', '8', + 'A', '6', '4', '9', + 'A', '6', '5', '1', + 'A', '6', '5', '2', + 'A', '6', '5', '3', + 'A', '6', '5', '4', + 'A', '6', '5', '5', + 'A', '6', '5', '6', + 'A', '6', '5', '7', + 'A', '6', '5', '8', + 'A', '6', '5', '9', + 'A', '6', '6', '0', + 'A', '6', '6', '1', + 'A', '6', '6', '2', + 'A', '6', '6', '3', + 'A', '6', '6', '4', + 'A', '7', '0', '1', + 'A', '7', '0', '2', + 'A', '7', '0', '3', + 'A', '7', '0', '4', + 'A', '7', '0', '5', + 'A', '7', '0', '6', + 'A', '7', '0', '7', + 'A', '7', '0', '8', + 'A', '7', '0', '9', + 'A', '7', '1', '0', + 'A', '7', '1', '1', + 'A', '7', '1', '2', + 'A', '7', '1', '3', + 'A', '7', '1', '4', + 'A', '7', '1', '5', + 'A', '7', '1', '7', + 'A', '7', '2', '6', + 'A', '7', '3', '2', + 'A', '8', '0', '0', + 'A', '8', '0', '1', + 'A', '8', '0', '2', + 'A', '8', '0', '3', + 'A', '8', '0', '4', + 'A', '8', '0', '5', + 'A', '8', '0', '6', + 'A', '8', '0', '7', + 'A', 'A', 'R', 'U', + 'A', 'D', 'A', 'K', + 'A', 'D', 'E', 'G', + 'A', 'E', 'N', 'G', + 'A', 'E', 'S', 'C', + 'A', 'H', 'A', 'D', + 'A', 'H', 'O', 'M', + 'A', 'H', 'S', 'A', + 'A', 'I', 'L', 'M', + 'A', 'I', 'N', 'N', + 'A', 'I', 'N', 'U', + 'A', 'K', 'S', 'A', + 'A', 'L', 'A', 'F', + 'A', 'L', 'A', 'N', + 'A', 'L', 'E', 'F', + 'A', 'L', 'F', 'A', + 'A', 'L', 'I', 'F', + 'A', 'L', 'L', 'I', + 'A', 'L', 'L', 'O', + 'A', 'L', 'P', 'A', + 'A', 'L', 'T', 'A', + 'A', 'L', 'U', 'M', + 'A', 'M', 'A', 'R', + 'A', 'M', 'B', 'A', + 'A', 'M', 'P', 'S', + 'A', 'N', 'A', 'P', + 'A', 'N', 'H', 'U', + 'A', 'N', 'J', 'I', + 'A', 'N', 'K', 'H', + 'A', 'P', 'I', 'N', + 'A', 'P', 'L', 'I', + 'A', 'P', 'U', 'N', + 'A', 'Q', 'U', 'A', + 'A', 'R', 'A', 'D', + 'A', 'R', 'C', 'H', + 'A', 'R', 'G', 'I', + 'A', 'R', 'M', 'Y', + 'A', 'R', 'T', 'S', + 'A', 'S', 'A', 'T', + 'A', 'S', 'H', '2', + 'A', 'S', 'H', '3', + 'A', 'S', 'H', '9', + 'A', 'T', 'O', 'M', + 'A', 'U', 'N', 'N', + 'A', 'W', 'A', 'Y', + 'A', 'Y', 'A', 'H', + 'A', 'Y', 'E', 'R', + 'A', 'Y', 'I', 'N', + 'B', '0', '0', '1', + 'B', '0', '0', '2', + 'B', '0', '0', '3', + 'B', '0', '0', '4', + 'B', '0', '0', '5', + 'B', '0', '0', '6', + 'B', '0', '0', '7', + 'B', '0', '0', '8', + 'B', '0', '0', '9', + 'B', '0', '1', '0', + 'B', '0', '1', '1', + 'B', '0', '1', '2', + 'B', '0', '1', '3', + 'B', '0', '1', '4', + 'B', '0', '1', '5', + 'B', '0', '1', '6', + 'B', '0', '1', '7', + 'B', '0', '1', '8', + 'B', '0', '1', '9', + 'B', '0', '2', '0', + 'B', '0', '2', '1', + 'B', '0', '2', '2', + 'B', '0', '2', '3', + 'B', '0', '2', '4', + 'B', '0', '2', '5', + 'B', '0', '2', '6', + 'B', '0', '2', '7', + 'B', '0', '2', '8', + 'B', '0', '2', '9', + 'B', '0', '3', '0', + 'B', '0', '3', '1', + 'B', '0', '3', '2', + 'B', '0', '3', '3', + 'B', '0', '3', '4', + 'B', '0', '3', '6', + 'B', '0', '3', '7', + 'B', '0', '3', '8', + 'B', '0', '3', '9', + 'B', '0', '4', '0', + 'B', '0', '4', '1', + 'B', '0', '4', '2', + 'B', '0', '4', '3', + 'B', '0', '4', '4', + 'B', '0', '4', '5', + 'B', '0', '4', '6', + 'B', '0', '4', '7', + 'B', '0', '4', '8', + 'B', '0', '4', '9', + 'B', '0', '5', '0', + 'B', '0', '5', '1', + 'B', '0', '5', '2', + 'B', '0', '5', '3', + 'B', '0', '5', '4', + 'B', '0', '5', '5', + 'B', '0', '5', '6', + 'B', '0', '5', '7', + 'B', '0', '5', '8', + 'B', '0', '5', '9', + 'B', '0', '6', '0', + 'B', '0', '6', '1', + 'B', '0', '6', '2', + 'B', '0', '6', '3', + 'B', '0', '6', '4', + 'B', '0', '6', '5', + 'B', '0', '6', '6', + 'B', '0', '6', '7', + 'B', '0', '6', '8', + 'B', '0', '6', '9', + 'B', '0', '7', '0', + 'B', '0', '7', '1', + 'B', '0', '7', '2', + 'B', '0', '7', '3', + 'B', '0', '7', '4', + 'B', '0', '7', '5', + 'B', '0', '7', '6', + 'B', '0', '7', '7', + 'B', '0', '7', '8', + 'B', '0', '7', '9', + 'B', '0', '8', '0', + 'B', '0', '8', '1', + 'B', '0', '8', '2', + 'B', '0', '8', '3', + 'B', '0', '8', '5', + 'B', '0', '8', '6', + 'B', '0', '8', '7', + 'B', '0', '8', '9', + 'B', '0', '9', '0', + 'B', '0', '9', '1', + 'B', '1', '0', '0', + 'B', '1', '0', '2', + 'B', '1', '0', '4', + 'B', '1', '0', '5', + 'B', '1', '2', '0', + 'B', '1', '2', '1', + 'B', '1', '2', '2', + 'B', '1', '2', '3', + 'B', '1', '2', '5', + 'B', '1', '2', '7', + 'B', '1', '2', '8', + 'B', '1', '3', '0', + 'B', '1', '3', '1', + 'B', '1', '3', '2', + 'B', '1', '3', '3', + 'B', '1', '3', '5', + 'B', '1', '4', '0', + 'B', '1', '4', '1', + 'B', '1', '4', '2', + 'B', '1', '4', '5', + 'B', '1', '4', '6', + 'B', '1', '5', '0', + 'B', '1', '5', '1', + 'B', '1', '5', '2', + 'B', '1', '5', '3', + 'B', '1', '5', '4', + 'B', '1', '5', '5', + 'B', '1', '5', '6', + 'B', '1', '5', '7', + 'B', '1', '5', '8', + 'B', '1', '5', '9', + 'B', '1', '6', '0', + 'B', '1', '6', '1', + 'B', '1', '6', '2', + 'B', '1', '6', '3', + 'B', '1', '6', '4', + 'B', '1', '6', '5', + 'B', '1', '6', '6', + 'B', '1', '6', '7', + 'B', '1', '6', '8', + 'B', '1', '6', '9', + 'B', '1', '7', '0', + 'B', '1', '7', '1', + 'B', '1', '7', '2', + 'B', '1', '7', '3', + 'B', '1', '7', '4', + 'B', '1', '7', '6', + 'B', '1', '7', '7', + 'B', '1', '7', '8', + 'B', '1', '7', '9', + 'B', '1', '8', '0', + 'B', '1', '8', '1', + 'B', '1', '8', '2', + 'B', '1', '8', '3', + 'B', '1', '8', '4', + 'B', '1', '8', '5', + 'B', '1', '8', '9', + 'B', '1', '9', '0', + 'B', '1', '9', '1', + 'B', '2', '0', '0', + 'B', '2', '0', '1', + 'B', '2', '0', '2', + 'B', '2', '0', '3', + 'B', '2', '0', '4', + 'B', '2', '0', '5', + 'B', '2', '0', '6', + 'B', '2', '0', '7', + 'B', '2', '0', '8', + 'B', '2', '0', '9', + 'B', '2', '1', '0', + 'B', '2', '1', '1', + 'B', '2', '1', '2', + 'B', '2', '1', '3', + 'B', '2', '1', '4', + 'B', '2', '1', '5', + 'B', '2', '1', '6', + 'B', '2', '1', '7', + 'B', '2', '1', '8', + 'B', '2', '1', '9', + 'B', '2', '2', '0', + 'B', '2', '2', '1', + 'B', '2', '2', '2', + 'B', '2', '2', '5', + 'B', '2', '2', '6', + 'B', '2', '2', '7', + 'B', '2', '2', '8', + 'B', '2', '2', '9', + 'B', '2', '3', '0', + 'B', '2', '3', '1', + 'B', '2', '3', '2', + 'B', '2', '3', '3', + 'B', '2', '3', '4', + 'B', '2', '3', '6', + 'B', '2', '4', '0', + 'B', '2', '4', '1', + 'B', '2', '4', '2', + 'B', '2', '4', '3', + 'B', '2', '4', '5', + 'B', '2', '4', '6', + 'B', '2', '4', '7', + 'B', '2', '4', '8', + 'B', '2', '4', '9', + 'B', '2', '5', '0', + 'B', '2', '5', '1', + 'B', '2', '5', '2', + 'B', '2', '5', '3', + 'B', '2', '5', '4', + 'B', '2', '5', '5', + 'B', '2', '5', '6', + 'B', '2', '5', '7', + 'B', '2', '5', '8', + 'B', '2', '5', '9', + 'B', '3', '0', '5', + 'B', 'A', '-', '2', + 'B', 'A', 'B', 'Y', + 'B', 'A', 'C', 'K', + 'B', 'A', 'G', '3', + 'B', 'A', 'G', 'A', + 'B', 'A', 'G', 'S', + 'B', 'A', 'H', 'T', + 'B', 'A', 'L', 'L', + 'B', 'A', 'N', '2', + 'B', 'A', 'N', 'D', + 'B', 'A', 'N', 'G', + 'B', 'A', 'N', 'K', + 'B', 'A', 'R', 'B', + 'B', 'A', 'R', 'S', + 'B', 'A', 'S', 'E', + 'B', 'A', 'S', 'H', + 'B', 'A', 'T', 'H', + 'B', 'B', 'A', 'A', + 'B', 'B', 'A', 'P', + 'B', 'B', 'A', 'T', + 'B', 'B', 'A', 'X', + 'B', 'B', 'E', 'E', + 'B', 'B', 'E', 'P', + 'B', 'B', 'E', 'X', + 'B', 'B', 'I', 'E', + 'B', 'B', 'I', 'P', + 'B', 'B', 'I', 'T', + 'B', 'B', 'I', 'X', + 'B', 'B', 'O', 'P', + 'B', 'B', 'O', 'T', + 'B', 'B', 'O', 'X', + 'B', 'B', 'U', 'O', + 'B', 'B', 'U', 'P', + 'B', 'B', 'U', 'R', + 'B', 'B', 'U', 'T', + 'B', 'B', 'U', 'X', + 'B', 'B', 'Y', 'P', + 'B', 'B', 'Y', 'T', + 'B', 'B', 'Y', 'X', + 'B', 'C', 'A', 'D', + 'B', 'E', 'A', 'M', + 'B', 'E', 'A', 'N', + 'B', 'E', 'A', 'R', + 'B', 'E', 'A', 'T', + 'B', 'E', 'E', 'H', + 'B', 'E', 'E', 'R', + 'B', 'E', 'L', 'L', + 'B', 'E', 'L', 'T', + 'B', 'E', 'N', 'D', + 'B', 'E', 'N', 'T', + 'B', 'E', 'T', 'A', + 'B', 'E', 'T', 'H', + 'B', 'H', 'A', 'A', + 'B', 'H', 'A', 'M', + 'B', 'H', 'E', 'E', + 'B', 'H', 'O', 'O', + 'B', 'I', 'E', 'P', + 'B', 'I', 'E', 'T', + 'B', 'I', 'E', 'X', + 'B', 'I', 'R', 'D', + 'B', 'I', 'R', 'U', + 'B', 'I', 'T', 'E', + 'B', 'K', 'A', '-', + 'B', 'L', 'O', 'W', + 'B', 'L', 'U', 'E', + 'B', 'O', 'A', 'R', + 'B', 'O', 'A', 'T', + 'B', 'O', 'D', 'Y', + 'B', 'O', 'L', 'D', + 'B', 'O', 'L', 'T', + 'B', 'O', 'M', 'B', + 'B', 'O', 'N', 'E', + 'B', 'O', 'O', 'K', + 'B', 'O', 'O', 'T', + 'B', 'O', 'T', 'H', + 'B', 'O', 'W', 'L', + 'B', 'O', 'Y', 'S', + 'B', 'R', 'D', 'A', + 'B', 'U', 'K', 'Y', + 'B', 'U', 'L', 'B', + 'B', 'U', 'L', 'L', + 'B', 'U', 'N', 'G', + 'B', 'U', 'O', 'N', + 'B', 'U', 'O', 'P', + 'B', 'U', 'O', 'X', + 'B', 'U', 'R', '2', + 'B', 'U', 'R', 'U', + 'B', 'U', 'R', 'X', + 'B', 'U', 'S', 'T', + 'B', 'W', 'E', 'E', + 'B', 'Y', 'R', 'X', + 'B', 'Y', 'T', 'E', + 'B', 'Z', 'H', 'I', + 'C', '-', '1', '8', + 'C', '-', '3', '9', + 'C', '0', '0', '1', + 'C', '0', '0', '2', + 'C', '0', '0', '3', + 'C', '0', '0', '4', + 'C', '0', '0', '5', + 'C', '0', '0', '6', + 'C', '0', '0', '7', + 'C', '0', '0', '8', + 'C', '0', '0', '9', + 'C', '0', '1', '0', + 'C', '0', '1', '1', + 'C', '0', '1', '2', + 'C', '0', '1', '3', + 'C', '0', '1', '4', + 'C', '0', '1', '5', + 'C', '0', '1', '6', + 'C', '0', '1', '7', + 'C', '0', '1', '8', + 'C', '0', '1', '9', + 'C', '0', '2', '0', + 'C', '0', '2', '1', + 'C', '0', '2', '2', + 'C', '0', '2', '3', + 'C', '0', '2', '4', + 'C', 'A', 'A', 'I', + 'C', 'A', 'D', 'A', + 'C', 'A', 'K', 'E', + 'C', 'A', 'L', 'C', + 'C', 'A', 'L', 'L', + 'C', 'A', 'L', 'X', + 'C', 'A', 'N', 'G', + 'C', 'A', 'P', 'O', + 'C', 'A', 'R', 'D', + 'C', 'A', 'R', 'E', + 'C', 'A', 'R', 'P', + 'C', 'A', 'R', 'S', + 'C', 'A', 'R', 'T', + 'C', 'A', 'V', 'E', + 'C', 'A', 'Y', 'N', + 'C', 'C', 'A', 'A', + 'C', 'C', 'E', 'E', + 'C', 'C', 'H', 'A', + 'C', 'C', 'H', 'E', + 'C', 'C', 'H', 'I', + 'C', 'C', 'H', 'O', + 'C', 'C', 'H', 'U', + 'C', 'E', 'D', 'I', + 'C', 'E', 'E', 'B', + 'C', 'E', 'E', 'V', + 'C', 'E', 'N', 'T', + 'C', 'H', 'A', 'A', + 'C', 'H', 'A', 'D', + 'C', 'H', 'A', 'M', + 'C', 'H', 'A', 'N', + 'C', 'H', 'A', 'P', + 'C', 'H', 'A', 'R', + 'C', 'H', 'A', 'T', + 'C', 'H', 'A', 'U', + 'C', 'H', 'A', 'X', + 'C', 'H', 'E', 'E', + 'C', 'H', 'E', 'H', + 'C', 'H', 'E', 'N', + 'C', 'H', 'E', 'P', + 'C', 'H', 'E', 'T', + 'C', 'H', 'E', 'X', + 'C', 'H', 'H', 'A', + 'C', 'H', 'I', 'L', + 'C', 'H', 'I', 'N', + 'C', 'H', 'O', 'A', + 'C', 'H', 'O', 'E', + 'C', 'H', 'O', 'P', + 'C', 'H', 'O', 'T', + 'C', 'H', 'O', 'X', + 'C', 'H', 'O', 'Y', + 'C', 'H', 'U', 'O', + 'C', 'H', 'U', 'P', + 'C', 'H', 'U', 'R', + 'C', 'H', 'U', 'X', + 'C', 'H', 'W', 'A', + 'C', 'H', 'W', 'V', + 'C', 'H', 'Y', 'P', + 'C', 'H', 'Y', 'R', + 'C', 'H', 'Y', 'T', + 'C', 'H', 'Y', 'X', + 'C', 'I', 'E', 'P', + 'C', 'I', 'E', 'T', + 'C', 'I', 'E', 'X', + 'C', 'I', 'T', 'I', + 'C', 'I', 'T', 'Y', + 'C', 'L', 'A', 'N', + 'C', 'L', 'A', 'W', + 'C', 'L', 'E', 'F', + 'C', 'L', 'U', 'B', + 'C', 'O', 'D', 'A', + 'C', 'O', 'L', 'D', + 'C', 'O', 'L', 'L', + 'C', 'O', 'M', 'B', + 'C', 'O', 'O', 'L', + 'C', 'O', 'P', 'Y', + 'C', 'O', 'R', 'K', + 'C', 'R', 'A', 'B', + 'C', 'R', 'O', 'P', + 'C', 'U', 'A', 'M', + 'C', 'U', 'B', 'E', + 'C', 'U', 'O', 'P', + 'C', 'U', 'O', 'X', + 'C', 'U', 'R', 'L', + 'C', 'U', 'R', 'X', + 'C', 'U', 'S', 'P', + 'C', 'W', 'A', 'A', + 'C', 'W', 'I', 'I', + 'C', 'W', 'O', 'O', + 'C', 'Y', 'A', 'W', + 'C', 'Y', 'A', 'Y', + 'C', 'Y', 'R', 'X', + 'D', '0', '0', '1', + 'D', '0', '0', '2', + 'D', '0', '0', '3', + 'D', '0', '0', '4', + 'D', '0', '0', '5', + 'D', '0', '0', '6', + 'D', '0', '0', '7', + 'D', '0', '0', '8', + 'D', '0', '0', '9', + 'D', '0', '1', '0', + 'D', '0', '1', '1', + 'D', '0', '1', '2', + 'D', '0', '1', '3', + 'D', '0', '1', '4', + 'D', '0', '1', '5', + 'D', '0', '1', '6', + 'D', '0', '1', '7', + 'D', '0', '1', '8', + 'D', '0', '1', '9', + 'D', '0', '2', '0', + 'D', '0', '2', '1', + 'D', '0', '2', '2', + 'D', '0', '2', '3', + 'D', '0', '2', '4', + 'D', '0', '2', '5', + 'D', '0', '2', '6', + 'D', '0', '2', '7', + 'D', '0', '2', '8', + 'D', '0', '2', '9', + 'D', '0', '3', '0', + 'D', '0', '3', '1', + 'D', '0', '3', '2', + 'D', '0', '3', '3', + 'D', '0', '3', '4', + 'D', '0', '3', '5', + 'D', '0', '3', '6', + 'D', '0', '3', '7', + 'D', '0', '3', '8', + 'D', '0', '3', '9', + 'D', '0', '4', '0', + 'D', '0', '4', '1', + 'D', '0', '4', '2', + 'D', '0', '4', '3', + 'D', '0', '4', '4', + 'D', '0', '4', '5', + 'D', '0', '4', '6', + 'D', '0', '4', '7', + 'D', '0', '4', '8', + 'D', '0', '4', '9', + 'D', '0', '5', '0', + 'D', '0', '5', '1', + 'D', '0', '5', '2', + 'D', '0', '5', '3', + 'D', '0', '5', '4', + 'D', '0', '5', '5', + 'D', '0', '5', '6', + 'D', '0', '5', '7', + 'D', '0', '5', '8', + 'D', '0', '5', '9', + 'D', '0', '6', '0', + 'D', '0', '6', '1', + 'D', '0', '6', '2', + 'D', '0', '6', '3', + 'D', '0', '6', '4', + 'D', '0', '6', '5', + 'D', '0', '6', '6', + 'D', '0', '6', '7', + 'D', 'A', 'E', 'G', + 'D', 'A', 'G', '3', + 'D', 'A', 'G', 'S', + 'D', 'A', 'I', 'R', + 'D', 'A', 'M', 'P', + 'D', 'A', 'N', 'G', + 'D', 'A', 'R', 'K', + 'D', 'A', 'R', 'T', + 'D', 'A', 'S', 'H', + 'D', 'A', 'T', 'A', + 'D', 'A', 'T', 'E', + 'D', 'A', 'W', 'B', + 'D', 'C', 'H', 'E', + 'D', 'D', 'A', 'A', + 'D', 'D', 'A', 'L', + 'D', 'D', 'A', 'P', + 'D', 'D', 'A', 'T', + 'D', 'D', 'A', 'X', + 'D', 'D', 'D', 'A', + 'D', 'D', 'E', 'E', + 'D', 'D', 'E', 'P', + 'D', 'D', 'E', 'X', + 'D', 'D', 'H', 'A', + 'D', 'D', 'H', 'E', + 'D', 'D', 'H', 'I', + 'D', 'D', 'H', 'O', + 'D', 'D', 'H', 'U', + 'D', 'D', 'I', 'E', + 'D', 'D', 'I', 'P', + 'D', 'D', 'I', 'T', + 'D', 'D', 'I', 'X', + 'D', 'D', 'O', 'A', + 'D', 'D', 'O', 'P', + 'D', 'D', 'O', 'T', + 'D', 'D', 'O', 'X', + 'D', 'D', 'U', 'O', + 'D', 'D', 'U', 'P', + 'D', 'D', 'U', 'R', + 'D', 'D', 'U', 'T', + 'D', 'D', 'U', 'X', + 'D', 'D', 'W', 'A', + 'D', 'E', 'A', 'D', + 'D', 'E', 'E', 'L', + 'D', 'E', 'E', 'R', + 'D', 'E', 'H', 'I', + 'D', 'E', 'K', 'A', + 'D', 'E', 'L', 'T', + 'D', 'E', 'N', 'E', + 'D', 'E', 'N', 'G', + 'D', 'E', 'S', 'I', + 'D', 'E', 'S', 'K', + 'D', 'E', 'Z', 'H', + 'D', 'H', 'A', 'A', + 'D', 'H', 'A', 'L', + 'D', 'H', 'E', 'E', + 'D', 'H', 'H', 'A', + 'D', 'H', 'H', 'E', + 'D', 'H', 'H', 'I', + 'D', 'H', 'H', 'O', + 'D', 'H', 'H', 'U', + 'D', 'H', 'I', 'I', + 'D', 'H', 'O', 'O', + 'D', 'H', 'O', 'U', + 'D', 'I', 'E', 'P', + 'D', 'I', 'E', 'X', + 'D', 'I', 'G', 'A', + 'D', 'I', 'M', '2', + 'D', 'I', 'N', 'G', + 'D', 'I', 'S', 'C', + 'D', 'I', 'S', 'H', + 'D', 'I', 'S', 'K', + 'D', 'K', 'A', 'R', + 'D', 'L', 'E', 'E', + 'D', 'L', 'H', 'A', + 'D', 'O', '-', 'O', + 'D', 'O', 'E', 'S', + 'D', 'O', 'I', 'T', + 'D', 'O', 'N', 'G', + 'D', 'O', 'O', 'R', + 'D', 'O', 'R', 'U', + 'D', 'O', 'T', 'S', + 'D', 'O', 'V', 'E', + 'D', 'O', 'W', 'N', + 'D', 'R', 'A', 'M', + 'D', 'R', 'I', 'L', + 'D', 'R', 'U', 'M', + 'D', 'U', 'B', '2', + 'D', 'U', 'C', 'K', + 'D', 'U', 'N', '3', + 'D', 'U', 'N', '4', + 'D', 'U', 'N', 'G', + 'D', 'U', 'O', 'X', + 'D', 'U', 'R', '2', + 'D', 'U', 'R', 'X', + 'D', 'U', 'S', 'K', + 'D', 'Y', 'A', 'N', + 'D', 'Y', 'E', 'H', + 'D', 'Z', 'A', 'A', + 'D', 'Z', 'A', 'Y', + 'D', 'Z', 'E', 'E', + 'D', 'Z', 'H', 'A', + 'D', 'Z', 'H', 'E', + 'D', 'Z', 'J', 'E', + 'D', 'Z', 'W', 'E', + 'D', 'Z', 'Z', 'A', + 'D', 'Z', 'Z', 'E', + 'E', '0', '0', '1', + 'E', '0', '0', '2', + 'E', '0', '0', '3', + 'E', '0', '0', '4', + 'E', '0', '0', '5', + 'E', '0', '0', '6', + 'E', '0', '0', '7', + 'E', '0', '0', '8', + 'E', '0', '0', '9', + 'E', '0', '1', '0', + 'E', '0', '1', '1', + 'E', '0', '1', '2', + 'E', '0', '1', '3', + 'E', '0', '1', '4', + 'E', '0', '1', '5', + 'E', '0', '1', '6', + 'E', '0', '1', '7', + 'E', '0', '1', '8', + 'E', '0', '1', '9', + 'E', '0', '2', '0', + 'E', '0', '2', '1', + 'E', '0', '2', '2', + 'E', '0', '2', '3', + 'E', '0', '2', '4', + 'E', '0', '2', '5', + 'E', '0', '2', '6', + 'E', '0', '2', '7', + 'E', '0', '2', '8', + 'E', '0', '2', '9', + 'E', '0', '3', '0', + 'E', '0', '3', '1', + 'E', '0', '3', '2', + 'E', '0', '3', '3', + 'E', '0', '3', '4', + 'E', '0', '3', '6', + 'E', '0', '3', '7', + 'E', '0', '3', '8', + 'E', 'A', 'R', 'S', + 'E', 'A', 'S', 'E', + 'E', 'A', 'S', 'T', + 'E', 'D', 'I', 'N', + 'E', 'G', 'I', 'R', + 'E', 'H', 'K', 'A', + 'E', 'H', 'P', 'A', + 'E', 'H', 'T', 'A', + 'E', 'K', 'A', 'M', + 'E', 'N', 'N', 'I', + 'E', 'N', 'O', 'S', + 'E', 'O', '-', 'O', + 'E', 'O', '-', 'U', + 'E', 'R', 'E', 'N', + 'E', 'S', '-', '1', + 'E', 'S', '-', '2', + 'E', 'S', '-', '3', + 'E', 'S', 'H', '2', + 'E', 'U', '-', 'A', + 'E', 'U', '-', 'E', + 'E', 'U', '-', 'O', + 'E', 'U', '-', 'U', + 'E', 'U', 'R', 'O', + 'E', 'V', 'E', 'N', + 'E', 'Y', 'E', 'S', + 'E', 'Y', 'Y', 'Y', + 'E', 'Z', 'E', 'N', + 'F', '0', '0', '1', + 'F', '0', '0', '2', + 'F', '0', '0', '3', + 'F', '0', '0', '4', + 'F', '0', '0', '5', + 'F', '0', '0', '6', + 'F', '0', '0', '7', + 'F', '0', '0', '8', + 'F', '0', '0', '9', + 'F', '0', '1', '0', + 'F', '0', '1', '1', + 'F', '0', '1', '2', + 'F', '0', '1', '3', + 'F', '0', '1', '4', + 'F', '0', '1', '5', + 'F', '0', '1', '6', + 'F', '0', '1', '7', + 'F', '0', '1', '8', + 'F', '0', '1', '9', + 'F', '0', '2', '0', + 'F', '0', '2', '1', + 'F', '0', '2', '2', + 'F', '0', '2', '3', + 'F', '0', '2', '4', + 'F', '0', '2', '5', + 'F', '0', '2', '6', + 'F', '0', '2', '7', + 'F', '0', '2', '8', + 'F', '0', '2', '9', + 'F', '0', '3', '0', + 'F', '0', '3', '1', + 'F', '0', '3', '2', + 'F', '0', '3', '3', + 'F', '0', '3', '4', + 'F', '0', '3', '5', + 'F', '0', '3', '6', + 'F', '0', '3', '7', + 'F', '0', '3', '8', + 'F', '0', '3', '9', + 'F', '0', '4', '0', + 'F', '0', '4', '1', + 'F', '0', '4', '2', + 'F', '0', '4', '3', + 'F', '0', '4', '4', + 'F', '0', '4', '5', + 'F', '0', '4', '6', + 'F', '0', '4', '7', + 'F', '0', '4', '8', + 'F', '0', '4', '9', + 'F', '0', '5', '0', + 'F', '0', '5', '1', + 'F', '0', '5', '2', + 'F', '0', '5', '3', + 'F', 'A', 'A', 'I', + 'F', 'A', 'C', 'E', + 'F', 'A', 'I', 'B', + 'F', 'A', 'N', 'G', + 'F', 'A', 'S', 'T', + 'F', 'E', 'A', 'R', + 'F', 'E', 'E', 'D', + 'F', 'E', 'E', 'M', + 'F', 'E', 'H', 'U', + 'F', 'E', 'N', 'G', + 'F', 'E', 'O', 'H', + 'F', 'E', 'U', 'X', + 'F', 'I', 'L', 'E', + 'F', 'I', 'L', 'L', + 'F', 'I', 'L', 'M', + 'F', 'I', 'R', 'E', + 'F', 'I', 'R', 'I', + 'F', 'I', 'S', 'H', + 'F', 'I', 'S', 'T', + 'F', 'I', 'T', 'A', + 'F', 'I', 'V', 'E', + 'F', 'L', 'A', 'G', + 'F', 'L', 'A', 'T', + 'F', 'L', 'E', 'X', + 'F', 'L', 'I', 'P', + 'F', 'O', 'N', 'T', + 'F', 'O', 'O', 'D', + 'F', 'O', 'O', 'L', + 'F', 'O', 'O', 'T', + 'F', 'O', 'R', 'K', + 'F', 'O', 'R', 'M', + 'F', 'O', 'U', 'R', + 'F', 'R', 'E', 'E', + 'F', 'R', 'O', 'G', + 'F', 'R', 'O', 'M', + 'F', 'U', 'E', 'L', + 'F', 'U', 'E', 'T', + 'F', 'U', 'J', 'I', + 'F', 'U', 'L', 'L', + 'F', 'U', 'R', 'X', + 'F', 'U', 'S', 'A', + 'F', 'U', 'S', 'E', + 'F', 'V', 'S', '1', + 'F', 'V', 'S', '2', + 'F', 'V', 'S', '3', + 'F', 'W', 'A', 'A', + 'F', 'W', 'E', 'E', + 'G', '0', '0', '1', + 'G', '0', '0', '2', + 'G', '0', '0', '3', + 'G', '0', '0', '4', + 'G', '0', '0', '5', + 'G', '0', '0', '6', + 'G', '0', '0', '7', + 'G', '0', '0', '8', + 'G', '0', '0', '9', + 'G', '0', '1', '0', + 'G', '0', '1', '1', + 'G', '0', '1', '2', + 'G', '0', '1', '3', + 'G', '0', '1', '4', + 'G', '0', '1', '5', + 'G', '0', '1', '6', + 'G', '0', '1', '7', + 'G', '0', '1', '8', + 'G', '0', '1', '9', + 'G', '0', '2', '0', + 'G', '0', '2', '1', + 'G', '0', '2', '2', + 'G', '0', '2', '3', + 'G', '0', '2', '4', + 'G', '0', '2', '5', + 'G', '0', '2', '6', + 'G', '0', '2', '7', + 'G', '0', '2', '8', + 'G', '0', '2', '9', + 'G', '0', '3', '0', + 'G', '0', '3', '1', + 'G', '0', '3', '2', + 'G', '0', '3', '3', + 'G', '0', '3', '4', + 'G', '0', '3', '5', + 'G', '0', '3', '6', + 'G', '0', '3', '7', + 'G', '0', '3', '8', + 'G', '0', '3', '9', + 'G', '0', '4', '0', + 'G', '0', '4', '1', + 'G', '0', '4', '2', + 'G', '0', '4', '3', + 'G', '0', '4', '4', + 'G', '0', '4', '5', + 'G', '0', '4', '6', + 'G', '0', '4', '7', + 'G', '0', '4', '8', + 'G', '0', '4', '9', + 'G', '0', '5', '0', + 'G', '0', '5', '1', + 'G', '0', '5', '2', + 'G', '0', '5', '3', + 'G', '0', '5', '4', + 'G', 'A', 'B', 'A', + 'G', 'A', 'L', 'I', + 'G', 'A', 'M', 'E', + 'G', 'A', 'M', 'L', + 'G', 'A', 'N', '2', + 'G', 'A', 'R', '3', + 'G', 'A', 'T', 'E', + 'G', 'B', 'E', 'E', + 'G', 'B', 'E', 'N', + 'G', 'B', 'E', 'T', + 'G', 'B', 'O', 'N', + 'G', 'B', 'O', 'O', + 'G', 'C', 'A', 'N', + 'G', 'C', 'I', 'G', + 'G', 'D', 'A', 'N', + 'G', 'E', '2', '2', + 'G', 'E', 'A', 'R', + 'G', 'E', 'B', 'A', + 'G', 'E', 'B', 'O', + 'G', 'E', 'D', 'E', + 'G', 'E', 'E', 'M', + 'G', 'E', 'T', 'A', + 'G', 'G', 'A', 'A', + 'G', 'G', 'A', 'P', + 'G', 'G', 'A', 'T', + 'G', 'G', 'A', 'X', + 'G', 'G', 'E', 'E', + 'G', 'G', 'E', 'P', + 'G', 'G', 'E', 'T', + 'G', 'G', 'E', 'X', + 'G', 'G', 'I', 'E', + 'G', 'G', 'I', 'T', + 'G', 'G', 'I', 'X', + 'G', 'G', 'O', 'P', + 'G', 'G', 'O', 'T', + 'G', 'G', 'O', 'X', + 'G', 'G', 'U', 'O', + 'G', 'G', 'U', 'P', + 'G', 'G', 'U', 'R', + 'G', 'G', 'U', 'T', + 'G', 'G', 'U', 'X', + 'G', 'G', 'W', 'A', + 'G', 'G', 'W', 'E', + 'G', 'G', 'W', 'I', + 'G', 'H', 'A', 'A', + 'G', 'H', 'A', 'D', + 'G', 'H', 'A', 'N', + 'G', 'H', 'A', 'P', + 'G', 'H', 'E', 'E', + 'G', 'H', 'E', 'T', + 'G', 'H', 'H', 'A', + 'G', 'H', 'O', 'M', + 'G', 'H', 'O', 'U', + 'G', 'H', 'W', 'A', + 'G', 'I', 'B', 'A', + 'G', 'I', 'E', 'P', + 'G', 'I', 'E', 'T', + 'G', 'I', 'E', 'X', + 'G', 'I', 'G', 'A', + 'G', 'I', 'R', '2', + 'G', 'I', 'R', '3', + 'G', 'I', 'R', 'L', + 'G', 'I', 'S', 'H', + 'G', 'O', 'A', 'L', + 'G', 'O', 'A', 'T', + 'G', 'O', 'L', 'D', + 'G', 'O', 'N', 'G', + 'G', 'O', 'O', 'D', + 'G', 'O', 'R', 'A', + 'G', 'O', 'R', 'T', + 'G', 'R', 'A', 'M', + 'G', 'S', 'U', 'M', + 'G', 'T', 'E', 'R', + 'G', 'U', 'A', 'N', + 'G', 'U', 'E', 'H', + 'G', 'U', 'E', 'I', + 'G', 'U', 'N', 'U', + 'G', 'U', 'O', 'P', + 'G', 'U', 'O', 'T', + 'G', 'U', 'O', 'X', + 'G', 'U', 'R', '7', + 'G', 'U', 'R', 'X', + 'G', 'W', 'A', 'A', + 'G', 'W', 'E', 'E', + 'G', 'Y', 'A', 'A', + 'G', 'Y', 'A', 'N', + 'G', 'Y', 'A', 'S', + 'G', 'Y', 'E', 'E', + 'G', 'Y', 'F', 'U', + 'G', 'Y', 'O', 'N', + 'H', '0', '0', '1', + 'H', '0', '0', '2', + 'H', '0', '0', '3', + 'H', '0', '0', '4', + 'H', '0', '0', '5', + 'H', '0', '0', '6', + 'H', '0', '0', '7', + 'H', '0', '0', '8', + 'H', 'A', 'A', 'M', + 'H', 'A', 'G', 'L', + 'H', 'A', 'I', 'R', + 'H', 'A', 'I', 'S', + 'H', 'A', 'L', 'F', + 'H', 'A', 'L', 'O', + 'H', 'A', 'N', 'D', + 'H', 'A', 'N', 'G', + 'H', 'A', 'R', 'D', + 'H', 'A', 'T', 'E', + 'H', 'A', 'V', 'E', + 'H', 'A', 'W', 'J', + 'H', 'E', 'A', 'D', + 'H', 'E', 'E', 'I', + 'H', 'E', 'E', 'L', + 'H', 'E', 'L', 'M', + 'H', 'E', 'M', 'P', + 'H', 'E', 'N', 'G', + 'H', 'E', 'R', 'B', + 'H', 'E', 'R', 'U', + 'H', 'E', 'T', 'A', + 'H', 'E', 'T', 'H', + 'H', 'E', 'Y', 'T', + 'H', 'H', 'A', 'A', + 'H', 'H', 'E', 'E', + 'H', 'H', 'W', 'A', + 'H', 'I', 'D', 'E', + 'H', 'I', 'E', 'X', + 'H', 'I', 'G', 'H', + 'H', 'I', 'Y', 'O', + 'H', 'I', 'Z', 'B', + 'H', 'L', 'A', 'P', + 'H', 'L', 'A', 'T', + 'H', 'L', 'A', 'U', + 'H', 'L', 'A', 'X', + 'H', 'L', 'E', 'P', + 'H', 'L', 'E', 'X', + 'H', 'L', 'I', 'E', + 'H', 'L', 'I', 'P', + 'H', 'L', 'I', 'T', + 'H', 'L', 'I', 'X', + 'H', 'L', 'O', 'P', + 'H', 'L', 'O', 'X', + 'H', 'L', 'U', 'O', + 'H', 'L', 'U', 'P', + 'H', 'L', 'U', 'R', + 'H', 'L', 'U', 'T', + 'H', 'L', 'U', 'X', + 'H', 'L', 'Y', 'P', + 'H', 'L', 'Y', 'R', + 'H', 'L', 'Y', 'T', + 'H', 'L', 'Y', 'X', + 'H', 'M', 'A', 'P', + 'H', 'M', 'A', 'T', + 'H', 'M', 'A', 'X', + 'H', 'M', 'I', 'E', + 'H', 'M', 'I', 'P', + 'H', 'M', 'I', 'T', + 'H', 'M', 'I', 'X', + 'H', 'M', 'O', 'P', + 'H', 'M', 'O', 'T', + 'H', 'M', 'O', 'X', + 'H', 'M', 'U', 'O', + 'H', 'M', 'U', 'P', + 'H', 'M', 'U', 'R', + 'H', 'M', 'U', 'T', + 'H', 'M', 'U', 'X', + 'H', 'M', 'Y', 'P', + 'H', 'M', 'Y', 'R', + 'H', 'M', 'Y', 'X', + 'H', 'N', 'A', 'P', + 'H', 'N', 'A', 'T', + 'H', 'N', 'A', 'U', + 'H', 'N', 'A', 'X', + 'H', 'N', 'E', 'P', + 'H', 'N', 'E', 'X', + 'H', 'N', 'I', 'E', + 'H', 'N', 'I', 'P', + 'H', 'N', 'I', 'T', + 'H', 'N', 'I', 'X', + 'H', 'N', 'O', 'P', + 'H', 'N', 'O', 'T', + 'H', 'N', 'O', 'X', + 'H', 'N', 'U', 'B', + 'H', 'N', 'U', 'O', + 'H', 'N', 'U', 'T', + 'H', 'O', 'K', 'A', + 'H', 'O', 'L', 'E', + 'H', 'O', 'L', 'O', + 'H', 'O', 'O', 'K', + 'H', 'O', 'O', 'N', + 'H', 'O', 'O', 'P', + 'H', 'O', 'O', 'U', + 'H', 'O', 'R', 'A', + 'H', 'O', 'R', 'I', + 'H', 'O', 'R', 'N', + 'H', 'O', 'R', 'R', + 'H', 'O', 'T', 'A', + 'H', 'O', 'U', 'R', + 'H', 'P', 'W', 'G', + 'H', 'U', 'A', 'N', + 'H', 'U', 'B', '2', + 'H', 'U', 'L', '2', + 'H', 'U', 'M', 'P', + 'H', 'U', 'N', 'G', + 'H', 'U', 'O', 'P', + 'H', 'U', 'O', 'T', + 'H', 'U', 'O', 'X', + 'H', 'U', 'S', 'H', + 'H', 'U', 'V', 'A', + 'H', 'W', 'A', 'H', + 'H', 'W', 'E', 'E', + 'H', 'X', 'A', 'P', + 'H', 'X', 'A', 'T', + 'H', 'X', 'A', 'X', + 'H', 'X', 'E', 'P', + 'H', 'X', 'E', 'X', + 'H', 'X', 'I', 'E', + 'H', 'X', 'I', 'P', + 'H', 'X', 'I', 'T', + 'H', 'X', 'I', 'X', + 'H', 'X', 'O', 'P', + 'H', 'X', 'O', 'T', + 'H', 'X', 'O', 'X', + 'H', 'X', 'U', 'O', + 'H', 'X', 'W', 'G', + 'H', 'Z', 'W', 'G', + 'H', 'Z', 'Z', 'P', + 'H', 'Z', 'Z', 'Z', + 'I', '-', 'E', 'U', + 'I', '-', 'Y', 'A', + 'I', '-', 'Y', 'E', + 'I', '-', 'Y', 'O', + 'I', '-', 'Y', 'U', + 'I', '0', '0', '1', + 'I', '0', '0', '2', + 'I', '0', '0', '3', + 'I', '0', '0', '4', + 'I', '0', '0', '5', + 'I', '0', '0', '6', + 'I', '0', '0', '7', + 'I', '0', '0', '8', + 'I', '0', '0', '9', + 'I', '0', '1', '0', + 'I', '0', '1', '1', + 'I', '0', '1', '2', + 'I', '0', '1', '3', + 'I', '0', '1', '4', + 'I', '0', '1', '5', + 'I', 'A', 'N', 'G', + 'I', 'C', 'O', 'N', + 'I', 'D', 'I', 'M', + 'I', 'D', 'L', 'E', + 'I', 'F', 'I', 'N', + 'I', 'L', 'U', 'T', + 'I', 'L', 'U', 'Y', + 'I', 'M', 'I', 'N', + 'I', 'N', 'A', 'P', + 'I', 'N', 'C', 'H', + 'I', 'N', 'N', 'N', + 'I', 'N', 'T', 'I', + 'I', 'N', 'Y', 'A', + 'I', 'O', 'T', 'A', + 'I', 'R', 'O', 'N', + 'I', 'S', 'A', 'Z', + 'I', 'S', 'O', 'N', + 'I', 'T', 'E', 'M', + 'I', 'U', 'J', 'A', + 'I', 'W', 'A', 'Z', + 'I', 'Y', 'E', 'K', + 'I', 'Z', 'H', 'E', + 'J', 'A', 'C', 'K', + 'J', 'A', 'D', 'E', + 'J', 'A', 'I', 'N', + 'J', 'A', 'Y', 'N', + 'J', 'E', 'E', 'M', + 'J', 'E', 'R', 'A', + 'J', 'H', 'A', 'A', + 'J', 'H', 'A', 'M', + 'J', 'H', 'A', 'N', + 'J', 'H', 'E', 'H', + 'J', 'H', 'O', 'X', + 'J', 'I', 'E', 'P', + 'J', 'I', 'E', 'T', + 'J', 'I', 'E', 'X', + 'J', 'I', 'I', 'M', + 'J', 'J', 'E', 'E', + 'J', 'J', 'I', 'E', + 'J', 'J', 'I', 'P', + 'J', 'J', 'I', 'T', + 'J', 'J', 'I', 'X', + 'J', 'J', 'O', 'P', + 'J', 'J', 'O', 'T', + 'J', 'J', 'O', 'X', + 'J', 'J', 'U', 'O', + 'J', 'J', 'U', 'P', + 'J', 'J', 'U', 'R', + 'J', 'J', 'U', 'T', + 'J', 'J', 'U', 'X', + 'J', 'J', 'Y', 'P', + 'J', 'J', 'Y', 'T', + 'J', 'J', 'Y', 'X', + 'J', 'O', 'I', 'N', + 'J', 'O', 'N', 'A', + 'J', 'O', 'N', 'G', + 'J', 'O', 'V', 'E', + 'J', 'U', 'L', 'Y', + 'J', 'U', 'N', 'E', + 'J', 'U', 'N', 'O', + 'J', 'U', 'O', 'P', + 'J', 'U', 'O', 'T', + 'J', 'U', 'O', 'X', + 'J', 'U', 'R', 'X', + 'J', 'Y', 'R', 'X', + 'K', '0', '0', '1', + 'K', '0', '0', '2', + 'K', '0', '0', '3', + 'K', '0', '0', '4', + 'K', '0', '0', '5', + 'K', '0', '0', '6', + 'K', '0', '0', '7', + 'K', '0', '0', '8', + 'K', 'A', 'A', 'B', + 'K', 'A', 'A', 'F', + 'K', 'A', 'A', 'I', + 'K', 'A', 'A', 'N', + 'K', 'A', 'A', 'V', + 'K', 'A', 'B', 'A', + 'K', 'A', 'D', '2', + 'K', 'A', 'D', '3', + 'K', 'A', 'D', '4', + 'K', 'A', 'D', '5', + 'K', 'A', 'F', 'A', + 'K', 'A', 'I', 'B', + 'K', 'A', 'I', 'V', + 'K', 'A', 'K', 'O', + 'K', 'A', 'M', '2', + 'K', 'A', 'M', '4', + 'K', 'A', 'N', 'A', + 'K', 'A', 'N', 'G', + 'K', 'A', 'P', 'A', + 'K', 'A', 'P', 'H', + 'K', 'A', 'P', 'O', + 'K', 'A', 'R', 'O', + 'K', 'A', 'T', 'O', + 'K', 'A', 'U', 'B', + 'K', 'A', 'U', 'N', + 'K', 'A', 'U', 'V', + 'K', 'A', 'W', 'B', + 'K', 'A', 'W', 'I', + 'K', 'A', 'W', 'V', + 'K', 'C', 'A', 'L', + 'K', 'E', 'E', 'B', + 'K', 'E', 'E', 'V', + 'K', 'E', 'O', 'W', + 'K', 'E', 'U', 'M', + 'K', 'E', 'U', 'P', + 'K', 'E', 'U', 'X', + 'K', 'H', 'A', 'A', + 'K', 'H', 'A', 'B', + 'K', 'H', 'A', 'H', + 'K', 'H', 'A', 'I', + 'K', 'H', 'A', 'N', + 'K', 'H', 'A', 'R', + 'K', 'H', 'A', 'V', + 'K', 'H', 'E', 'E', + 'K', 'H', 'E', 'I', + 'K', 'H', 'H', 'A', + 'K', 'H', 'H', 'O', + 'K', 'H', 'I', 'T', + 'K', 'H', 'M', 'U', + 'K', 'H', 'O', 'N', + 'K', 'H', 'O', 'T', + 'K', 'H', 'O', 'U', + 'K', 'I', 'A', 'B', + 'K', 'I', 'A', 'V', + 'K', 'I', 'C', 'K', + 'K', 'I', 'E', 'P', + 'K', 'I', 'E', 'X', + 'K', 'I', 'N', 'G', + 'K', 'I', 'R', 'O', + 'K', 'I', 'S', 'H', + 'K', 'I', 'S', 'S', + 'K', 'K', 'E', 'E', + 'K', 'O', 'E', 'T', + 'K', 'O', 'K', 'E', + 'K', 'O', 'K', 'O', + 'K', 'O', 'M', 'I', + 'K', 'O', 'O', 'B', + 'K', 'O', 'O', 'V', + 'K', 'O', 'T', 'O', + 'K', 'P', 'A', 'H', + 'K', 'P', 'A', 'N', + 'K', 'P', 'E', 'E', + 'K', 'P', 'E', 'N', + 'K', 'P', 'O', 'O', + 'K', 'P', 'O', 'Q', + 'K', 'S', 'S', 'A', + 'K', 'U', 'A', 'B', + 'K', 'U', 'A', 'V', + 'K', 'U', 'E', 'T', + 'K', 'U', 'N', 'G', + 'K', 'U', 'O', 'M', + 'K', 'U', 'O', 'P', + 'K', 'U', 'O', 'Q', + 'K', 'U', 'O', 'X', + 'K', 'U', 'R', 'T', + 'K', 'U', 'R', 'X', + 'K', 'U', 'U', 'H', + 'K', 'W', 'A', 'A', + 'K', 'W', 'A', 'Y', + 'K', 'W', 'E', 'E', + 'K', 'W', 'I', 'I', + 'K', 'W', 'O', 'O', + 'K', 'X', 'A', 'A', + 'K', 'X', 'E', 'E', + 'K', 'X', 'W', 'A', + 'K', 'X', 'W', 'E', + 'K', 'X', 'W', 'I', + 'K', 'Y', 'A', 'A', + 'K', 'Y', 'E', 'E', + 'L', '0', '0', '1', + 'L', '0', '0', '2', + 'L', '0', '0', '3', + 'L', '0', '0', '4', + 'L', '0', '0', '5', + 'L', '0', '0', '6', + 'L', '0', '0', '7', + 'L', '0', '0', '8', + 'L', 'A', 'A', 'I', + 'L', 'A', 'A', 'M', + 'L', 'A', 'A', 'N', + 'L', 'A', 'C', 'A', + 'L', 'A', 'C', 'K', + 'L', 'A', 'D', 'Y', + 'L', 'A', 'E', 'V', + 'L', 'A', 'G', 'U', + 'L', 'A', 'K', 'E', + 'L', 'A', 'M', 'D', + 'L', 'A', 'M', 'E', + 'L', 'A', 'M', 'P', + 'L', 'A', 'N', 'E', + 'L', 'A', 'R', 'I', + 'L', 'A', 'S', 'T', + 'L', 'A', 'T', 'E', + 'L', 'A', 'U', 'J', + 'L', 'A', 'Z', 'Y', + 'L', 'D', 'A', 'N', + 'L', 'E', 'A', 'D', + 'L', 'E', 'A', 'F', + 'L', 'E', 'E', 'K', + 'L', 'E', 'F', 'T', + 'L', 'E', 'G', 'S', + 'L', 'E', 'S', 'S', + 'L', 'E', 'U', 'M', + 'L', 'E', 'Z', 'H', + 'L', 'H', 'A', 'A', + 'L', 'H', 'A', 'G', + 'L', 'H', 'E', 'E', + 'L', 'H', 'I', 'I', + 'L', 'H', 'O', 'O', + 'L', 'H', 'Y', 'A', + 'L', 'I', 'E', 'E', + 'L', 'I', 'E', 'P', + 'L', 'I', 'E', 'T', + 'L', 'I', 'E', 'X', + 'L', 'I', 'F', 'E', + 'L', 'I', 'L', 'Y', + 'L', 'I', 'M', 'B', + 'L', 'I', 'M', 'E', + 'L', 'I', 'N', 'E', + 'L', 'I', 'N', 'G', + 'L', 'I', 'N', 'K', + 'L', 'I', 'O', 'N', + 'L', 'I', 'P', 'S', + 'L', 'I', 'R', 'A', + 'L', 'I', 'S', 'H', + 'L', 'I', 'S', 'U', + 'L', 'I', 'T', 'H', + 'L', 'I', 'W', 'N', + 'L', 'L', 'L', 'A', + 'L', 'O', 'C', 'K', + 'L', 'O', 'G', 'R', + 'L', 'O', 'L', 'L', + 'L', 'O', 'N', 'G', + 'L', 'O', 'O', 'K', + 'L', 'O', 'O', 'N', + 'L', 'O', 'O', 'P', + 'L', 'O', 'O', 'T', + 'L', 'O', 'V', 'E', + 'L', 'U', 'I', 'S', + 'L', 'U', 'O', 'P', + 'L', 'U', 'O', 'T', + 'L', 'U', 'O', 'X', + 'L', 'U', 'R', 'X', + 'L', 'W', 'A', 'A', + 'L', 'W', 'I', 'I', + 'L', 'W', 'O', 'O', + 'L', 'Y', 'I', 'T', + 'L', 'Y', 'R', 'X', + 'M', '0', '0', '1', + 'M', '0', '0', '2', + 'M', '0', '0', '3', + 'M', '0', '0', '4', + 'M', '0', '0', '5', + 'M', '0', '0', '6', + 'M', '0', '0', '7', + 'M', '0', '0', '8', + 'M', '0', '0', '9', + 'M', '0', '1', '0', + 'M', '0', '1', '1', + 'M', '0', '1', '2', + 'M', '0', '1', '3', + 'M', '0', '1', '4', + 'M', '0', '1', '5', + 'M', '0', '1', '6', + 'M', '0', '1', '7', + 'M', '0', '1', '8', + 'M', '0', '1', '9', + 'M', '0', '2', '0', + 'M', '0', '2', '1', + 'M', '0', '2', '2', + 'M', '0', '2', '3', + 'M', '0', '2', '4', + 'M', '0', '2', '5', + 'M', '0', '2', '6', + 'M', '0', '2', '7', + 'M', '0', '2', '8', + 'M', '0', '2', '9', + 'M', '0', '3', '0', + 'M', '0', '3', '1', + 'M', '0', '3', '2', + 'M', '0', '3', '3', + 'M', '0', '3', '4', + 'M', '0', '3', '5', + 'M', '0', '3', '6', + 'M', '0', '3', '7', + 'M', '0', '3', '8', + 'M', '0', '3', '9', + 'M', '0', '4', '0', + 'M', '0', '4', '1', + 'M', '0', '4', '2', + 'M', '0', '4', '3', + 'M', '0', '4', '4', + 'M', '0', '4', '5', + 'M', '0', '4', '6', + 'M', '0', '4', '7', + 'M', '0', '4', '8', + 'M', '0', '4', '9', + 'M', '0', '5', '0', + 'M', '0', '5', '1', + 'M', '0', '5', '2', + 'M', '0', '5', '3', + 'M', '0', '5', '4', + 'M', '0', '5', '5', + 'M', '0', '5', '6', + 'M', '0', '5', '7', + 'M', '0', '5', '8', + 'M', '0', '5', '9', + 'M', '0', '6', '0', + 'M', '0', '6', '1', + 'M', '0', '6', '2', + 'M', '0', '6', '3', + 'M', '0', '6', '4', + 'M', '0', '6', '5', + 'M', '0', '6', '6', + 'M', '0', '6', '7', + 'M', '0', '6', '8', + 'M', '0', '6', '9', + 'M', '0', '7', '0', + 'M', '0', '7', '1', + 'M', '0', '7', '2', + 'M', '0', '7', '3', + 'M', '0', '7', '4', + 'M', '0', '7', '5', + 'M', '0', '7', '6', + 'M', '0', '7', '7', + 'M', '0', '7', '8', + 'M', '0', '7', '9', + 'M', '0', '8', '0', + 'M', '0', '8', '1', + 'M', '0', '8', '2', + 'M', '0', '8', '3', + 'M', '0', '8', '4', + 'M', '0', '8', '5', + 'M', '0', '8', '6', + 'M', '0', '8', '7', + 'M', '0', '8', '8', + 'M', '0', '8', '9', + 'M', '0', '9', '0', + 'M', '0', '9', '1', + 'M', '0', '9', '2', + 'M', '0', '9', '3', + 'M', '0', '9', '4', + 'M', '0', '9', '5', + 'M', '0', '9', '6', + 'M', '0', '9', '7', + 'M', '0', '9', '8', + 'M', '0', '9', '9', + 'M', '1', '0', '0', + 'M', '1', '0', '1', + 'M', '1', '0', '2', + 'M', '1', '0', '3', + 'M', '1', '0', '4', + 'M', '1', '0', '5', + 'M', '1', '0', '6', + 'M', '1', '0', '7', + 'M', '1', '0', '8', + 'M', '1', '0', '9', + 'M', '1', '1', '0', + 'M', '1', '1', '1', + 'M', '1', '1', '2', + 'M', '1', '1', '3', + 'M', '1', '1', '4', + 'M', '1', '1', '5', + 'M', '1', '1', '6', + 'M', '1', '1', '7', + 'M', '1', '1', '8', + 'M', '1', '1', '9', + 'M', '1', '2', '0', + 'M', '1', '2', '1', + 'M', '1', '2', '2', + 'M', '1', '2', '3', + 'M', '1', '2', '4', + 'M', '1', '2', '5', + 'M', '1', '2', '6', + 'M', '1', '2', '7', + 'M', '1', '2', '8', + 'M', '1', '2', '9', + 'M', '1', '3', '0', + 'M', '1', '3', '1', + 'M', '1', '3', '2', + 'M', '1', '3', '3', + 'M', '1', '3', '4', + 'M', '1', '3', '5', + 'M', '1', '3', '6', + 'M', '1', '3', '7', + 'M', '1', '3', '8', + 'M', '1', '3', '9', + 'M', '1', '4', '0', + 'M', '1', '4', '1', + 'M', '1', '4', '2', + 'M', '1', '4', '3', + 'M', '1', '4', '4', + 'M', '1', '4', '5', + 'M', '1', '4', '6', + 'M', '1', '4', '7', + 'M', '1', '4', '8', + 'M', '1', '4', '9', + 'M', '1', '5', '0', + 'M', '1', '5', '1', + 'M', '1', '5', '2', + 'M', '1', '5', '3', + 'M', '1', '5', '4', + 'M', '1', '5', '5', + 'M', '1', '5', '6', + 'M', '1', '5', '7', + 'M', '1', '5', '8', + 'M', '1', '5', '9', + 'M', '1', '6', '0', + 'M', '1', '6', '1', + 'M', '1', '6', '2', + 'M', '1', '6', '3', + 'M', '1', '6', '4', + 'M', '1', '6', '5', + 'M', '1', '6', '6', + 'M', '1', '6', '7', + 'M', '1', '6', '8', + 'M', '1', '6', '9', + 'M', '1', '7', '0', + 'M', '1', '7', '1', + 'M', '1', '7', '2', + 'M', '1', '7', '3', + 'M', '1', '7', '4', + 'M', '1', '7', '5', + 'M', '1', '7', '6', + 'M', '1', '7', '7', + 'M', '1', '7', '8', + 'M', '1', '7', '9', + 'M', '1', '8', '0', + 'M', '1', '8', '1', + 'M', '1', '8', '2', + 'M', '1', '8', '3', + 'M', '1', '8', '4', + 'M', '1', '8', '5', + 'M', '1', '8', '6', + 'M', '1', '8', '7', + 'M', '1', '8', '8', + 'M', '1', '8', '9', + 'M', '1', '9', '0', + 'M', '1', '9', '1', + 'M', '1', '9', '2', + 'M', '1', '9', '3', + 'M', '1', '9', '4', + 'M', '1', '9', '5', + 'M', '1', '9', '6', + 'M', '1', '9', '7', + 'M', 'A', 'A', 'I', + 'M', 'A', 'D', 'U', + 'M', 'A', 'E', 'M', + 'M', 'A', 'L', 'E', + 'M', 'A', 'N', 'S', + 'M', 'A', 'R', 'E', + 'M', 'A', 'R', 'K', + 'M', 'A', 'R', 'Y', + 'M', 'A', 'S', 'H', + 'M', 'A', 'S', 'K', + 'M', 'A', 'S', 'U', + 'M', 'B', 'A', 'A', + 'M', 'B', 'A', 'Q', + 'M', 'B', 'E', 'E', + 'M', 'B', 'E', 'N', + 'M', 'B', 'I', 'T', + 'M', 'B', 'O', 'O', + 'M', 'B', 'U', 'E', + 'M', 'B', 'U', 'O', + 'M', 'B', 'U', 'U', + 'M', 'C', 'H', 'U', + 'M', 'D', 'U', 'N', + 'M', 'E', 'A', 'T', + 'M', 'E', 'E', 'J', + 'M', 'E', 'E', 'M', + 'M', 'E', 'E', 'T', + 'M', 'E', 'G', 'A', + 'M', 'E', 'M', 'O', + 'M', 'E', 'N', 'S', + 'M', 'E', 'R', 'I', + 'M', 'E', 'S', 'H', + 'M', 'E', 'S', 'I', + 'M', 'E', 'S', 'O', + 'M', 'E', 'T', 'A', + 'M', 'E', 'U', 'N', + 'M', 'E', 'U', 'Q', + 'M', 'E', 'U', 'T', + 'M', 'F', 'A', 'A', + 'M', 'F', 'O', 'N', + 'M', 'G', 'A', 'P', + 'M', 'G', 'A', 'T', + 'M', 'G', 'A', 'X', + 'M', 'G', 'B', 'A', + 'M', 'G', 'B', 'E', + 'M', 'G', 'B', 'I', + 'M', 'G', 'B', 'O', + 'M', 'G', 'B', 'U', + 'M', 'G', 'E', 'P', + 'M', 'G', 'E', 'X', + 'M', 'G', 'I', 'E', + 'M', 'G', 'O', 'P', + 'M', 'G', 'O', 'T', + 'M', 'G', 'O', 'X', + 'M', 'G', 'U', 'O', + 'M', 'G', 'U', 'P', + 'M', 'G', 'U', 'R', + 'M', 'G', 'U', 'T', + 'M', 'G', 'U', 'X', + 'M', 'I', 'A', 'O', + 'M', 'I', 'C', 'R', + 'M', 'I', 'E', 'E', + 'M', 'I', 'E', 'P', + 'M', 'I', 'E', 'X', + 'M', 'I', 'I', 'M', + 'M', 'I', 'I', 'N', + 'M', 'I', 'L', 'K', + 'M', 'I', 'L', 'L', + 'M', 'I', 'M', 'E', + 'M', 'I', 'N', 'Y', + 'M', 'I', 'R', 'I', + 'M', 'M', 'S', 'P', + 'M', 'N', 'A', 'S', + 'M', 'O', 'D', 'E', + 'M', 'O', 'D', 'I', + 'M', 'O', 'N', 'I', + 'M', 'O', 'O', 'D', + 'M', 'O', 'O', 'N', + 'M', 'O', 'V', 'E', + 'M', 'U', 'A', 'E', + 'M', 'U', 'A', 'N', + 'M', 'U', 'A', 'S', + 'M', 'U', 'C', 'H', + 'M', 'U', 'E', 'N', + 'M', 'U', 'G', 'S', + 'M', 'U', 'I', 'N', + 'M', 'U', 'O', 'P', + 'M', 'U', 'O', 'T', + 'M', 'U', 'O', 'X', + 'M', 'U', 'O', 'Y', + 'M', 'U', 'R', 'E', + 'M', 'U', 'R', 'X', + 'M', 'U', 'S', 'H', + 'M', 'V', 'O', 'P', + 'M', 'W', 'A', 'A', + 'M', 'W', 'E', 'E', + 'M', 'W', 'I', 'I', + 'M', 'W', 'O', 'O', + 'N', '0', '0', '1', + 'N', '0', '0', '2', + 'N', '0', '0', '3', + 'N', '0', '0', '4', + 'N', '0', '0', '5', + 'N', '0', '0', '6', + 'N', '0', '0', '7', + 'N', '0', '0', '8', + 'N', '0', '0', '9', + 'N', '0', '1', '0', + 'N', '0', '1', '1', + 'N', '0', '1', '2', + 'N', '0', '1', '3', + 'N', '0', '1', '4', + 'N', '0', '1', '5', + 'N', '0', '1', '6', + 'N', '0', '1', '7', + 'N', '0', '1', '8', + 'N', '0', '1', '9', + 'N', '0', '2', '0', + 'N', '0', '2', '1', + 'N', '0', '2', '2', + 'N', '0', '2', '3', + 'N', '0', '2', '4', + 'N', '0', '2', '5', + 'N', '0', '2', '6', + 'N', '0', '2', '7', + 'N', '0', '2', '8', + 'N', '0', '2', '9', + 'N', '0', '3', '0', + 'N', '0', '3', '1', + 'N', '0', '3', '2', + 'N', '0', '3', '3', + 'N', '0', '3', '4', + 'N', '0', '3', '5', + 'N', '0', '3', '6', + 'N', '0', '3', '7', + 'N', '0', '3', '8', + 'N', '0', '3', '9', + 'N', '0', '4', '0', + 'N', '0', '4', '1', + 'N', '0', '4', '2', + 'N', 'A', '-', '2', + 'N', 'A', 'A', 'I', + 'N', 'A', 'G', 'A', + 'N', 'A', 'I', 'L', + 'N', 'A', 'M', '2', + 'N', 'A', 'M', 'E', + 'N', 'A', 'N', 'A', + 'N', 'A', 'N', 'D', + 'N', 'A', 'N', 'O', + 'N', 'A', 'O', 'S', + 'N', 'A', 'U', 'D', + 'N', 'B', 'A', 'P', + 'N', 'B', 'A', 'T', + 'N', 'B', 'A', 'X', + 'N', 'B', 'I', 'E', + 'N', 'B', 'I', 'P', + 'N', 'B', 'I', 'T', + 'N', 'B', 'I', 'X', + 'N', 'B', 'O', 'P', + 'N', 'B', 'O', 'T', + 'N', 'B', 'O', 'X', + 'N', 'B', 'S', 'P', + 'N', 'B', 'U', 'P', + 'N', 'B', 'U', 'R', + 'N', 'B', 'U', 'T', + 'N', 'B', 'U', 'X', + 'N', 'B', 'Y', 'P', + 'N', 'B', 'Y', 'R', + 'N', 'B', 'Y', 'T', + 'N', 'B', 'Y', 'X', + 'N', 'D', 'A', 'A', + 'N', 'D', 'A', 'M', + 'N', 'D', 'A', 'P', + 'N', 'D', 'A', 'T', + 'N', 'D', 'A', 'X', + 'N', 'D', 'E', 'E', + 'N', 'D', 'E', 'P', + 'N', 'D', 'E', 'X', + 'N', 'D', 'I', 'E', + 'N', 'D', 'I', 'P', + 'N', 'D', 'I', 'Q', + 'N', 'D', 'I', 'T', + 'N', 'D', 'I', 'X', + 'N', 'D', 'O', 'N', + 'N', 'D', 'O', 'O', + 'N', 'D', 'O', 'P', + 'N', 'D', 'O', 'T', + 'N', 'D', 'O', 'X', + 'N', 'D', 'U', 'N', + 'N', 'D', 'U', 'P', + 'N', 'D', 'U', 'R', + 'N', 'D', 'U', 'T', + 'N', 'D', 'U', 'X', + 'N', 'E', '-', '2', + 'N', 'E', 'C', 'K', + 'N', 'E', 'R', 'D', + 'N', 'E', 'W', 'A', + 'N', 'E', 'X', 'T', + 'N', 'G', 'A', 'A', + 'N', 'G', 'A', 'H', + 'N', 'G', 'A', 'I', + 'N', 'G', 'A', 'N', + 'N', 'G', 'A', 'P', + 'N', 'G', 'A', 'Q', + 'N', 'G', 'A', 'S', + 'N', 'G', 'A', 'T', + 'N', 'G', 'A', 'X', + 'N', 'G', 'E', 'N', + 'N', 'G', 'E', 'P', + 'N', 'G', 'E', 'X', + 'N', 'G', 'G', 'A', + 'N', 'G', 'G', 'E', + 'N', 'G', 'G', 'I', + 'N', 'G', 'G', 'O', + 'N', 'G', 'G', 'U', + 'N', 'G', 'H', 'A', + 'N', 'G', 'I', 'E', + 'N', 'G', 'I', 'I', + 'N', 'G', 'K', 'A', + 'N', 'G', 'O', 'M', + 'N', 'G', 'O', 'N', + 'N', 'G', 'O', 'O', + 'N', 'G', 'O', 'P', + 'N', 'G', 'O', 'Q', + 'N', 'G', 'O', 'T', + 'N', 'G', 'O', 'U', + 'N', 'G', 'O', 'X', + 'N', 'G', 'U', 'E', + 'N', 'G', 'U', 'O', + 'N', 'G', 'V', 'E', + 'N', 'G', 'Y', 'E', + 'N', 'H', 'J', 'A', + 'N', 'H', 'U', 'E', + 'N', 'I', 'E', 'P', + 'N', 'I', 'E', 'X', + 'N', 'I', 'K', 'A', + 'N', 'I', 'N', '9', + 'N', 'I', 'N', 'E', + 'N', 'I', 'O', 'N', + 'N', 'J', 'A', 'A', + 'N', 'J', 'A', 'M', + 'N', 'J', 'A', 'P', + 'N', 'J', 'A', 'Q', + 'N', 'J', 'E', 'E', + 'N', 'J', 'I', 'E', + 'N', 'J', 'I', 'P', + 'N', 'J', 'I', 'T', + 'N', 'J', 'I', 'X', + 'N', 'J', 'O', 'O', + 'N', 'J', 'O', 'P', + 'N', 'J', 'O', 'T', + 'N', 'J', 'O', 'X', + 'N', 'J', 'U', 'O', + 'N', 'J', 'U', 'P', + 'N', 'J', 'U', 'R', + 'N', 'J', 'U', 'X', + 'N', 'J', 'Y', 'P', + 'N', 'J', 'Y', 'R', + 'N', 'J', 'Y', 'T', + 'N', 'J', 'Y', 'X', + 'N', 'K', 'A', 'U', + 'N', 'K', 'O', 'M', + 'N', 'L', 'A', 'U', + 'N', 'N', 'A', 'A', + 'N', 'N', 'G', 'A', + 'N', 'N', 'G', 'I', + 'N', 'N', 'G', 'O', + 'N', 'N', 'H', 'A', + 'N', 'N', 'N', 'A', + 'N', 'N', 'Y', 'A', + 'N', 'O', 'D', 'E', + 'N', 'O', 'O', 'N', + 'N', 'O', 'S', 'E', + 'N', 'O', 'T', 'E', + 'N', 'O', 'W', 'C', + 'N', 'Q', 'I', 'G', + 'N', 'R', 'A', 'P', + 'N', 'R', 'A', 'T', + 'N', 'R', 'A', 'X', + 'N', 'R', 'E', 'P', + 'N', 'R', 'E', 'S', + 'N', 'R', 'E', 'T', + 'N', 'R', 'E', 'X', + 'N', 'R', 'O', 'P', + 'N', 'R', 'O', 'X', + 'N', 'R', 'U', 'A', + 'N', 'R', 'U', 'P', + 'N', 'R', 'U', 'R', + 'N', 'R', 'U', 'T', + 'N', 'R', 'U', 'X', + 'N', 'R', 'Y', 'P', + 'N', 'R', 'Y', 'R', + 'N', 'R', 'Y', 'T', + 'N', 'R', 'Y', 'X', + 'N', 'S', 'E', 'N', + 'N', 'S', 'H', 'A', + 'N', 'S', 'O', 'M', + 'N', 'S', 'U', 'M', + 'N', 'S', 'U', 'N', + 'N', 'T', 'A', 'A', + 'N', 'T', 'A', 'P', + 'N', 'T', 'E', 'E', + 'N', 'T', 'E', 'N', + 'N', 'T', 'O', 'G', + 'N', 'T', 'U', 'J', + 'N', 'T', 'U', 'M', + 'N', 'T', 'U', 'U', + 'N', 'U', '1', '1', + 'N', 'U', 'A', 'E', + 'N', 'U', 'L', 'L', + 'N', 'U', 'N', 'G', + 'N', 'U', 'O', 'P', + 'N', 'U', 'O', 'X', + 'N', 'U', 'R', 'X', + 'N', 'U', 'U', 'N', + 'N', 'W', 'A', 'A', + 'N', 'W', 'I', 'I', + 'N', 'W', 'O', 'O', + 'N', 'Y', 'A', 'A', + 'N', 'Y', 'A', 'H', + 'N', 'Y', 'A', 'M', + 'N', 'Y', 'A', 'N', + 'N', 'Y', 'C', 'A', + 'N', 'Y', 'E', 'E', + 'N', 'Y', 'E', 'H', + 'N', 'Y', 'E', 'N', + 'N', 'Y', 'E', 'T', + 'N', 'Y', 'H', 'A', + 'N', 'Y', 'I', 'E', + 'N', 'Y', 'I', 'N', + 'N', 'Y', 'I', 'P', + 'N', 'Y', 'I', 'R', + 'N', 'Y', 'I', 'S', + 'N', 'Y', 'I', 'T', + 'N', 'Y', 'I', 'X', + 'N', 'Y', 'J', 'A', + 'N', 'Y', 'O', 'A', + 'N', 'Y', 'O', 'N', + 'N', 'Y', 'O', 'O', + 'N', 'Y', 'O', 'P', + 'N', 'Y', 'O', 'T', + 'N', 'Y', 'O', 'X', + 'N', 'Y', 'U', 'E', + 'N', 'Y', 'U', 'N', + 'N', 'Y', 'U', 'O', + 'N', 'Y', 'U', 'P', + 'N', 'Y', 'U', 'T', + 'N', 'Y', 'U', 'X', + 'N', 'Y', 'W', 'A', + 'N', 'Z', 'A', 'P', + 'N', 'Z', 'A', 'Q', + 'N', 'Z', 'A', 'T', + 'N', 'Z', 'A', 'X', + 'N', 'Z', 'E', 'X', + 'N', 'Z', 'I', 'E', + 'N', 'Z', 'I', 'P', + 'N', 'Z', 'I', 'T', + 'N', 'Z', 'I', 'X', + 'N', 'Z', 'O', 'P', + 'N', 'Z', 'O', 'X', + 'N', 'Z', 'U', 'N', + 'N', 'Z', 'U', 'O', + 'N', 'Z', 'U', 'P', + 'N', 'Z', 'U', 'Q', + 'N', 'Z', 'U', 'R', + 'N', 'Z', 'U', 'X', + 'N', 'Z', 'Y', 'P', + 'N', 'Z', 'Y', 'R', + 'N', 'Z', 'Y', 'T', + 'N', 'Z', 'Y', 'X', + 'O', '-', 'E', 'O', + 'O', '-', 'Y', 'A', + 'O', '-', 'Y', 'E', + 'O', '0', '0', '1', + 'O', '0', '0', '2', + 'O', '0', '0', '3', + 'O', '0', '0', '4', + 'O', '0', '0', '5', + 'O', '0', '0', '6', + 'O', '0', '0', '7', + 'O', '0', '0', '8', + 'O', '0', '0', '9', + 'O', '0', '1', '0', + 'O', '0', '1', '1', + 'O', '0', '1', '2', + 'O', '0', '1', '3', + 'O', '0', '1', '4', + 'O', '0', '1', '5', + 'O', '0', '1', '6', + 'O', '0', '1', '7', + 'O', '0', '1', '8', + 'O', '0', '1', '9', + 'O', '0', '2', '0', + 'O', '0', '2', '1', + 'O', '0', '2', '2', + 'O', '0', '2', '3', + 'O', '0', '2', '4', + 'O', '0', '2', '5', + 'O', '0', '2', '6', + 'O', '0', '2', '7', + 'O', '0', '2', '8', + 'O', '0', '2', '9', + 'O', '0', '3', '0', + 'O', '0', '3', '1', + 'O', '0', '3', '2', + 'O', '0', '3', '3', + 'O', '0', '3', '4', + 'O', '0', '3', '5', + 'O', '0', '3', '6', + 'O', '0', '3', '7', + 'O', '0', '3', '8', + 'O', '0', '3', '9', + 'O', '0', '4', '0', + 'O', '0', '4', '1', + 'O', '0', '4', '2', + 'O', '0', '4', '3', + 'O', '0', '4', '4', + 'O', '0', '4', '5', + 'O', '0', '4', '6', + 'O', '0', '4', '7', + 'O', '0', '4', '8', + 'O', '0', '4', '9', + 'O', '0', '5', '0', + 'O', '0', '5', '1', + 'O', 'B', 'O', 'L', + 'O', 'D', 'E', 'N', + 'O', 'G', 'R', 'E', + 'O', 'K', 'T', 'O', + 'O', 'N', 'A', 'P', + 'O', 'N', 'S', 'U', + 'O', 'O', 'M', 'U', + 'O', 'O', 'Z', 'E', + 'O', 'P', 'E', 'N', + 'O', 'V', 'A', 'L', + 'O', 'V', 'E', 'R', + 'O', 'X', 'I', 'A', + 'P', '0', '0', '1', + 'P', '0', '0', '2', + 'P', '0', '0', '3', + 'P', '0', '0', '4', + 'P', '0', '0', '5', + 'P', '0', '0', '6', + 'P', '0', '0', '7', + 'P', '0', '0', '8', + 'P', '0', '0', '9', + 'P', '0', '1', '0', + 'P', '0', '1', '1', + 'P', 'A', 'A', 'I', + 'P', 'A', 'A', 'M', + 'P', 'A', 'D', 'A', + 'P', 'A', 'G', 'E', + 'P', 'A', 'L', 'M', + 'P', 'A', 'N', 'G', + 'P', 'A', 'R', 'A', + 'P', 'A', 'R', 'K', + 'P', 'A', 'R', 'T', + 'P', 'A', 'T', 'H', + 'P', 'A', 'W', 'N', + 'P', 'E', 'A', 'R', + 'P', 'E', 'E', 'I', + 'P', 'E', 'E', 'M', + 'P', 'E', 'E', 'P', + 'P', 'E', 'S', 'O', + 'P', 'E', 'U', 'T', + 'P', 'E', 'U', 'X', + 'P', 'H', 'A', 'A', + 'P', 'H', 'A', 'B', + 'P', 'H', 'A', 'M', + 'P', 'H', 'A', 'N', + 'P', 'H', 'A', 'R', + 'P', 'H', 'E', 'E', + 'P', 'H', 'O', 'A', + 'P', 'H', 'U', 'R', + 'P', 'H', 'W', 'A', + 'P', 'I', 'C', 'K', + 'P', 'I', 'E', 'P', + 'P', 'I', 'E', 'T', + 'P', 'I', 'E', 'X', + 'P', 'I', 'K', 'O', + 'P', 'I', 'L', 'E', + 'P', 'I', 'L', 'L', + 'P', 'I', 'N', 'E', + 'P', 'I', 'N', 'G', + 'P', 'I', 'R', '2', + 'P', 'I', 'W', 'R', + 'P', 'L', 'A', 'K', + 'P', 'L', 'O', 'W', + 'P', 'L', 'U', 'G', + 'P', 'L', 'U', 'K', + 'P', 'L', 'U', 'M', + 'P', 'L', 'U', 'S', + 'P', 'O', 'L', 'E', + 'P', 'O', 'L', 'I', + 'P', 'O', 'L', 'O', + 'P', 'O', 'O', 'N', + 'P', 'O', 'S', 'T', + 'P', 'R', 'A', 'M', + 'P', 'U', 'A', 'E', + 'P', 'U', 'A', 'Q', + 'P', 'U', 'C', 'K', + 'P', 'U', 'M', 'P', + 'P', 'U', 'N', 'G', + 'P', 'U', 'O', 'P', + 'P', 'U', 'O', 'X', + 'P', 'U', 'R', 'X', + 'P', 'U', 'U', 'T', + 'P', 'W', 'A', 'A', + 'P', 'W', 'E', 'E', + 'P', 'W', 'I', 'I', + 'P', 'W', 'O', 'O', + 'P', 'W', 'O', 'Y', + 'P', 'Y', 'R', 'X', + 'Q', '0', '0', '1', + 'Q', '0', '0', '2', + 'Q', '0', '0', '3', + 'Q', '0', '0', '4', + 'Q', '0', '0', '5', + 'Q', '0', '0', '6', + 'Q', '0', '0', '7', + 'Q', 'A', 'A', 'F', + 'Q', 'A', 'A', 'I', + 'Q', 'A', 'L', 'A', + 'Q', 'A', 'P', 'H', + 'Q', 'H', 'A', 'A', + 'Q', 'H', 'A', 'U', + 'Q', 'H', 'E', 'E', + 'Q', 'H', 'W', 'A', + 'Q', 'H', 'W', 'E', + 'Q', 'H', 'W', 'I', + 'Q', 'I', 'E', 'P', + 'Q', 'I', 'E', 'T', + 'Q', 'I', 'E', 'X', + 'Q', 'O', 'P', 'A', + 'Q', 'O', 'P', 'H', + 'Q', 'U', 'A', 'D', + 'Q', 'U', 'O', 'P', + 'Q', 'U', 'O', 'T', + 'Q', 'U', 'O', 'X', + 'Q', 'U', 'R', 'X', + 'Q', 'U', 'U', 'V', + 'Q', 'W', 'A', 'A', + 'Q', 'W', 'E', 'E', + 'Q', 'Y', 'A', 'A', + 'Q', 'Y', 'E', 'E', + 'Q', 'Y', 'R', 'X', + 'R', '0', '0', '1', + 'R', '0', '0', '2', + 'R', '0', '0', '3', + 'R', '0', '0', '4', + 'R', '0', '0', '5', + 'R', '0', '0', '6', + 'R', '0', '0', '7', + 'R', '0', '0', '8', + 'R', '0', '0', '9', + 'R', '0', '1', '0', + 'R', '0', '1', '1', + 'R', '0', '1', '2', + 'R', '0', '1', '3', + 'R', '0', '1', '4', + 'R', '0', '1', '5', + 'R', '0', '1', '6', + 'R', '0', '1', '7', + 'R', '0', '1', '8', + 'R', '0', '1', '9', + 'R', '0', '2', '0', + 'R', '0', '2', '1', + 'R', '0', '2', '2', + 'R', '0', '2', '3', + 'R', '0', '2', '4', + 'R', '0', '2', '5', + 'R', '0', '2', '6', + 'R', '0', '2', '7', + 'R', '0', '2', '8', + 'R', '0', '2', '9', + 'R', 'A', '-', '2', + 'R', 'A', 'A', 'I', + 'R', 'A', 'D', 'I', + 'R', 'A', 'E', 'M', + 'R', 'A', 'F', 'E', + 'R', 'A', 'I', 'L', + 'R', 'A', 'I', 'N', + 'R', 'A', 'M', 'S', + 'R', 'A', 'N', 'A', + 'R', 'A', 'T', 'A', + 'R', 'A', 'Y', 'S', + 'R', 'D', 'E', 'L', + 'R', 'E', 'I', 'D', + 'R', 'E', 'M', 'U', + 'R', 'E', 'P', 'A', + 'R', 'E', 'P', 'H', + 'R', 'E', 'S', 'H', + 'R', 'E', 'S', 'T', + 'R', 'E', 'U', 'X', + 'R', 'G', 'Y', 'A', + 'R', 'I', 'A', 'L', + 'R', 'I', 'C', 'E', + 'R', 'I', 'E', 'E', + 'R', 'I', 'E', 'L', + 'R', 'I', 'N', 'G', + 'R', 'I', 'R', 'A', + 'R', 'I', 'S', 'H', + 'R', 'J', 'E', 'S', + 'R', 'N', 'A', 'M', + 'R', 'O', 'A', 'R', + 'R', 'O', 'C', 'K', + 'R', 'O', 'O', 'F', + 'R', 'O', 'O', 'K', + 'R', 'O', 'O', 'T', + 'R', 'O', 'S', 'E', + 'R', 'O', 'S', 'H', + 'R', 'R', 'A', 'X', + 'R', 'R', 'E', 'H', + 'R', 'R', 'E', 'P', + 'R', 'R', 'E', 'T', + 'R', 'R', 'E', 'X', + 'R', 'R', 'O', 'P', + 'R', 'R', 'O', 'T', + 'R', 'R', 'O', 'X', + 'R', 'R', 'R', 'A', + 'R', 'R', 'U', 'O', + 'R', 'R', 'U', 'P', + 'R', 'R', 'U', 'R', + 'R', 'R', 'U', 'T', + 'R', 'R', 'U', 'X', + 'R', 'R', 'Y', 'P', + 'R', 'R', 'Y', 'R', + 'R', 'R', 'Y', 'T', + 'R', 'R', 'Y', 'X', + 'R', 'U', 'I', 'S', + 'R', 'U', 'L', 'E', + 'R', 'U', 'M', 'I', + 'R', 'U', 'O', 'P', + 'R', 'U', 'O', 'X', + 'R', 'U', 'R', 'X', + 'R', 'U', 'S', 'I', + 'R', 'W', 'A', 'A', + 'R', 'W', 'E', 'E', + 'R', 'W', 'I', 'I', + 'R', 'W', 'O', 'O', + 'R', 'Y', 'R', 'X', + 'S', '0', '0', '1', + 'S', '0', '0', '2', + 'S', '0', '0', '3', + 'S', '0', '0', '4', + 'S', '0', '0', '5', + 'S', '0', '0', '6', + 'S', '0', '0', '7', + 'S', '0', '0', '8', + 'S', '0', '0', '9', + 'S', '0', '1', '0', + 'S', '0', '1', '1', + 'S', '0', '1', '2', + 'S', '0', '1', '3', + 'S', '0', '1', '4', + 'S', '0', '1', '5', + 'S', '0', '1', '6', + 'S', '0', '1', '7', + 'S', '0', '1', '8', + 'S', '0', '1', '9', + 'S', '0', '2', '0', + 'S', '0', '2', '1', + 'S', '0', '2', '2', + 'S', '0', '2', '3', + 'S', '0', '2', '4', + 'S', '0', '2', '5', + 'S', '0', '2', '6', + 'S', '0', '2', '7', + 'S', '0', '2', '8', + 'S', '0', '2', '9', + 'S', '0', '3', '0', + 'S', '0', '3', '1', + 'S', '0', '3', '2', + 'S', '0', '3', '3', + 'S', '0', '3', '4', + 'S', '0', '3', '5', + 'S', '0', '3', '6', + 'S', '0', '3', '7', + 'S', '0', '3', '8', + 'S', '0', '3', '9', + 'S', '0', '4', '0', + 'S', '0', '4', '1', + 'S', '0', '4', '2', + 'S', '0', '4', '3', + 'S', '0', '4', '4', + 'S', '0', '4', '5', + 'S', '0', '4', '6', + 'S', 'A', '-', '2', + 'S', 'A', '-', 'I', + 'S', 'A', 'A', 'I', + 'S', 'A', 'D', 'E', + 'S', 'A', 'G', 'A', + 'S', 'A', 'I', 'L', + 'S', 'A', 'K', 'E', + 'S', 'A', 'L', 'A', + 'S', 'A', 'L', 'T', + 'S', 'A', 'N', 'D', + 'S', 'A', 'P', 'A', + 'S', 'A', 'R', 'A', + 'S', 'A', 'R', 'I', + 'S', 'A', 'S', 'H', + 'S', 'B', 'U', 'B', + 'S', 'C', 'A', 'N', + 'S', 'C', 'W', 'A', + 'S', 'E', 'A', 'L', + 'S', 'E', 'A', 'T', + 'S', 'E', 'E', 'N', + 'S', 'E', 'E', 'V', + 'S', 'E', 'L', 'F', + 'S', 'E', 'M', 'K', + 'S', 'E', 'U', 'X', + 'S', 'E', 'Y', 'K', + 'S', 'G', 'A', 'B', + 'S', 'G', 'A', 'W', + 'S', 'G', 'O', 'R', + 'S', 'G', 'R', 'A', + 'S', 'H', 'A', '3', + 'S', 'H', 'A', '6', + 'S', 'H', 'A', 'A', + 'S', 'H', 'A', 'D', + 'S', 'H', 'A', 'K', + 'S', 'H', 'A', 'N', + 'S', 'H', 'A', 'P', + 'S', 'H', 'A', 'T', + 'S', 'H', 'A', 'X', + 'S', 'H', 'A', 'Y', + 'S', 'H', 'E', 'E', + 'S', 'H', 'E', 'I', + 'S', 'H', 'E', 'N', + 'S', 'H', 'E', 'P', + 'S', 'H', 'E', 'T', + 'S', 'H', 'E', 'X', + 'S', 'H', 'H', 'A', + 'S', 'H', 'I', 'D', + 'S', 'H', 'I', 'I', + 'S', 'H', 'I', 'M', + 'S', 'H', 'I', 'N', + 'S', 'H', 'I', 'P', + 'S', 'H', 'I', 'Q', + 'S', 'H', 'I', 'R', + 'S', 'H', 'O', 'A', + 'S', 'H', 'O', 'E', + 'S', 'H', 'O', 'G', + 'S', 'H', 'O', 'O', + 'S', 'H', 'O', 'P', + 'S', 'H', 'O', 'Q', + 'S', 'H', 'O', 'T', + 'S', 'H', 'O', 'X', + 'S', 'H', 'O', 'Y', + 'S', 'H', 'R', 'I', + 'S', 'H', 'T', 'A', + 'S', 'H', 'U', '2', + 'S', 'H', 'U', 'L', + 'S', 'H', 'U', 'M', + 'S', 'H', 'U', 'O', + 'S', 'H', 'U', 'P', + 'S', 'H', 'U', 'R', + 'S', 'H', 'U', 'T', + 'S', 'H', 'U', 'X', + 'S', 'H', 'W', 'A', + 'S', 'H', 'W', 'E', + 'S', 'H', 'W', 'I', + 'S', 'H', 'W', 'O', + 'S', 'H', 'Y', 'A', + 'S', 'H', 'Y', 'E', + 'S', 'H', 'Y', 'P', + 'S', 'H', 'Y', 'R', + 'S', 'H', 'Y', 'T', + 'S', 'H', 'Y', 'X', + 'S', 'I', 'B', 'E', + 'S', 'I', 'D', 'E', + 'S', 'I', 'E', 'E', + 'S', 'I', 'E', 'P', + 'S', 'I', 'E', 'X', + 'S', 'I', 'G', '4', + 'S', 'I', 'G', 'N', + 'S', 'I', 'K', '2', + 'S', 'I', 'K', 'I', + 'S', 'I', 'L', 'K', + 'S', 'I', 'M', 'A', + 'S', 'I', 'N', 'E', + 'S', 'I', 'O', 'S', + 'S', 'I', 'S', 'A', + 'S', 'I', 'T', 'E', + 'S', 'I', 'Z', 'E', + 'S', 'K', 'I', 'N', + 'S', 'K', 'W', 'A', + 'S', 'L', 'O', 'T', + 'S', 'L', 'O', 'W', + 'S', 'L', 'U', 'R', + 'S', 'N', 'A', 'P', + 'S', 'N', 'O', 'W', + 'S', 'O', 'A', 'P', + 'S', 'O', 'F', 'T', + 'S', 'O', 'N', 'G', + 'S', 'O', 'O', 'N', + 'S', 'O', 'R', 'A', + 'S', 'P', 'O', 'T', + 'S', 'P', 'W', 'A', + 'S', 'S', 'A', 'A', + 'S', 'S', 'A', 'P', + 'S', 'S', 'A', 'T', + 'S', 'S', 'A', 'X', + 'S', 'S', 'E', 'E', + 'S', 'S', 'E', 'P', + 'S', 'S', 'E', 'X', + 'S', 'S', 'H', 'E', + 'S', 'S', 'I', 'E', + 'S', 'S', 'I', 'P', + 'S', 'S', 'I', 'T', + 'S', 'S', 'I', 'X', + 'S', 'S', 'O', 'P', + 'S', 'S', 'O', 'T', + 'S', 'S', 'O', 'X', + 'S', 'S', 'U', 'P', + 'S', 'S', 'U', 'T', + 'S', 'S', 'U', 'U', + 'S', 'S', 'U', 'X', + 'S', 'S', 'Y', 'P', + 'S', 'S', 'Y', 'R', + 'S', 'S', 'Y', 'T', + 'S', 'S', 'Y', 'X', + 'S', 'T', 'A', 'N', + 'S', 'T', 'A', 'R', + 'S', 'T', 'E', 'M', + 'S', 'T', 'E', 'P', + 'S', 'T', 'O', 'P', + 'S', 'T', 'W', 'A', + 'S', 'U', 'A', 'B', + 'S', 'U', 'A', 'E', + 'S', 'U', 'A', 'M', + 'S', 'U', 'C', 'K', + 'S', 'U', 'D', '2', + 'S', 'U', 'I', 'T', + 'S', 'U', 'K', 'U', + 'S', 'U', 'N', 'G', + 'S', 'U', 'O', 'P', + 'S', 'U', 'O', 'X', + 'S', 'U', 'R', '9', + 'S', 'U', 'R', 'E', + 'S', 'U', 'R', 'X', + 'S', 'W', 'A', 'A', + 'S', 'W', 'I', 'I', + 'S', 'W', 'O', 'O', + 'S', 'Y', 'R', 'X', + 'S', 'Z', 'A', 'A', + 'S', 'Z', 'E', 'E', + 'S', 'Z', 'W', 'A', + 'S', 'Z', 'W', 'G', + 'T', '0', '0', '1', + 'T', '0', '0', '2', + 'T', '0', '0', '3', + 'T', '0', '0', '4', + 'T', '0', '0', '5', + 'T', '0', '0', '6', + 'T', '0', '0', '7', + 'T', '0', '0', '8', + 'T', '0', '0', '9', + 'T', '0', '1', '0', + 'T', '0', '1', '1', + 'T', '0', '1', '2', + 'T', '0', '1', '3', + 'T', '0', '1', '4', + 'T', '0', '1', '5', + 'T', '0', '1', '6', + 'T', '0', '1', '7', + 'T', '0', '1', '8', + 'T', '0', '1', '9', + 'T', '0', '2', '0', + 'T', '0', '2', '1', + 'T', '0', '2', '2', + 'T', '0', '2', '3', + 'T', '0', '2', '4', + 'T', '0', '2', '5', + 'T', '0', '2', '6', + 'T', '0', '2', '7', + 'T', '0', '2', '8', + 'T', '0', '2', '9', + 'T', '0', '3', '0', + 'T', '0', '3', '1', + 'T', '0', '3', '2', + 'T', '0', '3', '3', + 'T', '0', '3', '4', + 'T', '0', '3', '5', + 'T', '0', '3', '6', + 'T', 'A', '-', '2', + 'T', 'A', 'A', 'F', + 'T', 'A', 'A', 'I', + 'T', 'A', 'A', 'M', + 'T', 'A', 'A', 'Q', + 'T', 'A', 'B', 'S', + 'T', 'A', 'C', 'K', + 'T', 'A', 'C', 'O', + 'T', 'A', 'E', 'N', + 'T', 'A', 'I', 'L', + 'T', 'A', 'K', '4', + 'T', 'A', 'K', 'E', + 'T', 'A', 'L', 'L', + 'T', 'A', 'N', 'G', + 'T', 'A', 'P', 'E', + 'T', 'A', 'U', 'M', + 'T', 'A', 'W', 'A', + 'T', 'A', 'X', 'I', + 'T', 'C', 'H', 'E', + 'T', 'E', '-', '2', + 'T', 'E', '-', 'U', + 'T', 'E', 'L', 'U', + 'T', 'E', 'N', 'S', + 'T', 'E', 'N', 'T', + 'T', 'E', 'N', 'U', + 'T', 'E', 'S', 'H', + 'T', 'E', 'T', 'H', + 'T', 'E', 'U', 'N', + 'T', 'E', 'U', 'T', + 'T', 'E', 'X', 'T', + 'T', 'H', 'A', 'A', + 'T', 'H', 'A', 'I', + 'T', 'H', 'A', 'J', + 'T', 'H', 'A', 'L', + 'T', 'H', 'A', 'M', + 'T', 'H', 'A', 'N', + 'T', 'H', 'A', 'W', + 'T', 'H', 'E', 'A', + 'T', 'H', 'E', 'E', + 'T', 'H', 'E', 'H', + 'T', 'H', 'E', 'N', + 'T', 'H', 'E', 'S', + 'T', 'H', 'E', 'Y', + 'T', 'H', 'I', 'I', + 'T', 'H', 'I', 'N', + 'T', 'H', 'O', 'A', + 'T', 'H', 'O', 'J', + 'T', 'H', 'O', 'M', + 'T', 'H', 'O', 'O', + 'T', 'H', 'O', 'U', + 'T', 'H', 'W', 'A', + 'T', 'H', 'W', 'E', + 'T', 'H', 'W', 'I', + 'T', 'H', 'W', 'O', + 'T', 'I', 'C', 'K', + 'T', 'I', 'E', 'P', + 'T', 'I', 'E', 'X', + 'T', 'I', 'L', 'E', + 'T', 'I', 'L', 'T', + 'T', 'I', 'M', 'E', + 'T', 'I', 'N', 'G', + 'T', 'I', 'N', 'Y', + 'T', 'I', 'T', 'A', + 'T', 'I', 'W', 'N', + 'T', 'I', 'W', 'R', + 'T', 'L', 'E', 'E', + 'T', 'L', 'H', 'A', + 'T', 'L', 'H', 'E', + 'T', 'L', 'H', 'I', + 'T', 'L', 'H', 'O', + 'T', 'L', 'H', 'U', + 'T', 'O', 'D', 'O', + 'T', 'O', 'N', 'E', + 'T', 'O', 'N', 'G', + 'T', 'O', 'O', 'N', + 'T', 'R', 'A', 'M', + 'T', 'R', 'A', 'Y', + 'T', 'R', 'E', 'E', + 'T', 'R', 'I', 'A', + 'T', 'R', 'U', 'E', + 'T', 'S', 'A', 'A', + 'T', 'S', 'A', 'B', + 'T', 'S', 'E', 'E', + 'T', 'S', 'H', 'A', + 'T', 'S', 'H', 'E', + 'T', 'S', 'I', 'U', + 'T', 'S', 'O', 'V', + 'T', 'S', 'S', 'A', + 'T', 'S', 'S', 'E', + 'T', 'S', 'W', 'A', + 'T', 'S', 'W', 'B', + 'T', 'S', 'W', 'E', + 'T', 'T', 'A', 'A', + 'T', 'T', 'E', 'E', + 'T', 'T', 'E', 'H', + 'T', 'T', 'H', 'A', + 'T', 'T', 'H', 'E', + 'T', 'T', 'H', 'I', + 'T', 'T', 'H', 'O', + 'T', 'T', 'H', 'U', + 'T', 'T', 'S', 'A', + 'T', 'T', 'S', 'E', + 'T', 'T', 'S', 'I', + 'T', 'T', 'S', 'O', + 'T', 'T', 'S', 'U', + 'T', 'T', 'T', 'A', + 'T', 'U', 'A', 'E', + 'T', 'U', 'G', '2', + 'T', 'U', 'O', 'P', + 'T', 'U', 'O', 'T', + 'T', 'U', 'O', 'X', + 'T', 'U', 'R', 'N', + 'T', 'U', 'R', 'U', + 'T', 'U', 'R', 'X', + 'T', 'W', 'A', 'A', + 'T', 'W', 'I', 'I', + 'T', 'W', 'O', 'O', + 'T', 'X', 'W', 'V', + 'T', 'Y', 'A', 'Y', + 'T', 'Y', 'P', 'E', + 'T', 'Z', 'A', 'A', + 'T', 'Z', 'E', 'E', + 'T', 'Z', 'I', 'R', + 'T', 'Z', 'O', 'A', + 'U', '-', 'A', 'E', + 'U', '-', 'Y', 'E', + 'U', '0', '0', '1', + 'U', '0', '0', '2', + 'U', '0', '0', '3', + 'U', '0', '0', '4', + 'U', '0', '0', '5', + 'U', '0', '0', '6', + 'U', '0', '0', '7', + 'U', '0', '0', '8', + 'U', '0', '0', '9', + 'U', '0', '1', '0', + 'U', '0', '1', '1', + 'U', '0', '1', '2', + 'U', '0', '1', '3', + 'U', '0', '1', '4', + 'U', '0', '1', '5', + 'U', '0', '1', '6', + 'U', '0', '1', '7', + 'U', '0', '1', '8', + 'U', '0', '1', '9', + 'U', '0', '2', '0', + 'U', '0', '2', '1', + 'U', '0', '2', '2', + 'U', '0', '2', '3', + 'U', '0', '2', '4', + 'U', '0', '2', '5', + 'U', '0', '2', '6', + 'U', '0', '2', '7', + 'U', '0', '2', '8', + 'U', '0', '2', '9', + 'U', '0', '3', '0', + 'U', '0', '3', '1', + 'U', '0', '3', '2', + 'U', '0', '3', '3', + 'U', '0', '3', '4', + 'U', '0', '3', '5', + 'U', '0', '3', '6', + 'U', '0', '3', '7', + 'U', '0', '3', '8', + 'U', '0', '3', '9', + 'U', '0', '4', '0', + 'U', '0', '4', '1', + 'U', '0', '4', '2', + 'U', 'A', 'N', 'G', + 'U', 'A', 'T', 'H', + 'U', 'D', 'U', 'G', + 'U', 'M', 'U', 'M', + 'U', 'N', 'A', 'P', + 'U', 'N', 'D', 'O', + 'U', 'N', 'I', 'T', + 'U', 'R', 'I', '3', + 'U', 'R', 'U', 'S', + 'U', 'R', 'U', 'Z', + 'U', 'S', 'E', 'D', + 'U', 'S', 'H', '2', + 'U', 'S', 'H', 'X', + 'U', 'S', 'S', 'U', + 'U', 'U', 'U', '2', + 'U', 'U', 'U', '3', + 'U', 'U', 'U', 'U', + 'V', '0', '0', '1', + 'V', '0', '0', '2', + 'V', '0', '0', '3', + 'V', '0', '0', '4', + 'V', '0', '0', '5', + 'V', '0', '0', '6', + 'V', '0', '0', '7', + 'V', '0', '0', '8', + 'V', '0', '0', '9', + 'V', '0', '1', '0', + 'V', '0', '1', '1', + 'V', '0', '1', '2', + 'V', '0', '1', '3', + 'V', '0', '1', '4', + 'V', '0', '1', '5', + 'V', '0', '1', '6', + 'V', '0', '1', '7', + 'V', '0', '1', '8', + 'V', '0', '1', '9', + 'V', '0', '2', '0', + 'V', '0', '2', '1', + 'V', '0', '2', '2', + 'V', '0', '2', '3', + 'V', '0', '2', '4', + 'V', '0', '2', '5', + 'V', '0', '2', '6', + 'V', '0', '2', '7', + 'V', '0', '2', '8', + 'V', '0', '2', '9', + 'V', '0', '3', '0', + 'V', '0', '3', '1', + 'V', '0', '3', '2', + 'V', '0', '3', '3', + 'V', '0', '3', '4', + 'V', '0', '3', '5', + 'V', '0', '3', '6', + 'V', '0', '3', '7', + 'V', '0', '3', '8', + 'V', '0', '3', '9', + 'V', '0', '4', '0', + 'V', 'A', 'N', 'E', + 'V', 'E', 'D', 'E', + 'V', 'E', 'I', 'L', + 'V', 'E', 'N', 'D', + 'V', 'E', 'R', 'Y', + 'V', 'E', 'U', 'M', + 'V', 'E', 'U', 'X', + 'V', 'E', 'Y', 'Z', + 'V', 'I', 'D', 'A', + 'V', 'I', 'D', 'J', + 'V', 'I', 'E', 'P', + 'V', 'I', 'E', 'T', + 'V', 'I', 'E', 'X', + 'V', 'I', 'N', 'E', + 'V', 'I', 'Y', 'O', + 'V', 'O', 'I', 'D', + 'V', 'O', 'O', 'I', + 'V', 'U', 'E', 'Q', + 'V', 'U', 'R', 'X', + 'V', 'Y', 'R', 'X', + 'W', '0', '0', '1', + 'W', '0', '0', '2', + 'W', '0', '0', '3', + 'W', '0', '0', '4', + 'W', '0', '0', '5', + 'W', '0', '0', '6', + 'W', '0', '0', '7', + 'W', '0', '0', '8', + 'W', '0', '0', '9', + 'W', '0', '1', '0', + 'W', '0', '1', '1', + 'W', '0', '1', '2', + 'W', '0', '1', '3', + 'W', '0', '1', '4', + 'W', '0', '1', '5', + 'W', '0', '1', '6', + 'W', '0', '1', '7', + 'W', '0', '1', '8', + 'W', '0', '1', '9', + 'W', '0', '2', '0', + 'W', '0', '2', '1', + 'W', '0', '2', '2', + 'W', '0', '2', '3', + 'W', '0', '2', '4', + 'W', '0', '2', '5', + 'W', 'A', 'E', 'N', + 'W', 'A', 'L', 'K', + 'W', 'A', 'L', 'L', + 'W', 'A', 'V', 'E', + 'W', 'A', 'V', 'Y', + 'W', 'E', 'E', 'N', + 'W', 'E', 'L', 'L', + 'W', 'E', 'S', 'T', + 'W', 'E', 'U', 'X', + 'W', 'I', 'D', 'E', + 'W', 'I', 'N', 'D', + 'W', 'I', 'N', 'E', + 'W', 'I', 'N', 'K', + 'W', 'I', 'T', 'H', + 'W', 'O', 'L', 'F', + 'W', 'O', 'O', 'D', + 'W', 'O', 'O', 'L', + 'W', 'O', 'O', 'N', + 'W', 'O', 'R', 'D', + 'W', 'O', 'R', 'K', + 'W', 'R', 'A', 'P', + 'W', 'U', 'L', 'U', + 'W', 'U', 'O', 'P', + 'W', 'U', 'O', 'X', + 'W', 'Y', 'N', 'N', + 'X', '0', '0', '1', + 'X', '0', '0', '2', + 'X', '0', '0', '3', + 'X', '0', '0', '4', + 'X', '0', '0', '5', + 'X', '0', '0', '6', + 'X', '0', '0', '7', + 'X', '0', '0', '8', + 'X', 'A', 'P', 'H', + 'X', 'A', 'U', 'S', + 'X', 'E', 'Y', 'N', + 'X', 'I', 'A', 'B', + 'X', 'I', 'E', 'P', + 'X', 'I', 'E', 'T', + 'X', 'I', 'E', 'X', + 'X', 'O', 'P', 'H', + 'X', 'U', 'O', 'X', + 'X', 'W', 'A', 'A', + 'X', 'W', 'E', 'E', + 'X', 'Y', 'A', 'A', + 'X', 'Y', 'E', 'E', + 'X', 'Y', 'O', 'O', + 'X', 'Y', 'R', 'X', + 'Y', '0', '0', '1', + 'Y', '0', '0', '2', + 'Y', '0', '0', '3', + 'Y', '0', '0', '4', + 'Y', '0', '0', '5', + 'Y', '0', '0', '6', + 'Y', '0', '0', '7', + 'Y', '0', '0', '8', + 'Y', 'A', '-', 'O', + 'Y', 'A', '-', 'U', + 'Y', 'A', 'A', 'I', + 'Y', 'A', 'B', 'H', + 'Y', 'A', 'C', 'H', + 'Y', 'A', 'D', 'D', + 'Y', 'A', 'D', 'H', + 'Y', 'A', 'F', 'U', + 'Y', 'A', 'G', 'H', + 'Y', 'A', 'G', 'N', + 'Y', 'A', 'H', 'H', + 'Y', 'A', 'K', 'H', + 'Y', 'A', 'N', 'G', + 'Y', 'A', 'R', 'R', + 'Y', 'A', 'S', 'H', + 'Y', 'A', 'S', 'S', + 'Y', 'A', 'T', 'H', + 'Y', 'A', 'T', 'I', + 'Y', 'A', 'T', 'T', + 'Y', 'A', 'W', 'N', + 'Y', 'A', 'Y', 'D', + 'Y', 'A', 'Z', 'H', + 'Y', 'A', 'Z', 'Z', + 'Y', 'E', 'A', 'R', + 'Y', 'E', 'E', 'G', + 'Y', 'E', 'I', 'N', + 'Y', 'E', 'R', 'I', + 'Y', 'E', 'R', 'U', + 'Y', 'E', 'U', 'M', + 'Y', 'E', 'U', 'Q', + 'Y', 'E', 'U', 'X', + 'Y', 'F', 'E', 'N', + 'Y', 'I', '-', 'U', + 'Y', 'I', 'E', 'E', + 'Y', 'I', 'E', 'P', + 'Y', 'I', 'E', 'T', + 'Y', 'I', 'E', 'X', + 'Y', 'I', 'N', 'G', + 'Y', 'I', 'W', 'N', + 'Y', 'O', '-', 'A', + 'Y', 'O', '-', 'I', + 'Y', 'O', '-', 'O', + 'Y', 'O', 'D', 'H', + 'Y', 'O', 'G', 'H', + 'Y', 'O', 'M', 'O', + 'Y', 'O', 'R', 'I', + 'Y', 'O', 'W', 'D', + 'Y', 'U', '-', 'A', + 'Y', 'U', '-', 'E', + 'Y', 'U', '-', 'I', + 'Y', 'U', '-', 'O', + 'Y', 'U', '-', 'U', + 'Y', 'U', 'A', 'N', + 'Y', 'U', 'D', 'H', + 'Y', 'U', 'E', 'Q', + 'Y', 'U', 'O', 'M', + 'Y', 'U', 'O', 'P', + 'Y', 'U', 'O', 'T', + 'Y', 'U', 'O', 'X', + 'Y', 'U', 'R', 'X', + 'Y', 'W', 'A', 'A', + 'Y', 'W', 'I', 'I', + 'Y', 'W', 'O', 'O', + 'Y', 'Y', 'A', 'A', + 'Y', 'Y', 'R', 'X', + 'Z', '0', '0', '1', + 'Z', '0', '0', '2', + 'Z', '0', '0', '3', + 'Z', '0', '0', '4', + 'Z', '0', '0', '5', + 'Z', '0', '0', '6', + 'Z', '0', '0', '7', + 'Z', '0', '0', '8', + 'Z', '0', '0', '9', + 'Z', '0', '1', '0', + 'Z', '0', '1', '1', + 'Z', '0', '1', '2', + 'Z', '0', '1', '3', + 'Z', '0', '1', '4', + 'Z', '0', '1', '5', + 'Z', '0', '1', '6', + 'Z', 'A', 'E', 'F', + 'Z', 'A', 'I', 'N', + 'Z', 'A', 'M', 'X', + 'Z', 'A', 'R', 'L', + 'Z', 'A', 'T', 'A', + 'Z', 'A', 'Y', 'N', + 'Z', 'E', 'R', 'O', + 'Z', 'E', 'T', 'A', + 'Z', 'H', 'A', 'A', + 'Z', 'H', 'A', 'P', + 'Z', 'H', 'A', 'R', + 'Z', 'H', 'A', 'T', + 'Z', 'H', 'A', 'X', + 'Z', 'H', 'E', 'E', + 'Z', 'H', 'E', 'P', + 'Z', 'H', 'E', 'T', + 'Z', 'H', 'E', 'X', + 'Z', 'H', 'I', 'L', + 'Z', 'H', 'O', 'I', + 'Z', 'H', 'O', 'O', + 'Z', 'H', 'O', 'P', + 'Z', 'H', 'O', 'T', + 'Z', 'H', 'O', 'X', + 'Z', 'H', 'U', 'O', + 'Z', 'H', 'U', 'P', + 'Z', 'H', 'U', 'R', + 'Z', 'H', 'U', 'T', + 'Z', 'H', 'U', 'X', + 'Z', 'H', 'W', 'A', + 'Z', 'H', 'W', 'E', + 'Z', 'H', 'Y', 'P', + 'Z', 'H', 'Y', 'R', + 'Z', 'H', 'Y', 'T', + 'Z', 'H', 'Y', 'X', + 'Z', 'I', 'D', 'A', + 'Z', 'I', 'E', 'P', + 'Z', 'I', 'E', 'X', + 'Z', 'I', 'Z', '2', + 'Z', 'S', 'H', 'A', + 'Z', 'U', 'O', 'P', + 'Z', 'U', 'O', 'X', + 'Z', 'U', 'R', 'X', + 'Z', 'W', 'N', 'J', + 'Z', 'W', 'S', 'P', + 'Z', 'Y', 'R', 'X', + 'Z', 'Z', 'A', 'A', + 'Z', 'Z', 'A', 'P', + 'Z', 'Z', 'A', 'T', + 'Z', 'Z', 'A', 'X', + 'Z', 'Z', 'E', 'E', + 'Z', 'Z', 'E', 'P', + 'Z', 'Z', 'E', 'X', + 'Z', 'Z', 'I', 'E', + 'Z', 'Z', 'I', 'P', + 'Z', 'Z', 'I', 'T', + 'Z', 'Z', 'I', 'X', + 'Z', 'Z', 'O', 'P', + 'Z', 'Z', 'O', 'X', + 'Z', 'Z', 'S', 'A', + 'Z', 'Z', 'U', 'P', + 'Z', 'Z', 'U', 'R', + 'Z', 'Z', 'U', 'X', + 'Z', 'Z', 'Y', 'A', + 'Z', 'Z', 'Y', 'P', + 'Z', 'Z', 'Y', 'R', + 'Z', 'Z', 'Y', 'T', + 'Z', 'Z', 'Y', 'X', + '-', 'C', 'H', 'A', 'L', + '-', 'C', 'H', 'A', 'R', + '-', 'D', 'Z', 'U', 'D', + '-', 'P', 'H', 'R', 'U', + 'A', '0', '0', '5', 'A', + 'A', '0', '0', '6', 'A', + 'A', '0', '0', '6', 'B', + 'A', '0', '1', '0', 'A', + 'A', '0', '1', '4', 'A', + 'A', '0', '1', '7', 'A', + 'A', '0', '2', '6', 'A', + 'A', '0', '2', '8', 'B', + 'A', '0', '3', '2', 'A', + 'A', '0', '3', '9', 'A', + 'A', '0', '4', '0', 'A', + 'A', '0', '4', '1', 'A', + 'A', '0', '4', '2', 'A', + 'A', '0', '4', '3', 'A', + 'A', '0', '4', '5', 'A', + 'A', '0', '4', '6', 'A', + 'A', '0', '4', '6', 'B', + 'A', '0', '6', '6', 'A', + 'A', '0', '6', '6', 'B', + 'A', '0', '6', '6', 'C', + 'A', '0', '9', '7', 'A', + 'A', '0', '9', '8', 'A', + 'A', '1', '0', '0', 'A', + 'A', '1', '0', '1', 'A', + 'A', '1', '0', '2', 'A', + 'A', '1', '0', '4', 'A', + 'A', '1', '0', '4', 'B', + 'A', '1', '0', '4', 'C', + 'A', '1', '0', '5', 'A', + 'A', '1', '0', '5', 'B', + 'A', '1', '0', '7', 'A', + 'A', '1', '0', '7', 'B', + 'A', '1', '0', '7', 'C', + 'A', '1', '1', '0', 'A', + 'A', '1', '1', '0', 'B', + 'A', '1', '1', '5', 'A', + 'A', '1', '2', '0', 'B', + 'A', '1', '2', '5', 'A', + 'A', '1', '3', '1', 'C', + 'A', '1', '3', '5', 'A', + 'A', '2', '0', '2', 'A', + 'A', '2', '0', '2', 'B', + 'A', '2', '0', '7', 'A', + 'A', '2', '0', '9', 'A', + 'A', '2', '1', '5', 'A', + 'A', '2', '1', '6', 'A', + 'A', '2', '2', '7', 'A', + 'A', '2', '6', '7', 'A', + 'A', '2', '8', '9', 'A', + 'A', '2', '9', '4', 'A', + 'A', '2', '9', '9', 'A', + 'A', '3', '0', '9', 'A', + 'A', '3', '0', '9', 'B', + 'A', '3', '0', '9', 'C', + 'A', '3', '1', '3', 'A', + 'A', '3', '1', '3', 'B', + 'A', '3', '1', '3', 'C', + 'A', '3', '2', '9', 'A', + 'A', '3', '3', '2', 'A', + 'A', '3', '3', '2', 'B', + 'A', '3', '3', '2', 'C', + 'A', '3', '3', '6', 'A', + 'A', '3', '3', '6', 'B', + 'A', '3', '3', '6', 'C', + 'A', '3', '5', '9', 'A', + 'A', '3', '6', '4', 'A', + 'A', '3', '6', '8', 'A', + 'A', '3', '7', '1', 'A', + 'A', '3', '8', '1', 'A', + 'A', '3', '8', '3', 'A', + 'A', '3', '8', '6', 'A', + 'A', '4', '1', '0', 'A', + 'A', '4', '5', '0', 'A', + 'A', '4', '5', '7', 'A', + 'A', 'A', '0', '0', '1', + 'A', 'A', '0', '0', '2', + 'A', 'A', '0', '0', '3', + 'A', 'A', '0', '0', '4', + 'A', 'A', '0', '0', '5', + 'A', 'A', '0', '0', '6', + 'A', 'A', '0', '0', '7', + 'A', 'A', '0', '0', '8', + 'A', 'A', '0', '0', '9', + 'A', 'A', '0', '1', '0', + 'A', 'A', '0', '1', '1', + 'A', 'A', '0', '1', '2', + 'A', 'A', '0', '1', '3', + 'A', 'A', '0', '1', '4', + 'A', 'A', '0', '1', '5', + 'A', 'A', '0', '1', '6', + 'A', 'A', '0', '1', '7', + 'A', 'A', '0', '1', '8', + 'A', 'A', '0', '1', '9', + 'A', 'A', '0', '2', '0', + 'A', 'A', '0', '2', '1', + 'A', 'A', '0', '2', '2', + 'A', 'A', '0', '2', '3', + 'A', 'A', '0', '2', '4', + 'A', 'A', '0', '2', '5', + 'A', 'A', '0', '2', '6', + 'A', 'A', '0', '2', '7', + 'A', 'A', '0', '2', '8', + 'A', 'A', '0', '2', '9', + 'A', 'A', '0', '3', '0', + 'A', 'A', '0', '3', '1', + 'A', 'A', '0', '3', '2', + 'A', 'A', 'Y', 'I', 'N', + 'A', 'B', '0', '0', '1', + 'A', 'B', '0', '0', '2', + 'A', 'B', '0', '0', '3', + 'A', 'B', '0', '0', '4', + 'A', 'B', '0', '0', '5', + 'A', 'B', '0', '0', '6', + 'A', 'B', '0', '0', '7', + 'A', 'B', '0', '0', '8', + 'A', 'B', '0', '0', '9', + 'A', 'B', '0', '1', '0', + 'A', 'B', '0', '1', '1', + 'A', 'B', '0', '1', '3', + 'A', 'B', '0', '1', '6', + 'A', 'B', '0', '1', '7', + 'A', 'B', '0', '2', '0', + 'A', 'B', '0', '2', '1', + 'A', 'B', '0', '2', '2', + 'A', 'B', '0', '2', '3', + 'A', 'B', '0', '2', '4', + 'A', 'B', '0', '2', '6', + 'A', 'B', '0', '2', '7', + 'A', 'B', '0', '2', '8', + 'A', 'B', '0', '2', '9', + 'A', 'B', '0', '3', '0', + 'A', 'B', '0', '3', '1', + 'A', 'B', '0', '3', '4', + 'A', 'B', '0', '3', '7', + 'A', 'B', '0', '3', '8', + 'A', 'B', '0', '3', '9', + 'A', 'B', '0', '4', '0', + 'A', 'B', '0', '4', '1', + 'A', 'B', '0', '4', '4', + 'A', 'B', '0', '4', '5', + 'A', 'B', '0', '4', '6', + 'A', 'B', '0', '4', '7', + 'A', 'B', '0', '4', '8', + 'A', 'B', '0', '4', '9', + 'A', 'B', '0', '5', '0', + 'A', 'B', '0', '5', '1', + 'A', 'B', '0', '5', '3', + 'A', 'B', '0', '5', '4', + 'A', 'B', '0', '5', '5', + 'A', 'B', '0', '5', '6', + 'A', 'B', '0', '5', '7', + 'A', 'B', '0', '5', '8', + 'A', 'B', '0', '5', '9', + 'A', 'B', '0', '6', '0', + 'A', 'B', '0', '6', '1', + 'A', 'B', '0', '6', '5', + 'A', 'B', '0', '6', '6', + 'A', 'B', '0', '6', '7', + 'A', 'B', '0', '6', '9', + 'A', 'B', '0', '7', '0', + 'A', 'B', '0', '7', '3', + 'A', 'B', '0', '7', '4', + 'A', 'B', '0', '7', '6', + 'A', 'B', '0', '7', '7', + 'A', 'B', '0', '7', '8', + 'A', 'B', '0', '7', '9', + 'A', 'B', '0', '8', '0', + 'A', 'B', '0', '8', '1', + 'A', 'B', '0', '8', '2', + 'A', 'B', '0', '8', '5', + 'A', 'B', '0', '8', '6', + 'A', 'B', '0', '8', '7', + 'A', 'B', '1', '1', '8', + 'A', 'B', '1', '2', '0', + 'A', 'B', '1', '2', '2', + 'A', 'B', '1', '2', '3', + 'A', 'B', '1', '6', '4', + 'A', 'B', '1', '7', '1', + 'A', 'B', '1', '8', '0', + 'A', 'B', '1', '8', '8', + 'A', 'B', '1', '9', '1', + 'A', 'B', 'O', 'V', 'E', + 'A', 'C', 'U', 'T', 'E', + 'A', 'D', 'D', 'A', 'K', + 'A', 'D', 'L', 'A', 'M', + 'A', 'F', 'F', 'I', 'X', + 'A', 'F', 'T', 'E', 'R', + 'A', 'G', 'A', 'I', 'N', + 'A', 'G', 'O', 'G', 'I', + 'A', 'G', 'U', 'N', 'G', + 'A', 'H', 'A', 'N', 'G', + 'A', 'H', 'S', 'D', 'A', + 'A', 'I', 'T', 'O', 'N', + 'A', 'K', 'A', 'R', 'A', + 'A', 'K', 'B', 'A', 'R', + 'A', 'L', 'A', 'P', 'H', + 'A', 'L', 'A', 'R', 'M', + 'A', 'L', 'E', 'P', 'H', + 'A', 'L', 'E', 'U', 'T', + 'A', 'L', 'G', 'I', 'Z', + 'A', 'L', 'I', 'E', 'N', + 'A', 'L', 'I', 'F', 'U', + 'A', 'L', 'L', 'A', 'H', + 'A', 'L', 'P', 'H', 'A', + 'A', 'N', 'D', 'A', 'P', + 'A', 'N', 'G', 'E', 'D', + 'A', 'N', 'G', 'E', 'L', + 'A', 'N', 'G', 'E', 'R', + 'A', 'N', 'G', 'L', 'E', + 'A', 'N', 'G', 'R', 'Y', + 'A', 'N', 'P', 'E', 'A', + 'A', 'N', 'S', 'H', 'E', + 'A', 'N', 'S', 'U', 'Z', + 'A', 'P', 'A', 'R', 'T', + 'A', 'P', 'E', 'S', 'O', + 'A', 'P', 'P', 'L', 'E', + 'A', 'P', 'R', 'I', 'L', + 'A', 'R', 'A', 'E', 'A', + 'A', 'R', 'E', 'P', 'A', + 'A', 'R', 'G', 'O', 'N', + 'A', 'R', 'I', 'E', 'S', + 'A', 'R', 'K', 'A', 'B', + 'A', 'R', 'R', 'A', 'Y', + 'A', 'R', 'R', 'O', 'W', + 'A', 'S', 'A', 'L', '2', + 'A', 'S', 'H', 'E', 'S', + 'A', 'S', 'P', 'E', 'R', + 'A', 'T', 'I', 'Y', 'A', + 'A', 'T', 'N', 'A', 'H', + 'A', 'T', 'T', 'A', 'K', + 'A', 'T', 'T', 'I', 'C', + 'B', '0', '0', '5', 'A', + 'B', '1', '0', '5', 'F', + 'B', '1', '0', '5', 'M', + 'B', '1', '0', '6', 'F', + 'B', '1', '0', '6', 'M', + 'B', '1', '0', '7', 'F', + 'B', '1', '0', '7', 'M', + 'B', '1', '0', '8', 'F', + 'B', '1', '0', '8', 'M', + 'B', '1', '0', '9', 'F', + 'B', '1', '0', '9', 'M', + 'B', 'A', 'C', 'O', 'N', + 'B', 'A', 'D', 'G', 'E', + 'B', 'A', 'L', 'A', 'G', + 'B', 'A', 'M', 'U', 'M', + 'B', 'A', 'R', 'A', '2', + 'B', 'A', 'S', 'S', 'A', + 'B', 'A', 'T', 'A', 'K', + 'B', 'B', 'I', 'E', 'P', + 'B', 'B', 'I', 'E', 'T', + 'B', 'B', 'I', 'E', 'X', + 'B', 'B', 'U', 'O', 'P', + 'B', 'B', 'U', 'O', 'X', + 'B', 'B', 'U', 'R', 'X', + 'B', 'E', 'A', 'C', 'H', + 'B', 'E', 'A', 'D', 'S', + 'B', 'E', 'E', 'T', 'A', + 'B', 'E', 'G', 'I', 'N', + 'B', 'E', 'H', 'E', 'H', + 'B', 'E', 'I', 'T', 'H', + 'B', 'E', 'L', 'O', 'W', + 'B', 'E', 'N', 'D', 'E', + 'B', 'E', 'N', 'T', 'O', + 'B', 'E', 'O', 'R', 'C', + 'B', 'H', 'E', 'T', 'H', + 'B', 'I', 'N', 'D', 'I', + 'B', 'I', 'N', 'D', 'U', + 'B', 'I', 'R', 'G', 'A', + 'B', 'I', 'S', 'A', 'H', + 'B', 'L', 'A', 'C', 'K', + 'B', 'L', 'A', 'D', 'E', + 'B', 'L', 'A', 'N', 'K', + 'B', 'L', 'I', 'N', 'K', + 'B', 'L', 'O', 'C', 'K', + 'B', 'L', 'O', 'N', 'D', + 'B', 'L', 'O', 'O', 'D', + 'B', 'O', 'A', 'R', 'D', + 'B', 'O', 'O', 'K', 'S', + 'B', 'O', 'O', 'T', 'S', + 'B', 'O', 'R', 'A', 'X', + 'B', 'R', 'A', 'C', 'E', + 'B', 'R', 'E', 'A', 'D', + 'B', 'R', 'E', 'V', 'E', + 'B', 'R', 'I', 'C', 'K', + 'B', 'R', 'I', 'D', 'E', + 'B', 'R', 'O', 'A', 'D', + 'B', 'R', 'U', 'S', 'H', + 'B', 'S', 'D', 'U', 'S', + 'B', 'S', 'K', 'A', '-', + 'B', 'S', 'K', 'U', 'R', + 'B', 'S', 'T', 'A', 'R', + 'B', 'U', 'H', 'I', 'D', + 'B', 'U', 'L', 'L', 'S', + 'B', 'U', 'L', 'U', 'G', + 'B', 'U', 'M', 'P', 'Y', + 'B', 'U', 'N', 'N', 'Y', + 'B', 'U', 'S', 'T', 'S', + 'B', 'Z', 'U', 'N', 'G', + 'C', '0', '0', '2', 'A', + 'C', '0', '0', '2', 'B', + 'C', '0', '0', '2', 'C', + 'C', '0', '1', '0', 'A', + 'C', 'A', 'A', 'N', 'G', + 'C', 'A', 'K', 'R', 'A', + 'C', 'A', 'L', 'Y', 'A', + 'C', 'A', 'M', 'E', 'L', + 'C', 'A', 'N', 'D', 'Y', + 'C', 'A', 'N', 'O', 'E', + 'C', 'A', 'P', 'U', 'T', + 'C', 'A', 'R', 'D', 'S', + 'C', 'A', 'R', 'E', 'T', + 'C', 'A', 'R', 'I', 'K', + 'C', 'A', 'R', 'O', 'N', + 'C', 'A', 'U', 'D', 'A', + 'C', 'C', 'H', 'A', 'A', + 'C', 'C', 'H', 'E', 'E', + 'C', 'C', 'H', 'H', 'A', + 'C', 'C', 'H', 'H', 'E', + 'C', 'C', 'H', 'H', 'I', + 'C', 'C', 'H', 'H', 'O', + 'C', 'C', 'H', 'H', 'U', + 'C', 'E', 'A', 'L', 'C', + 'C', 'E', 'C', 'A', 'K', + 'C', 'E', 'C', 'E', 'K', + 'C', 'E', 'I', 'R', 'T', + 'C', 'E', 'R', 'E', 'K', + 'C', 'E', 'R', 'E', 'S', + 'C', 'H', 'A', 'D', 'A', + 'C', 'H', 'A', 'I', 'R', + 'C', 'H', 'A', 'N', 'G', + 'C', 'H', 'A', 'R', 'T', + 'C', 'H', 'E', 'C', 'K', + 'C', 'H', 'E', 'E', 'K', + 'C', 'H', 'E', 'E', 'M', + 'C', 'H', 'E', 'R', 'Y', + 'C', 'H', 'E', 'S', 'S', + 'C', 'H', 'E', 'S', 'T', + 'C', 'H', 'I', 'C', 'K', + 'C', 'H', 'I', 'K', 'I', + 'C', 'H', 'I', 'L', 'D', + 'C', 'H', 'I', 'M', 'E', + 'C', 'H', 'I', 'N', 'G', + 'C', 'H', 'O', 'K', 'E', + 'C', 'H', 'R', 'O', 'A', + 'C', 'H', 'U', 'L', 'A', + 'C', 'H', 'U', 'O', 'P', + 'C', 'H', 'U', 'O', 'T', + 'C', 'H', 'U', 'O', 'X', + 'C', 'H', 'U', 'R', 'X', + 'C', 'H', 'Y', 'R', 'X', + 'C', 'I', 'E', 'U', 'C', + 'C', 'L', 'A', 'I', 'M', + 'C', 'L', 'E', 'A', 'R', + 'C', 'L', 'I', 'C', 'K', + 'C', 'L', 'I', 'F', 'F', + 'C', 'L', 'O', 'C', 'K', + 'C', 'L', 'O', 'S', 'E', + 'C', 'L', 'O', 'T', 'H', + 'C', 'L', 'O', 'U', 'D', + 'C', 'L', 'O', 'W', 'N', + 'C', 'L', 'U', 'B', 'S', + 'C', 'O', 'E', 'N', 'G', + 'C', 'O', 'L', 'O', 'N', + 'C', 'O', 'L', 'O', 'R', + 'C', 'O', 'M', 'E', 'T', + 'C', 'O', 'M', 'M', 'A', + 'C', 'O', 'U', 'C', 'H', + 'C', 'O', 'V', 'E', 'R', + 'C', 'R', 'E', 'A', 'M', + 'C', 'R', 'O', 'I', 'X', + 'C', 'R', 'O', 'S', 'S', + 'C', 'R', 'O', 'W', 'N', + 'C', 'U', 'B', 'E', 'D', + 'C', 'U', 'R', 'L', 'Y', + 'C', 'U', 'R', 'R', 'Y', + 'C', 'U', 'R', 'V', 'E', + 'D', '0', '0', '8', 'A', + 'D', '0', '2', '7', 'A', + 'D', '0', '3', '1', 'A', + 'D', '0', '3', '4', 'A', + 'D', '0', '4', '6', 'A', + 'D', '0', '4', '8', 'A', + 'D', '0', '5', '0', 'A', + 'D', '0', '5', '0', 'B', + 'D', '0', '5', '0', 'C', + 'D', '0', '5', '0', 'D', + 'D', '0', '5', '0', 'E', + 'D', '0', '5', '0', 'F', + 'D', '0', '5', '0', 'G', + 'D', '0', '5', '0', 'H', + 'D', '0', '5', '0', 'I', + 'D', '0', '5', '2', 'A', + 'D', '0', '5', '4', 'A', + 'D', '0', '6', '7', 'A', + 'D', '0', '6', '7', 'B', + 'D', '0', '6', '7', 'C', + 'D', '0', '6', '7', 'D', + 'D', '0', '6', '7', 'E', + 'D', '0', '6', '7', 'F', + 'D', '0', '6', '7', 'G', + 'D', '0', '6', '7', 'H', + 'D', 'A', 'A', 'L', 'I', + 'D', 'A', 'A', 'S', 'U', + 'D', 'A', 'E', 'N', 'G', + 'D', 'A', 'G', 'A', 'Z', + 'D', 'A', 'H', 'A', 'L', + 'D', 'A', 'I', 'N', 'G', + 'D', 'A', 'L', 'A', 'T', + 'D', 'A', 'L', 'D', 'A', + 'D', 'A', 'L', 'E', 'T', + 'D', 'A', 'M', 'M', 'A', + 'D', 'A', 'N', 'D', 'A', + 'D', 'A', 'N', 'G', 'O', + 'D', 'A', 'R', 'A', '3', + 'D', 'A', 'R', 'A', '4', + 'D', 'A', 'R', 'G', 'A', + 'D', 'A', 'S', 'I', 'A', + 'D', 'A', 'V', 'I', 'D', + 'D', 'D', 'D', 'H', 'A', + 'D', 'D', 'H', 'A', 'A', + 'D', 'D', 'H', 'E', 'E', + 'D', 'D', 'I', 'E', 'P', + 'D', 'D', 'I', 'E', 'X', + 'D', 'D', 'U', 'O', 'P', + 'D', 'D', 'U', 'O', 'X', + 'D', 'D', 'U', 'R', 'X', + 'D', 'E', 'A', 'T', 'H', + 'D', 'E', 'B', 'I', 'T', + 'D', 'E', 'L', 'T', 'A', + 'D', 'E', 'P', 'T', 'H', + 'D', 'E', 'R', 'E', 'T', + 'D', 'E', 'U', 'N', 'G', + 'D', 'E', 'X', 'I', 'A', + 'D', 'H', 'H', 'E', 'E', + 'D', 'H', 'H', 'O', 'O', + 'D', 'I', 'F', 'A', 'T', + 'D', 'I', 'G', 'I', 'T', + 'D', 'I', 'P', 'L', 'I', + 'D', 'I', 'P', 'T', 'E', + 'D', 'I', 'R', 'G', 'A', + 'D', 'I', 'T', 'T', 'O', + 'D', 'I', 'Z', 'Z', 'Y', + 'D', 'J', 'E', 'R', 'V', + 'D', 'L', 'H', 'Y', 'A', + 'D', 'O', 'B', 'R', 'O', + 'D', 'O', 'I', 'N', 'G', + 'D', 'O', 'L', 'L', 'S', + 'D', 'O', 'O', 'N', 'G', + 'D', 'O', 'U', 'B', 'T', + 'D', 'R', 'E', 'S', 'S', + 'D', 'R', 'I', 'N', 'K', + 'D', 'R', 'I', 'V', 'E', + 'D', 'R', 'O', 'P', 'S', + 'D', 'U', 'G', 'U', 'D', + 'D', 'Z', 'E', 'L', 'O', + 'D', 'Z', 'H', 'O', 'I', + 'D', 'Z', 'I', 'T', 'A', + 'D', 'Z', 'Y', 'A', 'Y', + 'D', 'Z', 'Z', 'H', 'E', + 'E', '0', '0', '8', 'A', + 'E', '0', '0', '9', 'A', + 'E', '0', '1', '6', 'A', + 'E', '0', '1', '7', 'A', + 'E', '0', '2', '0', 'A', + 'E', '0', '2', '8', 'A', + 'E', '0', '3', '4', 'A', + 'E', 'A', 'G', 'L', 'E', + 'E', 'A', 'R', 'L', 'Y', + 'E', 'A', 'R', 'T', 'H', + 'E', 'E', 'K', 'A', 'A', + 'E', 'H', 'C', 'H', 'A', + 'E', 'H', 'T', 'S', 'A', + 'E', 'H', 'W', 'A', 'Z', + 'E', 'I', 'G', 'H', 'T', + 'E', 'J', 'E', 'C', 'T', + 'E', 'K', 'A', 'R', 'A', + 'E', 'L', 'I', 'F', 'I', + 'E', 'M', 'O', 'J', 'I', + 'E', 'M', 'P', 'T', 'Y', + 'E', 'N', 'D', 'E', 'P', + 'E', 'N', 'T', 'E', 'R', + 'E', 'N', 'T', 'R', 'Y', + 'E', 'O', '-', 'E', 'U', + 'E', 'O', 'L', 'H', 'X', + 'E', 'P', 'A', 'C', 'T', + 'E', 'P', 'O', 'C', 'H', + 'E', 'Q', 'U', 'A', 'L', + 'E', 'Q', 'U', 'I', 'D', + 'E', 'R', 'A', 'S', 'E', + 'E', 'R', 'I', 'N', '2', + 'E', 'S', '-', 'T', 'E', + 'E', 'S', 'A', 'S', 'A', + 'E', 'S', 'H', '1', '6', + 'E', 'S', 'H', '2', '1', + 'E', 'S', 'H', 'E', '3', + 'E', 'T', 'H', 'E', 'L', + 'E', 'U', '-', 'E', 'O', + 'E', 'U', '-', 'E', 'U', + 'E', 'U', 'L', 'E', 'R', + 'E', 'V', 'E', 'R', 'Y', + 'E', 'X', 'I', 'S', 'T', + 'E', 'X', 'T', 'R', 'A', + 'F', '0', '0', '1', 'A', + 'F', '0', '1', '3', 'A', + 'F', '0', '2', '1', 'A', + 'F', '0', '3', '1', 'A', + 'F', '0', '3', '7', 'A', + 'F', '0', '3', '8', 'A', + 'F', '0', '4', '5', 'A', + 'F', '0', '4', '6', 'A', + 'F', '0', '4', '7', 'A', + 'F', '0', '5', '1', 'A', + 'F', '0', '5', '1', 'B', + 'F', '0', '5', '1', 'C', + 'F', 'A', 'A', 'F', 'U', + 'F', 'A', 'I', 'H', 'U', + 'F', 'A', 'R', 'S', 'I', + 'F', 'A', 'T', 'H', 'A', + 'F', 'E', 'A', 'R', 'N', + 'F', 'E', 'E', 'N', 'G', + 'F', 'E', 'N', 'C', 'E', + 'F', 'E', 'R', 'R', 'Y', + 'F', 'I', 'E', 'L', 'D', + 'F', 'I', 'F', 'T', 'H', + 'F', 'I', 'F', 'T', 'Y', + 'F', 'I', 'G', 'H', 'T', + 'F', 'I', 'N', 'A', 'L', + 'F', 'I', 'R', 'S', 'T', + 'F', 'L', 'A', 'G', 'S', + 'F', 'L', 'A', 'S', 'H', + 'F', 'L', 'I', 'C', 'K', + 'F', 'L', 'O', 'O', 'R', + 'F', 'L', 'U', 'T', 'E', + 'F', 'O', 'G', 'G', 'Y', + 'F', 'O', 'L', 'L', 'Y', + 'F', 'O', 'R', 'C', 'E', + 'F', 'O', 'R', 'M', 'S', + 'F', 'O', 'R', 'T', 'E', + 'F', 'O', 'R', 'T', 'Y', + 'F', 'R', 'A', 'M', 'E', + 'F', 'R', 'A', 'N', 'C', + 'F', 'R', 'I', 'E', 'D', + 'F', 'R', 'I', 'E', 'S', + 'F', 'R', 'I', 'T', 'U', + 'F', 'R', 'O', 'N', 'T', + 'F', 'R', 'O', 'W', 'N', + 'G', '0', '0', '6', 'A', + 'G', '0', '0', '7', 'A', + 'G', '0', '0', '7', 'B', + 'G', '0', '1', '1', 'A', + 'G', '0', '2', '0', 'A', + 'G', '0', '2', '6', 'A', + 'G', '0', '3', '6', 'A', + 'G', '0', '3', '7', 'A', + 'G', '0', '4', '3', 'A', + 'G', '0', '4', '5', 'A', + 'G', 'A', 'A', 'F', 'U', + 'G', 'A', 'D', 'O', 'L', + 'G', 'A', 'L', 'A', 'M', + 'G', 'A', 'M', 'A', 'L', + 'G', 'A', 'M', 'A', 'N', + 'G', 'A', 'M', 'L', 'A', + 'G', 'A', 'M', 'M', 'A', + 'G', 'A', 'N', 'D', 'A', + 'G', 'A', 'N', 'M', 'A', + 'G', 'A', 'R', 'O', 'N', + 'G', 'B', 'A', 'Y', 'I', + 'G', 'B', 'E', 'U', 'X', + 'G', 'B', 'I', 'E', 'E', + 'G', 'E', 'S', 'H', '2', + 'G', 'E', 'S', 'H', 'U', + 'G', 'G', 'I', 'E', 'P', + 'G', 'G', 'I', 'E', 'X', + 'G', 'G', 'U', 'O', 'P', + 'G', 'G', 'U', 'O', 'T', + 'G', 'G', 'U', 'O', 'X', + 'G', 'G', 'U', 'R', 'X', + 'G', 'G', 'W', 'A', 'A', + 'G', 'G', 'W', 'E', 'E', + 'G', 'H', 'A', 'I', 'N', + 'G', 'H', 'A', 'Y', 'N', + 'G', 'H', 'E', 'U', 'N', + 'G', 'H', 'E', 'U', 'X', + 'G', 'H', 'E', 'Y', 'S', + 'G', 'H', 'O', 'S', 'T', + 'G', 'I', 'D', 'I', 'M', + 'G', 'I', 'M', 'E', 'L', + 'G', 'I', 'N', 'I', 'I', + 'G', 'I', 'R', 'L', 'S', + 'G', 'I', 'S', 'A', 'L', + 'G', 'L', 'A', 'S', 'S', + 'G', 'L', 'O', 'B', 'E', + 'G', 'L', 'O', 'V', 'E', + 'G', 'N', 'Y', 'I', 'S', + 'G', 'O', 'I', 'N', 'G', + 'G', 'O', 'R', 'G', 'I', + 'G', 'R', 'A', 'C', 'E', + 'G', 'R', 'A', 'I', 'N', + 'G', 'R', 'A', 'S', 'P', + 'G', 'R', 'A', 'S', 'S', + 'G', 'R', 'A', 'V', 'E', + 'G', 'R', 'E', 'A', 'T', + 'G', 'R', 'E', 'E', 'K', + 'G', 'R', 'E', 'E', 'N', + 'G', 'R', 'O', 'U', 'P', + 'G', 'U', 'A', 'R', 'D', + 'G', 'U', 'R', 'U', 'N', + 'G', 'V', 'A', 'N', 'G', + 'H', '0', '0', '6', 'A', + 'H', 'A', '-', 'H', 'A', + 'H', 'A', 'A', 'R', 'U', + 'H', 'A', 'E', 'G', 'L', + 'H', 'A', 'I', 'T', 'U', + 'H', 'A', 'L', 'Q', 'A', + 'H', 'A', 'M', 'Z', 'A', + 'H', 'A', 'N', 'D', 'S', + 'H', 'A', 'P', 'P', 'Y', + 'H', 'A', 'S', 'E', 'R', + 'H', 'A', 'T', 'A', 'F', + 'H', 'A', 'T', 'H', 'I', + 'H', 'B', 'A', 'S', 'A', + 'H', 'E', 'A', 'R', 'T', + 'H', 'E', 'A', 'V', 'Y', + 'H', 'I', 'D', 'E', 'T', + 'H', 'I', 'E', 'U', 'H', + 'H', 'I', 'N', 'G', 'E', + 'H', 'I', 'R', 'I', 'Q', + 'H', 'L', 'I', 'E', 'P', + 'H', 'L', 'I', 'E', 'X', + 'H', 'L', 'U', 'O', 'P', + 'H', 'L', 'U', 'O', 'X', + 'H', 'L', 'U', 'R', 'X', + 'H', 'L', 'Y', 'R', 'X', + 'H', 'M', 'I', 'E', 'P', + 'H', 'M', 'I', 'E', 'X', + 'H', 'M', 'O', 'N', 'G', + 'H', 'M', 'U', 'O', 'P', + 'H', 'M', 'U', 'O', 'X', + 'H', 'M', 'U', 'R', 'X', + 'H', 'M', 'Y', 'R', 'X', + 'H', 'N', 'I', 'E', 'P', + 'H', 'N', 'I', 'E', 'T', + 'H', 'N', 'I', 'E', 'X', + 'H', 'N', 'U', 'O', 'X', + 'H', 'O', 'C', 'H', 'O', + 'H', 'O', 'L', 'A', 'M', + 'H', 'O', 'N', 'E', 'Y', + 'H', 'O', 'O', 'R', 'U', + 'H', 'O', 'R', 'N', 'S', + 'H', 'O', 'R', 'S', 'E', + 'H', 'O', 'T', 'E', 'L', + 'H', 'O', 'U', 'S', 'E', + 'H', 'U', 'M', 'A', 'N', + 'H', 'U', 'R', 'A', 'N', + 'H', 'W', 'A', 'I', 'R', + 'H', 'X', 'I', 'E', 'P', + 'H', 'X', 'I', 'E', 'T', + 'H', 'X', 'I', 'E', 'X', + 'H', 'X', 'U', 'O', 'P', + 'H', 'X', 'U', 'O', 'T', + 'H', 'X', 'U', 'O', 'X', + 'H', 'Z', 'Z', 'Z', 'G', + 'I', '-', 'O', '-', 'I', + 'I', '-', 'Y', 'A', 'E', + 'I', '-', 'Y', 'E', 'O', + 'I', '0', '0', '5', 'A', + 'I', '0', '0', '9', 'A', + 'I', '0', '1', '0', 'A', + 'I', '0', '1', '1', 'A', + 'I', 'A', 'U', 'D', 'A', + 'I', 'C', 'H', 'O', 'S', + 'I', 'C', 'H', 'O', 'U', + 'I', 'E', 'U', 'N', 'G', + 'I', 'G', 'G', 'W', 'S', + 'I', 'K', 'A', 'R', 'A', + 'I', 'M', 'A', 'G', 'E', + 'I', 'M', 'I', 'N', '3', + 'I', 'N', 'B', 'O', 'X', + 'I', 'N', 'D', 'E', 'X', + 'I', 'N', 'D', 'I', 'C', + 'I', 'N', 'N', 'E', 'R', + 'I', 'N', 'P', 'U', 'T', + 'J', 'A', 'C', 'K', 'S', + 'J', 'A', 'P', 'A', 'N', + 'J', 'A', 'Y', 'I', 'N', + 'J', 'E', 'A', 'N', 'S', + 'J', 'E', 'R', 'A', 'N', + 'J', 'J', 'I', 'E', 'P', + 'J', 'J', 'I', 'E', 'T', + 'J', 'J', 'I', 'E', 'X', + 'J', 'J', 'U', 'O', 'P', + 'J', 'J', 'U', 'O', 'X', + 'J', 'J', 'U', 'R', 'X', + 'J', 'O', 'K', 'E', 'R', + 'J', 'U', 'D', 'G', 'E', + 'J', 'U', 'D', 'U', 'L', + 'J', 'U', 'E', 'U', 'I', + 'K', 'A', 'A', 'B', 'A', + 'K', 'A', 'A', 'F', 'U', + 'K', 'A', 'I', 'R', 'I', + 'K', 'A', 'P', 'A', 'L', + 'K', 'A', 'P', 'P', 'A', + 'K', 'A', 'R', 'A', 'N', + 'K', 'A', 'R', 'E', 'N', + 'K', 'A', 'S', 'R', 'A', + 'K', 'A', 'U', 'N', 'A', + 'K', 'A', 'Y', 'A', 'H', + 'K', 'E', 'A', 'A', 'E', + 'K', 'E', 'E', 'N', 'G', + 'K', 'E', 'E', 'S', 'U', + 'K', 'E', 'H', 'E', 'H', + 'K', 'E', 'N', 'A', 'T', + 'K', 'E', 'R', 'E', 'T', + 'K', 'E', 'S', 'H', '2', + 'K', 'E', 'T', 'T', 'I', + 'K', 'E', 'U', 'A', 'E', + 'K', 'E', 'U', 'O', 'T', + 'K', 'H', 'A', 'N', 'G', + 'K', 'H', 'A', 'P', 'H', + 'K', 'H', 'E', 'T', 'H', + 'K', 'H', 'M', 'E', 'R', + 'K', 'H', 'U', 'A', 'T', + 'K', 'H', 'U', 'E', 'N', + 'K', 'H', 'W', 'A', 'I', + 'K', 'I', 'E', 'E', 'M', + 'K', 'I', 'S', 'A', 'L', + 'K', 'N', 'I', 'F', 'E', + 'K', 'N', 'O', 'B', 'S', + 'K', 'O', 'A', 'L', 'A', + 'K', 'O', 'M', 'B', 'U', + 'K', 'O', 'O', 'P', 'O', + 'K', 'O', 'P', 'P', 'A', + 'K', 'O', 'V', 'U', 'U', + 'K', 'P', 'E', 'U', 'X', + 'K', 'U', 'S', 'M', 'A', + 'K', 'W', 'A', 'E', 'T', + 'K', 'X', 'W', 'A', 'A', + 'K', 'X', 'W', 'E', 'E', + 'L', '0', '0', '2', 'A', + 'L', '0', '0', '6', 'A', + 'L', 'A', 'A', 'M', 'U', + 'L', 'A', 'B', 'A', 'T', + 'L', 'A', 'B', 'E', 'L', + 'L', 'A', 'B', 'O', 'R', + 'L', 'A', 'G', 'A', 'B', + 'L', 'A', 'G', 'A', 'R', + 'L', 'A', 'G', 'U', 'S', + 'L', 'A', 'I', 'N', 'G', + 'L', 'A', 'M', 'D', 'A', + 'L', 'A', 'M', 'E', 'D', + 'L', 'A', 'N', 'E', 'S', + 'L', 'A', 'P', 'A', 'Q', + 'L', 'A', 'R', 'G', 'E', + 'L', 'A', 'T', 'I', 'K', + 'L', 'A', 'T', 'I', 'N', + 'L', 'A', 'U', 'L', 'A', + 'L', 'A', 'Y', 'A', 'R', + 'L', 'E', 'E', 'E', 'E', + 'L', 'E', 'L', 'E', 'T', + 'L', 'E', 'M', 'O', 'I', + 'L', 'E', 'M', 'O', 'N', + 'L', 'E', 'N', 'G', 'A', + 'L', 'E', 'N', 'I', 'S', + 'L', 'E', 'V', 'E', 'L', + 'L', 'I', 'B', 'R', 'A', + 'L', 'I', 'G', 'H', 'T', + 'L', 'I', 'M', 'B', 'S', + 'L', 'I', 'M', 'B', 'U', + 'L', 'I', 'M', 'I', 'T', + 'L', 'I', 'M', 'M', 'U', + 'L', 'I', 'N', 'E', 'S', + 'L', 'I', 'T', 'R', 'A', + 'L', 'I', 'V', 'R', 'E', + 'L', 'O', 'N', 'G', 'A', + 'L', 'O', 'R', 'R', 'Y', + 'L', 'O', 'T', 'U', 'S', + 'L', 'O', 'U', 'R', 'E', + 'L', 'O', 'W', '-', '9', + 'L', 'O', 'W', 'E', 'R', + 'L', 'U', 'A', 'E', 'P', + 'L', 'U', 'G', 'A', 'L', + 'L', 'U', 'H', 'U', 'R', + 'L', 'Y', 'I', 'N', 'G', + 'M', '0', '0', '1', 'A', + 'M', '0', '0', '1', 'B', + 'M', '0', '0', '3', 'A', + 'M', '0', '1', '0', 'A', + 'M', '0', '1', '2', 'A', + 'M', '0', '1', '2', 'B', + 'M', '0', '1', '2', 'C', + 'M', '0', '1', '2', 'D', + 'M', '0', '1', '2', 'E', + 'M', '0', '1', '2', 'F', + 'M', '0', '1', '2', 'G', + 'M', '0', '1', '2', 'H', + 'M', '0', '1', '5', 'A', + 'M', '0', '1', '6', 'A', + 'M', '0', '1', '7', 'A', + 'M', '0', '2', '2', 'A', + 'M', '0', '2', '4', 'A', + 'M', '0', '2', '8', 'A', + 'M', '0', '3', '1', 'A', + 'M', '0', '3', '3', 'A', + 'M', '0', '3', '3', 'B', + 'M', '0', '4', '0', 'A', + 'M', 'A', 'D', 'D', 'A', + 'M', 'A', 'D', 'Y', 'A', + 'M', 'A', 'E', 'S', 'I', + 'M', 'A', 'H', 'H', 'A', + 'M', 'A', 'I', 'R', 'U', + 'M', 'A', 'I', 'Z', 'E', + 'M', 'A', 'N', 'A', 'T', + 'M', 'A', 'N', 'N', 'A', + 'M', 'A', 'P', 'I', 'Q', + 'M', 'A', 'P', 'L', 'E', + 'M', 'A', 'Q', 'A', 'F', + 'M', 'A', 'R', 'C', 'H', + 'M', 'A', 'R', 'K', 'S', + 'M', 'A', 'S', 'H', '2', + 'M', 'A', 'Y', 'E', 'K', + 'M', 'B', 'E', 'U', 'M', + 'M', 'B', 'E', 'U', 'X', + 'M', 'B', 'U', 'A', 'E', + 'M', 'B', 'U', 'O', 'Q', + 'M', 'C', 'H', 'A', 'N', + 'M', 'E', 'D', 'A', 'L', + 'M', 'E', 'E', 'E', 'E', + 'M', 'E', 'E', 'M', 'U', + 'M', 'E', 'I', 'Z', 'I', + 'M', 'E', 'L', 'I', 'K', + 'M', 'E', 'L', 'O', 'N', + 'M', 'E', 'N', 'D', 'E', + 'M', 'E', 'N', 'O', 'E', + 'M', 'E', 'R', 'G', 'E', + 'M', 'E', 'T', 'A', 'L', + 'M', 'E', 'T', 'E', 'G', + 'M', 'E', 'T', 'E', 'K', + 'M', 'E', 'T', 'R', 'O', + 'M', 'E', 'Z', 'Z', 'O', + 'M', 'F', 'E', 'U', 'Q', + 'M', 'F', 'E', 'U', 'T', + 'M', 'F', 'I', 'E', 'E', + 'M', 'G', 'B', 'E', 'E', + 'M', 'G', 'B', 'E', 'N', + 'M', 'G', 'B', 'O', 'O', + 'M', 'G', 'I', 'E', 'X', + 'M', 'G', 'U', 'O', 'P', + 'M', 'G', 'U', 'O', 'X', + 'M', 'G', 'U', 'R', 'X', + 'M', 'I', 'C', 'R', 'O', + 'M', 'I', 'E', 'U', 'M', + 'M', 'I', 'K', 'R', 'I', + 'M', 'I', 'L', 'K', 'Y', + 'M', 'I', 'L', 'L', 'E', + 'M', 'I', 'N', 'U', 'S', + 'M', 'I', 'R', 'E', 'D', + 'M', 'I', 'S', 'R', 'A', + 'M', 'N', 'Y', 'A', 'M', + 'M', 'O', 'D', 'E', 'L', + 'M', 'O', 'D', 'E', 'M', + 'M', 'O', 'N', 'E', 'Y', + 'M', 'O', 'N', 'T', 'H', + 'M', 'O', 'T', 'O', 'R', + 'M', 'O', 'U', 'N', 'D', + 'M', 'O', 'U', 'N', 'T', + 'M', 'O', 'U', 'S', 'E', + 'M', 'O', 'U', 'T', 'H', + 'M', 'O', 'V', 'E', 'D', + 'M', 'O', 'V', 'E', 'S', + 'M', 'O', 'V', 'I', 'E', + 'M', 'O', 'Y', 'A', 'I', + 'M', 'U', 'K', 'H', 'A', + 'M', 'U', 'L', 'T', 'I', + 'M', 'U', 'N', 'A', 'H', + 'M', 'U', 'R', 'D', 'A', + 'M', 'U', 'S', 'H', '3', + 'M', 'U', 'S', 'I', 'C', + 'N', '-', 'A', 'R', 'Y', + 'N', '0', '1', '8', 'A', + 'N', '0', '1', '8', 'B', + 'N', '0', '2', '5', 'A', + 'N', '0', '3', '3', 'A', + 'N', '0', '3', '4', 'A', + 'N', '0', '3', '5', 'A', + 'N', '0', '3', '7', 'A', + 'N', 'A', 'B', 'L', 'A', + 'N', 'A', 'G', 'A', 'R', + 'N', 'A', 'G', 'R', 'I', + 'N', 'A', 'I', 'R', 'A', + 'N', 'A', 'S', 'A', 'L', + 'N', 'A', 'S', 'H', 'I', + 'N', 'B', 'I', 'E', 'P', + 'N', 'B', 'I', 'E', 'X', + 'N', 'B', 'U', 'R', 'X', + 'N', 'B', 'Y', 'R', 'X', + 'N', 'C', 'H', 'A', 'U', + 'N', 'D', 'E', 'U', 'T', + 'N', 'D', 'E', 'U', 'X', + 'N', 'D', 'I', 'A', 'Q', + 'N', 'D', 'I', 'D', 'A', + 'N', 'D', 'I', 'E', 'X', + 'N', 'D', 'O', 'L', 'E', + 'N', 'D', 'U', 'R', 'X', + 'N', 'E', 'N', 'O', 'E', + 'N', 'G', 'A', 'A', 'I', + 'N', 'G', 'G', 'A', 'A', + 'N', 'G', 'G', 'A', 'P', + 'N', 'G', 'G', 'E', 'E', + 'N', 'G', 'G', 'E', 'N', + 'N', 'G', 'G', 'E', 'U', + 'N', 'G', 'G', 'O', 'O', + 'N', 'G', 'G', 'U', 'A', + 'N', 'G', 'G', 'U', 'M', + 'N', 'G', 'G', 'U', 'P', + 'N', 'G', 'I', 'E', 'P', + 'N', 'G', 'I', 'E', 'X', + 'N', 'G', 'K', 'A', 'P', + 'N', 'G', 'K', 'A', 'Q', + 'N', 'G', 'K', 'U', 'E', + 'N', 'G', 'K', 'U', 'M', + 'N', 'G', 'K', 'U', 'N', + 'N', 'G', 'K', 'U', 'P', + 'N', 'G', 'O', 'E', 'H', + 'N', 'G', 'U', 'A', 'E', + 'N', 'G', 'U', 'A', 'N', + 'N', 'G', 'U', 'O', 'T', + 'N', 'G', 'U', 'O', 'X', + 'N', 'I', 'E', 'U', 'N', + 'N', 'I', 'G', 'H', 'T', + 'N', 'I', 'N', 'T', 'H', + 'N', 'I', 'S', 'A', 'G', + 'N', 'I', 'T', 'R', 'E', + 'N', 'J', 'A', 'E', 'M', + 'N', 'J', 'E', 'U', 'T', + 'N', 'J', 'E', 'U', 'X', + 'N', 'J', 'I', 'E', 'E', + 'N', 'J', 'I', 'E', 'P', + 'N', 'J', 'I', 'E', 'T', + 'N', 'J', 'I', 'E', 'X', + 'N', 'J', 'U', 'A', 'E', + 'N', 'J', 'U', 'E', 'Q', + 'N', 'J', 'U', 'O', 'X', + 'N', 'J', 'U', 'Q', 'A', + 'N', 'J', 'U', 'R', 'X', + 'N', 'J', 'Y', 'R', 'X', + 'N', 'L', '0', '0', '1', + 'N', 'L', '0', '0', '2', + 'N', 'L', '0', '0', '3', + 'N', 'L', '0', '0', '4', + 'N', 'L', '0', '0', '5', + 'N', 'L', '0', '0', '6', + 'N', 'L', '0', '0', '7', + 'N', 'L', '0', '0', '8', + 'N', 'L', '0', '0', '9', + 'N', 'L', '0', '1', '0', + 'N', 'L', '0', '1', '1', + 'N', 'L', '0', '1', '2', + 'N', 'L', '0', '1', '3', + 'N', 'L', '0', '1', '4', + 'N', 'L', '0', '1', '5', + 'N', 'L', '0', '1', '6', + 'N', 'L', '0', '1', '7', + 'N', 'L', '0', '1', '8', + 'N', 'L', '0', '1', '9', + 'N', 'L', '0', '2', '0', + 'N', 'N', 'B', 'S', 'P', + 'N', 'N', 'G', 'A', 'A', + 'N', 'N', 'G', 'I', 'I', + 'N', 'N', 'G', 'O', 'O', + 'N', 'O', 'O', 'N', 'U', + 'N', 'O', 'R', 'T', 'H', + 'N', 'O', 'T', 'C', 'H', + 'N', 'O', 'T', 'E', 'S', + 'N', 'O', 'T', 'T', 'O', + 'N', 'R', 'U', 'R', 'X', + 'N', 'R', 'Y', 'R', 'X', + 'N', 'S', 'H', 'A', 'Q', + 'N', 'S', 'H', 'E', 'E', + 'N', 'S', 'H', 'U', 'E', + 'N', 'S', 'H', 'U', 'T', + 'N', 'S', 'I', 'E', 'E', + 'N', 'S', 'U', 'O', 'T', + 'N', 'T', 'E', 'U', 'M', + 'N', 'T', 'H', 'A', 'U', + 'N', 'T', 'I', 'E', 'E', + 'N', 'T', 'S', 'A', 'U', + 'N', 'T', 'X', 'I', 'V', + 'N', 'U', '0', '0', '1', + 'N', 'U', '0', '0', '2', + 'N', 'U', '0', '0', '3', + 'N', 'U', '0', '0', '4', + 'N', 'U', '0', '0', '5', + 'N', 'U', '0', '0', '6', + 'N', 'U', '0', '0', '7', + 'N', 'U', '0', '0', '8', + 'N', 'U', '0', '0', '9', + 'N', 'U', '0', '1', '0', + 'N', 'U', '0', '1', '1', + 'N', 'U', '0', '1', '2', + 'N', 'U', '0', '1', '3', + 'N', 'U', '0', '1', '4', + 'N', 'U', '0', '1', '5', + 'N', 'U', '0', '1', '6', + 'N', 'U', '0', '1', '7', + 'N', 'U', '0', '1', '8', + 'N', 'U', '0', '1', '9', + 'N', 'U', '0', '2', '0', + 'N', 'U', '0', '2', '1', + 'N', 'U', '0', '2', '2', + 'N', 'U', 'E', 'N', 'G', + 'N', 'U', 'K', 'T', 'A', + 'N', 'U', 'N', 'U', 'Z', + 'N', 'Y', 'I', 'E', 'P', + 'N', 'Y', 'I', 'E', 'T', + 'N', 'Y', 'I', 'E', 'X', + 'N', 'Y', 'U', 'O', 'P', + 'N', 'Y', 'U', 'O', 'X', + 'N', 'Z', 'E', 'U', 'M', + 'N', 'Z', 'I', 'E', 'P', + 'N', 'Z', 'I', 'E', 'X', + 'N', 'Z', 'U', 'O', 'X', + 'N', 'Z', 'U', 'R', 'X', + 'N', 'Z', 'Y', 'R', 'X', + 'O', '-', 'O', '-', 'I', + 'O', '-', 'Y', 'A', 'E', + 'O', '-', 'Y', 'E', 'O', + 'O', '0', '0', '1', 'A', + 'O', '0', '0', '5', 'A', + 'O', '0', '0', '6', 'A', + 'O', '0', '0', '6', 'B', + 'O', '0', '0', '6', 'C', + 'O', '0', '0', '6', 'D', + 'O', '0', '0', '6', 'E', + 'O', '0', '0', '6', 'F', + 'O', '0', '1', '0', 'A', + 'O', '0', '1', '0', 'B', + 'O', '0', '1', '0', 'C', + 'O', '0', '1', '9', 'A', + 'O', '0', '2', '0', 'A', + 'O', '0', '2', '4', 'A', + 'O', '0', '2', '5', 'A', + 'O', '0', '2', '9', 'A', + 'O', '0', '3', '0', 'A', + 'O', '0', '3', '3', 'A', + 'O', '0', '3', '6', 'A', + 'O', '0', '3', '6', 'B', + 'O', '0', '3', '6', 'C', + 'O', '0', '3', '6', 'D', + 'O', '0', '5', '0', 'A', + 'O', '0', '5', '0', 'B', + 'O', 'B', 'O', 'L', 'S', + 'O', 'G', 'H', 'A', 'M', + 'O', 'J', 'E', 'O', 'N', + 'O', 'K', 'A', 'R', 'A', + 'O', 'L', 'D', 'E', 'R', + 'O', 'L', 'I', 'V', 'E', + 'O', 'M', 'E', 'G', 'A', + 'O', 'N', 'K', 'A', 'R', + 'O', 'R', 'D', 'E', 'R', + 'O', 'R', 'E', '-', '2', + 'O', 'R', 'I', 'Y', 'A', + 'O', 'S', 'A', 'G', 'E', + 'O', 'T', 'H', 'A', 'L', + 'O', 'T', 'H', 'E', 'R', + 'O', 'U', 'N', 'C', 'E', + 'O', 'U', 'T', 'E', 'R', + 'O', 'X', 'E', 'I', 'A', + 'P', '0', '0', '1', 'A', + 'P', '0', '0', '3', 'A', + 'P', 'A', 'A', 'T', 'U', + 'P', 'A', 'D', 'M', 'A', + 'P', 'A', 'G', 'E', 'R', + 'P', 'A', 'G', 'E', 'S', + 'P', 'A', 'N', 'D', 'A', + 'P', 'A', 'N', 'T', 'I', + 'P', 'A', 'P', 'E', 'R', + 'P', 'A', 'R', 'T', 'Y', + 'P', 'A', 'R', 'U', 'M', + 'P', 'A', 'S', 'E', 'Q', + 'P', 'A', 'S', 'U', 'Q', + 'P', 'A', 'T', 'A', 'H', + 'P', 'A', 'T', 'A', 'K', + 'P', 'A', 'Z', 'E', 'R', + 'P', 'E', 'A', 'C', 'E', + 'P', 'E', 'A', 'C', 'H', + 'P', 'E', 'A', 'K', 'S', + 'P', 'E', 'D', 'A', 'L', + 'P', 'E', 'E', 'Z', 'I', + 'P', 'E', 'H', 'E', 'H', + 'P', 'E', 'I', 'T', 'H', + 'P', 'E', 'N', 'N', 'Y', + 'P', 'E', 'N', 'S', 'U', + 'P', 'E', 'P', 'E', 'T', + 'P', 'E', 'S', 'H', '2', + 'P', 'H', 'O', 'N', 'E', + 'P', 'H', 'U', 'N', 'G', + 'P', 'I', 'A', 'N', 'O', + 'P', 'I', 'E', 'C', 'E', + 'P', 'I', 'E', 'E', 'Q', + 'P', 'I', 'E', 'E', 'T', + 'P', 'I', 'E', 'U', 'P', + 'P', 'I', 'R', 'I', 'G', + 'P', 'I', 'Z', 'Z', 'A', + 'P', 'L', 'A', 'C', 'E', + 'P', 'L', 'A', 'N', 'E', + 'P', 'L', 'A', 'T', 'E', + 'P', 'L', 'H', 'A', 'U', + 'P', 'L', 'U', 'T', 'A', + 'P', 'L', 'U', 'T', 'O', + 'P', 'O', 'I', 'N', 'T', + 'P', 'O', 'N', 'D', 'O', + 'P', 'O', 'U', 'C', 'H', + 'P', 'O', 'U', 'N', 'D', + 'P', 'O', 'W', 'E', 'R', + 'P', 'R', 'I', 'M', 'E', + 'P', 'R', 'I', 'N', 'T', + 'P', 'R', 'O', 'O', 'F', + 'P', 'R', 'O', 'V', 'E', + 'P', 'S', 'I', 'L', 'I', + 'P', 'U', 'R', 'S', 'E', + 'Q', 'A', 'A', 'F', 'U', + 'Q', 'A', 'D', 'M', 'A', + 'Q', 'A', 'T', 'A', 'N', + 'Q', 'H', 'O', 'P', 'H', + 'Q', 'H', 'W', 'A', 'A', + 'Q', 'H', 'W', 'E', 'E', + 'Q', 'I', 'T', 'S', 'A', + 'Q', 'U', 'E', 'E', 'N', + 'Q', 'U', 'I', 'C', 'K', + 'Q', 'U', 'I', 'L', 'L', + 'Q', 'U', 'I', 'L', 'T', + 'Q', 'U', 'O', 'T', 'E', + 'R', '0', '0', '2', 'A', + 'R', '0', '0', '3', 'A', + 'R', '0', '0', '3', 'B', + 'R', '0', '1', '0', 'A', + 'R', '0', '1', '6', 'A', + 'R', 'A', 'D', 'I', 'O', + 'R', 'A', 'I', 'D', 'A', + 'R', 'A', 'I', 'D', 'O', + 'R', 'A', 'N', 'G', 'E', + 'R', 'A', 'S', 'H', 'A', + 'R', 'A', 'T', 'H', 'A', + 'R', 'A', 'T', 'I', 'O', + 'R', 'B', 'A', 'S', 'A', + 'R', 'E', 'A', 'C', 'H', + 'R', 'E', 'G', 'I', 'A', + 'R', 'E', 'L', 'A', 'A', + 'R', 'E', 'V', 'I', 'A', + 'R', 'E', 'V', 'M', 'A', + 'R', 'G', 'Y', 'A', 'N', + 'R', 'I', 'C', 'E', 'M', + 'R', 'I', 'E', 'U', 'L', + 'R', 'I', 'F', 'L', 'E', + 'R', 'I', 'G', 'H', 'T', + 'R', 'I', 'N', 'G', 'S', + 'R', 'I', 'T', 'S', 'I', + 'R', 'I', 'V', 'E', 'R', + 'R', 'N', 'O', 'O', 'N', + 'R', 'O', 'B', 'A', 'T', + 'R', 'O', 'B', 'O', 'T', + 'R', 'O', 'M', 'A', 'N', + 'R', 'O', 'U', 'N', 'D', + 'R', 'R', 'U', 'O', 'X', + 'R', 'R', 'U', 'R', 'X', + 'R', 'R', 'Y', 'R', 'X', + 'R', 'T', 'A', 'G', 'S', + 'R', 'U', 'B', 'L', 'E', + 'R', 'U', 'G', 'B', 'Y', + 'R', 'U', 'L', 'A', 'I', + 'R', 'U', 'L', 'E', 'R', + 'R', 'U', 'M', 'A', 'I', + 'R', 'U', 'N', 'I', 'C', + 'R', 'U', 'P', 'E', 'E', + 'R', 'U', 'P', 'I', 'I', + 'R', 'W', 'A', 'H', 'A', + 'S', '0', '0', '2', 'A', + 'S', '0', '0', '6', 'A', + 'S', '0', '1', '4', 'A', + 'S', '0', '1', '4', 'B', + 'S', '0', '1', '7', 'A', + 'S', '0', '2', '6', 'A', + 'S', '0', '2', '6', 'B', + 'S', '0', '3', '5', 'A', + 'S', 'A', 'D', 'H', 'E', + 'S', 'A', 'F', 'H', 'A', + 'S', 'A', 'K', 'H', 'A', + 'S', 'A', 'K', 'O', 'T', + 'S', 'A', 'K', 'T', 'A', + 'S', 'A', 'L', 'A', 'D', + 'S', 'A', 'L', 'A', 'M', + 'S', 'A', 'L', 'L', 'A', + 'S', 'A', 'M', 'B', 'A', + 'S', 'A', 'M', 'K', 'A', + 'S', 'A', 'M', 'P', 'I', + 'S', 'A', 'N', 'A', 'H', + 'S', 'A', 'S', 'A', 'K', + 'S', 'A', 'U', 'I', 'L', + 'S', 'A', 'W', 'A', 'N', + 'S', 'B', 'R', 'U', 'L', + 'S', 'C', 'H', 'W', 'A', + 'S', 'C', 'O', 'R', 'E', + 'S', 'D', 'O', 'N', 'G', + 'S', 'E', 'E', 'N', 'U', + 'S', 'E', 'G', 'N', 'O', + 'S', 'E', 'G', 'O', 'L', + 'S', 'E', 'N', 'T', 'I', + 'S', 'E', 'N', 'T', 'O', + 'S', 'E', 'R', 'I', 'F', + 'S', 'E', 'V', 'E', 'N', + 'S', 'H', 'A', 'B', '6', + 'S', 'H', 'A', 'D', 'E', + 'S', 'H', 'A', 'F', 'T', + 'S', 'H', 'A', 'N', 'G', + 'S', 'H', 'A', 'P', 'E', + 'S', 'H', 'A', 'R', '2', + 'S', 'H', 'A', 'R', 'A', + 'S', 'H', 'A', 'R', 'K', + 'S', 'H', 'A', 'R', 'P', + 'S', 'H', 'A', 'R', 'U', + 'S', 'H', 'C', 'H', 'A', + 'S', 'H', 'E', 'E', 'N', + 'S', 'H', 'E', 'E', 'P', + 'S', 'H', 'E', 'G', '9', + 'S', 'H', 'E', 'L', 'F', + 'S', 'H', 'E', 'L', 'L', + 'S', 'H', 'E', 'S', 'H', + 'S', 'H', 'E', 'U', 'X', + 'S', 'H', 'E', 'V', 'A', + 'S', 'H', 'I', 'F', 'T', + 'S', 'H', 'I', 'I', 'N', + 'S', 'H', 'I', 'M', 'A', + 'S', 'H', 'I', 'R', 'T', + 'S', 'H', 'I', 'T', 'A', + 'S', 'H', 'O', 'G', 'I', + 'S', 'H', 'O', 'O', 'I', + 'S', 'H', 'O', 'O', 'T', + 'S', 'H', 'O', 'R', 'T', + 'S', 'H', 'R', 'U', 'G', + 'S', 'H', 'U', 'E', 'Q', + 'S', 'H', 'U', 'O', 'P', + 'S', 'H', 'U', 'O', 'X', + 'S', 'H', 'U', 'R', 'X', + 'S', 'H', 'W', 'A', 'A', + 'S', 'H', 'W', 'I', 'I', + 'S', 'H', 'W', 'O', 'O', + 'S', 'H', 'W', 'O', 'Y', + 'S', 'H', 'Y', 'R', 'X', + 'S', 'I', 'G', 'E', 'L', + 'S', 'I', 'G', 'M', 'A', + 'S', 'I', 'G', 'N', 'S', + 'S', 'I', 'L', 'A', '3', + 'S', 'I', 'X', 'T', 'H', + 'S', 'I', 'X', 'T', 'Y', + 'S', 'K', 'A', 'T', 'E', + 'S', 'K', 'I', 'E', 'R', + 'S', 'K', 'U', 'L', 'L', + 'S', 'L', 'A', 'S', 'H', + 'S', 'L', 'A', 'V', 'E', + 'S', 'L', 'E', 'E', 'P', + 'S', 'L', 'I', 'C', 'E', + 'S', 'L', 'I', 'N', 'G', + 'S', 'L', 'O', 'A', 'N', + 'S', 'L', 'O', 'P', 'E', + 'S', 'L', 'O', 'V', 'O', + 'S', 'M', 'A', 'L', 'L', + 'S', 'M', 'A', 'S', 'H', + 'S', 'M', 'E', 'A', 'R', + 'S', 'M', 'I', 'L', 'E', + 'S', 'N', 'A', 'I', 'L', + 'S', 'N', 'A', 'K', 'E', + 'S', 'N', 'O', 'U', 'T', + 'S', 'O', 'L', 'I', 'D', + 'S', 'O', 'U', 'N', 'D', + 'S', 'O', 'U', 'T', 'H', + 'S', 'P', 'A', 'C', 'E', + 'S', 'P', 'A', 'D', 'E', + 'S', 'P', 'E', 'A', 'R', + 'S', 'P', 'I', 'C', 'E', + 'S', 'P', 'I', 'N', 'E', + 'S', 'P', 'L', 'I', 'T', + 'S', 'P', 'O', 'O', 'N', + 'S', 'Q', 'U', 'A', 'T', + 'S', 'Q', 'U', 'I', 'D', + 'S', 'S', 'H', 'I', 'N', + 'S', 'S', 'I', 'E', 'P', + 'S', 'S', 'I', 'E', 'X', + 'S', 'S', 'Y', 'R', 'X', + 'S', 'T', 'A', 'F', 'F', + 'S', 'T', 'A', 'N', 'D', + 'S', 'T', 'A', 'R', 'K', + 'S', 'T', 'A', 'R', 'S', + 'S', 'T', 'A', 'R', 'T', + 'S', 'T', 'E', 'A', 'M', + 'S', 'T', 'I', 'C', 'K', + 'S', 'T', 'I', 'L', 'E', + 'S', 'T', 'I', 'L', 'L', + 'S', 'T', 'O', 'C', 'K', + 'S', 'T', 'O', 'N', 'E', + 'S', 'T', 'O', 'R', 'E', + 'S', 'T', 'O', 'V', 'E', + 'S', 'T', 'U', 'D', 'Y', + 'S', 'U', 'A', 'E', 'N', + 'S', 'U', 'A', 'E', 'T', + 'S', 'U', 'H', 'U', 'R', + 'S', 'U', 'K', 'U', 'N', + 'S', 'U', 'P', 'E', 'R', + 'S', 'U', 'R', 'Y', 'A', + 'S', 'U', 'S', 'H', 'I', + 'S', 'U', 'T', 'R', 'A', + 'S', 'W', 'A', 'S', 'H', + 'S', 'W', 'E', 'A', 'T', + 'S', 'W', 'E', 'E', 'T', + 'S', 'W', 'I', 'R', 'L', + 'S', 'W', 'O', 'R', 'D', + 'S', 'W', 'U', 'N', 'G', + 'S', 'Y', 'R', 'M', 'A', + 'T', '0', '0', '3', 'A', + 'T', '0', '0', '7', 'A', + 'T', '0', '0', '8', 'A', + 'T', '0', '0', '9', 'A', + 'T', '0', '1', '1', 'A', + 'T', '0', '1', '6', 'A', + 'T', '0', '3', '2', 'A', + 'T', '0', '3', '3', 'A', + 'T', 'A', 'B', 'L', 'E', + 'T', 'A', 'K', 'R', 'I', + 'T', 'A', 'M', 'I', 'L', + 'T', 'A', 'P', 'E', 'R', + 'T', 'C', 'H', 'E', 'H', + 'T', 'E', 'A', 'R', 'S', + 'T', 'E', 'E', 'E', 'E', + 'T', 'E', 'E', 'N', 'S', + 'T', 'E', 'E', 'T', 'H', + 'T', 'E', 'G', 'E', 'H', + 'T', 'E', 'H', 'E', 'H', + 'T', 'E', 'I', 'W', 'S', + 'T', 'E', 'N', 'G', 'E', + 'T', 'E', 'N', 'S', 'E', + 'T', 'E', 'N', 'T', 'H', + 'T', 'E', 'V', 'I', 'R', + 'T', 'H', 'E', 'M', 'A', + 'T', 'H', 'E', 'R', 'E', + 'T', 'H', 'E', 'T', 'A', + 'T', 'H', 'E', 'T', 'H', + 'T', 'H', 'I', 'A', 'B', + 'T', 'H', 'I', 'C', 'K', + 'T', 'H', 'I', 'G', 'H', + 'T', 'H', 'I', 'R', 'D', + 'T', 'H', 'I', 'T', 'A', + 'T', 'H', 'O', 'N', 'G', + 'T', 'H', 'O', 'R', 'N', + 'T', 'H', 'R', 'E', 'E', + 'T', 'H', 'U', 'M', 'B', + 'T', 'H', 'U', 'N', 'G', + 'T', 'H', 'U', 'R', 'S', + 'T', 'H', 'W', 'A', 'A', + 'T', 'H', 'W', 'E', 'E', + 'T', 'H', 'W', 'I', 'I', + 'T', 'H', 'W', 'O', 'O', + 'T', 'I', 'A', 'R', 'A', + 'T', 'I', 'G', 'E', 'R', + 'T', 'I', 'G', 'H', 'T', + 'T', 'I', 'L', 'D', 'E', + 'T', 'I', 'L', 'E', 'S', + 'T', 'I', 'M', 'E', 'R', + 'T', 'I', 'M', 'E', 'S', + 'T', 'I', 'N', 'N', 'E', + 'T', 'I', 'P', 'P', 'I', + 'T', 'I', 'R', 'E', 'D', + 'T', 'I', 'R', 'T', 'A', + 'T', 'I', 'T', 'L', 'O', + 'T', 'I', 'W', 'A', 'Z', + 'T', 'L', 'H', 'E', 'E', + 'T', 'L', 'H', 'O', 'O', + 'T', 'L', 'H', 'W', 'E', + 'T', 'L', 'H', 'Y', 'A', + 'T', 'O', 'K', 'Y', 'O', + 'T', 'O', 'M', 'P', 'I', + 'T', 'O', 'N', 'A', 'L', + 'T', 'O', 'N', 'O', 'S', + 'T', 'O', 'O', 'T', 'H', + 'T', 'O', 'R', 'C', 'H', + 'T', 'O', 'R', 'S', 'O', + 'T', 'O', 'T', 'A', 'L', + 'T', 'O', 'U', 'C', 'H', + 'T', 'O', 'W', 'E', 'R', + 'T', 'R', 'A', 'C', 'K', + 'T', 'R', 'A', 'D', 'E', + 'T', 'R', 'A', 'I', 'N', + 'T', 'R', 'E', 'N', 'D', + 'T', 'R', 'I', 'O', 'N', + 'T', 'R', 'U', 'C', 'K', + 'T', 'R', 'U', 'N', 'K', + 'T', 'R', 'U', 'T', 'H', + 'T', 'S', 'A', 'D', 'I', + 'T', 'S', 'E', 'E', 'B', + 'T', 'S', 'E', 'R', 'E', + 'T', 'S', 'H', 'A', 'B', + 'T', 'S', 'H', 'E', 'G', + 'T', 'S', 'H', 'E', 'S', + 'T', 'T', 'H', 'A', 'A', + 'T', 'T', 'H', 'E', 'E', + 'T', 'T', 'H', 'O', 'O', + 'T', 'T', 'H', 'W', 'E', + 'T', 'T', 'S', 'E', 'E', + 'T', 'T', 'T', 'H', 'A', + 'T', 'U', 'A', 'E', 'P', + 'T', 'U', 'L', 'I', 'P', + 'T', 'U', 'M', 'A', 'E', + 'T', 'U', 'N', 'N', 'Y', + 'T', 'U', 'R', 'O', '2', + 'T', 'U', 'T', 'T', 'Y', + 'T', 'U', 'U', 'M', 'U', + 'U', '-', 'I', '-', 'I', + 'U', '-', 'Y', 'E', 'O', + 'U', '0', '0', '6', 'A', + 'U', '0', '0', '6', 'B', + 'U', '0', '2', '3', 'A', + 'U', '0', '2', '9', 'A', + 'U', '0', '3', '2', 'A', + 'U', 'D', 'A', 'A', 'T', + 'U', 'K', 'A', 'R', 'A', + 'U', 'M', 'B', 'I', 'N', + 'U', 'N', 'C', 'I', 'A', + 'U', 'N', 'D', 'E', 'R', + 'U', 'N', 'I', 'O', 'N', + 'U', 'N', 'I', 'T', 'Y', + 'U', 'P', 'P', 'E', 'R', + 'U', 'R', 'I', 'N', 'E', + 'U', 'R', 'U', 'D', 'A', + 'U', 'S', 'S', 'U', '3', + 'U', 'T', 'U', 'K', 'I', + 'V', '0', '0', '1', 'A', + 'V', '0', '0', '1', 'B', + 'V', '0', '0', '1', 'C', + 'V', '0', '0', '1', 'D', + 'V', '0', '0', '1', 'E', + 'V', '0', '0', '1', 'F', + 'V', '0', '0', '1', 'G', + 'V', '0', '0', '1', 'H', + 'V', '0', '0', '1', 'I', + 'V', '0', '0', '2', 'A', + 'V', '0', '0', '7', 'A', + 'V', '0', '0', '7', 'B', + 'V', '0', '1', '1', 'A', + 'V', '0', '1', '1', 'B', + 'V', '0', '1', '1', 'C', + 'V', '0', '1', '2', 'A', + 'V', '0', '1', '2', 'B', + 'V', '0', '2', '0', 'A', + 'V', '0', '2', '0', 'B', + 'V', '0', '2', '0', 'C', + 'V', '0', '2', '0', 'D', + 'V', '0', '2', '0', 'E', + 'V', '0', '2', '0', 'F', + 'V', '0', '2', '0', 'G', + 'V', '0', '2', '0', 'H', + 'V', '0', '2', '0', 'I', + 'V', '0', '2', '0', 'J', + 'V', '0', '2', '0', 'K', + 'V', '0', '2', '0', 'L', + 'V', '0', '2', '3', 'A', + 'V', '0', '2', '8', 'A', + 'V', '0', '2', '9', 'A', + 'V', '0', '3', '0', 'A', + 'V', '0', '3', '1', 'A', + 'V', '0', '3', '3', 'A', + 'V', '0', '3', '7', 'A', + 'V', '0', '4', '0', 'A', + 'V', 'A', 'A', 'V', 'U', + 'V', 'A', 'R', 'I', 'A', + 'V', 'A', 'R', 'Y', 'S', + 'V', 'A', 'S', 'I', 'S', + 'V', 'A', 'T', 'H', 'Y', + 'V', 'E', 'D', 'I', 'C', + 'V', 'E', 'R', 'G', 'E', + 'V', 'E', 'R', 'S', 'E', + 'V', 'E', 'S', 'T', 'A', + 'V', 'E', 'U', 'A', 'E', + 'V', 'I', 'D', 'E', 'O', + 'V', 'I', 'R', 'G', 'A', + 'V', 'I', 'R', 'G', 'O', + 'V', 'I', 'T', 'A', 'E', + 'V', 'O', 'C', 'A', 'L', + 'V', 'O', 'W', 'E', 'L', + 'V', 'Z', 'M', 'E', 'T', + 'W', '0', '0', '3', 'A', + 'W', '0', '0', '9', 'A', + 'W', '0', '1', '0', 'A', + 'W', '0', '1', '4', 'A', + 'W', '0', '1', '7', 'A', + 'W', '0', '1', '8', 'A', + 'W', '0', '2', '4', 'A', + 'W', 'A', 'A', 'V', 'U', + 'W', 'A', 'D', 'D', 'A', + 'W', 'A', 'I', 'S', 'T', + 'W', 'A', 'Q', 'F', 'A', + 'W', 'A', 'S', 'L', 'A', + 'W', 'A', 'T', 'C', 'H', + 'W', 'A', 'T', 'E', 'R', + 'W', 'A', 'T', 'T', 'O', + 'W', 'A', 'V', 'E', 'S', + 'W', 'E', 'A', 'R', 'Y', + 'W', 'E', 'D', 'G', 'E', + 'W', 'H', 'A', 'L', 'E', + 'W', 'H', 'E', 'A', 'T', + 'W', 'H', 'E', 'E', 'L', + 'W', 'H', 'I', 'T', 'E', + 'W', 'H', 'O', 'L', 'E', + 'W', 'I', 'A', 'N', 'G', + 'W', 'I', 'D', 'T', 'H', + 'W', 'I', 'N', 'D', 'U', + 'W', 'I', 'N', 'G', 'S', + 'W', 'I', 'N', 'J', 'A', + 'W', 'I', 'R', 'E', 'D', + 'W', 'O', 'M', 'A', 'N', + 'W', 'O', 'M', 'E', 'N', + 'W', 'O', 'R', 'L', 'D', + 'W', 'R', 'I', 'S', 'T', + 'W', 'R', 'O', 'N', 'G', + 'W', 'U', 'A', 'E', 'N', + 'W', 'U', 'A', 'E', 'T', + 'W', 'U', 'N', 'J', 'O', + 'X', '0', '0', '4', 'A', + 'X', '0', '0', '4', 'B', + 'X', '0', '0', '6', 'A', + 'X', '0', '0', '8', 'A', + 'X', 'I', 'R', 'O', 'N', + 'X', 'Y', 'E', 'E', 'M', + 'X', 'Y', 'O', 'O', 'J', + 'Y', '0', '0', '1', 'A', + 'Y', 'A', '-', 'Y', 'O', + 'Y', 'A', 'A', 'D', 'O', + 'Y', 'A', 'A', 'R', 'U', + 'Y', 'A', 'D', 'D', 'H', + 'Y', 'A', 'G', 'H', 'H', + 'Y', 'A', 'K', 'H', 'H', + 'Y', 'A', 'M', 'O', 'K', + 'Y', 'E', 'N', 'A', 'P', + 'Y', 'E', 'O', '-', 'O', + 'Y', 'E', 'O', '-', 'U', + 'Y', 'E', 'R', 'A', 'H', + 'Y', 'E', 'S', 'T', 'U', + 'Y', 'E', 'T', 'I', 'V', + 'Y', 'E', 'U', 'A', 'E', + 'Y', 'I', 'Z', 'E', 'T', + 'Y', 'O', '-', 'A', 'E', + 'Y', 'O', '-', 'E', 'O', + 'Y', 'O', '-', 'Y', 'A', + 'Y', 'U', '-', 'A', 'E', + 'Y', 'U', '-', 'E', 'O', + 'Y', 'U', '-', 'Y', 'E', + 'Y', 'U', 'A', 'E', 'N', + 'Y', 'U', 'W', 'O', 'Q', + 'Z', '0', '0', '2', 'A', + 'Z', '0', '0', '2', 'B', + 'Z', '0', '0', '2', 'C', + 'Z', '0', '0', '2', 'D', + 'Z', '0', '0', '3', 'A', + 'Z', '0', '0', '3', 'B', + 'Z', '0', '0', '4', 'A', + 'Z', '0', '0', '5', 'A', + 'Z', '0', '1', '5', 'A', + 'Z', '0', '1', '5', 'B', + 'Z', '0', '1', '5', 'C', + 'Z', '0', '1', '5', 'D', + 'Z', '0', '1', '5', 'E', + 'Z', '0', '1', '5', 'F', + 'Z', '0', '1', '5', 'G', + 'Z', '0', '1', '5', 'H', + 'Z', '0', '1', '5', 'I', + 'Z', '0', '1', '6', 'A', + 'Z', '0', '1', '6', 'B', + 'Z', '0', '1', '6', 'C', + 'Z', '0', '1', '6', 'D', + 'Z', '0', '1', '6', 'E', + 'Z', '0', '1', '6', 'F', + 'Z', '0', '1', '6', 'G', + 'Z', '0', '1', '6', 'H', + 'Z', 'A', 'Q', 'E', 'F', + 'Z', 'A', 'R', 'Q', 'A', + 'Z', 'A', 'Y', 'I', 'N', + 'Z', 'H', 'A', 'I', 'N', + 'Z', 'H', 'U', 'O', 'P', + 'Z', 'H', 'U', 'O', 'X', + 'Z', 'H', 'U', 'R', 'X', + 'Z', 'H', 'Y', 'R', 'X', + 'Z', 'I', 'L', 'D', 'E', + 'Z', 'I', 'N', 'O', 'R', + 'Z', 'I', 'Q', 'A', 'A', + 'Z', 'L', 'A', 'M', 'A', + 'Z', 'U', 'B', 'U', 'R', + 'Z', 'Y', 'G', 'O', 'S', + 'Z', 'Z', 'I', 'E', 'P', + 'Z', 'Z', 'I', 'E', 'T', + 'Z', 'Z', 'I', 'E', 'X', + 'Z', 'Z', 'S', 'Y', 'A', + 'Z', 'Z', 'U', 'R', 'X', + 'Z', 'Z', 'Y', 'R', 'X', + '-', 'K', 'H', 'Y', 'I', 'L', + '-', 'K', 'H', 'Y', 'U', 'D', + 'A', '7', '0', '9', '-', '2', + 'A', '7', '0', '9', '-', '3', + 'A', '7', '0', '9', '-', '4', + 'A', '7', '0', '9', '-', '6', + 'A', 'A', '0', '0', '7', 'A', + 'A', 'A', '0', '0', '7', 'B', + 'A', 'B', '0', '2', '1', 'F', + 'A', 'B', '0', '2', '1', 'M', + 'A', 'B', '0', '2', '2', 'F', + 'A', 'B', '0', '2', '2', 'M', + 'A', 'B', '0', '2', '3', 'M', + 'A', 'B', '1', '3', '1', 'A', + 'A', 'B', '1', '3', '1', 'B', + 'A', 'C', 'C', 'E', 'N', 'T', + 'A', 'C', 'C', 'E', 'P', 'T', + 'A', 'E', 'G', 'E', 'A', 'N', + 'A', 'E', 'R', 'I', 'A', 'L', + 'A', 'F', 'S', 'A', 'A', 'Q', + 'A', 'I', 'H', 'V', 'U', 'S', + 'A', 'I', 'K', 'A', 'R', 'A', + 'A', 'L', 'A', 'Y', 'H', 'E', + 'A', 'L', 'K', 'A', 'L', 'I', + 'A', 'L', 'M', 'O', 'S', 'T', + 'A', 'M', 'O', 'U', 'N', 'T', + 'A', 'N', 'C', 'H', 'O', 'R', + 'A', 'N', 'C', 'O', 'R', 'A', + 'A', 'N', 'G', 'L', 'E', 'D', + 'A', 'N', 'N', 'A', 'A', 'U', + 'A', 'P', 'A', 'A', 'T', 'O', + 'A', 'P', 'L', 'O', 'U', 'N', + 'A', 'R', '-', 'R', 'U', 'B', + 'A', 'R', 'A', 'B', 'I', 'C', + 'A', 'R', 'A', 'E', 'A', 'E', + 'A', 'R', 'L', 'A', 'U', 'G', + 'A', 'R', 'M', 'O', 'U', 'R', + 'A', 'R', 'O', 'U', 'N', 'D', + 'A', 'R', 'O', 'U', 'R', 'A', + 'A', 'R', 'R', 'I', 'V', 'E', + 'A', 'R', 'R', 'O', 'W', 'S', + 'A', 'R', 'S', 'E', 'O', 'S', + 'A', 'R', 'T', 'A', 'B', 'E', + 'A', 'R', 'T', 'I', 'S', 'T', + 'A', 'R', 'U', 'H', 'U', 'A', + 'A', 'S', 'C', 'E', 'N', 'T', + 'A', 'S', 'H', 'G', 'A', 'B', + 'A', 'S', 'Y', 'U', 'R', 'A', + 'A', 'T', 'M', 'A', 'A', 'U', + 'A', 'U', 'G', 'U', 'S', 'T', + 'A', 'U', 'T', 'U', 'M', 'N', + 'A', 'Y', 'A', 'N', 'N', 'A', + 'B', 'A', 'D', 'G', 'E', 'R', + 'B', 'A', 'H', 'A', 'R', '2', + 'B', 'A', 'I', 'M', 'A', 'I', + 'B', 'A', 'L', 'L', 'O', 'T', + 'B', 'A', 'L', 'U', 'D', 'A', + 'B', 'A', 'M', 'B', 'O', 'O', + 'B', 'A', 'N', 'A', 'N', 'A', + 'B', 'A', 'N', 'T', 'O', 'C', + 'B', 'A', 'R', 'B', 'E', 'R', + 'B', 'A', 'R', 'L', 'E', 'Y', + 'B', 'A', 'R', 'R', 'E', 'D', + 'B', 'A', 'R', 'R', 'E', 'E', + 'B', 'E', 'A', 'M', 'E', 'D', + 'B', 'E', 'A', 'V', 'E', 'R', + 'B', 'E', 'E', 'T', 'L', 'E', + 'B', 'E', 'F', 'O', 'R', 'E', + 'B', 'E', 'H', 'I', 'N', 'D', + 'B', 'E', 'R', 'B', 'E', 'R', + 'B', 'E', 'S', 'I', 'D', 'E', + 'B', 'E', 'Y', 'Y', 'A', 'L', + 'B', 'I', 'C', 'E', 'P', 'S', + 'B', 'I', 'K', 'I', 'N', 'I', + 'B', 'I', 'N', 'A', 'R', 'Y', + 'B', 'I', 'S', 'H', 'O', 'P', + 'B', 'I', 'T', 'I', 'N', 'G', + 'B', 'I', 'T', 'T', 'E', 'R', + 'B', 'O', 'R', 'U', 'T', 'O', + 'B', 'O', 'T', 'T', 'L', 'E', + 'B', 'O', 'T', 'T', 'O', 'M', + 'B', 'O', 'W', 'I', 'N', 'G', + 'B', 'O', 'W', 'T', 'I', 'E', + 'B', 'O', 'X', 'I', 'N', 'G', + 'B', 'R', 'A', 'H', 'M', 'I', + 'B', 'R', 'A', 'N', 'C', 'H', + 'B', 'R', 'E', 'A', 'T', 'H', + 'B', 'R', 'E', 'V', 'I', 'S', + 'B', 'R', 'I', 'D', 'G', 'E', + 'B', 'R', 'O', 'K', 'E', 'N', + 'B', 'R', 'O', 'N', 'Z', 'E', + 'B', 'U', 'B', 'B', 'L', 'E', + 'B', 'U', 'C', 'K', 'L', 'E', + 'B', 'U', 'L', 'L', 'E', 'T', + 'B', 'U', 'T', 'T', 'O', 'N', + 'C', 'A', 'C', 'T', 'U', 'S', + 'C', 'A', 'M', 'E', 'R', 'A', + 'C', 'A', 'M', 'N', 'U', 'C', + 'C', 'A', 'N', 'C', 'E', 'L', + 'C', 'A', 'N', 'C', 'E', 'R', + 'C', 'A', 'N', 'D', 'L', 'E', + 'C', 'A', 'N', 'D', 'R', 'A', + 'C', 'A', 'P', 'P', 'E', 'D', + 'C', 'A', 'R', 'I', 'A', 'N', + 'C', 'A', 'R', 'R', 'O', 'T', + 'C', 'A', 'S', 'K', 'E', 'T', + 'C', 'A', 'S', 'T', 'L', 'E', + 'C', 'A', 'T', 'A', 'W', 'A', + 'C', 'C', 'H', 'H', 'A', 'A', + 'C', 'C', 'H', 'H', 'E', 'E', + 'C', 'E', 'L', 'T', 'I', 'C', + 'C', 'E', 'N', 'T', 'R', 'E', + 'C', 'E', 'R', '-', 'W', 'A', + 'C', 'H', 'A', 'I', 'N', 'S', + 'C', 'H', 'A', 'K', 'M', 'A', + 'C', 'H', 'A', 'M', 'K', 'O', + 'C', 'H', 'A', 'N', 'G', 'E', + 'C', 'H', 'E', 'E', 'K', 'S', + 'C', 'H', 'E', 'E', 'S', 'E', + 'C', 'H', 'E', 'R', 'R', 'Y', + 'C', 'H', 'I', 'L', 'L', 'U', + 'C', 'H', 'I', 'R', 'E', 'T', + 'C', 'H', 'I', 'R', 'O', 'N', + 'C', 'H', 'R', 'I', 'V', 'I', + 'C', 'H', 'R', 'O', 'M', 'A', + 'C', 'H', 'U', 'R', 'C', 'H', + 'C', 'I', 'N', 'E', 'M', 'A', + 'C', 'I', 'R', 'C', 'L', 'E', + 'C', 'I', 'R', 'C', 'U', 'S', + 'C', 'L', 'E', 'F', '-', '1', + 'C', 'L', 'E', 'F', '-', '2', + 'C', 'L', 'I', 'V', 'I', 'S', + 'C', 'L', 'O', 'S', 'E', 'D', + 'C', 'L', 'O', 'S', 'E', 'T', + 'C', 'L', 'O', 'V', 'E', 'R', + 'C', 'O', 'F', 'F', 'I', 'N', + 'C', 'O', 'L', 'U', 'M', 'N', + 'C', 'O', 'M', 'I', 'N', 'G', + 'C', 'O', 'M', 'M', 'O', 'N', + 'C', 'O', 'O', 'K', 'E', 'D', + 'C', 'O', 'O', 'K', 'I', 'E', + 'C', 'O', 'P', 'P', 'E', 'R', + 'C', 'O', 'P', 'T', 'I', 'C', + 'C', 'O', 'R', 'N', 'E', 'R', + 'C', 'O', 'R', 'P', 'S', 'E', + 'C', 'O', 'U', 'P', 'L', 'E', + 'C', 'O', 'W', 'B', 'O', 'Y', + 'C', 'R', 'A', 'Y', 'O', 'N', + 'C', 'R', 'E', 'D', 'I', 'T', + 'C', 'R', 'O', 'C', 'U', 'S', + 'C', 'R', 'Y', 'I', 'N', 'G', + 'C', 'U', 'P', 'P', 'E', 'D', + 'C', 'U', 'R', 'V', 'E', 'D', + 'D', 'A', 'A', 'D', 'H', 'U', + 'D', 'A', 'G', 'E', 'S', 'H', + 'D', 'A', 'G', 'G', 'E', 'R', + 'D', 'A', 'L', 'A', 'T', 'H', + 'D', 'A', 'L', 'E', 'T', 'H', + 'D', 'A', 'M', 'A', 'R', 'U', + 'D', 'A', 'N', 'C', 'E', 'R', + 'D', 'A', 'S', 'E', 'I', 'A', + 'D', 'A', 'S', 'H', 'E', 'D', + 'D', 'D', 'A', 'H', 'A', 'L', + 'D', 'E', 'E', 'P', 'L', 'Y', + 'D', 'E', 'G', 'R', 'E', 'E', + 'D', 'E', 'L', 'E', 'T', 'E', + 'D', 'E', 'N', 'N', 'E', 'N', + 'D', 'E', 'N', 'T', 'A', 'L', + 'D', 'E', 'S', 'E', 'R', 'T', + 'D', 'E', 'S', 'I', 'G', 'N', + 'D', 'E', 'V', 'I', 'C', 'E', + 'D', 'H', 'A', 'A', 'L', 'U', + 'D', 'H', 'A', 'D', 'H', 'E', + 'D', 'H', 'A', 'R', 'M', 'A', + 'D', 'I', 'E', 'S', 'E', 'L', + 'D', 'I', 'E', 'S', 'I', 'S', + 'D', 'I', 'G', 'I', 'T', 'S', + 'D', 'I', 'G', 'R', 'A', 'M', + 'D', 'I', 'P', 'P', 'E', 'R', + 'D', 'I', 'R', 'E', 'C', 'T', + 'D', 'I', 'V', 'I', 'D', 'E', + 'D', 'J', 'E', 'R', 'V', 'I', + 'D', 'O', 'K', 'M', 'A', 'I', + 'D', 'O', 'L', 'I', 'U', 'M', + 'D', 'O', 'L', 'L', 'A', 'R', + 'D', 'O', 'M', 'A', 'I', 'N', + 'D', 'O', 'M', 'I', 'N', 'O', + 'D', 'O', 'T', 'S', '-', '1', + 'D', 'O', 'T', 'S', '-', '2', + 'D', 'O', 'T', 'S', '-', '3', + 'D', 'O', 'T', 'S', '-', '4', + 'D', 'O', 'T', 'S', '-', '5', + 'D', 'O', 'T', 'S', '-', '6', + 'D', 'O', 'T', 'S', '-', '7', + 'D', 'O', 'T', 'S', '-', '8', + 'D', 'O', 'T', 'T', 'E', 'D', + 'D', 'O', 'U', 'B', 'L', 'E', + 'D', 'R', 'A', 'G', 'O', 'N', + 'D', 'R', 'E', 'A', 'M', 'Y', + 'D', 'U', 'T', 'I', 'E', 'S', + 'E', '-', 'M', 'A', 'I', 'L', + 'E', 'I', 'G', 'H', 'T', 'H', + 'E', 'I', 'G', 'H', 'T', 'Y', + 'E', 'L', 'E', 'V', 'E', 'N', + 'E', 'M', 'B', 'L', 'E', 'M', + 'E', 'N', 'D', 'I', 'N', 'G', + 'E', 'N', 'G', 'I', 'N', 'E', + 'E', 'Q', 'U', 'A', 'L', 'S', + 'E', 'S', 'C', 'A', 'P', 'E', + 'E', 'T', 'E', 'R', 'O', 'N', + 'E', 'X', 'C', 'E', 'S', 'S', + 'E', 'X', 'H', 'A', 'L', 'E', + 'E', 'X', 'I', 'S', 'T', 'S', + 'E', 'Y', 'A', 'N', 'N', 'A', + 'F', 'A', 'A', 'M', 'A', 'E', + 'F', 'A', 'C', 'E', '-', '1', + 'F', 'A', 'C', 'E', '-', '2', + 'F', 'A', 'C', 'E', '-', '3', + 'F', 'A', 'C', 'E', '-', '4', + 'F', 'A', 'C', 'E', '-', '5', + 'F', 'A', 'C', 'E', '-', '6', + 'F', 'A', 'C', 'I', 'N', 'G', + 'F', 'A', 'C', 'T', 'O', 'R', + 'F', 'A', 'L', 'L', 'E', 'N', + 'F', 'A', 'M', 'I', 'L', 'Y', + 'F', 'A', 'T', 'H', 'E', 'R', + 'F', 'E', 'M', 'A', 'L', 'E', + 'F', 'E', 'N', 'C', 'E', 'R', + 'F', 'E', 'R', 'R', 'I', 'S', + 'F', 'H', 'T', 'O', 'R', 'A', + 'F', 'I', 'F', 'T', 'H', 'S', + 'F', 'I', 'G', 'U', 'R', 'E', + 'F', 'I', 'L', 'L', 'E', 'D', + 'F', 'I', 'L', 'L', 'E', 'R', + 'F', 'I', 'N', 'G', 'E', 'R', + 'F', 'I', 'N', 'I', 'T', 'E', + 'F', 'I', 'S', 'T', 'E', 'D', + 'F', 'L', 'A', 'G', '-', '1', + 'F', 'L', 'A', 'G', '-', '2', + 'F', 'L', 'A', 'G', '-', '3', + 'F', 'L', 'A', 'G', '-', '4', + 'F', 'L', 'A', 'G', '-', '5', + 'F', 'L', 'E', 'X', 'E', 'D', + 'F', 'L', 'E', 'X', 'U', 'S', + 'F', 'L', 'I', 'G', 'H', 'T', + 'F', 'L', 'O', 'P', 'P', 'Y', + 'F', 'L', 'O', 'R', 'A', 'L', + 'F', 'L', 'O', 'W', 'E', 'R', + 'F', 'L', 'Y', 'I', 'N', 'G', + 'F', 'O', 'L', 'D', 'E', 'D', + 'F', 'O', 'L', 'D', 'E', 'R', + 'F', 'O', 'R', 'C', 'E', 'S', + 'F', 'O', 'R', 'K', 'E', 'D', + 'F', 'O', 'R', 'M', 'A', 'T', + 'F', 'O', 'U', 'R', 'T', 'H', + 'F', 'R', 'A', 'M', 'E', 'S', + 'F', 'R', 'A', 'N', 'K', 'S', + 'F', 'R', 'E', 'N', 'C', 'H', + 'F', 'T', 'H', 'O', 'R', 'A', + 'G', 'A', 'N', 'G', 'I', 'A', + 'G', 'A', 'P', 'P', 'E', 'D', + 'G', 'A', 'R', 'D', 'E', 'N', + 'G', 'A', 'S', 'H', 'A', 'N', + 'G', 'E', 'D', 'O', 'L', 'A', + 'G', 'E', 'M', 'I', 'N', 'I', + 'G', 'E', 'N', 'I', 'K', 'I', + 'G', 'E', 'N', 'T', 'L', 'E', + 'G', 'E', 'R', 'E', 'S', 'H', + 'G', 'E', 'R', 'M', 'A', 'N', + 'G', 'H', 'A', 'I', 'N', 'U', + 'G', 'H', 'A', 'M', 'A', 'L', + 'G', 'H', 'A', 'M', 'M', 'A', + 'G', 'H', 'A', 'R', 'A', 'E', + 'G', 'H', 'E', 'U', 'A', 'E', + 'G', 'H', 'I', 'M', 'E', 'L', + 'G', 'H', 'U', 'N', 'N', 'A', + 'G', 'L', 'E', 'I', 'C', 'H', + 'G', 'O', 'B', 'L', 'I', 'N', + 'G', 'O', 'L', 'F', 'E', 'R', + 'G', 'O', 'R', 'G', 'O', 'N', + 'G', 'O', 'T', 'H', 'I', 'C', + 'G', 'R', 'A', 'M', 'M', 'A', + 'G', 'R', 'A', 'P', 'E', 'S', + 'G', 'R', 'A', 'T', 'E', 'R', + 'G', 'R', 'O', 'U', 'N', 'D', + 'G', 'U', 'I', 'T', 'A', 'R', + 'G', 'U', 'R', 'A', 'M', 'U', + 'G', 'U', 'R', 'U', 'S', 'H', + 'H', '-', 'T', 'Y', 'P', 'E', + 'H', 'A', 'F', 'U', 'K', 'H', + 'H', 'A', 'G', 'L', 'A', 'Z', + 'H', 'A', 'M', 'M', 'E', 'R', + 'H', 'A', 'N', 'D', 'L', 'E', + 'H', 'A', 'N', 'G', 'U', 'L', + 'H', 'A', 'T', 'R', 'A', 'N', + 'H', 'E', 'A', 'D', 'E', 'D', + 'H', 'E', 'A', 'R', 'T', 'S', + 'H', 'E', 'A', 'V', 'E', 'N', + 'H', 'E', 'B', 'R', 'E', 'W', + 'H', 'E', 'I', 'G', 'H', 'T', + 'H', 'E', 'I', 'S', 'E', 'I', + 'H', 'E', 'L', 'M', 'E', 'T', + 'H', 'E', 'R', 'M', 'E', 'S', + 'H', 'E', 'R', 'U', 'T', 'U', + 'H', 'I', '-', 'R', 'E', 'S', + 'H', 'I', 'D', 'I', 'N', 'G', + 'H', 'I', 'N', 'G', 'E', 'D', + 'H', 'O', 'C', 'K', 'E', 'Y', + 'H', 'O', 'L', 'L', 'O', 'W', + 'H', 'O', 'O', 'K', 'E', 'D', + 'H', 'U', 'I', 'I', 'T', 'O', + 'H', 'U', 'S', 'H', 'E', 'D', + 'H', 'Y', 'P', 'H', 'E', 'N', + 'I', '-', 'B', 'E', 'A', 'M', + 'I', '-', 'Y', 'A', '-', 'O', + 'I', 'L', 'I', 'M', 'M', 'U', + 'I', 'N', 'D', 'I', 'A', 'N', + 'I', 'N', 'G', 'W', 'A', 'Z', + 'I', 'N', 'H', 'A', 'L', 'E', + 'I', 'N', 'I', 'N', 'G', 'U', + 'I', 'N', 'S', 'E', 'C', 'T', + 'I', 'N', 'S', 'I', 'D', 'E', + 'I', 'S', 'A', 'K', 'I', 'A', + 'I', 'S', 'L', 'A', 'N', 'D', + 'I', 'S', 'S', 'H', 'A', 'R', + 'I', 'T', 'A', 'L', 'I', 'C', + 'I', 'Y', 'A', 'N', 'N', 'A', + 'J', 'H', 'A', 'Y', 'I', 'N', + 'J', 'O', 'I', 'N', 'E', 'D', + 'J', 'O', 'I', 'N', 'E', 'R', + 'J', 'O', 'I', 'N', 'T', 'S', + 'J', 'O', 'Y', 'O', 'U', 'S', + 'K', 'A', 'I', 'T', 'H', 'I', + 'K', 'A', 'N', 'A', 'K', 'O', + 'K', 'A', 'N', 'G', 'X', 'I', + 'K', 'A', 'S', 'K', 'A', 'L', + 'K', 'A', 'T', 'A', 'V', 'A', + 'K', 'A', 'V', 'Y', 'K', 'A', + 'K', 'A', 'Z', 'A', 'K', 'H', + 'K', 'E', 'F', 'U', 'L', 'A', + 'K', 'E', 'L', 'V', 'I', 'N', + 'K', 'E', 'M', 'P', 'L', 'I', + 'K', 'E', 'M', 'P', 'U', 'L', + 'K', 'E', 'U', 'A', 'E', 'M', + 'K', 'E', 'U', 'K', 'A', 'Q', + 'K', 'E', 'U', 'P', 'U', 'Q', + 'K', 'E', 'Y', 'C', 'A', 'P', + 'K', 'H', 'A', 'M', 'T', 'I', + 'K', 'H', 'A', 'N', 'D', 'A', + 'K', 'H', 'O', 'J', 'K', 'I', + 'K', 'H', 'O', 'M', 'U', 'T', + 'K', 'H', 'U', 'D', 'A', 'M', + 'K', 'I', 'E', 'V', 'A', 'N', + 'K', 'I', 'L', 'L', 'E', 'R', + 'K', 'I', 'M', 'O', 'N', 'O', + 'K', 'I', 'S', 'I', 'M', '5', + 'K', 'I', 'Y', 'E', 'O', 'K', + 'K', 'L', 'A', 'S', 'M', 'A', + 'K', 'L', 'I', 'T', 'O', 'N', + 'K', 'N', 'I', 'G', 'H', 'T', + 'K', 'O', 'G', 'H', 'O', 'M', + 'K', 'O', 'R', 'E', 'A', 'N', + 'K', 'O', 'R', 'U', 'N', 'A', + 'K', 'P', 'A', 'R', 'A', 'Q', + 'K', 'U', 'S', 'H', 'U', '2', + 'K', 'W', 'U', '3', '1', '8', + 'K', 'Y', 'U', 'R', 'I', 'I', + 'L', '-', 'T', 'Y', 'P', 'E', + 'L', 'A', 'A', 'N', 'A', 'E', + 'L', 'A', 'B', 'I', 'A', 'L', + 'L', 'A', 'H', 'S', 'H', 'U', + 'L', 'A', 'M', 'A', 'D', 'H', + 'L', 'A', 'M', 'B', 'D', 'A', + 'L', 'A', 'M', 'E', 'D', 'H', + 'L', 'A', 'R', 'G', 'E', 'R', + 'L', 'A', 'U', 'K', 'A', 'Z', + 'L', 'E', 'A', 'D', 'E', 'R', + 'L', 'E', 'D', 'G', 'E', 'R', + 'L', 'E', 'G', 'I', 'O', 'N', + 'L', 'E', 'I', 'M', 'M', 'A', + 'L', 'E', 'N', 'G', 'T', 'H', + 'L', 'E', 'P', 'C', 'H', 'A', + 'L', 'E', 'S', 'S', 'E', 'R', + 'L', 'E', 'T', 'T', 'E', 'R', + 'L', 'E', 'U', 'A', 'E', 'M', + 'L', 'E', 'U', 'A', 'E', 'P', + 'L', 'I', 'F', 'T', 'E', 'R', + 'L', 'I', 'L', 'I', 'T', 'H', + 'L', 'I', 'M', 'M', 'U', '2', + 'L', 'I', 'M', 'M', 'U', '4', + 'L', 'I', 'N', 'E', '-', '1', + 'L', 'I', 'N', 'E', '-', '3', + 'L', 'I', 'N', 'E', '-', '7', + 'L', 'I', 'N', 'E', '-', '9', + 'L', 'I', 'N', 'E', 'A', 'R', + 'L', 'I', 'N', 'G', 'S', 'A', + 'L', 'I', 'N', 'K', 'E', 'D', + 'L', 'I', 'Q', 'U', 'I', 'D', + 'L', 'I', 'T', 'T', 'E', 'R', + 'L', 'I', 'T', 'T', 'L', 'E', + 'L', 'I', 'Z', 'A', 'R', 'D', + 'L', 'O', 'M', 'M', 'A', 'E', + 'L', 'O', 'N', 'S', 'U', 'M', + 'L', 'O', 'O', 'P', 'E', 'D', + 'L', 'O', 'U', 'D', 'L', 'Y', + 'L', 'U', 'N', 'A', 'T', 'E', + 'L', 'U', 'N', 'G', 'S', 'I', + 'L', 'Y', 'C', 'I', 'A', 'N', + 'L', 'Y', 'D', 'I', 'A', 'N', + 'M', 'A', 'C', 'R', 'O', 'N', + 'M', 'A', 'D', 'D', 'A', 'H', + 'M', 'A', 'E', 'L', 'E', 'E', + 'M', 'A', 'E', 'M', 'B', 'A', + 'M', 'A', 'E', 'N', 'Y', 'I', + 'M', 'A', 'I', 'D', 'E', 'N', + 'M', 'A', 'N', 'C', 'H', 'U', + 'M', 'A', 'N', 'N', 'A', 'Z', + 'M', 'A', 'R', 'K', '-', '1', + 'M', 'A', 'R', 'K', '-', '2', + 'M', 'A', 'R', 'K', '-', '3', + 'M', 'A', 'R', 'K', '-', '4', + 'M', 'A', 'R', 'K', 'E', 'R', + 'M', 'A', 'R', 'U', 'K', 'U', + 'M', 'A', 'S', 'O', 'R', 'A', + 'M', 'A', 'T', 'R', 'I', 'X', + 'M', 'A', 'X', 'I', 'M', 'A', + 'M', 'B', 'A', 'N', 'Y', 'I', + 'M', 'B', 'E', 'R', 'A', 'E', + 'M', 'B', 'E', 'U', 'R', 'I', + 'M', 'B', 'U', 'A', 'E', 'M', + 'M', 'E', 'D', 'I', 'A', 'L', + 'M', 'E', 'D', 'I', 'U', 'M', + 'M', 'E', 'E', 'T', 'E', 'I', + 'M', 'E', 'G', 'A', 'L', 'I', + 'M', 'E', 'M', 'B', 'E', 'R', + 'M', 'E', 'N', 'D', 'U', 'T', + 'M', 'E', 'R', 'K', 'H', 'A', + 'M', 'E', 'T', 'R', 'I', 'A', + 'M', 'F', 'E', 'U', 'A', 'E', + 'M', 'F', 'I', 'Y', 'A', 'Q', + 'M', 'G', 'B', 'A', 'S', 'A', + 'M', 'G', 'B', 'E', 'U', 'N', + 'M', 'G', 'B', 'I', 'E', 'E', + 'M', 'I', 'D', 'D', 'L', 'E', + 'M', 'I', 'K', 'R', 'O', 'N', + 'M', 'I', 'L', 'L', 'E', 'T', + 'M', 'I', 'N', 'I', 'M', 'A', + 'M', 'O', 'B', 'I', 'L', 'E', + 'M', 'O', 'D', 'E', 'L', 'S', + 'M', 'O', 'D', 'E', 'R', 'N', + 'M', 'O', 'D', 'U', 'L', 'O', + 'M', 'O', 'N', 'K', 'E', 'Y', + 'M', 'O', 'R', 'T', 'A', 'R', + 'M', 'O', 'S', 'Q', 'U', 'E', + 'M', 'O', 'T', 'H', 'E', 'R', + 'M', 'U', 'C', 'A', 'A', 'D', + 'M', 'U', 'N', 'S', 'U', 'B', + 'M', 'U', 'O', 'M', 'A', 'E', + 'M', 'U', 'Q', 'D', 'A', 'M', + 'M', 'U', 'R', 'G', 'U', '2', + 'N', '-', 'C', 'R', 'E', 'E', + 'N', 'A', 'R', 'R', 'O', 'W', + 'N', 'A', 'U', 'D', 'I', 'Z', + 'N', 'A', 'U', 'T', 'H', 'S', + 'N', 'A', 'X', 'I', 'A', 'N', + 'N', 'D', 'O', 'M', 'B', 'U', + 'N', 'E', 'N', 'A', 'N', 'O', + 'N', 'E', 'S', 'T', 'E', 'D', + 'N', 'E', 'U', 'T', 'E', 'R', + 'N', 'G', 'A', 'N', 'G', 'U', + 'N', 'G', 'G', 'A', 'A', 'M', + 'N', 'G', 'G', 'E', 'E', 'T', + 'N', 'G', 'G', 'E', 'U', 'X', + 'N', 'G', 'G', 'U', 'O', 'M', + 'N', 'G', 'G', 'U', 'O', 'N', + 'N', 'G', 'G', 'U', 'O', 'Q', + 'N', 'G', 'K', 'E', 'U', 'X', + 'N', 'G', 'K', 'I', 'E', 'E', + 'N', 'G', 'K', 'Y', 'E', 'E', + 'N', 'G', 'U', 'A', 'E', 'T', + 'N', 'I', 'N', 'D', 'A', '2', + 'N', 'I', 'N', 'E', 'T', 'Y', + 'N', 'I', 'R', 'U', 'G', 'U', + 'N', 'J', 'E', 'E', 'E', 'E', + 'N', 'K', 'I', 'N', 'D', 'I', + 'N', 'L', '0', '0', '5', 'A', + 'N', 'L', '0', '1', '7', 'A', + 'N', 'O', 'K', 'H', 'U', 'K', + 'N', 'O', 'R', 'D', 'I', 'C', + 'N', 'O', 'R', 'M', 'A', 'L', + 'N', 'S', 'H', 'I', 'E', 'E', + 'N', 'S', 'H', 'U', 'E', 'T', + 'N', 'S', 'H', 'U', 'O', 'P', + 'N', 'S', 'I', 'E', 'E', 'P', + 'N', 'S', 'I', 'E', 'E', 'T', + 'N', 'U', '0', '1', '0', 'A', + 'N', 'U', '0', '1', '1', 'A', + 'N', 'U', '0', '1', '8', 'A', + 'N', 'U', '0', '2', '2', 'A', + 'N', 'U', 'B', 'I', 'A', 'N', + 'N', 'U', 'M', 'B', 'E', 'R', + 'N', 'U', 'M', 'E', 'R', 'O', + 'O', 'B', 'E', 'L', 'O', 'S', + 'O', 'B', 'E', 'L', 'U', 'S', + 'O', 'B', 'J', 'E', 'C', 'T', + 'O', 'C', 'L', 'O', 'C', 'K', + 'O', 'F', 'F', 'I', 'C', 'E', + 'O', 'G', 'O', 'N', 'E', 'K', + 'O', 'L', 'I', 'G', 'O', 'N', + 'O', 'M', 'A', 'L', 'O', 'N', + 'O', 'N', '-', 'O', 'F', 'F', + 'O', 'P', 'E', 'N', '-', 'O', + 'O', 'P', 'E', 'N', '-', 'P', + 'O', 'P', 'P', 'O', 'S', 'E', + 'O', 'P', 'T', 'I', 'O', 'N', + 'O', 'R', 'A', 'N', 'G', 'E', + 'O', 'R', 'C', 'H', 'I', 'D', + 'O', 'R', 'I', 'G', 'I', 'N', + 'O', 'R', 'K', 'H', 'O', 'N', + 'O', 'R', 'N', 'A', 'T', 'E', + 'O', 'T', 'H', 'E', 'R', 'S', + 'O', 'T', 'T', 'A', 'V', 'A', + 'O', 'U', 'N', 'K', 'I', 'A', + 'O', 'U', 'T', 'B', 'O', 'X', + 'O', 'X', 'E', 'I', 'A', 'I', + 'O', 'Y', 'A', 'N', 'N', 'A', + 'P', 'A', 'A', 'R', 'A', 'E', + 'P', 'A', 'D', 'D', 'L', 'E', + 'P', 'A', 'H', 'A', 'W', 'H', + 'P', 'A', 'I', 'R', 'E', 'D', + 'P', 'A', 'K', 'P', 'A', 'K', + 'P', 'A', 'L', 'L', 'A', 'S', + 'P', 'A', 'L', 'U', 'T', 'A', + 'P', 'A', 'M', 'A', 'D', 'A', + 'P', 'A', 'S', 'H', 'A', 'E', + 'P', 'A', 'S', 'H', 'T', 'A', + 'P', 'E', 'E', 'S', 'H', 'I', + 'P', 'E', 'N', 'C', 'I', 'L', + 'P', 'E', 'N', 'I', 'H', 'I', + 'P', 'E', 'O', 'P', 'L', 'E', + 'P', 'E', 'O', 'R', 'T', 'H', + 'P', 'E', 'P', 'P', 'E', 'R', + 'P', 'E', 'R', 'M', 'I', 'C', + 'P', 'E', 'R', 'N', 'I', 'N', + 'P', 'E', 'R', 'S', 'O', 'N', + 'P', 'E', 'R', 'T', 'H', 'O', + 'P', 'E', 'S', 'E', 'T', 'A', + 'P', 'E', 'U', 'T', 'A', 'E', + 'P', 'H', 'N', 'A', 'E', 'K', + 'P', 'H', 'O', 'N', 'E', 'S', + 'P', 'H', 'R', 'A', 'S', 'E', + 'P', 'I', 'A', 'S', 'M', 'A', + 'P', 'I', 'C', 'K', 'E', 'T', + 'P', 'I', 'K', 'U', 'R', 'U', + 'P', 'I', 'P', 'I', 'N', 'G', + 'P', 'I', 'R', 'A', 'C', 'Y', + 'P', 'I', 'S', 'C', 'E', 'S', + 'P', 'I', 'S', 'T', 'O', 'L', + 'P', 'L', 'A', 'N', 'C', 'K', + 'P', 'L', 'O', 'P', 'H', 'U', + 'P', 'L', 'U', 'M', 'E', 'D', + 'P', 'L', 'U', 'R', 'A', 'L', + 'P', 'O', 'C', 'K', 'E', 'T', + 'P', 'O', 'E', 'T', 'I', 'C', + 'P', 'O', 'E', 'T', 'R', 'Y', + 'P', 'O', 'I', 'N', 'T', 'O', + 'P', 'O', 'I', 'N', 'T', 'S', + 'P', 'O', 'K', 'O', 'J', 'I', + 'P', 'O', 'L', 'I', 'C', 'E', + 'P', 'O', 'L', 'I', 'S', 'H', + 'P', 'O', 'M', 'M', 'E', 'E', + 'P', 'O', 'O', 'D', 'L', 'E', + 'P', 'O', 'P', 'P', 'E', 'R', + 'P', 'O', 'S', 'T', 'A', 'L', + 'P', 'O', 'T', 'A', 'T', 'O', + 'P', 'O', 'W', 'D', 'E', 'R', + 'P', 'O', 'W', 'E', 'R', 'S', + 'P', 'R', 'A', 'Y', 'E', 'R', + 'P', 'R', 'I', 'N', 'C', 'E', + 'P', 'R', 'I', 'N', 'T', 'S', + 'P', 'R', 'O', 'T', 'O', 'S', + 'P', 'S', 'I', 'L', 'O', 'N', + 'P', 'T', 'H', 'A', 'H', 'A', + 'P', 'U', 'B', 'L', 'I', 'C', + 'P', 'U', 'F', 'F', 'E', 'D', + 'P', 'U', 'R', 'I', 'F', 'Y', + 'P', 'U', 'R', 'I', 'T', 'Y', + 'P', 'U', 'R', 'P', 'L', 'E', + 'Q', 'A', 'M', 'A', 'T', 'S', + 'Q', 'A', 'R', 'N', 'E', 'Y', + 'Q', 'E', 'T', 'A', 'N', 'A', + 'Q', 'U', 'B', 'U', 'T', 'S', + 'R', '-', 'C', 'R', 'E', 'E', + 'R', 'A', 'B', 'B', 'I', 'T', + 'R', 'A', 'C', 'I', 'N', 'G', + 'R', 'A', 'I', 'S', 'E', 'D', + 'R', 'A', 'M', 'B', 'A', 'T', + 'R', 'A', 'S', 'O', 'U', 'L', + 'R', 'E', 'C', 'O', 'R', 'D', + 'R', 'E', 'J', 'A', 'N', 'G', + 'R', 'E', 'M', 'E', 'D', 'Y', + 'R', 'E', 'P', 'E', 'A', 'T', + 'R', 'E', 'T', 'O', 'R', 'T', + 'R', 'E', 'T', 'U', 'R', 'N', + 'R', 'H', 'O', 'T', 'I', 'C', + 'R', 'I', 'B', 'B', 'O', 'N', + 'R', 'I', 'K', 'R', 'I', 'K', + 'R', 'I', 'M', 'G', 'B', 'A', + 'R', 'I', 'P', 'P', 'L', 'E', + 'R', 'I', 'S', 'I', 'N', 'G', + 'R', 'I', 'T', 'U', 'A', 'L', + 'R', 'N', 'Y', 'I', 'N', 'G', + 'R', 'O', 'C', 'K', 'E', 'T', + 'R', 'O', 'L', 'L', 'E', 'R', + 'R', 'T', 'H', 'A', 'N', 'G', + 'R', 'U', 'N', 'N', 'E', 'R', + 'R', 'U', 'N', 'O', 'U', 'T', + 'S', 'A', 'A', 'D', 'H', 'U', + 'S', 'A', 'F', 'E', 'T', 'Y', + 'S', 'A', 'J', 'D', 'A', 'H', + 'S', 'A', 'L', 'T', '-', '2', + 'S', 'A', 'M', 'E', 'K', 'H', + 'S', 'A', 'M', 'V', 'A', 'T', + 'S', 'A', 'M', 'Y', 'O', 'K', + 'S', 'A', 'N', 'D', 'A', 'L', + 'S', 'A', 'N', 'D', 'H', 'I', + 'S', 'A', 'N', 'G', 'A', '2', + 'S', 'A', 'N', 'N', 'Y', 'A', + 'S', 'A', 'T', 'U', 'R', 'N', + 'S', 'A', 'Y', 'I', 'S', 'I', + 'S', 'C', 'A', 'L', 'E', 'S', + 'S', 'C', 'H', 'E', 'M', 'A', + 'S', 'C', 'H', 'O', 'O', 'L', + 'S', 'C', 'R', 'E', 'E', 'N', + 'S', 'C', 'R', 'I', 'P', 'T', + 'S', 'C', 'R', 'O', 'L', 'L', + 'S', 'E', 'C', 'A', 'N', 'T', + 'S', 'E', 'C', 'O', 'N', 'D', + 'S', 'E', 'C', 'R', 'E', 'T', + 'S', 'E', 'C', 'T', 'O', 'R', + 'S', 'E', 'I', 'S', 'M', 'A', + 'S', 'E', 'L', 'F', 'I', 'E', + 'S', 'E', 'R', 'I', 'F', 'S', + 'S', 'E', 'S', 'A', 'M', 'E', + 'S', 'E', 'T', 'F', 'O', 'N', + 'S', 'E', 'U', 'A', 'E', 'Q', + 'S', 'H', 'A', 'D', 'D', 'A', + 'S', 'H', 'A', 'D', 'E', 'D', + 'S', 'H', 'A', 'K', 'T', 'I', + 'S', 'H', 'A', 'P', 'E', 'S', + 'S', 'H', 'A', 'V', 'E', 'D', + 'S', 'H', 'E', 'E', 'N', 'U', + 'S', 'H', 'E', 'Q', 'E', 'L', + 'S', 'H', 'E', 'S', 'H', '2', + 'S', 'H', 'E', 'U', 'A', 'E', + 'S', 'H', 'E', 'U', 'O', 'Q', + 'S', 'H', 'I', 'E', 'L', 'D', + 'S', 'H', 'I', 'N', 'D', 'A', + 'S', 'H', 'I', 'N', 'I', 'G', + 'S', 'H', 'I', 'N', 'T', 'O', + 'S', 'H', 'I', 'R', 'A', 'E', + 'S', 'H', 'O', 'R', 'T', 'S', + 'S', 'H', 'O', 'W', 'E', 'R', + 'S', 'H', 'R', 'I', 'M', 'P', + 'S', 'H', 'R', 'I', 'N', 'E', + 'S', 'H', 'U', 'B', 'U', 'R', + 'S', 'I', 'C', 'K', 'L', 'E', + 'S', 'I', 'D', 'D', 'H', 'I', + 'S', 'I', 'L', 'V', 'E', 'R', + 'S', 'I', 'N', 'D', 'H', 'I', + 'S', 'I', 'N', 'G', 'L', 'E', + 'S', 'I', 'X', 'T', 'H', 'S', + 'S', 'K', 'E', 'W', 'E', 'D', + 'S', 'L', 'E', 'E', 'P', 'Y', + 'S', 'L', 'E', 'U', 'T', 'H', + 'S', 'L', 'I', 'D', 'E', 'R', + 'S', 'L', 'O', 'W', 'L', 'Y', + 'S', 'O', 'C', 'C', 'E', 'R', + 'S', 'O', 'N', 'J', 'A', 'M', + 'S', 'O', 'U', 'N', 'A', 'P', + 'S', 'O', 'U', 'R', 'C', 'E', + 'S', 'O', 'W', 'I', 'L', 'O', + 'S', 'P', 'A', 'D', 'E', 'S', + 'S', 'P', 'A', 'T', 'H', 'I', + 'S', 'P', 'E', 'E', 'C', 'H', + 'S', 'P', 'I', 'D', 'E', 'R', + 'S', 'P', 'I', 'R', 'A', 'L', + 'S', 'P', 'I', 'R', 'I', 'T', + 'S', 'P', 'O', 'K', 'E', 'D', + 'S', 'P', 'O', 'R', 'T', 'S', + 'S', 'P', 'R', 'E', 'A', 'D', + 'S', 'P', 'R', 'I', 'N', 'G', + 'S', 'P', 'R', 'O', 'U', 'T', + 'S', 'P', 'U', 'N', 'G', 'S', + 'S', 'Q', 'U', 'A', 'R', 'E', + 'S', 'Q', 'U', 'I', 'S', 'H', + 'S', 'T', 'A', 'T', 'U', 'E', + 'S', 'T', 'E', 'R', 'E', 'O', + 'S', 'T', 'I', 'G', 'M', 'A', + 'S', 'T', 'I', 'M', 'M', 'E', + 'S', 'T', 'R', 'A', 'I', 'F', + 'S', 'T', 'R', 'E', 'S', 'S', + 'S', 'T', 'R', 'I', 'D', 'E', + 'S', 'T', 'R', 'I', 'K', 'E', + 'S', 'T', 'R', 'I', 'P', 'E', + 'S', 'T', 'R', 'O', 'K', 'E', + 'S', 'T', 'R', 'O', 'N', 'G', + 'S', 'T', 'U', 'D', 'I', 'O', + 'S', 'U', 'B', 'I', 'T', 'O', + 'S', 'U', 'B', 'S', 'E', 'T', + 'S', 'U', 'C', 'K', 'E', 'D', + 'S', 'U', 'L', 'F', 'U', 'R', + 'S', 'U', 'M', 'A', 'S', 'H', + 'S', 'U', 'M', 'M', 'E', 'R', + 'S', 'U', 'N', 'S', 'E', 'T', + 'S', 'U', 'R', 'A', 'N', 'G', + 'S', 'U', 'R', 'F', 'E', 'R', + 'S', 'V', 'A', 'S', 'T', 'I', + 'S', 'W', 'O', 'R', 'D', 'S', + 'S', 'Y', 'L', 'O', 'T', 'I', + 'S', 'Y', 'M', 'B', 'O', 'L', + 'S', 'Y', 'N', 'A', 'F', 'I', + 'S', 'Y', 'O', 'U', 'W', 'A', + 'S', 'Y', 'R', 'I', 'A', 'C', + 'T', 'A', '-', 'R', 'O', 'L', + 'T', 'A', 'I', 'L', 'E', 'D', + 'T', 'A', 'L', 'E', 'N', 'T', + 'T', 'A', 'L', 'I', 'N', 'G', + 'T', 'A', 'M', 'I', 'N', 'G', + 'T', 'A', 'N', 'G', 'U', 'T', + 'T', 'A', 'N', 'N', 'E', 'D', + 'T', 'A', 'R', 'G', 'E', 'T', + 'T', 'A', 'R', 'T', 'A', 'R', + 'T', 'A', 'R', 'U', 'N', 'G', + 'T', 'A', 'U', 'R', 'U', 'S', + 'T', 'E', 'A', 'C', 'U', 'P', + 'T', 'E', 'D', 'U', 'N', 'G', + 'T', 'E', 'L', 'E', 'I', 'A', + 'T', 'E', 'L', 'L', 'E', 'R', + 'T', 'E', 'L', 'O', 'U', 'S', + 'T', 'E', 'L', 'U', 'G', 'U', + 'T', 'E', 'M', 'P', 'U', 'S', + 'T', 'E', 'N', 'N', 'I', 'S', + 'T', 'E', 'N', 'U', 'T', 'O', + 'T', 'E', 'U', 'A', 'E', 'N', + 'T', 'E', 'U', 'A', 'E', 'Q', + 'T', 'H', 'A', 'A', 'L', 'U', + 'T', 'H', 'A', 'A', 'N', 'A', + 'T', 'H', 'A', 'H', 'A', 'N', + 'T', 'H', 'A', 'N', 'N', 'A', + 'T', 'H', 'E', 'T', 'H', 'E', + 'T', 'H', 'I', 'R', 'D', 'S', + 'T', 'H', 'I', 'R', 'T', 'Y', + 'T', 'H', 'I', 'U', 'T', 'H', + 'T', 'H', 'R', 'E', 'A', 'D', + 'T', 'H', 'U', 'M', 'B', 'S', + 'T', 'H', 'Y', 'O', 'O', 'M', + 'T', 'I', 'C', 'K', 'E', 'T', + 'T', 'I', 'K', 'E', 'U', 'T', + 'T', 'I', 'P', 'E', 'H', 'A', + 'T', 'I', 'R', 'Y', 'A', 'K', + 'T', 'O', 'I', 'L', 'E', 'T', + 'T', 'O', 'L', 'O', 'N', 'G', + 'T', 'O', 'M', 'A', 'T', 'O', + 'T', 'O', 'N', 'E', '-', '1', + 'T', 'O', 'N', 'E', '-', '2', + 'T', 'O', 'N', 'E', '-', '3', + 'T', 'O', 'N', 'E', '-', '4', + 'T', 'O', 'N', 'E', '-', '5', + 'T', 'O', 'N', 'E', '-', '6', + 'T', 'O', 'N', 'E', '-', '7', + 'T', 'O', 'N', 'E', '-', '8', + 'T', 'O', 'N', 'G', 'U', 'E', + 'T', 'O', 'P', 'B', 'A', 'R', + 'T', 'R', 'I', 'P', 'L', 'E', + 'T', 'R', 'I', 'P', 'L', 'I', + 'T', 'R', 'I', 'P', 'O', 'D', + 'T', 'R', 'I', 'T', 'O', 'S', + 'T', 'R', 'O', 'P', 'H', 'Y', + 'T', 'S', 'H', 'E', 'E', 'J', + 'T', 'S', 'H', 'O', 'O', 'J', + 'T', 'S', 'H', 'O', 'O', 'K', + 'T', 'S', 'H', 'U', 'G', 'S', + 'T', 'T', 'E', 'H', 'E', 'H', + 'T', 'U', 'A', 'R', 'E', 'G', + 'T', 'U', 'G', 'R', 'I', 'K', + 'T', 'U', 'R', 'B', 'A', 'N', + 'T', 'U', 'R', 'K', 'E', 'Y', + 'T', 'U', 'R', 'K', 'I', 'C', + 'T', 'U', 'R', 'N', 'E', 'D', + 'T', 'U', 'R', 'T', 'L', 'E', + 'T', 'U', 'X', 'E', 'D', 'O', + 'T', 'V', 'R', 'I', 'D', 'O', + 'T', 'W', 'E', 'L', 'V', 'E', + 'T', 'W', 'E', 'N', 'T', 'Y', + 'T', 'W', 'O', '-', 'E', 'M', + 'T', 'X', 'H', 'E', 'E', 'J', + 'T', 'Y', 'P', 'E', '-', '1', + 'T', 'Y', 'P', 'E', '-', '2', + 'T', 'Y', 'P', 'E', '-', '3', + 'T', 'Y', 'P', 'E', '-', '4', + 'T', 'Y', 'P', 'E', '-', '5', + 'T', 'Y', 'P', 'E', '-', '6', + 'T', 'Y', 'P', 'E', '-', '7', + 'U', 'D', 'A', 'T', 'T', 'A', + 'U', 'I', 'G', 'H', 'U', 'R', + 'U', 'P', 'T', 'U', 'R', 'N', + 'U', 'P', 'W', 'A', 'R', 'D', + 'U', 'R', 'A', 'N', 'U', 'S', + 'U', 'S', 'H', 'U', 'M', 'X', + 'U', 'Y', 'A', 'N', 'N', 'A', + 'V', 'A', 'L', 'L', 'E', 'Y', + 'V', 'A', 'R', 'E', 'I', 'A', + 'V', 'A', 'R', 'I', 'K', 'A', + 'V', 'E', 'C', 'T', 'O', 'R', + 'V', 'E', 'S', 'S', 'E', 'L', + 'V', 'I', 'D', 'J', '-', '2', + 'V', 'I', 'O', 'L', 'I', 'N', + 'V', 'I', 'R', 'A', 'M', 'A', + 'V', 'I', 'R', 'I', 'A', 'M', + 'V', 'O', 'I', 'C', 'E', 'D', + 'V', 'O', 'L', 'U', 'M', 'E', + 'V', 'R', 'A', 'C', 'H', 'Y', + 'V', 'U', 'L', 'G', 'A', 'R', + 'W', 'A', 'N', 'I', 'N', 'G', + 'W', 'A', 'R', 'A', 'N', 'G', + 'W', 'A', 'V', 'I', 'N', 'G', + 'W', 'A', 'X', 'I', 'N', 'G', + 'W', 'E', 'A', 'P', 'O', 'N', + 'W', 'E', 'I', 'G', 'H', 'T', + 'W', 'I', 'G', 'G', 'L', 'Y', + 'W', 'I', 'L', 'T', 'E', 'D', + 'W', 'I', 'N', 'D', 'O', 'W', + 'W', 'I', 'N', 'T', 'E', 'R', + 'W', 'I', 'T', 'H', 'I', 'N', + 'W', 'O', 'L', 'O', 'S', 'O', + 'W', 'O', 'M', 'A', 'N', 'S', + 'W', 'O', 'M', 'E', 'N', 'S', + 'W', 'O', 'R', 'K', 'E', 'R', + 'W', 'R', 'E', 'A', 'T', 'H', + 'W', 'R', 'E', 'N', 'C', 'H', + 'X', 'E', 'S', 'T', 'E', 'S', + 'Y', '-', 'C', 'R', 'E', 'E', + 'Y', 'A', 'K', 'A', 'S', 'H', + 'Y', 'E', 'L', 'L', 'O', 'W', + 'Y', 'E', 'O', '-', 'Y', 'A', + 'Y', 'E', 'U', 'A', 'E', 'T', + 'Y', 'E', 'U', 'R', 'A', 'E', + 'Y', 'F', 'E', 'S', 'I', 'S', + 'Y', 'O', '-', 'Y', 'A', 'E', + 'Y', 'O', '-', 'Y', 'E', 'O', + 'Y', 'P', 'S', 'I', 'L', 'I', + 'Y', 'U', '-', 'Y', 'E', 'O', + 'Z', 'E', 'M', 'L', 'J', 'A', + 'Z', 'E', 'M', 'L', 'Y', 'A', + 'Z', 'H', 'A', 'Y', 'I', 'N', + 'Z', 'I', 'G', 'Z', 'A', 'G', + 'Z', 'Q', 'A', 'P', 'H', 'A', + 'Z', 'W', 'N', 'B', 'S', 'P', + 'A', 'A', 'Y', 'A', 'N', 'N', 'A', + 'A', 'B', 'A', 'F', 'I', 'L', 'I', + 'A', 'B', 'Y', 'S', 'M', 'A', 'L', + 'A', 'C', 'A', 'D', 'E', 'M', 'Y', + 'A', 'C', 'C', 'O', 'U', 'N', 'T', + 'A', 'D', 'D', 'R', 'E', 'S', 'S', + 'A', 'D', 'V', 'A', 'N', 'C', 'E', + 'A', 'E', 'Y', 'A', 'N', 'N', 'A', + 'A', 'F', 'G', 'H', 'A', 'N', 'I', + 'A', 'F', 'R', 'I', 'C', 'A', 'N', + 'A', 'G', 'A', 'I', 'N', 'S', 'T', + 'A', 'H', 'A', 'G', 'G', 'A', 'R', + 'A', 'I', 'V', 'I', 'L', 'I', 'K', + 'A', 'I', 'Y', 'A', 'N', 'N', 'A', + 'A', 'L', 'E', 'M', 'B', 'I', 'C', + 'A', 'L', 'I', 'G', 'N', 'E', 'D', + 'A', 'L', 'L', 'A', 'H', 'O', 'U', + 'A', 'M', 'A', 'L', 'G', 'A', 'M', + 'A', 'M', 'P', 'H', 'O', 'R', 'A', + 'A', 'N', '-', 'N', 'I', 'S', 'F', + 'A', 'N', 'G', 'U', 'L', 'A', 'R', + 'A', 'N', 'N', 'U', 'I', 'T', 'Y', + 'A', 'N', 'T', 'E', 'N', 'N', 'A', + 'A', 'P', 'O', 'T', 'H', 'E', 'S', + 'A', 'R', 'A', 'B', 'I', 'A', 'N', + 'A', 'R', 'A', 'E', 'A', '-', 'A', + 'A', 'R', 'A', 'E', 'A', '-', 'E', + 'A', 'R', 'A', 'E', 'A', '-', 'I', + 'A', 'R', 'A', 'E', 'A', '-', 'U', + 'A', 'R', 'A', 'M', 'A', 'I', 'C', + 'A', 'R', 'C', 'H', 'A', 'I', 'C', + 'A', 'R', 'K', 'A', 'A', 'N', 'U', + 'A', 'R', 'K', 'T', 'I', 'K', 'O', + 'A', 'R', 'S', 'E', 'N', 'I', 'C', + 'A', 'U', 'S', 'T', 'R', 'A', 'L', + 'A', 'U', 'Y', 'A', 'N', 'N', 'A', + 'A', 'V', 'E', 'R', 'A', 'G', 'E', + 'A', 'V', 'E', 'S', 'T', 'A', 'N', + 'A', 'V', 'O', 'C', 'A', 'D', 'O', + 'B', 'A', 'A', 'R', 'E', 'R', 'U', + 'B', 'A', 'G', 'G', 'A', 'G', 'E', + 'B', 'A', 'I', 'R', 'K', 'A', 'N', + 'B', 'A', 'L', 'L', 'O', 'O', 'N', + 'B', 'A', 'M', 'B', 'O', 'O', 'S', + 'B', 'A', 'R', 'L', 'I', 'N', 'E', + 'B', 'A', 'R', 'R', 'E', 'K', 'H', + 'B', 'A', 'R', 'R', 'I', 'E', 'R', + 'B', 'A', 'S', 'H', 'K', 'I', 'R', + 'B', 'A', 'T', 'H', 'T', 'U', 'B', + 'B', 'A', 'T', 'T', 'E', 'R', 'Y', + 'B', 'A', 'Y', 'A', 'N', 'N', 'A', + 'B', 'E', 'A', 'T', 'I', 'N', 'G', + 'B', 'E', 'C', 'A', 'U', 'S', 'E', + 'B', 'E', 'E', 'H', 'I', 'V', 'E', + 'B', 'E', 'L', 'L', 'H', 'O', 'P', + 'B', 'E', 'N', 'G', 'A', 'L', 'I', + 'B', 'E', 'N', 'Z', 'E', 'N', 'E', + 'B', 'E', 'T', 'W', 'E', 'E', 'N', + 'B', 'I', 'C', 'Y', 'C', 'L', 'E', + 'B', 'I', 'N', 'D', 'I', 'N', 'G', + 'B', 'I', 'S', 'M', 'U', 'T', 'H', + 'B', 'J', 'A', 'R', 'K', 'A', 'N', + 'B', 'L', 'E', 'N', 'D', 'E', 'D', + 'B', 'L', 'O', 'S', 'S', 'O', 'M', + 'B', 'L', 'O', 'W', 'I', 'N', 'G', + 'B', 'O', 'R', 'A', 'X', '-', '2', + 'B', 'O', 'R', 'A', 'X', '-', '3', + 'B', 'O', 'U', 'Q', 'U', 'E', 'T', + 'B', 'O', 'W', 'L', 'I', 'N', 'G', + 'B', 'R', 'A', 'C', 'K', 'E', 'T', + 'B', 'R', 'A', 'I', 'L', 'L', 'E', + 'B', 'R', 'A', 'K', 'C', 'E', 'T', + 'B', 'R', 'I', 'S', 'T', 'L', 'E', + 'B', 'U', 'B', 'B', 'L', 'E', 'S', + 'B', 'U', 'F', 'F', 'A', 'L', 'O', + 'B', 'U', 'R', 'R', 'I', 'T', 'O', + 'B', 'U', 'U', 'M', 'I', 'S', 'H', + 'C', 'A', 'B', 'I', 'N', 'E', 'T', + 'C', 'A', 'E', 'S', 'U', 'R', 'A', + 'C', 'A', 'M', 'P', 'I', 'N', 'G', + 'C', 'A', 'P', 'I', 'T', 'A', 'L', + 'C', 'A', 'P', 'T', 'I', 'V', 'E', + 'C', 'A', 'R', 'R', 'I', 'E', 'R', + 'C', 'A', 'U', 'T', 'I', 'O', 'N', + 'C', 'A', 'Y', 'A', 'N', 'N', 'A', + 'C', 'E', 'D', 'I', 'L', 'L', 'A', + 'C', 'E', 'I', 'L', 'I', 'N', 'G', + 'C', 'E', 'L', 'S', 'I', 'U', 'S', + 'C', 'E', 'N', 'T', 'R', 'E', 'D', + 'C', 'H', 'A', 'M', 'I', 'L', 'I', + 'C', 'H', 'A', 'P', 'T', 'E', 'R', + 'C', 'H', 'A', 'R', 'I', 'O', 'T', + 'C', 'H', 'E', 'C', 'K', 'E', 'R', + 'C', 'H', 'E', 'I', 'N', 'A', 'P', + 'C', 'H', 'E', 'V', 'R', 'O', 'N', + 'C', 'H', 'I', 'C', 'K', 'E', 'N', + 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'C', 'H', 'I', 'N', 'E', 'S', 'E', + 'C', 'H', 'I', 'N', 'O', 'O', 'K', + 'C', 'H', 'R', 'O', 'N', 'O', 'N', + 'C', 'H', 'R', 'O', 'N', 'O', 'U', + 'C', 'I', 'R', 'C', 'L', 'E', 'D', + 'C', 'I', 'R', 'C', 'L', 'E', 'S', + 'C', 'L', 'A', 'P', 'P', 'E', 'R', + 'C', 'L', 'E', 'A', 'V', 'E', 'R', + 'C', 'L', 'O', 'S', 'I', 'N', 'G', + 'C', 'L', 'O', 'S', 'U', 'R', 'E', + 'C', 'L', 'O', 'T', 'H', 'E', 'S', + 'C', 'L', 'U', 'S', 'T', 'E', 'R', + 'C', 'O', 'A', 'S', 'T', 'E', 'R', + 'C', 'O', 'M', 'P', 'A', 'R', 'E', + 'C', 'O', 'N', 'I', 'C', 'A', 'L', + 'C', 'O', 'N', 'T', 'A', 'C', 'T', + 'C', 'O', 'N', 'T', 'A', 'I', 'N', + 'C', 'O', 'N', 'T', 'O', 'U', 'R', + 'C', 'O', 'N', 'T', 'R', 'O', 'L', + 'C', 'O', 'O', 'K', 'I', 'N', 'G', + 'C', 'O', 'R', 'N', 'E', 'R', 'S', + 'C', 'O', 'R', 'O', 'N', 'I', 'S', + 'C', 'O', 'R', 'R', 'E', 'C', 'T', + 'C', 'O', 'U', 'N', 'C', 'I', 'L', + 'C', 'R', 'A', 'C', 'K', 'E', 'R', + 'C', 'R', 'I', 'C', 'K', 'E', 'T', + 'C', 'R', 'O', 'S', 'S', 'E', 'D', + 'C', 'R', 'Y', 'S', 'T', 'A', 'L', + 'C', 'U', 'R', 'R', 'E', 'N', 'T', + 'C', 'U', 'R', 'S', 'I', 'V', 'E', + 'C', 'U', 'R', 'V', 'I', 'N', 'G', + 'C', 'U', 'S', 'T', 'A', 'R', 'D', + 'C', 'U', 'S', 'T', 'O', 'M', 'S', + 'C', 'W', 'E', 'O', 'R', 'T', 'H', + 'C', 'Y', 'C', 'L', 'O', 'N', 'E', + 'C', 'Y', 'P', 'E', 'R', 'U', 'S', + 'C', 'Y', 'P', 'R', 'I', 'O', 'T', + 'D', 'A', 'G', 'A', 'L', 'G', 'A', + 'D', 'A', 'N', 'C', 'I', 'N', 'G', + 'D', 'A', 'N', 'T', 'A', 'J', 'A', + 'D', 'A', 'P', '-', 'B', 'E', 'I', + 'D', 'A', 'P', '-', 'P', 'I', 'I', + 'D', 'A', 'Y', 'A', 'N', 'N', 'A', + 'D', 'E', 'C', 'A', 'Y', 'E', 'D', + 'D', 'E', 'C', 'I', 'M', 'A', 'L', + 'D', 'E', 'G', 'R', 'E', 'E', 'S', + 'D', 'E', 'L', 'P', 'H', 'I', 'C', + 'D', 'E', 'S', 'E', 'R', 'E', 'T', + 'D', 'E', 'S', 'K', 'T', 'O', 'P', + 'D', 'H', 'A', 'L', 'A', 'T', 'H', + 'D', 'H', 'A', 'L', 'E', 'T', 'H', + 'D', 'H', 'A', 'M', 'E', 'D', 'H', + 'D', 'I', 'A', 'M', 'O', 'N', 'D', + 'D', 'I', 'A', 'R', 'G', 'O', 'N', + 'D', 'I', 'G', 'A', 'M', 'M', 'A', + 'D', 'I', 'G', 'R', 'A', 'P', 'H', + 'D', 'I', 'M', 'I', 'D', 'I', 'A', + 'D', 'I', 'M', 'M', 'I', 'N', 'G', + 'D', 'I', 'N', 'G', 'B', 'A', 'T', + 'D', 'I', 'P', 'L', 'O', 'U', 'N', + 'D', 'I', 'S', 'I', 'M', 'O', 'U', + 'D', 'I', 'S', 'T', 'I', 'L', 'L', + 'D', 'I', 'V', 'I', 'D', 'E', 'D', + 'D', 'I', 'V', 'I', 'D', 'E', 'R', + 'D', 'I', 'V', 'I', 'D', 'E', 'S', + 'D', 'I', 'V', 'O', 'R', 'C', 'E', + 'D', 'O', 'L', 'P', 'H', 'I', 'N', + 'D', 'O', 'T', 'L', 'E', 'S', 'S', + 'D', 'O', 'T', 'S', '-', '1', '2', + 'D', 'O', 'T', 'S', '-', '1', '3', + 'D', 'O', 'T', 'S', '-', '1', '4', + 'D', 'O', 'T', 'S', '-', '1', '5', + 'D', 'O', 'T', 'S', '-', '1', '6', + 'D', 'O', 'T', 'S', '-', '1', '7', + 'D', 'O', 'T', 'S', '-', '1', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', + 'D', 'O', 'T', 'S', '-', '2', '4', + 'D', 'O', 'T', 'S', '-', '2', '5', + 'D', 'O', 'T', 'S', '-', '2', '6', + 'D', 'O', 'T', 'S', '-', '2', '7', + 'D', 'O', 'T', 'S', '-', '2', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', + 'D', 'O', 'T', 'S', '-', '3', '5', + 'D', 'O', 'T', 'S', '-', '3', '6', + 'D', 'O', 'T', 'S', '-', '3', '7', + 'D', 'O', 'T', 'S', '-', '3', '8', + 'D', 'O', 'T', 'S', '-', '4', '5', + 'D', 'O', 'T', 'S', '-', '4', '6', + 'D', 'O', 'T', 'S', '-', '4', '7', + 'D', 'O', 'T', 'S', '-', '4', '8', + 'D', 'O', 'T', 'S', '-', '5', '6', + 'D', 'O', 'T', 'S', '-', '5', '7', + 'D', 'O', 'T', 'S', '-', '5', '8', + 'D', 'O', 'T', 'S', '-', '6', '7', + 'D', 'O', 'T', 'S', '-', '6', '8', + 'D', 'O', 'T', 'S', '-', '7', '8', + 'D', 'O', 'U', 'B', 'L', 'E', 'D', + 'D', 'R', 'A', 'C', 'H', 'M', 'A', + 'D', 'R', 'O', 'P', 'L', 'E', 'T', + 'D', 'Y', 'N', 'A', 'M', 'I', 'C', + 'E', 'A', 'B', 'H', 'A', 'D', 'H', + 'E', 'A', 'D', 'H', 'A', 'D', 'H', + 'E', 'A', 'R', 'T', 'H', 'L', 'Y', + 'E', 'A', 'S', 'T', 'E', 'R', 'N', + 'E', 'B', 'E', 'F', 'I', 'L', 'I', + 'E', 'E', 'Y', 'A', 'N', 'N', 'A', + 'E', 'I', 'G', 'H', 'T', 'H', 'S', + 'E', 'L', 'A', 'F', 'R', 'O', 'N', + 'E', 'L', 'A', 'M', 'I', 'T', 'E', + 'E', 'L', 'B', 'A', 'S', 'A', 'N', + 'E', 'L', 'E', 'M', 'E', 'N', 'T', + 'E', 'L', 'L', 'I', 'P', 'S', 'E', + 'E', 'N', 'A', 'R', 'X', 'I', 'S', + 'E', 'N', 'Q', 'U', 'I', 'R', 'Y', + 'E', 'N', 'T', 'R', 'Y', '-', '1', + 'E', 'N', 'T', 'R', 'Y', '-', '2', + 'E', 'P', 'S', 'I', 'L', 'O', 'N', + 'E', 'T', 'N', 'A', 'H', 'T', 'A', + 'E', 'V', 'E', 'N', 'I', 'N', 'G', + 'F', 'A', 'C', 'I', 'N', 'G', 'S', + 'F', 'A', 'C', 'T', 'O', 'R', 'Y', + 'F', 'A', 'I', 'L', 'U', 'R', 'E', + 'F', 'A', 'L', 'L', 'I', 'N', 'G', + 'F', 'A', 'T', 'I', 'G', 'U', 'E', + 'F', 'A', 'Y', 'A', 'N', 'N', 'A', + 'F', 'E', 'A', 'R', 'F', 'U', 'L', + 'F', 'E', 'A', 'T', 'H', 'E', 'R', + 'F', 'E', 'R', 'M', 'A', 'T', 'A', + 'F', 'I', 'F', 'T', 'E', 'E', 'N', + 'F', 'I', 'N', 'G', 'E', 'R', 'S', + 'F', 'I', 'S', 'H', 'E', 'Y', 'E', + 'F', 'I', 'S', 'H', 'I', 'N', 'G', + 'F', 'L', 'E', 'U', 'R', 'O', 'N', + 'F', 'L', 'O', 'W', 'E', 'R', 'S', + 'F', 'L', 'O', 'W', 'I', 'N', 'G', + 'F', 'L', 'U', 'S', 'H', 'E', 'D', + 'F', 'O', 'N', 'G', 'M', 'A', 'N', + 'F', 'O', 'R', 'K', 'I', 'N', 'G', + 'F', 'O', 'R', 'W', 'A', 'R', 'D', + 'F', 'R', 'A', 'K', 'T', 'U', 'R', + 'F', 'U', 'N', 'E', 'R', 'A', 'L', + 'G', 'A', 'A', 'H', 'L', 'A', 'A', + 'G', 'A', 'R', 'M', 'E', 'N', 'T', + 'G', 'A', 'Y', 'A', 'N', 'N', 'A', + 'G', 'E', 'N', 'E', 'R', 'I', 'C', + 'G', 'E', 'S', 'H', 'T', 'I', 'N', + 'G', 'E', 'S', 'T', 'U', 'R', 'E', + 'G', 'H', 'A', 'A', 'M', 'A', 'E', + 'G', 'I', 'B', 'B', 'O', 'U', 'S', + 'G', 'I', 'R', 'U', 'D', 'A', 'A', + 'G', 'L', 'A', 'G', 'O', 'L', 'I', + 'G', 'L', 'A', 'S', 'S', 'E', 'S', + 'G', 'L', 'O', 'T', 'T', 'A', 'L', + 'G', 'L', 'O', 'W', 'I', 'N', 'G', + 'G', 'O', 'R', 'I', 'L', 'L', 'A', + 'G', 'R', 'A', 'D', 'U', 'A', 'L', + 'G', 'R', 'A', 'N', 'T', 'H', 'A', + 'G', 'R', 'E', 'A', 'T', 'E', 'R', + 'G', 'R', 'O', 'W', 'I', 'N', 'G', + 'G', 'U', 'A', 'R', 'A', 'N', 'I', + 'H', 'A', 'F', 'U', 'K', 'H', 'A', + 'H', 'A', 'I', 'R', 'C', 'U', 'T', + 'H', 'A', 'L', 'A', 'N', 'T', 'A', + 'H', 'A', 'L', 'B', 'E', 'R', 'D', + 'H', 'A', 'M', 'S', 'T', 'E', 'R', + 'H', 'A', 'N', 'D', 'B', 'A', 'G', + 'H', 'A', 'N', 'D', 'L', 'E', 'S', + 'H', 'A', 'N', 'U', 'N', 'O', 'O', + 'H', 'A', 'R', 'P', 'O', 'O', 'N', + 'H', 'A', 'S', 'A', 'N', 'T', 'A', + 'H', 'A', 'Y', 'A', 'N', 'N', 'A', + 'H', 'E', '-', 'G', 'O', 'A', 'T', + 'H', 'E', 'A', 'D', 'I', 'N', 'G', + 'H', 'E', 'R', 'A', 'E', 'U', 'M', + 'H', 'E', 'X', 'A', 'G', 'O', 'N', + 'H', 'I', 'T', 'T', 'I', 'N', 'G', + 'H', 'O', 'L', 'D', 'I', 'N', 'G', + 'H', 'R', 'Y', 'V', 'N', 'I', 'A', + 'H', 'U', 'G', 'G', 'I', 'N', 'G', + 'H', 'U', 'N', 'D', 'R', 'E', 'D', + 'H', 'Y', 'G', 'I', 'E', 'I', 'A', + 'I', '-', 'A', 'R', 'A', 'E', 'A', + 'I', 'B', 'I', 'F', 'I', 'L', 'I', + 'I', 'C', 'H', 'A', 'D', 'I', 'N', + 'I', 'I', 'Y', 'A', 'N', 'N', 'A', + 'I', 'L', 'I', 'M', 'M', 'U', '3', + 'I', 'L', 'I', 'M', 'M', 'U', '4', + 'I', 'M', 'I', 'S', 'E', 'O', 'S', + 'I', 'N', '-', 'A', 'L', 'A', 'F', + 'I', 'N', 'H', 'I', 'B', 'I', 'T', + 'I', 'N', 'I', 'T', 'I', 'A', 'L', + 'I', 'N', 'S', 'U', 'L', 'A', 'R', + 'I', 'N', 'V', 'E', 'R', 'S', 'E', + 'I', 'O', 'D', 'H', 'A', 'D', 'H', + 'I', 'O', 'T', 'A', 'T', 'E', 'D', + 'I', 'S', 'O', 'L', 'A', 'T', 'E', + 'I', 'Z', 'A', 'K', 'A', 'Y', 'A', + 'I', 'Z', 'H', 'I', 'T', 'S', 'A', + 'J', 'A', 'N', 'U', 'A', 'R', 'Y', + 'J', 'A', 'Y', 'A', 'N', 'N', 'A', + 'J', 'E', 'G', 'O', 'G', 'A', 'N', + 'J', 'U', 'P', 'I', 'T', 'E', 'R', + 'K', 'A', 'A', 'N', 'K', 'U', 'U', + 'K', 'A', 'K', 'A', 'B', 'A', 'T', + 'K', 'A', 'N', 'N', 'A', 'D', 'A', + 'K', 'A', 'N', 'T', 'A', 'J', 'A', + 'K', 'A', 'R', 'A', 'T', 'T', 'O', + 'K', 'A', 'R', 'O', 'R', 'I', 'I', + 'K', 'A', 'T', 'H', 'A', 'K', 'A', + 'K', 'A', 'Y', 'A', 'N', 'N', 'A', + 'K', 'E', 'E', 'P', 'I', 'N', 'G', + 'K', 'E', 'M', 'B', 'A', 'N', 'G', + 'K', 'E', 'N', 'T', 'I', 'M', 'A', + 'K', 'E', 'U', 'A', 'E', 'R', 'I', + 'K', 'E', 'U', 'S', 'E', 'U', 'X', + 'K', 'E', 'U', 'Y', 'E', 'U', 'X', + 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'K', 'I', 'K', 'A', 'K', 'U', 'I', + 'K', 'I', 'N', 'S', 'H', 'I', 'P', + 'K', 'I', 'R', 'G', 'H', 'I', 'Z', + 'K', 'I', 'S', 'S', 'I', 'N', 'G', + 'K', 'N', 'U', 'C', 'K', 'L', 'E', + 'K', 'O', 'M', 'B', 'U', 'V', 'A', + 'K', 'O', 'O', 'M', 'U', 'U', 'T', + 'K', 'O', 'Q', 'N', 'D', 'O', 'N', + 'K', 'O', 'R', 'A', 'N', 'I', 'C', + 'K', 'O', 'R', 'O', 'N', 'I', 'S', + 'K', 'R', 'A', 'T', 'I', 'M', 'A', + 'K', 'U', 'R', 'O', 'O', 'N', 'E', + 'K', 'Y', 'A', 'T', 'H', 'O', 'S', + 'K', 'Y', 'L', 'I', 'S', 'M', 'A', + 'L', 'A', 'K', '-', '0', '0', '3', + 'L', 'A', 'K', '-', '0', '2', '0', + 'L', 'A', 'K', '-', '0', '2', '1', + 'L', 'A', 'K', '-', '0', '2', '5', + 'L', 'A', 'K', '-', '0', '3', '0', + 'L', 'A', 'K', '-', '0', '5', '0', + 'L', 'A', 'K', '-', '0', '5', '1', + 'L', 'A', 'K', '-', '0', '6', '2', + 'L', 'A', 'K', '-', '0', '7', '9', + 'L', 'A', 'K', '-', '0', '8', '0', + 'L', 'A', 'K', '-', '0', '8', '1', + 'L', 'A', 'K', '-', '0', '9', '2', + 'L', 'A', 'K', '-', '1', '3', '0', + 'L', 'A', 'K', '-', '1', '4', '2', + 'L', 'A', 'K', '-', '2', '1', '0', + 'L', 'A', 'K', '-', '2', '1', '9', + 'L', 'A', 'K', '-', '2', '2', '0', + 'L', 'A', 'K', '-', '2', '2', '5', + 'L', 'A', 'K', '-', '2', '2', '8', + 'L', 'A', 'K', '-', '2', '3', '8', + 'L', 'A', 'K', '-', '2', '6', '5', + 'L', 'A', 'K', '-', '2', '6', '6', + 'L', 'A', 'K', '-', '3', '4', '3', + 'L', 'A', 'K', '-', '3', '4', '7', + 'L', 'A', 'K', '-', '3', '4', '8', + 'L', 'A', 'K', '-', '3', '8', '3', + 'L', 'A', 'K', '-', '3', '8', '4', + 'L', 'A', 'K', '-', '3', '9', '0', + 'L', 'A', 'K', '-', '4', '4', '1', + 'L', 'A', 'K', '-', '4', '4', '9', + 'L', 'A', 'K', '-', '4', '5', '0', + 'L', 'A', 'K', '-', '4', '5', '7', + 'L', 'A', 'K', '-', '4', '7', '0', + 'L', 'A', 'K', '-', '4', '8', '3', + 'L', 'A', 'K', '-', '4', '9', '0', + 'L', 'A', 'K', '-', '4', '9', '2', + 'L', 'A', 'K', '-', '4', '9', '3', + 'L', 'A', 'K', '-', '4', '9', '5', + 'L', 'A', 'K', '-', '5', '5', '0', + 'L', 'A', 'K', '-', '6', '0', '8', + 'L', 'A', 'K', '-', '6', '1', '7', + 'L', 'A', 'K', '-', '6', '3', '6', + 'L', 'A', 'K', '-', '6', '4', '8', + 'L', 'A', 'K', '-', '6', '6', '8', + 'L', 'A', 'K', '-', '7', '2', '4', + 'L', 'A', 'K', '-', '7', '4', '9', + 'L', 'A', 'N', 'T', 'E', 'R', 'N', + 'L', 'A', 'R', 'G', 'E', 'S', 'T', + 'L', 'A', 'T', 'E', 'R', 'A', 'L', + 'L', 'A', 'Y', 'A', 'N', 'N', 'A', + 'L', 'E', 'A', 'D', 'I', 'N', 'G', + 'L', 'E', 'A', 'T', 'H', 'E', 'R', + 'L', 'E', 'G', 'E', 'T', 'O', 'S', + 'L', 'E', 'O', 'P', 'A', 'R', 'D', + 'L', 'E', 'T', 'T', 'E', 'R', 'S', + 'L', 'I', 'B', 'E', 'R', 'T', 'Y', + 'L', 'I', 'C', 'K', 'I', 'N', 'G', + 'L', 'I', 'M', 'I', 'T', 'E', 'D', + 'L', 'I', 'N', 'K', 'I', 'N', 'G', + 'L', 'J', 'U', 'D', 'I', 'J', 'E', + 'L', 'O', 'G', 'I', 'C', 'A', 'L', + 'L', 'O', 'W', '-', 'M', 'I', 'D', + 'L', 'O', 'W', 'E', 'R', 'E', 'D', + 'L', 'O', 'Z', 'E', 'N', 'G', 'E', + 'L', 'U', 'G', 'G', 'A', 'G', 'E', + 'L', 'Y', 'G', 'I', 'S', 'M', 'A', + 'M', 'A', 'A', 'Y', 'Y', 'A', 'A', + 'M', 'A', 'C', 'H', 'I', 'N', 'E', + 'M', 'A', 'E', 'K', 'E', 'U', 'P', + 'M', 'A', 'E', 'N', 'J', 'E', 'T', + 'M', 'A', 'H', 'J', 'O', 'N', 'G', + 'M', 'A', 'I', 'K', 'U', 'R', 'O', + 'M', 'A', 'I', 'L', 'B', 'O', 'X', + 'M', 'A', 'I', 'M', 'U', 'A', 'N', + 'M', 'A', 'K', 'S', 'U', 'R', 'A', + 'M', 'A', 'L', 'A', 'K', 'O', 'N', + 'M', 'A', 'L', 'E', 'E', 'R', 'I', + 'M', 'A', 'L', 'T', 'E', 'S', 'E', + 'M', 'A', 'N', 'D', 'A', 'I', 'C', + 'M', 'A', 'N', 'S', 'U', 'A', 'E', + 'M', 'A', 'N', 'S', 'Y', 'O', 'N', + 'M', 'A', 'R', 'B', 'U', 'T', 'A', + 'M', 'A', 'R', 'C', 'A', 'T', 'O', + 'M', 'A', 'R', 'C', 'H', 'E', 'N', + 'M', 'A', 'R', 'T', 'I', 'A', 'L', + 'M', 'A', 'R', 'W', 'A', 'R', 'I', + 'M', 'A', 'S', 'S', 'A', 'G', 'E', + 'M', 'A', 'S', 'S', 'I', 'N', 'G', + 'M', 'A', 'T', 'T', 'O', 'C', 'K', + 'M', 'A', 'Y', 'A', 'N', 'N', 'A', + 'M', 'B', 'A', 'A', 'K', 'E', 'T', + 'M', 'B', 'A', 'A', 'R', 'A', 'E', + 'M', 'E', 'A', 'S', 'U', 'R', 'E', + 'M', 'E', 'D', 'I', 'C', 'A', 'L', + 'M', 'E', 'E', 'T', 'O', 'R', 'U', + 'M', 'E', 'G', 'A', 'T', 'O', 'N', + 'M', 'E', 'L', 'O', 'D', 'I', 'C', + 'M', 'E', 'N', 'O', 'R', 'A', 'H', + 'M', 'E', 'R', 'C', 'U', 'R', 'Y', + 'M', 'G', 'B', 'A', 'S', 'A', 'Q', + 'M', 'G', 'B', 'O', 'F', 'U', 'M', + 'M', 'I', 'D', 'L', 'I', 'N', 'E', + 'M', 'I', 'K', 'U', 'R', 'O', 'N', + 'M', 'I', 'N', 'I', 'B', 'U', 'S', + 'M', 'K', 'P', 'A', 'R', 'A', 'Q', + 'M', 'O', 'D', 'E', 'S', 'T', 'Y', + 'M', 'O', 'N', 'S', 'T', 'E', 'R', + 'M', 'O', 'O', 'M', 'E', 'U', 'T', + 'M', 'O', 'O', 'M', 'P', 'U', 'Q', + 'M', 'O', 'R', 'N', 'I', 'N', 'G', + 'M', 'O', 'R', 'T', 'U', 'U', 'M', + 'M', 'U', 'L', 'T', 'A', 'N', 'I', + 'M', 'U', 'S', 'I', 'C', 'A', 'L', + 'M', 'Y', 'A', 'N', 'M', 'A', 'R', + 'M', 'Y', 'S', 'L', 'I', 'T', 'E', + 'N', 'A', 'S', 'K', 'A', 'P', 'I', + 'N', 'A', 'T', 'U', 'R', 'A', 'L', + 'N', 'A', 'Y', 'A', 'N', 'N', 'A', + 'N', 'E', 'C', 'K', 'T', 'I', 'E', + 'N', 'E', 'G', 'A', 'T', 'E', 'D', + 'N', 'E', 'I', 'T', 'H', 'E', 'R', + 'N', 'E', 'P', 'T', 'U', 'N', 'E', + 'N', 'E', 'Q', 'U', 'D', 'A', 'A', + 'N', 'E', 'U', 'T', 'R', 'A', 'L', + 'N', 'E', 'W', 'L', 'I', 'N', 'E', + 'N', 'G', 'E', 'A', 'D', 'A', 'L', + 'N', 'G', 'G', 'E', 'E', 'E', 'E', + 'N', 'G', 'G', 'E', 'U', 'A', 'E', + 'N', 'G', 'G', 'U', 'A', 'E', 'N', + 'N', 'G', 'G', 'U', 'E', 'E', 'T', + 'N', 'G', 'G', 'U', 'R', 'A', 'E', + 'N', 'G', 'G', 'W', 'A', 'E', 'N', + 'N', 'G', 'K', 'A', 'A', 'M', 'I', + 'N', 'G', 'K', 'E', 'U', 'R', 'I', + 'N', 'G', 'K', 'I', 'N', 'D', 'I', + 'N', 'G', 'K', 'W', 'A', 'E', 'N', + 'N', 'I', 'K', 'A', 'H', 'I', 'T', + 'N', 'J', 'A', 'E', 'M', 'L', 'I', + 'N', 'J', 'E', 'U', 'A', 'E', 'M', + 'N', 'K', 'A', 'A', 'R', 'A', 'E', + 'N', 'O', 'M', 'I', 'N', 'A', 'L', + 'N', 'O', 'M', 'I', 'S', 'M', 'A', + 'N', 'O', 'T', 'C', 'H', 'E', 'D', + 'N', 'S', 'E', 'U', 'A', 'E', 'N', + 'N', 'T', 'O', 'Q', 'P', 'E', 'N', + 'N', 'U', 'M', 'B', 'E', 'R', 'S', + 'N', 'U', 'M', 'E', 'R', 'A', 'L', + 'N', 'U', 'M', 'E', 'R', 'I', 'C', + 'N', 'U', 'N', 'A', 'V', 'I', 'K', + 'N', 'U', 'N', 'A', 'V', 'U', 'T', + 'N', 'U', 'T', 'I', 'L', 'L', 'U', + 'N', 'Y', 'A', 'E', 'M', 'A', 'E', + 'N', 'Y', 'I', 'N', '-', 'D', 'O', + 'O', 'B', 'L', 'I', 'Q', 'U', 'E', + 'O', 'B', 'O', 'F', 'I', 'L', 'I', + 'O', 'C', 'T', 'A', 'G', 'O', 'N', + 'O', 'C', 'T', 'O', 'B', 'E', 'R', + 'O', 'C', 'T', 'O', 'P', 'U', 'S', + 'O', 'F', 'F', 'I', 'C', 'E', 'R', + 'O', 'J', 'I', 'B', 'W', 'A', 'Y', + 'O', 'M', 'I', 'C', 'R', 'O', 'N', + 'O', 'N', 'E', '-', 'W', 'A', 'Y', + 'O', 'N', 'E', 'S', 'E', 'L', 'F', + 'O', 'O', 'Y', 'A', 'N', 'N', 'A', + 'O', 'P', 'E', 'N', 'I', 'N', 'G', + 'O', 'P', 'T', 'I', 'C', 'A', 'L', + 'O', 'R', 'D', 'I', 'N', 'A', 'L', + 'O', 'S', 'M', 'A', 'N', 'Y', 'A', + 'O', 'T', 'H', 'A', 'L', 'A', 'N', + 'O', 'U', 'T', 'L', 'I', 'N', 'E', + 'O', 'V', 'E', 'R', 'B', 'A', 'R', + 'O', 'V', 'E', 'R', 'L', 'A', 'P', + 'O', 'V', 'E', 'R', 'L', 'A', 'Y', + 'P', 'A', 'C', 'K', 'A', 'G', 'E', + 'P', 'A', 'C', 'K', 'I', 'N', 'G', + 'P', 'A', 'H', 'L', 'A', 'V', 'I', + 'P', 'A', 'L', 'A', 'T', 'A', 'L', + 'P', 'A', 'L', 'A', 'U', 'N', 'G', + 'P', 'A', 'L', 'E', 'T', 'T', 'E', + 'P', 'A', 'L', 'L', 'A', 'W', 'A', + 'P', 'A', 'M', 'A', 'A', 'E', 'H', + 'P', 'A', 'M', 'E', 'P', 'E', 'T', + 'P', 'A', 'M', 'S', 'H', 'A', 'E', + 'P', 'A', 'N', 'G', 'K', 'A', 'T', + 'P', 'A', 'N', 'G', 'K', 'O', 'N', + 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'P', 'A', 'N', 'Y', 'I', 'K', 'U', + 'P', 'A', 'N', 'Y', 'U', 'K', 'U', + 'P', 'A', 'P', 'Y', 'R', 'U', 'S', + 'P', 'A', 'R', 'E', 'R', 'E', 'N', + 'P', 'A', 'R', 'T', 'I', 'A', 'L', + 'P', 'A', 'T', 'T', 'E', 'R', 'N', + 'P', 'A', 'Y', 'A', 'N', 'N', 'A', + 'P', 'A', 'Y', 'E', 'R', 'O', 'K', + 'P', 'E', 'A', 'N', 'U', 'T', 'S', + 'P', 'E', 'N', 'G', 'K', 'A', 'L', + 'P', 'E', 'N', 'G', 'U', 'I', 'N', + 'P', 'E', 'N', 'N', 'A', 'N', 'T', + 'P', 'E', 'N', 'S', 'I', 'V', 'E', + 'P', 'E', 'R', 'C', 'E', 'N', 'T', + 'P', 'E', 'R', 'S', 'I', 'A', 'N', + 'P', 'E', 'T', 'A', 'S', 'M', 'A', + 'P', 'E', 'T', 'A', 'S', 'T', 'I', + 'P', 'H', 'A', 'S', 'E', '-', 'A', + 'P', 'H', 'A', 'S', 'E', '-', 'B', + 'P', 'H', 'A', 'S', 'E', '-', 'C', + 'P', 'H', 'A', 'S', 'E', '-', 'D', + 'P', 'H', 'A', 'S', 'E', '-', 'E', + 'P', 'H', 'A', 'S', 'E', '-', 'F', + 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'P', 'H', 'I', 'N', 'T', 'H', 'U', + 'P', 'H', 'U', 'T', 'H', 'A', 'O', + 'P', 'I', 'C', 'T', 'U', 'R', 'E', + 'P', 'I', 'L', 'C', 'R', 'O', 'W', + 'P', 'I', 'R', 'I', 'E', 'E', 'N', + 'P', 'I', 'S', 'E', 'L', 'E', 'H', + 'P', 'L', 'A', 'G', 'I', 'O', 'S', + 'P', 'L', 'A', 'Y', 'I', 'N', 'G', + 'P', 'O', 'D', 'A', 'T', 'U', 'S', + 'P', 'O', 'I', 'N', 'T', 'E', 'D', + 'P', 'O', 'I', 'N', 'T', 'E', 'R', + 'P', 'O', 'P', 'C', 'O', 'R', 'N', + 'P', 'O', 'P', 'P', 'I', 'N', 'G', + 'P', 'O', 'S', 'T', 'B', 'O', 'X', + 'P', 'O', 'T', 'A', 'B', 'L', 'E', + 'P', 'O', 'U', 'L', 'T', 'R', 'Y', + 'P', 'O', 'U', 'T', 'I', 'N', 'G', + 'P', 'R', 'E', 'C', 'E', 'D', 'E', + 'P', 'R', 'E', 'F', 'A', 'C', 'E', + 'P', 'R', 'E', 'N', 'K', 'H', 'A', + 'P', 'R', 'E', 'S', 'E', 'N', 'T', + 'P', 'R', 'E', 'S', 'S', 'E', 'D', + 'P', 'R', 'I', 'N', 'T', 'E', 'R', + 'P', 'R', 'I', 'V', 'A', 'T', 'E', + 'P', 'R', 'O', 'D', 'U', 'C', 'T', + 'P', 'S', 'A', 'L', 'T', 'E', 'R', + 'P', 'U', 'N', 'G', 'A', 'A', 'M', + 'P', 'U', 'R', 'N', 'A', 'M', 'A', + 'P', 'U', 'S', 'H', 'I', 'N', 'G', + 'P', 'U', 'S', 'H', 'P', 'I', 'N', + 'Q', 'U', 'A', 'R', 'T', 'E', 'R', + 'R', 'A', 'C', 'Q', 'U', 'E', 'T', + 'R', 'A', 'D', 'I', 'C', 'A', 'L', + 'R', 'A', 'I', 'L', 'W', 'A', 'Y', + 'R', 'A', 'I', 'N', 'B', 'O', 'W', + 'R', 'A', 'I', 'S', 'I', 'N', 'G', + 'R', 'A', 'K', 'H', 'A', 'N', 'G', + 'R', 'A', 'P', 'I', 'S', 'M', 'A', + 'R', 'A', 'S', 'W', 'A', 'D', 'I', + 'R', 'A', 'Y', 'A', 'N', 'N', 'A', + 'R', 'E', 'A', 'H', 'M', 'U', 'K', + 'R', 'E', 'A', 'L', 'G', 'A', 'R', + 'R', 'E', 'G', 'I', 'A', '-', '2', + 'R', 'E', 'G', 'U', 'L', 'U', 'S', + 'R', 'E', 'L', 'A', 'X', 'E', 'D', + 'R', 'E', 'L', 'E', 'A', 'S', 'E', + 'R', 'E', 'R', 'E', 'K', 'A', 'N', + 'R', 'E', 'T', 'R', 'E', 'A', 'T', + 'R', 'E', 'V', 'E', 'R', 'S', 'E', + 'R', 'G', 'Y', 'I', 'N', 'G', 'S', + 'R', 'I', 'N', 'G', 'I', 'N', 'G', + 'R', 'I', 'T', 'T', 'O', 'R', 'U', + 'R', 'O', 'A', 'S', 'T', 'E', 'D', + 'R', 'O', 'L', 'L', 'I', 'N', 'G', + 'R', 'O', 'O', 'S', 'T', 'E', 'R', + 'R', 'O', 'S', 'E', 'T', 'T', 'E', + 'R', 'O', 'T', 'A', 'T', 'E', 'D', + 'R', 'O', 'T', 'U', 'N', 'D', 'A', + 'R', 'O', 'U', 'N', 'D', 'E', 'D', + 'R', 'O', 'W', 'B', 'O', 'A', 'T', + 'R', 'U', 'N', 'N', 'I', 'N', 'G', + 'R', 'U', 'U', 'B', 'U', 'R', 'U', + 'S', 'A', 'I', 'K', 'U', 'R', 'U', + 'S', 'A', 'K', 'E', 'U', 'A', 'E', + 'S', 'A', 'L', 'T', 'I', 'R', 'E', + 'S', 'A', 'M', 'P', 'H', 'A', 'O', + 'S', 'A', 'N', 'Y', 'A', 'K', 'A', + 'S', 'A', 'T', 'A', 'N', 'G', 'A', + 'S', 'A', 'T', 'C', 'H', 'E', 'L', + 'S', 'A', 'T', 'K', 'A', 'A', 'N', + 'S', 'A', 'Y', 'A', 'N', 'N', 'A', + 'S', 'C', 'E', 'P', 'T', 'E', 'R', + 'S', 'C', 'H', 'O', 'L', 'A', 'R', + 'S', 'C', 'O', 'O', 'T', 'E', 'R', + 'S', 'C', 'R', 'U', 'P', 'L', 'E', + 'S', 'E', 'A', 'G', 'U', 'L', 'L', + 'S', 'E', 'C', 'T', 'I', 'O', 'N', + 'S', 'E', 'G', 'M', 'E', 'N', 'T', + 'S', 'E', 'M', 'K', 'A', 'T', 'H', + 'S', 'E', 'R', 'V', 'I', 'C', 'E', + 'S', 'E', 'U', 'N', 'Y', 'A', 'M', + 'S', 'E', 'V', 'E', 'N', 'T', 'H', + 'S', 'E', 'V', 'E', 'N', 'T', 'Y', + 'S', 'E', 'X', 'T', 'A', 'N', 'S', + 'S', 'E', 'X', 'T', 'I', 'L', 'E', + 'S', 'E', 'X', 'T', 'U', 'L', 'A', + 'S', 'H', 'A', 'K', 'I', 'N', 'G', + 'S', 'H', 'A', 'L', 'L', 'O', 'W', + 'S', 'H', 'A', 'P', 'I', 'N', 'G', + 'S', 'H', 'A', 'R', 'A', 'D', 'A', + 'S', 'H', 'A', 'V', 'I', 'A', 'N', + 'S', 'H', 'C', 'H', 'O', 'O', 'I', + 'S', 'H', 'E', 'S', 'H', 'I', 'G', + 'S', 'H', 'E', 'U', 'A', 'E', 'Q', + 'S', 'H', 'T', 'A', 'P', 'I', 'C', + 'S', 'H', 'U', 'F', 'F', 'L', 'E', + 'S', 'I', 'D', 'D', 'H', 'A', 'M', + 'S', 'I', 'L', 'I', 'Q', 'U', 'A', + 'S', 'I', 'M', 'I', 'L', 'A', 'R', + 'S', 'I', 'N', 'G', 'A', 'A', 'T', + 'S', 'I', 'N', 'H', 'A', 'L', 'A', + 'S', 'I', 'N', 'K', 'I', 'N', 'G', + 'S', 'I', 'R', 'I', 'N', 'G', 'U', + 'S', 'I', 'X', 'T', 'E', 'E', 'N', + 'S', 'K', 'L', 'I', 'R', 'O', 'N', + 'S', 'L', 'A', 'N', 'T', 'E', 'D', + 'S', 'L', 'I', 'D', 'I', 'N', 'G', + 'S', 'L', 'O', 'P', 'I', 'N', 'G', + 'S', 'M', 'A', 'L', 'L', 'E', 'R', + 'S', 'M', 'I', 'L', 'I', 'N', 'G', + 'S', 'M', 'O', 'K', 'I', 'N', 'G', + 'S', 'N', 'O', 'W', 'M', 'A', 'N', + 'S', 'O', 'C', 'I', 'E', 'T', 'Y', + 'S', 'O', 'G', 'D', 'I', 'A', 'N', + 'S', 'O', 'L', 'I', 'D', 'U', 'S', + 'S', 'O', 'M', 'P', 'E', 'N', 'G', + 'S', 'P', 'A', 'C', 'I', 'N', 'G', + 'S', 'P', 'A', 'R', 'K', 'L', 'E', + 'S', 'P', 'E', 'A', 'K', 'E', 'R', + 'S', 'P', 'E', 'C', 'I', 'A', 'L', + 'S', 'P', 'I', 'D', 'E', 'R', 'Y', + 'S', 'P', 'I', 'R', 'A', 'N', 'T', + 'S', 'P', 'L', 'A', 'Y', 'E', 'D', + 'S', 'P', 'R', 'I', 'N', 'G', 'S', + 'S', 'Q', 'U', 'A', 'R', 'E', 'D', + 'S', 'Q', 'U', 'A', 'R', 'E', 'S', + 'S', 'Q', 'U', 'E', 'E', 'Z', 'E', + 'S', 'T', 'A', 'D', 'I', 'U', 'M', + 'S', 'T', 'A', 'M', 'P', 'E', 'D', + 'S', 'T', 'A', 'R', 'R', 'E', 'D', + 'S', 'T', 'A', 'T', 'E', 'R', 'S', + 'S', 'T', 'A', 'T', 'I', 'O', 'N', + 'S', 'T', 'A', 'U', 'R', 'O', 'S', + 'S', 'T', 'A', 'V', 'R', 'O', 'S', + 'S', 'T', 'A', 'V', 'R', 'O', 'U', + 'S', 'T', 'I', 'R', 'R', 'U', 'P', + 'S', 'T', 'R', 'A', 'T', 'U', 'M', + 'S', 'T', 'R', 'E', 'T', 'C', 'H', + 'S', 'T', 'R', 'O', 'K', 'E', 'S', + 'S', 'T', 'U', 'F', 'F', 'E', 'D', + 'S', 'U', 'B', 'J', 'E', 'C', 'T', + 'S', 'U', 'B', 'U', 'N', 'I', 'T', + 'S', 'U', 'C', 'C', 'E', 'E', 'D', + 'S', 'U', 'C', 'K', 'I', 'N', 'G', + 'S', 'U', 'N', 'R', 'I', 'S', 'E', + 'S', 'U', 'R', 'F', 'A', 'C', 'E', + 'S', 'V', 'A', 'R', 'I', 'T', 'A', + 'S', 'W', 'I', 'M', 'M', 'E', 'R', + 'S', 'Y', 'M', 'B', 'O', 'L', 'S', + 'S', 'Y', 'N', 'A', 'G', 'M', 'A', + 'S', 'Y', 'N', 'E', 'V', 'M', 'A', + 'S', 'Y', 'R', 'I', 'N', 'G', 'E', + 'T', '-', 'S', 'H', 'I', 'R', 'T', + 'T', 'A', 'A', 'L', 'U', 'J', 'A', + 'T', 'A', 'A', 'S', 'H', 'A', 'E', + 'T', 'A', 'G', 'A', 'L', 'O', 'G', + 'T', 'A', 'I', 'S', 'Y', 'O', 'U', + 'T', 'A', 'L', 'E', 'N', 'T', 'S', + 'T', 'A', 'N', 'G', 'E', 'N', 'T', + 'T', 'A', 'T', 'W', 'E', 'E', 'L', + 'T', 'A', 'Y', 'A', 'N', 'N', 'A', + 'T', 'C', 'H', 'E', 'H', 'E', 'H', + 'T', 'E', 'L', 'I', 'S', 'H', 'A', + 'T', 'E', 'S', 'S', 'E', 'R', 'A', + 'T', 'E', 'U', 'T', 'E', 'U', 'X', + 'T', 'H', '-', 'C', 'R', 'E', 'E', + 'T', 'H', 'A', 'M', 'E', 'D', 'H', + 'T', 'H', 'E', 'S', 'E', 'O', 'S', + 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'T', 'H', 'O', 'U', 'G', 'H', 'T', + 'T', 'H', 'R', 'E', 'E', '-', 'D', + 'T', 'H', 'R', 'O', 'U', 'G', 'H', + 'T', 'H', 'U', 'N', 'D', 'E', 'R', + 'T', 'I', 'B', 'E', 'T', 'A', 'N', + 'T', 'I', 'C', 'K', 'E', 'T', 'S', + 'T', 'I', 'L', 'T', 'I', 'N', 'G', + 'T', 'I', 'N', 'A', 'G', 'M', 'A', + 'T', 'I', 'R', 'H', 'U', 'T', 'A', + 'T', 'I', 'T', 'U', 'A', 'E', 'P', + 'T', 'O', 'R', 'N', 'A', 'D', 'O', + 'T', 'O', 'U', 'C', 'H', 'E', 'S', + 'T', 'O', 'W', 'A', 'R', 'D', 'S', + 'T', 'R', 'A', 'C', 'T', 'O', 'R', + 'T', 'R', 'A', 'F', 'F', 'I', 'C', + 'T', 'R', 'A', 'M', 'W', 'A', 'Y', + 'T', 'R', 'I', 'D', 'E', 'N', 'T', + 'T', 'R', 'I', 'G', 'R', 'A', 'M', + 'T', 'R', 'I', 'I', 'S', 'A', 'P', + 'T', 'R', 'I', 'S', 'E', 'M', 'E', + 'T', 'R', 'I', 'U', 'M', 'P', 'H', + 'T', 'R', 'O', 'L', 'L', 'E', 'Y', + 'T', 'R', 'U', 'M', 'P', '-', '1', + 'T', 'R', 'U', 'M', 'P', '-', '2', + 'T', 'R', 'U', 'M', 'P', '-', '3', + 'T', 'R', 'U', 'M', 'P', '-', '4', + 'T', 'R', 'U', 'M', 'P', '-', '5', + 'T', 'R', 'U', 'M', 'P', '-', '6', + 'T', 'R', 'U', 'M', 'P', '-', '7', + 'T', 'R', 'U', 'M', 'P', '-', '8', + 'T', 'R', 'U', 'M', 'P', '-', '9', + 'T', 'R', 'U', 'M', 'P', 'E', 'T', + 'T', 'S', 'A', 'A', 'D', 'I', 'Y', + 'T', 'T', 'U', 'D', 'D', 'A', 'G', + 'T', 'U', 'M', 'B', 'L', 'E', 'R', + 'T', 'U', 'M', 'E', 'T', 'E', 'S', + 'T', 'U', 'R', 'K', 'I', 'S', 'H', + 'T', 'W', 'E', 'L', 'F', 'T', 'H', + 'T', 'W', 'I', 'S', 'T', 'E', 'D', + 'T', 'W', 'O', '-', 'W', 'A', 'Y', + 'U', '-', 'E', 'O', '-', 'E', 'U', + 'U', 'B', 'A', 'D', 'A', 'M', 'A', + 'U', 'B', 'U', 'F', 'I', 'L', 'I', + 'U', 'N', 'I', 'C', 'O', 'R', 'N', + 'U', 'N', 'I', 'F', 'I', 'E', 'D', + 'U', 'N', 'I', 'F', 'O', 'R', 'M', + 'U', 'N', 'K', 'N', 'O', 'W', 'N', + 'U', 'P', 'R', 'I', 'G', 'H', 'T', + 'U', 'P', 'S', 'I', 'L', 'O', 'N', + 'U', 'P', 'W', 'A', 'R', 'D', 'S', + 'U', 'S', 'H', 'E', 'N', 'N', 'A', + 'U', 'U', 'Y', 'A', 'N', 'N', 'A', + 'V', 'A', 'P', 'O', 'U', 'R', 'S', + 'V', 'A', 'R', 'E', 'I', 'A', 'I', + 'V', 'A', 'R', 'I', 'A', 'N', 'T', + 'V', 'A', 'Y', 'A', 'N', 'N', 'A', + 'V', 'E', 'H', 'I', 'C', 'L', 'E', + 'V', 'I', 'C', 'T', 'O', 'R', 'Y', + 'V', 'I', 'E', 'W', 'I', 'N', 'G', + 'V', 'I', 'L', 'L', 'A', 'G', 'E', + 'V', 'I', 'N', 'E', 'G', 'A', 'R', + 'V', 'I', 'S', 'A', 'R', 'G', 'A', + 'V', 'I', 'T', 'A', 'E', '-', '2', + 'V', 'I', 'T', 'R', 'I', 'O', 'L', + 'V', 'O', 'C', 'A', 'L', 'I', 'C', + 'V', 'O', 'I', 'C', 'I', 'N', 'G', + 'V', 'O', 'L', 'A', 'P', 'U', 'K', + 'V', 'O', 'L', 'C', 'A', 'N', 'O', + 'V', 'O', 'L', 'T', 'A', 'G', 'E', + 'W', 'A', 'I', 'T', 'I', 'N', 'G', + 'W', 'A', 'R', 'N', 'I', 'N', 'G', + 'W', 'A', 'S', 'T', 'I', 'N', 'G', + 'W', 'E', 'D', 'D', 'I', 'N', 'G', + 'W', 'E', 'S', 'T', 'E', 'R', 'N', + 'W', 'H', 'E', 'E', 'L', 'E', 'D', + 'W', 'I', 'G', 'G', 'L', 'E', 'S', + 'W', 'I', 'G', 'N', 'Y', 'A', 'N', + 'W', 'I', 'N', 'K', 'I', 'N', 'G', + 'W', 'I', 'T', 'H', 'O', 'U', 'T', + 'W', 'O', 'R', 'R', 'I', 'E', 'D', + 'W', 'O', 'R', 'S', 'H', 'I', 'P', + 'W', 'R', 'A', 'P', 'P', 'E', 'D', + 'W', 'R', 'I', 'T', 'I', 'N', 'G', + 'Y', 'A', 'E', 'M', 'M', 'A', 'E', + 'Y', 'A', 'Y', 'A', 'N', 'N', 'A', + 'Y', 'E', 'N', 'I', 'S', 'E', 'I', + 'Y', 'I', 'D', 'D', 'I', 'S', 'H', + 'Y', 'P', 'O', 'R', 'R', 'O', 'I', + 'Z', 'H', 'I', 'V', 'E', 'T', 'E', + 'A', '1', '0', '0', '-', '1', '0', '2', + 'A', '4', '0', '0', '-', 'V', 'A', 'S', + 'A', '4', '0', '1', '-', 'V', 'A', 'S', + 'A', '4', '0', '2', '-', 'V', 'A', 'S', + 'A', '4', '0', '3', '-', 'V', 'A', 'S', + 'A', '4', '0', '4', '-', 'V', 'A', 'S', + 'A', '4', '0', '5', '-', 'V', 'A', 'S', + 'A', '4', '0', '6', '-', 'V', 'A', 'S', + 'A', '4', '0', '7', '-', 'V', 'A', 'S', + 'A', '4', '0', '8', '-', 'V', 'A', 'S', + 'A', '4', '0', '9', '-', 'V', 'A', 'S', + 'A', '4', '1', '0', '-', 'V', 'A', 'S', + 'A', '4', '1', '1', '-', 'V', 'A', 'S', + 'A', '4', '1', '2', '-', 'V', 'A', 'S', + 'A', '4', '1', '3', '-', 'V', 'A', 'S', + 'A', '4', '1', '4', '-', 'V', 'A', 'S', + 'A', '4', '1', '5', '-', 'V', 'A', 'S', + 'A', '4', '1', '6', '-', 'V', 'A', 'S', + 'A', '4', '1', '7', '-', 'V', 'A', 'S', + 'A', '4', '1', '8', '-', 'V', 'A', 'S', + 'A', 'C', 'T', 'I', 'V', 'A', 'T', 'E', + 'A', 'C', 'T', 'U', 'A', 'L', 'L', 'Y', + 'A', 'E', 'E', 'Y', 'A', 'N', 'N', 'A', + 'A', 'I', 'R', 'P', 'L', 'A', 'N', 'E', + 'A', 'K', 'H', 'M', 'I', 'M', 'I', 'C', + 'A', 'L', 'B', 'A', 'N', 'I', 'A', 'N', + 'A', 'L', 'K', 'A', 'L', 'I', '-', '2', + 'A', 'L', 'L', 'I', 'A', 'N', 'C', 'E', + 'A', 'L', 'V', 'E', 'O', 'L', 'A', 'R', + 'A', 'M', 'E', 'R', 'I', 'C', 'A', 'N', + 'A', 'M', 'E', 'R', 'I', 'C', 'A', 'S', + 'A', 'N', 'G', 'S', 'T', 'R', 'O', 'M', + 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'Y', + 'A', 'N', 'U', 'D', 'A', 'T', 'T', 'A', + 'A', 'N', 'U', 'S', 'V', 'A', 'R', 'A', + 'A', 'P', 'O', 'D', 'E', 'R', 'M', 'A', + 'A', 'P', 'O', 'D', 'E', 'X', 'I', 'A', + 'A', 'P', 'O', 'T', 'H', 'E', 'M', 'A', + 'A', 'P', 'P', 'R', 'O', 'A', 'C', 'H', + 'A', 'Q', 'U', 'A', 'R', 'I', 'U', 'S', + 'A', 'R', 'A', 'E', 'A', '-', 'E', 'O', + 'A', 'R', 'C', 'H', 'A', 'I', 'O', 'N', + 'A', 'R', 'G', 'O', 'T', 'E', 'R', 'I', + 'A', 'R', 'I', 'S', 'T', 'E', 'R', 'A', + 'A', 'R', 'M', 'E', 'N', 'I', 'A', 'N', + 'A', 'R', 'O', 'U', 'S', 'I', 'N', 'G', + 'A', 'R', 'R', 'I', 'V', 'I', 'N', 'G', + 'A', 'S', '-', 'S', 'A', 'J', 'D', 'A', + 'A', 'S', 'S', 'A', 'L', 'L', 'A', 'M', + 'A', 'S', 'S', 'Y', 'R', 'I', 'A', 'N', + 'A', 'S', 'T', 'E', 'R', 'I', 'S', 'K', + 'A', 'S', 'T', 'E', 'R', 'I', 'S', 'M', + 'A', 'T', 'H', 'L', 'E', 'T', 'I', 'C', + 'A', 'T', 'T', 'A', 'C', 'H', 'E', 'D', + 'A', 'T', 'T', 'H', 'A', 'C', 'A', 'N', + 'A', 'V', 'A', 'G', 'R', 'A', 'H', 'A', + 'B', 'A', 'C', 'K', 'H', 'A', 'N', 'D', + 'B', 'A', 'C', 'T', 'R', 'I', 'A', 'N', + 'B', 'A', 'G', 'U', 'E', 'T', 'T', 'E', + 'B', 'A', 'L', 'I', 'N', 'E', 'S', 'E', + 'B', 'A', 'N', 'K', 'N', 'O', 'T', 'E', + 'B', 'A', 'S', 'E', 'B', 'A', 'L', 'L', + 'B', 'A', 'S', 'E', 'L', 'I', 'N', 'E', + 'B', 'E', 'G', 'I', 'N', 'N', 'E', 'R', + 'B', 'E', 'L', 'G', 'T', 'H', 'O', 'R', + 'B', 'E', 'R', 'K', 'A', 'N', 'A', 'N', + 'B', 'E', 'V', 'E', 'R', 'A', 'G', 'E', + 'B', 'I', 'C', 'Y', 'C', 'L', 'E', 'S', + 'B', 'I', 'D', 'E', 'N', 'T', 'A', 'L', + 'B', 'I', 'L', 'A', 'B', 'I', 'A', 'L', + 'B', 'I', 'L', 'L', 'I', 'O', 'N', 'S', + 'B', 'I', 'R', 'T', 'H', 'D', 'A', 'Y', + 'B', 'L', 'O', 'W', 'F', 'I', 'S', 'H', + 'B', 'O', 'H', 'A', 'I', 'R', 'I', 'C', + 'B', 'O', 'O', 'K', 'M', 'A', 'R', 'K', + 'B', 'O', 'P', 'O', 'M', 'O', 'F', 'O', + 'B', 'O', 'U', 'N', 'D', 'A', 'R', 'Y', + 'B', 'R', 'A', 'N', 'C', 'H', 'E', 'S', + 'B', 'U', 'G', 'I', 'N', 'E', 'S', 'E', + 'B', 'U', 'I', 'L', 'D', 'I', 'N', 'G', + 'B', 'U', 'L', 'L', 'H', 'O', 'R', 'N', + 'B', 'U', 'L', 'L', 'S', 'E', 'Y', 'E', + 'B', 'U', 'S', 'I', 'N', 'E', 'S', 'S', + 'B', 'U', 'S', 'S', 'Y', 'E', 'R', 'U', + 'C', 'A', 'B', 'L', 'E', 'W', 'A', 'Y', + 'C', 'A', 'D', 'U', 'C', 'E', 'U', 'S', + 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', + 'C', 'A', 'N', 'A', 'D', 'I', 'A', 'N', + 'C', 'A', 'R', 'O', 'U', 'S', 'E', 'L', + 'C', 'A', 'R', 'R', 'I', 'A', 'G', 'E', + 'C', 'A', 'U', 'L', 'D', 'R', 'O', 'N', + 'C', 'E', 'R', 'E', 'M', 'O', 'N', 'Y', + 'C', 'H', 'A', 'M', 'I', 'L', 'O', 'N', + 'C', 'H', 'A', 'T', 'T', 'A', 'W', 'A', + 'C', 'H', 'E', 'E', 'R', 'I', 'N', 'G', + 'C', 'H', 'E', 'I', 'K', 'H', 'A', 'N', + 'C', 'H', 'E', 'I', 'K', 'H', 'E', 'I', + 'C', 'H', 'E', 'R', 'O', 'K', 'E', 'E', + 'C', 'H', 'E', 'R', 'R', 'I', 'E', 'S', + 'C', 'H', 'E', 'S', 'T', 'N', 'U', 'T', + 'C', 'H', 'I', 'L', 'D', 'R', 'E', 'N', + 'C', 'H', 'I', 'P', 'M', 'U', 'N', 'K', + 'C', 'H', 'O', 'R', 'E', 'V', 'M', 'A', + 'C', 'H', 'O', 'S', 'E', 'O', 'N', 'G', + 'C', 'I', 'N', 'N', 'A', 'B', 'A', 'R', + 'C', 'I', 'R', 'C', 'L', 'I', 'N', 'G', + 'C', 'I', 'R', 'C', 'U', 'L', 'A', 'R', + 'C', 'I', 'T', 'A', 'T', 'I', 'O', 'N', + 'C', 'I', 'V', 'I', 'L', 'I', 'A', 'N', + 'C', 'L', 'A', 'P', 'P', 'I', 'N', 'G', + 'C', 'L', 'I', 'M', 'A', 'C', 'U', 'S', + 'C', 'L', 'I', 'N', 'G', 'I', 'N', 'G', + 'C', 'L', 'I', 'N', 'K', 'I', 'N', 'G', + 'C', 'O', 'C', 'K', 'T', 'A', 'I', 'L', + 'C', 'O', 'M', 'B', 'I', 'N', 'E', 'D', + 'C', 'O', 'M', 'P', 'U', 'T', 'E', 'R', + 'C', 'O', 'N', 'F', 'E', 'T', 'T', 'I', + 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', + 'C', 'O', 'N', 'F', 'U', 'S', 'E', 'D', + 'C', 'O', 'N', 'S', 'T', 'A', 'N', 'T', + 'C', 'O', 'N', 'T', 'A', 'I', 'N', 'S', + 'C', 'O', 'P', 'P', 'E', 'R', '-', '2', + 'C', 'O', 'U', 'N', 'T', 'I', 'N', 'G', + 'C', 'R', 'E', 'A', 'T', 'I', 'V', 'E', + 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'T', + 'C', 'R', 'O', 'S', 'S', 'I', 'N', 'G', + 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', + 'C', 'R', 'U', 'Z', 'E', 'I', 'R', 'O', + 'C', 'U', 'C', 'U', 'M', 'B', 'E', 'R', + 'C', 'U', 'R', 'L', 'I', 'C', 'U', 'E', + 'C', 'U', 'R', 'R', 'E', 'N', 'C', 'Y', + 'C', 'U', 'S', 'T', 'O', 'M', 'E', 'R', + 'C', 'Y', 'R', 'E', 'N', 'A', 'I', 'C', + 'C', 'Y', 'R', 'I', 'L', 'L', 'I', 'C', + 'D', 'A', 'M', 'M', 'A', 'T', 'A', 'N', + 'D', 'A', 'P', '-', 'B', 'U', 'O', 'N', + 'D', 'A', 'P', '-', 'M', 'U', 'O', 'Y', + 'D', 'A', 'P', '-', 'P', 'R', 'A', 'M', + 'D', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'D', 'D', 'A', 'Y', 'A', 'N', 'N', 'A', + 'D', 'E', 'C', 'E', 'M', 'B', 'E', 'R', + 'D', 'E', 'C', 'R', 'E', 'A', 'S', 'E', + 'D', 'E', 'L', 'E', 'T', 'I', 'O', 'N', + 'D', 'E', 'L', 'I', 'V', 'E', 'R', 'Y', + 'D', 'E', 'N', 'A', 'R', 'I', 'U', 'S', + 'D', 'E', 'R', 'E', 'L', 'I', 'C', 'T', + 'D', 'E', 'Y', 'T', 'E', 'R', 'O', 'S', + 'D', 'E', 'Y', 'T', 'E', 'R', 'O', 'U', + 'D', 'I', 'A', 'G', 'O', 'N', 'A', 'L', + 'D', 'I', 'A', 'M', 'E', 'T', 'E', 'R', + 'D', 'I', 'A', 'M', 'O', 'N', 'D', 'S', + 'D', 'I', 'A', 'S', 'T', 'O', 'L', 'I', + 'D', 'I', 'A', 'T', 'O', 'N', 'O', 'N', + 'D', 'I', 'F', 'O', 'N', 'I', 'A', 'S', + 'D', 'I', 'G', 'O', 'R', 'G', 'O', 'N', + 'D', 'I', 'G', 'R', 'A', 'M', 'M', 'A', + 'D', 'I', 'R', 'E', 'C', 'T', 'L', 'Y', + 'D', 'I', 'S', 'A', 'B', 'L', 'E', 'D', + 'D', 'I', 'S', 'P', 'U', 'T', 'E', 'D', + 'D', 'I', 'S', 'S', 'O', 'L', 'V', 'E', + 'D', 'I', 'V', 'I', 'D', 'E', 'R', 'S', + 'D', 'I', 'V', 'I', 'S', 'I', 'O', 'N', + 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', + 'D', 'O', 'D', 'E', 'K', 'A', 'T', 'A', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', + 'D', 'O', 'T', 'S', '-', '1', '2', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', + 'D', 'O', 'T', 'S', '-', '1', '3', '6', + 'D', 'O', 'T', 'S', '-', '1', '3', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', + 'D', 'O', 'T', 'S', '-', '1', '4', '6', + 'D', 'O', 'T', 'S', '-', '1', '4', '7', + 'D', 'O', 'T', 'S', '-', '1', '4', '8', + 'D', 'O', 'T', 'S', '-', '1', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', + 'D', 'O', 'T', 'S', '-', '2', '3', '6', + 'D', 'O', 'T', 'S', '-', '2', '3', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', + 'D', 'O', 'T', 'S', '-', '2', '4', '6', + 'D', 'O', 'T', 'S', '-', '2', '4', '7', + 'D', 'O', 'T', 'S', '-', '2', '4', '8', + 'D', 'O', 'T', 'S', '-', '2', '5', '6', + 'D', 'O', 'T', 'S', '-', '2', '5', '7', + 'D', 'O', 'T', 'S', '-', '2', '5', '8', + 'D', 'O', 'T', 'S', '-', '2', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', + 'D', 'O', 'T', 'S', '-', '3', '4', '6', + 'D', 'O', 'T', 'S', '-', '3', '4', '7', + 'D', 'O', 'T', 'S', '-', '3', '4', '8', + 'D', 'O', 'T', 'S', '-', '3', '5', '6', + 'D', 'O', 'T', 'S', '-', '3', '5', '7', + 'D', 'O', 'T', 'S', '-', '3', '5', '8', + 'D', 'O', 'T', 'S', '-', '3', '6', '7', + 'D', 'O', 'T', 'S', '-', '3', '6', '8', + 'D', 'O', 'T', 'S', '-', '3', '7', '8', + 'D', 'O', 'T', 'S', '-', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '6', '7', '8', + 'D', 'O', 'T', 'T', 'E', 'D', '-', 'L', + 'D', 'O', 'T', 'T', 'E', 'D', '-', 'N', + 'D', 'O', 'T', 'T', 'E', 'D', '-', 'P', + 'D', 'O', 'U', 'G', 'H', 'N', 'U', 'T', + 'D', 'R', 'A', 'C', 'H', 'M', 'A', 'S', + 'D', 'R', 'A', 'F', 'T', 'I', 'N', 'G', + 'D', 'R', 'A', 'U', 'G', 'H', 'T', 'S', + 'D', 'R', 'A', 'W', 'I', 'N', 'G', 'S', + 'D', 'R', 'O', 'O', 'L', 'I', 'N', 'G', + 'D', 'U', 'P', 'L', 'O', 'Y', 'A', 'N', + 'D', 'U', 'R', 'A', 'T', 'I', 'O', 'N', + 'D', 'U', 'S', 'H', 'E', 'N', 'N', 'A', + 'D', 'V', 'I', 'S', 'V', 'A', 'R', 'A', + 'E', 'G', 'Y', 'P', 'T', 'I', 'A', 'N', + 'E', 'I', 'G', 'H', 'T', 'E', 'E', 'N', + 'E', 'L', 'E', 'C', 'T', 'R', 'I', 'C', + 'E', 'L', 'E', 'P', 'H', 'A', 'N', 'T', + 'E', 'L', 'L', 'I', 'P', 'S', 'I', 'S', + 'E', 'L', 'L', 'I', 'P', 'T', 'I', 'C', + 'E', 'M', 'P', 'H', 'A', 'S', 'I', 'S', + 'E', 'M', 'P', 'H', 'A', 'T', 'I', 'C', + 'E', 'N', 'T', 'E', 'R', 'I', 'N', 'G', + 'E', 'N', 'V', 'E', 'L', 'O', 'P', 'E', + 'E', 'P', 'E', 'G', 'E', 'R', 'M', 'A', + 'E', 'S', 'U', 'K', 'U', 'U', 'D', 'O', + 'E', 'T', 'E', 'R', 'N', 'I', 'T', 'Y', + 'E', 'T', 'H', 'I', 'O', 'P', 'I', 'C', + 'E', 'U', 'R', 'O', 'P', 'E', 'A', 'N', + 'E', 'X', 'C', 'H', 'A', 'N', 'G', 'E', + 'E', 'X', 'P', 'O', 'N', 'E', 'N', 'T', + 'E', 'X', 'T', 'E', 'N', 'D', 'E', 'D', + 'E', 'Y', 'E', 'B', 'R', 'O', 'W', 'S', + 'F', 'A', 'T', 'H', 'A', 'T', 'A', 'N', + 'F', 'E', 'B', 'R', 'U', 'A', 'R', 'Y', + 'F', 'E', 'M', 'I', 'N', 'I', 'N', 'E', + 'F', 'E', 'S', 'T', 'I', 'V', 'A', 'L', + 'F', 'I', 'G', 'U', 'R', 'E', '-', '1', + 'F', 'I', 'G', 'U', 'R', 'E', '-', '2', + 'F', 'I', 'G', 'U', 'R', 'E', '-', '3', + 'F', 'I', 'L', 'L', 'E', 'R', '-', '1', + 'F', 'I', 'L', 'L', 'E', 'R', '-', '2', + 'F', 'I', 'N', 'G', 'E', 'R', 'E', 'D', + 'F', 'I', 'R', 'E', 'W', 'O', 'R', 'K', + 'F', 'I', 'S', 'H', 'H', 'O', 'O', 'K', + 'F', 'L', 'A', 'T', 'N', 'E', 'S', 'S', + 'F', 'L', 'O', 'R', 'E', 'T', 'T', 'E', + 'F', 'L', 'O', 'U', 'R', 'I', 'S', 'H', + 'F', 'O', 'O', 'T', 'B', 'A', 'L', 'L', + 'F', 'O', 'O', 'T', 'N', 'O', 'T', 'E', + 'F', 'O', 'R', 'E', 'H', 'E', 'A', 'D', + 'F', 'O', 'R', 'T', 'I', 'E', 'T', 'H', + 'F', 'O', 'U', 'N', 'T', 'A', 'I', 'N', + 'F', 'O', 'U', 'R', 'T', 'E', 'E', 'N', + 'F', 'R', 'A', 'C', 'T', 'I', 'O', 'N', + 'F', 'R', 'A', 'G', 'M', 'E', 'N', 'T', + 'F', 'R', 'A', 'G', 'R', 'A', 'N', 'T', + 'F', 'R', 'O', 'W', 'N', 'I', 'N', 'G', + 'F', 'U', 'L', 'L', 'N', 'E', 'S', 'S', + 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', + 'G', 'A', 'R', 'S', 'H', 'U', 'N', 'I', + 'G', 'A', 'U', 'N', 'T', 'L', 'E', 'T', + 'G', 'E', 'M', 'I', 'N', 'A', 'T', 'E', + 'G', 'E', 'N', 'I', 'T', 'I', 'V', 'E', + 'G', 'E', 'O', 'R', 'G', 'I', 'A', 'N', + 'G', 'H', 'E', 'U', 'G', 'H', 'E', 'N', + 'G', 'R', 'A', 'P', 'H', 'E', 'M', 'E', + 'G', 'R', 'I', 'N', 'N', 'I', 'N', 'G', + 'G', 'U', 'J', 'A', 'R', 'A', 'T', 'I', + 'G', 'U', 'R', 'M', 'U', 'K', 'H', 'I', + 'H', 'A', 'N', '-', 'A', 'K', 'A', 'T', + 'H', 'A', 'N', 'D', '-', 'C', 'U', 'P', + 'H', 'A', 'N', 'D', 'B', 'A', 'L', 'L', + 'H', 'A', 'N', 'G', 'Z', 'H', 'O', 'U', + 'H', 'A', 'R', 'D', 'N', 'E', 'S', 'S', + 'H', 'A', 'R', 'K', 'L', 'E', 'A', 'N', + 'H', 'A', 'R', 'M', 'O', 'N', 'I', 'C', + 'H', 'A', 'T', 'C', 'H', 'I', 'N', 'G', + 'H', 'E', 'A', 'V', 'E', 'N', 'L', 'Y', + 'H', 'E', 'X', 'A', 'G', 'R', 'A', 'M', + 'H', 'E', 'X', 'I', 'F', 'O', 'R', 'M', + 'H', 'I', 'B', 'I', 'S', 'C', 'U', 'S', + 'H', 'I', 'G', 'H', '-', 'L', 'O', 'W', + 'H', 'I', 'R', 'A', 'G', 'A', 'N', 'A', + 'H', 'I', 'S', 'T', 'O', 'R', 'I', 'C', + 'H', 'O', 'N', 'E', 'Y', 'B', 'E', 'E', + 'H', 'O', 'S', 'P', 'I', 'T', 'A', 'L', + 'H', 'U', 'A', 'R', 'A', 'D', 'D', 'O', + 'H', 'U', 'N', 'D', 'R', 'E', 'D', 'S', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'M', + 'I', 'L', 'U', 'Y', 'A', 'N', 'N', 'A', + 'I', 'M', 'I', 'F', 'O', 'N', 'O', 'N', + 'I', 'M', 'P', 'E', 'R', 'I', 'A', 'L', + 'I', 'N', 'C', 'O', 'M', 'I', 'N', 'G', + 'I', 'N', 'C', 'R', 'E', 'A', 'S', 'E', + 'I', 'N', 'D', 'I', 'R', 'E', 'C', 'T', + 'I', 'N', 'F', 'I', 'N', 'I', 'T', 'Y', + 'I', 'N', 'H', 'E', 'R', 'E', 'N', 'T', + 'I', 'N', 'T', 'E', 'G', 'R', 'A', 'L', + 'I', 'N', 'T', 'E', 'R', 'E', 'S', 'T', + 'I', 'N', 'T', 'E', 'R', 'I', 'O', 'R', + 'I', 'N', 'V', 'E', 'R', 'T', 'E', 'D', + 'I', 'O', 'T', 'I', 'F', 'I', 'E', 'D', + 'I', 'R', 'U', 'Y', 'A', 'N', 'N', 'A', + 'I', 'S', '-', 'P', 'I', 'L', 'L', 'A', + 'I', 'S', 'O', 'L', 'A', 'T', 'E', 'D', + 'J', 'A', 'P', 'A', 'N', 'E', 'S', 'E', + 'J', 'A', 'V', 'A', 'N', 'E', 'S', 'E', + 'J', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'J', 'O', 'Y', 'S', 'T', 'I', 'C', 'K', + 'J', 'U', 'G', 'G', 'L', 'I', 'N', 'G', + 'K', 'A', 'R', 'S', 'H', 'A', 'N', 'A', + 'K', 'A', 'S', 'H', 'M', 'I', 'R', 'I', + 'K', 'A', 'S', 'R', 'A', 'T', 'A', 'N', + 'K', 'A', 'T', 'A', 'K', 'A', 'N', 'A', + 'K', 'A', 'T', 'H', 'I', 'S', 'T', 'I', + 'K', 'E', 'Y', 'B', 'O', 'A', 'R', 'D', + 'K', 'N', 'U', 'C', 'K', 'L', 'E', 'S', + 'K', 'O', 'N', 'T', 'E', 'V', 'M', 'A', + 'K', 'O', 'U', 'F', 'I', 'S', 'M', 'A', + 'K', 'R', 'E', 'M', 'A', 'S', 'T', 'I', + 'L', '-', 'S', 'H', 'A', 'P', 'E', 'D', + 'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E', + 'L', 'A', 'T', 'I', 'N', 'A', 'T', 'E', + 'L', 'A', 'U', 'G', 'H', 'I', 'N', 'G', + 'L', 'E', 'E', 'R', 'A', 'E', 'W', 'A', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '1', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '2', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '3', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '4', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '5', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '6', + 'L', 'E', 'N', 'G', 'T', 'H', '-', '7', + 'L', 'I', 'G', 'A', 'T', 'I', 'N', 'G', + 'L', 'I', 'G', 'A', 'T', 'U', 'R', 'E', + 'L', 'I', 'P', 'S', 'T', 'I', 'C', 'K', + 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', + 'L', 'O', 'C', 'A', 'T', 'I', 'V', 'E', + 'L', 'O', 'G', 'O', 'G', 'R', 'A', 'M', + 'L', 'O', 'G', 'O', 'T', 'Y', 'P', 'E', + 'L', 'O', 'L', 'L', 'I', 'P', 'O', 'P', + 'L', 'O', 'R', 'R', 'A', 'I', 'N', 'E', + 'L', 'O', 'S', 'S', 'L', 'E', 'S', 'S', + 'M', 'A', 'E', 'M', 'K', 'P', 'E', 'N', + 'M', 'A', 'E', 'M', 'V', 'E', 'U', 'X', + 'M', 'A', 'H', 'A', 'J', 'A', 'N', 'I', + 'M', 'A', 'H', 'A', 'P', 'A', 'K', 'H', + 'M', 'A', 'I', 'M', 'A', 'L', 'A', 'I', + 'M', 'A', 'I', 'Y', 'A', 'M', 'O', 'K', + 'M', 'A', 'N', 'A', 'C', 'L', 'E', 'S', + 'M', 'A', 'N', 'G', 'A', 'L', 'A', 'M', + 'M', 'A', 'R', 'R', 'I', 'A', 'G', 'E', + 'M', 'A', 'R', 'R', 'Y', 'I', 'N', 'G', + 'M', 'A', 'R', 'T', 'Y', 'R', 'I', 'A', + 'M', 'A', 'S', 'H', 'F', 'A', 'A', 'T', + 'M', 'A', 'X', 'I', 'M', 'I', 'Z', 'E', + 'M', 'B', 'E', 'E', 'K', 'E', 'E', 'T', + 'M', 'B', 'I', 'R', 'I', 'E', 'E', 'N', + 'M', 'E', 'A', 'S', 'U', 'R', 'E', 'D', + 'M', 'E', 'D', 'I', 'C', 'I', 'N', 'E', + 'M', 'E', 'M', '-', 'Q', 'O', 'P', 'H', + 'M', 'E', 'R', 'O', 'I', 'T', 'I', 'C', + 'M', 'E', 'T', 'R', 'E', 'T', 'E', 'S', + 'M', 'E', 'T', 'R', 'I', 'C', 'A', 'L', + 'M', 'I', 'L', 'I', 'T', 'A', 'R', 'Y', + 'M', 'I', 'L', 'L', 'I', 'O', 'N', 'S', + 'M', 'I', 'N', 'I', 'D', 'I', 'S', 'C', + 'M', 'I', 'N', 'I', 'M', 'I', 'Z', 'E', + 'M', 'I', 'N', 'I', 'S', 'T', 'E', 'R', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', + 'M', 'O', 'H', 'A', 'M', 'M', 'A', 'D', + 'M', 'O', 'N', 'O', 'G', 'R', 'A', 'M', + 'M', 'O', 'N', 'O', 'R', 'A', 'I', 'L', + 'M', 'O', 'N', 'T', 'I', 'E', 'E', 'N', + 'M', 'O', 'T', 'O', 'R', 'W', 'A', 'Y', + 'M', 'O', 'U', 'N', 'T', 'A', 'I', 'N', + 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', + 'M', 'U', 'L', 'T', 'I', 'M', 'A', 'P', + 'M', 'U', 'L', 'T', 'I', 'P', 'L', 'E', + 'M', 'U', 'L', 'T', 'I', 'S', 'E', 'T', + 'M', 'U', 'S', 'H', 'R', 'O', 'O', 'M', + 'N', 'A', 'N', 'S', 'A', 'N', 'A', 'Q', + 'N', 'A', 'T', 'I', 'O', 'N', 'A', 'L', + 'N', 'E', 'G', 'A', 'T', 'I', 'O', 'N', + 'N', 'E', 'G', 'A', 'T', 'I', 'V', 'E', + 'N', 'G', 'E', 'U', 'R', 'E', 'U', 'T', + 'N', 'G', 'G', 'A', 'A', 'M', 'A', 'E', + 'N', 'G', 'G', 'E', 'U', 'A', 'E', 'T', + 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'M', + 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'Q', + 'N', 'I', 'K', 'H', 'A', 'H', 'I', 'T', + 'N', 'I', 'N', 'E', 'T', 'E', 'E', 'N', + 'N', 'J', 'E', 'U', 'A', 'E', 'N', 'A', + 'N', 'O', '-', 'B', 'R', 'E', 'A', 'K', + 'N', 'O', 'R', 'T', 'H', 'E', 'R', 'N', + 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N', + 'N', 'O', 'T', 'E', 'B', 'O', 'O', 'K', + 'N', 'O', 'T', 'E', 'H', 'E', 'A', 'D', + 'N', 'O', 'V', 'E', 'M', 'B', 'E', 'R', + 'N', 'T', 'E', 'U', 'N', 'G', 'B', 'A', + 'O', 'M', 'I', 'S', 'S', 'I', 'O', 'N', + 'O', 'N', 'C', 'O', 'M', 'I', 'N', 'G', + 'O', 'N', 'E', '-', 'L', 'I', 'N', 'E', + 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', + 'O', 'P', 'P', 'O', 'S', 'I', 'N', 'G', + 'O', 'R', 'I', 'G', 'I', 'N', 'A', 'L', + 'O', 'R', 'N', 'A', 'M', 'E', 'N', 'T', + 'O', 'R', 'T', 'H', 'O', 'D', 'O', 'X', + 'O', 'U', 'T', 'L', 'I', 'N', 'E', 'D', + 'O', 'V', 'E', 'R', 'L', 'A', 'I', 'D', + 'O', 'V', 'E', 'R', 'L', 'I', 'N', 'E', + 'O', 'V', 'E', 'R', 'L', 'O', 'N', 'G', + 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'E', + 'P', 'A', 'A', 'S', 'E', 'N', 'T', 'O', + 'P', 'A', 'I', 'R', 'T', 'H', 'R', 'A', + 'P', 'A', 'L', 'O', 'C', 'H', 'K', 'A', + 'P', 'A', 'M', 'E', 'N', 'E', 'N', 'G', + 'P', 'A', 'M', 'U', 'D', 'P', 'O', 'D', + 'P', 'A', 'N', 'C', 'A', 'K', 'E', 'S', + 'P', 'A', 'N', 'G', 'H', 'U', 'L', 'U', + 'P', 'A', 'N', 'G', 'L', 'O', 'N', 'G', + 'P', 'A', 'N', 'G', 'O', 'L', 'A', 'T', + 'P', 'A', 'N', 'O', 'L', 'O', 'N', 'G', + 'P', 'A', 'N', 'Y', 'A', 'K', 'R', 'A', + 'P', 'A', 'N', 'Y', 'E', 'C', 'E', 'K', + 'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', + 'P', 'A', 'R', 'I', 'C', 'H', 'O', 'N', + 'P', 'A', 'R', 'T', 'H', 'I', 'A', 'N', + 'P', 'A', 'S', 'A', 'N', 'G', 'A', 'N', + 'P', 'A', 'S', 'S', 'P', 'O', 'R', 'T', + 'P', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'P', 'E', 'D', 'E', 'S', 'T', 'A', 'L', + 'P', 'E', 'L', 'A', 'S', 'T', 'O', 'N', + 'P', 'E', 'N', 'T', 'A', 'G', 'O', 'N', + 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'A', + 'P', 'E', 'R', 'S', 'O', 'N', 'A', 'L', + 'P', 'E', 'T', 'A', 'L', 'L', 'E', 'D', + 'P', 'H', 'A', 'A', 'R', 'K', 'A', 'A', + 'P', 'H', 'A', 'G', 'S', '-', 'P', 'A', + 'P', 'H', 'A', 'I', 'S', 'T', 'O', 'S', + 'P', 'I', 'N', 'W', 'H', 'E', 'E', 'L', + 'P', 'I', 'P', 'A', 'E', 'M', 'B', 'A', + 'P', 'L', 'A', 'S', 'T', 'I', 'C', 'S', + 'P', 'L', 'E', 'T', 'H', 'R', 'O', 'N', + 'P', 'N', 'E', 'U', 'M', 'A', 'T', 'A', + 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'P', 'O', 'K', 'R', 'Y', 'T', 'I', 'E', + 'P', 'O', 'R', 'T', 'A', 'B', 'L', 'E', + 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', + 'P', 'O', 'W', 'D', 'E', 'R', 'E', 'D', + 'P', 'R', 'A', 'M', '-', 'B', 'E', 'I', + 'P', 'R', 'A', 'M', '-', 'P', 'I', 'I', + 'P', 'R', 'E', 'C', 'E', 'D', 'E', 'D', + 'P', 'R', 'E', 'C', 'E', 'D', 'E', 'S', + 'P', 'R', 'E', 'G', 'N', 'A', 'N', 'T', + 'P', 'R', 'E', 'V', 'I', 'O', 'U', 'S', + 'P', 'R', 'I', 'N', 'C', 'E', 'S', 'S', + 'P', 'R', 'O', 'F', 'O', 'U', 'N', 'D', + 'P', 'R', 'O', 'G', 'R', 'E', 'S', 'S', + 'P', 'R', 'O', 'P', 'E', 'R', 'T', 'Y', + 'P', 'U', 'S', 'H', 'P', 'I', 'K', 'A', + 'Q', 'A', 'I', 'R', 'T', 'H', 'R', 'A', + 'Q', 'U', 'A', 'D', 'R', 'A', 'N', 'T', + 'Q', 'U', 'A', 'N', 'T', 'I', 'T', 'Y', + 'Q', 'U', 'A', 'R', 'T', 'E', 'R', 'S', + 'Q', 'U', 'E', 'S', 'T', 'I', 'O', 'N', + 'Q', 'U', 'I', 'N', 'C', 'U', 'N', 'X', + 'R', 'E', 'C', 'E', 'I', 'V', 'E', 'R', + 'R', 'E', 'C', 'O', 'R', 'D', 'E', 'R', + 'R', 'E', 'C', 'Y', 'C', 'L', 'E', 'D', + 'R', 'E', 'F', 'O', 'R', 'M', 'E', 'D', + 'R', 'E', 'G', 'I', 'O', 'N', 'A', 'L', + 'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N', + 'R', 'E', 'L', 'I', 'E', 'V', 'E', 'D', + 'R', 'E', 'L', 'I', 'G', 'I', 'O', 'N', + 'R', 'E', 'M', 'I', 'N', 'D', 'E', 'R', + 'R', 'E', 'N', 'T', 'O', 'G', 'E', 'N', + 'R', 'E', 'P', 'E', 'A', 'T', 'E', 'D', + 'R', 'E', 'S', 'O', 'U', 'R', 'C', 'E', + 'R', 'E', 'S', 'P', 'O', 'N', 'S', 'E', + 'R', 'E', 'S', 'T', 'R', 'O', 'O', 'M', + 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', + 'R', 'I', 'G', 'V', 'E', 'D', 'I', 'C', + 'R', 'O', 'H', 'I', 'N', 'G', 'Y', 'A', + 'R', 'O', 'M', 'A', 'N', 'I', 'A', 'N', + 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', + 'R', 'U', 'K', 'K', 'A', 'K', 'H', 'A', + 'S', '-', 'S', 'H', 'A', 'P', 'E', 'D', + 'S', 'A', 'I', 'L', 'B', 'O', 'A', 'T', + 'S', 'A', 'L', 'T', 'I', 'L', 'L', 'O', + 'S', 'A', 'N', 'T', 'I', 'I', 'M', 'U', + 'S', 'A', 'N', 'Y', 'O', 'O', 'G', 'A', + 'S', 'A', 'X', 'I', 'M', 'A', 'T', 'A', + 'S', 'C', 'I', 'S', 'S', 'O', 'R', 'S', + 'S', 'C', 'O', 'R', 'P', 'I', 'O', 'N', + 'S', 'C', 'O', 'R', 'P', 'I', 'U', 'S', + 'S', 'E', 'E', 'D', 'L', 'I', 'N', 'G', + 'S', 'E', 'L', 'E', 'C', 'T', 'O', 'R', + 'S', 'E', 'M', 'I', 'S', 'O', 'F', 'T', + 'S', 'E', 'M', 'U', 'N', 'C', 'I', 'A', + 'S', 'E', 'P', 'T', 'U', 'P', 'L', 'E', + 'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D', + 'S', 'H', 'A', 'M', 'R', 'O', 'C', 'K', + 'S', 'H', 'E', '-', 'G', 'O', 'A', 'T', + 'S', 'H', 'E', 'S', 'H', 'L', 'A', 'M', + 'S', 'H', 'O', 'O', 'T', 'I', 'N', 'G', + 'S', 'H', 'O', 'P', 'P', 'I', 'N', 'G', + 'S', 'H', 'O', 'U', 'L', 'D', 'E', 'R', + 'S', 'I', 'C', 'K', 'N', 'E', 'S', 'S', + 'S', 'I', 'D', 'E', 'W', 'A', 'Y', 'S', + 'S', 'I', 'M', 'A', 'N', 'S', 'I', 'S', + 'S', 'I', 'N', 'U', 'S', 'O', 'I', 'D', + 'S', 'I', 'X', '-', 'L', 'I', 'N', 'E', + 'S', 'L', 'A', 'V', 'O', 'N', 'I', 'C', + 'S', 'L', 'E', 'E', 'P', 'I', 'N', 'G', + 'S', 'L', 'I', 'G', 'H', 'T', 'L', 'Y', + 'S', 'M', 'I', 'R', 'K', 'I', 'N', 'G', + 'S', 'N', 'E', 'E', 'Z', 'I', 'N', 'G', + 'S', 'O', 'F', 'T', 'N', 'E', 'S', 'S', + 'S', 'O', 'U', 'T', 'H', 'E', 'R', 'N', + 'S', 'P', 'A', 'R', 'K', 'L', 'E', 'R', + 'S', 'P', 'A', 'R', 'K', 'L', 'E', 'S', + 'S', 'P', 'E', 'A', 'K', 'I', 'N', 'G', + 'S', 'P', 'E', 'S', 'M', 'I', 'L', 'O', + 'S', 'P', 'I', 'R', 'I', 'T', 'U', 'S', + 'S', 'P', 'O', 'U', 'T', 'I', 'N', 'G', + 'S', 'Q', 'U', 'E', 'E', 'Z', 'E', 'D', + 'S', 'Q', 'U', 'I', 'G', 'G', 'L', 'E', + 'S', 'Q', 'U', 'I', 'R', 'R', 'E', 'L', + 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O', + 'S', 'T', 'A', 'L', 'L', 'I', 'O', 'N', + 'S', 'T', 'A', 'N', 'D', 'A', 'R', 'D', + 'S', 'T', 'E', 'A', 'M', 'I', 'N', 'G', + 'S', 'T', 'I', 'C', 'K', 'I', 'N', 'G', + 'S', 'T', 'O', 'P', 'P', 'A', 'G', 'E', + 'S', 'T', 'O', 'P', 'P', 'I', 'N', 'G', + 'S', 'T', 'R', 'A', 'I', 'G', 'H', 'T', + 'S', 'T', 'R', 'A', 'I', 'N', 'E', 'R', + 'S', 'T', 'R', 'A', 'T', 'I', 'A', 'N', + 'S', 'T', 'R', 'E', 'A', 'M', 'E', 'R', + 'S', 'T', 'R', 'E', 'N', 'G', 'T', 'H', + 'S', 'T', 'R', 'I', 'C', 'T', 'L', 'Y', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '1', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '2', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '3', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '4', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '5', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '6', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '7', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '8', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '9', + 'S', 'U', 'B', 'G', 'R', 'O', 'U', 'P', + 'S', 'U', 'C', 'C', 'E', 'E', 'D', 'S', + 'S', 'U', 'I', 'T', 'A', 'B', 'L', 'E', + 'S', 'U', 'P', 'E', 'R', 'S', 'E', 'T', + 'S', 'U', 'R', 'R', 'O', 'U', 'N', 'D', + 'S', 'W', 'A', 'P', 'P', 'I', 'N', 'G', + 'S', 'W', 'I', 'M', 'M', 'I', 'N', 'G', + 'S', 'Y', 'L', 'L', 'A', 'B', 'L', 'E', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '6', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '7', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '8', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '9', + 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'Y', + 'T', 'A', 'G', 'B', 'A', 'N', 'W', 'A', + 'T', 'A', 'I', 'L', 'L', 'E', 'S', 'S', + 'T', 'A', 'N', 'A', 'B', 'A', 'T', 'A', + 'T', 'A', 'R', 'T', 'A', 'R', '-', '2', + 'T', 'A', 'T', 'T', 'O', 'O', 'E', 'D', + 'T', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'T', 'E', 'A', 'R', '-', 'O', 'F', 'F', + 'T', 'E', 'S', 'S', 'A', 'R', 'O', 'N', + 'T', 'E', 'T', 'A', 'R', 'T', 'O', 'S', + 'T', 'E', 'T', 'R', 'A', 'P', 'L', 'I', + 'T', 'H', 'E', 'S', 'P', 'I', 'A', 'N', + 'T', 'H', 'I', 'N', 'K', 'I', 'N', 'G', + 'T', 'H', 'I', 'R', 'T', 'E', 'E', 'N', + 'T', 'H', 'O', 'U', 'S', 'A', 'N', 'D', + 'T', 'H', 'R', 'E', 'E', '-', 'E', 'M', + 'T', 'H', 'R', 'O', 'W', 'I', 'N', 'G', + 'T', 'H', 'U', 'R', 'I', 'S', 'A', 'Z', + 'T', 'I', 'F', 'I', 'N', 'A', 'G', 'H', + 'T', 'I', 'N', 'C', 'T', 'U', 'R', 'E', + 'T', 'I', 'R', 'O', 'N', 'I', 'A', 'N', + 'T', 'O', 'G', 'E', 'T', 'H', 'E', 'R', + 'T', 'O', 'R', 'C', 'U', 'L', 'U', 'S', + 'T', 'O', 'R', 'T', 'O', 'I', 'S', 'E', + 'T', 'O', 'U', 'C', 'H', 'I', 'N', 'G', + 'T', 'O', 'U', 'R', 'N', 'O', 'I', 'S', + 'T', 'R', 'A', 'I', 'L', 'I', 'N', 'G', + 'T', 'R', 'E', 'A', 'D', 'I', 'N', 'G', + 'T', 'R', 'E', 'S', 'I', 'L', 'L', 'O', + 'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E', + 'T', 'R', 'I', 'C', 'O', 'L', 'O', 'N', + 'T', 'R', 'I', 'S', 'I', 'M', 'O', 'U', + 'T', 'R', 'O', 'M', 'I', 'K', 'O', 'N', + 'T', 'R', 'O', 'P', 'I', 'C', 'A', 'L', + 'T', 'R', 'U', 'M', 'P', '-', '1', '0', + 'T', 'R', 'U', 'M', 'P', '-', '1', '1', + 'T', 'R', 'U', 'M', 'P', '-', '1', '2', + 'T', 'R', 'U', 'M', 'P', '-', '1', '3', + 'T', 'R', 'U', 'M', 'P', '-', '1', '4', + 'T', 'R', 'U', 'M', 'P', '-', '1', '5', + 'T', 'R', 'U', 'M', 'P', '-', '1', '6', + 'T', 'R', 'U', 'M', 'P', '-', '1', '7', + 'T', 'R', 'U', 'M', 'P', '-', '1', '8', + 'T', 'R', 'U', 'M', 'P', '-', '1', '9', + 'T', 'R', 'U', 'M', 'P', '-', '2', '0', + 'T', 'R', 'U', 'M', 'P', '-', '2', '1', + 'T', 'R', 'Y', 'B', 'L', 'I', 'O', 'N', + 'T', 'T', 'A', 'Y', 'A', 'N', 'N', 'A', + 'T', 'T', 'U', 'D', 'D', 'A', 'A', 'G', + 'T', 'V', 'I', 'M', 'A', 'D', 'U', 'R', + 'T', 'W', 'E', 'L', 'F', 'T', 'H', 'S', + 'T', 'W', 'I', 'S', 'T', 'I', 'N', 'G', + 'T', 'W', 'O', '-', 'L', 'I', 'N', 'E', + 'T', 'Y', 'P', 'E', '-', '1', '-', '2', + 'U', '-', 'S', 'H', 'A', 'P', 'E', 'D', + 'U', 'B', 'H', 'A', 'Y', 'A', 'T', 'O', + 'U', 'G', 'A', 'R', 'I', 'T', 'I', 'C', + 'U', 'I', 'L', 'L', 'E', 'A', 'N', 'N', + 'U', 'M', 'B', 'R', 'E', 'L', 'L', 'A', + 'U', 'N', 'A', 'M', 'U', 'S', 'E', 'D', + 'U', 'N', 'D', 'E', 'R', 'B', 'A', 'R', + 'U', 'N', 'D', 'E', 'R', 'D', 'O', 'T', + 'U', 'N', 'D', 'E', 'R', 'T', 'I', 'E', + 'V', 'A', 'S', 'T', 'N', 'E', 'S', 'S', + 'V', 'E', 'R', 'S', 'I', 'C', 'L', 'E', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', + 'V', 'E', 'U', 'A', 'E', 'P', 'E', 'N', + 'V', 'I', 'E', 'W', 'D', 'A', 'T', 'A', + 'W', 'A', 'N', 'D', 'E', 'R', 'E', 'R', + 'W', 'A', 'N', 'G', 'K', 'U', 'O', 'Q', + 'W', 'A', 'S', 'A', 'L', 'L', 'A', 'M', + 'W', 'I', 'D', 'E', 'N', 'I', 'N', 'G', + 'W', 'R', 'I', 'N', 'K', 'L', 'E', 'D', + 'W', 'R', 'I', 'N', 'K', 'L', 'E', 'S', + 'Y', 'A', 'M', 'A', 'K', 'K', 'A', 'N', + 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', + 'Y', 'O', 'U', 'T', 'H', 'F', 'U', 'L', + 'Z', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'Z', 'W', 'A', 'R', 'A', 'K', 'A', 'Y', + 'A', 'A', 'B', 'A', 'A', 'F', 'I', 'L', 'I', + 'A', 'B', 'K', 'H', 'A', 'S', 'I', 'A', 'N', + 'A', 'B', 'U', 'N', 'D', 'A', 'N', 'C', 'E', + 'A', 'D', 'D', 'R', 'E', 'S', 'S', 'E', 'D', + 'A', 'D', 'M', 'I', 'S', 'S', 'I', 'O', 'N', + 'A', 'D', 'V', 'A', 'N', 'T', 'A', 'G', 'E', + 'A', 'L', '-', 'L', 'A', 'K', 'U', 'N', 'A', + 'A', 'L', 'P', 'A', 'P', 'R', 'A', 'N', 'A', + 'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'E', + 'A', 'M', 'B', 'U', 'L', 'A', 'N', 'C', 'E', + 'A', 'M', 'P', 'E', 'R', 'S', 'A', 'N', 'D', + 'A', 'N', 'A', 'T', 'O', 'L', 'I', 'A', 'N', + 'A', 'N', 'G', 'U', 'I', 'S', 'H', 'E', 'D', + 'A', 'N', 'T', 'I', 'F', 'O', 'N', 'I', 'A', + 'A', 'R', '-', 'R', 'A', 'H', 'E', 'E', 'M', + 'A', 'R', '-', 'R', 'A', 'H', 'M', 'A', 'N', + 'A', 'R', 'R', 'O', 'W', 'H', 'E', 'A', 'D', + 'A', 'S', 'C', 'E', 'N', 'D', 'I', 'N', 'G', + 'A', 'S', 'P', 'I', 'R', 'A', 'T', 'E', 'D', + 'A', 'S', 'S', 'E', 'R', 'T', 'I', 'O', 'N', + 'A', 'S', 'T', 'E', 'R', 'I', 'S', 'K', 'S', + 'A', 'T', 'T', 'E', 'N', 'T', 'I', 'O', 'N', + 'A', 'U', 'B', 'E', 'R', 'G', 'I', 'N', 'E', + 'A', 'U', 'T', 'O', 'M', 'A', 'T', 'E', 'D', + 'B', 'A', 'C', 'K', 'S', 'L', 'A', 'S', 'H', + 'B', 'A', 'C', 'K', 'S', 'P', 'A', 'C', 'E', + 'B', 'A', 'D', 'M', 'I', 'N', 'T', 'O', 'N', + 'B', 'A', 'L', 'L', 'P', 'O', 'I', 'N', 'T', + 'B', 'E', 'G', 'I', 'N', 'N', 'I', 'N', 'G', + 'B', 'H', 'A', 'I', 'K', 'S', 'U', 'K', 'I', + 'B', 'I', 'C', 'Y', 'C', 'L', 'I', 'S', 'T', + 'B', 'I', 'L', 'L', 'I', 'A', 'R', 'D', 'S', + 'B', 'I', 'N', 'O', 'C', 'U', 'L', 'A', 'R', + 'B', 'I', 'O', 'H', 'A', 'Z', 'A', 'R', 'D', + 'B', 'I', 'S', 'E', 'C', 'T', 'I', 'N', 'G', + 'B', 'I', 'S', 'M', 'I', 'L', 'L', 'A', 'H', + 'B', 'L', 'A', 'C', 'K', 'F', 'O', 'O', 'T', + 'B', 'O', 'O', 'M', 'E', 'R', 'A', 'N', 'G', + 'B', 'R', 'A', 'C', 'K', 'E', 'T', 'E', 'D', + 'B', 'R', 'A', 'N', 'C', 'H', 'I', 'N', 'G', + 'B', 'R', 'I', 'E', 'F', 'C', 'A', 'S', 'E', + 'B', 'U', 'I', 'L', 'D', 'I', 'N', 'G', 'S', + 'B', 'U', 'T', 'T', 'E', 'R', 'F', 'L', 'Y', + 'B', 'Y', 'Z', 'A', 'N', 'T', 'I', 'N', 'E', + 'C', 'A', 'P', 'I', 'T', 'U', 'L', 'U', 'M', + 'C', 'A', 'P', 'R', 'I', 'C', 'O', 'R', 'N', + 'C', 'A', 'R', 'P', 'E', 'N', 'T', 'R', 'Y', + 'C', 'A', 'R', 'T', 'R', 'I', 'D', 'G', 'E', + 'C', 'A', 'R', 'T', 'W', 'H', 'E', 'E', 'L', + 'C', 'A', 'R', 'Y', 'S', 'T', 'I', 'A', 'N', + 'C', 'A', 'U', 'C', 'A', 'S', 'I', 'A', 'N', + 'C', 'E', 'N', 'T', 'U', 'R', 'I', 'A', 'L', + 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', + 'C', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'C', 'H', 'E', 'Q', 'U', 'E', 'R', 'E', 'D', + 'C', 'H', 'O', 'C', 'O', 'L', 'A', 'T', 'E', + 'C', 'H', 'R', 'I', 'S', 'T', 'M', 'A', 'S', + 'C', 'I', 'T', 'Y', 'S', 'C', 'A', 'P', 'E', + 'C', 'L', 'A', 'M', 'S', 'H', 'E', 'L', 'L', + 'C', 'L', 'A', 'S', 'S', 'I', 'C', 'A', 'L', + 'C', 'L', 'I', 'P', 'B', 'O', 'A', 'R', 'D', + 'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E', + 'C', 'L', 'O', 'S', 'E', 'N', 'E', 'S', 'S', + 'C', 'O', 'L', 'L', 'I', 'S', 'I', 'O', 'N', + 'C', 'O', 'M', 'B', 'I', 'N', 'I', 'N', 'G', + 'C', 'O', 'M', 'P', 'L', 'E', 'T', 'E', 'D', + 'C', 'O', 'M', 'P', 'U', 'T', 'E', 'R', 'S', + 'C', 'O', 'N', 'G', 'R', 'U', 'E', 'N', 'T', + 'C', 'O', 'N', 'J', 'O', 'I', 'N', 'E', 'D', + 'C', 'O', 'N', 'J', 'U', 'G', 'A', 'T', 'E', + 'C', 'O', 'N', 'S', 'O', 'N', 'A', 'N', 'T', + 'C', 'O', 'N', 'S', 'T', 'A', 'N', 'C', 'Y', + 'C', 'O', 'N', 'T', 'O', 'U', 'R', 'E', 'D', + 'C', 'O', 'P', 'R', 'O', 'D', 'U', 'C', 'T', + 'C', 'O', 'P', 'Y', 'R', 'I', 'G', 'H', 'T', + 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'D', 'O', + 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'T', 'S', + 'C', 'R', 'O', 'C', 'O', 'D', 'I', 'L', 'E', + 'C', 'R', 'O', 'I', 'S', 'S', 'A', 'N', 'T', + 'C', 'R', 'U', 'C', 'I', 'F', 'O', 'R', 'M', + 'C', 'U', 'A', 'T', 'R', 'I', 'L', 'L', 'O', + 'C', 'U', 'N', 'E', 'I', 'F', 'O', 'R', 'M', + 'D', 'A', 'H', 'Y', 'A', 'A', 'U', 'S', 'H', + 'D', 'A', 'R', 'K', 'E', 'N', 'I', 'N', 'G', + 'D', 'A', 'Y', '-', 'N', 'I', 'G', 'H', 'T', + 'D', 'E', 'C', 'I', 'D', 'U', 'O', 'U', 'S', + 'D', 'E', 'L', 'I', 'C', 'I', 'O', 'U', 'S', + 'D', 'E', 'L', 'I', 'M', 'I', 'T', 'E', 'R', + 'D', 'E', 'N', 'T', 'I', 'S', 'T', 'R', 'Y', + 'D', 'E', 'P', 'A', 'R', 'T', 'I', 'N', 'G', + 'D', 'E', 'P', 'A', 'R', 'T', 'U', 'R', 'E', + 'D', 'E', 'S', 'C', 'E', 'N', 'D', 'E', 'R', + 'D', 'I', 'A', 'E', 'R', 'E', 'S', 'I', 'S', + 'D', 'I', 'A', 'L', 'E', 'C', 'T', '-', 'P', + 'D', 'I', 'A', 'L', 'Y', 'T', 'I', 'K', 'A', + 'D', 'I', 'A', 'T', 'O', 'N', 'I', 'K', 'I', + 'D', 'I', 'F', 'T', 'O', 'G', 'G', 'O', 'S', + 'D', 'I', 'G', 'R', 'A', 'M', 'M', 'O', 'S', + 'D', 'I', 'M', 'E', 'N', 'S', 'I', 'O', 'N', + 'D', 'I', 'R', 'E', 'C', 'T', 'I', 'O', 'N', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '6', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '6', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '6', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '3', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '3', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '3', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '5', '6', '7', '8', + 'D', 'O', 'W', 'N', 'W', 'A', 'R', 'D', 'S', + 'D', 'R', 'O', 'M', 'E', 'D', 'A', 'R', 'Y', + 'D', 'U', 'P', 'O', 'N', 'D', 'I', 'U', 'S', + 'E', 'D', 'I', 'T', 'O', 'R', 'I', 'A', 'L', + 'E', 'E', 'B', 'E', 'E', 'F', 'I', 'L', 'I', + 'E', 'M', 'B', 'E', 'D', 'D', 'I', 'N', 'G', + 'E', 'N', 'C', 'L', 'O', 'S', 'I', 'N', 'G', + 'E', 'N', 'C', 'L', 'O', 'S', 'U', 'R', 'E', + 'E', 'N', 'D', 'E', 'A', 'V', 'O', 'U', 'R', + 'E', 'N', 'D', 'O', 'F', 'O', 'N', 'O', 'N', + 'E', 'S', 'T', 'I', 'M', 'A', 'T', 'E', 'D', + 'E', 'S', 'T', 'I', 'M', 'A', 'T', 'E', 'S', + 'E', 'V', 'E', 'R', 'G', 'R', 'E', 'E', 'N', + 'E', 'X', 'C', 'E', 'L', 'L', 'E', 'N', 'T', + 'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N', + 'E', 'X', 'T', 'R', 'A', '-', 'L', 'O', 'W', + 'E', 'X', 'T', 'R', 'E', 'M', 'E', 'L', 'Y', + 'E', 'Y', 'B', 'E', 'Y', 'F', 'I', 'L', 'I', + 'E', 'Y', 'E', 'L', 'A', 'S', 'H', 'E', 'S', + 'F', 'A', 'C', 'S', 'I', 'M', 'I', 'L', 'E', + 'F', 'A', 'N', 'E', 'R', 'O', 'S', 'I', 'S', + 'F', 'E', 'U', 'F', 'E', 'U', 'A', 'E', 'T', + 'F', 'I', 'N', 'A', 'N', 'C', 'I', 'A', 'L', + 'F', 'I', 'R', 'E', 'W', 'O', 'R', 'K', 'S', + 'F', 'I', 'V', 'E', '-', 'L', 'I', 'N', 'E', + 'F', 'L', 'A', 'T', 'B', 'R', 'E', 'A', 'D', + 'F', 'L', 'A', 'T', 'T', 'E', 'N', 'E', 'D', + 'F', 'O', 'L', 'L', 'O', 'W', 'I', 'N', 'G', + 'F', 'O', 'O', 'T', 'S', 'T', 'O', 'O', 'L', + 'F', 'O', 'S', 'T', 'E', 'R', 'I', 'N', 'G', + 'F', 'O', 'U', 'R', '-', 'L', 'I', 'N', 'E', + 'F', 'R', 'E', 'T', 'B', 'O', 'A', 'R', 'D', + 'F', 'R', 'I', 'C', 'A', 'T', 'I', 'V', 'E', + 'F', 'U', 'L', 'L', 'W', 'I', 'D', 'T', 'H', + 'G', 'A', 'T', 'H', 'E', 'R', 'I', 'N', 'G', + 'G', 'E', 'O', 'M', 'E', 'T', 'R', 'I', 'C', + 'G', 'E', 'R', 'S', 'H', 'A', 'Y', 'I', 'M', + 'G', 'H', 'E', 'U', 'A', 'E', 'R', 'A', 'E', + 'G', 'L', 'I', 'S', 'S', 'A', 'N', 'D', 'O', + 'G', 'N', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'G', 'O', 'R', 'G', 'O', 'T', 'E', 'R', 'I', + 'G', 'R', 'A', 'V', 'E', 'Y', 'A', 'R', 'D', + 'G', 'R', 'E', 'A', 'T', 'N', 'E', 'S', 'S', + 'G', 'R', 'E', 'G', 'O', 'R', 'I', 'A', 'N', + 'G', 'R', 'I', 'M', 'A', 'C', 'I', 'N', 'G', + 'G', 'U', 'A', 'R', 'D', 'S', 'M', 'A', 'N', + 'G', 'U', 'R', 'A', 'M', 'U', 'T', 'O', 'N', + 'H', 'A', 'L', 'F', 'W', 'I', 'D', 'T', 'H', + 'H', 'A', 'M', 'B', 'U', 'R', 'G', 'E', 'R', + 'H', 'A', 'N', 'D', '-', 'C', 'L', 'A', 'W', + 'H', 'A', 'N', 'D', '-', 'F', 'I', 'S', 'T', + 'H', 'A', 'N', 'D', '-', 'F', 'L', 'A', 'T', + 'H', 'A', 'N', 'D', '-', 'H', 'O', 'O', 'K', + 'H', 'A', 'N', 'D', '-', 'O', 'V', 'A', 'L', + 'H', 'A', 'N', 'D', 'S', 'H', 'A', 'K', 'E', + 'H', 'E', 'A', 'D', 'P', 'H', 'O', 'N', 'E', + 'H', 'E', 'A', 'D', 'S', 'T', 'O', 'N', 'E', + 'H', 'E', 'K', 'U', 'T', 'A', 'A', 'R', 'U', + 'H', 'E', 'R', 'M', 'I', 'T', 'I', 'A', 'N', + 'H', 'O', 'U', 'R', 'G', 'L', 'A', 'S', 'S', + 'H', 'U', 'N', 'G', 'A', 'R', 'I', 'A', 'N', + 'I', 'C', 'H', 'I', 'M', 'A', 'T', 'O', 'S', + 'I', 'D', 'E', 'N', 'T', 'I', 'C', 'A', 'L', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', + 'I', 'L', 'U', 'U', 'Y', 'A', 'N', 'N', 'A', + 'I', 'M', 'I', 'F', 'T', 'H', 'O', 'R', 'A', + 'I', 'N', 'C', 'L', 'U', 'D', 'I', 'N', 'G', + 'I', 'N', 'C', 'R', 'E', 'A', 'S', 'E', 'S', + 'I', 'N', 'C', 'R', 'E', 'M', 'E', 'N', 'T', + 'I', 'N', 'D', 'I', 'C', 'A', 'T', 'O', 'R', + 'I', 'N', 'D', 'I', 'C', 'T', 'I', 'O', 'N', + 'I', 'N', 'F', 'L', 'U', 'E', 'N', 'C', 'E', + 'I', 'N', 'N', 'O', 'C', 'E', 'N', 'C', 'E', + 'I', 'N', 'S', 'E', 'R', 'T', 'I', 'O', 'N', + 'I', 'N', 'V', 'I', 'S', 'I', 'B', 'L', 'E', + 'I', 'R', 'U', 'U', 'Y', 'A', 'N', 'N', 'A', + 'I', 'S', 'E', 'N', '-', 'I', 'S', 'E', 'N', + 'I', 'S', 'O', 'S', 'C', 'E', 'L', 'E', 'S', + 'I', 'T', 'E', 'R', 'A', 'T', 'I', 'O', 'N', + 'J', 'E', 'R', 'U', 'S', 'A', 'L', 'E', 'M', + 'J', 'O', 'N', 'G', 'S', 'E', 'O', 'N', 'G', + 'J', 'U', 'N', 'G', 'S', 'E', 'O', 'N', 'G', + 'K', 'A', 'T', 'A', 'V', 'A', 'S', 'M', 'A', + 'K', 'E', 'M', 'P', 'H', 'R', 'E', 'N', 'G', + 'K', 'E', 'N', 'T', 'I', 'M', 'A', 'T', 'A', + 'K', 'H', 'U', 'D', 'A', 'W', 'A', 'D', 'I', + 'K', 'H', 'U', 'E', 'N', '-', 'L', 'U', 'E', + 'K', 'I', 'R', 'O', 'W', 'A', 'T', 'T', 'O', + 'K', 'I', 'W', 'I', 'F', 'R', 'U', 'I', 'T', + 'K', 'R', 'A', 'T', 'I', 'M', 'A', 'T', 'A', + 'K', 'U', 'R', 'U', 'Z', 'E', 'I', 'R', 'O', + 'L', 'A', 'B', 'O', 'U', 'R', 'I', 'N', 'G', + 'L', 'A', 'R', 'Y', 'N', 'G', 'E', 'A', 'L', + 'L', 'E', 'F', 'T', '-', 'H', 'A', 'N', 'D', + 'L', 'E', 'F', 'T', '-', 'S', 'I', 'D', 'E', + 'L', 'E', 'F', 'T', '-', 'S', 'T', 'E', 'M', + 'L', 'E', 'F', 'T', 'W', 'A', 'R', 'D', 'S', + 'L', 'E', 'S', 'S', '-', 'T', 'H', 'A', 'N', + 'L', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'L', 'I', 'A', 'B', 'I', 'L', 'I', 'T', 'Y', + 'L', 'I', 'G', 'H', 'T', 'N', 'I', 'N', 'G', + 'L', 'O', 'D', 'E', 'S', 'T', 'O', 'N', 'E', + 'M', 'A', 'E', 'M', 'G', 'B', 'I', 'E', 'E', + 'M', 'A', 'H', 'A', 'P', 'R', 'A', 'N', 'A', + 'M', 'A', 'I', 'T', 'A', 'I', 'K', 'H', 'U', + 'M', 'A', 'L', 'A', 'Y', 'A', 'L', 'A', 'M', + 'M', 'A', 'R', 'C', 'A', 'S', 'I', 'T', 'E', + 'M', 'A', 'S', 'C', 'U', 'L', 'I', 'N', 'E', + 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'S', + 'M', 'E', 'G', 'A', 'P', 'H', 'O', 'N', 'E', + 'M', 'E', 'R', 'I', 'D', 'I', 'A', 'N', 'S', + 'M', 'E', 'S', 'S', 'E', 'N', 'I', 'A', 'N', + 'M', 'E', 'T', 'O', 'B', 'E', 'L', 'U', 'S', + 'M', 'I', 'D', '-', 'L', 'E', 'V', 'E', 'L', + 'M', 'I', 'R', 'I', 'B', 'A', 'A', 'R', 'U', + 'M', 'O', 'N', 'G', 'O', 'L', 'I', 'A', 'N', + 'M', 'O', 'N', 'O', 'C', 'U', 'L', 'A', 'R', + 'M', 'O', 'N', 'O', 'G', 'R', 'A', 'P', 'H', + 'M', 'O', 'N', 'O', 'S', 'P', 'A', 'C', 'E', + 'M', 'O', 'U', 'N', 'T', 'A', 'I', 'N', 'S', + 'M', 'U', 'K', 'P', 'H', 'R', 'E', 'N', 'G', + 'M', 'U', 'U', 'R', 'D', 'H', 'A', 'J', 'A', + 'N', 'A', 'B', 'A', 'T', 'A', 'E', 'A', 'N', + 'N', 'A', 'U', 'S', 'E', 'A', 'T', 'E', 'D', + 'N', 'D', 'E', 'U', 'A', 'E', 'R', 'E', 'E', + 'N', 'E', 'T', 'W', 'O', 'R', 'K', 'E', 'D', + 'N', 'E', 'W', 'S', 'P', 'A', 'P', 'E', 'R', + 'N', 'I', 'G', 'G', 'A', 'H', 'I', 'T', 'A', + 'N', 'I', 'G', 'I', 'D', 'A', 'E', 'S', 'H', + 'N', 'I', 'G', 'I', 'D', 'A', 'M', 'I', 'N', + 'N', 'I', 'H', 'S', 'H', 'V', 'A', 'S', 'A', + 'N', 'O', 'R', 'T', 'H', 'W', 'E', 'S', 'T', + 'N', 'U', 'M', 'E', 'R', 'A', 'T', 'O', 'R', + 'O', 'A', 'B', 'O', 'A', 'F', 'I', 'L', 'I', + 'O', 'C', 'C', 'L', 'U', 'S', 'I', 'O', 'N', + 'O', 'C', 'T', 'A', 'G', 'O', 'N', 'A', 'L', + 'O', 'O', 'B', 'O', 'O', 'F', 'I', 'L', 'I', + 'O', 'P', 'H', 'I', 'U', 'C', 'H', 'U', 'S', + 'O', 'R', 'N', 'A', 'M', 'E', 'N', 'T', 'S', + 'O', 'Y', 'R', 'A', 'N', 'I', 'S', 'M', 'A', + 'P', 'A', 'A', '-', 'P', 'I', 'L', 'L', 'A', + 'P', 'A', 'I', 'Y', 'A', 'N', 'N', 'O', 'I', + 'P', 'A', 'L', 'M', 'Y', 'R', 'E', 'N', 'E', + 'P', 'A', 'M', 'I', 'N', 'G', 'K', 'A', 'L', + 'P', 'A', 'M', 'U', 'N', 'G', 'K', 'A', 'H', + 'P', 'A', 'N', 'G', 'L', 'A', 'Y', 'A', 'R', + 'P', 'A', 'N', 'G', 'W', 'I', 'S', 'A', 'D', + 'P', 'A', 'N', 'Y', 'A', 'N', 'G', 'G', 'A', + 'P', 'A', 'P', 'E', 'R', 'C', 'L', 'I', 'P', + 'P', 'A', 'R', 'A', 'G', 'R', 'A', 'P', 'H', + 'P', 'A', 'S', 'S', 'E', 'N', 'G', 'E', 'R', + 'P', 'E', 'N', 'T', 'A', 'G', 'R', 'A', 'M', + 'P', 'E', 'N', 'T', 'A', 'S', 'E', 'M', 'E', + 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'U', 'M', + 'P', 'E', 'R', 'M', 'A', 'N', 'E', 'N', 'T', + 'P', 'I', 'A', 'S', 'U', 'T', 'O', 'R', 'U', + 'P', 'I', 'N', 'E', 'A', 'P', 'P', 'L', 'E', + 'P', 'I', 'T', 'C', 'H', 'F', 'O', 'R', 'K', + 'P', 'I', 'Z', 'Z', 'I', 'C', 'A', 'T', 'O', + 'P', 'O', 'R', 'R', 'E', 'C', 'T', 'U', 'S', + 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', 'S', + 'P', 'R', 'A', 'M', '-', 'B', 'U', 'O', 'N', + 'P', 'R', 'A', 'M', '-', 'M', 'U', 'O', 'Y', + 'P', 'R', 'E', 'C', 'E', 'D', 'I', 'N', 'G', + 'P', 'R', 'O', 'J', 'E', 'C', 'T', 'O', 'R', + 'P', 'R', 'O', 'L', 'O', 'N', 'G', 'E', 'D', + 'P', 'R', 'O', 'P', 'E', 'L', 'L', 'E', 'R', + 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'N', + 'Q', 'U', 'A', 'D', 'C', 'O', 'L', 'O', 'N', + 'Q', 'U', 'A', 'D', 'R', 'U', 'P', 'L', 'E', + 'Q', 'U', 'I', 'N', 'A', 'R', 'I', 'U', 'S', + 'Q', 'U', 'O', 'T', 'A', 'T', 'I', 'O', 'N', + 'Q', 'U', 'S', 'H', 'S', 'H', 'A', 'Y', 'A', + 'R', 'E', 'A', 'L', 'G', 'A', 'R', '-', '2', + 'R', 'E', 'C', 'E', 'P', 'T', 'I', 'V', 'E', + 'R', 'E', 'C', 'O', 'R', 'D', 'I', 'N', 'G', + 'R', 'E', 'C', 'T', 'A', 'N', 'G', 'L', 'E', + 'R', 'E', 'C', 'Y', 'C', 'L', 'I', 'N', 'G', + 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'E', + 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '2', + 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '3', + 'R', 'E', 'G', 'U', 'L', 'U', 'S', '-', '4', + 'R', 'E', 'P', 'R', 'E', 'S', 'E', 'N', 'T', + 'R', 'E', 'R', 'E', 'N', 'G', 'G', 'A', 'N', + 'R', 'E', 'S', 'I', 'D', 'E', 'N', 'C', 'E', + 'R', 'E', 'S', 'U', 'P', 'I', 'N', 'U', 'S', + 'R', 'E', 'T', 'R', 'O', 'F', 'L', 'E', 'X', + 'R', 'E', 'V', 'O', 'L', 'V', 'I', 'N', 'G', + 'R', 'I', 'G', 'H', 'T', 'H', 'A', 'N', 'D', + 'R', 'O', 'L', 'L', 'E', 'D', '-', 'U', 'P', + 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', 'S', + 'R', 'U', 'D', 'I', 'M', 'E', 'N', 'T', 'A', + 'S', 'A', 'M', 'A', 'R', 'I', 'T', 'A', 'N', + 'S', 'A', 'T', 'E', 'L', 'L', 'I', 'T', 'E', + 'S', 'A', 'V', 'O', 'U', 'R', 'I', 'N', 'G', + 'S', 'A', 'X', 'O', 'P', 'H', 'O', 'N', 'E', + 'S', 'C', 'A', 'N', 'D', 'I', 'C', 'U', 'S', + 'S', 'C', 'H', 'R', 'O', 'E', 'D', 'E', 'R', + 'S', 'C', 'R', 'E', 'A', 'M', 'I', 'N', 'G', + 'S', 'E', 'B', 'A', 'T', 'B', 'E', 'I', 'T', + 'S', 'E', 'M', 'I', 'C', 'O', 'L', 'O', 'N', + 'S', 'E', 'M', 'I', 'V', 'O', 'W', 'E', 'L', + 'S', 'E', 'P', 'A', 'R', 'A', 'T', 'O', 'R', + 'S', 'E', 'P', 'T', 'E', 'M', 'B', 'E', 'R', + 'S', 'E', 'V', 'E', 'N', 'T', 'E', 'E', 'N', + 'S', 'E', 'V', 'E', 'R', 'A', 'N', 'C', 'E', + 'S', 'H', 'A', 'V', 'I', 'Y', 'A', 'N', 'I', + 'S', 'H', 'E', 'U', 'A', 'E', 'Q', 'T', 'U', + 'S', 'H', 'O', 'R', 'T', 'C', 'A', 'K', 'E', + 'S', 'H', 'O', 'R', 'T', 'E', 'N', 'E', 'R', + 'S', 'H', 'O', 'R', 'T', 'H', 'A', 'N', 'D', + 'S', 'I', 'X', 'T', 'E', 'E', 'N', 'T', 'H', + 'S', 'N', 'O', 'W', 'F', 'L', 'A', 'K', 'E', + 'S', 'P', 'A', 'G', 'H', 'E', 'T', 'T', 'I', + 'S', 'P', 'A', 'R', 'K', 'L', 'I', 'N', 'G', + 'S', 'P', 'E', 'E', 'D', 'B', 'O', 'A', 'T', + 'S', 'P', 'H', 'E', 'R', 'I', 'C', 'A', 'L', + 'S', 'P', 'L', 'A', 'S', 'H', 'I', 'N', 'G', + 'S', 'P', 'L', 'I', 'T', 'T', 'I', 'N', 'G', + 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'S', 'T', 'O', 'P', 'W', 'A', 'T', 'C', 'H', + 'S', 'T', 'R', 'A', 'T', 'U', 'M', '-', '2', + 'S', 'T', 'R', 'E', 'T', 'C', 'H', 'E', 'D', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '1', '0', + 'S', 'T', 'R', 'O', 'K', 'E', '-', '1', '1', + 'S', 'T', 'U', 'C', 'K', '-', 'O', 'U', 'T', + 'S', 'U', 'B', 'J', 'O', 'I', 'N', 'E', 'D', + 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', + 'S', 'U', 'B', 'L', 'I', 'N', 'E', 'A', 'R', + 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', + 'S', 'U', 'M', 'M', 'A', 'T', 'I', 'O', 'N', + 'S', 'U', 'N', 'D', 'A', 'N', 'E', 'S', 'E', + 'S', 'U', 'N', 'F', 'L', 'O', 'W', 'E', 'R', + 'S', 'U', 'P', 'E', 'R', 'V', 'I', 'S', 'E', + 'S', 'Y', 'L', 'L', 'A', 'B', 'I', 'C', 'S', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '0', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '1', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '3', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '4', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '5', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '6', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '7', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '8', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '1', '9', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '0', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '1', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '3', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '4', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '5', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '6', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '7', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '2', '9', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '0', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '6', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '7', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '8', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '3', '9', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '0', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '3', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '5', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '7', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '8', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '4', '9', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '0', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '1', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '2', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '3', + 'S', 'Y', 'M', 'B', 'O', 'L', '-', '5', '4', + 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', + 'S', 'Y', 'N', 'A', 'G', 'O', 'G', 'U', 'E', + 'S', 'Y', 'N', 'D', 'E', 'S', 'M', 'O', 'S', + 'S', 'Y', 'R', 'M', 'A', 'T', 'I', 'K', 'I', + 'T', 'A', 'K', 'H', 'A', 'L', 'L', 'U', 'S', + 'T', 'A', 'N', 'G', 'E', 'R', 'I', 'N', 'E', + 'T', 'E', 'L', 'E', 'G', 'R', 'A', 'P', 'H', + 'T', 'E', 'L', 'E', 'P', 'H', 'O', 'N', 'E', + 'T', 'E', 'L', 'E', 'S', 'C', 'O', 'P', 'E', + 'T', 'E', 'T', 'R', 'A', 'G', 'R', 'A', 'M', + 'T', 'E', 'T', 'R', 'A', 'S', 'E', 'M', 'E', + 'T', 'E', 'U', 'T', 'E', 'U', 'W', 'E', 'N', + 'T', 'H', 'E', 'R', 'E', 'F', 'O', 'R', 'E', + 'T', 'H', 'O', 'U', 'S', 'A', 'N', 'D', 'S', + 'T', 'O', 'U', 'C', 'H', 'T', 'O', 'N', 'E', + 'T', 'R', 'A', 'C', 'K', 'B', 'A', 'L', 'L', + 'T', 'R', 'A', 'P', 'E', 'Z', 'I', 'U', 'M', + 'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '1', + 'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '2', + 'T', 'R', 'E', 'M', 'O', 'L', 'O', '-', '3', + 'T', 'R', 'I', 'F', 'O', 'N', 'I', 'A', 'S', + 'T', 'R', 'I', 'G', 'O', 'R', 'G', 'O', 'N', + 'T', 'R', 'I', 'L', 'L', 'I', 'O', 'N', 'S', + 'T', 'R', 'U', 'N', 'C', 'A', 'T', 'E', 'D', + 'T', 'U', 'K', 'W', 'E', 'N', 'T', 'I', 'S', + 'T', 'U', 'R', 'N', 'S', 'T', 'I', 'L', 'E', + 'T', 'U', 'T', 'E', 'Y', 'A', 'S', 'A', 'T', + 'T', 'W', 'E', 'N', 'T', 'I', 'E', 'T', 'H', + 'U', 'K', 'R', 'A', 'I', 'N', 'I', 'A', 'N', + 'U', 'N', 'B', 'L', 'E', 'N', 'D', 'E', 'D', + 'U', 'N', 'D', 'E', 'R', 'L', 'I', 'N', 'E', + 'U', 'N', 'I', 'V', 'E', 'R', 'S', 'A', 'L', + 'U', 'N', 'M', 'A', 'R', 'R', 'I', 'E', 'D', + 'V', 'A', 'R', 'I', 'A', 'T', 'I', 'O', 'N', + 'V', 'E', 'R', 'D', 'I', 'G', 'R', 'I', 'S', + 'V', 'I', 'B', 'R', 'A', 'T', 'I', 'O', 'N', + 'V', 'I', 'N', 'E', 'G', 'A', 'R', '-', '2', + 'V', 'I', 'N', 'E', 'G', 'A', 'R', '-', '3', + 'V', 'I', 'S', 'A', 'R', 'G', 'A', 'Y', 'A', + 'V', 'I', 'T', 'R', 'I', 'O', 'L', '-', '2', + 'V', 'O', 'I', 'C', 'E', 'L', 'E', 'S', 'S', + 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'W', 'A', 'S', 'S', 'A', 'L', 'L', 'A', 'M', + 'W', 'E', 'S', 'T', '-', 'C', 'R', 'E', 'E', + 'W', 'I', 'A', 'N', 'G', 'W', 'A', 'A', 'K', + 'W', 'O', 'R', 'D', 'S', 'P', 'A', 'C', 'E', + 'W', 'R', 'E', 'S', 'T', 'L', 'E', 'R', 'S', + 'Y', 'P', 'O', 'K', 'R', 'I', 'S', 'I', 'S', + 'A', 'C', 'R', 'O', 'P', 'H', 'O', 'N', 'I', 'C', + 'A', 'E', 'D', 'A', '-', 'P', 'I', 'L', 'L', 'A', + 'A', 'E', 'L', 'A', '-', 'P', 'I', 'L', 'L', 'A', + 'A', 'G', 'G', 'R', 'A', 'V', 'A', 'T', 'E', 'D', + 'A', 'L', 'C', 'H', 'E', 'M', 'I', 'C', 'A', 'L', + 'A', 'L', 'P', 'A', 'P', 'R', 'A', 'A', 'N', 'A', + 'A', 'N', 'G', 'K', 'H', 'A', 'N', 'K', 'H', 'U', + 'A', 'N', 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N', + 'A', 'N', 'T', 'I', 'K', 'E', 'N', 'O', 'M', 'A', + 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'Y', '-', '2', + 'A', 'N', 'U', 'S', 'V', 'A', 'R', 'A', 'Y', 'A', + 'A', 'P', 'O', 'S', 'T', 'R', 'O', 'F', 'O', 'I', + 'A', 'P', 'O', 'S', 'T', 'R', 'O', 'F', 'O', 'S', + 'A', 'P', 'O', 'S', 'T', 'R', 'O', 'P', 'H', 'E', + 'A', 'P', 'P', 'R', 'O', 'A', 'C', 'H', 'E', 'S', + 'A', 'Q', 'U', 'A', 'F', 'O', 'R', 'T', 'I', 'S', + 'A', 'R', 'P', 'E', 'G', 'G', 'I', 'A', 'T', 'O', + 'A', 'R', 'R', 'O', 'W', '-', 'T', 'A', 'I', 'L', + 'A', 'R', 'R', 'O', 'W', 'H', 'E', 'A', 'D', 'S', + 'A', 'S', 'P', 'I', 'R', 'A', 'T', 'I', 'O', 'N', + 'A', 'S', 'T', 'E', 'R', 'I', 'S', 'C', 'U', 'S', + 'A', 'S', 'T', 'O', 'N', 'I', 'S', 'H', 'E', 'D', + 'A', 'T', 'H', 'A', 'P', 'A', 'S', 'C', 'A', 'N', + 'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A', + 'A', 'U', 'T', 'O', 'M', 'O', 'B', 'I', 'L', 'E', + 'B', 'A', 'R', 'I', 'Y', 'O', 'O', 'S', 'A', 'N', + 'B', 'A', 'S', 'K', 'E', 'T', 'B', 'A', 'L', 'L', + 'B', 'A', 'T', 'H', 'A', 'M', 'A', 'S', 'A', 'T', + 'B', 'I', 'B', 'L', 'E', '-', 'C', 'R', 'E', 'E', + 'B', 'R', 'I', 'G', 'H', 'T', 'N', 'E', 'S', 'S', + 'C', 'A', 'L', 'C', 'U', 'L', 'A', 'T', 'O', 'R', + 'C', 'E', 'N', 'T', 'R', 'E', 'L', 'I', 'N', 'E', + 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', 'S', + 'C', 'I', 'R', 'C', 'U', 'M', 'F', 'L', 'E', 'X', + 'C', 'O', 'M', 'M', 'E', 'R', 'C', 'I', 'A', 'L', + 'C', 'O', 'M', 'P', 'L', 'E', 'M', 'E', 'N', 'T', + 'C', 'O', 'M', 'P', 'L', 'E', 'T', 'I', 'O', 'N', + 'C', 'O', 'M', 'P', 'L', 'I', 'A', 'N', 'C', 'E', + 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'E', 'D', + 'C', 'O', 'N', 'F', 'O', 'U', 'N', 'D', 'E', 'D', + 'C', 'O', 'N', 'J', 'O', 'I', 'N', 'I', 'N', 'G', + 'C', 'O', 'N', 'T', 'A', 'I', 'N', 'I', 'N', 'G', + 'C', 'O', 'N', 'T', 'E', 'N', 'T', 'I', 'O', 'N', + 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'I', 'N', 'G', + 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'O', 'U', 'S', + 'C', 'O', 'N', 'V', 'E', 'R', 'G', 'I', 'N', 'G', + 'C', 'R', 'O', 'S', 'S', 'B', 'O', 'N', 'E', 'S', + 'C', 'R', 'O', 'S', 'S', 'H', 'A', 'T', 'C', 'H', + 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '2', + 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '3', + 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '4', + 'C', 'R', 'U', 'C', 'I', 'B', 'L', 'E', '-', '5', + 'D', 'A', 'G', 'B', 'A', 'S', 'I', 'N', 'N', 'A', + 'D', 'E', 'C', 'O', 'R', 'A', 'T', 'I', 'O', 'N', + 'D', 'E', 'C', 'O', 'R', 'A', 'T', 'I', 'V', 'E', + 'D', 'E', 'F', 'I', 'N', 'I', 'T', 'I', 'O', 'N', + 'D', 'E', 'P', 'A', 'R', 'T', 'M', 'E', 'N', 'T', + 'D', 'E', 'S', 'C', 'E', 'N', 'D', 'I', 'N', 'G', + 'D', 'E', 'V', 'A', 'N', 'A', 'G', 'A', 'R', 'I', + 'D', 'I', 'F', 'F', 'E', 'R', 'E', 'N', 'C', 'E', + 'D', 'I', 'F', 'F', 'I', 'C', 'U', 'L', 'T', 'Y', + 'D', 'I', 'S', 'P', 'E', 'R', 'S', 'I', 'O', 'N', + 'D', 'I', 'S', 'S', 'O', 'L', 'V', 'E', '-', '2', + 'D', 'I', 'S', 'T', 'O', 'R', 'T', 'I', 'O', 'N', + 'D', 'I', 'V', 'E', 'R', 'G', 'E', 'N', 'C', 'E', + 'D', 'I', 'V', 'I', 'N', 'A', 'T', 'I', 'O', 'N', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '4', '5', '6', '7', '8', + 'D', 'R', 'U', 'M', 'S', 'T', 'I', 'C', 'K', 'S', + 'E', 'I', 'G', 'H', 'T', 'I', 'E', 'T', 'H', 'S', + 'E', 'K', 'S', 'T', 'R', 'E', 'P', 'T', 'O', 'N', + 'E', 'L', 'E', 'C', 'T', 'R', 'I', 'C', 'A', 'L', + 'E', 'M', 'B', 'R', 'O', 'I', 'D', 'E', 'R', 'Y', + 'E', 'N', 'A', 'R', 'M', 'O', 'N', 'I', 'O', 'S', + 'E', 'N', 'C', 'L', 'O', 'S', 'U', 'R', 'E', 'S', + 'E', 'N', 'C', 'O', 'U', 'N', 'T', 'E', 'R', 'S', + 'E', 'N', 'T', '-', 'S', 'H', 'A', 'P', 'E', 'D', + 'E', 'N', 'T', 'E', 'R', 'P', 'R', 'I', 'S', 'E', + 'E', 'N', 'T', 'H', 'U', 'S', 'I', 'A', 'S', 'M', + 'E', 'P', 'E', 'N', 'T', 'H', 'E', 'T', 'I', 'C', + 'E', 'P', 'I', 'D', 'A', 'U', 'R', 'E', 'A', 'N', + 'E', 'P', 'I', 'G', 'R', 'A', 'P', 'H', 'I', 'C', + 'E', 'Q', 'U', 'I', 'V', 'A', 'L', 'E', 'N', 'T', + 'E', 'X', 'C', 'I', 'T', 'E', 'M', 'E', 'N', 'T', + 'E', 'X', 'H', 'A', 'U', 'S', 'T', 'I', 'O', 'N', + 'E', 'X', 'T', 'R', 'A', '-', 'H', 'I', 'G', 'H', + 'E', 'Y', 'E', 'G', 'L', 'A', 'S', 'S', 'E', 'S', + 'F', 'A', 'H', 'R', 'E', 'N', 'H', 'E', 'I', 'T', + 'F', 'E', 'L', 'L', 'O', 'W', 'S', 'H', 'I', 'P', + 'F', 'I', 'X', 'E', 'D', '-', 'F', 'O', 'R', 'M', + 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'F', 'L', 'U', 'T', 'T', 'E', 'R', 'I', 'N', 'G', + 'F', 'O', 'O', 'T', 'P', 'R', 'I', 'N', 'T', 'S', + 'F', 'O', 'R', 'M', 'A', 'T', 'T', 'I', 'N', 'G', + 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', 'A', 'L', + 'G', 'B', 'A', 'K', 'U', 'R', 'U', 'N', 'E', 'N', + 'G', 'E', 'M', 'I', 'N', 'A', 'T', 'I', 'O', 'N', + 'G', 'L', 'A', 'G', 'O', 'L', 'I', 'T', 'I', 'C', + 'G', 'O', 'R', 'T', 'H', 'M', 'I', 'K', 'O', 'N', + 'G', 'R', 'A', 'D', 'U', 'A', 'T', 'I', 'O', 'N', + 'H', 'A', 'N', 'D', '-', 'A', 'N', 'G', 'L', 'E', + 'H', 'A', 'N', 'D', '-', 'H', 'I', 'N', 'G', 'E', + 'H', 'E', 'A', 'D', 'S', 'T', 'R', 'O', 'K', 'E', + 'H', 'E', 'L', 'I', 'C', 'O', 'P', 'T', 'E', 'R', + 'H', 'E', 'R', 'M', 'I', 'O', 'N', 'I', 'A', 'N', + 'H', 'I', 'E', 'R', 'O', 'G', 'L', 'Y', 'P', 'H', + 'H', 'I', 'E', 'U', 'H', '-', 'S', 'I', 'O', 'S', + 'H', 'I', 'G', 'H', '-', 'S', 'P', 'E', 'E', 'D', + 'H', 'O', 'M', 'O', 'T', 'H', 'E', 'T', 'I', 'C', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', + 'H', 'Y', 'S', 'T', 'E', 'R', 'E', 'S', 'I', 'S', + 'I', 'E', 'U', 'N', 'G', '-', 'S', 'I', 'O', 'S', + 'I', 'M', 'I', 'D', 'I', 'A', 'R', 'G', 'O', 'N', + 'I', 'M', 'I', 'F', 'T', 'H', 'O', 'R', 'O', 'N', + 'I', 'M', 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'A', + 'I', 'N', 'C', 'O', 'M', 'P', 'L', 'E', 'T', 'E', + 'I', 'N', 'D', 'U', 'S', 'T', 'R', 'I', 'A', 'L', + 'I', 'N', 'T', 'E', 'R', 'L', 'A', 'C', 'E', 'D', + 'K', 'E', 'U', 'A', 'E', 'T', 'M', 'E', 'U', 'N', + 'K', 'E', 'U', 'K', 'E', 'U', 'T', 'N', 'D', 'A', + 'K', 'E', 'U', 'S', 'H', 'E', 'U', 'A', 'E', 'P', + 'K', 'H', 'A', 'K', 'A', 'S', 'S', 'I', 'A', 'N', + 'K', 'H', 'A', 'R', 'O', 'S', 'H', 'T', 'H', 'I', + 'K', 'I', 'R', 'O', 'G', 'U', 'R', 'A', 'M', 'U', + 'K', 'U', 'N', 'D', 'D', 'A', 'L', 'I', 'Y', 'A', + 'L', 'A', 'J', 'A', 'N', 'Y', 'A', 'L', 'A', 'N', + 'L', 'E', 'N', 'G', 'T', 'H', 'E', 'N', 'E', 'R', + 'L', 'E', 'N', 'T', 'I', 'C', 'U', 'L', 'A', 'R', + 'L', 'E', 'V', 'I', 'T', 'A', 'T', 'I', 'N', 'G', + 'L', 'I', 'G', 'H', 'T', 'H', 'O', 'U', 'S', 'E', + 'L', 'I', 'M', 'I', 'T', 'A', 'T', 'I', 'O', 'N', + 'L', 'O', 'C', 'O', 'M', 'O', 'T', 'I', 'V', 'E', + 'M', 'A', 'E', 'M', 'B', 'G', 'B', 'I', 'E', 'E', + 'M', 'A', 'G', 'N', 'I', 'F', 'Y', 'I', 'N', 'G', + 'M', 'A', 'N', 'D', 'A', 'I', 'L', 'I', 'N', 'G', + 'M', 'A', 'N', 'I', 'C', 'H', 'A', 'E', 'A', 'N', + 'M', 'E', 'M', 'B', 'E', 'R', 'S', 'H', 'I', 'P', + 'M', 'I', 'C', 'R', 'O', 'P', 'H', 'O', 'N', 'E', + 'M', 'I', 'C', 'R', 'O', 'S', 'C', 'O', 'P', 'E', + 'M', 'I', 'E', 'U', 'M', '-', 'S', 'I', 'O', 'S', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '2', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '3', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '4', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '5', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '6', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '7', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '8', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '9', + 'M', 'O', 'N', 'G', 'K', 'E', 'U', 'A', 'E', 'Q', + 'M', 'O', 'N', 'O', 'F', 'O', 'N', 'I', 'A', 'S', + 'M', 'O', 'N', 'O', 'S', 'T', 'A', 'B', 'L', 'E', + 'M', 'O', 'O', 'S', 'E', '-', 'C', 'R', 'E', 'E', + 'M', 'O', 'T', 'O', 'R', 'C', 'Y', 'C', 'L', 'E', + 'M', 'U', '-', 'G', 'A', 'A', 'H', 'L', 'A', 'A', + 'M', 'V', 'E', 'U', 'A', 'E', 'N', 'G', 'A', 'M', + 'N', 'A', 'A', 'S', 'I', 'K', 'Y', 'A', 'Y', 'A', + 'N', 'A', 'N', 'G', 'M', 'O', 'N', 'T', 'H', 'O', + 'N', 'G', 'G', 'U', 'A', 'E', 'S', 'H', 'A', 'E', + 'N', 'G', 'K', 'U', 'E', 'N', 'Z', 'E', 'U', 'M', + 'N', 'I', 'E', 'U', 'N', '-', 'S', 'I', 'O', 'S', + 'N', 'I', 'K', 'O', 'L', 'S', 'B', 'U', 'R', 'G', + 'N', 'O', 'N', '-', 'J', 'O', 'I', 'N', 'E', 'R', + 'N', 'O', 'N', 'F', 'O', 'R', 'K', 'I', 'N', 'G', + 'O', 'N', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'O', 'P', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', + 'O', 'P', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', + 'O', 'R', 'T', 'H', 'O', 'G', 'O', 'N', 'A', 'L', + 'P', 'A', 'I', 'N', 'T', 'B', 'R', 'U', 'S', 'H', + 'P', 'A', 'M', 'P', 'H', 'Y', 'L', 'I', 'A', 'N', + 'P', 'A', 'N', 'A', 'E', 'L', 'A', 'E', 'N', 'G', + 'P', 'A', 'N', 'E', 'U', 'L', 'E', 'U', 'N', 'G', + 'P', 'A', 'N', 'O', 'N', 'G', 'O', 'N', 'A', 'N', + 'P', 'A', 'P', 'E', 'R', 'C', 'L', 'I', 'P', 'S', + 'P', 'A', 'R', 'A', 'P', 'H', 'R', 'A', 'S', 'E', + 'P', 'A', 'T', 'H', 'A', 'M', 'A', 'S', 'A', 'T', + 'P', 'E', 'D', 'E', 'S', 'T', 'R', 'I', 'A', 'N', + 'P', 'E', 'N', 'T', 'A', 'T', 'H', 'L', 'O', 'N', + 'P', 'E', 'R', 'C', 'U', 'S', 'S', 'I', 'V', 'E', + 'P', 'E', 'R', 'F', 'O', 'R', 'M', 'I', 'N', 'G', + 'P', 'H', 'A', 'R', 'Y', 'N', 'G', 'E', 'A', 'L', + 'P', 'H', 'I', 'L', 'I', 'P', 'P', 'I', 'N', 'E', + 'P', 'H', 'O', 'E', 'N', 'I', 'C', 'I', 'A', 'N', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', + 'P', 'I', 'N', 'A', 'R', 'B', 'O', 'R', 'A', 'S', + 'P', 'L', 'U', 'S', '-', 'M', 'I', 'N', 'U', 'S', + 'P', 'O', 'S', 'S', 'E', 'S', 'S', 'I', 'O', 'N', + 'P', 'R', 'O', 'H', 'I', 'B', 'I', 'T', 'E', 'D', + 'P', 'R', 'O', 'J', 'E', 'C', 'T', 'I', 'O', 'N', + 'P', 'R', 'O', 'J', 'E', 'C', 'T', 'I', 'V', 'E', + 'P', 'R', 'O', 'L', 'A', 'T', 'I', 'O', 'N', 'E', + 'P', 'R', 'O', 'P', 'O', 'R', 'T', 'I', 'O', 'N', + 'P', 'R', 'O', 'T', 'O', 'V', 'A', 'R', 'Y', 'S', + 'Q', 'U', 'A', 'T', 'E', 'R', 'N', 'I', 'O', 'N', + 'Q', 'U', 'E', 'S', 'T', 'I', 'O', 'N', 'E', 'D', + 'R', 'E', 'C', 'I', 'T', 'A', 'T', 'I', 'V', 'E', + 'R', 'E', 'G', 'I', 'S', 'T', 'E', 'R', 'E', 'D', + 'R', 'E', 'L', 'A', 'T', 'I', 'O', 'N', 'A', 'L', + 'R', 'E', 'P', 'E', 'T', 'I', 'T', 'I', 'O', 'N', + 'R', 'E', 'S', 'I', 'S', 'T', 'A', 'N', 'C', 'E', + 'R', 'E', 'S', 'O', 'L', 'U', 'T', 'I', 'O', 'N', + 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', 'E', 'D', + 'R', 'E', 'V', 'O', 'L', 'U', 'T', 'I', 'O', 'N', + 'R', 'H', 'I', 'N', 'O', 'C', 'E', 'R', 'O', 'S', + 'R', 'I', 'E', 'U', 'L', '-', 'S', 'I', 'O', 'S', + 'R', 'I', 'G', 'H', 'T', '-', 'H', 'A', 'N', 'D', + 'R', 'I', 'G', 'H', 'T', '-', 'S', 'I', 'D', 'E', + 'R', 'I', 'G', 'H', 'T', 'W', 'A', 'R', 'D', 'S', + 'S', 'A', 'N', 'S', '-', 'S', 'E', 'R', 'I', 'F', + 'S', 'A', 'T', 'K', 'A', 'A', 'N', 'K', 'U', 'U', + 'S', 'A', 'U', 'R', 'A', 'S', 'H', 'T', 'R', 'A', + 'S', 'E', 'M', 'I', 'B', 'R', 'E', 'V', 'I', 'S', + 'S', 'E', 'M', 'I', 'C', 'I', 'R', 'C', 'L', 'E', + 'S', 'E', 'M', 'I', 'D', 'I', 'R', 'E', 'C', 'T', + 'S', 'E', 'M', 'I', 'M', 'I', 'N', 'I', 'M', 'A', + 'S', 'E', 'Q', 'U', 'E', 'N', 'T', 'I', 'A', 'L', + 'S', 'E', 'S', 'T', 'E', 'R', 'T', 'I', 'U', 'S', + 'S', 'H', 'A', 'L', 'S', 'H', 'E', 'L', 'E', 'T', + 'S', 'H', 'I', 'Y', 'Y', 'A', 'A', 'L', 'A', 'A', + 'S', 'H', 'O', 'U', 'L', 'D', 'E', 'R', 'E', 'D', + 'S', 'H', 'U', 'E', 'N', 'S', 'H', 'U', 'E', 'T', + 'S', 'I', 'L', 'H', 'O', 'U', 'E', 'T', 'T', 'E', + 'S', 'I', 'M', 'A', 'L', 'U', 'N', 'G', 'U', 'N', + 'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D', + 'S', 'I', 'N', 'N', 'Y', 'I', 'I', 'Y', 'H', 'E', + 'S', 'I', 'O', 'S', '-', 'C', 'I', 'E', 'U', 'C', + 'S', 'I', 'O', 'S', '-', 'H', 'I', 'E', 'U', 'H', + 'S', 'I', 'O', 'S', '-', 'I', 'E', 'U', 'N', 'G', + 'S', 'I', 'O', 'S', '-', 'M', 'I', 'E', 'U', 'M', + 'S', 'I', 'O', 'S', '-', 'N', 'I', 'E', 'U', 'N', + 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', + 'S', 'I', 'O', 'S', '-', 'R', 'I', 'E', 'U', 'L', + 'S', 'I', 'X', '-', 'P', 'E', 'R', '-', 'E', 'M', + 'S', 'I', 'X', '-', 'S', 'T', 'R', 'I', 'N', 'G', + 'S', 'I', 'X', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'S', 'I', 'X', 'T', 'E', 'E', 'N', 'T', 'H', 'S', + 'S', 'S', 'A', 'N', 'G', 'A', 'R', 'A', 'E', 'A', + 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C', + 'S', 'S', 'A', 'N', 'G', 'H', 'I', 'E', 'U', 'H', + 'S', 'S', 'A', 'N', 'G', 'I', 'E', 'U', 'N', 'G', + 'S', 'S', 'A', 'N', 'G', 'M', 'I', 'E', 'U', 'M', + 'S', 'S', 'A', 'N', 'G', 'N', 'I', 'E', 'U', 'N', + 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P', + 'S', 'S', 'A', 'N', 'G', 'R', 'I', 'E', 'U', 'L', + 'S', 'T', 'A', 'N', 'D', 'S', 'T', 'I', 'L', 'L', + 'S', 'T', 'R', 'A', 'W', 'B', 'E', 'R', 'R', 'Y', + 'S', 'U', 'B', 'P', 'U', 'N', 'C', 'T', 'I', 'S', + 'S', 'U', 'B', 'S', 'T', 'I', 'T', 'U', 'T', 'E', + 'S', 'U', 'N', 'G', 'L', 'A', 'S', 'S', 'E', 'S', + 'S', 'U', 'P', 'E', 'R', 'F', 'I', 'X', 'E', 'D', + 'S', 'U', 'S', 'P', 'E', 'N', 'S', 'I', 'O', 'N', + 'T', 'A', 'B', 'U', 'L', 'A', 'T', 'I', 'O', 'N', + 'T', 'A', 'W', 'E', 'L', 'L', 'E', 'M', 'E', 'T', + 'T', 'E', 'L', 'E', 'V', 'I', 'S', 'I', 'O', 'N', + 'T', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'T', 'E', 'R', 'M', 'I', 'N', 'A', 'T', 'O', 'R', + 'T', 'E', 'T', 'R', 'A', 'S', 'I', 'M', 'O', 'U', + 'T', 'H', 'I', 'R', 'T', 'Y', '-', 'O', 'N', 'E', + 'T', 'H', 'R', 'E', 'E', '-', 'L', 'I', 'N', 'E', + 'T', 'R', 'I', 'A', 'N', 'G', 'U', 'L', 'A', 'R', + 'T', 'R', 'I', 'F', 'O', 'L', 'I', 'A', 'T', 'E', + 'T', 'R', 'I', 'G', 'R', 'A', 'M', 'M', 'O', 'S', + 'T', 'R', 'O', 'E', 'Z', 'E', 'N', 'I', 'A', 'N', + 'T', 'R', 'O', 'K', 'U', 'T', 'A', 'S', 'T', 'I', + 'T', 'R', 'O', 'L', 'L', 'E', 'Y', 'B', 'U', 'S', + 'T', 'W', 'E', 'N', 'T', 'I', 'E', 'T', 'H', 'S', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'O', 'N', 'E', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'S', 'I', 'X', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'T', 'W', 'O', + 'T', 'W', 'O', '-', 'C', 'I', 'R', 'C', 'L', 'E', + 'T', 'W', 'O', '-', 'H', 'E', 'A', 'D', 'E', 'D', + 'T', 'W', 'O', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', 'L', 'Y', + 'V', 'I', 'S', 'I', 'G', 'O', 'T', 'H', 'I', 'C', + 'V', 'O', 'L', 'L', 'E', 'Y', 'B', 'A', 'L', 'L', + 'W', 'A', 'T', 'E', 'R', 'M', 'E', 'L', 'O', 'N', + 'W', 'H', 'E', 'E', 'L', 'C', 'H', 'A', 'I', 'R', + 'W', 'O', 'O', 'D', 'S', '-', 'C', 'R', 'E', 'E', + 'Y', 'A', 'J', 'U', 'R', 'V', 'E', 'D', 'I', 'C', + 'A', 'C', 'K', 'N', 'O', 'W', 'L', 'E', 'D', 'G', 'E', + 'A', 'E', 'S', 'C', 'U', 'L', 'A', 'P', 'I', 'U', 'S', + 'A', 'F', 'F', 'R', 'I', 'C', 'A', 'T', 'I', 'O', 'N', + 'A', 'G', 'G', 'R', 'A', 'V', 'A', 'T', 'I', 'O', 'N', + 'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'N', 'G', + 'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'O', 'N', + 'A', 'L', 'T', 'E', 'R', 'N', 'A', 'T', 'I', 'V', 'E', + 'A', 'N', 'T', 'I', 'M', 'O', 'N', 'I', 'A', 'T', 'E', + 'A', 'P', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', + 'A', 'P', 'P', 'R', 'O', 'X', 'I', 'M', 'A', 'T', 'E', + 'A', 'R', 'D', 'H', 'A', 'C', 'A', 'N', 'D', 'R', 'A', + 'A', 'R', 'T', 'I', 'C', 'U', 'L', 'A', 'T', 'E', 'D', + 'A', 'U', 'R', 'I', 'P', 'I', 'G', 'M', 'E', 'N', 'T', + 'B', 'A', 'C', 'K', '-', 'T', 'I', 'L', 'T', 'E', 'D', + 'B', 'A', 'C', 'K', 'S', 'L', 'A', 'N', 'T', 'E', 'D', + 'B', 'H', 'A', 'T', 'T', 'I', 'P', 'R', 'O', 'L', 'U', + 'B', 'L', 'A', 'C', 'K', 'L', 'E', 'T', 'T', 'E', 'R', + 'C', 'A', 'N', 'D', 'R', 'A', 'B', 'I', 'N', 'D', 'U', + 'C', 'E', 'L', 'E', 'B', 'R', 'A', 'T', 'I', 'O', 'N', + 'C', 'I', 'E', 'U', 'C', '-', 'I', 'E', 'U', 'N', 'G', + 'C', 'I', 'E', 'U', 'C', '-', 'P', 'I', 'E', 'U', 'P', + 'C', 'I', 'R', 'C', 'U', 'L', 'A', 'T', 'I', 'O', 'N', + 'C', 'L', 'U', 'B', '-', 'S', 'P', 'O', 'K', 'E', 'D', + 'C', 'O', 'M', 'B', 'I', 'N', 'A', 'T', 'I', 'O', 'N', + 'C', 'O', 'M', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', + 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', + 'C', 'O', 'N', 'J', 'U', 'N', 'C', 'T', 'I', 'O', 'N', + 'C', 'O', 'N', 'S', 'E', 'C', 'U', 'T', 'I', 'V', 'E', + 'C', 'O', 'N', 'T', 'R', 'A', 'C', 'T', 'I', 'O', 'N', + 'C', 'O', 'N', 'T', 'R', 'A', 'R', 'I', 'E', 'T', 'Y', + 'C', 'O', 'N', 'V', 'E', 'N', 'I', 'E', 'N', 'C', 'E', + 'C', 'O', 'R', 'P', 'O', 'R', 'A', 'T', 'I', 'O', 'N', + 'C', 'O', 'R', 'R', 'E', 'S', 'P', 'O', 'N', 'D', 'S', + 'C', 'O', 'U', 'N', 'T', 'E', 'R', 'B', 'O', 'R', 'E', + 'C', 'O', 'U', 'N', 'T', 'E', 'R', 'S', 'I', 'N', 'K', + 'D', 'A', 'H', 'Y', 'A', 'A', 'U', 'S', 'H', '-', '2', + 'D', 'A', 'L', 'E', 'T', 'H', '-', 'R', 'E', 'S', 'H', + 'D', 'E', 'C', 'R', 'E', 'S', 'C', 'E', 'N', 'D', 'O', + 'D', 'E', 'L', 'I', 'V', 'E', 'R', 'A', 'N', 'C', 'E', + 'D', 'E', 'N', 'O', 'M', 'I', 'N', 'A', 'T', 'O', 'R', + 'D', 'E', 'R', 'E', 'T', '-', 'H', 'I', 'D', 'E', 'T', + 'D', 'E', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', + 'D', 'E', 'V', 'E', 'L', 'O', 'P', 'M', 'E', 'N', 'T', + 'D', 'I', 'A', 'E', 'R', 'E', 'S', 'I', 'Z', 'E', 'D', + 'D', 'I', 'M', 'E', 'N', 'S', 'I', 'O', 'N', 'A', 'L', + 'D', 'I', 'R', 'E', 'C', 'T', 'I', 'O', 'N', 'A', 'L', + 'D', 'I', 'S', 'T', 'I', 'N', 'G', 'U', 'I', 'S', 'H', + 'D', 'O', 'A', 'C', 'H', 'A', 'S', 'H', 'M', 'E', 'E', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '4', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '4', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '3', '4', '5', '6', '7', '8', + 'D', 'O', 'U', 'B', 'L', 'E', '-', 'L', 'I', 'N', 'E', + 'E', 'A', 'M', 'H', 'A', 'N', 'C', 'H', 'O', 'L', 'L', + 'E', 'K', 'F', 'O', 'N', 'I', 'T', 'I', 'K', 'O', 'N', + 'E', 'N', 'L', 'A', 'R', 'G', 'E', 'M', 'E', 'N', 'T', + 'E', 'N', 'U', 'M', 'E', 'R', 'A', 'T', 'I', 'O', 'N', + 'E', 'Q', 'U', 'I', 'A', 'N', 'G', 'U', 'L', 'A', 'R', + 'E', 'Q', 'U', 'I', 'L', 'A', 'T', 'E', 'R', 'A', 'L', + 'E', 'X', 'C', 'L', 'A', 'M', 'A', 'T', 'I', 'O', 'N', + 'F', 'I', 'N', 'G', 'E', 'R', '-', 'P', 'O', 'S', 'T', + 'F', 'I', 'N', 'G', 'E', 'R', 'N', 'A', 'I', 'L', 'S', + 'F', 'I', 'T', 'Z', 'P', 'A', 'T', 'R', 'I', 'C', 'K', + 'F', 'I', 'V', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'F', 'O', 'U', 'R', '-', 'P', 'E', 'R', '-', 'E', 'M', + 'F', 'O', 'U', 'R', '-', 'S', 'T', 'R', 'I', 'N', 'G', + 'F', 'O', 'U', 'R', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'G', 'A', 'Y', 'A', 'N', 'U', 'K', 'I', 'T', 'T', 'A', + 'G', 'H', 'E', 'U', 'G', 'H', 'E', 'U', 'A', 'E', 'M', + 'G', 'U', 'A', 'R', 'D', 'E', 'D', 'N', 'E', 'S', 'S', + 'H', 'A', 'L', 'F', '-', 'C', 'I', 'R', 'C', 'L', 'E', + 'H', 'A', 'N', 'D', '-', 'C', 'I', 'R', 'C', 'L', 'E', + 'H', 'A', 'U', 'P', 'T', 'S', 'T', 'I', 'M', 'M', 'E', + 'H', 'B', 'A', 'S', 'A', '-', 'E', 'S', 'A', 'S', 'A', + 'H', 'I', 'E', 'U', 'H', '-', 'M', 'I', 'E', 'U', 'M', + 'H', 'I', 'E', 'U', 'H', '-', 'N', 'I', 'E', 'U', 'N', + 'H', 'I', 'E', 'U', 'H', '-', 'P', 'I', 'E', 'U', 'P', + 'H', 'I', 'E', 'U', 'H', '-', 'R', 'I', 'E', 'U', 'L', + 'H', 'I', 'G', 'H', '-', 'H', 'E', 'E', 'L', 'E', 'D', + 'H', 'Y', 'P', 'H', 'E', 'N', 'A', 'T', 'I', 'O', 'N', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', 'I', 'C', + 'I', 'E', 'U', 'N', 'G', '-', 'C', 'I', 'E', 'U', 'C', + 'I', 'E', 'U', 'N', 'G', '-', 'H', 'I', 'E', 'U', 'H', + 'I', 'E', 'U', 'N', 'G', '-', 'M', 'I', 'E', 'U', 'M', + 'I', 'E', 'U', 'N', 'G', '-', 'P', 'I', 'E', 'U', 'P', + 'I', 'E', 'U', 'N', 'G', '-', 'R', 'I', 'E', 'U', 'L', + 'I', 'M', 'P', 'E', 'R', 'F', 'E', 'C', 'T', 'U', 'M', + 'I', 'N', 'D', 'E', 'P', 'E', 'N', 'D', 'E', 'N', 'T', + 'I', 'N', 'F', 'O', 'R', 'M', 'A', 'T', 'I', 'O', 'N', + 'I', 'N', 'T', 'E', 'G', 'R', 'A', 'T', 'I', 'O', 'N', + 'I', 'N', 'T', 'E', 'R', 'C', 'A', 'L', 'A', 'T', 'E', + 'I', 'N', 'T', 'E', 'R', 'L', 'I', 'N', 'E', 'A', 'R', + 'I', 'N', 'T', 'E', 'R', 'L', 'O', 'C', 'K', 'E', 'D', + 'I', 'N', 'T', 'E', 'R', 'R', 'O', 'B', 'A', 'N', 'G', + 'I', 'R', 'O', 'N', '-', 'C', 'O', 'P', 'P', 'E', 'R', + 'J', 'I', 'H', 'V', 'A', 'M', 'U', 'L', 'I', 'Y', 'A', + 'K', 'I', 'R', 'O', 'M', 'E', 'E', 'T', 'O', 'R', 'U', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S', + 'L', 'A', 'K', 'K', 'H', 'A', 'N', 'G', 'Y', 'A', 'O', + 'L', 'E', 'F', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G', + 'L', 'E', 'F', 'T', '-', 'H', 'A', 'N', 'D', 'E', 'D', + 'L', 'E', 'F', 'T', '-', 'S', 'H', 'A', 'D', 'E', 'D', + 'L', 'O', 'N', 'G', '-', 'L', 'E', 'G', 'G', 'E', 'D', + 'L', 'O', 'U', 'D', 'S', 'P', 'E', 'A', 'K', 'E', 'R', + 'L', 'O', 'W', '-', 'F', 'A', 'L', 'L', 'I', 'N', 'G', + 'M', 'A', 'H', 'A', 'A', 'P', 'R', 'A', 'A', 'N', 'A', + 'M', 'A', 'N', 'T', 'E', 'L', 'P', 'I', 'E', 'C', 'E', + 'M', 'I', 'E', 'U', 'M', '-', 'C', 'I', 'E', 'U', 'C', + 'M', 'I', 'E', 'U', 'M', '-', 'H', 'I', 'E', 'U', 'H', + 'M', 'I', 'E', 'U', 'M', '-', 'N', 'I', 'E', 'U', 'N', + 'M', 'I', 'E', 'U', 'M', '-', 'P', 'I', 'E', 'U', 'P', + 'M', 'I', 'E', 'U', 'M', '-', 'R', 'I', 'E', 'U', 'L', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '0', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '1', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '2', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '3', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '4', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '5', + 'M', 'O', 'D', 'I', 'F', 'I', 'E', 'R', '-', '1', '6', + 'M', 'O', 'N', 'E', 'Y', '-', 'M', 'O', 'U', 'T', 'H', + 'M', 'O', 'N', 'O', 'G', 'R', 'A', 'M', 'M', 'O', 'S', + 'M', 'U', 'L', 'T', 'I', 'O', 'C', 'U', 'L', 'A', 'R', + 'M', 'U', 'U', 'S', 'I', 'K', 'A', 'T', 'O', 'A', 'N', + 'N', 'A', 'A', 'K', 'S', 'I', 'K', 'Y', 'A', 'Y', 'A', + 'N', 'E', 'B', 'E', 'N', 'S', 'T', 'I', 'M', 'M', 'E', + 'N', 'I', 'E', 'U', 'N', '-', 'C', 'I', 'E', 'U', 'C', + 'N', 'I', 'E', 'U', 'N', '-', 'H', 'I', 'E', 'U', 'H', + 'N', 'I', 'E', 'U', 'N', '-', 'P', 'I', 'E', 'U', 'P', + 'N', 'I', 'E', 'U', 'N', '-', 'R', 'I', 'E', 'U', 'L', + 'N', 'I', 'N', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'N', 'O', 'N', '-', 'P', 'O', 'T', 'A', 'B', 'L', 'E', + 'O', 'B', 'S', 'T', 'R', 'U', 'C', 'T', 'I', 'O', 'N', + 'O', 'P', 'E', 'N', '-', 'H', 'E', 'A', 'D', 'E', 'D', + 'O', 'V', 'E', 'R', 'L', 'A', 'P', 'P', 'I', 'N', 'G', + 'P', 'A', 'L', 'A', 'T', 'A', 'L', 'I', 'Z', 'E', 'D', + 'P', 'A', 'N', 'G', 'R', 'A', 'N', 'G', 'K', 'E', 'P', + 'P', 'A', 'R', 'A', 'G', 'R', 'A', 'P', 'H', 'O', 'S', + 'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A', + 'P', 'A', 'R', 'A', 'K', 'L', 'I', 'T', 'I', 'K', 'I', + 'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'E', 'S', + 'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'I', 'S', + 'P', 'A', 'R', 'T', 'N', 'E', 'R', 'S', 'H', 'I', 'P', + 'P', 'E', 'D', 'E', 'S', 'T', 'R', 'I', 'A', 'N', 'S', + 'P', 'E', 'N', 'E', 'T', 'R', 'A', 'T', 'I', 'O', 'N', + 'P', 'E', 'R', 'I', 'S', 'P', 'O', 'M', 'E', 'N', 'I', + 'P', 'E', 'R', 'S', 'E', 'V', 'E', 'R', 'I', 'N', 'G', + 'P', 'E', 'R', 'S', 'P', 'E', 'C', 'T', 'I', 'V', 'E', + 'P', 'I', 'E', 'U', 'P', '-', 'C', 'I', 'E', 'U', 'C', + 'P', 'I', 'E', 'U', 'P', '-', 'H', 'I', 'E', 'U', 'H', + 'P', 'I', 'E', 'U', 'P', '-', 'M', 'I', 'E', 'U', 'M', + 'P', 'I', 'E', 'U', 'P', '-', 'N', 'I', 'E', 'U', 'N', + 'P', 'I', 'E', 'U', 'P', '-', 'R', 'I', 'E', 'U', 'L', + 'P', 'I', 'P', 'A', 'E', 'M', 'G', 'B', 'I', 'E', 'E', + 'P', 'L', 'A', 'C', 'E', 'H', 'O', 'L', 'D', 'E', 'R', + 'P', 'R', 'E', 'C', 'I', 'P', 'I', 'T', 'A', 'T', 'E', + 'P', 'U', 'N', 'C', 'T', 'U', 'A', 'T', 'I', 'O', 'N', + 'R', 'A', 'D', 'I', 'O', 'A', 'C', 'T', 'I', 'V', 'E', + 'R', 'A', 'H', 'M', 'A', 'T', 'U', 'L', 'L', 'A', 'H', + 'R', 'E', 'C', 'T', 'A', 'N', 'G', 'U', 'L', 'A', 'R', + 'R', 'E', 'C', 'T', 'I', 'L', 'I', 'N', 'E', 'A', 'R', + 'R', 'E', 'P', 'L', 'A', 'C', 'E', 'M', 'E', 'N', 'T', + 'R', 'I', 'E', 'U', 'L', '-', 'C', 'I', 'E', 'U', 'C', + 'R', 'I', 'E', 'U', 'L', '-', 'H', 'I', 'E', 'U', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', + 'R', 'I', 'E', 'U', 'L', '-', 'N', 'I', 'E', 'U', 'N', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', + 'R', 'I', 'N', 'F', 'O', 'R', 'Z', 'A', 'N', 'D', 'O', + 'S', 'A', 'C', 'R', 'I', 'F', 'I', 'C', 'I', 'A', 'L', + 'S', 'A', 'G', 'I', 'T', 'T', 'A', 'R', 'I', 'U', 'S', + 'S', 'A', 'L', 'L', 'A', 'L', 'L', 'A', 'H', 'O', 'U', + 'S', 'E', 'E', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L', + 'S', 'E', 'M', 'I', '-', 'V', 'O', 'I', 'C', 'E', 'D', + 'S', 'E', 'M', 'I', 'S', 'E', 'X', 'T', 'I', 'L', 'E', + 'S', 'H', 'U', 'T', 'T', 'L', 'E', 'C', 'O', 'C', 'K', + 'S', 'I', 'G', 'N', 'W', 'R', 'I', 'T', 'I', 'N', 'G', + 'S', 'I', 'N', 'G', 'L', 'E', '-', 'L', 'I', 'N', 'E', + 'S', 'I', 'N', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L', + 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'S', 'N', 'O', 'W', 'B', 'O', 'A', 'R', 'D', 'E', 'R', + 'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K', + 'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T', + 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '2', + 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'E', '-', '3', + 'S', 'U', 'B', 'L', 'I', 'M', 'A', 'T', 'I', 'O', 'N', + 'S', 'U', 'P', 'E', 'R', 'S', 'C', 'R', 'I', 'P', 'T', + 'S', 'U', 'P', 'R', 'A', 'L', 'I', 'N', 'E', 'A', 'R', + 'S', 'Y', 'N', 'C', 'H', 'R', 'O', 'N', 'O', 'U', 'S', + 'T', 'E', 'T', 'R', 'A', 'F', 'O', 'N', 'I', 'A', 'S', + 'T', 'H', 'A', 'N', 'T', 'H', 'A', 'K', 'H', 'A', 'T', + 'T', 'H', 'E', 'M', 'A', 'T', 'I', 'S', 'M', 'O', 'S', + 'T', 'H', 'E', 'R', 'M', 'O', 'M', 'E', 'T', 'E', 'R', + 'T', 'H', 'I', 'R', 'D', '-', 'S', 'T', 'A', 'G', 'E', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'S', 'I', 'O', 'S', + 'T', 'O', 'A', 'N', 'D', 'A', 'K', 'H', 'I', 'A', 'T', + 'T', 'O', 'P', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D', + 'T', 'R', 'A', 'N', 'S', 'V', 'E', 'R', 'S', 'A', 'L', + 'T', 'R', 'I', 'T', 'I', 'M', 'O', 'R', 'I', 'O', 'N', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'F', 'I', 'V', 'E', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'F', 'O', 'U', 'R', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'N', 'I', 'N', 'E', + 'U', 'N', 'A', 'S', 'P', 'I', 'R', 'A', 'T', 'E', 'D', + 'U', 'N', 'C', 'E', 'R', 'T', 'A', 'I', 'N', 'T', 'Y', + 'U', 'P', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'U', 'P', 'A', 'D', 'H', 'M', 'A', 'N', 'I', 'Y', 'A', + 'U', 'P', 'S', 'I', 'D', 'E', '-', 'D', 'O', 'W', 'N', + 'V', 'A', 'M', 'A', 'G', 'O', 'M', 'U', 'K', 'H', 'A', + 'W', 'A', 'S', 'T', 'E', 'B', 'A', 'S', 'K', 'E', 'T', + 'W', 'E', 'I', 'E', 'R', 'S', 'T', 'R', 'A', 'S', 'S', + 'W', 'I', 'D', 'E', '-', 'H', 'E', 'A', 'D', 'E', 'D', + 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H', + 'A', 'B', 'B', 'R', 'E', 'V', 'I', 'A', 'T', 'I', 'O', 'N', + 'A', 'C', 'C', 'U', 'M', 'U', 'L', 'A', 'T', 'I', 'O', 'N', + 'A', 'C', 'U', 'T', 'E', '-', 'M', 'A', 'C', 'R', 'O', 'N', + 'A', 'K', 'T', 'I', 'E', 'S', 'E', 'L', 'S', 'K', 'A', 'B', + 'A', 'M', 'A', 'L', 'G', 'A', 'M', 'A', 'T', 'I', 'O', 'N', + 'A', 'N', 'A', 'T', 'R', 'I', 'C', 'H', 'I', 'S', 'M', 'A', + 'A', 'N', 'T', 'A', 'R', 'G', 'O', 'M', 'U', 'K', 'H', 'A', + 'A', 'R', 'A', 'B', 'I', 'C', '-', 'I', 'N', 'D', 'I', 'C', + 'A', 'R', 'D', 'H', 'A', 'V', 'I', 'S', 'A', 'R', 'G', 'A', + 'A', 'S', 'T', 'R', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L', + 'A', 'S', 'T', 'R', 'O', 'N', 'O', 'M', 'I', 'C', 'A', 'L', + 'A', 'T', 'H', '-', 'T', 'H', 'A', 'L', 'A', 'T', 'H', 'A', + 'A', 'T', 'H', 'A', 'R', 'V', 'A', 'V', 'E', 'D', 'I', 'C', + 'A', 'U', 'G', 'M', 'E', 'N', 'T', 'A', 'T', 'I', 'O', 'N', + 'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A', '-', '2', + 'A', 'U', 'R', 'A', 'M', 'A', 'Z', 'D', 'A', 'A', 'H', 'A', + 'B', 'A', 'H', 'I', 'R', 'G', 'O', 'M', 'U', 'K', 'H', 'A', + 'B', 'L', 'A', 'C', 'K', '-', 'L', 'E', 'T', 'T', 'E', 'R', + 'B', 'R', 'E', 'A', 'K', 'T', 'H', 'R', 'O', 'U', 'G', 'H', + 'B', 'R', 'E', 'V', 'E', '-', 'M', 'A', 'C', 'R', 'O', 'N', + 'C', '-', 'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D', + 'C', 'A', 'B', 'B', 'A', 'G', 'E', '-', 'T', 'R', 'E', 'E', + 'C', 'A', 'N', 'C', 'E', 'L', 'L', 'A', 'T', 'I', 'O', 'N', + 'C', 'A', 'N', 'T', 'I', 'L', 'L', 'A', 'T', 'I', 'O', 'N', + 'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'I', 'O', 'S', + 'C', 'O', 'N', 'S', 'T', 'R', 'U', 'C', 'T', 'I', 'O', 'N', + 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'A', 'T', 'I', 'O', 'N', + 'C', 'R', 'O', 'S', 'S', 'E', 'D', '-', 'T', 'A', 'I', 'L', + 'C', 'Y', 'L', 'I', 'N', 'D', 'R', 'I', 'C', 'I', 'T', 'Y', + 'D', 'E', 'C', 'I', 'S', 'I', 'V', 'E', 'N', 'E', 'S', 'S', + 'D', 'I', 'F', 'F', 'E', 'R', 'E', 'N', 'T', 'I', 'A', 'L', + 'D', 'I', 'F', 'F', 'I', 'C', 'U', 'L', 'T', 'I', 'E', 'S', + 'D', 'I', 'M', 'I', 'N', 'I', 'S', 'H', 'M', 'E', 'N', 'T', + 'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '1', + 'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '2', + 'D', 'I', 'M', 'I', 'N', 'U', 'T', 'I', 'O', 'N', '-', '3', + 'D', 'I', 'S', 'A', 'P', 'P', 'O', 'I', 'N', 'T', 'E', 'D', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', '7', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '2', '4', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '1', '3', '4', '5', '6', '7', '8', + 'D', 'O', 'T', 'S', '-', '2', '3', '4', '5', '6', '7', '8', + 'D', 'O', 'U', 'B', 'L', 'E', '-', 'E', 'N', 'D', 'E', 'D', + 'E', 'I', 'G', 'H', 'T', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'E', 'R', 'R', 'O', 'R', '-', 'B', 'A', 'R', 'R', 'E', 'D', + 'F', 'L', 'E', 'U', 'R', '-', 'D', 'E', '-', 'L', 'I', 'S', + 'F', 'R', 'O', 'N', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G', + 'F', 'R', 'O', 'N', 'T', '-', 'T', 'I', 'L', 'T', 'E', 'D', + 'G', 'A', 'E', 'T', 'T', 'A', '-', 'P', 'I', 'L', 'L', 'A', + 'G', 'H', 'E', 'U', 'A', 'E', 'G', 'H', 'E', 'U', 'A', 'E', + 'G', 'R', 'A', 'V', 'E', '-', 'M', 'A', 'C', 'R', 'O', 'N', + 'G', 'R', 'E', 'A', 'T', 'E', 'R', '-', 'T', 'H', 'A', 'N', + 'G', 'R', 'O', 'N', 'T', 'H', 'I', 'S', 'M', 'A', 'T', 'A', + 'H', 'E', 'A', 'D', '-', 'B', 'A', 'N', 'D', 'A', 'G', 'E', + 'H', 'E', 'A', 'R', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L', + 'H', 'E', 'A', 'R', 'T', '-', 'S', 'H', 'A', 'P', 'E', 'D', + 'H', 'I', 'E', 'R', 'O', 'G', 'L', 'Y', 'P', 'H', 'I', 'C', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', 'L', 'Y', + 'H', 'Y', 'P', 'H', 'E', 'N', '-', 'M', 'I', 'N', 'U', 'S', + 'H', 'Y', 'P', 'O', 'D', 'I', 'A', 'S', 'T', 'O', 'L', 'E', + 'I', 'C', 'E', 'L', 'A', 'N', 'D', 'I', 'C', '-', 'Y', 'R', + 'I', 'E', 'U', 'N', 'G', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'I', 'E', 'U', 'N', 'G', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'I', 'N', 'S', 'T', 'R', 'U', 'M', 'E', 'N', 'T', 'A', 'L', + 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', 'I', 'N', 'G', + 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', 'I', 'O', 'N', + 'J', '-', 'S', 'I', 'M', 'P', 'L', 'I', 'F', 'I', 'E', 'D', + 'K', 'I', 'N', 'D', 'E', 'R', 'G', 'A', 'R', 'T', 'E', 'N', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'H', 'I', 'E', 'U', 'H', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'N', 'I', 'E', 'U', 'N', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'P', 'I', 'E', 'U', 'P', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'R', 'I', 'E', 'U', 'L', + 'L', 'E', 'F', 'T', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D', + 'M', 'A', 'C', 'R', 'O', 'N', '-', 'A', 'C', 'U', 'T', 'E', + 'M', 'A', 'C', 'R', 'O', 'N', '-', 'B', 'R', 'E', 'V', 'E', + 'M', 'A', 'C', 'R', 'O', 'N', '-', 'G', 'R', 'A', 'V', 'E', + 'M', 'A', 'T', 'H', 'E', 'M', 'A', 'T', 'I', 'C', 'A', 'L', + 'M', 'E', 'U', 'N', 'J', 'O', 'M', 'N', 'D', 'E', 'U', 'Q', + 'M', 'I', 'D', 'D', 'L', 'E', '-', 'W', 'E', 'L', 'S', 'H', + 'M', 'I', 'E', 'U', 'M', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'M', 'I', 'E', 'U', 'M', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'N', 'A', 'S', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', + 'N', 'D', 'A', 'A', 'N', 'G', 'G', 'E', 'U', 'A', 'E', 'T', + 'N', 'I', 'E', 'U', 'N', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'N', 'I', 'E', 'U', 'N', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'N', 'O', 'N', '-', 'B', 'R', 'E', 'A', 'K', 'I', 'N', 'G', + 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'S', 'I', 'O', 'S', + 'P', 'H', 'I', 'L', 'O', 'S', 'O', 'P', 'H', 'E', 'R', 'S', + 'P', 'I', 'E', 'U', 'P', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'P', 'I', 'E', 'U', 'P', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'P', 'O', 'S', 'T', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', + 'P', 'R', 'E', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', + 'P', 'R', 'E', 'S', 'E', 'N', 'T', 'A', 'T', 'I', 'O', 'N', + 'P', 'R', 'O', 'P', 'O', 'R', 'T', 'I', 'O', 'N', 'A', 'L', + 'P', 'U', 'T', 'R', 'E', 'F', 'A', 'C', 'T', 'I', 'O', 'N', + 'Q', 'U', 'I', 'N', 'D', 'I', 'C', 'E', 'S', 'I', 'M', 'A', + 'Q', 'U', 'I', 'N', 'T', 'E', 'S', 'S', 'E', 'N', 'C', 'E', + 'R', 'E', 'C', 'R', 'E', 'A', 'T', 'I', 'O', 'N', 'A', 'L', + 'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'R', 'I', 'E', 'U', 'L', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'R', 'I', 'G', 'H', 'T', '-', 'F', 'A', 'C', 'I', 'N', 'G', + 'R', 'I', 'G', 'H', 'T', '-', 'H', 'A', 'N', 'D', 'E', 'D', + 'R', 'I', 'G', 'H', 'T', '-', 'S', 'H', 'A', 'D', 'E', 'D', + 'R', 'O', 'U', 'N', 'D', '-', 'T', 'I', 'P', 'P', 'E', 'D', + 'R', 'U', 'L', 'E', '-', 'D', 'E', 'L', 'A', 'Y', 'E', 'D', + 'S', 'A', 'L', '-', 'A', 'M', 'M', 'O', 'N', 'I', 'A', 'C', + 'S', 'E', 'M', 'I', 'C', 'I', 'R', 'C', 'U', 'L', 'A', 'R', + 'S', 'E', 'V', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'S', 'I', 'M', 'U', 'L', 'T', 'A', 'N', 'E', 'O', 'U', 'S', + 'S', 'I', 'O', 'S', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'S', 'I', 'O', 'S', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'S', 'I', 'O', 'S', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'S', 'I', 'O', 'S', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'S', 'I', 'O', 'S', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'S', 'I', 'X', 'T', 'Y', '-', 'F', 'O', 'U', 'R', 'T', 'H', + 'S', 'O', 'U', 'T', 'H', '-', 'S', 'L', 'A', 'V', 'E', 'Y', + 'S', 'P', 'R', 'E', 'C', 'H', 'G', 'E', 'S', 'A', 'N', 'G', + 'S', 'S', 'A', 'N', 'G', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'S', 'T', 'E', 'N', 'O', 'G', 'R', 'A', 'P', 'H', 'I', 'C', + 'S', 'T', 'R', 'A', 'G', 'G', 'I', 'S', 'M', 'A', 'T', 'A', + 'S', 'T', 'R', 'A', 'I', 'G', 'H', 'T', 'N', 'E', 'S', 'S', + 'S', 'U', 'B', 'S', 'T', 'I', 'T', 'U', 'T', 'I', 'O', 'N', + 'S', 'U', 'P', 'E', 'R', 'I', 'M', 'P', 'O', 'S', 'E', 'D', + 'T', 'H', 'R', 'E', 'E', '-', 'C', 'I', 'R', 'C', 'L', 'E', + 'T', 'H', 'R', 'E', 'E', '-', 'L', 'E', 'G', 'G', 'E', 'D', + 'T', 'H', 'R', 'E', 'E', '-', 'P', 'E', 'R', '-', 'E', 'M', + 'T', 'H', 'R', 'E', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'T', 'H', 'U', 'N', 'D', 'E', 'R', 'S', 'T', 'O', 'R', 'M', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'C', 'I', 'E', 'U', 'C', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'M', 'I', 'E', 'U', 'M', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'P', 'I', 'E', 'U', 'P', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'R', 'I', 'E', 'U', 'L', + 'T', 'R', 'A', 'N', 'S', 'M', 'I', 'S', 'S', 'I', 'O', 'N', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'E', 'I', 'G', 'H', 'T', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'S', 'E', 'V', 'E', 'N', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'T', 'H', 'R', 'E', 'E', + 'V', 'O', 'C', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', + 'W', 'E', 'D', 'G', 'E', '-', 'T', 'A', 'I', 'L', 'E', 'D', + 'X', 'S', 'H', 'A', 'A', 'Y', 'A', 'T', 'H', 'I', 'Y', 'A', + 'Y', 'O', 'U', 'T', 'H', 'F', 'U', 'L', 'N', 'E', 'S', 'S', + 'Z', 'I', 'P', 'P', 'E', 'R', '-', 'M', 'O', 'U', 'T', 'H', + 'A', 'C', 'C', 'O', 'M', 'M', 'O', 'D', 'A', 'T', 'I', 'O', 'N', + 'A', 'N', 'T', 'I', 'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E', + 'A', 'P', 'P', 'R', 'O', 'X', 'I', 'M', 'A', 'T', 'E', 'L', 'Y', + 'A', 'R', 'G', 'O', 'S', 'Y', 'N', 'T', 'H', 'E', 'T', 'O', 'N', + 'A', 'V', 'A', 'K', 'R', 'A', 'H', 'A', 'S', 'A', 'N', 'Y', 'A', + 'B', 'O', 'T', 'T', 'O', 'M', '-', 'S', 'H', 'A', 'D', 'E', 'D', + 'C', 'H', 'I', 'E', 'U', 'C', 'H', '-', 'H', 'I', 'E', 'U', 'H', + 'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'C', 'I', 'E', 'U', 'C', + 'C', 'H', 'R', 'Y', 'S', 'A', 'N', 'T', 'H', 'E', 'M', 'U', 'M', + 'C', 'O', 'M', 'P', 'A', 'T', 'I', 'B', 'I', 'L', 'I', 'T', 'Y', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '0', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '1', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '2', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '3', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '4', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '5', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '5', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '6', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '7', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '8', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '6', '9', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '0', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '1', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '2', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '3', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '5', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '6', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '7', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '8', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '4', '9', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '0', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '1', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '2', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '3', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '4', + 'C', 'O', 'M', 'P', 'O', 'N', 'E', 'N', 'T', '-', '7', '5', '5', + 'C', 'O', 'N', 'C', 'A', 'V', 'E', '-', 'S', 'I', 'D', 'E', 'D', + 'C', 'O', 'N', 'T', 'E', 'M', 'P', 'L', 'A', 'T', 'I', 'O', 'N', + 'C', 'R', 'Y', 'P', 'T', 'O', 'G', 'R', 'A', 'M', 'M', 'I', 'C', + 'D', 'E', 'F', 'E', 'C', 'T', 'I', 'V', 'E', 'N', 'E', 'S', 'S', + 'D', 'I', 'S', 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'O', 'U', 'S', + 'D', 'O', 'T', 'S', '-', '1', '2', '3', '4', '5', '6', '7', '8', + 'D', 'O', 'U', 'B', 'L', 'E', '-', 'S', 'T', 'R', 'U', 'C', 'K', + 'D', 'O', 'W', 'N', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'D', 'R', 'O', 'P', '-', 'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D', + 'E', 'G', 'Y', 'P', 'T', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L', + 'E', 'L', 'E', 'V', 'E', 'N', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'E', 'M', 'B', 'E', 'L', 'L', 'I', 'S', 'H', 'M', 'E', 'N', 'T', + 'E', 'U', 'R', 'O', '-', 'C', 'U', 'R', 'R', 'E', 'N', 'C', 'Y', + 'E', 'U', 'R', 'O', 'P', 'E', '-', 'A', 'F', 'R', 'I', 'C', 'A', + 'G', 'E', 'O', 'M', 'E', 'T', 'R', 'I', 'C', 'A', 'L', 'L', 'Y', + 'H', 'A', 'N', 'D', '-', 'C', 'U', 'R', 'L', 'I', 'C', 'U', 'E', + 'I', 'E', 'U', 'N', 'G', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'I', 'E', 'U', 'N', 'G', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'I', 'E', 'U', 'N', 'G', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'I', 'E', 'U', 'N', 'G', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'I', 'E', 'U', 'N', 'G', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'I', 'N', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', 'A', 'L', + 'I', 'N', 'T', 'E', 'R', 'P', 'O', 'L', 'A', 'T', 'I', 'O', 'N', + 'I', 'N', 'T', 'E', 'R', 'S', 'Y', 'L', 'L', 'A', 'B', 'I', 'C', + 'J', 'U', 'D', 'E', 'O', '-', 'S', 'P', 'A', 'N', 'I', 'S', 'H', + 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'M', 'I', 'E', 'U', 'M', + 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P', + 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'R', 'I', 'E', 'U', 'L', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'L', 'A', 'B', 'I', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', + 'L', 'E', 'F', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'L', 'E', 'F', 'T', '-', 'T', 'O', '-', 'R', 'I', 'G', 'H', 'T', + 'M', 'I', 'E', 'U', 'M', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'M', 'I', 'E', 'U', 'M', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'M', 'I', 'N', 'U', 'S', '-', 'O', 'R', '-', 'P', 'L', 'U', 'S', + 'M', 'O', 'R', 'P', 'H', 'O', 'L', 'O', 'G', 'I', 'C', 'A', 'L', + 'N', 'I', 'E', 'U', 'N', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'N', 'I', 'E', 'U', 'N', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'N', 'I', 'E', 'U', 'N', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'O', 'P', 'E', 'N', '-', 'O', 'U', 'T', 'L', 'I', 'N', 'E', 'D', + 'P', 'A', 'N', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', + 'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', 'O', 'G', 'R', 'A', 'M', + 'P', 'A', 'R', 'E', 'N', 'T', 'H', 'E', 'S', 'I', 'Z', 'E', 'D', + 'P', 'A', 'R', 'E', 'S', 'T', 'I', 'G', 'M', 'E', 'N', 'O', 'N', + 'P', 'E', 'R', 'P', 'E', 'N', 'D', 'I', 'C', 'U', 'L', 'A', 'R', + 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'H', 'I', 'E', 'U', 'H', + 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'P', 'I', 'E', 'U', 'P', + 'P', 'I', 'E', 'U', 'P', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'P', 'I', 'E', 'U', 'P', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'P', 'I', 'E', 'U', 'P', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'P', 'I', 'E', 'U', 'P', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'P', 'R', 'E', 'P', 'O', 'N', 'D', 'E', 'R', 'A', 'N', 'C', 'E', + 'P', 'R', 'I', 'S', 'H', 'T', 'H', 'A', 'M', 'A', 'T', 'R', 'A', + 'R', 'E', 'D', 'U', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', + 'R', 'I', 'E', 'U', 'L', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'R', 'I', 'G', 'H', 'T', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D', + 'R', 'I', 'G', 'H', 'T', '-', 'T', 'O', '-', 'L', 'E', 'F', 'T', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'A', 'R', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'Y', 'R', + 'S', 'P', 'E', 'A', 'K', '-', 'N', 'O', '-', 'E', 'V', 'I', 'L', + 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'I', 'S', 'S', 'I', 'M', 'O', + 'S', 'T', 'R', 'I', 'K', 'E', 'T', 'H', 'R', 'O', 'U', 'G', 'H', + 'T', 'E', 'T', 'A', 'R', 'T', 'I', 'M', 'O', 'R', 'I', 'O', 'N', + 'T', 'H', 'E', 'R', 'M', 'O', 'D', 'Y', 'N', 'A', 'M', 'I', 'C', + 'T', 'H', 'I', 'R', 'T', 'Y', '-', 'S', 'E', 'C', 'O', 'N', 'D', + 'T', 'H', 'R', 'E', 'E', '-', 'Q', 'U', 'A', 'R', 'T', 'E', 'R', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'T', 'R', 'A', 'N', 'S', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', + 'T', 'W', 'E', 'L', 'V', 'E', '-', 'T', 'H', 'I', 'R', 'T', 'Y', + 'T', 'W', 'E', 'N', 'T', 'Y', '-', 'E', 'I', 'G', 'H', 'T', 'H', + 'V', 'I', 'D', 'E', 'O', 'C', 'A', 'S', 'S', 'E', 'T', 'T', 'E', + 'V', 'O', 'W', 'E', 'L', '-', 'C', 'A', 'R', 'R', 'I', 'E', 'R', + 'W', 'A', 'W', '-', 'A', 'Y', 'I', 'N', '-', 'R', 'E', 'S', 'H', + 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'S', 'I', 'O', 'S', + 'Y', 'P', 'O', 'G', 'E', 'G', 'R', 'A', 'M', 'M', 'E', 'N', 'I', + 'Y', 'U', 'U', 'K', 'A', 'L', 'E', 'A', 'P', 'I', 'N', 'T', 'U', + 'A', 'F', 'O', 'R', 'E', 'M', 'E', 'N', 'T', 'I', 'O', 'N', 'E', 'D', + 'A', 'R', 'O', 'U', 'N', 'D', '-', 'P', 'R', 'O', 'F', 'I', 'L', 'E', + 'A', 'S', 'I', 'A', '-', 'A', 'U', 'S', 'T', 'R', 'A', 'L', 'I', 'A', + 'A', 'S', 'Y', 'M', 'P', 'T', 'O', 'T', 'I', 'C', 'A', 'L', 'L', 'Y', + 'B', 'A', 'L', 'L', 'O', 'O', 'N', '-', 'S', 'P', 'O', 'K', 'E', 'D', + 'B', 'O', 'T', 'T', 'O', 'M', '-', 'L', 'I', 'G', 'H', 'T', 'E', 'D', + 'C', 'E', 'N', 'T', 'R', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', + 'C', 'O', 'N', 'G', 'R', 'A', 'T', 'U', 'L', 'A', 'T', 'I', 'O', 'N', + 'D', 'I', 'A', 'E', 'R', 'E', 'S', 'I', 'S', '-', 'R', 'I', 'N', 'G', + 'E', 'X', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', 'L', 'E', 'S', 'S', + 'G', 'O', 'R', 'G', 'O', 'S', 'Y', 'N', 'T', 'H', 'E', 'T', 'O', 'N', + 'I', 'D', 'E', 'N', 'T', 'I', 'F', 'I', 'C', 'A', 'T', 'I', 'O', 'N', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '0', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '0', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '2', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', '8', 'C', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '4', 'E', 'A', '4', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '1', '8', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '1', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '4', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', '7', '2', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '2', 'D', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '3', 'C', 'C', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '3', 'F', '3', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '4', '0', '8', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '4', '3', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '5', 'B', '6', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '8', 'F', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '9', '1', 'A', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', '9', '2', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'B', '5', '7', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'B', '8', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'D', 'E', '6', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '5', 'F', '8', 'C', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '4', 'B', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '5', '3', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '2', '9', '5', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '3', '0', '7', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '3', '5', '5', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', '5', '7', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', '9', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '5', 'B', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '6', '2', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '0', '8', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '0', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', '7', '2', 'C', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', 'E', '8', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '6', 'F', '1', '4', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '0', 'B', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '1', '2', '1', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '5', '1', 'F', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '5', '3', '3', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '6', 'D', '7', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', '9', '8', '1', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', 'A', '7', 'A', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '7', 'D', '4', '2', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', '9', 'E', '3', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', 'C', 'A', '9', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '8', 'D', '7', '0', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '9', '0', '4', 'A', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', '9', '1', '4', 'D', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '2', 'E', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '2', 'F', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'B', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'C', + 'I', 'D', 'E', 'O', 'G', 'R', 'A', 'P', 'H', '-', 'F', 'A', '6', 'D', + 'J', 'A', 'C', 'K', '-', 'O', '-', 'L', 'A', 'N', 'T', 'E', 'R', 'N', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'A', 'R', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'Y', 'R', + 'L', 'O', 'W', '-', 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', '-', '9', + 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'H', 'I', 'N', 'G', 'E', + 'M', 'U', 'L', 'T', 'I', 'P', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', + 'P', 'A', 'L', 'A', 'T', 'A', 'L', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', + 'P', 'R', 'O', 'S', 'G', 'E', 'G', 'R', 'A', 'M', 'M', 'E', 'N', 'I', + 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', '-', 'S', 'C', 'H', 'W', 'A', + 'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', + 'R', 'I', 'G', 'H', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'R', 'I', 'G', 'H', 'T', '-', 'S', 'H', 'A', 'D', 'O', 'W', 'E', 'D', + 'S', 'E', 'S', 'Q', 'U', 'I', 'Q', 'U', 'A', 'D', 'R', 'A', 'T', 'E', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'O', 'S', 'S', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'S', 'O', 'L', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'T', 'Y', 'R', + 'S', 'I', 'O', 'S', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'T', 'I', 'G', 'H', 'T', 'L', 'Y', '-', 'C', 'L', 'O', 'S', 'E', 'D', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E', '-', 'R', 'O', 'U', 'N', 'D', + 'T', 'R', 'O', 'M', 'I', 'K', 'O', 'L', 'Y', 'G', 'I', 'S', 'M', 'A', + 'T', 'R', 'O', 'M', 'I', 'K', 'O', 'S', 'Y', 'N', 'A', 'G', 'M', 'A', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '0', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '1', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '2', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '3', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '4', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '5', '-', '0', '6', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '0', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '1', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '2', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '3', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '4', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '5', + 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', '-', '0', '6', '-', '0', '6', + 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'H', 'I', 'E', 'U', 'H', + 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'M', 'I', 'E', 'U', 'M', + 'A', 'C', 'C', 'E', 'N', 'T', '-', 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O', + 'A', 'N', 'T', 'I', 'K', 'E', 'N', 'O', 'K', 'Y', 'L', 'I', 'S', 'M', 'A', + 'A', 'N', 'T', 'I', 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', 'I', 'O', 'N', + 'B', 'L', 'A', 'C', 'K', '-', 'F', 'E', 'A', 'T', 'H', 'E', 'R', 'E', 'D', + 'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'S', 'I', 'O', 'S', + 'C', 'H', 'I', 'E', 'U', 'C', 'H', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'C', 'O', 'N', 'C', 'A', 'V', 'E', '-', 'P', 'O', 'I', 'N', 'T', 'E', 'D', + 'H', 'I', 'G', 'H', '-', 'R', 'E', 'V', 'E', 'R', 'S', 'E', 'D', '-', '9', + 'J', 'A', 'L', 'L', 'A', 'J', 'A', 'L', 'A', 'L', 'O', 'U', 'H', 'O', 'U', + 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'K', 'R', 'A', 'T', 'I', 'M', 'O', 'K', 'O', 'U', 'F', 'I', 'S', 'M', 'A', + 'K', 'R', 'A', 'T', 'I', 'M', 'O', 'Y', 'P', 'O', 'R', 'R', 'O', 'O', 'N', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'O', 'S', 'S', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'S', 'O', 'L', + 'M', 'I', 'E', 'U', 'M', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'P', 'E', 'T', 'A', 'S', 'T', 'O', 'K', 'O', 'U', 'F', 'I', 'S', 'M', 'A', + 'P', 'H', 'I', 'E', 'U', 'P', 'H', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'L', 'Y', 'G', 'I', 'S', 'M', 'A', + 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'S', 'Y', 'N', 'A', 'G', 'M', 'A', + 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'M', 'A', 'D', 'R', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'N', 'A', 'U', 'D', + 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', + 'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'B', 'A', 'R', 'B', 'E', 'D', + 'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'S', 'P', 'O', 'K', 'E', 'D', + 'T', 'O', 'R', 'S', 'O', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'T', 'R', 'I', 'A', 'N', 'G', 'L', 'E', '-', 'H', 'E', 'A', 'D', 'E', 'D', + 'W', 'H', 'I', 'T', 'E', '-', 'F', 'E', 'A', 'T', 'H', 'E', 'R', 'E', 'D', + 'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'C', 'I', 'E', 'U', 'C', + 'C', 'I', 'E', 'U', 'C', '-', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P', + 'E', 'X', 'T', 'R', 'A', 'T', 'E', 'R', 'R', 'E', 'S', 'T', 'R', 'I', 'A', 'L', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '0', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '1', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '2', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '3', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '4', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '5', '-', '0', '6', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '0', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '1', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '2', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '3', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '4', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '5', + 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', '-', '0', '6', '-', '0', '6', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'M', 'A', 'D', 'R', + 'M', 'A', 'R', 'C', 'A', 'T', 'O', '-', 'S', 'T', 'A', 'C', 'C', 'A', 'T', 'O', + 'M', 'I', 'E', 'U', 'M', '-', 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', + 'M', 'I', 'E', 'U', 'M', '-', 'S', 'S', 'A', 'N', 'G', 'N', 'I', 'E', 'U', 'N', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'C', 'I', 'E', 'U', 'C', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', + 'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'S', 'I', 'O', 'S', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', + 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P', + 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C', '-', 'H', 'I', 'E', 'U', 'H', + 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'S', 'S', 'A', 'N', 'G', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H', + 'T', 'E', 'A', 'R', 'D', 'R', 'O', 'P', '-', 'S', 'H', 'A', 'N', 'K', 'E', 'D', + 'T', 'O', 'R', 'S', 'O', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'T', 'R', 'A', 'V', 'E', 'L', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'T', 'R', 'O', 'M', 'I', 'K', 'O', 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'N', + 'Y', 'E', 'S', 'I', 'E', 'U', 'N', 'G', '-', 'P', 'A', 'N', 'S', 'I', 'O', 'S', + 'A', 'C', 'U', 'T', 'E', '-', 'G', 'R', 'A', 'V', 'E', '-', 'A', 'C', 'U', 'T', 'E', + 'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'E', 'Y', 'E', 'G', 'A', 'Z', 'E', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'G', 'R', 'A', 'V', 'E', '-', 'A', 'C', 'U', 'T', 'E', '-', 'G', 'R', 'A', 'V', 'E', + 'I', 'E', 'U', 'N', 'G', '-', 'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K', + 'K', 'A', 'T', 'A', 'K', 'A', 'N', 'A', '-', 'H', 'I', 'R', 'A', 'G', 'A', 'N', 'A', + 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'D', 'I', 'A', 'G', 'O', 'N', 'A', 'L', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S', + 'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'H', 'I', 'E', 'U', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'H', 'I', 'E', 'U', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'K', 'I', 'Y', 'E', 'O', 'K', + 'R', 'I', 'E', 'U', 'L', '-', 'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T', + 'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'H', 'A', 'G', 'A', 'L', 'L', + 'S', 'I', 'O', 'S', '-', 'P', 'I', 'E', 'U', 'P', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'S', 'O', 'F', 'T', 'W', 'A', 'R', 'E', '-', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', + 'S', 'S', 'A', 'N', 'G', 'T', 'I', 'K', 'E', 'U', 'T', '-', 'P', 'I', 'E', 'U', 'P', + 'T', 'R', 'A', 'V', 'E', 'L', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'C', 'H', 'I', 'E', 'U', 'C', 'H', + 'C', 'H', 'I', 'T', 'U', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C', + 'E', 'Y', 'E', 'G', 'A', 'Z', 'E', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'S', 'S', 'A', 'N', 'G', 'P', 'I', 'E', 'U', 'P', + 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'L', 'O', 'N', 'G', '-', 'B', 'R', 'A', 'N', 'C', 'H', '-', 'H', 'A', 'G', 'A', 'L', 'L', + 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'N', 'O', 'R', 'T', 'H', 'E', 'A', 'S', 'T', '-', 'P', 'O', 'I', 'N', 'T', 'I', 'N', 'G', + 'P', 'A', 'R', 'T', 'I', 'A', 'L', 'L', 'Y', '-', 'R', 'E', 'C', 'Y', 'C', 'L', 'E', 'D', + 'P', 'I', 'E', 'U', 'P', '-', 'S', 'I', 'O', 'S', '-', 'T', 'H', 'I', 'E', 'U', 'T', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'K', 'I', 'Y', 'E', 'O', 'K', '-', 'H', 'I', 'E', 'U', 'H', + 'R', 'I', 'E', 'U', 'L', '-', 'M', 'I', 'E', 'U', 'M', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'T', 'I', 'K', 'E', 'U', 'T', + 'R', 'I', 'E', 'U', 'L', '-', 'T', 'I', 'K', 'E', 'U', 'T', '-', 'H', 'I', 'E', 'U', 'H', + 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', '-', 'W', 'A', 'L', 'L', 'P', 'L', 'A', 'N', 'E', + 'S', 'H', 'O', 'R', 'T', '-', 'T', 'W', 'I', 'G', '-', 'B', 'J', 'A', 'R', 'K', 'A', 'N', + 'S', 'I', 'O', 'S', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P', + 'S', 'S', 'A', 'N', 'G', 'R', 'I', 'E', 'U', 'L', '-', 'K', 'H', 'I', 'E', 'U', 'K', 'H', + 'T', 'I', 'K', 'E', 'U', 'T', '-', 'S', 'I', 'O', 'S', '-', 'K', 'I', 'Y', 'E', 'O', 'K', + 'T', 'R', 'O', 'M', 'I', 'K', 'O', 'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A', + 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'M', 'O', 'V', 'E', 'M', 'E', 'N', 'T', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'O', 'P', 'E', 'N', '-', 'C', 'I', 'R', 'C', 'U', 'I', 'T', '-', 'O', 'U', 'T', 'P', 'U', 'T', + 'P', 'I', 'E', 'U', 'P', '-', 'R', 'I', 'E', 'U', 'L', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'P', 'S', 'I', 'F', 'I', 'S', 'T', 'O', 'P', 'A', 'R', 'A', 'K', 'A', 'L', 'E', 'S', 'M', 'A', + 'R', 'I', 'E', 'U', 'L', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P', + 'R', 'I', 'E', 'U', 'L', '-', 'P', 'I', 'E', 'U', 'P', '-', 'P', 'H', 'I', 'E', 'U', 'P', 'H', + 'R', 'O', 'T', 'A', 'T', 'I', 'O', 'N', '-', 'F', 'L', 'O', 'O', 'R', 'P', 'L', 'A', 'N', 'E', + 'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'S', 'I', 'O', 'S', + 'A', 'N', 'T', 'I', 'C', 'L', 'O', 'C', 'K', 'W', 'I', 'S', 'E', '-', 'R', 'O', 'T', 'A', 'T', 'E', 'D', + 'C', 'E', 'O', 'N', 'G', 'C', 'H', 'I', 'E', 'U', 'M', 'S', 'S', 'A', 'N', 'G', 'C', 'I', 'E', 'U', 'C', + 'P', 'A', 'N', 'S', 'I', 'O', 'S', '-', 'K', 'A', 'P', 'Y', 'E', 'O', 'U', 'N', 'P', 'I', 'E', 'U', 'P', + 'B', 'Y', 'E', 'L', 'O', 'R', 'U', 'S', 'S', 'I', 'A', 'N', '-', 'U', 'K', 'R', 'A', 'I', 'N', 'I', 'A', 'N', + 'P', 'A', 'S', 'S', 'I', 'V', 'E', '-', 'P', 'U', 'L', 'L', '-', 'U', 'P', '-', 'O', 'U', 'T', 'P', 'U', 'T', + 'R', 'I', 'E', 'U', 'L', '-', 'Y', 'E', 'O', 'R', 'I', 'N', 'H', 'I', 'E', 'U', 'H', '-', 'H', 'I', 'E', 'U', 'H', + 'O', 'N', 'E', '-', 'H', 'U', 'N', 'D', 'R', 'E', 'D', '-', 'A', 'N', 'D', '-', 'S', 'I', 'X', 'T', 'I', 'E', 'T', 'H', + 'P', 'A', 'S', 'S', 'I', 'V', 'E', '-', 'P', 'U', 'L', 'L', '-', 'D', 'O', 'W', 'N', '-', 'O', 'U', 'T', 'P', 'U', 'T', +}; +#define UNICODE_CHARNAME_NUM_WORDS 11782 +static const struct { uint32_t extra_offset; uint16_t ind_offset; } unicode_name_by_length[26] = { + { 0, 0 }, + { 0, 0 }, + { 26, 26 }, + { 740, 383 }, + { 5432, 1947 }, + { 19688, 5511 }, + { 27713, 7116 }, + { 32867, 7975 }, + { 38439, 8771 }, + { 43767, 9437 }, + { 48177, 9927 }, + { 51497, 10259 }, + { 54082, 10494 }, + { 55810, 10638 }, + { 66782, 11482 }, + { 68770, 11624 }, + { 69220, 11654 }, + { 70340, 11724 }, + { 70680, 11744 }, + { 71058, 11765 }, + { 71210, 11773 }, + { 71230, 11774 }, + { 71293, 11777 }, + { 71337, 11779 }, + { 71360, 11780 }, + { 71408, 11782 } +}; +#define UNICODE_CHARNAME_WORD_HANGUL 7409 +#define UNICODE_CHARNAME_WORD_SYLLABLE 9348 +#define UNICODE_CHARNAME_WORD_CJK 536 +#define UNICODE_CHARNAME_WORD_COMPATIBILITY 10647 +#define UNICODE_CHARNAME_WORD_VARIATION 9912 +static const uint16_t unicode_names[115981] = { + 23, 3, 897, 15672, + 37, 317, 18774, + 47, 317, 1, 19567, 968, + 51, 18371, 887, 20234, + 51, 18371, 7817, 12383, 16088, + 51, 18371, 7817, 16069, 16088, + 51, 18371, 9898, + 51, 18371, 10313, 11756, + 51, 18371, 13313, 23252, + 51, 18371, 13341, 12383, 16088, + 51, 18371, 13341, 16069, 16088, + 51, 18371, 14603, 23252, + 51, 18371, 15495, 15340, + 51, 18371, 15495, 20336, + 51, 18371, 15495, 20566, + 51, 18371, 20355, 20566, + 63, 16200, + 167, 2511, 15029, 15672, + 201, 6286, + 201, 9374, + 201, 13582, + 203, 6286, + 203, 9374, + 203, 13582, + 469, 2611, 13883, 18011, 15672, + 469, 11994, + 469, 11995, 9854, + 469, 15127, 15330, + 469, 15342, + 469, 17247, 15672, + 469, 17676, + 469, 20850, + 491, 7127, 9854, + 493, 11709, 441, 17430, + 493, 11709, 5228, + 493, 11709, 11905, 2610, + 493, 11709, 11905, 3076, + 493, 11709, 11905, 3356, + 493, 11709, 11905, 6756, + 493, 11709, 11905, 6778, + 493, 11709, 11905, 8780, + 493, 11709, 11905, 10900, + 493, 11709, 11905, 11978, + 493, 11709, 11905, 13450, + 493, 11709, 11905, 13736, + 493, 11709, 13326, + 493, 11709, 14999, 68, + 493, 11709, 14999, 76, + 493, 11709, 14999, 92, + 493, 11709, 14999, 202, + 493, 11709, 14999, 206, + 493, 11709, 14999, 306, + 493, 11709, 14999, 324, + 493, 11709, 14999, 326, + 493, 11709, 14999, 384, + 493, 11709, 14999, 388, + 493, 11709, 14999, 392, + 493, 11709, 14999, 402, + 493, 11709, 14999, 406, + 493, 11709, 14999, 480, + 493, 11709, 14999, 486, + 493, 11709, 14999, 512, + 493, 11709, 14999, 652, + 493, 11709, 14999, 654, + 493, 11709, 14999, 678, + 493, 11709, 14999, 774, + 493, 11709, 14999, 776, + 493, 11709, 14999, 778, + 493, 11709, 14999, 786, + 493, 11709, 14999, 844, + 493, 11709, 14999, 1272, + 493, 11709, 14999, 1314, + 493, 11709, 14999, 1764, + 493, 11709, 14999, 2066, + 493, 11709, 14999, 2628, + 493, 11709, 14999, 3404, + 493, 11709, 16427, 18812, + 493, 11709, 18454, + 493, 11709, 20269, 18812, + 493, 11709, 20877, 14625, 15142, + 493, 11709, 20877, 15142, + 495, 15672, + 497, 10641, 20685, 8321, 10641, 7817, 13341, 11477, 11392, + 505, 10641, 1217, 14874, + 516, + 604, + 671, 5741, 7817, 6435, 5741, 7817, 16480, + 671, 5741, 7817, 6435, 5741, 13341, 16480, + 671, 5741, 13341, 6435, 5741, 7817, 16480, + 671, 5741, 13341, 6435, 5741, 13341, 16480, + 671, 6435, 11476, + 671, 6435, 11477, 10641, 5744, + 671, 6435, 11571, 11476, + 671, 6435, 14049, 11476, + 671, 6435, 14625, 11476, + 671, 6435, 20377, 11476, + 671, 6435, 23305, 11476, + 671, 6751, 10092, + 671, 10086, + 671, 10087, 10641, 14487, 11392, + 671, 11477, 17369, 14486, + 671, 13341, 17839, 18016, + 671, 18906, + 671, 18907, 317, 1, 19567, 968, + 671, 18907, 16065, 3357, 20181, 5742, + 708, + 739, 17091, 144, + 739, 17091, 168, + 739, 17091, 244, + 739, 17091, 342, + 739, 17091, 354, + 739, 17091, 392, + 739, 17091, 430, + 739, 17091, 500, + 739, 17091, 642, + 739, 17091, 710, + 739, 17091, 742, + 739, 17091, 752, + 739, 17091, 982, + 739, 17091, 1046, + 739, 17091, 1066, + 739, 17091, 1110, + 739, 17091, 1114, + 739, 17091, 1474, + 739, 17091, 1530, + 739, 17091, 1658, + 739, 17091, 1822, + 739, 17091, 1942, + 739, 17091, 2134, + 739, 17091, 2224, + 739, 17091, 2332, + 739, 17091, 2742, + 739, 17091, 2758, + 739, 17091, 2810, + 739, 17091, 3060, + 739, 17091, 3118, + 739, 17091, 3214, + 739, 17091, 3460, + 739, 17091, 3500, + 739, 17091, 3720, + 739, 17091, 3848, + 739, 17091, 3862, + 739, 17091, 3864, + 739, 17091, 5784, + 739, 17091, 6114, + 739, 17091, 6344, + 739, 17091, 6984, + 739, 17091, 6990, + 739, 17091, 7352, + 739, 17091, 7356, + 739, 17091, 7362, + 739, 17091, 7488, + 739, 17091, 7508, + 739, 17091, 8614, + 739, 17091, 8966, + 739, 17091, 8984, + 739, 17091, 9030, + 739, 17091, 9750, + 739, 17091, 9792, + 739, 17091, 9816, + 739, 17091, 14222, + 739, 18697, 0, + 739, 18697, 8, + 739, 18697, 16, + 739, 18697, 28, + 739, 18697, 84, + 739, 18697, 92, + 739, 18697, 100, + 739, 18697, 106, + 739, 18697, 110, + 739, 18697, 114, + 739, 18697, 116, + 739, 18697, 120, + 739, 18697, 122, + 739, 18697, 124, + 739, 18697, 130, + 739, 18697, 134, + 739, 18697, 140, + 739, 18697, 142, + 739, 18697, 144, + 739, 18697, 148, + 739, 18697, 154, + 739, 18697, 158, + 739, 18697, 166, + 739, 18697, 168, + 739, 18697, 220, + 739, 18697, 224, + 739, 18697, 230, + 739, 18697, 236, + 739, 18697, 238, + 739, 18697, 240, + 739, 18697, 244, + 739, 18697, 248, + 739, 18697, 254, + 739, 18697, 258, + 739, 18697, 260, + 739, 18697, 266, + 739, 18697, 270, + 739, 18697, 282, + 739, 18697, 300, + 739, 18697, 320, + 739, 18697, 328, + 739, 18697, 332, + 739, 18697, 340, + 739, 18697, 342, + 739, 18697, 344, + 739, 18697, 346, + 739, 18697, 350, + 739, 18697, 354, + 739, 18697, 358, + 739, 18697, 366, + 739, 18697, 370, + 739, 18697, 384, + 739, 18697, 388, + 739, 18697, 392, + 739, 18697, 402, + 739, 18697, 406, + 739, 18697, 412, + 739, 18697, 416, + 739, 18697, 424, + 739, 18697, 430, + 739, 18697, 436, + 739, 18697, 440, + 739, 18697, 446, + 739, 18697, 448, + 739, 18697, 452, + 739, 18697, 460, + 739, 18697, 468, + 739, 18697, 472, + 739, 18697, 500, + 739, 18697, 508, + 739, 18697, 516, + 739, 18697, 522, + 739, 18697, 536, + 739, 18697, 540, + 739, 18697, 546, + 739, 18697, 552, + 739, 18697, 560, + 739, 18697, 564, + 739, 18697, 568, + 739, 18697, 570, + 739, 18697, 572, + 739, 18697, 574, + 739, 18697, 580, + 739, 18697, 584, + 739, 18697, 586, + 739, 18697, 588, + 739, 18697, 592, + 739, 18697, 598, + 739, 18697, 602, + 739, 18697, 612, + 739, 18697, 618, + 739, 18697, 622, + 739, 18697, 626, + 739, 18697, 630, + 739, 18697, 634, + 739, 18697, 642, + 739, 18697, 668, + 739, 18697, 680, + 739, 18697, 684, + 739, 18697, 686, + 739, 18697, 690, + 739, 18697, 692, + 739, 18697, 694, + 739, 18697, 700, + 739, 18697, 710, + 739, 18697, 712, + 739, 18697, 724, + 739, 18697, 726, + 739, 18697, 732, + 739, 18697, 738, + 739, 18697, 742, + 739, 18697, 746, + 739, 18697, 750, + 739, 18697, 752, + 739, 18697, 754, + 739, 18697, 758, + 739, 18697, 760, + 739, 18697, 762, + 739, 18697, 764, + 739, 18697, 894, + 739, 18697, 898, + 739, 18697, 902, + 739, 18697, 904, + 739, 18697, 906, + 739, 18697, 908, + 739, 18697, 910, + 739, 18697, 912, + 739, 18697, 914, + 739, 18697, 926, + 739, 18697, 930, + 739, 18697, 944, + 739, 18697, 948, + 739, 18697, 950, + 739, 18697, 952, + 739, 18697, 962, + 739, 18697, 964, + 739, 18697, 968, + 739, 18697, 978, + 739, 18697, 980, + 739, 18697, 982, + 739, 18697, 986, + 739, 18697, 988, + 739, 18697, 998, + 739, 18697, 1000, + 739, 18697, 1002, + 739, 18697, 1004, + 739, 18697, 1014, + 739, 18697, 1018, + 739, 18697, 1022, + 739, 18697, 1038, + 739, 18697, 1040, + 739, 18697, 1044, + 739, 18697, 1046, + 739, 18697, 1050, + 739, 18697, 1052, + 739, 18697, 1054, + 739, 18697, 1056, + 739, 18697, 1066, + 739, 18697, 1068, + 739, 18697, 1070, + 739, 18697, 1080, + 739, 18697, 1082, + 739, 18697, 1086, + 739, 18697, 1090, + 739, 18697, 1092, + 739, 18697, 1094, + 739, 18697, 1096, + 739, 18697, 1098, + 739, 18697, 1110, + 739, 18697, 1112, + 739, 18697, 1114, + 739, 18697, 1116, + 739, 18697, 1132, + 739, 18697, 1136, + 739, 18697, 1138, + 739, 18697, 1142, + 739, 18697, 1144, + 739, 18697, 1146, + 739, 18697, 1148, + 739, 18697, 1150, + 739, 18697, 1160, + 739, 18697, 1162, + 739, 18697, 1176, + 739, 18697, 1184, + 739, 18697, 1186, + 739, 18697, 1188, + 739, 18697, 1214, + 739, 18697, 1216, + 739, 18697, 1218, + 739, 18697, 1234, + 739, 18697, 1236, + 739, 18697, 1238, + 739, 18697, 1240, + 739, 18697, 1242, + 739, 18697, 1352, + 739, 18697, 1358, + 739, 18697, 1360, + 739, 18697, 1376, + 739, 18697, 1378, + 739, 18697, 1380, + 739, 18697, 1394, + 739, 18697, 1398, + 739, 18697, 1406, + 739, 18697, 1408, + 739, 18697, 1410, + 739, 18697, 1412, + 739, 18697, 1422, + 739, 18697, 1424, + 739, 18697, 1426, + 739, 18697, 1448, + 739, 18697, 1452, + 739, 18697, 1454, + 739, 18697, 1474, + 739, 18697, 1478, + 739, 18697, 1480, + 739, 18697, 1482, + 739, 18697, 1484, + 739, 18697, 1486, + 739, 18697, 1488, + 739, 18697, 1490, + 739, 18697, 1506, + 739, 18697, 1512, + 739, 18697, 1514, + 739, 18697, 1516, + 739, 18697, 1528, + 739, 18697, 1530, + 739, 18697, 1532, + 739, 18697, 1550, + 739, 18697, 1552, + 739, 18697, 1554, + 739, 18697, 1556, + 739, 18697, 1558, + 739, 18697, 1594, + 739, 18697, 1598, + 739, 18697, 1602, + 739, 18697, 1614, + 739, 18697, 1618, + 739, 18697, 1630, + 739, 18697, 1638, + 739, 18697, 1640, + 739, 18697, 1642, + 739, 18697, 1644, + 739, 18697, 1646, + 739, 18697, 1648, + 739, 18697, 1650, + 739, 18697, 1652, + 739, 18697, 1656, + 739, 18697, 1658, + 739, 18697, 1660, + 739, 18697, 1662, + 739, 18697, 1664, + 739, 18697, 1666, + 739, 18697, 1668, + 739, 18697, 1682, + 739, 18697, 1684, + 739, 18697, 1686, + 739, 18697, 1700, + 739, 18697, 1712, + 739, 18697, 1714, + 739, 18697, 1716, + 739, 18697, 1718, + 739, 18697, 1742, + 739, 18697, 1744, + 739, 18697, 1746, + 739, 18697, 1802, + 739, 18697, 1806, + 739, 18697, 1808, + 739, 18697, 1810, + 739, 18697, 1816, + 739, 18697, 1818, + 739, 18697, 1820, + 739, 18697, 1822, + 739, 18697, 1828, + 739, 18697, 1830, + 739, 18697, 1832, + 739, 18697, 1836, + 739, 18697, 1838, + 739, 18697, 1840, + 739, 18697, 1842, + 739, 18697, 1846, + 739, 18697, 1850, + 739, 18697, 1852, + 739, 18697, 1854, + 739, 18697, 1856, + 739, 18697, 1880, + 739, 18697, 1886, + 739, 18697, 1890, + 739, 18697, 1902, + 739, 18697, 1906, + 739, 18697, 1910, + 739, 18697, 1930, + 739, 18697, 1938, + 739, 18697, 1942, + 739, 18697, 1948, + 739, 18697, 1978, + 739, 18697, 1980, + 739, 18697, 1984, + 739, 18697, 2016, + 739, 18697, 2018, + 739, 18697, 2022, + 739, 18697, 2024, + 739, 18697, 2028, + 739, 18697, 2082, + 739, 18697, 2088, + 739, 18697, 2094, + 739, 18697, 2114, + 739, 18697, 2120, + 739, 18697, 2134, + 739, 18697, 2140, + 739, 18697, 2146, + 739, 18697, 2148, + 739, 18697, 2166, + 739, 18697, 2172, + 739, 18697, 2176, + 739, 18697, 2200, + 739, 18697, 2202, + 739, 18697, 2204, + 739, 18697, 2208, + 739, 18697, 2210, + 739, 18697, 2222, + 739, 18697, 2224, + 739, 18697, 2226, + 739, 18697, 2228, + 739, 18697, 2246, + 739, 18697, 2252, + 739, 18697, 2256, + 739, 18697, 2286, + 739, 18697, 2290, + 739, 18697, 2292, + 739, 18697, 2294, + 739, 18697, 2296, + 739, 18697, 2304, + 739, 18697, 2316, + 739, 18697, 2318, + 739, 18697, 2320, + 739, 18697, 2332, + 739, 18697, 2334, + 739, 18697, 2336, + 739, 18697, 2350, + 739, 18697, 2352, + 739, 18697, 2354, + 739, 18697, 2358, + 739, 18697, 2360, + 739, 18697, 2376, + 739, 18697, 2378, + 739, 18697, 2380, + 739, 18697, 2398, + 739, 18697, 2406, + 739, 18697, 2410, + 739, 18697, 2412, + 739, 18697, 2414, + 739, 18697, 2416, + 739, 18697, 2418, + 739, 18697, 2420, + 739, 18697, 2422, + 739, 18697, 2424, + 739, 18697, 2426, + 739, 18697, 2428, + 739, 18697, 2436, + 739, 18697, 2442, + 739, 18697, 2444, + 739, 18697, 2446, + 739, 18697, 2452, + 739, 18697, 2464, + 739, 18697, 2472, + 739, 18697, 2474, + 739, 18697, 2476, + 739, 18697, 2482, + 739, 18697, 2484, + 739, 18697, 2486, + 739, 18697, 2488, + 739, 18697, 2506, + 739, 18697, 2510, + 739, 18697, 2514, + 739, 18697, 2518, + 739, 18697, 2520, + 739, 18697, 2522, + 739, 18697, 2524, + 739, 18697, 2526, + 739, 18697, 2538, + 739, 18697, 2540, + 739, 18697, 2542, + 739, 18697, 2544, + 739, 18697, 2546, + 739, 18697, 2562, + 739, 18697, 2564, + 739, 18697, 2566, + 739, 18697, 2568, + 739, 18697, 2570, + 739, 18697, 2572, + 739, 18697, 2574, + 739, 18697, 2576, + 739, 18697, 2646, + 739, 18697, 2650, + 739, 18697, 2656, + 739, 18697, 2686, + 739, 18697, 2694, + 739, 18697, 2696, + 739, 18697, 2698, + 739, 18697, 2708, + 739, 18697, 2710, + 739, 18697, 2712, + 739, 18697, 2734, + 739, 18697, 2736, + 739, 18697, 2740, + 739, 18697, 2742, + 739, 18697, 2744, + 739, 18697, 2754, + 739, 18697, 2756, + 739, 18697, 2758, + 739, 18697, 2760, + 739, 18697, 2790, + 739, 18697, 2796, + 739, 18697, 2798, + 739, 18697, 2800, + 739, 18697, 2808, + 739, 18697, 2810, + 739, 18697, 2812, + 739, 18697, 2824, + 739, 18697, 2826, + 739, 18697, 2828, + 739, 18697, 2830, + 739, 18697, 2836, + 739, 18697, 2852, + 739, 18697, 2854, + 739, 18697, 2856, + 739, 18697, 2860, + 739, 18697, 2882, + 739, 18697, 2886, + 739, 18697, 2890, + 739, 18697, 2906, + 739, 18697, 2910, + 739, 18697, 2950, + 739, 18697, 2952, + 739, 18697, 2954, + 739, 18697, 2956, + 739, 18697, 2958, + 739, 18697, 2960, + 739, 18697, 2962, + 739, 18697, 2964, + 739, 18697, 2976, + 739, 18697, 2978, + 739, 18697, 2980, + 739, 18697, 2982, + 739, 18697, 2984, + 739, 18697, 2996, + 739, 18697, 2998, + 739, 18697, 3000, + 739, 18697, 3002, + 739, 18697, 3022, + 739, 18697, 3028, + 739, 18697, 3032, + 739, 18697, 3040, + 739, 18697, 3044, + 739, 18697, 3048, + 739, 18697, 3050, + 739, 18697, 3054, + 739, 18697, 3056, + 739, 18697, 3060, + 739, 18697, 3064, + 739, 18697, 3072, + 739, 18697, 3074, + 739, 18697, 3076, + 739, 18697, 3096, + 739, 18697, 3102, + 739, 18697, 3108, + 739, 18697, 3114, + 739, 18697, 3116, + 739, 18697, 3118, + 739, 18697, 3120, + 739, 18697, 3122, + 739, 18697, 3124, + 739, 18697, 3138, + 739, 18697, 3140, + 739, 18697, 3142, + 739, 18697, 3144, + 739, 18697, 3148, + 739, 18697, 3164, + 739, 18697, 3166, + 739, 18697, 3168, + 739, 18697, 3170, + 739, 18697, 3206, + 739, 18697, 3214, + 739, 18697, 3222, + 739, 18697, 3234, + 739, 18697, 3240, + 739, 18697, 3256, + 739, 18697, 3264, + 739, 18697, 3268, + 739, 18697, 3270, + 739, 18697, 3292, + 739, 18697, 3298, + 739, 18697, 3302, + 739, 18697, 3340, + 739, 18697, 3342, + 739, 18697, 3344, + 739, 18697, 3346, + 739, 18697, 3348, + 739, 18697, 3408, + 739, 18697, 3410, + 739, 18697, 3446, + 739, 18697, 3448, + 739, 18697, 3454, + 739, 18697, 3460, + 739, 18697, 3466, + 739, 18697, 3470, + 739, 18697, 3474, + 739, 18697, 3476, + 739, 18697, 3478, + 739, 18697, 3486, + 739, 18697, 3490, + 739, 18697, 3496, + 739, 18697, 3498, + 739, 18697, 3500, + 739, 18697, 3502, + 739, 18697, 3504, + 739, 18697, 3510, + 739, 18697, 3512, + 739, 18697, 3514, + 739, 18697, 3516, + 739, 18697, 3526, + 739, 18697, 3528, + 739, 18697, 3534, + 739, 18697, 3548, + 739, 18697, 3550, + 739, 18697, 3564, + 739, 18697, 3568, + 739, 18697, 3578, + 739, 18697, 3600, + 739, 18697, 3602, + 739, 18697, 3604, + 739, 18697, 3606, + 739, 18697, 3610, + 739, 18697, 3614, + 739, 18697, 3616, + 739, 18697, 3618, + 739, 18697, 3638, + 739, 18697, 3640, + 739, 18697, 3642, + 739, 18697, 3646, + 739, 18697, 3710, + 739, 18697, 3718, + 739, 18697, 3720, + 739, 18697, 3722, + 739, 18697, 3730, + 739, 18697, 3734, + 739, 18697, 3736, + 739, 18697, 3750, + 739, 18697, 3752, + 739, 18697, 3756, + 739, 18697, 3760, + 739, 18697, 3762, + 739, 18697, 3776, + 739, 18697, 3778, + 739, 18697, 3780, + 739, 18697, 3782, + 739, 18697, 3796, + 739, 18697, 3798, + 739, 18697, 3800, + 739, 18697, 3808, + 739, 18697, 3810, + 739, 18697, 3812, + 739, 18697, 3814, + 739, 18697, 3818, + 739, 18697, 3820, + 739, 18697, 3822, + 739, 18697, 3828, + 739, 18697, 3832, + 739, 18697, 3834, + 739, 18697, 3836, + 739, 18697, 3846, + 739, 18697, 3848, + 739, 18697, 3850, + 739, 18697, 3860, + 739, 18697, 3862, + 739, 18697, 3864, + 739, 18697, 3866, + 739, 18697, 3868, + 739, 18697, 3874, + 739, 18697, 3876, + 739, 18697, 3878, + 739, 18697, 3880, + 739, 18697, 3882, + 739, 18697, 3884, + 739, 18697, 3886, + 739, 18697, 3888, + 739, 18697, 3890, + 739, 18697, 3892, + 739, 18697, 5752, + 739, 18697, 5754, + 739, 18697, 5756, + 739, 18697, 5760, + 739, 18697, 5762, + 739, 18697, 5764, + 739, 18697, 5766, + 739, 18697, 5768, + 739, 18697, 5770, + 739, 18697, 5772, + 739, 18697, 5774, + 739, 18697, 5776, + 739, 18697, 5778, + 739, 18697, 5780, + 739, 18697, 5782, + 739, 18697, 5784, + 739, 18697, 5786, + 739, 18697, 5788, + 739, 18697, 5790, + 739, 18697, 5792, + 739, 18697, 5828, + 739, 18697, 5830, + 739, 18697, 5832, + 739, 18697, 5882, + 739, 18697, 5884, + 739, 18697, 5890, + 739, 18697, 5896, + 739, 18697, 6014, + 739, 18697, 6018, + 739, 18697, 6022, + 739, 18697, 6030, + 739, 18697, 6032, + 739, 18697, 6034, + 739, 18697, 6046, + 739, 18697, 6048, + 739, 18697, 6050, + 739, 18697, 6054, + 739, 18697, 6056, + 739, 18697, 6058, + 739, 18697, 6060, + 739, 18697, 6066, + 739, 18697, 6068, + 739, 18697, 6070, + 739, 18697, 6072, + 739, 18697, 6074, + 739, 18697, 6076, + 739, 18697, 6078, + 739, 18697, 6114, + 739, 18697, 6116, + 739, 18697, 6120, + 739, 18697, 6134, + 739, 18697, 6300, + 739, 18697, 6302, + 739, 18697, 6304, + 739, 18697, 6310, + 739, 18697, 6312, + 739, 18697, 6324, + 739, 18697, 6326, + 739, 18697, 6328, + 739, 18697, 6330, + 739, 18697, 6334, + 739, 18697, 6336, + 739, 18697, 6338, + 739, 18697, 6340, + 739, 18697, 6342, + 739, 18697, 6344, + 739, 18697, 6346, + 739, 18697, 6348, + 739, 18697, 6396, + 739, 18697, 6398, + 739, 18697, 6452, + 739, 18697, 6456, + 739, 18697, 6794, + 739, 18697, 6964, + 739, 18697, 6966, + 739, 18697, 6968, + 739, 18697, 6972, + 739, 18697, 6974, + 739, 18697, 6976, + 739, 18697, 6978, + 739, 18697, 6980, + 739, 18697, 6982, + 739, 18697, 6984, + 739, 18697, 6986, + 739, 18697, 6988, + 739, 18697, 6990, + 739, 18697, 6992, + 739, 18697, 6994, + 739, 18697, 6996, + 739, 18697, 6998, + 739, 18697, 7028, + 739, 18697, 7030, + 739, 18697, 7032, + 739, 18697, 7072, + 739, 18697, 7074, + 739, 18697, 7076, + 739, 18697, 7080, + 739, 18697, 7168, + 739, 18697, 7176, + 739, 18697, 7178, + 739, 18697, 7182, + 739, 18697, 7184, + 739, 18697, 7186, + 739, 18697, 7188, + 739, 18697, 7190, + 739, 18697, 7192, + 739, 18697, 7194, + 739, 18697, 7196, + 739, 18697, 7198, + 739, 18697, 7200, + 739, 18697, 7202, + 739, 18697, 7204, + 739, 18697, 7206, + 739, 18697, 7208, + 739, 18697, 7210, + 739, 18697, 7212, + 739, 18697, 7214, + 739, 18697, 7216, + 739, 18697, 7218, + 739, 18697, 7220, + 739, 18697, 7222, + 739, 18697, 7224, + 739, 18697, 7226, + 739, 18697, 7228, + 739, 18697, 7230, + 739, 18697, 7232, + 739, 18697, 7234, + 739, 18697, 7236, + 739, 18697, 7238, + 739, 18697, 7240, + 739, 18697, 7242, + 739, 18697, 7244, + 739, 18697, 7246, + 739, 18697, 7248, + 739, 18697, 7250, + 739, 18697, 7252, + 739, 18697, 7254, + 739, 18697, 7256, + 739, 18697, 7260, + 739, 18697, 7262, + 739, 18697, 7264, + 739, 18697, 7266, + 739, 18697, 7268, + 739, 18697, 7270, + 739, 18697, 7272, + 739, 18697, 7274, + 739, 18697, 7276, + 739, 18697, 7278, + 739, 18697, 7282, + 739, 18697, 7284, + 739, 18697, 7324, + 739, 18697, 7326, + 739, 18697, 7328, + 739, 18697, 7338, + 739, 18697, 7340, + 739, 18697, 7342, + 739, 18697, 7344, + 739, 18697, 7346, + 739, 18697, 7348, + 739, 18697, 7350, + 739, 18697, 7352, + 739, 18697, 7354, + 739, 18697, 7356, + 739, 18697, 7358, + 739, 18697, 7360, + 739, 18697, 7362, + 739, 18697, 7478, + 739, 18697, 7480, + 739, 18697, 7482, + 739, 18697, 7488, + 739, 18697, 7490, + 739, 18697, 7492, + 739, 18697, 7494, + 739, 18697, 7496, + 739, 18697, 7498, + 739, 18697, 7500, + 739, 18697, 7502, + 739, 18697, 7504, + 739, 18697, 7506, + 739, 18697, 7508, + 739, 18697, 7510, + 739, 18697, 7512, + 739, 18697, 7514, + 739, 18697, 7516, + 739, 18697, 7532, + 739, 18697, 7534, + 739, 18697, 7536, + 739, 18697, 7538, + 739, 18697, 7540, + 739, 18697, 7668, + 739, 18697, 7670, + 739, 18697, 7720, + 739, 18697, 7724, + 739, 18697, 7728, + 739, 18697, 7840, + 739, 18697, 7842, + 739, 18697, 7844, + 739, 18697, 7896, + 739, 18697, 7898, + 739, 18697, 7900, + 739, 18697, 7902, + 739, 18697, 7912, + 739, 18697, 8386, + 739, 18697, 8388, + 739, 18697, 8390, + 739, 18697, 8402, + 739, 18697, 8404, + 739, 18697, 8406, + 739, 18697, 8408, + 739, 18697, 8410, + 739, 18697, 8412, + 739, 18697, 8414, + 739, 18697, 8416, + 739, 18697, 8418, + 739, 18697, 8420, + 739, 18697, 8422, + 739, 18697, 8430, + 739, 18697, 8432, + 739, 18697, 8478, + 739, 18697, 8480, + 739, 18697, 8482, + 739, 18697, 8488, + 739, 18697, 8608, + 739, 18697, 8610, + 739, 18697, 8612, + 739, 18697, 8614, + 739, 18697, 8616, + 739, 18697, 8618, + 739, 18697, 8620, + 739, 18697, 8622, + 739, 18697, 8624, + 739, 18697, 8626, + 739, 18697, 8630, + 739, 18697, 8632, + 739, 18697, 8634, + 739, 18697, 8636, + 739, 18697, 8638, + 739, 18697, 8640, + 739, 18697, 8642, + 739, 18697, 8644, + 739, 18697, 8650, + 739, 18697, 8652, + 739, 18697, 8654, + 739, 18697, 8658, + 739, 18697, 8660, + 739, 18697, 8662, + 739, 18697, 8664, + 739, 18697, 8668, + 739, 18697, 8670, + 739, 18697, 8676, + 739, 18697, 8678, + 739, 18697, 8680, + 739, 18697, 8684, + 739, 18697, 8686, + 739, 18697, 8688, + 739, 18697, 8690, + 739, 18697, 8710, + 739, 18697, 8716, + 739, 18697, 8718, + 739, 18697, 8722, + 739, 18697, 8724, + 739, 18697, 8738, + 739, 18697, 8750, + 739, 18697, 8754, + 739, 18697, 8758, + 739, 18697, 8762, + 739, 18697, 8772, + 739, 18697, 8774, + 739, 18697, 8794, + 739, 18697, 8796, + 739, 18697, 8798, + 739, 18697, 8800, + 739, 18697, 8804, + 739, 18697, 8806, + 739, 18697, 8808, + 739, 18697, 8810, + 739, 18697, 8812, + 739, 18697, 8814, + 739, 18697, 8816, + 739, 18697, 8818, + 739, 18697, 8820, + 739, 18697, 8822, + 739, 18697, 8824, + 739, 18697, 8858, + 739, 18697, 8860, + 739, 18697, 8862, + 739, 18697, 8864, + 739, 18697, 8868, + 739, 18697, 8870, + 739, 18697, 8872, + 739, 18697, 8874, + 739, 18697, 8878, + 739, 18697, 8880, + 739, 18697, 8882, + 739, 18697, 8884, + 739, 18697, 8886, + 739, 18697, 8888, + 739, 18697, 8890, + 739, 18697, 8892, + 739, 18697, 8928, + 739, 18697, 8930, + 739, 18697, 8932, + 739, 18697, 8962, + 739, 18697, 8966, + 739, 18697, 8972, + 739, 18697, 8974, + 739, 18697, 8984, + 739, 18697, 8986, + 739, 18697, 8988, + 739, 18697, 8994, + 739, 18697, 8996, + 739, 18697, 8998, + 739, 18697, 9000, + 739, 18697, 9004, + 739, 18697, 9008, + 739, 18697, 9010, + 739, 18697, 9012, + 739, 18697, 9014, + 739, 18697, 9016, + 739, 18697, 9018, + 739, 18697, 9020, + 739, 18697, 9022, + 739, 18697, 9024, + 739, 18697, 9028, + 739, 18697, 9030, + 739, 18697, 9034, + 739, 18697, 9036, + 739, 18697, 9038, + 739, 18697, 9040, + 739, 18697, 9042, + 739, 18697, 9044, + 739, 18697, 9256, + 739, 18697, 9260, + 739, 18697, 9310, + 739, 18697, 9312, + 739, 18697, 9314, + 739, 18697, 9328, + 739, 18697, 9364, + 739, 18697, 9366, + 739, 18697, 9368, + 739, 18697, 9376, + 739, 18697, 9378, + 739, 18697, 9380, + 739, 18697, 9382, + 739, 18697, 9394, + 739, 18697, 9526, + 739, 18697, 9530, + 739, 18697, 9532, + 739, 18697, 9534, + 739, 18697, 9536, + 739, 18697, 9538, + 739, 18697, 9540, + 739, 18697, 9544, + 739, 18697, 9546, + 739, 18697, 9548, + 739, 18697, 9550, + 739, 18697, 9552, + 739, 18697, 9554, + 739, 18697, 9556, + 739, 18697, 9558, + 739, 18697, 9560, + 739, 18697, 9568, + 739, 18697, 9570, + 739, 18697, 9572, + 739, 18697, 9584, + 739, 18697, 9748, + 739, 18697, 9750, + 739, 18697, 9752, + 739, 18697, 9762, + 739, 18697, 9764, + 739, 18697, 9766, + 739, 18697, 9792, + 739, 18697, 9796, + 739, 18697, 9798, + 739, 18697, 9812, + 739, 18697, 9814, + 739, 18697, 9816, + 739, 18697, 9818, + 739, 18697, 9820, + 739, 18697, 9834, + 739, 18697, 9836, + 739, 18697, 9838, + 739, 18697, 9840, + 739, 18697, 9848, + 739, 18697, 9850, + 739, 18697, 9904, + 739, 18697, 9906, + 739, 18697, 9908, + 739, 18697, 9912, + 739, 18697, 9914, + 739, 18697, 9918, + 739, 18697, 9920, + 739, 18697, 9922, + 739, 18697, 9924, + 739, 18697, 9926, + 739, 18697, 9928, + 739, 18697, 9930, + 739, 18697, 9932, + 739, 18697, 9934, + 739, 18697, 9938, + 739, 18697, 9940, + 739, 18697, 9942, + 739, 18697, 9944, + 739, 18697, 9946, + 739, 18697, 9976, + 739, 18697, 9978, + 739, 18697, 9984, + 739, 18697, 9992, + 739, 18697, 10184, + 739, 18697, 10186, + 739, 18697, 10290, + 739, 18697, 10292, + 739, 18697, 10294, + 739, 18697, 10300, + 739, 18697, 10544, + 739, 18697, 10546, + 739, 18697, 10548, + 739, 18697, 10560, + 739, 18697, 10562, + 739, 18697, 10658, + 739, 18697, 10660, + 739, 18697, 10688, + 739, 18697, 10690, + 739, 18697, 10692, + 739, 18697, 10696, + 739, 18697, 10708, + 739, 18697, 10794, + 739, 18697, 10796, + 739, 18697, 10798, + 739, 18697, 10838, + 739, 18697, 10840, + 739, 18697, 10842, + 739, 18697, 10844, + 739, 18697, 10854, + 739, 18697, 10906, + 739, 18697, 10910, + 739, 18697, 10912, + 739, 18697, 10916, + 739, 18697, 10918, + 739, 18697, 10920, + 739, 18697, 10928, + 739, 18697, 10930, + 739, 18697, 10932, + 739, 18697, 10934, + 739, 18697, 10936, + 739, 18697, 10938, + 739, 18697, 10940, + 739, 18697, 10942, + 739, 18697, 10948, + 739, 18697, 10950, + 739, 18697, 10952, + 739, 18697, 10954, + 739, 18697, 10958, + 739, 18697, 10960, + 739, 18697, 10966, + 739, 18697, 10968, + 739, 18697, 10970, + 739, 18697, 10976, + 739, 18697, 10980, + 739, 18697, 10982, + 739, 18697, 10984, + 739, 18697, 10988, + 739, 18697, 10990, + 739, 18697, 10992, + 739, 18697, 10994, + 739, 18697, 10996, + 739, 18697, 10998, + 739, 18697, 11000, + 739, 18697, 11002, + 739, 18697, 11006, + 739, 18697, 11008, + 739, 18697, 11010, + 739, 18697, 11014, + 739, 18697, 11016, + 739, 18697, 11018, + 739, 18697, 11020, + 739, 18697, 11528, + 739, 18697, 11530, + 739, 18697, 11532, + 739, 18697, 11534, + 739, 18697, 11536, + 739, 18697, 11538, + 739, 18697, 11722, + 739, 18697, 11724, + 739, 18697, 11726, + 739, 18697, 11728, + 739, 18697, 11730, + 739, 18697, 11874, + 739, 18697, 11876, + 739, 18697, 11878, + 739, 18697, 11880, + 739, 18697, 11882, + 739, 18697, 12174, + 739, 18697, 12176, + 739, 18697, 12178, + 739, 18697, 12180, + 739, 18697, 12182, + 739, 18697, 12184, + 739, 18697, 12286, + 739, 18697, 12288, + 739, 18697, 12290, + 739, 18697, 12292, + 739, 18697, 12294, + 739, 18697, 12296, + 739, 18697, 12298, + 739, 18697, 12300, + 739, 18697, 12304, + 739, 18697, 12306, + 739, 18697, 12308, + 739, 18697, 12310, + 739, 18697, 12312, + 739, 18697, 12314, + 739, 18697, 12316, + 739, 18697, 12318, + 739, 18697, 12342, + 739, 18697, 12344, + 739, 18697, 12346, + 739, 18697, 12348, + 739, 18697, 12350, + 739, 18697, 12352, + 739, 18697, 12406, + 739, 18697, 12408, + 739, 18697, 12410, + 739, 18697, 12412, + 739, 18697, 12414, + 739, 18697, 12416, + 739, 18697, 12722, + 739, 18697, 12724, + 739, 18697, 12726, + 739, 18697, 12728, + 739, 18697, 12814, + 739, 18697, 12816, + 739, 18697, 12818, + 739, 18697, 12820, + 739, 18697, 12832, + 739, 18697, 12836, + 739, 18697, 12860, + 739, 18697, 12862, + 739, 18697, 12882, + 739, 18697, 12884, + 739, 18697, 12904, + 739, 18697, 12906, + 739, 18697, 12908, + 739, 18697, 12914, + 739, 18697, 12918, + 739, 18697, 12920, + 739, 18697, 12980, + 739, 18697, 12982, + 739, 18697, 13056, + 739, 18697, 13058, + 739, 18697, 13060, + 739, 18697, 13062, + 739, 18697, 13064, + 739, 18697, 13068, + 739, 18697, 13070, + 739, 18697, 13072, + 739, 18697, 13074, + 739, 18697, 13076, + 739, 18697, 13358, + 739, 18697, 13360, + 739, 18697, 13362, + 739, 18697, 13512, + 739, 18697, 13514, + 739, 18697, 13516, + 739, 18697, 13526, + 739, 18697, 13602, + 739, 18697, 13604, + 739, 18697, 13606, + 739, 18697, 14200, + 739, 18697, 14202, + 739, 18697, 14204, + 739, 18697, 14206, + 739, 18697, 14220, + 739, 18697, 14222, + 739, 18697, 14224, + 739, 18697, 14228, + 739, 18697, 14230, + 739, 18697, 19371, 8320, + 797, 15528, + 835, 12005, 634, + 835, 22966, + 836, + 843, 10641, 1216, + 850, + 857, 20151, 15673, 671, 9787, 1830, + 857, 20151, 15673, 671, 10087, 1830, + 857, 20151, 15673, 671, 10087, 16946, + 857, 20151, 15673, 671, 10087, 19058, + 857, 20151, 15673, 671, 11653, 13758, + 857, 20151, 15673, 1159, 13622, + 857, 20151, 15673, 1159, 13758, + 857, 20151, 15673, 1159, 19058, + 857, 20151, 15673, 1831, 18836, + 857, 20151, 15673, 1831, 19058, + 857, 20151, 15673, 2914, + 857, 20151, 15673, 6435, 9787, 13622, + 857, 20151, 15673, 6435, 10087, 1830, + 857, 20151, 15673, 6435, 10087, 18836, + 857, 20151, 15673, 6435, 11653, 13758, + 857, 20151, 15673, 7438, + 857, 20151, 15673, 7439, 18836, + 857, 20151, 15673, 7817, 9787, 13622, + 857, 20151, 15673, 9374, + 857, 20151, 15673, 9375, 671, 11652, + 857, 20151, 15673, 9375, 1158, + 857, 20151, 15673, 9375, 1830, + 857, 20151, 15673, 9375, 2511, 12004, + 857, 20151, 15673, 9375, 6435, 11652, + 857, 20151, 15673, 9375, 11756, + 857, 20151, 15673, 9375, 11888, + 857, 20151, 15673, 9375, 12004, + 857, 20151, 15673, 9375, 13546, + 857, 20151, 15673, 9375, 14486, + 857, 20151, 15673, 9375, 14592, + 857, 20151, 15673, 9375, 16248, + 857, 20151, 15673, 9375, 17463, 11476, + 857, 20151, 15673, 9375, 18510, + 857, 20151, 15673, 9375, 18922, + 857, 20151, 15673, 9375, 19215, 11476, + 857, 20151, 15673, 9375, 19407, 11476, + 857, 20151, 15673, 9375, 19408, + 857, 20151, 15673, 9375, 20375, 11476, + 857, 20151, 15673, 9375, 21096, + 857, 20151, 15673, 9951, 19058, + 857, 20151, 15673, 11436, + 857, 20151, 15673, 11437, 18836, + 857, 20151, 15673, 11763, 896, + 857, 20151, 15673, 11889, 13622, + 857, 20151, 15673, 11889, 18836, + 857, 20151, 15673, 13144, + 857, 20151, 15673, 13145, 18836, + 857, 20151, 15673, 13295, 9374, + 857, 20151, 15673, 13295, 18836, + 857, 20151, 15673, 13547, 896, + 857, 20151, 15673, 13623, 13758, + 857, 20151, 15673, 13759, 19058, + 857, 20151, 15673, 14208, + 857, 20151, 15673, 14487, 1830, + 857, 20151, 15673, 14487, 9950, + 857, 20151, 15673, 14487, 13622, + 857, 20151, 15673, 14487, 18836, + 857, 20151, 15673, 14487, 18922, + 857, 20151, 15673, 14487, 19058, + 857, 20151, 15673, 14858, + 857, 20151, 15673, 15623, 9374, + 857, 20151, 15673, 16249, 18836, + 857, 20151, 15673, 16377, 18836, + 857, 20151, 15673, 17463, 10524, + 857, 20151, 15673, 18923, 896, + 857, 20151, 15673, 19215, 10524, + 857, 20151, 15673, 19407, 10524, + 857, 20151, 15673, 19615, 18836, + 857, 20151, 15673, 20375, 10524, + 857, 20151, 15673, 21097, 19058, + 858, + 897, 11692, + 898, + 916, + 929, 15672, + 947, 17123, 17254, + 947, 17254, + 958, + 967, 843, 11476, + 969, 17997, 671, 12277, 843, 6435, 20181, 12562, + 969, 17997, 671, 12277, 843, 7817, 6435, 12562, + 969, 17997, 671, 12277, 843, 7817, 12562, + 969, 17997, 671, 12277, 843, 13341, 6435, 12562, + 969, 17997, 671, 12277, 843, 13341, 12562, + 969, 17997, 671, 12277, 843, 20181, 12562, + 969, 17997, 671, 12563, 843, 6435, 20181, 12276, + 969, 17997, 671, 12563, 843, 7817, 6435, 12276, + 969, 17997, 671, 12563, 843, 7817, 12276, + 969, 17997, 671, 12563, 843, 13341, 6435, 12276, + 969, 17997, 671, 12563, 843, 13341, 12276, + 969, 17997, 671, 12563, 843, 20181, 12276, + 969, 17997, 671, 14625, 843, 7817, 15572, + 969, 17997, 671, 14625, 843, 13341, 15572, + 969, 17997, 671, 14625, 843, 20181, 15572, + 969, 17997, 671, 15573, 843, 7817, 14624, + 969, 17997, 671, 15573, 843, 13341, 14624, + 969, 17997, 671, 15573, 843, 20181, 14624, + 969, 17997, 6435, 12277, 843, 671, 20181, 12562, + 969, 17997, 6435, 12277, 843, 7817, 671, 12562, + 969, 17997, 6435, 12277, 843, 7817, 12562, + 969, 17997, 6435, 12277, 843, 13341, 671, 12562, + 969, 17997, 6435, 12277, 843, 13341, 12562, + 969, 17997, 6435, 12277, 843, 20181, 12562, + 969, 17997, 6435, 12563, 843, 671, 20181, 12276, + 969, 17997, 6435, 12563, 843, 7817, 671, 12276, + 969, 17997, 6435, 12563, 843, 7817, 12276, + 969, 17997, 6435, 12563, 843, 13341, 671, 12276, + 969, 17997, 6435, 12563, 843, 13341, 12276, + 969, 17997, 6435, 12563, 843, 20181, 12276, + 969, 17997, 6435, 14625, 843, 7817, 15572, + 969, 17997, 6435, 14625, 843, 13341, 15572, + 969, 17997, 6435, 14625, 843, 20181, 15572, + 969, 17997, 6435, 15573, 843, 7817, 14624, + 969, 17997, 6435, 15573, 843, 13341, 14624, + 969, 17997, 6435, 15573, 843, 20181, 14624, + 969, 17997, 7817, 671, 12277, 843, 13341, 6435, 12562, + 969, 17997, 7817, 6435, 12277, 843, 13341, 671, 12562, + 969, 17997, 7817, 12277, 843, 13341, 671, 12562, + 969, 17997, 7817, 12277, 843, 13341, 6435, 12562, + 969, 17997, 7817, 12277, 843, 13341, 18847, 12562, + 969, 17997, 7817, 12563, 843, 13341, 671, 12276, + 969, 17997, 7817, 12563, 843, 13341, 6435, 12276, + 969, 17997, 7817, 12563, 843, 13341, 18847, 12276, + 969, 17997, 12277, 670, + 969, 17997, 12277, 671, 843, 7816, + 969, 17997, 12277, 671, 843, 12563, 6434, + 969, 17997, 12277, 671, 843, 13340, + 969, 17997, 12277, 671, 843, 20180, + 969, 17997, 12277, 6434, + 969, 17997, 12277, 6435, 843, 7816, + 969, 17997, 12277, 6435, 843, 13340, + 969, 17997, 12277, 6435, 843, 20180, + 969, 17997, 12277, 7816, + 969, 17997, 12277, 7817, 843, 12563, 13340, + 969, 17997, 12277, 13340, + 969, 17997, 12277, 14625, 6287, 18846, + 969, 17997, 12277, 14625, 6287, 20180, + 969, 17997, 12277, 15781, 6287, 18846, + 969, 17997, 12277, 15781, 6287, 20180, + 969, 17997, 12277, 18846, + 969, 17997, 12277, 18847, 843, 7816, + 969, 17997, 12277, 18847, 843, 13340, + 969, 17997, 12277, 18847, 843, 20180, + 969, 17997, 12277, 19553, 6287, 18846, + 969, 17997, 12277, 19553, 6287, 20180, + 969, 17997, 12277, 20180, + 969, 17997, 12563, 670, + 969, 17997, 12563, 671, 843, 7816, + 969, 17997, 12563, 671, 843, 12277, 6434, + 969, 17997, 12563, 671, 843, 13340, + 969, 17997, 12563, 671, 843, 20180, + 969, 17997, 12563, 859, 671, 843, 7816, + 969, 17997, 12563, 859, 671, 843, 13340, + 969, 17997, 12563, 859, 6435, 843, 7816, + 969, 17997, 12563, 859, 6435, 843, 13340, + 969, 17997, 12563, 6434, + 969, 17997, 12563, 6435, 843, 7816, + 969, 17997, 12563, 6435, 843, 13340, + 969, 17997, 12563, 6435, 843, 20180, + 969, 17997, 12563, 7816, + 969, 17997, 12563, 7817, 843, 12277, 13340, + 969, 17997, 12563, 13340, + 969, 17997, 12563, 14625, 6287, 18846, + 969, 17997, 12563, 14625, 6287, 20180, + 969, 17997, 12563, 15781, 6287, 18846, + 969, 17997, 12563, 15781, 6287, 20180, + 969, 17997, 12563, 17839, 11772, + 969, 17997, 12563, 17839, 13889, 7817, 635, 12589, 13340, + 969, 17997, 12563, 17839, 13889, 13341, 635, 12589, 7816, + 969, 17997, 12563, 18846, + 969, 17997, 12563, 18847, 843, 7816, + 969, 17997, 12563, 18847, 843, 13340, + 969, 17997, 12563, 18847, 843, 20180, + 969, 17997, 12563, 19553, 6287, 18846, + 969, 17997, 12563, 19553, 6287, 20180, + 969, 17997, 12563, 20180, + 969, 17997, 13341, 671, 12277, 843, 7817, 6435, 12562, + 969, 17997, 13341, 6435, 12277, 843, 7817, 671, 12562, + 969, 17997, 13341, 12277, 843, 7817, 671, 12562, + 969, 17997, 13341, 12277, 843, 7817, 6435, 12562, + 969, 17997, 13341, 12277, 843, 7817, 18847, 12562, + 969, 17997, 13341, 12563, 843, 7817, 671, 12276, + 969, 17997, 13341, 12563, 843, 7817, 6435, 12276, + 969, 17997, 13341, 12563, 843, 7817, 18847, 12276, + 969, 17997, 14625, 671, 843, 7816, + 969, 17997, 14625, 671, 843, 13340, + 969, 17997, 14625, 671, 843, 20180, + 969, 17997, 14625, 6435, 843, 7816, + 969, 17997, 14625, 6435, 843, 13340, + 969, 17997, 14625, 6435, 843, 20180, + 969, 17997, 14625, 18846, + 969, 17997, 14625, 18847, 843, 7816, + 969, 17997, 14625, 18847, 843, 13340, + 969, 17997, 14625, 18847, 843, 20180, + 969, 17997, 14625, 20180, + 969, 17997, 18847, 12277, 843, 7817, 12562, + 969, 17997, 18847, 12277, 843, 13341, 12562, + 969, 17997, 18847, 12277, 843, 20181, 12562, + 969, 17997, 18847, 12563, 843, 7817, 12276, + 969, 17997, 18847, 12563, 843, 13341, 12276, + 969, 17997, 18847, 12563, 843, 20181, 12276, + 969, 17997, 18847, 14625, 843, 7817, 15572, + 969, 17997, 18847, 14625, 843, 13341, 15572, + 969, 17997, 18847, 14625, 843, 20181, 15572, + 969, 17997, 18847, 15573, 843, 7817, 14624, + 969, 17997, 18847, 15573, 843, 13341, 14624, + 969, 17997, 18847, 15573, 843, 20181, 14624, + 970, + 976, + 984, + 985, 9956, + 1017, 17238, + 1018, + 1019, 6718, + 1019, 6719, 10641, 3571, 13568, + 1019, 6719, 10641, 13693, 485, 1834, + 1042, + 1049, 2914, + 1073, 15643, 6, + 1073, 15643, 14, + 1073, 15643, 26, + 1073, 15643, 30, + 1073, 15643, 32, + 1073, 15643, 36, + 1073, 15643, 38, + 1073, 15643, 272, + 1073, 15643, 284, + 1073, 15643, 290, + 1073, 15643, 526, + 1073, 15643, 532, + 1073, 15643, 554, + 1073, 15643, 594, + 1073, 15643, 604, + 1073, 15643, 610, + 1073, 15643, 616, + 1073, 15643, 620, + 1073, 15643, 632, + 1073, 15643, 702, + 1073, 15643, 722, + 1073, 15643, 996, + 1073, 15643, 1722, + 1073, 15643, 1724, + 1073, 15643, 1726, + 1073, 15643, 1728, + 1073, 15643, 3154, + 1073, 15643, 3160, + 1073, 15643, 3182, + 1073, 15643, 7312, + 1073, 15643, 7364, + 1073, 15643, 7366, + 1073, 15643, 7368, + 1073, 15643, 7370, + 1073, 15643, 10000, + 1073, 15643, 12354, + 1073, 17091, 968, + 1073, 17091, 1084, + 1073, 17091, 1206, + 1073, 17091, 1267, 2610, + 1073, 17091, 1267, 3356, + 1073, 17091, 1267, 13736, + 1073, 17091, 1332, + 1073, 17091, 1336, + 1073, 17091, 2439, 2610, + 1073, 17091, 2439, 3356, + 1073, 17091, 2439, 6778, + 1073, 17091, 2439, 13736, + 1073, 17091, 2606, + 1073, 17091, 2655, 2610, + 1073, 17091, 2655, 3356, + 1073, 17091, 2878, + 1073, 17091, 2882, + 1073, 17091, 3136, + 1073, 17091, 5844, + 1073, 17091, 5855, 485, 11746, + 1073, 17091, 5858, + 1073, 17091, 6082, + 1073, 17091, 6746, + 1073, 17091, 6772, + 1073, 17091, 7126, + 1073, 17091, 7138, + 1073, 17091, 7304, + 1073, 17091, 7458, + 1073, 17091, 7793, 2610, + 1073, 17091, 7793, 3356, + 1073, 17091, 7793, 6778, + 1073, 17091, 7793, 13736, + 1073, 17091, 7883, 2610, + 1073, 17091, 7883, 3356, + 1073, 17091, 8352, + 1073, 17091, 8368, + 1073, 17091, 8460, + 1073, 17091, 9466, + 1073, 17091, 9712, + 1073, 17091, 9860, + 1073, 17091, 10617, 2610, + 1073, 17091, 10617, 3356, + 1073, 17091, 10629, 2610, + 1073, 17091, 10629, 3356, + 1073, 17091, 11605, 2610, + 1073, 17091, 11605, 3356, + 1073, 17091, 11716, + 1073, 17091, 11740, + 1073, 17091, 11884, + 1073, 17091, 12200, + 1073, 17091, 12231, 2610, + 1073, 17091, 12231, 3356, + 1073, 17091, 12231, 13736, + 1073, 17091, 12275, 2610, + 1073, 17091, 12275, 3356, + 1073, 17091, 12485, 2610, + 1073, 17091, 12485, 3356, + 1073, 17091, 12759, 2610, + 1073, 17091, 12759, 3356, + 1073, 17091, 13476, + 1073, 17091, 13563, 2610, + 1073, 17091, 13563, 3356, + 1073, 17091, 13572, + 1073, 17091, 13575, 2610, + 1073, 17091, 13575, 3356, + 1073, 17091, 13682, + 1073, 17091, 13754, + 1073, 17091, 14033, 2610, + 1073, 17091, 14033, 3356, + 1073, 17091, 14346, + 1073, 17091, 15136, + 1073, 17091, 15140, + 1073, 17091, 15320, + 1073, 17091, 15434, + 1073, 17091, 15507, 2610, + 1073, 17091, 15507, 3356, + 1073, 17091, 15507, 13736, + 1073, 17091, 15607, 2610, + 1073, 17091, 15607, 3356, + 1073, 17091, 15740, + 1073, 17091, 15812, + 1073, 17091, 16164, + 1073, 17091, 17758, + 1073, 17091, 19984, + 1073, 17091, 20407, 7123, 10229, 13818, + 1073, 17091, 20407, 7304, + 1073, 17091, 20407, 10616, + 1073, 17091, 20407, 14044, + 1073, 17091, 20407, 15920, + 1073, 17091, 21029, 1266, + 1073, 17091, 21029, 1384, + 1073, 17091, 21029, 3036, + 1073, 17091, 21029, 5834, + 1073, 17091, 21029, 5978, + 1073, 17091, 21029, 6602, + 1073, 17091, 21029, 6750, + 1073, 17091, 21029, 6782, + 1073, 17091, 21029, 6930, + 1073, 17091, 21029, 7048, + 1073, 17091, 21029, 7812, + 1073, 17091, 21029, 7882, + 1073, 17091, 21029, 9694, + 1073, 17091, 21029, 9860, + 1073, 17091, 21029, 10634, + 1073, 17091, 21029, 12330, + 1073, 17091, 21029, 13482, + 1073, 17091, 21029, 13794, + 1073, 17091, 21029, 14626, + 1073, 17091, 21029, 15600, + 1073, 17091, 21029, 15693, 16708, + 1073, 17091, 21029, 15812, + 1073, 17091, 21127, 6602, + 1073, 17091, 21127, 13794, + 1073, 17091, 21127, 14626, + 1073, 17091, 21127, 15812, + 1073, 21295, 23086, + 1073, 21295, 23088, + 1073, 21295, 23090, + 1073, 21295, 23092, + 1073, 21295, 23094, + 1084, + 1085, 6718, + 1093, 497, 11571, 15620, + 1177, 14662, + 1177, 14664, + 1177, 14666, + 1177, 14668, + 1177, 14670, + 1177, 14672, + 1206, + 1207, 6718, + 1217, 9286, + 1217, 11392, + 1217, 12740, + 1217, 18386, + 1244, + 1264, + 1265, 485, 9496, + 1265, 485, 12652, + 1278, + 1299, 485, 13264, + 1299, 10641, 19407, 11477, 11392, + 1336, + 1361, 7414, + 1361, 16740, + 1386, + 1397, 834, + 1399, 6718, + 1400, + 1471, 13628, + 1685, 1206, + 1685, 15314, + 1685, 17272, + 1685, 17674, + 1741, 11768, + 1741, 13540, + 1741, 14847, 13621, 843, 9304, + 1754, + 1912, + 1939, 9854, + 2081, 283, 436, + 2081, 283, 468, + 2081, 367, 384, + 2081, 10219, 2241, 196, + 2081, 10219, 2241, 630, + 2081, 10219, 2241, 3248, + 2081, 10219, 2241, 14446, + 2081, 11905, 2610, + 2081, 11905, 3076, + 2081, 11905, 3356, + 2081, 11905, 6756, + 2081, 11905, 6778, + 2081, 11905, 8780, + 2081, 11905, 10900, + 2081, 11905, 11978, + 2081, 11905, 13450, + 2081, 11905, 13736, + 2081, 14003, 9855, 0, + 2081, 14003, 9855, 8, + 2081, 14003, 9855, 16, + 2081, 14003, 9855, 28, + 2081, 14003, 9855, 40, + 2081, 14003, 9855, 48, + 2081, 14003, 9855, 58, + 2081, 14003, 9855, 72, + 2081, 14003, 9855, 78, + 2081, 14003, 9855, 102, + 2081, 14003, 9855, 192, + 2081, 14003, 9855, 308, + 2081, 14003, 9855, 676, + 2081, 14003, 9855, 750, + 2081, 14003, 9855, 2241, 1878, + 2081, 14003, 9855, 2241, 1974, + 2081, 14999, 28, + 2081, 14999, 116, + 2081, 14999, 140, + 2081, 14999, 166, + 2081, 14999, 237, 1362, + 2081, 14999, 237, 1390, + 2081, 14999, 237, 3200, + 2081, 14999, 237, 9974, + 2081, 14999, 283, 3200, + 2081, 14999, 283, 9974, + 2081, 14999, 366, + 2081, 14999, 402, + 2081, 14999, 403, 7856, + 2081, 14999, 403, 7890, + 2081, 14999, 436, + 2081, 14999, 468, + 2081, 14999, 540, + 2081, 14999, 580, + 2081, 14999, 603, 3200, + 2081, 14999, 603, 9974, + 2081, 14999, 634, + 2081, 14999, 710, + 2081, 14999, 742, + 2081, 14999, 1921, 3200, + 2081, 14999, 1921, 9974, + 2081, 14999, 2452, + 2081, 14999, 2564, + 2081, 14999, 2683, 3200, + 2081, 14999, 2683, 9974, + 2081, 14999, 3249, 3200, + 2081, 14999, 3249, 9974, + 2081, 14999, 7655, 258, + 2081, 14999, 7655, 2564, + 2081, 18016, + 2081, 19468, + 2081, 19617, 9855, 402, + 2081, 19617, 9855, 2564, + 2081, 21033, 8320, + 2112, + 2175, 7854, + 2175, 14625, 13261, 19557, 8320, + 2175, 17642, + 2175, 19913, 15672, + 2178, + 2180, + 2182, + 2184, + 2242, + 2243, 317, 15814, + 2243, 317, 17707, 9971, 20218, + 2243, 843, 14065, 16497, 12262, + 2243, 10641, 1541, 537, 2244, + 2243, 10641, 15804, + 2243, 16220, + 2247, 15673, 1397, 20220, + 2341, 11854, + 2341, 11905, 2610, + 2341, 11905, 3076, + 2341, 11905, 3356, + 2341, 11905, 6756, + 2341, 11905, 6778, + 2341, 11905, 8780, + 2341, 11905, 10900, + 2341, 11905, 11978, + 2341, 11905, 13450, + 2341, 11905, 13736, + 2341, 14625, 11854, + 2341, 14999, 0, + 2341, 14999, 8, + 2341, 14999, 28, + 2341, 14999, 106, + 2341, 14999, 148, + 2341, 14999, 176, + 2341, 14999, 366, + 2341, 14999, 384, + 2341, 14999, 492, + 2341, 14999, 498, + 2341, 14999, 522, + 2341, 14999, 578, + 2341, 14999, 580, + 2341, 14999, 622, + 2341, 14999, 694, + 2341, 14999, 742, + 2341, 14999, 1052, + 2341, 14999, 1126, + 2341, 14999, 1584, + 2341, 14999, 1592, + 2341, 14999, 2078, + 2341, 14999, 2312, + 2341, 14999, 2450, + 2341, 14999, 2470, + 2341, 14999, 2680, + 2341, 14999, 3052, + 2341, 14999, 3230, + 2341, 14999, 7636, + 2341, 14999, 8312, + 2341, 14999, 10148, + 2341, 14999, 12446, + 2364, + 2441, 3197, 2193, 9855, 2068, + 2441, 3197, 2193, 9855, 7784, + 2441, 3197, 2193, 10143, 11905, 2610, + 2441, 3197, 2193, 10219, 15066, + 2441, 3197, 2193, 10219, 15068, + 2441, 3197, 2193, 11905, 2610, + 2441, 3197, 2193, 11905, 3076, + 2441, 3197, 2193, 11905, 3356, + 2441, 3197, 2193, 11905, 6756, + 2441, 3197, 2193, 11905, 6778, + 2441, 3197, 2193, 11905, 8780, + 2441, 3197, 2193, 11905, 10900, + 2441, 3197, 2193, 11905, 11978, + 2441, 3197, 2193, 11905, 13450, + 2441, 3197, 2193, 11905, 13736, + 2441, 3197, 2193, 14003, 9855, 8, + 2441, 3197, 2193, 14003, 9855, 28, + 2441, 3197, 2193, 14003, 9855, 40, + 2441, 3197, 2193, 14003, 9855, 58, + 2441, 3197, 2193, 14003, 9855, 66, + 2441, 3197, 2193, 14003, 9855, 102, + 2441, 3197, 2193, 14003, 9855, 308, + 2441, 3197, 2193, 14003, 9855, 334, + 2441, 3197, 2193, 14003, 9855, 478, + 2441, 3197, 2193, 14003, 9855, 518, + 2441, 3197, 2193, 14003, 9855, 656, + 2441, 3197, 2193, 14003, 9855, 676, + 2441, 3197, 2193, 14003, 9855, 678, + 2441, 3197, 2193, 14003, 9855, 788, + 2441, 3197, 2193, 14003, 9855, 2586, + 2441, 3197, 2193, 14003, 9855, 3390, + 2441, 3197, 2193, 14003, 9855, 14003, 19632, + 2441, 3197, 2193, 14999, 2175, 106, + 2441, 3197, 2193, 14999, 2175, 148, + 2441, 3197, 2193, 14999, 2175, 224, + 2441, 3197, 2193, 14999, 2175, 266, + 2441, 3197, 2193, 14999, 2175, 350, + 2441, 3197, 2193, 14999, 2175, 384, + 2441, 3197, 2193, 14999, 2175, 416, + 2441, 3197, 2193, 14999, 2175, 448, + 2441, 3197, 2193, 14999, 2175, 522, + 2441, 3197, 2193, 14999, 2175, 556, + 2441, 3197, 2193, 14999, 2175, 588, + 2441, 3197, 2193, 14999, 2175, 622, + 2441, 3197, 2193, 14999, 2175, 680, + 2441, 3197, 2193, 14999, 2175, 718, + 2441, 3197, 2193, 14999, 2175, 734, + 2441, 3197, 2193, 14999, 2175, 2030, + 2441, 3197, 2193, 14999, 2175, 2444, + 2441, 3197, 2193, 14999, 2175, 2676, + 2441, 3197, 2193, 14999, 2175, 3128, + 2441, 3197, 2193, 14999, 2175, 3242, + 2441, 3197, 2193, 14999, 2175, 3308, + 2441, 3197, 2193, 14999, 2175, 3620, + 2441, 3197, 2193, 14999, 7171, 106, + 2441, 3197, 2193, 14999, 7171, 148, + 2441, 3197, 2193, 14999, 7171, 224, + 2441, 3197, 2193, 14999, 7171, 266, + 2441, 3197, 2193, 14999, 7171, 350, + 2441, 3197, 2193, 14999, 7171, 384, + 2441, 3197, 2193, 14999, 7171, 416, + 2441, 3197, 2193, 14999, 7171, 448, + 2441, 3197, 2193, 14999, 7171, 522, + 2441, 3197, 2193, 14999, 7171, 556, + 2441, 3197, 2193, 14999, 7171, 588, + 2441, 3197, 2193, 14999, 7171, 622, + 2441, 3197, 2193, 14999, 7171, 680, + 2441, 3197, 2193, 14999, 7171, 718, + 2441, 3197, 2193, 14999, 7171, 734, + 2441, 3197, 2193, 14999, 7171, 2030, + 2441, 3197, 2193, 14999, 7171, 2444, + 2441, 3197, 2193, 14999, 7171, 2676, + 2441, 3197, 2193, 14999, 7171, 3128, + 2441, 3197, 2193, 14999, 7171, 3242, + 2441, 3197, 2193, 14999, 7171, 3308, + 2441, 3197, 2193, 14999, 7171, 3620, + 2441, 3197, 2193, 14999, 12085, 2, + 2441, 3197, 2193, 14999, 12085, 6, + 2441, 3197, 2193, 14999, 12085, 20, + 2441, 3197, 2193, 14999, 12085, 24, + 2441, 3197, 2193, 14999, 12085, 26, + 2441, 3197, 2193, 14999, 12085, 42, + 2441, 3197, 2193, 14999, 12085, 456, + 2441, 8461, 10641, 6718, + 2441, 8461, 15672, + 2441, 15537, 9854, + 2491, 2175, 10219, 19880, + 2491, 7171, 10219, 19880, + 2491, 11762, + 2491, 11905, 2610, + 2491, 11905, 3076, + 2491, 11905, 3356, + 2491, 11905, 6756, + 2491, 11905, 6778, + 2491, 11905, 8780, + 2491, 11905, 10900, + 2491, 11905, 11978, + 2491, 11905, 13450, + 2491, 11905, 13736, + 2491, 14999, 0, + 2491, 14999, 8, + 2491, 14999, 16, + 2491, 14999, 26, + 2491, 14999, 28, + 2491, 14999, 40, + 2491, 14999, 106, + 2491, 14999, 148, + 2491, 14999, 184, + 2491, 14999, 224, + 2491, 14999, 266, + 2491, 14999, 336, + 2491, 14999, 350, + 2491, 14999, 384, + 2491, 14999, 416, + 2491, 14999, 448, + 2491, 14999, 449, 15902, + 2491, 14999, 498, + 2491, 14999, 522, + 2491, 14999, 572, + 2491, 14999, 588, + 2491, 14999, 622, + 2491, 14999, 694, + 2491, 14999, 734, + 2491, 14999, 1044, + 2491, 14999, 1458, + 2491, 14999, 2556, + 2491, 14999, 2557, 15902, + 2491, 14999, 2956, + 2491, 14999, 7521, 336, + 2491, 14999, 7521, 572, + 2491, 14999, 7521, 1044, + 2491, 14999, 19958, + 2491, 15673, 499, 14564, + 2491, 15673, 20152, + 2491, 19003, 7883, 2175, 10218, + 2491, 19003, 7883, 7171, 10218, + 2491, 19003, 7883, 15451, 10218, + 2491, 19003, 7883, 19969, 10218, + 2491, 19003, 13507, 2175, 10218, + 2491, 19003, 13507, 7171, 10218, + 2491, 19003, 13507, 15451, 10218, + 2491, 19003, 14625, 1217, 11392, + 2491, 19003, 21157, 8320, + 2491, 20212, + 2491, 20685, 8320, + 2508, + 2511, 1, 15651, 484, + 2511, 1, 18689, 484, + 2511, 81, 16365, 484, + 2511, 9854, + 2511, 10232, + 2511, 11695, 8320, + 2511, 12005, 634, + 2511, 13758, + 2511, 14281, 12005, 634, + 2511, 15211, 18683, 484, + 2511, 15211, 18683, 485, 505, 12005, 634, + 2511, 15621, 12383, 485, 505, 12005, 634, + 2511, 15621, 18391, 485, 505, 12005, 634, + 2511, 18431, 634, + 2511, 19339, 634, + 2511, 19408, + 2511, 20127, 634, + 2511, 21096, + 2511, 22971, 12005, 634, + 2545, 843, 5854, + 2589, 967, 3256, + 2589, 5811, 14416, + 2589, 6286, + 2589, 6774, + 2589, 7292, + 2589, 11688, + 2589, 14283, 485, 11694, + 2589, 14403, 5739, 22986, + 2589, 14625, 18922, + 2589, 17805, 15959, 15232, + 2589, 18183, 6774, + 2601, 9854, + 2603, 6440, + 2607, 1912, + 2607, 12973, 15999, 14999, 826, + 2607, 12973, 15999, 14999, 920, + 2607, 12973, 15999, 14999, 1120, + 2607, 12973, 15999, 14999, 1128, + 2607, 12973, 15999, 14999, 1366, + 2607, 12973, 15999, 14999, 1582, + 2607, 12973, 15999, 14999, 1608, + 2607, 12973, 15999, 14999, 1866, + 2607, 12973, 15999, 14999, 2076, + 2607, 12973, 15999, 14999, 2764, + 2607, 12973, 15999, 14999, 2900, + 2607, 12973, 15999, 14999, 3010, + 2607, 12973, 15999, 14999, 3194, + 2607, 12973, 15999, 14999, 3228, + 2607, 12973, 15999, 14999, 3532, + 2607, 12973, 15999, 14999, 3696, + 2607, 12973, 15999, 14999, 3790, + 2607, 12973, 15999, 14999, 5246, + 2607, 12973, 15999, 14999, 6584, + 2607, 12973, 15999, 14999, 6586, + 2607, 12973, 15999, 14999, 6588, + 2607, 12973, 15999, 14999, 6958, + 2607, 12973, 15999, 14999, 7634, + 2607, 12973, 15999, 14999, 8356, + 2607, 12973, 15999, 14999, 8848, + 2607, 12973, 15999, 14999, 10140, + 2607, 12973, 15999, 14999, 10152, + 2607, 12973, 15999, 14999, 10890, + 2607, 12973, 15999, 14999, 12190, + 2607, 12973, 15999, 15233, 2610, + 2607, 12973, 15999, 15233, 3232, + 2607, 12973, 15999, 15233, 15820, + 2607, 13581, 15999, 14999, 226, + 2607, 13581, 15999, 14999, 270, + 2607, 13581, 15999, 14999, 878, + 2607, 13581, 15999, 14999, 2280, + 2607, 13581, 15999, 14999, 2536, + 2607, 13581, 15999, 14999, 3028, + 2607, 13581, 15999, 14999, 3220, + 2607, 13581, 15999, 14999, 3532, + 2607, 13581, 15999, 14999, 5246, + 2607, 13581, 15999, 14999, 5818, + 2607, 13581, 15999, 14999, 7156, + 2607, 13581, 15999, 14999, 7596, + 2607, 13581, 15999, 14999, 9372, + 2607, 13581, 15999, 14999, 9486, + 2607, 13581, 15999, 14999, 9776, + 2607, 13581, 15999, 14999, 10126, + 2607, 13581, 15999, 14999, 10146, + 2607, 13581, 15999, 14999, 10810, + 2607, 13581, 15999, 14999, 10898, + 2607, 13581, 15999, 14999, 12192, + 2607, 13581, 15999, 14999, 12204, + 2607, 13581, 15999, 14999, 12470, + 2607, 13581, 15999, 14999, 13400, + 2607, 13581, 15999, 14999, 13720, + 2607, 13581, 15999, 14999, 14546, + 2607, 13581, 15999, 14999, 14576, + 2607, 13581, 15999, 14999, 14978, + 2607, 13581, 15999, 14999, 15474, + 2607, 13581, 15999, 14999, 16244, + 2607, 13581, 15999, 15233, 2610, + 2607, 13581, 15999, 15233, 12080, + 2607, 13581, 15999, 16901, 19352, + 2607, 14883, 14999, 0, + 2607, 14883, 14999, 8, + 2607, 14883, 14999, 16, + 2607, 14883, 14999, 28, + 2607, 14883, 14999, 40, + 2607, 14883, 14999, 110, + 2607, 14883, 14999, 154, + 2607, 14883, 14999, 186, + 2607, 14883, 14999, 198, + 2607, 14883, 14999, 200, + 2607, 14883, 14999, 202, + 2607, 14883, 14999, 208, + 2607, 14883, 14999, 210, + 2607, 14883, 14999, 270, + 2607, 14883, 14999, 308, + 2607, 14883, 14999, 350, + 2607, 14883, 14999, 354, + 2607, 14883, 14999, 370, + 2607, 14883, 14999, 528, + 2607, 14883, 14999, 626, + 2607, 14883, 14999, 676, + 2607, 14883, 14999, 682, + 2607, 14883, 14999, 754, + 2607, 14883, 14999, 1046, + 2607, 14883, 14999, 1288, + 2607, 14883, 14999, 1316, + 2607, 14883, 14999, 1318, + 2607, 14883, 14999, 1322, + 2607, 14883, 14999, 1916, + 2607, 14883, 14999, 2678, + 2607, 14883, 14999, 3050, + 2607, 14883, 14999, 3244, + 2607, 14883, 16899, 2610, + 2607, 14883, 16899, 3232, + 2607, 14883, 16899, 6756, + 2607, 14883, 16899, 12080, + 2607, 15317, 14999, 8, + 2607, 15317, 14999, 16, + 2607, 15317, 14999, 28, + 2607, 15317, 14999, 40, + 2607, 15317, 14999, 80, + 2607, 15317, 14999, 186, + 2607, 15317, 14999, 266, + 2607, 15317, 14999, 292, + 2607, 15317, 14999, 300, + 2607, 15317, 14999, 498, + 2607, 15317, 14999, 734, + 2607, 15317, 14999, 746, + 2607, 15317, 14999, 982, + 2607, 15317, 14999, 1208, + 2607, 15317, 14999, 1440, + 2607, 15317, 14999, 2108, + 2607, 15317, 14999, 2902, + 2607, 15317, 14999, 3068, + 2607, 15317, 14999, 3196, + 2607, 15317, 14999, 3462, + 2607, 15317, 14999, 3680, + 2607, 15317, 14999, 3702, + 2607, 15317, 14999, 3740, + 2607, 15317, 14999, 7684, + 2607, 15317, 14999, 9224, + 2607, 15317, 14999, 10244, + 2607, 15317, 14999, 10556, + 2607, 15317, 14999, 10778, + 2607, 15317, 14999, 10780, + 2607, 15317, 14999, 10896, + 2607, 15317, 14999, 10924, + 2607, 15317, 14999, 11700, + 2607, 15317, 14999, 11942, + 2607, 15317, 14999, 11944, + 2607, 15317, 14999, 12696, + 2607, 15317, 14999, 12838, + 2607, 15317, 14999, 13502, + 2607, 15317, 14999, 17208, + 2607, 15809, 14999, 15269, 0, + 2607, 15809, 14999, 15269, 16, + 2607, 15809, 14999, 15269, 28, + 2607, 15809, 14999, 15269, 60, + 2607, 15809, 14999, 15269, 64, + 2607, 15809, 14999, 15269, 68, + 2607, 15809, 14999, 15269, 76, + 2607, 15809, 14999, 15269, 80, + 2607, 15809, 14999, 15269, 86, + 2607, 15809, 14999, 15269, 88, + 2607, 15809, 14999, 15269, 90, + 2607, 15809, 14999, 15269, 92, + 2607, 15809, 14999, 15269, 102, + 2607, 15809, 14999, 15269, 180, + 2607, 15809, 14999, 15269, 200, + 2607, 15809, 14999, 15269, 206, + 2607, 15809, 14999, 15269, 222, + 2607, 15809, 14999, 15269, 296, + 2607, 15809, 14999, 15269, 322, + 2607, 15809, 14999, 15269, 482, + 2607, 15809, 14999, 15269, 500, + 2607, 15809, 14999, 15269, 502, + 2607, 15809, 14999, 15269, 508, + 2607, 15809, 14999, 15269, 800, + 2607, 15809, 14999, 15269, 802, + 2607, 15809, 14999, 15269, 806, + 2607, 15809, 14999, 15269, 808, + 2607, 15809, 14999, 15269, 810, + 2607, 15809, 14999, 15269, 812, + 2607, 15809, 14999, 15269, 814, + 2607, 15809, 14999, 15269, 816, + 2607, 15809, 14999, 15269, 818, + 2607, 15809, 14999, 15269, 820, + 2607, 15809, 14999, 15269, 864, + 2607, 15809, 14999, 15269, 1290, + 2607, 15809, 14999, 15269, 1296, + 2607, 15809, 14999, 15269, 1300, + 2607, 15809, 14999, 15269, 1304, + 2607, 15809, 14999, 15269, 1306, + 2607, 15809, 14999, 15269, 1318, + 2607, 15809, 14999, 15269, 2594, + 2607, 15809, 14999, 15269, 5746, + 2607, 15809, 14999, 17535, 0, + 2607, 15809, 14999, 17535, 8, + 2607, 15809, 14999, 17535, 16, + 2607, 15809, 14999, 17535, 60, + 2607, 15809, 14999, 17535, 64, + 2607, 15809, 14999, 17535, 66, + 2607, 15809, 14999, 17535, 68, + 2607, 15809, 14999, 17535, 76, + 2607, 15809, 14999, 17535, 86, + 2607, 15809, 14999, 17535, 88, + 2607, 15809, 14999, 17535, 92, + 2607, 15809, 14999, 17535, 102, + 2607, 15809, 14999, 17535, 180, + 2607, 15809, 14999, 17535, 222, + 2607, 15809, 14999, 17535, 322, + 2607, 15809, 14999, 17535, 482, + 2607, 15809, 14999, 17535, 502, + 2607, 15809, 14999, 17535, 800, + 2607, 15809, 14999, 17535, 806, + 2607, 15809, 14999, 17535, 808, + 2607, 15809, 14999, 17535, 812, + 2607, 15809, 14999, 17535, 818, + 2607, 15809, 14999, 17535, 820, + 2607, 15809, 14999, 17535, 844, + 2607, 15809, 14999, 17535, 864, + 2607, 15809, 14999, 17535, 1296, + 2607, 15809, 14999, 17535, 1304, + 2607, 15809, 14999, 17535, 1306, + 2607, 15809, 14999, 17535, 1318, + 2607, 15809, 14999, 17535, 2594, + 2607, 15809, 14999, 17535, 5224, + 2607, 17007, 9855, 0, + 2607, 17007, 9855, 16, + 2607, 17007, 9855, 40, + 2607, 17007, 9855, 106, + 2607, 17007, 9855, 124, + 2607, 17007, 9855, 148, + 2607, 17007, 9855, 158, + 2607, 17007, 9855, 168, + 2607, 17007, 9855, 224, + 2607, 17007, 9855, 244, + 2607, 17007, 9855, 260, + 2607, 17007, 9855, 266, + 2607, 17007, 9855, 336, + 2607, 17007, 9855, 340, + 2607, 17007, 9855, 350, + 2607, 17007, 9855, 370, + 2607, 17007, 9855, 384, + 2607, 17007, 9855, 416, + 2607, 17007, 9855, 430, + 2607, 17007, 9855, 440, + 2607, 17007, 9855, 448, + 2607, 17007, 9855, 472, + 2607, 17007, 9855, 522, + 2607, 17007, 9855, 572, + 2607, 17007, 9855, 584, + 2607, 17007, 9855, 588, + 2607, 17007, 9855, 622, + 2607, 17007, 9855, 642, + 2607, 17007, 9855, 680, + 2607, 17007, 9855, 684, + 2607, 17007, 9855, 718, + 2607, 17007, 9855, 734, + 2607, 17007, 9855, 752, + 2607, 17007, 9855, 3048, + 2607, 17007, 9855, 3114, + 2607, 17007, 9855, 3242, + 2607, 17007, 9855, 5724, + 2607, 17007, 9855, 16102, + 2607, 17007, 9855, 19038, + 2607, 17007, 9855, 19900, + 2607, 17007, 9855, 20588, + 2607, 17007, 9855, 21016, + 2607, 17007, 9855, 21018, + 2607, 17007, 9855, 21270, + 2607, 17007, 10651, 16270, + 2607, 17007, 15233, 2610, + 2607, 17007, 15233, 3232, + 2607, 17007, 15233, 3356, + 2607, 17007, 15233, 15820, + 2607, 17007, 15233, 16502, + 2607, 18451, 17772, + 2607, 19335, 13563, 14999, 0, + 2607, 19335, 13563, 14999, 8, + 2607, 19335, 13563, 14999, 16, + 2607, 19335, 13563, 14999, 28, + 2607, 19335, 13563, 14999, 40, + 2607, 19335, 13563, 14999, 58, + 2607, 19335, 13563, 14999, 74, + 2607, 19335, 13563, 14999, 178, + 2607, 19335, 13563, 14999, 180, + 2607, 19335, 13563, 14999, 182, + 2607, 19335, 13563, 14999, 184, + 2607, 19335, 13563, 14999, 186, + 2607, 19335, 13563, 14999, 188, + 2607, 19335, 13563, 14999, 190, + 2607, 19335, 13563, 14999, 194, + 2607, 19335, 13563, 14999, 196, + 2607, 19335, 13563, 14999, 198, + 2607, 19335, 13563, 14999, 200, + 2607, 19335, 13563, 14999, 202, + 2607, 19335, 13563, 14999, 206, + 2607, 19335, 13563, 14999, 208, + 2607, 19335, 13563, 14999, 210, + 2607, 19335, 13563, 14999, 212, + 2607, 19335, 13563, 14999, 216, + 2607, 19335, 13563, 14999, 222, + 2607, 19335, 13563, 14999, 308, + 2607, 19335, 13563, 14999, 498, + 2607, 19335, 13563, 14999, 674, + 2607, 19335, 13563, 14999, 676, + 2607, 19335, 13563, 14999, 840, + 2607, 19335, 13563, 14999, 842, + 2607, 19335, 13563, 14999, 1268, + 2607, 19335, 13563, 14999, 1270, + 2607, 19335, 13563, 14999, 1280, + 2607, 19335, 13563, 14999, 1292, + 2607, 19335, 13563, 14999, 1294, + 2607, 19335, 13563, 14999, 1296, + 2607, 19335, 13563, 14999, 1304, + 2607, 19335, 13563, 14999, 1306, + 2607, 19335, 13563, 14999, 1324, + 2607, 19335, 13563, 14999, 1330, + 2607, 19335, 13563, 14999, 1342, + 2607, 19335, 13563, 14999, 2592, + 2607, 19335, 13563, 14999, 3402, + 2607, 19335, 13563, 14999, 11745, 8, + 2607, 19335, 13563, 14999, 13507, 208, + 2607, 19335, 13563, 14999, 19597, 482, + 2607, 19335, 13563, 14999, 19597, 656, + 2607, 19335, 13563, 14999, 20115, 9854, + 2607, 19335, 13563, 14999, 20283, 482, + 2607, 19335, 13563, 14999, 20283, 656, + 2607, 19335, 15233, 2610, + 2607, 19335, 15233, 2611, 16502, + 2607, 19335, 15233, 2611, 18744, + 2607, 19335, 15233, 3232, + 2607, 19335, 15233, 6756, + 2607, 19335, 15233, 12080, + 2607, 19335, 16111, 14999, 0, + 2607, 19335, 16111, 14999, 8, + 2607, 19335, 16111, 14999, 16, + 2607, 19335, 16111, 14999, 28, + 2607, 19335, 16111, 14999, 40, + 2607, 19335, 16111, 14999, 58, + 2607, 19335, 16111, 14999, 74, + 2607, 19335, 16111, 14999, 178, + 2607, 19335, 16111, 14999, 180, + 2607, 19335, 16111, 14999, 182, + 2607, 19335, 16111, 14999, 184, + 2607, 19335, 16111, 14999, 186, + 2607, 19335, 16111, 14999, 188, + 2607, 19335, 16111, 14999, 190, + 2607, 19335, 16111, 14999, 194, + 2607, 19335, 16111, 14999, 196, + 2607, 19335, 16111, 14999, 198, + 2607, 19335, 16111, 14999, 200, + 2607, 19335, 16111, 14999, 202, + 2607, 19335, 16111, 14999, 206, + 2607, 19335, 16111, 14999, 208, + 2607, 19335, 16111, 14999, 210, + 2607, 19335, 16111, 14999, 212, + 2607, 19335, 16111, 14999, 216, + 2607, 19335, 16111, 14999, 222, + 2607, 19335, 16111, 14999, 308, + 2607, 19335, 16111, 14999, 498, + 2607, 19335, 16111, 14999, 674, + 2607, 19335, 16111, 14999, 676, + 2607, 19335, 16111, 14999, 840, + 2607, 19335, 16111, 14999, 842, + 2607, 19335, 16111, 14999, 1268, + 2607, 19335, 16111, 14999, 1270, + 2607, 19335, 16111, 14999, 1280, + 2607, 19335, 16111, 14999, 1292, + 2607, 19335, 16111, 14999, 1294, + 2607, 19335, 16111, 14999, 1296, + 2607, 19335, 16111, 14999, 1304, + 2607, 19335, 16111, 14999, 1306, + 2607, 19335, 16111, 14999, 1324, + 2607, 19335, 16111, 14999, 1330, + 2607, 19335, 16111, 14999, 1342, + 2607, 19335, 16111, 14999, 2592, + 2607, 19335, 16111, 14999, 3402, + 2607, 19335, 16111, 14999, 11745, 8, + 2607, 19335, 16111, 14999, 13507, 208, + 2607, 19335, 16111, 14999, 19597, 482, + 2607, 19335, 16111, 14999, 19597, 656, + 2607, 19335, 16111, 14999, 20115, 9854, + 2607, 19335, 16111, 14999, 20283, 482, + 2607, 19335, 16111, 14999, 20283, 656, + 2611, 1217, 9175, 3357, 6431, 20876, + 2611, 1217, 14984, + 2611, 14421, 12762, + 2634, + 2653, 1065, 1601, 14999, 0, + 2653, 1065, 1601, 14999, 8, + 2653, 1065, 1601, 14999, 16, + 2653, 1065, 1601, 14999, 28, + 2653, 1065, 1601, 14999, 40, + 2653, 1065, 1601, 14999, 106, + 2653, 1065, 1601, 14999, 124, + 2653, 1065, 1601, 14999, 148, + 2653, 1065, 1601, 14999, 224, + 2653, 1065, 1601, 14999, 244, + 2653, 1065, 1601, 14999, 266, + 2653, 1065, 1601, 14999, 292, + 2653, 1065, 1601, 14999, 350, + 2653, 1065, 1601, 14999, 384, + 2653, 1065, 1601, 14999, 416, + 2653, 1065, 1601, 14999, 448, + 2653, 1065, 1601, 14999, 522, + 2653, 1065, 1601, 14999, 572, + 2653, 1065, 1601, 14999, 588, + 2653, 1065, 1601, 14999, 622, + 2653, 1065, 1601, 14999, 648, + 2653, 1065, 1601, 14999, 680, + 2653, 1065, 1601, 14999, 752, + 2653, 1065, 1601, 14999, 1044, + 2653, 1065, 1601, 14999, 1914, + 2653, 1065, 1601, 14999, 2444, + 2653, 1065, 1601, 14999, 2676, + 2653, 1065, 1601, 14999, 3242, + 2653, 1065, 1601, 14999, 12085, 20, + 2653, 1065, 1601, 14999, 12085, 22, + 2653, 1065, 1601, 14999, 12085, 24, + 2653, 1065, 1601, 14999, 12085, 26, + 2653, 1065, 1601, 14999, 12085, 30, + 2653, 1065, 1601, 14999, 12085, 38, + 2653, 1065, 1601, 14999, 12085, 44, + 2653, 1065, 1601, 14999, 12085, 48, + 2653, 1065, 1601, 14999, 12085, 456, + 2653, 1065, 1601, 15451, 10218, + 2653, 1065, 1601, 15451, 10219, 7882, + 2653, 1065, 1601, 15451, 10219, 7883, 12084, + 2653, 1065, 1601, 15451, 10219, 12084, + 2653, 1065, 1601, 15483, 10218, + 2653, 1065, 1601, 15483, 10219, 7882, + 2653, 1065, 1601, 15483, 10219, 7883, 12084, + 2653, 1065, 1601, 15483, 10219, 12084, + 2653, 1065, 1601, 15483, 16449, 9956, + 2653, 1065, 1601, 15483, 16449, 9957, 12084, + 2653, 1065, 1601, 16449, 9956, + 2653, 1065, 1601, 16449, 9957, 12084, + 2653, 1065, 1601, 16449, 9957, 17472, + 2653, 1065, 1601, 19441, 10218, + 2653, 1065, 1601, 19441, 10219, 7883, 12084, + 2653, 1065, 1601, 19441, 10219, 12084, + 2653, 1065, 1601, 20775, 10218, + 2653, 1065, 1601, 20775, 10219, 7882, + 2653, 1065, 1601, 20775, 10219, 7883, 12084, + 2653, 1065, 1601, 20775, 10219, 12084, + 2655, 15390, + 2660, + 2662, + 2669, 9175, 17283, 18026, + 2671, 3233, 18745, 9854, + 2671, 9854, + 2671, 12739, 9854, + 2688, + 2689, 6718, + 2689, 8850, + 2709, 20609, 16534, + 2709, 20609, 20148, + 2711, 485, 6768, + 2743, 15029, 317, 1777, 13239, 15672, + 2878, + 2886, + 2897, 11460, + 2926, + 2928, + 2930, + 2932, + 3043, 12740, + 3060, + 3077, 17045, 9951, 10641, 15119, 1216, + 3077, 17045, 11571, 9950, + 3077, 17045, 18461, 9950, + 3077, 18453, 11571, 843, 14049, 18072, + 3081, 843, 3081, 5862, + 3136, + 3137, 10641, 6718, + 3137, 14369, 11748, + 3193, 2175, 7854, + 3193, 6793, 9956, + 3193, 7817, 11779, 16088, + 3193, 7817, 15621, 16088, + 3193, 7817, 20846, + 3193, 9287, 9854, + 3193, 11756, + 3193, 11762, + 3193, 11905, 2610, + 3193, 11905, 3076, + 3193, 11905, 3356, + 3193, 11905, 6756, + 3193, 11905, 6778, + 3193, 11905, 8780, + 3193, 11905, 10900, + 3193, 11905, 11978, + 3193, 11905, 13450, + 3193, 11905, 13736, + 3193, 12233, 14262, + 3193, 12541, 13563, 14999, 0, + 3193, 12541, 13563, 14999, 2, + 3193, 12541, 13563, 14999, 4, + 3193, 12541, 13563, 14999, 6, + 3193, 12541, 13563, 14999, 8, + 3193, 12541, 13563, 14999, 10, + 3193, 12541, 13563, 14999, 12, + 3193, 12541, 13563, 14999, 14, + 3193, 12541, 13563, 14999, 16, + 3193, 12541, 13563, 14999, 18, + 3193, 12541, 13563, 14999, 20, + 3193, 12541, 13563, 14999, 22, + 3193, 12541, 13563, 14999, 24, + 3193, 12541, 13563, 14999, 26, + 3193, 12541, 13563, 14999, 28, + 3193, 12541, 13563, 14999, 30, + 3193, 12541, 13563, 14999, 32, + 3193, 12541, 13563, 14999, 34, + 3193, 12541, 13563, 14999, 36, + 3193, 12541, 13563, 14999, 38, + 3193, 12541, 13563, 14999, 40, + 3193, 12541, 13563, 14999, 42, + 3193, 12541, 13563, 14999, 44, + 3193, 12541, 13563, 14999, 46, + 3193, 12541, 13563, 14999, 48, + 3193, 12541, 13563, 14999, 50, + 3193, 12541, 16111, 14999, 0, + 3193, 12541, 16111, 14999, 2, + 3193, 12541, 16111, 14999, 4, + 3193, 12541, 16111, 14999, 6, + 3193, 12541, 16111, 14999, 8, + 3193, 12541, 16111, 14999, 10, + 3193, 12541, 16111, 14999, 12, + 3193, 12541, 16111, 14999, 14, + 3193, 12541, 16111, 14999, 16, + 3193, 12541, 16111, 14999, 18, + 3193, 12541, 16111, 14999, 20, + 3193, 12541, 16111, 14999, 22, + 3193, 12541, 16111, 14999, 24, + 3193, 12541, 16111, 14999, 26, + 3193, 12541, 16111, 14999, 28, + 3193, 12541, 16111, 14999, 30, + 3193, 12541, 16111, 14999, 32, + 3193, 12541, 16111, 14999, 34, + 3193, 12541, 16111, 14999, 36, + 3193, 12541, 16111, 14999, 38, + 3193, 12541, 16111, 14999, 40, + 3193, 12541, 16111, 14999, 42, + 3193, 12541, 16111, 14999, 44, + 3193, 12541, 16111, 14999, 46, + 3193, 12541, 16111, 14999, 48, + 3193, 12541, 16111, 14999, 50, + 3193, 13341, 11779, 16088, + 3193, 13341, 15621, 16088, + 3193, 13341, 20846, + 3193, 13582, + 3193, 13758, + 3193, 14601, 9854, + 3193, 14647, 9854, + 3193, 15233, 9854, + 3193, 17005, 9854, + 3193, 17123, 17254, + 3193, 17254, + 3193, 17642, + 3193, 18511, 8320, + 3193, 18847, 7854, + 3193, 18894, + 3193, 19409, 9854, + 3193, 19557, 8320, + 3193, 19614, + 3193, 19880, + 3193, 19921, 14262, + 3193, 19923, 92, + 3193, 20685, 8320, + 3193, 21097, 9854, + 3193, 21110, + 3197, 389, 14999, 0, + 3197, 389, 14999, 8, + 3197, 389, 14999, 16, + 3197, 389, 14999, 28, + 3197, 389, 14999, 40, + 3197, 389, 14999, 72, + 3197, 389, 14999, 184, + 3197, 389, 14999, 190, + 3197, 389, 14999, 224, + 3197, 389, 14999, 266, + 3197, 389, 14999, 350, + 3197, 389, 14999, 384, + 3197, 389, 14999, 416, + 3197, 389, 14999, 448, + 3197, 389, 14999, 498, + 3197, 389, 14999, 522, + 3197, 389, 14999, 556, + 3197, 389, 14999, 588, + 3197, 389, 14999, 622, + 3197, 389, 14999, 656, + 3197, 389, 14999, 680, + 3197, 389, 14999, 718, + 3197, 389, 14999, 734, + 3197, 389, 14999, 870, + 3197, 389, 14999, 1914, + 3197, 389, 14999, 2444, + 3197, 389, 14999, 2676, + 3197, 389, 14999, 3242, + 3197, 389, 14999, 3308, + 3197, 389, 14999, 10240, + 3197, 389, 14999, 15762, + 3197, 389, 14999, 15764, + 3197, 389, 14999, 15766, + 3197, 389, 14999, 15768, + 3197, 389, 14999, 15770, + 3197, 10143, 7301, 11905, 2610, + 3197, 10143, 7301, 11905, 3076, + 3197, 10143, 7301, 11905, 3356, + 3197, 10143, 7301, 11905, 6756, + 3197, 10143, 7301, 11905, 6778, + 3197, 10143, 7301, 11905, 8780, + 3197, 10143, 7301, 11905, 10900, + 3197, 10143, 7301, 11905, 11978, + 3197, 10143, 7301, 11905, 13450, + 3197, 10143, 7301, 11905, 13736, + 3197, 10143, 9855, 573, 7114, + 3197, 10143, 9855, 1688, + 3197, 10143, 9855, 2241, 3018, + 3197, 10143, 9855, 2241, 7592, + 3197, 10143, 9855, 2241, 7593, 2072, + 3197, 10143, 9855, 2241, 14108, + 3197, 10143, 9855, 7128, + 3197, 10143, 9855, 7564, + 3197, 10143, 9855, 7622, + 3197, 10143, 9855, 11636, + 3197, 10143, 9855, 12477, 15764, + 3197, 10143, 9855, 12477, 15766, + 3197, 10143, 9855, 12477, 15768, + 3197, 10143, 9855, 13406, + 3197, 10143, 9855, 13428, + 3197, 10143, 9855, 14052, + 3197, 10143, 9855, 14596, + 3197, 10143, 9855, 15760, + 3197, 10143, 9855, 15762, + 3197, 10143, 9855, 16548, + 3197, 10143, 9855, 17164, + 3197, 10143, 9855, 18543, 17139, 9470, + 3197, 10143, 9855, 19387, 12436, + 3197, 10143, 9855, 19846, + 3197, 10143, 9855, 20378, + 3197, 10143, 10143, 11905, 2610, + 3197, 10143, 10143, 11905, 3076, + 3197, 10143, 10143, 11905, 3356, + 3197, 10143, 10143, 11905, 6756, + 3197, 10143, 10143, 11905, 6778, + 3197, 10143, 10143, 11905, 8780, + 3197, 10143, 10143, 11905, 10900, + 3197, 10143, 10143, 11905, 11978, + 3197, 10143, 10143, 11905, 13450, + 3197, 10143, 10143, 11905, 13736, + 3197, 10143, 14003, 9855, 0, + 3197, 10143, 14003, 9855, 8, + 3197, 10143, 14003, 9855, 16, + 3197, 10143, 14003, 9855, 28, + 3197, 10143, 14003, 9855, 40, + 3197, 10143, 14003, 9855, 58, + 3197, 10143, 14003, 9855, 66, + 3197, 10143, 14003, 9855, 72, + 3197, 10143, 14003, 9855, 308, + 3197, 10143, 14003, 9855, 479, 11392, + 3197, 10143, 14003, 9855, 479, 11552, + 3197, 10143, 14003, 9855, 498, + 3197, 10143, 14003, 9855, 518, + 3197, 10143, 14003, 9855, 656, + 3197, 10143, 14003, 9855, 676, + 3197, 10143, 14003, 9855, 2241, 3028, + 3197, 10143, 14003, 9855, 3428, + 3197, 10143, 14003, 9855, 10099, 58, + 3197, 10143, 14003, 9855, 10143, 72, + 3197, 10143, 14999, 0, + 3197, 10143, 14999, 16, + 3197, 10143, 14999, 40, + 3197, 10143, 14999, 106, + 3197, 10143, 14999, 148, + 3197, 10143, 14999, 184, + 3197, 10143, 14999, 308, + 3197, 10143, 14999, 384, + 3197, 10143, 14999, 416, + 3197, 10143, 14999, 448, + 3197, 10143, 14999, 498, + 3197, 10143, 14999, 572, + 3197, 10143, 14999, 676, + 3197, 10143, 14999, 694, + 3197, 10143, 14999, 2068, + 3197, 10143, 14999, 2152, + 3197, 10143, 14999, 2175, 124, + 3197, 10143, 14999, 2175, 224, + 3197, 10143, 14999, 2175, 266, + 3197, 10143, 14999, 2175, 350, + 3197, 10143, 14999, 2175, 522, + 3197, 10143, 14999, 2175, 588, + 3197, 10143, 14999, 2175, 622, + 3197, 10143, 14999, 2175, 734, + 3197, 10143, 14999, 2175, 1044, + 3197, 10143, 14999, 2175, 1914, + 3197, 10143, 14999, 2175, 2046, + 3197, 10143, 14999, 2175, 2676, + 3197, 10143, 14999, 2175, 3242, + 3197, 10143, 14999, 2175, 13316, + 3197, 10143, 14999, 2192, + 3197, 10143, 14999, 2444, + 3197, 10143, 14999, 2556, + 3197, 10143, 14999, 2970, + 3197, 10143, 14999, 7171, 124, + 3197, 10143, 14999, 7171, 224, + 3197, 10143, 14999, 7171, 266, + 3197, 10143, 14999, 7171, 350, + 3197, 10143, 14999, 7171, 522, + 3197, 10143, 14999, 7171, 588, + 3197, 10143, 14999, 7171, 622, + 3197, 10143, 14999, 7171, 734, + 3197, 10143, 14999, 7171, 1044, + 3197, 10143, 14999, 7171, 1914, + 3197, 10143, 14999, 7171, 2046, + 3197, 10143, 14999, 7171, 2676, + 3197, 10143, 14999, 7171, 3048, + 3197, 10143, 14999, 7171, 3114, + 3197, 10143, 14999, 7171, 3242, + 3197, 10143, 14999, 7171, 13316, + 3197, 10143, 14999, 9470, + 3197, 10143, 14999, 9472, + 3197, 10143, 14999, 12235, 588, + 3197, 10143, 19003, 22811, 1216, + 3197, 10143, 19015, 9855, 106, + 3197, 10143, 19015, 9855, 385, 10101, 2072, + 3197, 10143, 19015, 9855, 416, + 3197, 10143, 19015, 9855, 588, + 3197, 10143, 19015, 9855, 2175, 522, + 3197, 10143, 19015, 9855, 7171, 13317, 505, 2175, 522, + 3197, 10143, 19015, 9855, 12085, 2444, + 3197, 10143, 19015, 9855, 15093, 384, + 3197, 10143, 19015, 9855, 15093, 572, + 3197, 10547, 2241, 7592, + 3197, 10547, 2241, 7652, + 3197, 10547, 10219, 2241, 196, + 3197, 10547, 10219, 2241, 3248, + 3197, 10547, 10219, 2241, 9892, + 3197, 10547, 10219, 2241, 13050, + 3197, 10547, 14003, 8, + 3197, 10547, 14003, 16, + 3197, 10547, 14003, 28, + 3197, 10547, 14003, 40, + 3197, 10547, 14003, 58, + 3197, 10547, 14003, 78, + 3197, 10547, 14003, 80, + 3197, 10547, 14003, 102, + 3197, 10547, 14003, 292, + 3197, 10547, 14003, 648, + 3197, 10547, 14003, 656, + 3197, 10547, 14003, 870, + 3197, 10547, 14003, 3384, + 3197, 10547, 14999, 2175, 28, + 3197, 10547, 14999, 2175, 116, + 3197, 10547, 14999, 2175, 140, + 3197, 10547, 14999, 2175, 166, + 3197, 10547, 14999, 2175, 236, + 3197, 10547, 14999, 2175, 258, + 3197, 10547, 14999, 2175, 282, + 3197, 10547, 14999, 2175, 366, + 3197, 10547, 14999, 2175, 402, + 3197, 10547, 14999, 2175, 436, + 3197, 10547, 14999, 2175, 468, + 3197, 10547, 14999, 2175, 540, + 3197, 10547, 14999, 2175, 580, + 3197, 10547, 14999, 2175, 602, + 3197, 10547, 14999, 2175, 634, + 3197, 10547, 14999, 2175, 686, + 3197, 10547, 14999, 2175, 742, + 3197, 10547, 14999, 2175, 1050, + 3197, 10547, 14999, 2175, 1920, + 3197, 10547, 14999, 2175, 2452, + 3197, 10547, 14999, 2175, 2564, + 3197, 10547, 14999, 2175, 2682, + 3197, 10547, 14999, 2175, 3248, + 3197, 10547, 14999, 2175, 7650, + 3197, 10547, 14999, 7171, 28, + 3197, 10547, 14999, 7171, 116, + 3197, 10547, 14999, 7171, 140, + 3197, 10547, 14999, 7171, 166, + 3197, 10547, 14999, 7171, 236, + 3197, 10547, 14999, 7171, 258, + 3197, 10547, 14999, 7171, 282, + 3197, 10547, 14999, 7171, 366, + 3197, 10547, 14999, 7171, 402, + 3197, 10547, 14999, 7171, 436, + 3197, 10547, 14999, 7171, 468, + 3197, 10547, 14999, 7171, 540, + 3197, 10547, 14999, 7171, 580, + 3197, 10547, 14999, 7171, 602, + 3197, 10547, 14999, 7171, 634, + 3197, 10547, 14999, 7171, 686, + 3197, 10547, 14999, 7171, 742, + 3197, 10547, 14999, 7171, 1050, + 3197, 10547, 14999, 7171, 1920, + 3197, 10547, 14999, 7171, 2452, + 3197, 10547, 14999, 7171, 2564, + 3197, 10547, 14999, 7171, 2682, + 3197, 10547, 14999, 7171, 3248, + 3197, 10547, 14999, 7171, 7650, + 3197, 10547, 15673, 283, 1674, + 3197, 10547, 15673, 1971, 1970, + 3197, 10547, 15673, 1974, + 3197, 10547, 15673, 3018, + 3197, 10547, 15673, 13050, + 3257, 9175, 18172, + 3293, 859, 18997, 11477, 10641, 12740, + 3293, 859, 21279, 11476, + 3293, 859, 21279, 11477, 10641, 9286, + 3293, 1598, + 3293, 7123, 11571, 14486, + 3293, 7123, 17179, 9854, + 3293, 7123, 18176, + 3293, 7817, 6108, + 3293, 7817, 7123, 16088, + 3293, 7817, 14518, + 3293, 10641, 17463, 11477, 11392, + 3293, 11779, 16088, + 3293, 13341, 6108, + 3293, 13341, 7123, 16088, + 3293, 13341, 14518, + 3293, 15621, 16088, + 3293, 18763, 13483, 16088, + 3293, 20846, + 3357, 1217, 14984, + 3357, 1217, 20876, + 3357, 2283, 16497, 12262, + 3357, 6431, 9175, 2611, 1217, 20876, + 3357, 14067, 16497, 12262, + 3357, 14421, 12762, + 3357, 14824, + 3357, 14889, 17276, + 3357, 15601, 16096, + 3357, 16727, 505, 18386, + 3357, 16727, 843, 18386, + 3357, 18915, 15981, 20504, + 3357, 20573, 14647, 13532, + 3357, 21123, 16727, 504, + 3357, 21123, 16727, 842, + 3443, 6793, 9956, + 3443, 11762, + 3443, 11905, 2610, + 3443, 11905, 3076, + 3443, 11905, 3356, + 3443, 11905, 6756, + 3443, 11905, 6778, + 3443, 11905, 8780, + 3443, 11905, 10900, + 3443, 11905, 11978, + 3443, 11905, 13450, + 3443, 11905, 13736, + 3443, 15673, 1344, + 3443, 15673, 2466, + 3443, 15673, 3186, + 3443, 15673, 5736, + 3443, 15673, 6280, + 3443, 15673, 6418, + 3443, 15673, 7522, + 3443, 15673, 7716, + 3443, 15673, 10194, + 3443, 15673, 10220, + 3443, 15673, 11926, + 3443, 15673, 12070, + 3443, 15673, 12448, + 3443, 18511, 8320, + 3443, 18697, 0, + 3443, 18697, 8, + 3443, 18697, 16, + 3443, 18697, 28, + 3443, 18697, 40, + 3443, 18697, 80, + 3443, 18697, 106, + 3443, 18697, 110, + 3443, 18697, 114, + 3443, 18697, 116, + 3443, 18697, 120, + 3443, 18697, 124, + 3443, 18697, 130, + 3443, 18697, 134, + 3443, 18697, 140, + 3443, 18697, 142, + 3443, 18697, 148, + 3443, 18697, 154, + 3443, 18697, 158, + 3443, 18697, 166, + 3443, 18697, 168, + 3443, 18697, 184, + 3443, 18697, 202, + 3443, 18697, 224, + 3443, 18697, 226, + 3443, 18697, 230, + 3443, 18697, 236, + 3443, 18697, 238, + 3443, 18697, 244, + 3443, 18697, 248, + 3443, 18697, 254, + 3443, 18697, 258, + 3443, 18697, 260, + 3443, 18697, 266, + 3443, 18697, 270, + 3443, 18697, 274, + 3443, 18697, 282, + 3443, 18697, 286, + 3443, 18697, 316, + 3443, 18697, 336, + 3443, 18697, 338, + 3443, 18697, 340, + 3443, 18697, 342, + 3443, 18697, 344, + 3443, 18697, 350, + 3443, 18697, 354, + 3443, 18697, 358, + 3443, 18697, 366, + 3443, 18697, 370, + 3443, 18697, 384, + 3443, 18697, 388, + 3443, 18697, 392, + 3443, 18697, 402, + 3443, 18697, 406, + 3443, 18697, 416, + 3443, 18697, 424, + 3443, 18697, 430, + 3443, 18697, 436, + 3443, 18697, 440, + 3443, 18697, 448, + 3443, 18697, 452, + 3443, 18697, 456, + 3443, 18697, 460, + 3443, 18697, 468, + 3443, 18697, 472, + 3443, 18697, 496, + 3443, 18697, 498, + 3443, 18697, 522, + 3443, 18697, 528, + 3443, 18697, 536, + 3443, 18697, 540, + 3443, 18697, 546, + 3443, 18697, 572, + 3443, 18697, 574, + 3443, 18697, 578, + 3443, 18697, 580, + 3443, 18697, 584, + 3443, 18697, 588, + 3443, 18697, 592, + 3443, 18697, 598, + 3443, 18697, 602, + 3443, 18697, 612, + 3443, 18697, 622, + 3443, 18697, 626, + 3443, 18697, 630, + 3443, 18697, 634, + 3443, 18697, 642, + 3443, 18697, 666, + 3443, 18697, 680, + 3443, 18697, 682, + 3443, 18697, 684, + 3443, 18697, 686, + 3443, 18697, 690, + 3443, 18697, 694, + 3443, 18697, 700, + 3443, 18697, 706, + 3443, 18697, 710, + 3443, 18697, 712, + 3443, 18697, 734, + 3443, 18697, 736, + 3443, 18697, 738, + 3443, 18697, 742, + 3443, 18697, 746, + 3443, 18697, 752, + 3443, 18697, 754, + 3443, 18697, 758, + 3443, 18697, 760, + 3443, 18697, 762, + 3443, 18697, 918, + 3443, 18697, 932, + 3443, 18697, 934, + 3443, 18697, 936, + 3443, 18697, 938, + 3443, 18697, 940, + 3443, 18697, 960, + 3443, 18697, 1034, + 3443, 18697, 1078, + 3443, 18697, 1152, + 3443, 18697, 1164, + 3443, 18697, 1166, + 3443, 18697, 1168, + 3443, 18697, 1170, + 3443, 18697, 1172, + 3443, 18697, 1212, + 3443, 18697, 1276, + 3443, 18697, 1364, + 3443, 18697, 1392, + 3443, 18697, 1458, + 3443, 18697, 1460, + 3443, 18697, 1462, + 3443, 18697, 1464, + 3443, 18697, 1466, + 3443, 18697, 1468, + 3443, 18697, 1472, + 3443, 18697, 1526, + 3443, 18697, 1590, + 3443, 18697, 1606, + 3443, 18697, 1612, + 3443, 18697, 1634, + 3443, 18697, 1678, + 3443, 18697, 1680, + 3443, 18697, 1698, + 3443, 18697, 1788, + 3443, 18697, 1826, + 3443, 18697, 1878, + 3443, 18697, 1896, + 3443, 18697, 1976, + 3443, 18697, 1986, + 3443, 18697, 1988, + 3443, 18697, 1990, + 3443, 18697, 1992, + 3443, 18697, 1994, + 3443, 18697, 2104, + 3443, 18697, 2164, + 3443, 18697, 2266, + 3443, 18697, 2268, + 3443, 18697, 2270, + 3443, 18697, 2272, + 3443, 18697, 2274, + 3443, 18697, 2278, + 3443, 18697, 2330, + 3443, 18697, 2420, + 3443, 18697, 2422, + 3443, 18697, 2424, + 3443, 18697, 2426, + 3443, 18697, 2428, + 3443, 18697, 2430, + 3443, 18697, 2478, + 3443, 18697, 2480, + 3443, 18697, 2482, + 3443, 18697, 2484, + 3443, 18697, 2486, + 3443, 18697, 2504, + 3443, 18697, 2556, + 3443, 18697, 2560, + 3443, 18697, 2562, + 3443, 18697, 2564, + 3443, 18697, 2566, + 3443, 18697, 2622, + 3443, 18697, 2664, + 3443, 18697, 2706, + 3443, 18697, 2898, + 3443, 18697, 2948, + 3443, 18697, 3036, + 3443, 18697, 3048, + 3443, 18697, 3050, + 3443, 18697, 3052, + 3443, 18697, 3054, + 3443, 18697, 3056, + 3443, 18697, 3094, + 3443, 18697, 3226, + 3443, 18697, 3242, + 3443, 18697, 3244, + 3443, 18697, 3246, + 3443, 18697, 3248, + 3443, 18697, 3250, + 3443, 18697, 3290, + 3443, 18697, 3456, + 3443, 18697, 3484, + 3443, 18697, 3524, + 3443, 18697, 3540, + 3443, 18697, 3544, + 3443, 18697, 3554, + 3443, 18697, 3560, + 3443, 18697, 3562, + 3443, 18697, 3576, + 3443, 18697, 3694, + 3443, 18697, 3728, + 3443, 18697, 3804, + 3443, 18697, 3812, + 3443, 18697, 3814, + 3443, 18697, 3816, + 3443, 18697, 3818, + 3443, 18697, 3820, + 3443, 18697, 3844, + 3443, 18697, 5824, + 3443, 18697, 5826, + 3443, 18697, 6378, + 3443, 18697, 6380, + 3443, 18697, 6382, + 3443, 18697, 6384, + 3443, 18697, 6386, + 3443, 18697, 6388, + 3443, 18697, 6392, + 3443, 18697, 6932, + 3443, 18697, 6934, + 3443, 18697, 6938, + 3443, 18697, 6940, + 3443, 18697, 7698, + 3443, 18697, 7700, + 3443, 18697, 7702, + 3443, 18697, 7704, + 3443, 18697, 8334, + 3443, 18697, 8340, + 3443, 18697, 8392, + 3443, 18697, 8394, + 3443, 18697, 8396, + 3443, 18697, 8398, + 3443, 18697, 8400, + 3443, 18697, 8656, + 3443, 18697, 8674, + 3443, 18697, 8708, + 3443, 18697, 8720, + 3443, 18697, 8726, + 3443, 18697, 8728, + 3443, 18697, 8730, + 3443, 18697, 8732, + 3443, 18697, 8734, + 3443, 18697, 8746, + 3443, 18697, 8792, + 3443, 18697, 8802, + 3443, 18697, 8952, + 3443, 18697, 8982, + 3443, 18697, 9756, + 3443, 18697, 9790, + 3443, 18697, 10150, + 3443, 18697, 10170, + 3443, 18697, 10624, + 3443, 18697, 10648, + 3443, 18697, 10914, + 3443, 18697, 10926, + 3443, 18697, 11898, + 3443, 18697, 11900, + 3443, 18697, 12716, + 3443, 18697, 12720, + 3443, 18697, 12835, 166, + 3443, 18697, 12835, 224, + 3443, 18697, 12835, 350, + 3443, 18697, 12835, 416, + 3443, 18697, 12835, 3094, + 3443, 18697, 12846, + 3443, 18697, 12848, + 3443, 18697, 12852, + 3443, 18697, 20214, + 3561, 9854, + 3612, + 3699, 9854, + 3717, 10750, + 3872, + 5231, 9855, 13370, + 5231, 9855, 13563, 17178, + 5231, 9855, 14938, + 5231, 9855, 17178, + 5231, 11905, 2610, + 5231, 11905, 3076, + 5231, 11905, 3356, + 5231, 11905, 6756, + 5231, 11905, 6778, + 5231, 11905, 8780, + 5231, 11905, 10900, + 5231, 11905, 11978, + 5231, 11905, 13450, + 5231, 11905, 13736, + 5231, 14003, 9855, 0, + 5231, 14003, 9855, 8, + 5231, 14003, 9855, 16, + 5231, 14003, 9855, 28, + 5231, 14003, 9855, 40, + 5231, 14003, 9855, 58, + 5231, 14003, 9855, 72, + 5231, 14003, 9855, 78, + 5231, 14003, 9855, 98, + 5231, 14003, 9855, 308, + 5231, 14003, 9855, 676, + 5231, 14999, 0, + 5231, 14999, 106, + 5231, 14999, 148, + 5231, 14999, 244, + 5231, 14999, 266, + 5231, 14999, 336, + 5231, 14999, 350, + 5231, 14999, 384, + 5231, 14999, 416, + 5231, 14999, 448, + 5231, 14999, 522, + 5231, 14999, 572, + 5231, 14999, 588, + 5231, 14999, 622, + 5231, 14999, 932, + 5231, 14999, 1044, + 5231, 14999, 1164, + 5231, 14999, 1492, + 5231, 14999, 1796, + 5231, 14999, 1914, + 5231, 14999, 2444, + 5231, 14999, 2556, + 5231, 14999, 2676, + 5231, 14999, 3242, + 5231, 14999, 18891, 244, + 5231, 14999, 18891, 622, + 5231, 15233, 3232, + 5231, 15233, 15820, + 5231, 15673, 684, + 5231, 19015, 9855, 15093, 384, + 5231, 19015, 9855, 15093, 572, + 5231, 19015, 9855, 15093, 18247, 572, + 5247, 15672, + 5274, + 5303, 15672, + 5718, + 5719, 11442, + 5719, 11706, + 5719, 14390, + 5719, 15672, + 5721, 485, 18026, + 5721, 10641, 19407, 11477, 11392, + 5738, + 5748, + 5801, 6718, + 5807, 2344, + 5808, + 5809, 10641, 21033, 15642, + 5809, 15672, + 5815, 11477, 18471, 19215, 10155, 12973, 6560, + 5834, + 5845, 5860, + 5845, 12274, + 5846, + 5853, 3077, 15609, 17642, + 5853, 6757, 15609, 17642, + 5853, 11979, 15609, 17642, + 5853, 12237, 11772, + 5853, 14049, 14486, + 5853, 14049, 15620, + 5853, 17154, + 5856, + 5860, + 5867, 485, 16504, + 5869, 15672, + 5893, 317, 20402, + 5899, 13149, 8320, + 5957, 3398, + 5963, 425, 7126, + 5971, 6741, 968, + 5971, 12388, + 5971, 12389, 17862, + 5973, 484, + 5975, 18658, + 5999, 9854, + 6005, 9854, + 6011, 11905, 2610, + 6011, 11905, 3076, + 6011, 11905, 3356, + 6011, 11905, 6756, + 6011, 11905, 6778, + 6011, 11905, 8780, + 6011, 11905, 10900, + 6011, 11905, 11978, + 6011, 11905, 13450, + 6011, 11905, 13736, + 6011, 14003, 9855, 16, + 6011, 14003, 9855, 28, + 6011, 14003, 9855, 40, + 6011, 14003, 9855, 58, + 6011, 14003, 9855, 72, + 6011, 14003, 9855, 94, + 6011, 14003, 9855, 192, + 6011, 14003, 9855, 308, + 6011, 14003, 9855, 482, + 6011, 14003, 9855, 656, + 6011, 14999, 0, + 6011, 14999, 8, + 6011, 14999, 16, + 6011, 14999, 28, + 6011, 14999, 40, + 6011, 14999, 72, + 6011, 14999, 106, + 6011, 14999, 148, + 6011, 14999, 244, + 6011, 14999, 266, + 6011, 14999, 336, + 6011, 14999, 350, + 6011, 14999, 384, + 6011, 14999, 416, + 6011, 14999, 448, + 6011, 14999, 522, + 6011, 14999, 572, + 6011, 14999, 588, + 6011, 14999, 622, + 6011, 14999, 680, + 6011, 14999, 734, + 6011, 14999, 904, + 6011, 14999, 932, + 6011, 14999, 1044, + 6011, 14999, 1142, + 6011, 14999, 1164, + 6011, 14999, 1492, + 6011, 14999, 1796, + 6011, 14999, 1914, + 6011, 14999, 2342, + 6011, 14999, 2444, + 6011, 14999, 2456, + 6011, 14999, 2532, + 6011, 14999, 2676, + 6011, 14999, 2716, + 6011, 14999, 3114, + 6011, 14999, 3242, + 6011, 14999, 6036, + 6011, 14999, 8760, + 6011, 14999, 8768, + 6011, 14999, 8770, + 6011, 14999, 12085, 12, + 6011, 14999, 12085, 20, + 6011, 14999, 12085, 22, + 6011, 14999, 12085, 26, + 6011, 14999, 12085, 30, + 6011, 14999, 12085, 34, + 6011, 14999, 12085, 38, + 6011, 14999, 12085, 48, + 6011, 14999, 12085, 132, + 6011, 14999, 12085, 456, + 6011, 14999, 12085, 608, + 6011, 19015, 9855, 384, + 6011, 19015, 9855, 572, + 6011, 19015, 9855, 694, + 6011, 19015, 9855, 734, + 6011, 19015, 9855, 12085, 14, + 6011, 19015, 9855, 12085, 24, + 6011, 19015, 9855, 12085, 456, + 6011, 20877, 11854, + 6011, 20877, 14625, 11854, + 6011, 20877, 15604, + 6011, 20877, 15781, 11854, + 6106, + 6113, 9520, + 6283, 13454, + 6283, 20456, + 6287, 10641, 7817, 15844, + 6287, 15672, + 6356, + 6421, 2511, 12102, + 6421, 2511, 13266, + 6421, 2511, 14592, + 6421, 2511, 14593, 10641, 18543, 18347, 13546, + 6421, 2511, 16177, 91, 15100, + 6421, 2511, 16177, 91, 15211, 18682, + 6421, 2511, 16177, 91, 15211, 18683, 505, 12004, + 6421, 2511, 17060, + 6421, 2511, 17061, 505, 12004, + 6421, 2511, 17310, + 6421, 2511, 17311, 505, 12004, + 6425, 9854, + 6426, + 6433, 485, 13198, + 6435, 6751, 10092, + 6435, 10086, + 6435, 10087, 10641, 14487, 11552, + 6435, 13341, 17839, 18016, + 6435, 18906, + 6441, 10641, 20098, + 6444, + 6561, 15679, 11772, + 6601, 9854, + 6604, + 6719, 9208, + 6719, 10641, 469, 7053, 16436, + 6719, 10641, 491, 16436, + 6719, 10641, 6095, 13654, + 6719, 10641, 7885, 485, 17404, + 6719, 10641, 9171, 12764, + 6719, 10641, 9171, 12765, 843, 6095, 13654, + 6719, 10641, 13693, 485, 1834, + 6719, 10641, 14525, 1598, + 6719, 10641, 16793, 8326, + 6719, 10641, 17133, 6604, + 6719, 10641, 19665, 15776, + 6719, 10641, 19665, 15777, 843, 17519, 1336, + 6719, 10641, 19665, 15777, 843, 23135, 6604, + 6719, 10641, 20948, + 6719, 10641, 21100, + 6719, 16778, + 6719, 17521, 12764, + 6719, 18749, 1, 7678, + 6719, 19603, 19047, 6768, + 6719, 19611, 317, 6726, + 6741, 14732, + 6741, 16104, + 6745, 14742, + 6745, 19542, + 6746, + 6747, 14644, + 6750, + 6751, 5959, 10641, 13659, 14570, + 6757, 1217, 8320, + 6757, 1217, 20876, + 6759, 317, 7288, + 6775, 843, 12484, + 6775, 843, 12485, 10641, 13242, + 6779, 1217, 8320, + 6779, 1217, 20876, + 6779, 7813, 14500, + 6779, 14519, 14313, 17753, 21278, + 6779, 17045, 11571, 9950, + 6779, 20563, 17642, + 6779, 22973, 17642, + 6779, 23301, 17642, + 6783, 6718, + 6787, 9306, + 6793, 8461, 10641, 6718, + 6793, 8461, 15672, + 6793, 9956, + 6793, 11578, + 6793, 13163, 7518, + 6798, + 6800, + 6802, + 6804, + 6923, 1176, + 6950, + 6951, 10641, 16476, + 6951, 17521, 1694, + 6961, 8320, + 7040, + 7045, 2438, + 7046, + 7119, 13582, + 7127, 10641, 12389, 843, 15119, 16403, 16196, + 7131, 6410, + 7145, 15672, + 7150, + 7171, 17501, 9854, + 7171, 19913, 15672, + 7288, + 7518, + 7530, + 7678, + 7679, 8320, + 7783, 14364, + 7799, 9854, + 7801, 17087, 8460, + 7801, 17087, 8461, 10641, 6718, + 7801, 17087, 8461, 15672, + 7813, 20145, 317, 10634, + 7817, 843, 13341, 10086, + 7817, 843, 13341, 14625, 19808, + 7817, 859, 19409, 16088, + 7817, 2175, 20309, 16088, + 7817, 2611, 14635, 11578, + 7817, 2611, 17087, 11578, + 7817, 5741, 671, 13341, 5741, 671, 16480, + 7817, 5741, 671, 13341, 5741, 6435, 16480, + 7817, 5741, 6435, 13341, 5741, 671, 16480, + 7817, 5741, 6435, 13341, 5741, 6435, 16480, + 7817, 6751, 10092, + 7817, 6757, 16357, 11578, + 7817, 7123, 11571, 14486, + 7817, 7123, 11578, + 7817, 7127, 19773, 18514, + 7817, 10086, + 7817, 11445, 14414, + 7817, 11447, 16088, + 7817, 11447, 16089, 10641, 1216, + 7817, 11477, 10641, 13563, 14486, + 7817, 11477, 10641, 16153, 9286, + 7817, 11571, 18763, 13483, 16088, + 7817, 11571, 20217, 16088, + 7817, 11779, 16088, + 7817, 11779, 16089, 12589, 7292, + 7817, 11779, 16089, 13889, 7292, + 7817, 11779, 16089, 15119, 13226, + 7817, 12094, + 7817, 13163, 7518, + 7817, 13341, 10621, 11476, + 7817, 13341, 11476, + 7817, 13341, 11477, 10641, 14625, 18847, 15642, + 7817, 13341, 11477, 10641, 15642, + 7817, 13341, 11477, 10641, 18847, 15642, + 7817, 13341, 11477, 17369, 13563, 14486, + 7817, 13341, 11571, 11476, + 7817, 13341, 14049, 11476, + 7817, 13341, 14625, 11476, + 7817, 13341, 14625, 11477, 10641, 15642, + 7817, 13341, 14625, 11477, 10641, 18847, 15642, + 7817, 13341, 20377, 11476, + 7817, 13341, 20831, 11476, + 7817, 13341, 23305, 11476, + 7817, 13451, 16357, 11578, + 7817, 13737, 16357, 11578, + 7817, 13737, 18509, 11578, + 7817, 14049, 11779, 16088, + 7817, 14049, 14519, 16088, + 7817, 14049, 15621, 16088, + 7817, 14049, 18763, 13483, 16088, + 7817, 14049, 20217, 16088, + 7817, 14049, 20846, + 7817, 14497, 11994, + 7817, 14519, 16088, + 7817, 14623, 21237, 16088, + 7817, 14625, 11447, 16088, + 7817, 14625, 15893, 12072, + 7817, 14625, 19557, 8320, + 7817, 14625, 20846, + 7817, 15211, 14677, 20387, 17074, + 7817, 15423, 18381, 16088, + 7817, 15573, 19557, 8320, + 7817, 15601, 14414, + 7817, 15621, 16088, + 7817, 15621, 16089, 10641, 10183, 317, 3293, 14518, + 7817, 15621, 16089, 10641, 10183, 317, 14393, 14518, + 7817, 15621, 16089, 10641, 13290, + 7817, 15621, 16089, 10641, 18836, + 7817, 15621, 16089, 12589, 14518, + 7817, 15621, 16089, 13889, 14518, + 7817, 15621, 16089, 19242, + 7817, 15893, 12072, + 7817, 16122, + 7817, 16734, + 7817, 17365, 14414, + 7817, 17529, 7126, + 7817, 18334, + 7817, 18555, 887, 19048, + 7817, 18599, 41, 16088, + 7817, 18763, 13483, 16088, + 7817, 18775, 14373, 18847, 896, + 7817, 18847, 897, 10641, 13290, + 7817, 18847, 969, 7854, + 7817, 20387, 17074, + 7817, 20846, + 7817, 20847, 12589, 7292, + 7817, 20847, 13889, 7292, + 7817, 20847, 19242, + 7817, 21237, 16088, + 7817, 22947, 16088, + 7855, 19618, + 7855, 20745, 2511, 19347, 3245, 9288, + 7855, 20745, 10641, 20883, 9219, 14307, 9288, + 7855, 20745, 10641, 21207, 9219, 14307, 9288, + 7859, 15672, + 7861, 6718, + 7862, + 7865, 9854, + 7869, 14999, 0, + 7869, 14999, 8, + 7869, 14999, 16, + 7869, 14999, 28, + 7869, 14999, 40, + 7869, 14999, 66, + 7869, 14999, 106, + 7869, 14999, 124, + 7869, 14999, 148, + 7869, 14999, 214, + 7869, 14999, 224, + 7869, 14999, 244, + 7869, 14999, 266, + 7869, 14999, 336, + 7869, 14999, 350, + 7869, 14999, 384, + 7869, 14999, 416, + 7869, 14999, 448, + 7869, 14999, 482, + 7869, 14999, 522, + 7869, 14999, 588, + 7869, 14999, 622, + 7869, 14999, 656, + 7869, 14999, 658, + 7869, 14999, 694, + 7869, 14999, 718, + 7869, 14999, 734, + 7869, 14999, 752, + 7869, 14999, 1044, + 7869, 14999, 1254, + 7869, 14999, 1492, + 7869, 14999, 1620, + 7869, 14999, 1914, + 7869, 14999, 2444, + 7869, 14999, 2676, + 7869, 14999, 3048, + 7869, 14999, 3242, + 7869, 14999, 3308, + 7869, 14999, 3812, + 7869, 14999, 10219, 449, 540, + 7869, 14999, 10219, 2375, 116, + 7869, 14999, 10219, 2375, 448, + 7869, 14999, 10219, 2375, 630, + 7869, 14999, 10219, 2375, 1108, + 7869, 14999, 10219, 2375, 1794, + 7869, 14999, 10240, + 7869, 20877, 6793, 9956, + 7869, 20877, 11762, + 7876, + 7877, 10641, 1761, 2668, + 7883, 6287, 6785, 7817, 15101, 485, 14625, 18846, + 7883, 7817, 10086, + 7883, 7817, 13341, 11476, + 7883, 7817, 13341, 14625, 11476, + 7883, 13341, 10086, + 7883, 17864, + 7883, 19407, 11476, + 7883, 19407, 11477, 6785, 896, + 7883, 19407, 14625, 11476, + 7883, 19407, 14625, 11477, 6785, 896, + 7883, 19407, 18635, 11476, + 7883, 20375, 11476, + 7883, 20375, 11477, 6785, 896, + 7883, 20375, 14625, 11476, + 7883, 20375, 14625, 11477, 6785, 896, + 7883, 20375, 18635, 11476, + 7893, 12332, + 7893, 14998, + 8315, 843, 14685, 9854, + 8315, 9854, + 8315, 10641, 15643, 843, 8315, 843, 14685, 9854, + 8315, 10641, 15643, 9854, + 8317, 9786, + 8329, 8320, + 8353, 497, 5858, + 8362, + 8365, 15672, + 8425, 9855, 18521, 17494, + 8425, 9855, 18521, 19892, + 8425, 9855, 19892, + 8425, 10219, 3293, 13340, + 8425, 10219, 11392, + 8425, 10219, 11552, + 8425, 10219, 13340, + 8425, 14003, 9855, 0, + 8425, 14003, 9855, 8, + 8425, 14003, 9855, 16, + 8425, 14003, 9855, 26, + 8425, 14003, 9855, 28, + 8425, 14003, 9855, 40, + 8425, 14003, 9855, 44, + 8425, 14003, 9855, 48, + 8425, 14003, 9855, 58, + 8425, 14003, 9855, 66, + 8425, 14003, 9855, 72, + 8425, 14003, 9855, 80, + 8425, 14003, 9855, 94, + 8425, 14003, 9855, 192, + 8425, 14003, 9855, 202, + 8425, 14003, 9855, 208, + 8425, 14003, 9855, 292, + 8425, 14003, 9855, 300, + 8425, 14003, 9855, 308, + 8425, 14003, 9855, 318, + 8425, 14003, 9855, 330, + 8425, 14003, 9855, 456, + 8425, 14003, 9855, 498, + 8425, 14003, 9855, 510, + 8425, 14003, 9855, 648, + 8425, 14003, 9855, 676, + 8425, 14003, 9855, 710, + 8425, 14003, 9855, 738, + 8425, 14003, 9855, 804, + 8425, 14003, 9855, 824, + 8425, 14003, 9855, 844, + 8425, 14003, 9855, 1300, + 8425, 14003, 9855, 1314, + 8425, 14003, 9855, 1738, + 8425, 14003, 9855, 1756, + 8425, 14003, 9855, 2596, + 8425, 14003, 9855, 3382, + 8425, 14003, 9855, 3388, + 8425, 14003, 9855, 3400, + 8425, 14003, 9855, 7412, + 8425, 14003, 9855, 10410, + 8425, 14003, 9855, 17143, 208, + 8425, 14003, 9855, 17143, 1314, + 8425, 14999, 70, + 8425, 14999, 106, + 8425, 14999, 148, + 8425, 14999, 224, + 8425, 14999, 244, + 8425, 14999, 266, + 8425, 14999, 350, + 8425, 14999, 384, + 8425, 14999, 416, + 8425, 14999, 448, + 8425, 14999, 522, + 8425, 14999, 556, + 8425, 14999, 588, + 8425, 14999, 622, + 8425, 14999, 680, + 8425, 14999, 694, + 8425, 14999, 718, + 8425, 14999, 739, 350, + 8425, 14999, 739, 522, + 8425, 14999, 739, 622, + 8425, 14999, 739, 2492, + 8425, 14999, 739, 3308, + 8425, 14999, 739, 3322, + 8425, 14999, 739, 6470, + 8425, 14999, 739, 10240, + 8425, 14999, 752, + 8425, 14999, 1142, + 8425, 14999, 1254, + 8425, 14999, 1492, + 8425, 14999, 1620, + 8425, 14999, 2122, + 8425, 14999, 2220, + 8425, 14999, 2298, + 8425, 14999, 2444, + 8425, 14999, 2456, + 8425, 14999, 2492, + 8425, 14999, 2556, + 8425, 14999, 2700, + 8425, 14999, 2778, + 8425, 14999, 3048, + 8425, 14999, 3114, + 8425, 14999, 3308, + 8425, 14999, 3322, + 8425, 14999, 3468, + 8425, 14999, 3812, + 8425, 14999, 3854, + 8425, 14999, 3882, + 8425, 14999, 6416, + 8425, 14999, 6470, + 8425, 14999, 6478, + 8425, 14999, 7018, + 8425, 14999, 7836, + 8425, 14999, 8736, + 8425, 14999, 8840, + 8425, 14999, 8960, + 8425, 14999, 10206, + 8425, 14999, 10240, + 8425, 14999, 10248, + 8425, 14999, 10964, + 8425, 14999, 11004, + 8425, 14999, 11012, + 8425, 14999, 11918, + 8425, 14999, 13784, + 8425, 14999, 14226, + 8425, 14999, 15762, + 8425, 14999, 15764, + 8425, 14999, 15766, + 8425, 14999, 15768, + 8425, 14999, 15770, + 8425, 14999, 15772, + 8425, 14999, 15774, + 8425, 14999, 16011, 416, + 8425, 14999, 16011, 448, + 8425, 14999, 16011, 2444, + 8425, 14999, 16011, 3882, + 8425, 14999, 18521, 10240, + 8425, 14999, 18521, 15760, + 8425, 14999, 18521, 15762, + 8425, 14999, 18521, 15766, + 8425, 14999, 18521, 15768, + 8425, 14999, 18521, 15770, + 8425, 14999, 18521, 15774, + 8425, 14999, 21156, + 8427, 497, 675, 15672, + 8427, 6287, 15672, + 8441, 9854, + 8444, + 8448, + 8455, 9855, 7332, + 8455, 9855, 15868, + 8455, 9855, 17486, + 8455, 9855, 17610, + 8455, 9855, 20538, + 8455, 11854, + 8455, 11905, 2610, + 8455, 11905, 3076, + 8455, 11905, 3356, + 8455, 11905, 6756, + 8455, 11905, 6778, + 8455, 11905, 8780, + 8455, 11905, 10900, + 8455, 11905, 11978, + 8455, 11905, 13450, + 8455, 11905, 13736, + 8455, 14003, 9855, 8, + 8455, 14003, 9855, 16, + 8455, 14003, 9855, 28, + 8455, 14003, 9855, 40, + 8455, 14003, 9855, 58, + 8455, 14003, 9855, 72, + 8455, 14003, 9855, 94, + 8455, 14003, 9855, 308, + 8455, 14003, 9855, 676, + 8455, 14003, 9855, 17493, 22, + 8455, 14003, 9855, 17493, 34, + 8455, 14003, 9855, 17493, 396, + 8455, 14003, 9855, 17493, 582, + 8455, 14625, 11854, + 8455, 14999, 0, + 8455, 14999, 8, + 8455, 14999, 16, + 8455, 14999, 28, + 8455, 14999, 40, + 8455, 14999, 58, + 8455, 14999, 72, + 8455, 14999, 94, + 8455, 14999, 106, + 8455, 14999, 124, + 8455, 14999, 148, + 8455, 14999, 244, + 8455, 14999, 266, + 8455, 14999, 308, + 8455, 14999, 336, + 8455, 14999, 350, + 8455, 14999, 384, + 8455, 14999, 416, + 8455, 14999, 448, + 8455, 14999, 522, + 8455, 14999, 572, + 8455, 14999, 588, + 8455, 14999, 622, + 8455, 14999, 676, + 8455, 14999, 680, + 8455, 14999, 734, + 8455, 14999, 932, + 8455, 14999, 1044, + 8455, 14999, 1142, + 8455, 14999, 1164, + 8455, 14999, 1492, + 8455, 14999, 1796, + 8455, 14999, 1914, + 8455, 14999, 2152, + 8455, 14999, 2444, + 8455, 14999, 2492, + 8455, 14999, 2556, + 8455, 14999, 2676, + 8455, 14999, 3048, + 8455, 14999, 3114, + 8455, 14999, 3242, + 8455, 14999, 3322, + 8455, 14999, 6314, + 8455, 14999, 10264, + 8455, 14999, 17493, 22, + 8455, 14999, 17493, 34, + 8455, 14999, 17493, 396, + 8455, 14999, 17493, 582, + 8455, 20989, 9854, + 8459, 14414, + 8461, 17481, 17724, + 8471, 19408, + 8471, 21096, + 8593, 15370, + 8597, 11516, + 8600, + 8628, + 8697, 6718, + 8699, 494, + 8699, 1449, 14698, + 8699, 9855, 12085, 17610, + 8699, 9855, 13052, + 8699, 9855, 15868, + 8699, 9855, 17486, + 8699, 9855, 17610, + 8699, 9855, 17652, + 8699, 9855, 20552, + 8699, 11762, + 8699, 11854, + 8699, 11905, 2610, + 8699, 11905, 3076, + 8699, 11905, 3356, + 8699, 11905, 6756, + 8699, 11905, 6778, + 8699, 11905, 8780, + 8699, 11905, 10900, + 8699, 11905, 11978, + 8699, 11905, 13450, + 8699, 11905, 13736, + 8699, 14003, 9855, 8, + 8699, 14003, 9855, 16, + 8699, 14003, 9855, 28, + 8699, 14003, 9855, 40, + 8699, 14003, 9855, 58, + 8699, 14003, 9855, 72, + 8699, 14003, 9855, 94, + 8699, 14003, 9855, 308, + 8699, 14003, 9855, 676, + 8699, 14003, 9855, 17493, 22, + 8699, 14003, 9855, 17493, 34, + 8699, 14003, 9855, 17493, 396, + 8699, 14003, 9855, 17493, 582, + 8699, 14625, 11854, + 8699, 14999, 0, + 8699, 14999, 8, + 8699, 14999, 16, + 8699, 14999, 28, + 8699, 14999, 40, + 8699, 14999, 58, + 8699, 14999, 72, + 8699, 14999, 94, + 8699, 14999, 106, + 8699, 14999, 124, + 8699, 14999, 148, + 8699, 14999, 244, + 8699, 14999, 266, + 8699, 14999, 308, + 8699, 14999, 336, + 8699, 14999, 350, + 8699, 14999, 384, + 8699, 14999, 416, + 8699, 14999, 448, + 8699, 14999, 522, + 8699, 14999, 572, + 8699, 14999, 588, + 8699, 14999, 622, + 8699, 14999, 676, + 8699, 14999, 694, + 8699, 14999, 734, + 8699, 14999, 932, + 8699, 14999, 1044, + 8699, 14999, 1142, + 8699, 14999, 1164, + 8699, 14999, 1492, + 8699, 14999, 1796, + 8699, 14999, 1914, + 8699, 14999, 2122, + 8699, 14999, 2298, + 8699, 14999, 2444, + 8699, 14999, 2456, + 8699, 14999, 2492, + 8699, 14999, 2556, + 8699, 14999, 2676, + 8699, 14999, 2912, + 8699, 14999, 3048, + 8699, 14999, 3114, + 8699, 14999, 3242, + 8699, 14999, 3322, + 8699, 14999, 6314, + 8699, 14999, 8736, + 8699, 14999, 8960, + 8699, 14999, 10264, + 8699, 14999, 17493, 22, + 8699, 14999, 17493, 34, + 8699, 14999, 17493, 396, + 8699, 14999, 17493, 582, + 8699, 15566, + 8699, 19361, 9854, + 8699, 20873, 8320, + 8699, 20989, 9854, + 8701, 9206, + 8850, + 8852, + 8853, 2638, + 8853, 9206, + 9156, + 9171, 968, + 9171, 5860, + 9171, 6741, 14732, + 9171, 7876, + 9171, 12263, 9854, + 9171, 14455, 11571, 9950, + 9171, 14455, 11772, + 9171, 14455, 17642, + 9171, 14455, 23301, 17642, + 9171, 14732, + 9171, 15650, + 9171, 16751, 10641, 15423, 6758, + 9171, 16751, 10641, 16731, 6758, + 9171, 18688, + 9206, + 9207, 10641, 6118, + 9207, 10641, 16153, 10132, + 9207, 14675, 670, + 9209, 10228, + 9209, 14402, + 9217, 20529, 8320, + 9222, + 9231, 9854, + 9254, + 9265, 485, 2706, + 9266, + 9269, 19960, + 9287, 9854, + 9287, 9855, 317, 7817, 7123, 14486, + 9287, 9855, 317, 13341, 7123, 14486, + 9287, 9855, 317, 18774, + 9287, 9855, 10641, 1217, 11552, + 9287, 9855, 10641, 11571, 18774, + 9287, 9855, 10641, 13563, 14487, 11392, + 9287, 9855, 10641, 13759, 11392, + 9287, 9855, 10641, 13759, 11552, + 9287, 9855, 10641, 19673, 3356, + 9287, 9855, 10641, 19921, 14263, 11392, + 9287, 9855, 11393, 14647, 9854, + 9466, + 9495, 9854, + 9497, 5730, + 9497, 16192, + 9502, + 9503, 317, 12005, 634, + 9503, 11392, + 9503, 12005, 634, + 9503, 13250, + 9503, 18386, + 9522, + 9567, 11905, 2610, + 9567, 11905, 3076, + 9567, 11905, 3356, + 9567, 11905, 6756, + 9567, 11905, 6778, + 9567, 11905, 8780, + 9567, 11905, 11978, + 9567, 11905, 13450, + 9567, 11905, 13736, + 9567, 15233, 2611, 16502, + 9567, 15233, 3077, 16502, + 9567, 15233, 3232, + 9567, 15233, 3357, 16502, + 9567, 15233, 6757, 16502, + 9567, 15233, 6779, 16502, + 9567, 15233, 8781, 16502, + 9567, 15233, 11979, 16502, + 9567, 15233, 12080, + 9567, 15233, 12108, + 9567, 15233, 13451, 16502, + 9567, 15233, 13538, + 9567, 15233, 13737, 16502, + 9567, 15233, 14636, + 9567, 15233, 15194, + 9567, 15233, 15736, + 9567, 15233, 15820, + 9567, 15233, 17190, + 9567, 18089, 2611, 7122, + 9567, 18089, 2611, 13728, + 9567, 18089, 2611, 17086, + 9567, 18089, 3357, 15734, + 9691, 14391, 843, 1092, + 9714, + 9778, + 9855, 485, 3245, 12328, + 9865, 10620, + 9879, 16740, + 9887, 14437, 18330, + 9891, 1741, 11768, + 9891, 13483, 14723, 6410, + 9891, 14856, + 9895, 10641, 20375, 11477, 11392, + 9897, 17257, 11905, 2610, + 9897, 17257, 11905, 3076, + 9897, 17257, 11905, 3356, + 9897, 17257, 11905, 6756, + 9897, 17257, 11905, 6778, + 9897, 17257, 11905, 8780, + 9897, 17257, 11905, 10900, + 9897, 17257, 11905, 11978, + 9897, 17257, 11905, 13450, + 9897, 17257, 11905, 13736, + 9897, 17257, 14999, 70, + 9897, 17257, 14999, 190, + 9897, 17257, 14999, 306, + 9897, 17257, 14999, 486, + 9897, 17257, 14999, 658, + 9897, 17257, 14999, 888, + 9897, 17257, 14999, 1008, + 9897, 17257, 14999, 1124, + 9897, 17257, 14999, 1274, + 9897, 17257, 14999, 1438, + 9897, 17257, 14999, 1582, + 9897, 17257, 14999, 1782, + 9897, 17257, 14999, 1868, + 9897, 17257, 14999, 2070, + 9897, 17257, 14999, 2236, + 9897, 17257, 14999, 2238, + 9897, 17257, 14999, 2392, + 9897, 17257, 14999, 2640, + 9897, 17257, 14999, 2874, + 9897, 17257, 14999, 3014, + 9897, 17257, 14999, 3194, + 9897, 17257, 14999, 3440, + 9897, 17257, 14999, 3660, + 9897, 17257, 14999, 8704, + 9897, 17257, 14999, 8944, + 9951, 485, 11866, + 9951, 843, 17790, + 9951, 14646, + 9951, 18386, + 10088, + 10103, 11934, + 10103, 18968, + 10108, + 10120, + 10137, 11905, 2610, + 10137, 11905, 3076, + 10137, 11905, 3356, + 10137, 11905, 6756, + 10137, 11905, 6778, + 10137, 11905, 8780, + 10137, 11905, 10900, + 10137, 11905, 11978, + 10137, 11905, 13450, + 10137, 11905, 13736, + 10137, 17803, 15673, 5728, + 10137, 18979, 29, 844, + 10137, 18979, 117, 14340, + 10137, 18979, 167, 1156, + 10137, 18979, 167, 11686, + 10137, 18979, 237, 224, + 10137, 18979, 237, 1350, + 10137, 18979, 283, 1636, + 10137, 18979, 283, 15206, + 10137, 18979, 367, 1870, + 10137, 18979, 403, 7856, + 10137, 18979, 403, 11720, + 10137, 18979, 406, + 10137, 18979, 437, 416, + 10137, 18979, 469, 472, + 10137, 18979, 469, 2432, + 10137, 18979, 541, 2700, + 10137, 18979, 581, 2966, + 10137, 18979, 584, + 10137, 18979, 603, 602, + 10137, 18979, 603, 3128, + 10137, 18979, 603, 9574, + 10137, 18979, 603, 9692, + 10137, 18979, 635, 3204, + 10137, 18979, 635, 13194, + 10137, 18979, 711, 10614, + 10137, 18979, 743, 3664, + 10137, 18979, 743, 10800, + 10137, 18979, 1051, 6012, + 10137, 18979, 1051, 6044, + 10137, 18979, 1051, 11690, + 10137, 18979, 1051, 11714, + 10137, 18979, 1921, 7636, + 10137, 18979, 1921, 7656, + 10137, 18979, 1921, 12474, + 10137, 18979, 1921, 12478, + 10137, 18979, 1921, 17098, + 10137, 18979, 2241, 196, + 10137, 18979, 2241, 3248, + 10137, 18979, 2241, 3306, + 10137, 18979, 2241, 17728, + 10137, 18979, 2241, 18120, + 10137, 18979, 2453, 2454, + 10137, 18979, 2683, 9242, + 10137, 18979, 2683, 13222, + 10137, 18979, 2683, 17156, + 10137, 18979, 3249, 10144, + 10137, 18979, 3249, 13732, + 10137, 18979, 3249, 13740, + 10137, 18979, 3249, 15728, + 10137, 18979, 3249, 17028, + 10137, 18979, 3249, 20274, + 10137, 18979, 9701, 0, + 10137, 18979, 9701, 8, + 10137, 18979, 9701, 16, + 10137, 18979, 9701, 28, + 10137, 18979, 9701, 40, + 10137, 18979, 9701, 58, + 10137, 18979, 9701, 66, + 10137, 18979, 9701, 73, 16752, + 10137, 18979, 9701, 73, 18274, + 10137, 18979, 9701, 78, + 10137, 18979, 9701, 308, + 10137, 18979, 9701, 656, + 10137, 18979, 9701, 676, + 10137, 18979, 9701, 3386, + 10137, 18979, 14932, + 10137, 18979, 16416, + 10137, 18979, 17026, + 10137, 18979, 18276, + 10137, 18979, 18360, + 10137, 18979, 18864, + 10137, 18979, 19422, + 10137, 18979, 19496, + 10137, 18979, 19866, + 10137, 18979, 20762, + 10137, 18979, 20944, + 10163, 12237, 11772, + 10163, 13582, + 10163, 17154, + 10196, + 10197, 3357, 6431, 9175, 2611, 1217, 20876, + 10224, + 10225, 1016, + 10232, + 10421, 15672, + 10533, 5853, 12237, 11772, + 10533, 8471, 19408, + 10533, 8471, 21096, + 10533, 12277, 3077, 15609, 17642, + 10533, 12277, 6757, 15609, 17642, + 10533, 12277, 11979, 15609, 17642, + 10533, 12277, 11979, 17045, 11571, 9950, + 10533, 12277, 12237, 11772, + 10533, 12277, 14049, 14486, + 10533, 12277, 14049, 15620, + 10533, 12277, 17123, 17254, + 10533, 12277, 17154, + 10533, 12277, 17254, + 10621, 6286, + 10621, 11477, 18471, 17855, 7816, + 10621, 11477, 18471, 17855, 13340, + 10623, 2175, 7854, + 10623, 6286, + 10623, 7854, + 10623, 18400, + 10629, 15679, 11772, + 10635, 11712, + 10635, 16079, 6718, + 10637, 12212, + 10643, 6718, + 10651, 14890, + 10651, 19619, 15119, 1216, + 10901, 14055, 13582, + 10901, 14055, 14890, + 10901, 14055, 18367, 13582, + 10901, 14055, 20284, + 10972, + 10974, + 11395, 11446, + 11395, 14262, + 11399, 5251, 20214, + 11399, 11905, 2610, + 11399, 11905, 3076, + 11399, 11905, 3356, + 11399, 11905, 6756, + 11399, 11905, 6778, + 11399, 11905, 8780, + 11399, 11905, 10900, + 11399, 11905, 11978, + 11399, 11905, 13450, + 11399, 11905, 13736, + 11399, 12260, + 11399, 13052, + 11399, 13563, 14999, 8, + 11399, 13563, 14999, 16, + 11399, 13563, 14999, 28, + 11399, 13563, 14999, 40, + 11399, 13563, 14999, 106, + 11399, 13563, 14999, 224, + 11399, 13563, 14999, 244, + 11399, 13563, 14999, 266, + 11399, 13563, 14999, 528, + 11399, 13563, 14999, 572, + 11399, 13563, 14999, 642, + 11399, 13563, 14999, 680, + 11399, 13563, 14999, 734, + 11399, 13563, 14999, 934, + 11399, 13563, 14999, 1048, + 11399, 13563, 14999, 1164, + 11399, 13563, 14999, 1460, + 11399, 13563, 14999, 1866, + 11399, 13563, 14999, 1914, + 11399, 13563, 14999, 1992, + 11399, 13563, 14999, 2456, + 11399, 13563, 14999, 2536, + 11399, 13563, 14999, 2556, + 11399, 13563, 14999, 3048, + 11399, 13563, 14999, 3532, + 11399, 13563, 14999, 3708, + 11399, 13563, 14999, 3794, + 11399, 13563, 14999, 5250, + 11399, 13563, 14999, 7484, + 11399, 13563, 14999, 7774, + 11399, 13563, 14999, 8434, + 11399, 13563, 14999, 9344, + 11399, 13563, 14999, 11834, + 11399, 13563, 14999, 20408, + 11399, 14003, 20214, + 11399, 16111, 14999, 8, + 11399, 16111, 14999, 16, + 11399, 16111, 14999, 28, + 11399, 16111, 14999, 40, + 11399, 16111, 14999, 106, + 11399, 16111, 14999, 224, + 11399, 16111, 14999, 244, + 11399, 16111, 14999, 266, + 11399, 16111, 14999, 528, + 11399, 16111, 14999, 572, + 11399, 16111, 14999, 642, + 11399, 16111, 14999, 680, + 11399, 16111, 14999, 734, + 11399, 16111, 14999, 934, + 11399, 16111, 14999, 1048, + 11399, 16111, 14999, 1164, + 11399, 16111, 14999, 1460, + 11399, 16111, 14999, 1866, + 11399, 16111, 14999, 1914, + 11399, 16111, 14999, 1992, + 11399, 16111, 14999, 2456, + 11399, 16111, 14999, 2536, + 11399, 16111, 14999, 2556, + 11399, 16111, 14999, 3048, + 11399, 16111, 14999, 3532, + 11399, 16111, 14999, 3708, + 11399, 16111, 14999, 3794, + 11399, 16111, 14999, 5250, + 11399, 16111, 14999, 7484, + 11399, 16111, 14999, 7774, + 11399, 16111, 14999, 8434, + 11399, 16111, 14999, 9344, + 11399, 16111, 14999, 11834, + 11399, 16111, 14999, 20408, + 11399, 16525, 18511, 8320, + 11399, 16525, 20685, 8320, + 11399, 18105, 19015, 18318, + 11399, 19015, 18318, + 11399, 20155, 8320, + 11423, 11742, + 11431, 16818, + 11445, 15672, + 11446, + 11447, 10641, 37, 14874, + 11447, 10641, 18836, + 11449, 6718, + 11470, + 11477, 18471, 19215, 10155, 16205, 19406, + 11477, 18471, 19215, 10155, 16205, 20374, + 11477, 18471, 20375, 10155, 16205, 17462, + 11477, 18471, 20375, 10155, 16205, 19214, + 11514, + 11521, 6793, 9956, + 11521, 11756, + 11521, 11762, + 11521, 14999, 0, + 11521, 14999, 16, + 11521, 14999, 24, + 11521, 14999, 28, + 11521, 14999, 40, + 11521, 14999, 184, + 11521, 14999, 238, + 11521, 14999, 350, + 11521, 14999, 358, + 11521, 14999, 366, + 11521, 14999, 370, + 11521, 14999, 384, + 11521, 14999, 392, + 11521, 14999, 406, + 11521, 14999, 416, + 11521, 14999, 430, + 11521, 14999, 436, + 11521, 14999, 440, + 11521, 14999, 448, + 11521, 14999, 460, + 11521, 14999, 472, + 11521, 14999, 522, + 11521, 14999, 536, + 11521, 14999, 584, + 11521, 14999, 598, + 11521, 14999, 630, + 11521, 14999, 694, + 11521, 14999, 734, + 11521, 14999, 1364, + 11521, 14999, 1388, + 11521, 14999, 1900, + 11521, 14999, 1906, + 11521, 14999, 1986, + 11521, 14999, 2168, + 11521, 14999, 2282, + 11521, 14999, 2444, + 11521, 14999, 2562, + 11521, 14999, 2664, + 11521, 14999, 2730, + 11521, 14999, 2872, + 11521, 14999, 2898, + 11521, 14999, 2904, + 11521, 14999, 2916, + 11521, 14999, 3054, + 11521, 14999, 3056, + 11521, 14999, 3146, + 11521, 14999, 3186, + 11521, 14999, 3190, + 11521, 14999, 3232, + 11521, 14999, 3236, + 11521, 14999, 3572, + 11521, 14999, 3732, + 11521, 14999, 3754, + 11521, 14999, 7628, + 11521, 14999, 7754, + 11521, 14999, 8330, + 11521, 14999, 8336, + 11521, 14999, 8646, + 11521, 14999, 8726, + 11521, 14999, 8792, + 11521, 14999, 8896, + 11521, 14999, 8908, + 11521, 14999, 8918, + 11521, 14999, 8922, + 11521, 14999, 9234, + 11521, 14999, 9300, + 11521, 14999, 9490, + 11521, 14999, 9498, + 11521, 14999, 9724, + 11521, 14999, 9772, + 11521, 14999, 12496, + 11521, 14999, 12546, + 11521, 14999, 12684, + 11521, 14999, 12896, + 11521, 14999, 12910, + 11521, 14999, 13416, + 11521, 14999, 13486, + 11521, 14999, 14660, + 11521, 14999, 14952, + 11521, 14999, 16876, + 11521, 14999, 17013, 41, 3755, 2388, + 11521, 14999, 17013, 406, + 11521, 14999, 17013, 523, 18230, + 11521, 14999, 17013, 643, 15056, + 11521, 14999, 17013, 1882, + 11521, 14999, 17013, 1906, + 11521, 14999, 17013, 2117, 2024, + 11521, 14999, 17013, 2247, 13230, + 11521, 14999, 17013, 2329, 18354, + 11521, 14999, 17013, 2387, 8384, + 11521, 14999, 17013, 2400, + 11521, 14999, 17013, 2421, 18230, + 11521, 14999, 17013, 2432, + 11521, 14999, 17013, 2562, + 11521, 14999, 17013, 2569, 8384, + 11521, 14999, 17013, 2674, + 11521, 14999, 17013, 2705, 523, 2483, 18462, + 11521, 14999, 17013, 2705, 523, 2483, 20870, + 11521, 14999, 17013, 2705, 8385, 18462, + 11521, 14999, 17013, 2705, 8385, 20870, + 11521, 14999, 17013, 2736, + 11521, 14999, 17013, 2946, + 11521, 14999, 17013, 3098, + 11521, 14999, 17013, 3102, + 11521, 14999, 17013, 3146, + 11521, 14999, 17013, 3456, + 11521, 14999, 17013, 6748, + 11521, 14999, 17013, 7578, + 11521, 14999, 17013, 7706, + 11521, 14999, 17013, 7722, + 11521, 14999, 17013, 8312, + 11521, 14999, 17013, 8332, + 11521, 14999, 17013, 8776, + 11521, 14999, 17013, 8786, + 11521, 14999, 17013, 8896, + 11521, 14999, 17013, 8906, + 11521, 14999, 17013, 8907, 8382, + 11521, 14999, 17013, 8907, 8904, + 11521, 14999, 17013, 8958, + 11521, 14999, 17013, 8973, 20258, + 11521, 14999, 17013, 9027, 8380, + 11521, 14999, 17013, 9202, + 11521, 14999, 17013, 9795, 12991, 3746, + 11521, 14999, 17013, 9810, + 11521, 14999, 17013, 9868, + 11521, 14999, 17013, 10199, 8384, + 11521, 14999, 17013, 12169, 1390, + 11521, 14999, 17013, 12534, + 11521, 14999, 17013, 12590, + 11521, 14999, 17013, 12646, + 11521, 14999, 17013, 12848, + 11521, 14999, 17013, 12869, 8384, + 11521, 14999, 17013, 13846, + 11521, 14999, 17013, 15034, + 11521, 14999, 17013, 15058, + 11521, 14999, 17013, 15084, + 11521, 14999, 17013, 15112, + 11521, 14999, 17013, 15170, + 11521, 14999, 17013, 15200, + 11521, 14999, 17013, 15212, + 11521, 14999, 17013, 15284, + 11521, 14999, 17013, 15300, + 11521, 14999, 17013, 15547, 523, 2482, + 11521, 14999, 17013, 15552, + 11521, 14999, 17013, 15588, + 11521, 14999, 17013, 15720, + 11521, 14999, 17013, 16742, + 11521, 14999, 17013, 16764, + 11521, 14999, 17013, 16820, + 11521, 14999, 17013, 16822, + 11521, 14999, 17013, 16884, + 11521, 14999, 17013, 16894, + 11521, 14999, 17013, 16970, + 11521, 14999, 17013, 17186, + 11521, 14999, 17013, 17456, + 11521, 14999, 17013, 18266, + 11521, 14999, 17013, 18268, + 11521, 14999, 17013, 19288, + 11521, 14999, 17013, 19780, + 11521, 14999, 17013, 20200, + 11521, 14999, 17013, 20226, + 11521, 14999, 17013, 20270, + 11521, 14999, 17013, 20278, + 11521, 14999, 17013, 20400, + 11521, 14999, 17013, 21092, + 11521, 14999, 17013, 21148, + 11521, 14999, 17013, 21158, + 11521, 14999, 17015, 416, + 11521, 14999, 17015, 417, 12916, + 11521, 14999, 17015, 417, 18364, + 11521, 14999, 17015, 643, 12992, + 11521, 14999, 17015, 643, 19418, + 11521, 14999, 17015, 1364, + 11521, 14999, 17015, 1876, + 11521, 14999, 17015, 1940, + 11521, 14999, 17015, 2077, 12991, 8946, + 11521, 14999, 17015, 2116, + 11521, 14999, 17015, 2163, 12996, + 11521, 14999, 17015, 2267, 15054, + 11521, 14999, 17015, 2429, 8784, + 11521, 14999, 17015, 2563, 12996, + 11521, 14999, 17015, 2696, + 11521, 14999, 17015, 3043, 642, + 11521, 14999, 17015, 3132, + 11521, 14999, 17015, 6738, + 11521, 14999, 17015, 8339, 16786, + 11521, 14999, 17015, 8378, + 11521, 14999, 17015, 8381, 15174, + 11521, 14999, 17015, 8385, 15722, + 11521, 14999, 17015, 8744, + 11521, 14999, 17015, 8894, + 11521, 14999, 17015, 9765, 8790, + 11521, 14999, 17015, 9846, + 11521, 14999, 17015, 10080, + 11521, 14999, 17015, 10534, + 11521, 14999, 17015, 10741, 18230, + 11521, 14999, 17015, 12480, + 11521, 14999, 17015, 12678, + 11521, 14999, 17015, 12851, 2274, + 11521, 14999, 17015, 13001, 15542, + 11521, 14999, 17015, 13186, + 11521, 14999, 17015, 14076, + 11521, 14999, 17015, 14918, + 11521, 14999, 17015, 14922, + 11521, 14999, 17015, 14968, + 11521, 14999, 17015, 15088, + 11521, 14999, 17015, 15110, + 11521, 14999, 17015, 15172, + 11521, 14999, 17015, 15182, + 11521, 14999, 17015, 15183, 12536, + 11521, 14999, 17015, 15214, + 11521, 14999, 17015, 15304, + 11521, 14999, 17015, 15926, + 11521, 14999, 17015, 16574, + 11521, 14999, 17015, 16788, + 11521, 14999, 17015, 16875, 8492, + 11521, 14999, 17015, 16908, + 11521, 14999, 17015, 17078, + 11521, 14999, 17015, 17152, + 11521, 14999, 17015, 18110, + 11521, 14999, 17015, 18326, + 11521, 14999, 17015, 19628, + 11521, 14999, 17015, 20702, + 11521, 14999, 17017, 406, + 11521, 14999, 17017, 417, 12992, + 11521, 14999, 17017, 417, 16570, + 11521, 14999, 17017, 584, + 11521, 14999, 17017, 747, 15146, + 11521, 14999, 17017, 1404, + 11521, 14999, 17017, 1860, + 11521, 14999, 17017, 1901, 2092, + 11521, 14999, 17017, 1901, 16390, + 11521, 14999, 17017, 1906, + 11521, 14999, 17017, 2024, + 11521, 14999, 17017, 2076, + 11521, 14999, 17017, 2082, + 11521, 14999, 17017, 2142, + 11521, 14999, 17017, 2270, + 11521, 14999, 17017, 2400, + 11521, 14999, 17017, 2528, + 11521, 14999, 17017, 2531, 8338, + 11521, 14999, 17017, 2568, + 11521, 14999, 17017, 2668, + 11521, 14999, 17017, 2692, + 11521, 14999, 17017, 3236, + 11521, 14999, 17017, 3580, + 11521, 14999, 17017, 3648, + 11521, 14999, 17017, 3746, + 11521, 14999, 17017, 5878, + 11521, 14999, 17017, 7012, + 11521, 14999, 17017, 7624, + 11521, 14999, 17017, 7721, 16884, + 11521, 14999, 17017, 8331, 15336, + 11521, 14999, 17017, 8331, 21030, + 11521, 14999, 17017, 8338, + 11521, 14999, 17017, 8342, + 11521, 14999, 17017, 8428, + 11521, 14999, 17017, 8464, + 11521, 14999, 17017, 8648, + 11521, 14999, 17017, 8650, + 11521, 14999, 17017, 8712, + 11521, 14999, 17017, 8734, + 11521, 14999, 17017, 8744, + 11521, 14999, 17017, 8786, + 11521, 14999, 17017, 8898, + 11521, 14999, 17017, 8902, + 11521, 14999, 17017, 8904, + 11521, 14999, 17017, 8910, + 11521, 14999, 17017, 8969, 16815, 8376, + 11521, 14999, 17017, 9724, + 11521, 14999, 17017, 9780, + 11521, 14999, 17017, 10199, 3742, + 11521, 14999, 17017, 10536, + 11521, 14999, 17017, 10784, + 11521, 14999, 17017, 12164, + 11521, 14999, 17017, 12646, + 11521, 14999, 17017, 12672, + 11521, 14999, 17017, 12674, + 11521, 14999, 17017, 12824, + 11521, 14999, 17017, 12830, + 11521, 14999, 17017, 12848, + 11521, 14999, 17017, 12856, + 11521, 14999, 17017, 12866, + 11521, 14999, 17017, 12869, 15056, + 11521, 14999, 17017, 12896, + 11521, 14999, 17017, 12900, + 11521, 14999, 17017, 12912, + 11521, 14999, 17017, 12984, + 11521, 14999, 17017, 12995, 8744, + 11521, 14999, 17017, 13066, + 11521, 14999, 17017, 13510, + 11521, 14999, 17017, 13638, + 11521, 14999, 17017, 14140, + 11521, 14999, 17017, 14776, + 11521, 14999, 17017, 14920, + 11521, 14999, 17017, 14958, + 11521, 14999, 17017, 15056, + 11521, 14999, 17017, 15084, + 11521, 14999, 17017, 15086, + 11521, 14999, 17017, 15090, + 11521, 14999, 17017, 15162, + 11521, 14999, 17017, 15180, + 11521, 14999, 17017, 15198, + 11521, 14999, 17017, 15520, + 11521, 14999, 17017, 16572, + 11521, 14999, 17017, 16804, + 11521, 14999, 17017, 16863, 8946, + 11521, 14999, 17017, 16864, + 11521, 14999, 17017, 16892, + 11521, 14999, 17017, 17034, + 11521, 14999, 17017, 17334, + 11521, 14999, 17017, 17354, + 11521, 14999, 17017, 17382, + 11521, 14999, 17017, 18292, + 11521, 14999, 17017, 18294, + 11521, 14999, 17017, 18342, + 11521, 14999, 17017, 18378, + 11521, 14999, 17017, 18848, + 11521, 14999, 17017, 18854, + 11521, 14999, 17017, 19462, + 11521, 14999, 17017, 20202, + 11521, 14999, 17019, 24, + 11521, 14999, 17019, 370, + 11521, 14999, 17019, 440, + 11521, 14999, 17019, 460, + 11521, 14999, 17019, 472, + 11521, 14999, 17019, 630, + 11521, 14999, 17019, 642, + 11521, 14999, 17019, 1344, + 11521, 14999, 17019, 1906, + 11521, 14999, 17019, 2014, + 11521, 14999, 17019, 2020, + 11521, 14999, 17019, 2116, + 11521, 14999, 17019, 2168, + 11521, 14999, 17019, 2198, + 11521, 14999, 17019, 2288, + 11521, 14999, 17019, 2482, + 11521, 14999, 17019, 2562, + 11521, 14999, 17019, 2646, + 11521, 14999, 17019, 2664, + 11521, 14999, 17019, 2694, + 11521, 14999, 17019, 2738, + 11521, 14999, 17019, 2905, 2606, + 11521, 14999, 17019, 2905, 8470, + 11521, 14999, 17019, 2916, + 11521, 14999, 17019, 3022, + 11521, 14999, 17019, 3024, + 11521, 14999, 17019, 3056, + 11521, 14999, 17019, 3102, + 11521, 14999, 17019, 3132, + 11521, 14999, 17019, 3146, + 11521, 14999, 17019, 3190, + 11521, 14999, 17019, 3294, + 11521, 14999, 17019, 3526, + 11521, 14999, 17019, 3698, + 11521, 14999, 17019, 7006, + 11521, 14999, 17019, 7624, + 11521, 14999, 17019, 7626, + 11521, 14999, 17019, 7718, + 11521, 14999, 17019, 7754, + 11521, 14999, 17019, 7822, + 11521, 14999, 17019, 7838, + 11521, 14999, 17019, 8330, + 11521, 14999, 17019, 8331, 13450, + 11521, 14999, 17019, 8344, + 11521, 14999, 17019, 8376, + 11521, 14999, 17019, 8380, + 11521, 14999, 17019, 8384, + 11521, 14999, 17019, 8456, + 11521, 14999, 17019, 8492, + 11521, 14999, 17019, 8648, + 11521, 14999, 17019, 8656, + 11521, 14999, 17019, 8672, + 11521, 14999, 17019, 8788, + 11521, 14999, 17019, 8900, + 11521, 14999, 17019, 8908, + 11521, 14999, 17019, 8918, + 11521, 14999, 17019, 8946, + 11521, 14999, 17019, 8958, + 11521, 14999, 17019, 8990, + 11521, 14999, 17019, 9316, + 11521, 14999, 17019, 9460, + 11521, 14999, 17019, 9756, + 11521, 14999, 17019, 9772, + 11521, 14999, 17019, 9794, + 11521, 14999, 17019, 9962, + 11521, 14999, 17019, 10128, + 11521, 14999, 17019, 10130, + 11521, 14999, 17019, 10292, + 11521, 14999, 17019, 10836, + 11521, 14999, 17019, 10838, + 11521, 14999, 17019, 12465, 12676, + 11521, 14999, 17019, 12502, + 11521, 14999, 17019, 12546, + 11521, 14999, 17019, 12684, + 11521, 14999, 17019, 12712, + 11521, 14999, 17019, 12714, + 11521, 14999, 17019, 12826, + 11521, 14999, 17019, 12844, + 11521, 14999, 17019, 12864, + 11521, 14999, 17019, 12872, + 11521, 14999, 17019, 12898, + 11521, 14999, 17019, 12902, + 11521, 14999, 17019, 12912, + 11521, 14999, 17019, 12986, + 11521, 14999, 17019, 12990, + 11521, 14999, 17019, 12996, + 11521, 14999, 17019, 13486, + 11521, 14999, 17019, 13694, + 11521, 14999, 17019, 14074, + 11521, 14999, 17019, 14140, + 11521, 14999, 17019, 14778, + 11521, 14999, 17019, 15002, + 11521, 14999, 17019, 15108, + 11521, 14999, 17019, 15114, + 11521, 14999, 17019, 15116, + 11521, 14999, 17019, 15172, + 11521, 14999, 17019, 15176, + 11521, 14999, 17019, 15178, + 11521, 14999, 17019, 15186, + 11521, 14999, 17019, 15188, + 11521, 14999, 17019, 15218, + 11521, 14999, 17019, 15220, + 11521, 14999, 17019, 15326, + 11521, 14999, 17019, 15522, + 11521, 14999, 17019, 15540, + 11521, 14999, 17019, 15720, + 11521, 14999, 17019, 16744, + 11521, 14999, 17019, 16758, + 11521, 14999, 17019, 16806, + 11521, 14999, 17019, 16868, + 11521, 14999, 17019, 16872, + 11521, 14999, 17019, 16882, + 11521, 14999, 17019, 17530, + 11521, 14999, 17019, 18352, + 11521, 14999, 17019, 18358, + 11521, 14999, 17019, 19256, + 11521, 14999, 17019, 20198, + 11521, 14999, 17021, 0, + 11521, 14999, 17021, 16, + 11521, 14999, 17021, 28, + 11521, 14999, 17021, 224, + 11521, 14999, 17021, 239, 16, + 11521, 14999, 17021, 239, 5962, + 11521, 14999, 17021, 239, 15432, + 11521, 14999, 17021, 358, + 11521, 14999, 17021, 366, + 11521, 14999, 17021, 406, + 11521, 14999, 17021, 416, + 11521, 14999, 17021, 430, + 11521, 14999, 17021, 448, + 11521, 14999, 17021, 523, 15310, + 11521, 14999, 17021, 523, 15354, + 11521, 14999, 17021, 536, + 11521, 14999, 17021, 540, + 11521, 14999, 17021, 546, + 11521, 14999, 17021, 1354, + 11521, 14999, 17021, 1364, + 11521, 14999, 17021, 1388, + 11521, 14999, 17021, 1404, + 11521, 14999, 17021, 1906, + 11521, 14999, 17021, 2024, + 11521, 14999, 17021, 2082, + 11521, 14999, 17021, 2084, + 11521, 14999, 17021, 2162, + 11521, 14999, 17021, 2168, + 11521, 14999, 17021, 2236, + 11521, 14999, 17021, 2246, + 11521, 14999, 17021, 2248, + 11521, 14999, 17021, 2282, + 11521, 14999, 17021, 2328, + 11521, 14999, 17021, 2362, + 11521, 14999, 17021, 2388, + 11521, 14999, 17021, 2444, + 11521, 14999, 17021, 2563, 16064, + 11521, 14999, 17021, 2563, 16158, + 11521, 14999, 17021, 2636, + 11521, 14999, 17021, 2730, + 11521, 14999, 17021, 2732, + 11521, 14999, 17021, 2872, + 11521, 14999, 17021, 2884, + 11521, 14999, 17021, 3008, + 11521, 14999, 17021, 3036, + 11521, 14999, 17021, 3042, + 11521, 14999, 17021, 3054, + 11521, 14999, 17021, 3090, + 11521, 14999, 17021, 3186, + 11521, 14999, 17021, 3200, + 11521, 14999, 17021, 3208, + 11521, 14999, 17021, 3232, + 11521, 14999, 17021, 3238, + 11521, 14999, 17021, 3290, + 11521, 14999, 17021, 3294, + 11521, 14999, 17021, 3338, + 11521, 14999, 17021, 3456, + 11521, 14999, 17021, 3482, + 11521, 14999, 17021, 3572, + 11521, 14999, 17021, 3578, + 11521, 14999, 17021, 3672, + 11521, 14999, 17021, 3720, + 11521, 14999, 17021, 3733, 11766, + 11521, 14999, 17021, 3733, 18694, + 11521, 14999, 17021, 3748, + 11521, 14999, 17021, 3754, + 11521, 14999, 17021, 6788, + 11521, 14999, 17021, 6936, + 11521, 14999, 17021, 7016, + 11521, 14999, 17021, 7020, + 11521, 14999, 17021, 7628, + 11521, 14999, 17021, 7714, + 11521, 14999, 17021, 7720, + 11521, 14999, 17021, 7774, + 11521, 14999, 17021, 7886, + 11521, 14999, 17021, 7890, + 11521, 14999, 17021, 8312, + 11521, 14999, 17021, 8334, + 11521, 14999, 17021, 8392, + 11521, 14999, 17021, 8428, + 11521, 14999, 17021, 8464, + 11521, 14999, 17021, 8647, 447, 12334, + 11521, 14999, 17021, 8647, 18616, + 11521, 14999, 17021, 8650, + 11521, 14999, 17021, 8666, + 11521, 14999, 17021, 8682, + 11521, 14999, 17021, 8742, + 11521, 14999, 17021, 8750, + 11521, 14999, 17021, 8752, + 11521, 14999, 17021, 8792, + 11521, 14999, 17021, 8793, 12002, + 11521, 14999, 17021, 8828, + 11521, 14999, 17021, 8906, + 11521, 14999, 17021, 8916, + 11521, 14999, 17021, 9006, + 11521, 14999, 17021, 9032, + 11521, 14999, 17021, 9202, + 11521, 14999, 17021, 9226, + 11521, 14999, 17021, 9232, + 11521, 14999, 17021, 9234, + 11521, 14999, 17021, 9258, + 11521, 14999, 17021, 9294, + 11521, 14999, 17021, 9300, + 11521, 14999, 17021, 9302, + 11521, 14999, 17021, 9490, + 11521, 14999, 17021, 9780, + 11521, 14999, 17021, 9794, + 11521, 14999, 17021, 10082, + 11521, 14999, 17021, 10091, 12996, + 11521, 14999, 17021, 10222, + 11521, 14999, 17021, 10286, + 11521, 14999, 17021, 10630, + 11521, 14999, 17021, 10782, + 11521, 14999, 17021, 10786, + 11521, 14999, 17021, 10792, + 11521, 14999, 17021, 10834, + 11521, 14999, 17021, 12166, + 11521, 14999, 17021, 12194, + 11521, 14999, 17021, 12196, + 11521, 14999, 17021, 12462, + 11521, 14999, 17021, 12498, + 11521, 14999, 17021, 12672, + 11521, 14999, 17021, 12710, + 11521, 14999, 17021, 12718, + 11521, 14999, 17021, 12828, + 11521, 14999, 17021, 12858, + 11521, 14999, 17021, 12870, + 11521, 14999, 17021, 12874, + 11521, 14999, 17021, 12878, + 11521, 14999, 17021, 12900, + 11521, 14999, 17021, 12988, + 11521, 14999, 17021, 13228, + 11521, 14999, 17021, 13636, + 11521, 14999, 17021, 13850, + 11521, 14999, 17021, 13990, + 11521, 14999, 17021, 14122, + 11521, 14999, 17021, 14138, + 11521, 14999, 17021, 14778, + 11521, 14999, 17021, 15000, + 11521, 14999, 17021, 15184, + 11521, 14999, 17021, 15190, + 11521, 14999, 17021, 15212, + 11521, 14999, 17021, 15216, + 11521, 14999, 17021, 15446, + 11521, 14999, 17021, 15722, + 11521, 14999, 17021, 15924, + 11521, 14999, 17021, 16438, + 11521, 14999, 17021, 16858, + 11521, 14999, 17021, 16860, + 11521, 14999, 17021, 16866, + 11521, 14999, 17021, 16870, + 11521, 14999, 17021, 16880, + 11521, 14999, 17021, 17212, + 11521, 14999, 17021, 18350, + 11521, 14999, 17021, 18354, + 11521, 14999, 17021, 18356, + 11521, 14999, 17021, 20277, 8946, + 11521, 14999, 17023, 24, + 11521, 14999, 17023, 40, + 11521, 14999, 17023, 184, + 11521, 14999, 17023, 350, + 11521, 14999, 17023, 366, + 11521, 14999, 17023, 370, + 11521, 14999, 17023, 384, + 11521, 14999, 17023, 392, + 11521, 14999, 17023, 416, + 11521, 14999, 17023, 436, + 11521, 14999, 17023, 460, + 11521, 14999, 17023, 472, + 11521, 14999, 17023, 584, + 11521, 14999, 17023, 598, + 11521, 14999, 17023, 694, + 11521, 14999, 17023, 734, + 11521, 14999, 17023, 1388, + 11521, 14999, 17023, 1900, + 11521, 14999, 17023, 1906, + 11521, 14999, 17023, 1986, + 11521, 14999, 17023, 2168, + 11521, 14999, 17023, 2562, + 11521, 14999, 17023, 2664, + 11521, 14999, 17023, 2898, + 11521, 14999, 17023, 2904, + 11521, 14999, 17023, 2916, + 11521, 14999, 17023, 3054, + 11521, 14999, 17023, 3056, + 11521, 14999, 17023, 3146, + 11521, 14999, 17023, 3186, + 11521, 14999, 17023, 3190, + 11521, 14999, 17023, 3236, + 11521, 14999, 17023, 3572, + 11521, 14999, 17023, 3732, + 11521, 14999, 17023, 7754, + 11521, 14999, 17023, 8330, + 11521, 14999, 17023, 8336, + 11521, 14999, 17023, 8646, + 11521, 14999, 17023, 8726, + 11521, 14999, 17023, 8896, + 11521, 14999, 17023, 8908, + 11521, 14999, 17023, 8922, + 11521, 14999, 17023, 9234, + 11521, 14999, 17023, 9300, + 11521, 14999, 17023, 9490, + 11521, 14999, 17023, 9498, + 11521, 14999, 17023, 9724, + 11521, 14999, 17023, 9772, + 11521, 14999, 17023, 10558, + 11521, 14999, 17023, 12684, + 11521, 14999, 17023, 12896, + 11521, 14999, 17023, 12910, + 11521, 14999, 17023, 13416, + 11521, 14999, 17023, 16876, + 11521, 16880, + 11521, 18511, 8320, + 11521, 19003, 8321, 16592, + 11521, 19003, 8321, 19806, + 11521, 19614, + 11525, 3441, 6793, 9956, + 11525, 3441, 14999, 0, + 11525, 3441, 14999, 8, + 11525, 3441, 14999, 16, + 11525, 3441, 14999, 28, + 11525, 3441, 14999, 40, + 11525, 3441, 14999, 106, + 11525, 3441, 14999, 130, + 11525, 3441, 14999, 166, + 11525, 3441, 14999, 184, + 11525, 3441, 14999, 224, + 11525, 3441, 14999, 342, + 11525, 3441, 14999, 350, + 11525, 3441, 14999, 498, + 11525, 3441, 14999, 522, + 11525, 3441, 14999, 592, + 11525, 3441, 14999, 634, + 11525, 3441, 14999, 690, + 11525, 3441, 14999, 694, + 11525, 3441, 14999, 760, + 11525, 3441, 14999, 1438, + 11525, 3441, 14999, 1466, + 11525, 3441, 14999, 2268, + 11525, 3441, 14999, 3432, + 11525, 3441, 14999, 3710, + 11525, 3441, 14999, 6390, + 11525, 3441, 14999, 6574, + 11525, 3441, 14999, 7334, + 11525, 3441, 14999, 7696, + 11525, 3441, 14999, 10776, + 11525, 3441, 14999, 14022, + 11525, 3441, 19003, 2175, 10218, + 11525, 3441, 19003, 2303, 10218, + 11525, 3441, 19003, 7171, 10218, + 11525, 3441, 19003, 16729, 10218, + 11525, 3441, 19003, 18145, 10218, + 11527, 9855, 13788, + 11527, 14003, 9855, 8, + 11527, 14003, 9855, 16, + 11527, 14003, 9855, 28, + 11527, 14003, 9855, 40, + 11527, 14003, 9855, 41, 1397, 20405, 588, + 11527, 14003, 9855, 184, + 11527, 14003, 9855, 7601, 16, + 11527, 14003, 9855, 7601, 28, + 11527, 14003, 9855, 15293, 8, + 11527, 14999, 0, + 11527, 14999, 16, + 11527, 14999, 40, + 11527, 14999, 106, + 11527, 14999, 124, + 11527, 14999, 148, + 11527, 14999, 244, + 11527, 14999, 266, + 11527, 14999, 336, + 11527, 14999, 384, + 11527, 14999, 416, + 11527, 14999, 448, + 11527, 14999, 522, + 11527, 14999, 572, + 11527, 14999, 588, + 11527, 14999, 694, + 11527, 14999, 734, + 11527, 14999, 2266, + 11527, 14999, 2420, + 11527, 14999, 2444, + 11527, 14999, 2556, + 11527, 14999, 7601, 106, + 11527, 14999, 15293, 694, + 11527, 14999, 18369, 622, + 11527, 14999, 18619, 622, + 11527, 14999, 20231, 266, + 11527, 14999, 20231, 448, + 11527, 14999, 20231, 588, + 11527, 14999, 20405, 0, + 11527, 14999, 20405, 244, + 11527, 14999, 20405, 266, + 11527, 14999, 20405, 384, + 11527, 14999, 20405, 416, + 11527, 14999, 20405, 522, + 11527, 14999, 20405, 572, + 11527, 14999, 20405, 588, + 11527, 14999, 20405, 694, + 11527, 14999, 20405, 734, + 11527, 15673, 11565, 449, 12704, + 11527, 15673, 11565, 12422, + 11527, 15673, 11565, 18422, + 11527, 15673, 11565, 20328, + 11527, 18422, + 11527, 19015, 9855, 14, + 11527, 19015, 9855, 456, + 11527, 20304, + 11541, 10641, 18832, + 11557, 968, + 11571, 671, 18471, 17655, 12388, + 11571, 2462, + 11571, 3137, 10641, 9474, + 11571, 6091, 9970, + 11571, 6435, 18471, 17655, 12388, + 11571, 6758, + 11571, 6779, 17045, 9950, + 11571, 7131, 13483, 14723, 6410, + 11571, 7817, 7797, 12698, + 11571, 7817, 18471, 12388, + 11571, 7817, 18471, 17655, 12388, + 11571, 8461, 15006, + 11571, 9950, + 11571, 10197, 15620, + 11571, 10197, 16248, + 11571, 10197, 16732, + 11571, 10533, 13563, 15620, + 11571, 10533, 13563, 16248, + 11571, 10533, 13563, 16732, + 11571, 11703, 7672, + 11571, 11703, 9220, + 11571, 11703, 9518, + 11571, 11703, 13286, + 11571, 11703, 14382, + 11571, 11703, 14950, + 11571, 11773, 497, 15544, + 11571, 12274, + 11571, 12275, 9970, + 11571, 12537, 14486, + 11571, 12537, 15620, + 11571, 12589, 7817, 18774, + 11571, 12589, 13341, 18774, + 11571, 13341, 18471, 12388, + 11571, 13341, 18471, 17655, 12388, + 11571, 13501, 13226, + 11571, 13545, 843, 19946, + 11571, 13563, 9950, + 11571, 13563, 15620, + 11571, 13563, 16248, + 11571, 13563, 16732, + 11571, 13585, 9970, + 11571, 13816, + 11571, 13889, 7817, 18774, + 11571, 13889, 13341, 18774, + 11571, 14396, + 11571, 14455, 14049, 9950, + 11571, 14486, + 11571, 14487, 1397, 15428, + 11571, 14487, 10641, 3357, 14049, 6430, + 11571, 14487, 10641, 6435, 11476, + 11571, 14487, 10641, 14049, 1217, 13340, + 11571, 14537, 17463, 843, 19407, 11476, + 11571, 14537, 17463, 843, 20375, 11476, + 11571, 14537, 19215, 843, 19407, 11476, + 11571, 14537, 19215, 843, 20375, 11476, + 11571, 14537, 19407, 843, 17463, 11476, + 11571, 14537, 19407, 843, 19215, 11476, + 11571, 14537, 20375, 843, 17463, 11476, + 11571, 14537, 20375, 843, 19215, 11476, + 11571, 14732, + 11571, 15095, 13563, 15620, + 11571, 15095, 13563, 16248, + 11571, 15095, 13563, 16732, + 11571, 15095, 15620, + 11571, 15095, 16248, + 11571, 15095, 16732, + 11571, 15095, 20973, 18774, + 11571, 15095, 20973, 18775, 16126, + 11571, 15095, 22821, 18774, + 11571, 15095, 22821, 18775, 16126, + 11571, 15095, 22867, 18774, + 11571, 15095, 22867, 18775, 16126, + 11571, 15095, 23121, 18774, + 11571, 15095, 23121, 18775, 16126, + 11571, 15469, 18566, + 11571, 15620, + 11571, 15621, 1397, 9956, + 11571, 15621, 14420, + 11571, 15621, 16126, + 11571, 16248, + 11571, 16249, 9970, + 11571, 16249, 10641, 6435, 11476, + 11571, 16249, 12741, 14049, 46, + 11571, 16249, 16126, + 11571, 16340, + 11571, 16492, + 11571, 16732, + 11571, 16916, + 11571, 17000, + 11571, 17084, + 11571, 17136, + 11571, 17245, 6718, + 11571, 17248, + 11571, 17443, 7817, 3537, 17392, + 11571, 17463, 20683, 18906, + 11571, 17995, 2242, + 11571, 17995, 7672, + 11571, 18072, + 11571, 18446, + 11571, 18511, 8321, 18392, + 11571, 18566, + 11571, 18611, 13563, 14486, + 11571, 18611, 13563, 15620, + 11571, 18847, 16366, + 11571, 18847, 19566, + 11571, 19215, 20683, 18906, + 11571, 19332, + 11571, 19407, 14418, + 11571, 19407, 20683, 18906, + 11571, 19566, + 11571, 19772, + 11571, 19787, 19772, + 11571, 19821, 19569, 15672, + 11571, 20181, 16366, + 11571, 20375, 11476, + 11571, 20375, 14418, + 11571, 20375, 18906, + 11571, 20375, 20683, 18906, + 11571, 20973, 13563, 18774, + 11571, 20973, 14625, 18774, + 11571, 20973, 18774, + 11571, 20973, 19369, 13341, 18774, + 11571, 22821, 13563, 18774, + 11571, 22821, 14625, 18774, + 11571, 22821, 18774, + 11571, 22821, 19369, 13341, 18774, + 11571, 22867, 13563, 18774, + 11571, 22867, 14625, 18774, + 11571, 22867, 14625, 18775, 10641, 18847, 896, + 11571, 22867, 17046, + 11571, 22867, 18774, + 11571, 22867, 19369, 13341, 18774, + 11571, 22888, + 11571, 23121, 13563, 18774, + 11571, 23121, 14625, 18774, + 11571, 23121, 14625, 18775, 10641, 18847, 896, + 11571, 23121, 17046, + 11571, 23121, 18446, + 11571, 23121, 18774, + 11571, 23121, 18775, 10641, 14625, 18847, 896, + 11571, 23121, 19369, 13341, 18774, + 11575, 15672, + 11586, + 11594, + 11596, + 11601, 10641, 10528, + 11615, 14003, 9855, 16, + 11615, 14003, 9855, 40, + 11615, 14999, 0, + 11615, 14999, 16, + 11615, 14999, 40, + 11615, 14999, 106, + 11615, 14999, 148, + 11615, 14999, 244, + 11615, 14999, 266, + 11615, 14999, 350, + 11615, 14999, 384, + 11615, 14999, 416, + 11615, 14999, 448, + 11615, 14999, 522, + 11615, 14999, 572, + 11615, 14999, 588, + 11615, 14999, 622, + 11615, 14999, 694, + 11615, 14999, 734, + 11615, 14999, 2444, + 11625, 317, 20402, + 11644, + 11646, + 11652, + 11653, 19361, 13250, + 11656, + 11684, + 11693, 10641, 17463, 13812, + 11693, 10641, 17463, 13813, 843, 3699, 9854, + 11693, 10641, 19215, 13812, + 11695, 8320, + 11737, 15499, 15672, + 11743, 6719, 2611, 15242, + 11743, 6719, 3077, 15242, + 11743, 6719, 3233, 15242, + 11743, 6719, 3357, 15242, + 11743, 6719, 6757, 15242, + 11743, 6719, 6779, 15242, + 11743, 6719, 8781, 15242, + 11743, 6719, 11979, 15242, + 11743, 6719, 13451, 15242, + 11743, 6719, 13737, 15242, + 11743, 6719, 14639, 15242, + 11743, 6719, 15819, 15242, + 11743, 6719, 20288, + 11743, 6719, 20428, + 11743, 6719, 20468, + 11743, 6719, 20502, + 11743, 6719, 20692, + 11743, 6719, 20698, + 11743, 6719, 20824, + 11743, 6719, 21080, + 11743, 6719, 21208, + 11743, 6719, 21246, + 11743, 6719, 22826, + 11743, 6719, 22948, + 11745, 670, + 11748, + 11749, 10641, 9466, + 11749, 10641, 9886, + 11749, 10641, 17384, + 11749, 10641, 19414, + 11751, 6718, + 11756, + 11757, 9854, + 11757, 14646, + 11760, + 11762, + 11765, 843, 7794, + 11773, 485, 18262, + 11773, 485, 19372, + 11773, 8320, + 11773, 15372, + 11773, 15373, 10641, 20707, 11552, + 11774, + 11779, 7888, + 11779, 16089, 19242, + 11779, 16727, 504, + 11779, 16727, 842, + 11781, 843, 9496, + 11851, 15672, + 11856, + 11889, 12005, 634, + 11905, 2610, + 11905, 2611, 6793, 9956, + 11905, 2611, 11762, + 11905, 3076, + 11905, 3077, 6793, 9956, + 11905, 3077, 11762, + 11905, 3356, + 11905, 3357, 6793, 9956, + 11905, 3357, 11762, + 11905, 6756, + 11905, 6757, 6793, 9956, + 11905, 6757, 11762, + 11905, 6778, + 11905, 6779, 6793, 9956, + 11905, 6779, 11762, + 11905, 8780, + 11905, 8781, 6793, 9956, + 11905, 8781, 11762, + 11905, 10900, + 11905, 10901, 6793, 9956, + 11905, 10901, 11762, + 11905, 11978, + 11905, 11979, 6793, 9956, + 11905, 11979, 11762, + 11905, 13450, + 11905, 13451, 6793, 9956, + 11905, 13451, 11762, + 11905, 13736, + 11905, 13737, 6793, 9956, + 11905, 13737, 11762, + 11913, 8320, + 11915, 6718, + 11915, 15672, + 11930, + 11935, 9881, 9854, + 11964, + 11968, + 11969, 12215, 17602, + 11969, 12215, 22832, + 11969, 12215, 22968, + 11969, 14800, + 11979, 15609, 17642, + 11979, 17045, 11571, 9950, + 11979, 17045, 18461, 9950, + 11979, 17045, 20885, 11571, 9950, + 11979, 18453, 18397, 11571, 18072, + 11979, 23301, 19547, 17642, + 11981, 15672, + 11987, 18319, 20691, 15830, + 11987, 18319, 20691, 15832, + 11987, 18319, 20691, 15834, + 11987, 18319, 20691, 15836, + 11987, 18319, 20691, 18822, + 11989, 3042, + 11989, 3043, 10641, 7817, 11477, 11392, + 11989, 3043, 10641, 13341, 11477, 11392, + 11989, 3043, 10641, 13563, 14487, 11392, + 11989, 3043, 10641, 16946, + 11989, 8852, + 11989, 8853, 2638, + 11989, 8853, 9206, + 11989, 9206, + 11989, 13176, + 11989, 17866, + 11993, 15672, + 12005, 635, 123, 19964, + 12005, 635, 505, 18486, + 12005, 635, 505, 18684, + 12005, 635, 505, 19408, + 12005, 635, 505, 21096, + 12005, 843, 18431, 634, + 12009, 635, 3245, 7816, + 12009, 635, 3245, 13340, + 12029, 17780, + 12065, 15672, + 12074, + 12077, 14847, 13621, 843, 5730, + 12087, 13239, 12682, + 12087, 15645, 16534, + 12087, 17087, 8460, + 12087, 17087, 8461, 10641, 6718, + 12087, 17087, 8461, 15672, + 12098, + 12111, 10641, 81, 46, + 12111, 10641, 13760, + 12111, 10641, 17030, + 12115, 15558, + 12122, + 12200, + 12205, 15672, + 12209, 15672, + 12213, 485, 8438, + 12215, 10641, 19434, + 12233, 14262, + 12237, 537, 15672, + 12237, 849, 15706, + 12237, 1871, 15672, + 12237, 2611, 7123, 9854, + 12237, 2611, 7123, 9855, 18891, 6776, + 12237, 2611, 17087, 9854, + 12237, 2681, 15672, + 12237, 2915, 10641, 15643, 15672, + 12237, 2915, 15672, + 12237, 3357, 13133, 9854, + 12237, 3357, 15735, 9854, + 12237, 5817, 15672, + 12237, 6757, 13133, 9854, + 12237, 6779, 13133, 9854, + 12237, 9155, 9854, + 12237, 9176, + 12237, 10773, 9854, + 12237, 10901, 9854, + 12237, 11864, + 12237, 11865, 843, 9176, + 12237, 11865, 843, 13974, + 12237, 11865, 843, 20854, + 12237, 12435, 15672, + 12237, 12575, 9854, + 12237, 12589, 16899, 9854, + 12237, 13268, + 12237, 13269, 843, 9176, + 12237, 13269, 843, 13974, + 12237, 13269, 843, 20854, + 12237, 13563, 14623, 15043, 13531, 15672, + 12237, 13563, 14999, 440, + 12237, 13563, 14999, 472, + 12237, 13563, 14999, 536, + 12237, 13563, 14999, 724, + 12237, 13563, 14999, 1048, + 12237, 13563, 14999, 1326, + 12237, 13563, 14999, 1327, 10641, 9176, + 12237, 13563, 14999, 1327, 10641, 9177, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 11864, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 9177, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 13975, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 20854, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 20855, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 11865, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 13268, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 9177, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 13975, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 20854, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 20855, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 13269, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 13792, + 12237, 13563, 14999, 1327, 10641, 13974, + 12237, 13563, 14999, 1327, 10641, 13975, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 20854, + 12237, 13563, 14999, 1327, 10641, 20855, 843, 22960, + 12237, 13563, 14999, 1327, 10641, 22960, + 12237, 13563, 14999, 2680, + 12237, 13563, 14999, 2722, + 12237, 13563, 14999, 2914, + 12237, 13563, 14999, 2915, 10641, 11864, + 12237, 13563, 14999, 2915, 10641, 13268, + 12237, 13563, 14999, 3020, + 12237, 13563, 14999, 3054, + 12237, 13563, 14999, 3216, + 12237, 13563, 14999, 5816, + 12237, 13563, 14999, 7154, + 12237, 13563, 14999, 7438, + 12237, 13563, 14999, 7439, 10641, 9176, + 12237, 13563, 14999, 7439, 10641, 11864, + 12237, 13563, 14999, 7439, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 7439, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 7439, 10641, 11865, 843, 20854, + 12237, 13563, 14999, 7439, 10641, 13268, + 12237, 13563, 14999, 7439, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 7439, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 7439, 10641, 13269, 843, 20854, + 12237, 13563, 14999, 7439, 10641, 13792, + 12237, 13563, 14999, 7439, 10641, 13974, + 12237, 13563, 14999, 7439, 10641, 15050, + 12237, 13563, 14999, 7439, 10641, 15876, + 12237, 13563, 14999, 7439, 10641, 19062, + 12237, 13563, 14999, 7439, 10641, 19063, 843, 9176, + 12237, 13563, 14999, 7439, 10641, 19063, 843, 13792, + 12237, 13563, 14999, 7439, 10641, 19063, 843, 13974, + 12237, 13563, 14999, 7439, 10641, 19063, 843, 20854, + 12237, 13563, 14999, 7439, 10641, 20854, + 12237, 13563, 14999, 10902, + 12237, 13563, 14999, 11436, + 12237, 13563, 14999, 11437, 10641, 9176, + 12237, 13563, 14999, 11437, 10641, 9177, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 11864, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 9177, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 13975, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 20854, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 20855, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 11865, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 13268, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 9177, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 13975, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 20854, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 20855, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 13269, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 13792, + 12237, 13563, 14999, 11437, 10641, 13974, + 12237, 13563, 14999, 11437, 10641, 13975, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 15050, + 12237, 13563, 14999, 11437, 10641, 15876, + 12237, 13563, 14999, 11437, 10641, 20854, + 12237, 13563, 14999, 11437, 10641, 20855, 843, 22960, + 12237, 13563, 14999, 11437, 10641, 22960, + 12237, 13563, 14999, 11888, + 12237, 13563, 14999, 12085, 13530, + 12237, 13563, 14999, 12156, + 12237, 13563, 14999, 12434, + 12237, 13563, 14999, 12494, + 12237, 13563, 14999, 12528, + 12237, 13563, 14999, 13144, + 12237, 13563, 14999, 13145, 10641, 9176, + 12237, 13563, 14999, 13145, 10641, 9177, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 11864, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 9177, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 13975, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 20854, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 20855, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 11865, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 13268, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 9177, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 13975, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 20854, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 20855, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 13269, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 13792, + 12237, 13563, 14999, 13145, 10641, 13974, + 12237, 13563, 14999, 13145, 10641, 13975, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 20854, + 12237, 13563, 14999, 13145, 10641, 20855, 843, 22960, + 12237, 13563, 14999, 13145, 10641, 22960, + 12237, 13563, 14999, 13420, + 12237, 13563, 14999, 13530, + 12237, 13563, 14999, 13718, + 12237, 13563, 14999, 15628, + 12237, 13563, 14999, 16011, 12494, + 12237, 13563, 14999, 16011, 13420, + 12237, 13563, 14999, 16252, + 12237, 13563, 14999, 16376, + 12237, 13563, 14999, 16377, 10641, 9176, + 12237, 13563, 14999, 16377, 10641, 11864, + 12237, 13563, 14999, 16377, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 16377, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 16377, 10641, 13268, + 12237, 13563, 14999, 16377, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 16377, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 16377, 10641, 13792, + 12237, 13563, 14999, 16377, 10641, 13974, + 12237, 13563, 14999, 16926, + 12237, 13563, 14999, 16927, 10641, 9176, + 12237, 13563, 14999, 16927, 10641, 11864, + 12237, 13563, 14999, 16927, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 16927, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 16927, 10641, 13268, + 12237, 13563, 14999, 16927, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 16927, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 16927, 10641, 13792, + 12237, 13563, 14999, 16927, 10641, 13974, + 12237, 13563, 14999, 17460, + 12237, 13563, 14999, 17461, 10641, 9176, + 12237, 13563, 14999, 17461, 10641, 11864, + 12237, 13563, 14999, 17461, 10641, 11865, 843, 9176, + 12237, 13563, 14999, 17461, 10641, 11865, 843, 13974, + 12237, 13563, 14999, 17461, 10641, 11865, 843, 20854, + 12237, 13563, 14999, 17461, 10641, 13268, + 12237, 13563, 14999, 17461, 10641, 13269, 843, 9176, + 12237, 13563, 14999, 17461, 10641, 13269, 843, 13974, + 12237, 13563, 14999, 17461, 10641, 13269, 843, 20854, + 12237, 13563, 14999, 17461, 10641, 13792, + 12237, 13563, 14999, 17461, 10641, 13974, + 12237, 13563, 14999, 17461, 10641, 15050, + 12237, 13563, 14999, 17461, 10641, 15876, + 12237, 13563, 14999, 17461, 10641, 19062, + 12237, 13563, 14999, 17461, 10641, 19063, 843, 9176, + 12237, 13563, 14999, 17461, 10641, 19063, 843, 13792, + 12237, 13563, 14999, 17461, 10641, 19063, 843, 13974, + 12237, 13563, 14999, 17461, 10641, 19063, 843, 20854, + 12237, 13563, 14999, 17461, 10641, 20854, + 12237, 13563, 14999, 20299, 16252, + 12237, 13563, 18543, 14623, 15043, 13531, 15672, + 12237, 13563, 18543, 15043, 13531, 15672, + 12237, 13719, 15672, + 12237, 13737, 13133, 9854, + 12237, 13737, 18509, 9854, + 12237, 13792, + 12237, 13974, + 12237, 14001, 18371, 18698, + 12237, 14001, 18371, 18700, + 12237, 14001, 18371, 18702, + 12237, 14001, 18371, 18704, + 12237, 14001, 18371, 18706, + 12237, 14001, 18371, 18708, + 12237, 14001, 18371, 18710, + 12237, 14001, 18371, 18712, + 12237, 14001, 18371, 18714, + 12237, 14001, 18371, 19684, + 12237, 14001, 18371, 19686, + 12237, 14001, 18371, 19688, + 12237, 14001, 18371, 19690, + 12237, 14001, 18371, 19692, + 12237, 14001, 18371, 19694, + 12237, 14001, 18371, 19696, + 12237, 14001, 18371, 19698, + 12237, 14001, 18371, 19700, + 12237, 14001, 18371, 19702, + 12237, 14001, 18371, 19704, + 12237, 14001, 18371, 19706, + 12237, 14001, 18371, 19708, + 12237, 14001, 18371, 19710, + 12237, 14001, 18371, 19712, + 12237, 14001, 18371, 19748, + 12237, 14001, 18371, 19750, + 12237, 14001, 18371, 19752, + 12237, 14001, 18371, 19754, + 12237, 14001, 18371, 19756, + 12237, 14309, 9854, + 12237, 14317, 9854, + 12237, 14795, 9854, + 12237, 14999, 3734, + 12237, 14999, 12494, + 12237, 14999, 13420, + 12237, 14999, 13563, 16111, 536, + 12237, 14999, 13563, 16111, 2722, + 12237, 14999, 13563, 16111, 2914, + 12237, 14999, 13563, 16111, 12156, + 12237, 14999, 13563, 16111, 12528, + 12237, 14999, 13563, 16111, 13144, + 12237, 14999, 15628, + 12237, 14999, 16011, 12494, + 12237, 14999, 16252, + 12237, 15043, 13531, 15672, + 12237, 15043, 16377, 15672, + 12237, 15277, 9854, + 12237, 15673, 3217, 2914, + 12237, 15685, 9854, + 12237, 15915, 9854, + 12237, 16111, 1871, 15672, + 12237, 16111, 13719, 15672, + 12237, 16111, 14623, 15043, 13531, 15672, + 12237, 16111, 14999, 440, + 12237, 16111, 14999, 472, + 12237, 16111, 14999, 536, + 12237, 16111, 14999, 724, + 12237, 16111, 14999, 1048, + 12237, 16111, 14999, 1326, + 12237, 16111, 14999, 1327, 10641, 9176, + 12237, 16111, 14999, 1327, 10641, 11864, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 9177, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 13975, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 20854, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 20855, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 11865, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 13268, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 9177, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 13975, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 20854, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 20855, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 13269, 843, 23114, + 12237, 16111, 14999, 1327, 10641, 13792, + 12237, 16111, 14999, 1327, 10641, 13974, + 12237, 16111, 14999, 1327, 10641, 23114, + 12237, 16111, 14999, 2680, + 12237, 16111, 14999, 2722, + 12237, 16111, 14999, 2914, + 12237, 16111, 14999, 2915, 10641, 11864, + 12237, 16111, 14999, 3020, + 12237, 16111, 14999, 3054, + 12237, 16111, 14999, 3216, + 12237, 16111, 14999, 3734, + 12237, 16111, 14999, 5816, + 12237, 16111, 14999, 7154, + 12237, 16111, 14999, 7438, + 12237, 16111, 14999, 7439, 10641, 9176, + 12237, 16111, 14999, 7439, 10641, 11864, + 12237, 16111, 14999, 7439, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 7439, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 7439, 10641, 11865, 843, 20854, + 12237, 16111, 14999, 7439, 10641, 13268, + 12237, 16111, 14999, 7439, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 7439, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 7439, 10641, 13269, 843, 20854, + 12237, 16111, 14999, 7439, 10641, 13792, + 12237, 16111, 14999, 7439, 10641, 13974, + 12237, 16111, 14999, 7439, 10641, 15050, + 12237, 16111, 14999, 7439, 10641, 15876, + 12237, 16111, 14999, 7439, 10641, 19062, + 12237, 16111, 14999, 10902, + 12237, 16111, 14999, 11436, + 12237, 16111, 14999, 11437, 10641, 9176, + 12237, 16111, 14999, 11437, 10641, 11864, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 9177, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 13975, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 20854, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 20855, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 11865, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 13268, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 9177, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 13975, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 20854, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 20855, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 13269, 843, 23114, + 12237, 16111, 14999, 11437, 10641, 13792, + 12237, 16111, 14999, 11437, 10641, 13974, + 12237, 16111, 14999, 11437, 10641, 15050, + 12237, 16111, 14999, 11437, 10641, 15876, + 12237, 16111, 14999, 11437, 10641, 23114, + 12237, 16111, 14999, 11888, + 12237, 16111, 14999, 12156, + 12237, 16111, 14999, 12434, + 12237, 16111, 14999, 12528, + 12237, 16111, 14999, 13144, + 12237, 16111, 14999, 13145, 10641, 9176, + 12237, 16111, 14999, 13145, 10641, 11864, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 9177, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 13975, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 20854, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 20855, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 11865, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 13268, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 9177, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 13975, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 20854, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 20855, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 13269, 843, 23114, + 12237, 16111, 14999, 13145, 10641, 13792, + 12237, 16111, 14999, 13145, 10641, 13974, + 12237, 16111, 14999, 13145, 10641, 23114, + 12237, 16111, 14999, 13530, + 12237, 16111, 14999, 13718, + 12237, 16111, 14999, 16011, 13420, + 12237, 16111, 14999, 16376, + 12237, 16111, 14999, 16377, 10641, 9176, + 12237, 16111, 14999, 16377, 10641, 11864, + 12237, 16111, 14999, 16377, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 16377, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 16377, 10641, 13268, + 12237, 16111, 14999, 16377, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 16377, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 16377, 10641, 13792, + 12237, 16111, 14999, 16377, 10641, 13974, + 12237, 16111, 14999, 16926, + 12237, 16111, 14999, 16927, 10641, 9176, + 12237, 16111, 14999, 16927, 10641, 11864, + 12237, 16111, 14999, 16927, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 16927, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 16927, 10641, 13268, + 12237, 16111, 14999, 16927, 10641, 13269, 843, 9176, + 12237, 16111, 14999, 16927, 10641, 13269, 843, 13974, + 12237, 16111, 14999, 16927, 10641, 13792, + 12237, 16111, 14999, 16927, 10641, 13974, + 12237, 16111, 14999, 17460, + 12237, 16111, 14999, 17461, 10641, 9176, + 12237, 16111, 14999, 17461, 10641, 11864, + 12237, 16111, 14999, 17461, 10641, 11865, 843, 9176, + 12237, 16111, 14999, 17461, 10641, 11865, 843, 13974, + 12237, 16111, 14999, 17461, 10641, 11865, 843, 20854, + 12237, 16111, 14999, 17461, 10641, 13792, + 12237, 16111, 14999, 17461, 10641, 13974, + 12237, 16111, 14999, 17461, 10641, 15050, + 12237, 16111, 14999, 17461, 10641, 15876, + 12237, 16111, 14999, 17461, 10641, 19062, + 12237, 16111, 14999, 20299, 16252, + 12237, 16111, 15043, 13531, 15672, + 12237, 16111, 18543, 14623, 15043, 13531, 15672, + 12237, 16111, 18543, 15043, 13531, 15672, + 12237, 16339, 9854, + 12237, 16596, + 12237, 16603, 5745, 9854, + 12237, 16831, 14990, + 12237, 16899, 9854, + 12237, 17461, 10641, 7293, 15672, + 12237, 17461, 10641, 11395, 843, 7293, 15672, + 12237, 17461, 10641, 19059, 843, 7293, 15672, + 12237, 18305, 9854, + 12237, 18511, 8320, + 12237, 18543, 15043, 16377, 15672, + 12237, 18603, 9854, + 12237, 18809, 5745, 9854, + 12237, 19063, 843, 9176, + 12237, 19063, 843, 13974, + 12237, 19063, 843, 20854, + 12237, 19063, 13792, + 12237, 19355, 9854, + 12237, 19673, 13563, 14999, 1048, + 12237, 19673, 13563, 14999, 2680, + 12237, 19673, 13563, 14999, 2914, + 12237, 19673, 13563, 14999, 5816, + 12237, 19673, 13563, 14999, 12156, + 12237, 19855, 11491, 2611, 7122, + 12237, 19855, 11491, 2611, 16338, + 12237, 19855, 11491, 2611, 16503, 17286, + 12237, 19855, 11491, 2611, 16503, 17340, + 12237, 19855, 11491, 2611, 17086, + 12237, 19855, 11491, 2611, 18745, 17286, + 12237, 19855, 11491, 2611, 18745, 17340, + 12237, 19855, 11491, 3233, 8450, + 12237, 19855, 11491, 3233, 17286, + 12237, 19855, 11491, 3233, 17340, + 12237, 19855, 11491, 3233, 18745, 17286, + 12237, 19855, 11491, 6756, + 12237, 19855, 11491, 6757, 16502, + 12237, 19855, 11491, 6757, 16503, 17286, + 12237, 19855, 11491, 6757, 16503, 17340, + 12237, 19855, 11491, 6757, 17286, + 12237, 19855, 11491, 6757, 17340, + 12237, 19855, 11491, 6757, 18744, + 12237, 19855, 11491, 6757, 18745, 17340, + 12237, 19855, 11491, 12080, + 12237, 19855, 11491, 12081, 17286, + 12237, 19855, 11491, 12081, 17340, + 12237, 19855, 11491, 12081, 18744, + 12237, 19855, 11491, 12081, 18745, 17286, + 12237, 19855, 15161, 6757, 16502, + 12237, 19855, 16237, 6757, 8450, + 12237, 19855, 16491, 2611, 18466, + 12237, 19855, 17807, 3357, 17990, + 12237, 19855, 18657, 12081, 8450, + 12237, 19855, 18739, 2610, + 12237, 19855, 18739, 2611, 16502, + 12237, 19855, 18739, 2611, 18744, + 12237, 19855, 18739, 3232, + 12237, 19855, 18739, 3356, + 12237, 19855, 18739, 6757, 16502, + 12237, 19855, 18739, 6757, 18744, + 12237, 19855, 18739, 12080, + 12237, 19855, 18739, 13737, 16502, + 12237, 19855, 18739, 15736, + 12237, 19855, 18973, 6757, 16502, + 12237, 19855, 19437, 3232, + 12237, 19855, 20123, 3356, + 12237, 19855, 20123, 3357, 17990, + 12237, 19855, 20123, 6757, 16502, + 12237, 19855, 20171, 2610, + 12237, 19855, 20171, 3232, + 12237, 19855, 20171, 12080, + 12237, 19855, 20485, 3232, + 12237, 19855, 20485, 3233, 18891, 6776, + 12237, 19855, 20485, 6756, + 12237, 19855, 20485, 6757, 16502, + 12237, 19855, 20485, 12080, + 12237, 19855, 20485, 12081, 18891, 6776, + 12237, 20854, + 12237, 21121, 18371, 18698, + 12237, 21121, 18371, 18700, + 12237, 21121, 18371, 18704, + 12237, 21121, 18371, 18706, + 12237, 21121, 18371, 18710, + 12237, 21121, 18371, 18712, + 12237, 21121, 18371, 19686, + 12237, 21121, 18371, 19688, + 12237, 21121, 18371, 19690, + 12237, 21121, 18371, 19692, + 12237, 21121, 18371, 19698, + 12237, 21121, 18371, 19700, + 12237, 21121, 18371, 19702, + 12237, 21121, 18371, 19710, + 12237, 21121, 18371, 19712, + 12237, 21121, 18371, 19714, + 12237, 21121, 18371, 19716, + 12237, 21121, 18371, 19718, + 12237, 21121, 18371, 19720, + 12237, 21121, 18371, 19722, + 12237, 21121, 18371, 19724, + 12237, 21121, 18371, 19726, + 12237, 21121, 18371, 19728, + 12237, 21121, 18371, 19730, + 12237, 21121, 18371, 19732, + 12237, 21121, 18371, 19734, + 12237, 21121, 18371, 19736, + 12237, 21121, 18371, 19738, + 12237, 21121, 18371, 19740, + 12237, 21121, 18371, 19742, + 12237, 21121, 18371, 19744, + 12237, 21121, 18371, 19746, + 12237, 21121, 18371, 19748, + 12237, 21121, 18371, 19750, + 12237, 21121, 18371, 19752, + 12237, 21121, 18371, 19754, + 12237, 21121, 18371, 19756, + 12237, 22960, + 12237, 23114, + 12239, 5860, + 12239, 11460, + 12239, 12274, + 12239, 13410, + 12265, 15321, 17097, 2611, 7126, + 12275, 10641, 3265, 497, 3245, 7816, + 12275, 10641, 11476, + 12275, 10641, 15442, + 12275, 19960, + 12277, 2175, 14625, 11763, 19557, 8321, 18392, + 12277, 2175, 15573, 11763, 19557, 8321, 18392, + 12277, 3077, 15609, 17642, + 12277, 3077, 17045, 11571, 9950, + 12277, 6757, 15609, 17642, + 12277, 6757, 17045, 11571, 9950, + 12277, 6779, 22973, 17642, + 12277, 9171, 14455, 11772, + 12277, 9173, 10641, 9173, 14874, + 12277, 9287, 9854, + 12277, 11477, 13457, 14055, 2610, + 12277, 11477, 13457, 14055, 2611, 7122, + 12277, 11477, 13457, 14055, 2611, 13728, + 12277, 11477, 13457, 14055, 3357, 15734, + 12277, 11571, 12274, + 12277, 11571, 14537, 17463, 843, 20375, 11476, + 12277, 11571, 14537, 19215, 843, 20375, 11476, + 12277, 11695, 8320, + 12277, 11979, 15609, 17642, + 12277, 11979, 17045, 11571, 9950, + 12277, 11979, 17045, 18461, 9950, + 12277, 11979, 17045, 20885, 11571, 9950, + 12277, 11979, 23301, 19547, 17642, + 12277, 12237, 11772, + 12277, 12275, 20685, 8321, 18392, + 12277, 12537, 14486, + 12277, 12541, 11772, + 12277, 12589, 23123, 14049, 20375, 11476, + 12277, 12741, 9854, + 12277, 12973, 6561, 11476, + 12277, 12973, 6561, 18471, 974, + 12277, 12973, 6561, 18471, 10551, 7812, + 12277, 12973, 10629, 18471, 974, + 12277, 12973, 10629, 18471, 10551, 7812, + 12277, 13581, 6561, 11476, + 12277, 13581, 6561, 18471, 974, + 12277, 13581, 6561, 18471, 10551, 7812, + 12277, 13581, 10629, 18471, 974, + 12277, 13581, 10629, 18471, 10551, 7812, + 12277, 13889, 23123, 14049, 20375, 11476, + 12277, 14049, 14486, + 12277, 14049, 15620, + 12277, 14049, 22821, 18774, + 12277, 14343, 46, + 12277, 14486, + 12277, 14487, 10641, 14487, 14874, + 12277, 14487, 10641, 15643, 843, 3357, 6431, 11392, + 12277, 14555, 23305, 20375, 11476, + 12277, 14601, 9854, + 12277, 14625, 11763, 19557, 8321, 18392, + 12277, 14625, 15811, 11763, 19557, 8321, 18392, + 12277, 15501, 18249, 213, 18392, + 12277, 15573, 11763, 19557, 8321, 18392, + 12277, 15573, 15811, 11763, 19557, 8321, 18392, + 12277, 15819, 17045, 11571, 9950, + 12277, 15819, 17045, 18461, 9950, + 12277, 16139, 19638, + 12277, 16153, 17154, + 12277, 17154, + 12277, 17260, + 12277, 17463, 11477, 10641, 12537, 20683, 18906, + 12277, 17463, 11477, 10641, 20683, 18906, + 12277, 17642, + 12277, 17865, 9854, + 12277, 18249, 9171, 213, 18392, + 12277, 18397, 11571, 9950, + 12277, 18847, 896, + 12277, 18895, 18392, + 12277, 19215, 11477, 10641, 12537, 20683, 18906, + 12277, 19215, 11477, 10641, 20683, 18906, + 12277, 19407, 11477, 10641, 12537, 20683, 18906, + 12277, 19407, 11477, 10641, 20683, 18906, + 12277, 20375, 11476, + 12277, 20375, 11477, 10641, 12537, 20683, 18906, + 12277, 20375, 11477, 10641, 20683, 18906, + 12277, 20377, 20753, 18392, + 12277, 20685, 8321, 15672, + 12277, 20685, 8321, 18392, + 12277, 20753, 18392, + 12277, 20985, 20375, 11476, + 12277, 21201, 20375, 11476, + 12277, 21269, 20375, 11476, + 12277, 22867, 11447, 16089, 18392, + 12277, 22867, 11447, 19557, 8321, 18392, + 12277, 23111, 46, + 12277, 23121, 11447, 16089, 18392, + 12277, 23121, 11447, 19557, 8321, 18392, + 12277, 23255, 12973, 6561, 11476, + 12277, 23255, 13581, 6561, 11476, + 12277, 23255, 20375, 11476, + 12277, 23263, 11571, 20375, 11476, + 12277, 23301, 17642, + 12277, 23301, 18461, 17642, + 12277, 23305, 20375, 11476, + 12277, 23439, 20375, 11476, + 12320, + 12325, 2710, + 12330, + 12331, 6718, + 12331, 15420, + 12332, + 12334, + 12335, 10641, 14754, + 12335, 17700, + 12335, 18956, + 12383, 484, + 12383, 485, 505, 21281, 12005, 634, + 12387, 10226, + 12395, 15673, 1397, 12541, 13563, 16714, + 12395, 15673, 1397, 12541, 16111, 16714, + 12395, 15673, 1397, 12541, 16714, + 12395, 15673, 1397, 16896, + 12395, 15673, 1397, 17322, + 12402, + 12426, + 12445, 393, 9855, 1104, + 12445, 393, 9855, 9830, + 12445, 393, 10219, 11640, + 12445, 393, 10219, 11641, 15350, + 12445, 393, 10219, 15350, + 12445, 393, 11905, 2610, + 12445, 393, 11905, 3076, + 12445, 393, 11905, 3356, + 12445, 393, 11905, 6756, + 12445, 393, 11905, 6778, + 12445, 393, 11905, 8780, + 12445, 393, 11905, 10900, + 12445, 393, 11905, 11978, + 12445, 393, 11905, 13450, + 12445, 393, 11905, 13736, + 12445, 393, 14003, 8, + 12445, 393, 14003, 28, + 12445, 393, 14003, 40, + 12445, 393, 14003, 184, + 12445, 393, 14003, 656, + 12445, 393, 14999, 0, + 12445, 393, 14999, 16, + 12445, 393, 14999, 106, + 12445, 393, 14999, 124, + 12445, 393, 14999, 148, + 12445, 393, 14999, 244, + 12445, 393, 14999, 266, + 12445, 393, 14999, 350, + 12445, 393, 14999, 384, + 12445, 393, 14999, 416, + 12445, 393, 14999, 448, + 12445, 393, 14999, 482, + 12445, 393, 14999, 498, + 12445, 393, 14999, 522, + 12445, 393, 14999, 572, + 12445, 393, 14999, 588, + 12445, 393, 14999, 622, + 12445, 393, 14999, 680, + 12445, 393, 14999, 694, + 12445, 393, 14999, 734, + 12445, 393, 14999, 752, + 12445, 393, 14999, 1692, + 12445, 393, 14999, 1914, + 12445, 393, 14999, 2444, + 12445, 393, 14999, 2556, + 12445, 393, 14999, 2676, + 12445, 393, 14999, 3048, + 12445, 393, 14999, 3242, + 12473, 9855, 2111, 3290, + 12473, 9855, 7638, + 12473, 9855, 11412, + 12473, 9855, 11754, + 12473, 9855, 13350, + 12473, 9855, 14350, + 12473, 9855, 14374, + 12473, 9855, 14427, 2691, 7730, + 12473, 9855, 15329, 8466, + 12473, 9855, 15479, 15486, + 12473, 9855, 15870, + 12473, 9855, 16550, + 12473, 9855, 16590, + 12473, 9855, 16878, + 12473, 9855, 17106, + 12473, 9855, 17400, + 12473, 9855, 17650, + 12473, 9855, 19904, + 12473, 9855, 19908, + 12473, 9855, 20810, + 12473, 9855, 20954, + 12473, 9855, 21284, + 12473, 9855, 22962, + 12473, 11905, 2610, + 12473, 11905, 3076, + 12473, 11905, 3356, + 12473, 11905, 6756, + 12473, 11905, 6778, + 12473, 11905, 8780, + 12473, 11905, 10900, + 12473, 11905, 11978, + 12473, 11905, 13450, + 12473, 11905, 13736, + 12473, 14003, 9855, 8, + 12473, 14003, 9855, 16, + 12473, 14003, 9855, 40, + 12473, 14003, 9855, 48, + 12473, 14003, 9855, 58, + 12473, 14003, 9855, 66, + 12473, 14003, 9855, 72, + 12473, 14003, 9855, 94, + 12473, 14003, 9855, 300, + 12473, 14003, 9855, 308, + 12473, 14003, 9855, 482, + 12473, 14003, 9855, 498, + 12473, 14003, 9855, 648, + 12473, 14003, 9855, 676, + 12473, 14003, 9855, 734, + 12473, 14003, 9855, 750, + 12473, 14003, 18175, 58, + 12473, 14003, 18175, 86, + 12473, 14999, 106, + 12473, 14999, 124, + 12473, 14999, 140, + 12473, 14999, 148, + 12473, 14999, 166, + 12473, 14999, 266, + 12473, 14999, 350, + 12473, 14999, 366, + 12473, 14999, 384, + 12473, 14999, 402, + 12473, 14999, 436, + 12473, 14999, 468, + 12473, 14999, 540, + 12473, 14999, 556, + 12473, 14999, 580, + 12473, 14999, 588, + 12473, 14999, 622, + 12473, 14999, 634, + 12473, 14999, 686, + 12473, 14999, 742, + 12473, 14999, 1044, + 12473, 14999, 1050, + 12473, 14999, 1914, + 12473, 14999, 1920, + 12473, 14999, 2452, + 12473, 14999, 2498, + 12473, 14999, 2564, + 12473, 14999, 2676, + 12473, 14999, 2682, + 12473, 14999, 3048, + 12473, 14999, 3120, + 12473, 14999, 3242, + 12473, 14999, 3248, + 12473, 14999, 10264, + 12473, 14999, 10270, + 12473, 15673, 923, 2940, + 12473, 15673, 923, 7682, + 12473, 15673, 1133, 2940, + 12473, 15673, 1133, 7682, + 12473, 15673, 2111, 11489, 922, + 12473, 15673, 2111, 11489, 2690, + 12473, 15673, 2111, 11489, 3092, + 12473, 15673, 2111, 11489, 5880, + 12473, 15673, 2111, 11489, 8484, + 12473, 15673, 2111, 11489, 9298, + 12473, 15673, 2111, 11489, 18480, + 12473, 15673, 2111, 11489, 18482, + 12473, 15673, 2111, 11489, 19536, + 12473, 15673, 2111, 11489, 19538, + 12473, 15673, 2691, 2940, + 12473, 15673, 2691, 7682, + 12473, 15673, 5881, 2940, + 12473, 15673, 5881, 7682, + 12473, 15673, 8485, 2940, + 12473, 15673, 8485, 7682, + 12473, 15673, 9299, 2940, + 12473, 15673, 9299, 7682, + 12473, 15673, 16225, 2940, + 12473, 15673, 16225, 7682, + 12473, 15673, 16227, 2940, + 12473, 15673, 16227, 7682, + 12473, 15673, 17813, 2940, + 12473, 15673, 17813, 7682, + 12473, 15673, 17815, 2940, + 12473, 15673, 17815, 7682, + 12473, 15673, 17817, 2940, + 12473, 15673, 17817, 7682, + 12473, 15673, 18481, 2940, + 12473, 15673, 18481, 7682, + 12473, 15673, 18483, 2940, + 12473, 15673, 18483, 7682, + 12473, 15673, 19537, 2940, + 12473, 15673, 19537, 7682, + 12473, 15673, 19539, 2940, + 12473, 15673, 19539, 7682, + 12473, 15673, 19810, + 12473, 15673, 20310, + 12473, 17803, 15673, 9500, + 12473, 20741, 14003, 412, + 12473, 20741, 14003, 558, + 12473, 20741, 14003, 560, + 12473, 20741, 14003, 568, + 12473, 20741, 14003, 586, + 12473, 20741, 14003, 2230, + 12473, 20741, 14003, 2762, + 12473, 20741, 14003, 2766, + 12473, 20741, 14003, 2768, + 12473, 20741, 14003, 2772, + 12473, 20741, 14003, 2794, + 12473, 20741, 14003, 2807, 10313, 2610, + 12473, 20741, 14003, 2807, 10313, 3356, + 12473, 20741, 14003, 2822, + 12473, 20741, 14003, 2832, + 12473, 20741, 14003, 3004, + 12473, 20741, 14003, 9384, + 12488, + 12516, + 12537, 671, 10086, + 12537, 2611, 1217, 9175, 3357, 6431, 20876, + 12537, 2611, 9503, 9175, 3357, 13343, 20876, + 12537, 2897, 14486, + 12537, 3357, 6431, 9175, 2611, 1217, 20876, + 12537, 3357, 13343, 9175, 2611, 9503, 20876, + 12537, 5845, 14486, + 12537, 5845, 16248, + 12537, 6435, 10086, + 12537, 7817, 18775, 18386, + 12537, 14486, + 12537, 15263, 16248, + 12537, 15781, 18847, 897, 18386, + 12541, 11772, + 12541, 13563, 14999, 0, + 12541, 13563, 14999, 1, 10641, 1217, 11392, + 12541, 13563, 14999, 1, 10641, 1217, 11393, 843, 15050, + 12541, 13563, 14999, 1, 10641, 1217, 11552, + 12541, 13563, 14999, 1, 10641, 7293, 11392, + 12541, 13563, 14999, 1, 10641, 9503, 11392, + 12541, 13563, 14999, 1, 10641, 9503, 11393, 843, 11394, + 12541, 13563, 14999, 1, 10641, 9503, 11552, + 12541, 13563, 14999, 1, 10641, 11394, + 12541, 13563, 14999, 1, 10641, 11596, + 12541, 13563, 14999, 1, 10641, 11597, 843, 1217, 11552, + 12541, 13563, 14999, 1, 10641, 11597, 843, 7293, 11392, + 12541, 13563, 14999, 1, 10641, 11597, 843, 11394, + 12541, 13563, 14999, 1, 10641, 11597, 843, 12232, + 12541, 13563, 14999, 1, 10641, 11597, 843, 13758, + 12541, 13563, 14999, 1, 10641, 11656, + 12541, 13563, 14999, 1, 10641, 12232, + 12541, 13563, 14999, 1, 10641, 13341, 7123, 9502, + 12541, 13563, 14999, 1, 10641, 13758, + 12541, 13563, 14999, 1, 10641, 14625, 12232, + 12541, 13563, 14999, 1, 10641, 15050, + 12541, 13563, 14999, 1, 10641, 15246, + 12541, 13563, 14999, 1, 10641, 15642, + 12541, 13563, 14999, 1, 10641, 18183, 11596, + 12541, 13563, 14999, 1, 10641, 19058, + 12541, 13563, 14999, 1, 10641, 19059, 843, 15050, + 12541, 13563, 14999, 1, 10641, 19587, 7292, + 12541, 13563, 14999, 1, 10641, 19920, + 12541, 13563, 14999, 1, 10641, 19921, 843, 1217, 11552, + 12541, 13563, 14999, 1, 10641, 19921, 843, 7293, 11392, + 12541, 13563, 14999, 1, 10641, 19921, 843, 11394, + 12541, 13563, 14999, 1, 10641, 19921, 843, 12232, + 12541, 13563, 14999, 1, 10641, 19921, 843, 13758, + 12541, 13563, 14999, 1, 23116, + 12541, 13563, 14999, 2, + 12541, 13563, 14999, 3, 10641, 1217, 11392, + 12541, 13563, 14999, 3, 10641, 1217, 11552, + 12541, 13563, 14999, 3, 10641, 7292, + 12541, 13563, 14999, 3, 10641, 7855, 11552, + 12541, 13563, 14999, 3, 10641, 15119, 13758, + 12541, 13563, 14999, 3, 10641, 15642, + 12541, 13563, 14999, 3, 10641, 15778, + 12541, 13563, 14999, 3, 10641, 16959, 7292, + 12541, 13563, 14999, 3, 10641, 18074, + 12541, 13563, 14999, 4, + 12541, 13563, 14999, 5, 10641, 896, + 12541, 13563, 14999, 5, 10641, 1217, 11392, + 12541, 13563, 14999, 5, 10641, 6118, + 12541, 13563, 14999, 5, 10641, 7292, + 12541, 13563, 14999, 5, 10641, 11394, + 12541, 13563, 14999, 5, 10641, 11656, + 12541, 13563, 14999, 5, 10641, 15642, + 12541, 13563, 14999, 5, 10641, 16120, + 12541, 13563, 14999, 5, 10641, 16121, 843, 11394, + 12541, 13563, 14999, 5, 10641, 16959, 7292, + 12541, 13563, 14999, 5, 10641, 19920, + 12541, 13563, 14999, 6, + 12541, 13563, 14999, 7, 10641, 1217, 11392, + 12541, 13563, 14999, 7, 10641, 1217, 11552, + 12541, 13563, 14999, 7, 10641, 6118, + 12541, 13563, 14999, 7, 10641, 7292, + 12541, 13563, 14999, 7, 10641, 7293, 843, 10092, + 12541, 13563, 14999, 7, 10641, 7855, 11552, + 12541, 13563, 14999, 7, 10641, 10092, + 12541, 13563, 14999, 7, 10641, 11656, + 12541, 13563, 14999, 7, 10641, 15119, 13758, + 12541, 13563, 14999, 7, 10641, 15642, + 12541, 13563, 14999, 7, 10641, 15778, + 12541, 13563, 14999, 7, 10641, 16120, + 12541, 13563, 14999, 7, 10641, 16959, 7292, + 12541, 13563, 14999, 7, 10641, 19921, 11552, + 12541, 13563, 14999, 8, + 12541, 13563, 14999, 9, 10641, 1217, 11392, + 12541, 13563, 14999, 9, 10641, 1217, 11552, + 12541, 13563, 14999, 9, 10641, 7293, 11392, + 12541, 13563, 14999, 9, 10641, 11394, + 12541, 13563, 14999, 9, 10641, 11596, + 12541, 13563, 14999, 9, 10641, 11656, + 12541, 13563, 14999, 9, 10641, 12232, + 12541, 13563, 14999, 9, 10641, 12974, + 12541, 13563, 14999, 9, 10641, 13758, + 12541, 13563, 14999, 9, 10641, 13759, 11552, + 12541, 13563, 14999, 9, 10641, 14625, 12232, + 12541, 13563, 14999, 9, 10641, 15050, + 12541, 13563, 14999, 9, 10641, 15051, 843, 11394, + 12541, 13563, 14999, 9, 10641, 15051, 843, 12232, + 12541, 13563, 14999, 9, 10641, 15246, + 12541, 13563, 14999, 9, 10641, 15642, + 12541, 13563, 14999, 9, 10641, 16120, + 12541, 13563, 14999, 9, 10641, 16121, 843, 11596, + 12541, 13563, 14999, 9, 10641, 18074, + 12541, 13563, 14999, 9, 10641, 18183, 11596, + 12541, 13563, 14999, 9, 10641, 19058, + 12541, 13563, 14999, 9, 10641, 19587, 7292, + 12541, 13563, 14999, 9, 10641, 19920, + 12541, 13563, 14999, 9, 10641, 19921, 843, 1217, 11552, + 12541, 13563, 14999, 9, 10641, 19921, 843, 7293, 11392, + 12541, 13563, 14999, 9, 10641, 19921, 843, 11394, + 12541, 13563, 14999, 9, 10641, 19921, 843, 12232, + 12541, 13563, 14999, 9, 10641, 19921, 843, 13758, + 12541, 13563, 14999, 9, 10641, 19921, 11552, + 12541, 13563, 14999, 10, + 12541, 13563, 14999, 11, 10641, 1217, 11392, + 12541, 13563, 14999, 11, 10641, 7292, + 12541, 13563, 14999, 11, 10641, 15119, 13758, + 12541, 13563, 14999, 11, 10641, 15642, + 12541, 13563, 14999, 11, 10641, 16959, 7292, + 12541, 13563, 14999, 12, + 12541, 13563, 14999, 13, 10641, 1217, 11392, + 12541, 13563, 14999, 13, 10641, 7292, + 12541, 13563, 14999, 13, 10641, 11394, + 12541, 13563, 14999, 13, 10641, 11596, + 12541, 13563, 14999, 13, 10641, 11656, + 12541, 13563, 14999, 13, 10641, 15050, + 12541, 13563, 14999, 13, 10641, 15642, + 12541, 13563, 14999, 13, 10641, 16120, + 12541, 13563, 14999, 13, 10641, 16913, 15642, + 12541, 13563, 14999, 13, 10641, 16959, 7292, + 12541, 13563, 14999, 13, 10641, 19920, + 12541, 13563, 14999, 14, + 12541, 13563, 14999, 15, 10641, 1217, 11392, + 12541, 13563, 14999, 15, 10641, 1217, 11552, + 12541, 13563, 14999, 15, 10641, 7292, + 12541, 13563, 14999, 15, 10641, 7855, 11552, + 12541, 13563, 14999, 15, 10641, 11597, 11552, + 12541, 13563, 14999, 15, 10641, 11656, + 12541, 13563, 14999, 15, 10641, 15642, + 12541, 13563, 14999, 15, 10641, 16120, + 12541, 13563, 14999, 15, 10641, 16959, 7292, + 12541, 13563, 14999, 15, 10641, 19056, + 12541, 13563, 14999, 15, 10641, 19058, + 12541, 13563, 14999, 15, 10641, 19920, + 12541, 13563, 14999, 16, + 12541, 13563, 14999, 17, 10641, 1217, 11552, + 12541, 13563, 14999, 17, 10641, 7293, 11392, + 12541, 13563, 14999, 17, 10641, 11394, + 12541, 13563, 14999, 17, 10641, 11596, + 12541, 13563, 14999, 17, 10641, 11656, + 12541, 13563, 14999, 17, 10641, 12232, + 12541, 13563, 14999, 17, 10641, 13758, + 12541, 13563, 14999, 17, 10641, 13759, 11552, + 12541, 13563, 14999, 17, 10641, 14625, 12232, + 12541, 13563, 14999, 17, 10641, 15050, + 12541, 13563, 14999, 17, 10641, 15246, + 12541, 13563, 14999, 17, 10641, 15642, + 12541, 13563, 14999, 17, 10641, 18183, 11596, + 12541, 13563, 14999, 17, 10641, 19058, + 12541, 13563, 14999, 17, 10641, 19059, 843, 11394, + 12541, 13563, 14999, 17, 10641, 19587, 7292, + 12541, 13563, 14999, 17, 10641, 19920, + 12541, 13563, 14999, 18, + 12541, 13563, 14999, 19, 10641, 11656, + 12541, 13563, 14999, 19, 10641, 15642, + 12541, 13563, 14999, 19, 10641, 19920, + 12541, 13563, 14999, 19, 10641, 21042, + 12541, 13563, 14999, 20, + 12541, 13563, 14999, 21, 10641, 1217, 11552, + 12541, 13563, 14999, 21, 10641, 7292, + 12541, 13563, 14999, 21, 10641, 7855, 11552, + 12541, 13563, 14999, 21, 10641, 11394, + 12541, 13563, 14999, 21, 10641, 11656, + 12541, 13563, 14999, 21, 10641, 15642, + 12541, 13563, 14999, 21, 10641, 15643, 843, 17839, 15642, + 12541, 13563, 14999, 21, 10641, 16120, + 12541, 13563, 14999, 21, 10641, 16913, 15642, + 12541, 13563, 14999, 21, 10641, 16959, 7292, + 12541, 13563, 14999, 21, 10641, 17839, 15642, + 12541, 13563, 14999, 21, 10641, 19056, + 12541, 13563, 14999, 22, + 12541, 13563, 14999, 23, 10641, 896, + 12541, 13563, 14999, 23, 10641, 1217, 11552, + 12541, 13563, 14999, 23, 10641, 1217, 11553, 843, 15050, + 12541, 13563, 14999, 23, 10641, 5810, + 12541, 13563, 14999, 23, 10641, 6118, + 12541, 13563, 14999, 23, 10641, 7171, 15642, + 12541, 13563, 14999, 23, 10641, 7855, 11552, + 12541, 13563, 14999, 23, 10641, 11394, + 12541, 13563, 14999, 23, 10641, 11656, + 12541, 13563, 14999, 23, 10641, 14625, 896, + 12541, 13563, 14999, 23, 10641, 14625, 15119, 13758, + 12541, 13563, 14999, 23, 10641, 15119, 1216, + 12541, 13563, 14999, 23, 10641, 15119, 9502, + 12541, 13563, 14999, 23, 10641, 15119, 13758, + 12541, 13563, 14999, 23, 10641, 15642, + 12541, 13563, 14999, 23, 10641, 16120, + 12541, 13563, 14999, 23, 10641, 16959, 7292, + 12541, 13563, 14999, 23, 10641, 18183, 7807, 36, + 12541, 13563, 14999, 23, 10641, 19587, 7292, + 12541, 13563, 14999, 23, 10641, 19587, 7293, 843, 5810, + 12541, 13563, 14999, 23, 10641, 19921, 11552, + 12541, 13563, 14999, 24, + 12541, 13563, 14999, 25, 10641, 1217, 11392, + 12541, 13563, 14999, 25, 10641, 1217, 11552, + 12541, 13563, 14999, 25, 10641, 7292, + 12541, 13563, 14999, 25, 10641, 11394, + 12541, 13563, 14999, 25, 10641, 15119, 13758, + 12541, 13563, 14999, 25, 10641, 16959, 7292, + 12541, 13563, 14999, 25, 10641, 21042, + 12541, 13563, 14999, 26, + 12541, 13563, 14999, 27, 10641, 1217, 11392, + 12541, 13563, 14999, 27, 10641, 1217, 11552, + 12541, 13563, 14999, 27, 10641, 6118, + 12541, 13563, 14999, 27, 10641, 7817, 7292, + 12541, 13563, 14999, 27, 10641, 7855, 11552, + 12541, 13563, 14999, 27, 10641, 7883, 13341, 2106, + 12541, 13563, 14999, 27, 10641, 11394, + 12541, 13563, 14999, 27, 10641, 11656, + 12541, 13563, 14999, 27, 10641, 12232, + 12541, 13563, 14999, 27, 10641, 13758, + 12541, 13563, 14999, 27, 10641, 15119, 13758, + 12541, 13563, 14999, 27, 10641, 16120, + 12541, 13563, 14999, 27, 10641, 16913, 15642, + 12541, 13563, 14999, 27, 10641, 16959, 7292, + 12541, 13563, 14999, 27, 10641, 19056, + 12541, 13563, 14999, 27, 10641, 19587, 7292, + 12541, 13563, 14999, 27, 10641, 19921, 11552, + 12541, 13563, 14999, 27, 10641, 21042, + 12541, 13563, 14999, 27, 18485, 123, 19880, + 12541, 13563, 14999, 28, + 12541, 13563, 14999, 29, 10641, 1217, 11392, + 12541, 13563, 14999, 29, 10641, 1217, 11393, 843, 15050, + 12541, 13563, 14999, 29, 10641, 1217, 11552, + 12541, 13563, 14999, 29, 10641, 2175, 9503, 14874, + 12541, 13563, 14999, 29, 10641, 7293, 11392, + 12541, 13563, 14999, 29, 10641, 7304, + 12541, 13563, 14999, 29, 10641, 7305, 843, 1217, 11552, + 12541, 13563, 14999, 29, 10641, 7305, 843, 7293, 11392, + 12541, 13563, 14999, 29, 10641, 7305, 843, 11394, + 12541, 13563, 14999, 29, 10641, 7305, 843, 12232, + 12541, 13563, 14999, 29, 10641, 7305, 843, 13758, + 12541, 13563, 14999, 29, 10641, 7883, 15643, 16950, + 12541, 13563, 14999, 29, 10641, 7888, + 12541, 13563, 14999, 29, 10641, 11394, + 12541, 13563, 14999, 29, 10641, 11596, + 12541, 13563, 14999, 29, 10641, 11656, + 12541, 13563, 14999, 29, 10641, 12232, + 12541, 13563, 14999, 29, 10641, 13758, + 12541, 13563, 14999, 29, 10641, 13759, 843, 11394, + 12541, 13563, 14999, 29, 10641, 13759, 843, 15050, + 12541, 13563, 14999, 29, 10641, 13759, 843, 19058, + 12541, 13563, 14999, 29, 10641, 14625, 11394, + 12541, 13563, 14999, 29, 10641, 14625, 12232, + 12541, 13563, 14999, 29, 10641, 15050, + 12541, 13563, 14999, 29, 10641, 15051, 843, 11394, + 12541, 13563, 14999, 29, 10641, 15051, 843, 12232, + 12541, 13563, 14999, 29, 10641, 15246, + 12541, 13563, 14999, 29, 10641, 15247, 843, 15050, + 12541, 13563, 14999, 29, 10641, 15642, + 12541, 13563, 14999, 29, 10641, 15643, 843, 11394, + 12541, 13563, 14999, 29, 10641, 18183, 11596, + 12541, 13563, 14999, 29, 10641, 19058, + 12541, 13563, 14999, 29, 10641, 19059, 843, 15050, + 12541, 13563, 14999, 29, 10641, 19920, + 12541, 13563, 14999, 29, 10641, 19921, 843, 1217, 11552, + 12541, 13563, 14999, 29, 10641, 19921, 843, 7293, 11392, + 12541, 13563, 14999, 29, 10641, 19921, 843, 11394, + 12541, 13563, 14999, 29, 10641, 19921, 843, 12232, + 12541, 13563, 14999, 29, 10641, 19921, 843, 13758, + 12541, 13563, 14999, 30, + 12541, 13563, 14999, 31, 10641, 1217, 11392, + 12541, 13563, 14999, 31, 10641, 7292, + 12541, 13563, 14999, 31, 10641, 11394, + 12541, 13563, 14999, 31, 10641, 15119, 13758, + 12541, 13563, 14999, 31, 10641, 15642, + 12541, 13563, 14999, 31, 10641, 15643, 17369, 19056, + 12541, 13563, 14999, 31, 10641, 16959, 7292, + 12541, 13563, 14999, 31, 10641, 18074, + 12541, 13563, 14999, 31, 10641, 18637, 10092, + 12541, 13563, 14999, 32, + 12541, 13563, 14999, 33, 10641, 7292, + 12541, 13563, 14999, 33, 10641, 7293, 10092, + 12541, 13563, 14999, 33, 10641, 15643, 17369, 19056, + 12541, 13563, 14999, 33, 10641, 17839, 15642, + 12541, 13563, 14999, 34, + 12541, 13563, 14999, 35, 10641, 1217, 11392, + 12541, 13563, 14999, 35, 10641, 1217, 11552, + 12541, 13563, 14999, 35, 10641, 1217, 11553, 843, 15050, + 12541, 13563, 14999, 35, 10641, 7855, 11552, + 12541, 13563, 14999, 35, 10641, 7883, 2106, + 12541, 13563, 14999, 35, 10641, 10092, + 12541, 13563, 14999, 35, 10641, 11394, + 12541, 13563, 14999, 35, 10641, 11656, + 12541, 13563, 14999, 35, 10641, 14625, 12232, + 12541, 13563, 14999, 35, 10641, 15119, 13758, + 12541, 13563, 14999, 35, 10641, 15642, + 12541, 13563, 14999, 35, 10641, 16120, + 12541, 13563, 14999, 35, 10641, 16913, 15642, + 12541, 13563, 14999, 35, 10641, 16959, 7292, + 12541, 13563, 14999, 35, 10641, 18068, + 12541, 13563, 14999, 35, 10641, 18069, 843, 15119, 13758, + 12541, 13563, 14999, 35, 10641, 18183, 11596, + 12541, 13563, 14999, 35, 10641, 21042, + 12541, 13563, 14999, 35, 17140, + 12541, 13563, 14999, 35, 17521, 14816, + 12541, 13563, 14999, 36, + 12541, 13563, 14999, 37, 10641, 1217, 11392, + 12541, 13563, 14999, 37, 10641, 1217, 11552, + 12541, 13563, 14999, 37, 10641, 1217, 11553, 843, 1217, 11392, + 12541, 13563, 14999, 37, 10641, 7292, + 12541, 13563, 14999, 37, 10641, 11394, + 12541, 13563, 14999, 37, 10641, 11395, 843, 1217, 11392, + 12541, 13563, 14999, 37, 10641, 11656, + 12541, 13563, 14999, 37, 10641, 11657, 843, 1217, 11392, + 12541, 13563, 14999, 37, 10641, 11763, 11552, + 12541, 13563, 14999, 37, 10641, 13653, 10092, + 12541, 13563, 14999, 37, 10641, 15119, 13758, + 12541, 13563, 14999, 37, 10641, 16120, + 12541, 13563, 14999, 37, 10641, 16913, 15642, + 12541, 13563, 14999, 37, 10641, 16959, 7292, + 12541, 13563, 14999, 37, 10641, 19920, + 12541, 13563, 14999, 38, + 12541, 13563, 14999, 39, 10641, 1217, 11392, + 12541, 13563, 14999, 39, 10641, 1217, 11552, + 12541, 13563, 14999, 39, 10641, 6118, + 12541, 13563, 14999, 39, 10641, 7292, + 12541, 13563, 14999, 39, 10641, 7855, 11552, + 12541, 13563, 14999, 39, 10641, 11656, + 12541, 13563, 14999, 39, 10641, 11763, 11552, + 12541, 13563, 14999, 39, 10641, 15119, 13758, + 12541, 13563, 14999, 39, 10641, 15642, + 12541, 13563, 14999, 39, 10641, 16120, + 12541, 13563, 14999, 39, 10641, 16959, 7292, + 12541, 13563, 14999, 39, 10641, 17839, 15642, + 12541, 13563, 14999, 39, 10641, 19058, + 12541, 13563, 14999, 39, 10641, 19587, 7292, + 12541, 13563, 14999, 39, 10641, 19921, 11552, + 12541, 13563, 14999, 40, + 12541, 13563, 14999, 41, 896, + 12541, 13563, 14999, 41, 897, 10641, 13507, 13341, 2106, + 12541, 13563, 14999, 41, 10641, 1217, 11552, + 12541, 13563, 14999, 41, 10641, 7293, 11392, + 12541, 13563, 14999, 41, 10641, 7304, + 12541, 13563, 14999, 41, 10641, 7305, 843, 1217, 11552, + 12541, 13563, 14999, 41, 10641, 7305, 843, 7293, 11392, + 12541, 13563, 14999, 41, 10641, 7305, 843, 11394, + 12541, 13563, 14999, 41, 10641, 7305, 843, 12232, + 12541, 13563, 14999, 41, 10641, 7305, 843, 13758, + 12541, 13563, 14999, 41, 10641, 7817, 7292, + 12541, 13563, 14999, 41, 10641, 9503, 11392, + 12541, 13563, 14999, 41, 10641, 11394, + 12541, 13563, 14999, 41, 10641, 11596, + 12541, 13563, 14999, 41, 10641, 11656, + 12541, 13563, 14999, 41, 10641, 12232, + 12541, 13563, 14999, 41, 10641, 13507, 13341, 2106, + 12541, 13563, 14999, 41, 10641, 13758, + 12541, 13563, 14999, 41, 10641, 13759, 843, 11394, + 12541, 13563, 14999, 41, 10641, 13759, 11552, + 12541, 13563, 14999, 41, 10641, 14625, 11394, + 12541, 13563, 14999, 41, 10641, 14625, 12232, + 12541, 13563, 14999, 41, 10641, 15050, + 12541, 13563, 14999, 41, 10641, 15051, 843, 19058, + 12541, 13563, 14999, 41, 10641, 15246, + 12541, 13563, 14999, 41, 10641, 18183, 11596, + 12541, 13563, 14999, 41, 10641, 19058, + 12541, 13563, 14999, 41, 10641, 19059, 843, 11394, + 12541, 13563, 14999, 41, 10641, 19059, 843, 11656, + 12541, 13563, 14999, 41, 10641, 19059, 843, 12232, + 12541, 13563, 14999, 41, 10641, 19059, 843, 15050, + 12541, 13563, 14999, 41, 10641, 19059, 11552, + 12541, 13563, 14999, 41, 10641, 19587, 7292, + 12541, 13563, 14999, 41, 10641, 19920, + 12541, 13563, 14999, 41, 10641, 19921, 11552, + 12541, 13563, 14999, 42, + 12541, 13563, 14999, 43, 10641, 1217, 11552, + 12541, 13563, 14999, 43, 10641, 6118, + 12541, 13563, 14999, 43, 10641, 7292, + 12541, 13563, 14999, 43, 10641, 13341, 7292, + 12541, 13563, 14999, 43, 10641, 13758, + 12541, 13563, 14999, 43, 10641, 16959, 7292, + 12541, 13563, 14999, 43, 10641, 17839, 15642, + 12541, 13563, 14999, 44, + 12541, 13563, 14999, 45, 10641, 1217, 11392, + 12541, 13563, 14999, 45, 10641, 1217, 11552, + 12541, 13563, 14999, 45, 10641, 7292, + 12541, 13563, 14999, 45, 10641, 9503, 11392, + 12541, 13563, 14999, 45, 10641, 11394, + 12541, 13563, 14999, 45, 10641, 12232, + 12541, 13563, 14999, 45, 10641, 19058, + 12541, 13563, 14999, 45, 10641, 19920, + 12541, 13563, 14999, 46, + 12541, 13563, 14999, 47, 10641, 1217, 11392, + 12541, 13563, 14999, 47, 10641, 2175, 13341, 9502, + 12541, 13563, 14999, 47, 10641, 7883, 7817, 2106, + 12541, 13563, 14999, 47, 10641, 7883, 7817, 2107, 843, 2175, 13341, 9502, + 12541, 13563, 14999, 47, 10641, 7883, 7817, 2107, 10641, 13448, + 12541, 13563, 14999, 47, 10641, 16959, 7292, + 12541, 13563, 14999, 47, 10641, 19058, + 12541, 13563, 14999, 48, + 12541, 13563, 14999, 49, 10641, 1217, 11392, + 12541, 13563, 14999, 49, 10641, 1217, 11552, + 12541, 13563, 14999, 49, 10641, 7292, + 12541, 13563, 14999, 49, 10641, 7293, 11392, + 12541, 13563, 14999, 49, 10641, 7888, + 12541, 13563, 14999, 49, 10641, 9503, 11392, + 12541, 13563, 14999, 49, 10641, 11394, + 12541, 13563, 14999, 49, 10641, 12232, + 12541, 13563, 14999, 49, 10641, 13507, 13341, 2106, + 12541, 13563, 14999, 49, 10641, 13758, + 12541, 13563, 14999, 49, 10641, 15050, + 12541, 13563, 14999, 49, 10641, 15642, + 12541, 13563, 14999, 49, 10641, 19058, + 12541, 13563, 14999, 49, 10641, 19920, + 12541, 13563, 14999, 50, + 12541, 13563, 14999, 51, 10641, 1217, 11392, + 12541, 13563, 14999, 51, 10641, 1217, 11552, + 12541, 13563, 14999, 51, 10641, 6118, + 12541, 13563, 14999, 51, 10641, 7292, + 12541, 13563, 14999, 51, 10641, 7855, 11552, + 12541, 13563, 14999, 51, 10641, 11394, + 12541, 13563, 14999, 51, 10641, 11656, + 12541, 13563, 14999, 51, 10641, 13653, 10092, + 12541, 13563, 14999, 51, 10641, 15119, 13758, + 12541, 13563, 14999, 51, 10641, 15642, + 12541, 13563, 14999, 51, 10641, 16959, 7292, + 12541, 13563, 14999, 51, 10641, 19056, + 12541, 13563, 14999, 51, 10641, 19587, 7292, + 12541, 13563, 14999, 51, 10641, 19920, + 12541, 13563, 14999, 58, + 12541, 13563, 14999, 66, + 12541, 13563, 14999, 67, 10641, 11394, + 12541, 13563, 14999, 67, 10641, 15050, + 12541, 13563, 14999, 82, + 12541, 13563, 14999, 94, + 12541, 13563, 14999, 96, + 12541, 13563, 14999, 97, 10641, 20181, 896, + 12541, 13563, 14999, 102, + 12541, 13563, 14999, 151, 16254, + 12541, 13563, 14999, 172, + 12541, 13563, 14999, 173, 10641, 11656, + 12541, 13563, 14999, 173, 16254, + 12541, 13563, 14999, 173, 16255, 10641, 6118, + 12541, 13563, 14999, 212, + 12541, 13563, 14999, 288, + 12541, 13563, 14999, 326, + 12541, 13563, 14999, 394, + 12541, 13563, 14999, 405, 16254, + 12541, 13563, 14999, 415, 16254, + 12541, 13563, 14999, 462, + 12541, 13563, 14999, 488, + 12541, 13563, 14999, 498, + 12541, 13563, 14999, 510, + 12541, 13563, 14999, 567, 16254, + 12541, 13563, 14999, 625, 16255, 10641, 6118, + 12541, 13563, 14999, 629, 10641, 22934, + 12541, 13563, 14999, 639, 16254, + 12541, 13563, 14999, 644, + 12541, 13563, 14999, 656, + 12541, 13563, 14999, 660, + 12541, 13563, 14999, 664, + 12541, 13563, 14999, 668, + 12541, 13563, 14999, 692, + 12541, 13563, 14999, 1048, + 12541, 13563, 14999, 1049, 10641, 2175, 7817, 13448, + 12541, 13563, 14999, 1049, 10641, 2175, 13341, 9502, + 12541, 13563, 14999, 1076, + 12541, 13563, 14999, 1230, + 12541, 13563, 14999, 1300, + 12541, 13563, 14999, 1301, 10641, 21042, + 12541, 13563, 14999, 1318, + 12541, 13563, 14999, 1319, 10641, 6118, + 12541, 13563, 14999, 1319, 10641, 16959, 7292, + 12541, 13563, 14999, 1319, 10641, 19587, 7292, + 12541, 13563, 14999, 1328, + 12541, 13563, 14999, 1340, + 12541, 13563, 14999, 1341, 10641, 6118, + 12541, 13563, 14999, 1341, 10641, 10092, + 12541, 13563, 14999, 1341, 10641, 11656, + 12541, 13563, 14999, 1341, 10641, 19587, 7292, + 12541, 13563, 14999, 1341, 18542, + 12541, 13563, 14999, 1492, + 12541, 13563, 14999, 1996, + 12541, 13563, 14999, 2198, + 12541, 13563, 14999, 2346, + 12541, 13563, 14999, 2534, + 12541, 13563, 14999, 2680, + 12541, 13563, 14999, 2972, + 12541, 13563, 14999, 2973, 17140, + 12541, 13563, 14999, 3293, 7123, 28, + 12541, 13563, 14999, 3338, + 12541, 13563, 14999, 5816, + 12541, 13563, 14999, 6373, 16254, + 12541, 13563, 14999, 6735, 16254, + 12541, 13563, 14999, 7123, 14, + 12541, 13563, 14999, 7148, + 12541, 13563, 14999, 7149, 10641, 7292, + 12541, 13563, 14999, 7438, + 12541, 13563, 14999, 7439, 10641, 15642, + 12541, 13563, 14999, 7824, + 12541, 13563, 14999, 7883, 36, + 12541, 13563, 14999, 7883, 37, 10641, 1217, 11392, + 12541, 13563, 14999, 7883, 37, 10641, 7171, 15642, + 12541, 13563, 14999, 7883, 37, 10641, 17839, 15642, + 12541, 13563, 14999, 9171, 8, + 12541, 13563, 14999, 9171, 9, 10641, 19587, 7292, + 12541, 13563, 14999, 9171, 28, + 12541, 13563, 14999, 9171, 29, 10641, 15642, + 12541, 13563, 14999, 9171, 29, 10641, 19587, 7292, + 12541, 13563, 14999, 9171, 482, + 12541, 13563, 14999, 9469, 7304, + 12541, 13563, 14999, 10125, 16254, + 12541, 13563, 14999, 10219, 3076, + 12541, 13563, 14999, 10219, 3356, + 12541, 13563, 14999, 10219, 6756, + 12541, 13563, 14999, 10530, + 12541, 13563, 14999, 10812, + 12541, 13563, 14999, 11436, + 12541, 13563, 14999, 11437, 10641, 19587, 7292, + 12541, 13563, 14999, 11888, + 12541, 13563, 14999, 12156, + 12541, 13563, 14999, 12557, 10, + 12541, 13563, 14999, 13144, + 12541, 13563, 14999, 13405, 3680, + 12541, 13563, 14999, 13432, + 12541, 13563, 14999, 13433, 10641, 7292, + 12541, 13563, 14999, 13433, 10641, 19587, 7292, + 12541, 13563, 14999, 13469, 36, + 12541, 13563, 14999, 13597, 18543, 1318, + 12541, 13563, 14999, 13734, + 12541, 13563, 14999, 13735, 10641, 15642, + 12541, 13563, 14999, 13735, 10641, 15643, 17369, 19056, + 12541, 13563, 14999, 14357, 8, + 12541, 13563, 14999, 14357, 28, + 12541, 13563, 14999, 14357, 11436, + 12541, 13563, 14999, 14393, 7123, 28, + 12541, 13563, 14999, 14411, 22, + 12541, 13563, 14999, 14497, 9171, 8, + 12541, 13563, 14999, 14497, 13144, + 12541, 13563, 14999, 14497, 18543, 9171, 8, + 12541, 13563, 14999, 14625, 34, + 12541, 13563, 14999, 14625, 35, 10641, 21042, + 12541, 13563, 14999, 14977, 10641, 15642, + 12541, 13563, 14999, 15501, 12, + 12541, 13563, 14999, 15501, 13, 10641, 21042, + 12541, 13563, 14999, 15501, 34, + 12541, 13563, 14999, 15501, 35, 10641, 9502, + 12541, 13563, 14999, 15811, 0, + 12541, 13563, 14999, 15811, 8, + 12541, 13563, 14999, 15811, 12, + 12541, 13563, 14999, 15811, 14, + 12541, 13563, 14999, 15811, 15, 10641, 18068, + 12541, 13563, 14999, 15811, 15, 10641, 18069, 843, 10092, + 12541, 13563, 14999, 15811, 16, + 12541, 13563, 14999, 15811, 20, + 12541, 13563, 14999, 15811, 22, + 12541, 13563, 14999, 15811, 24, + 12541, 13563, 14999, 15811, 25, 10641, 7883, 2106, + 12541, 13563, 14999, 15811, 29, 15254, + 12541, 13563, 14999, 15811, 29, 15255, 10641, 15642, + 12541, 13563, 14999, 15811, 34, + 12541, 13563, 14999, 15811, 35, 10641, 7292, + 12541, 13563, 14999, 15811, 35, 10641, 7883, 2106, + 12541, 13563, 14999, 15811, 35, 10641, 10092, + 12541, 13563, 14999, 15811, 38, + 12541, 13563, 14999, 15811, 42, + 12541, 13563, 14999, 15811, 44, + 12541, 13563, 14999, 15811, 48, + 12541, 13563, 14999, 15811, 66, + 12541, 13563, 14999, 15811, 482, + 12541, 13563, 14999, 15811, 483, 10641, 15642, + 12541, 13563, 14999, 15811, 483, 10641, 20181, 15642, + 12541, 13563, 14999, 15811, 660, + 12541, 13563, 14999, 15811, 9171, 8, + 12541, 13563, 14999, 15811, 11436, + 12541, 13563, 14999, 15811, 11888, + 12541, 13563, 14999, 15811, 16527, 12, + 12541, 13563, 14999, 16279, 16, + 12541, 13563, 14999, 16279, 18, + 12541, 13563, 14999, 16279, 19, 10641, 15642, + 12541, 13563, 14999, 16279, 19, 10641, 15643, 843, 7292, + 12541, 13563, 14999, 16449, 9956, + 12541, 13563, 14999, 16527, 6, + 12541, 13563, 14999, 16527, 10, + 12541, 13563, 14999, 16527, 12, + 12541, 13563, 14999, 16527, 34, + 12541, 13563, 14999, 16527, 36, + 12541, 13563, 14999, 16527, 38, + 12541, 13563, 14999, 17297, 34, + 12541, 13563, 14999, 17460, + 12541, 13563, 14999, 17461, 10641, 15642, + 12541, 13563, 14999, 17497, 66, + 12541, 13563, 14999, 17497, 482, + 12541, 13563, 14999, 17497, 656, + 12541, 13563, 14999, 17667, 1318, + 12541, 13563, 14999, 18183, 482, + 12541, 13563, 14999, 18183, 11436, + 12541, 13563, 14999, 18185, 8, + 12541, 13563, 14999, 18543, 4, + 12541, 13563, 14999, 18543, 5, 10641, 1216, + 12541, 13563, 14999, 18543, 8, + 12541, 13563, 14999, 18543, 35, 10641, 18068, + 12541, 13563, 14999, 18543, 9171, 8, + 12541, 13563, 14999, 18543, 9171, 9, 10641, 7292, + 12541, 13563, 14999, 18543, 9171, 9, 10641, 19587, 7292, + 12541, 13563, 14999, 18558, + 12541, 13563, 14999, 18599, 28, + 12541, 13563, 14999, 18599, 29, 10641, 15642, + 12541, 13563, 14999, 18599, 40, + 12541, 13563, 14999, 18599, 9171, 28, + 12541, 13563, 14999, 18599, 15811, 24, + 12541, 13563, 14999, 18599, 20605, 40, + 12541, 13563, 14999, 18721, 2680, + 12541, 13563, 14999, 18772, + 12541, 13563, 14999, 19034, + 12541, 13563, 14999, 19035, 10641, 11762, + 12541, 13563, 14999, 20507, 50, + 12541, 13563, 14999, 20551, 8, + 12541, 13563, 14999, 20551, 28, + 12541, 13563, 14999, 20551, 29, 10641, 15642, + 12541, 13563, 14999, 21151, 42, + 12541, 13563, 14999, 21151, 396, + 12541, 13563, 14999, 22825, 826, + 12541, 13563, 14999, 22825, 5246, + 12541, 13563, 16111, 14999, 17, 10641, 15642, + 12541, 13563, 16111, 14999, 41, 10641, 15642, + 12541, 13563, 18249, 228, + 12541, 13563, 18249, 230, + 12541, 13563, 18249, 232, + 12541, 13563, 18249, 310, + 12541, 13563, 18249, 482, + 12541, 13563, 18249, 610, + 12541, 13563, 18249, 1370, + 12541, 13563, 18249, 1372, + 12541, 13563, 18249, 7883, 37, 38, + 12541, 14999, 744, + 12541, 14999, 826, + 12541, 14999, 3357, 10641, 15642, + 12541, 14999, 10662, + 12541, 14999, 13563, 16111, 0, + 12541, 14999, 13563, 16111, 2, + 12541, 14999, 13563, 16111, 4, + 12541, 14999, 13563, 16111, 6, + 12541, 14999, 13563, 16111, 8, + 12541, 14999, 13563, 16111, 10, + 12541, 14999, 13563, 16111, 12, + 12541, 14999, 13563, 16111, 13, 10641, 7292, + 12541, 14999, 13563, 16111, 14, + 12541, 14999, 13563, 16111, 16, + 12541, 14999, 13563, 16111, 18, + 12541, 14999, 13563, 16111, 20, + 12541, 14999, 13563, 16111, 22, + 12541, 14999, 13563, 16111, 23, 10641, 15642, + 12541, 14999, 13563, 16111, 24, + 12541, 14999, 13563, 16111, 26, + 12541, 14999, 13563, 16111, 28, + 12541, 14999, 13563, 16111, 30, + 12541, 14999, 13563, 16111, 34, + 12541, 14999, 13563, 16111, 35, 10641, 13341, 2106, + 12541, 14999, 13563, 16111, 36, + 12541, 14999, 13563, 16111, 38, + 12541, 14999, 13563, 16111, 40, + 12541, 14999, 13563, 16111, 42, + 12541, 14999, 13563, 16111, 44, + 12541, 14999, 13563, 16111, 48, + 12541, 14999, 13563, 16111, 50, + 12541, 14999, 13563, 16111, 66, + 12541, 14999, 13563, 16111, 482, + 12541, 14999, 13563, 16111, 510, + 12541, 14999, 13563, 16111, 1328, + 12541, 14999, 13563, 16111, 1340, + 12541, 14999, 13563, 16111, 2972, + 12541, 14999, 13563, 16111, 9171, 28, + 12541, 14999, 13563, 16111, 14357, 2, + 12541, 14999, 13563, 16111, 15811, 8, + 12541, 14999, 13563, 16111, 15811, 24, + 12541, 14999, 13563, 16111, 15811, 34, + 12541, 14999, 13563, 16111, 18183, 34, + 12541, 14999, 13563, 16111, 18543, 26, + 12541, 14999, 13563, 16111, 18543, 34, + 12541, 14999, 14567, 11738, + 12541, 14999, 15873, 19399, 17268, + 12541, 14999, 16449, 9956, + 12541, 14999, 16449, 9957, 10641, 15642, + 12541, 14999, 16703, 11738, + 12541, 14999, 17599, 11738, + 12541, 14999, 17679, 20316, + 12541, 14999, 17681, 11738, + 12541, 14999, 17681, 20316, + 12541, 14999, 18183, 16449, 9956, + 12541, 14999, 18183, 16449, 9957, 10641, 15642, + 12541, 14999, 18543, 1319, 7888, + 12541, 14999, 18543, 16449, 9957, 10641, 15642, + 12541, 14999, 19587, 11738, + 12541, 14999, 19659, 4, + 12541, 14999, 20321, 15873, 19278, + 12541, 14999, 20919, 1216, + 12541, 16111, 14999, 0, + 12541, 16111, 14999, 1, 10641, 1217, 11392, + 12541, 16111, 14999, 1, 10641, 1217, 11393, 843, 15050, + 12541, 16111, 14999, 1, 10641, 1217, 11552, + 12541, 16111, 14999, 1, 10641, 7293, 11392, + 12541, 16111, 14999, 1, 10641, 9503, 11392, + 12541, 16111, 14999, 1, 10641, 9503, 11393, 843, 11394, + 12541, 16111, 14999, 1, 10641, 9503, 11552, + 12541, 16111, 14999, 1, 10641, 11394, + 12541, 16111, 14999, 1, 10641, 11596, + 12541, 16111, 14999, 1, 10641, 11597, 843, 1217, 11552, + 12541, 16111, 14999, 1, 10641, 11597, 843, 7293, 11392, + 12541, 16111, 14999, 1, 10641, 11597, 843, 11394, + 12541, 16111, 14999, 1, 10641, 11597, 843, 12232, + 12541, 16111, 14999, 1, 10641, 11597, 843, 13758, + 12541, 16111, 14999, 1, 10641, 11656, + 12541, 16111, 14999, 1, 10641, 12232, + 12541, 16111, 14999, 1, 10641, 13758, + 12541, 16111, 14999, 1, 10641, 14625, 12232, + 12541, 16111, 14999, 1, 10641, 15050, + 12541, 16111, 14999, 1, 10641, 15246, + 12541, 16111, 14999, 1, 10641, 15642, + 12541, 16111, 14999, 1, 10641, 18183, 11596, + 12541, 16111, 14999, 1, 10641, 19058, + 12541, 16111, 14999, 1, 10641, 19059, 843, 15050, + 12541, 16111, 14999, 1, 10641, 19920, + 12541, 16111, 14999, 1, 10641, 19921, 843, 1217, 11552, + 12541, 16111, 14999, 1, 10641, 19921, 843, 7293, 11392, + 12541, 16111, 14999, 1, 10641, 19921, 843, 11394, + 12541, 16111, 14999, 1, 10641, 19921, 843, 12232, + 12541, 16111, 14999, 1, 10641, 19921, 843, 13758, + 12541, 16111, 14999, 2, + 12541, 16111, 14999, 3, 10641, 1217, 11392, + 12541, 16111, 14999, 3, 10641, 1217, 11552, + 12541, 16111, 14999, 3, 10641, 7292, + 12541, 16111, 14999, 3, 10641, 7855, 11552, + 12541, 16111, 14999, 3, 10641, 15642, + 12541, 16111, 14999, 3, 10641, 15778, + 12541, 16111, 14999, 3, 10641, 18074, + 12541, 16111, 14999, 4, + 12541, 16111, 14999, 5, 10641, 896, + 12541, 16111, 14999, 5, 10641, 1217, 11392, + 12541, 16111, 14999, 5, 10641, 7292, + 12541, 16111, 14999, 5, 10641, 11394, + 12541, 16111, 14999, 5, 10641, 11656, + 12541, 16111, 14999, 5, 10641, 15642, + 12541, 16111, 14999, 5, 10641, 16120, + 12541, 16111, 14999, 5, 10641, 16121, 843, 11394, + 12541, 16111, 14999, 5, 10641, 19920, + 12541, 16111, 14999, 6, + 12541, 16111, 14999, 7, 10641, 1217, 11392, + 12541, 16111, 14999, 7, 10641, 1217, 11552, + 12541, 16111, 14999, 7, 10641, 7292, + 12541, 16111, 14999, 7, 10641, 7855, 11552, + 12541, 16111, 14999, 7, 10641, 11656, + 12541, 16111, 14999, 7, 10641, 13563, 14999, 50, + 12541, 16111, 14999, 7, 10641, 13563, 14999, 51, 10641, 11656, + 12541, 16111, 14999, 7, 10641, 15642, + 12541, 16111, 14999, 7, 10641, 15778, + 12541, 16111, 14999, 7, 10641, 16120, + 12541, 16111, 14999, 7, 10641, 19921, 11552, + 12541, 16111, 14999, 8, + 12541, 16111, 14999, 9, 10641, 1217, 11392, + 12541, 16111, 14999, 9, 10641, 1217, 11552, + 12541, 16111, 14999, 9, 10641, 7293, 11392, + 12541, 16111, 14999, 9, 10641, 11394, + 12541, 16111, 14999, 9, 10641, 11596, + 12541, 16111, 14999, 9, 10641, 11656, + 12541, 16111, 14999, 9, 10641, 12232, + 12541, 16111, 14999, 9, 10641, 13758, + 12541, 16111, 14999, 9, 10641, 13759, 11552, + 12541, 16111, 14999, 9, 10641, 14625, 12232, + 12541, 16111, 14999, 9, 10641, 15050, + 12541, 16111, 14999, 9, 10641, 15051, 843, 11394, + 12541, 16111, 14999, 9, 10641, 15051, 843, 12232, + 12541, 16111, 14999, 9, 10641, 15246, + 12541, 16111, 14999, 9, 10641, 15642, + 12541, 16111, 14999, 9, 10641, 16120, + 12541, 16111, 14999, 9, 10641, 16121, 843, 11596, + 12541, 16111, 14999, 9, 10641, 18183, 11596, + 12541, 16111, 14999, 9, 10641, 19058, + 12541, 16111, 14999, 9, 10641, 19920, + 12541, 16111, 14999, 9, 10641, 19921, 843, 1217, 11552, + 12541, 16111, 14999, 9, 10641, 19921, 843, 7293, 11392, + 12541, 16111, 14999, 9, 10641, 19921, 843, 11394, + 12541, 16111, 14999, 9, 10641, 19921, 843, 12232, + 12541, 16111, 14999, 9, 10641, 19921, 843, 13758, + 12541, 16111, 14999, 9, 10641, 19921, 11552, + 12541, 16111, 14999, 10, + 12541, 16111, 14999, 11, 10641, 1217, 11392, + 12541, 16111, 14999, 11, 10641, 7292, + 12541, 16111, 14999, 11, 10641, 15642, + 12541, 16111, 14999, 12, + 12541, 16111, 14999, 13, 10641, 1217, 11392, + 12541, 16111, 14999, 13, 10641, 7292, + 12541, 16111, 14999, 13, 10641, 11394, + 12541, 16111, 14999, 13, 10641, 11596, + 12541, 16111, 14999, 13, 10641, 11656, + 12541, 16111, 14999, 13, 10641, 15050, + 12541, 16111, 14999, 13, 10641, 15642, + 12541, 16111, 14999, 13, 10641, 16120, + 12541, 16111, 14999, 13, 10641, 16913, 15642, + 12541, 16111, 14999, 13, 10641, 19920, + 12541, 16111, 14999, 14, + 12541, 16111, 14999, 15, 10641, 1217, 11392, + 12541, 16111, 14999, 15, 10641, 1217, 11552, + 12541, 16111, 14999, 15, 10641, 7292, + 12541, 16111, 14999, 15, 10641, 11597, 11552, + 12541, 16111, 14999, 15, 10641, 11656, + 12541, 16111, 14999, 15, 10641, 15642, + 12541, 16111, 14999, 15, 10641, 16120, + 12541, 16111, 14999, 15, 10641, 19056, + 12541, 16111, 14999, 15, 10641, 19058, + 12541, 16111, 14999, 15, 10641, 19920, + 12541, 16111, 14999, 16, + 12541, 16111, 14999, 17, 10641, 1217, 11392, + 12541, 16111, 14999, 17, 10641, 1217, 11552, + 12541, 16111, 14999, 17, 10641, 7293, 11392, + 12541, 16111, 14999, 17, 10641, 11394, + 12541, 16111, 14999, 17, 10641, 11596, + 12541, 16111, 14999, 17, 10641, 11656, + 12541, 16111, 14999, 17, 10641, 12232, + 12541, 16111, 14999, 17, 10641, 13758, + 12541, 16111, 14999, 17, 10641, 13759, 11552, + 12541, 16111, 14999, 17, 10641, 14625, 12232, + 12541, 16111, 14999, 17, 10641, 15050, + 12541, 16111, 14999, 17, 10641, 15246, + 12541, 16111, 14999, 17, 10641, 15642, + 12541, 16111, 14999, 17, 10641, 18183, 11596, + 12541, 16111, 14999, 17, 10641, 19058, + 12541, 16111, 14999, 17, 10641, 19059, 843, 11394, + 12541, 16111, 14999, 17, 10641, 19920, + 12541, 16111, 14999, 18, + 12541, 16111, 14999, 19, 10641, 15642, + 12541, 16111, 14999, 19, 10641, 19920, + 12541, 16111, 14999, 19, 10641, 21042, + 12541, 16111, 14999, 20, + 12541, 16111, 14999, 21, 10641, 1217, 11552, + 12541, 16111, 14999, 21, 10641, 7292, + 12541, 16111, 14999, 21, 10641, 7855, 11552, + 12541, 16111, 14999, 21, 10641, 11394, + 12541, 16111, 14999, 21, 10641, 11656, + 12541, 16111, 14999, 21, 10641, 15642, + 12541, 16111, 14999, 21, 10641, 15643, 843, 17839, 15642, + 12541, 16111, 14999, 21, 10641, 16120, + 12541, 16111, 14999, 21, 10641, 16913, 15642, + 12541, 16111, 14999, 21, 10641, 17839, 15642, + 12541, 16111, 14999, 21, 10641, 19056, + 12541, 16111, 14999, 22, + 12541, 16111, 14999, 23, 10641, 896, + 12541, 16111, 14999, 23, 10641, 1217, 11552, + 12541, 16111, 14999, 23, 10641, 1217, 11553, 843, 15050, + 12541, 16111, 14999, 23, 10641, 5810, + 12541, 16111, 14999, 23, 10641, 7171, 15642, + 12541, 16111, 14999, 23, 10641, 7855, 11552, + 12541, 16111, 14999, 23, 10641, 11394, + 12541, 16111, 14999, 23, 10641, 11656, + 12541, 16111, 14999, 23, 10641, 13563, 14999, 18, + 12541, 16111, 14999, 23, 10641, 14625, 896, + 12541, 16111, 14999, 23, 10641, 15119, 1216, + 12541, 16111, 14999, 23, 10641, 15119, 13758, + 12541, 16111, 14999, 23, 10641, 15642, + 12541, 16111, 14999, 23, 10641, 16120, + 12541, 16111, 14999, 23, 10641, 19921, 11552, + 12541, 16111, 14999, 24, + 12541, 16111, 14999, 25, 10641, 1217, 11392, + 12541, 16111, 14999, 25, 10641, 1217, 11552, + 12541, 16111, 14999, 25, 10641, 7292, + 12541, 16111, 14999, 25, 10641, 11394, + 12541, 16111, 14999, 26, + 12541, 16111, 14999, 27, 10641, 1217, 11392, + 12541, 16111, 14999, 27, 10641, 1217, 11552, + 12541, 16111, 14999, 27, 10641, 7817, 7292, + 12541, 16111, 14999, 27, 10641, 7855, 11552, + 12541, 16111, 14999, 27, 10641, 7883, 13341, 2106, + 12541, 16111, 14999, 27, 10641, 11394, + 12541, 16111, 14999, 27, 10641, 11656, + 12541, 16111, 14999, 27, 10641, 12232, + 12541, 16111, 14999, 27, 10641, 13563, 14999, 18, + 12541, 16111, 14999, 27, 10641, 13758, + 12541, 16111, 14999, 27, 10641, 16120, + 12541, 16111, 14999, 27, 10641, 16913, 15642, + 12541, 16111, 14999, 27, 10641, 19056, + 12541, 16111, 14999, 27, 10641, 19921, 11552, + 12541, 16111, 14999, 28, + 12541, 16111, 14999, 29, 10641, 1217, 11392, + 12541, 16111, 14999, 29, 10641, 1217, 11393, 843, 15050, + 12541, 16111, 14999, 29, 10641, 1217, 11552, + 12541, 16111, 14999, 29, 10641, 7293, 11392, + 12541, 16111, 14999, 29, 10641, 7304, + 12541, 16111, 14999, 29, 10641, 7305, 843, 1217, 11552, + 12541, 16111, 14999, 29, 10641, 7305, 843, 7293, 11392, + 12541, 16111, 14999, 29, 10641, 7305, 843, 11394, + 12541, 16111, 14999, 29, 10641, 7305, 843, 12232, + 12541, 16111, 14999, 29, 10641, 7305, 843, 13758, + 12541, 16111, 14999, 29, 10641, 7883, 15643, 16950, + 12541, 16111, 14999, 29, 10641, 7888, + 12541, 16111, 14999, 29, 10641, 11394, + 12541, 16111, 14999, 29, 10641, 11596, + 12541, 16111, 14999, 29, 10641, 11656, + 12541, 16111, 14999, 29, 10641, 12232, + 12541, 16111, 14999, 29, 10641, 13758, + 12541, 16111, 14999, 29, 10641, 13759, 843, 11394, + 12541, 16111, 14999, 29, 10641, 13759, 843, 15050, + 12541, 16111, 14999, 29, 10641, 13759, 843, 19058, + 12541, 16111, 14999, 29, 10641, 14625, 11394, + 12541, 16111, 14999, 29, 10641, 14625, 12232, + 12541, 16111, 14999, 29, 10641, 15050, + 12541, 16111, 14999, 29, 10641, 15051, 843, 11394, + 12541, 16111, 14999, 29, 10641, 15051, 843, 12232, + 12541, 16111, 14999, 29, 10641, 15119, 13758, + 12541, 16111, 14999, 29, 10641, 15246, + 12541, 16111, 14999, 29, 10641, 15247, 843, 15050, + 12541, 16111, 14999, 29, 10641, 15642, + 12541, 16111, 14999, 29, 10641, 15643, 843, 11394, + 12541, 16111, 14999, 29, 10641, 18183, 11596, + 12541, 16111, 14999, 29, 10641, 19058, + 12541, 16111, 14999, 29, 10641, 19059, 843, 15050, + 12541, 16111, 14999, 29, 10641, 19920, + 12541, 16111, 14999, 29, 10641, 19921, 843, 1217, 11552, + 12541, 16111, 14999, 29, 10641, 19921, 843, 7293, 11392, + 12541, 16111, 14999, 29, 10641, 19921, 843, 11394, + 12541, 16111, 14999, 29, 10641, 19921, 843, 12232, + 12541, 16111, 14999, 29, 10641, 19921, 843, 13758, + 12541, 16111, 14999, 30, + 12541, 16111, 14999, 31, 10641, 1217, 11392, + 12541, 16111, 14999, 31, 10641, 7292, + 12541, 16111, 14999, 31, 10641, 11394, + 12541, 16111, 14999, 31, 10641, 15642, + 12541, 16111, 14999, 31, 10641, 15643, 17369, 19056, + 12541, 16111, 14999, 31, 10641, 18074, + 12541, 16111, 14999, 31, 10641, 18637, 10092, + 12541, 16111, 14999, 32, + 12541, 16111, 14999, 33, 10641, 15643, 17369, 19056, + 12541, 16111, 14999, 33, 10641, 17839, 15642, + 12541, 16111, 14999, 34, + 12541, 16111, 14999, 35, 10641, 1217, 11392, + 12541, 16111, 14999, 35, 10641, 1217, 11552, + 12541, 16111, 14999, 35, 10641, 1217, 11553, 843, 15050, + 12541, 16111, 14999, 35, 10641, 7855, 11552, + 12541, 16111, 14999, 35, 10641, 10092, + 12541, 16111, 14999, 35, 10641, 11394, + 12541, 16111, 14999, 35, 10641, 11656, + 12541, 16111, 14999, 35, 10641, 14625, 12232, + 12541, 16111, 14999, 35, 10641, 15642, + 12541, 16111, 14999, 35, 10641, 16120, + 12541, 16111, 14999, 35, 10641, 16913, 15642, + 12541, 16111, 14999, 35, 10641, 18183, 11596, + 12541, 16111, 14999, 35, 17140, + 12541, 16111, 14999, 36, + 12541, 16111, 14999, 37, 10641, 1217, 11392, + 12541, 16111, 14999, 37, 10641, 1217, 11552, + 12541, 16111, 14999, 37, 10641, 1217, 11553, 843, 1217, 11392, + 12541, 16111, 14999, 37, 10641, 11394, + 12541, 16111, 14999, 37, 10641, 11395, 843, 1217, 11392, + 12541, 16111, 14999, 37, 10641, 11656, + 12541, 16111, 14999, 37, 10641, 11657, 843, 1217, 11392, + 12541, 16111, 14999, 37, 10641, 11763, 11552, + 12541, 16111, 14999, 37, 10641, 13653, 10092, + 12541, 16111, 14999, 37, 10641, 16120, + 12541, 16111, 14999, 37, 10641, 16913, 15642, + 12541, 16111, 14999, 37, 10641, 19920, + 12541, 16111, 14999, 38, + 12541, 16111, 14999, 39, 10641, 1217, 11392, + 12541, 16111, 14999, 39, 10641, 1217, 11552, + 12541, 16111, 14999, 39, 10641, 7292, + 12541, 16111, 14999, 39, 10641, 7855, 11552, + 12541, 16111, 14999, 39, 10641, 11656, + 12541, 16111, 14999, 39, 10641, 11763, 11552, + 12541, 16111, 14999, 39, 10641, 15642, + 12541, 16111, 14999, 39, 10641, 16120, + 12541, 16111, 14999, 39, 10641, 17839, 15642, + 12541, 16111, 14999, 39, 10641, 19587, 7292, + 12541, 16111, 14999, 39, 10641, 19921, 11552, + 12541, 16111, 14999, 40, + 12541, 16111, 14999, 41, 896, + 12541, 16111, 14999, 41, 10641, 1217, 11552, + 12541, 16111, 14999, 41, 10641, 7293, 11392, + 12541, 16111, 14999, 41, 10641, 7304, + 12541, 16111, 14999, 41, 10641, 7305, 843, 1217, 11552, + 12541, 16111, 14999, 41, 10641, 7305, 843, 7293, 11392, + 12541, 16111, 14999, 41, 10641, 7305, 843, 11394, + 12541, 16111, 14999, 41, 10641, 7305, 843, 12232, + 12541, 16111, 14999, 41, 10641, 7305, 843, 13758, + 12541, 16111, 14999, 41, 10641, 9503, 11392, + 12541, 16111, 14999, 41, 10641, 11394, + 12541, 16111, 14999, 41, 10641, 11596, + 12541, 16111, 14999, 41, 10641, 11656, + 12541, 16111, 14999, 41, 10641, 12232, + 12541, 16111, 14999, 41, 10641, 13758, + 12541, 16111, 14999, 41, 10641, 13759, 843, 11394, + 12541, 16111, 14999, 41, 10641, 13759, 11552, + 12541, 16111, 14999, 41, 10641, 14625, 11394, + 12541, 16111, 14999, 41, 10641, 14625, 12232, + 12541, 16111, 14999, 41, 10641, 15050, + 12541, 16111, 14999, 41, 10641, 15051, 843, 19058, + 12541, 16111, 14999, 41, 10641, 15246, + 12541, 16111, 14999, 41, 10641, 18183, 11596, + 12541, 16111, 14999, 41, 10641, 19058, + 12541, 16111, 14999, 41, 10641, 19059, 843, 11394, + 12541, 16111, 14999, 41, 10641, 19059, 843, 11656, + 12541, 16111, 14999, 41, 10641, 19059, 843, 12232, + 12541, 16111, 14999, 41, 10641, 19059, 843, 15050, + 12541, 16111, 14999, 41, 10641, 19059, 11552, + 12541, 16111, 14999, 41, 10641, 19920, + 12541, 16111, 14999, 41, 10641, 19921, 11552, + 12541, 16111, 14999, 42, + 12541, 16111, 14999, 43, 10641, 1217, 11552, + 12541, 16111, 14999, 43, 10641, 7292, + 12541, 16111, 14999, 43, 10641, 13758, + 12541, 16111, 14999, 43, 10641, 17839, 15642, + 12541, 16111, 14999, 44, + 12541, 16111, 14999, 45, 10641, 1217, 11392, + 12541, 16111, 14999, 45, 10641, 1217, 11552, + 12541, 16111, 14999, 45, 10641, 7292, + 12541, 16111, 14999, 45, 10641, 11394, + 12541, 16111, 14999, 45, 10641, 12232, + 12541, 16111, 14999, 45, 10641, 19058, + 12541, 16111, 14999, 45, 10641, 19920, + 12541, 16111, 14999, 46, + 12541, 16111, 14999, 47, 10641, 1217, 11392, + 12541, 16111, 14999, 47, 10641, 19058, + 12541, 16111, 14999, 48, + 12541, 16111, 14999, 49, 10641, 1217, 11392, + 12541, 16111, 14999, 49, 10641, 1217, 11552, + 12541, 16111, 14999, 49, 10641, 7292, + 12541, 16111, 14999, 49, 10641, 7293, 11392, + 12541, 16111, 14999, 49, 10641, 7888, + 12541, 16111, 14999, 49, 10641, 11394, + 12541, 16111, 14999, 49, 10641, 12232, + 12541, 16111, 14999, 49, 10641, 13758, + 12541, 16111, 14999, 49, 10641, 15050, + 12541, 16111, 14999, 49, 10641, 15642, + 12541, 16111, 14999, 49, 10641, 19058, + 12541, 16111, 14999, 49, 10641, 19920, + 12541, 16111, 14999, 50, + 12541, 16111, 14999, 51, 10641, 1217, 11392, + 12541, 16111, 14999, 51, 10641, 1217, 11552, + 12541, 16111, 14999, 51, 10641, 7292, + 12541, 16111, 14999, 51, 10641, 7855, 11552, + 12541, 16111, 14999, 51, 10641, 11394, + 12541, 16111, 14999, 51, 10641, 11656, + 12541, 16111, 14999, 51, 10641, 13653, 10092, + 12541, 16111, 14999, 51, 10641, 15642, + 12541, 16111, 14999, 51, 10641, 19056, + 12541, 16111, 14999, 51, 10641, 19920, + 12541, 16111, 14999, 58, + 12541, 16111, 14999, 66, + 12541, 16111, 14999, 67, 10641, 11394, + 12541, 16111, 14999, 67, 10641, 15050, + 12541, 16111, 14999, 82, + 12541, 16111, 14999, 94, + 12541, 16111, 14999, 96, + 12541, 16111, 14999, 97, 10641, 20181, 896, + 12541, 16111, 14999, 102, + 12541, 16111, 14999, 172, + 12541, 16111, 14999, 173, 10641, 11656, + 12541, 16111, 14999, 212, + 12541, 16111, 14999, 326, + 12541, 16111, 14999, 394, + 12541, 16111, 14999, 462, + 12541, 16111, 14999, 488, + 12541, 16111, 14999, 498, + 12541, 16111, 14999, 510, + 12541, 16111, 14999, 644, + 12541, 16111, 14999, 692, + 12541, 16111, 14999, 1048, + 12541, 16111, 14999, 1076, + 12541, 16111, 14999, 1300, + 12541, 16111, 14999, 1318, + 12541, 16111, 14999, 1328, + 12541, 16111, 14999, 1340, + 12541, 16111, 14999, 1341, 10641, 11656, + 12541, 16111, 14999, 1341, 18542, + 12541, 16111, 14999, 1492, + 12541, 16111, 14999, 2973, 17140, + 12541, 16111, 14999, 5816, + 12541, 16111, 14999, 7123, 14, + 12541, 16111, 14999, 7148, + 12541, 16111, 14999, 7438, + 12541, 16111, 14999, 9171, 8, + 12541, 16111, 14999, 9171, 28, + 12541, 16111, 14999, 10219, 3076, + 12541, 16111, 14999, 10219, 3356, + 12541, 16111, 14999, 10219, 6756, + 12541, 16111, 14999, 10530, + 12541, 16111, 14999, 10662, + 12541, 16111, 14999, 10812, + 12541, 16111, 14999, 11436, + 12541, 16111, 14999, 12156, + 12541, 16111, 14999, 12340, + 12541, 16111, 14999, 13144, + 12541, 16111, 14999, 13432, + 12541, 16111, 14999, 13469, 36, + 12541, 16111, 14999, 13563, 33, 10641, 7293, 10092, + 12541, 16111, 14999, 13563, 16111, 16, + 12541, 16111, 14999, 13734, + 12541, 16111, 14999, 13735, 10641, 15642, + 12541, 16111, 14999, 13735, 10641, 15643, 17369, 19056, + 12541, 16111, 14999, 14411, 22, + 12541, 16111, 14999, 15501, 12, + 12541, 16111, 14999, 15811, 0, + 12541, 16111, 14999, 15811, 14, + 12541, 16111, 14999, 15811, 20, + 12541, 16111, 14999, 15811, 22, + 12541, 16111, 14999, 15811, 24, + 12541, 16111, 14999, 15811, 38, + 12541, 16111, 14999, 15811, 42, + 12541, 16111, 14999, 15811, 11436, + 12541, 16111, 14999, 15811, 16527, 12, + 12541, 16111, 14999, 15969, 6, + 12541, 16111, 14999, 16449, 9956, + 12541, 16111, 14999, 16527, 6, + 12541, 16111, 14999, 16527, 10, + 12541, 16111, 14999, 16527, 12, + 12541, 16111, 14999, 16527, 34, + 12541, 16111, 14999, 16527, 36, + 12541, 16111, 14999, 16527, 38, + 12541, 16111, 14999, 17460, + 12541, 16111, 14999, 17497, 66, + 12541, 16111, 14999, 17497, 482, + 12541, 16111, 14999, 17497, 656, + 12541, 16111, 14999, 18543, 5, 10641, 1216, + 12541, 16111, 14999, 18543, 8, + 12541, 16111, 14999, 18543, 9171, 8, + 12541, 16111, 14999, 18558, + 12541, 16111, 14999, 18772, + 12541, 16111, 14999, 19034, + 12541, 16111, 14999, 19035, 10641, 11762, + 12541, 16111, 14999, 20507, 50, + 12541, 16111, 14999, 21151, 42, + 12541, 16111, 14999, 21151, 396, + 12541, 16111, 14999, 22825, 826, + 12541, 16111, 14999, 22825, 5246, + 12541, 16111, 18249, 310, + 12541, 16111, 18249, 482, + 12541, 19673, 13563, 14999, 0, + 12541, 19673, 13563, 14999, 8, + 12541, 19673, 13563, 14999, 14, + 12541, 19673, 13563, 14999, 16, + 12541, 19673, 13563, 14999, 18, + 12541, 19673, 13563, 14999, 20, + 12541, 19673, 13563, 14999, 22, + 12541, 19673, 13563, 14999, 24, + 12541, 19673, 13563, 14999, 26, + 12541, 19673, 13563, 14999, 28, + 12541, 19673, 13563, 14999, 30, + 12541, 19673, 13563, 14999, 34, + 12541, 19673, 13563, 14999, 36, + 12541, 19673, 13563, 14999, 38, + 12541, 19673, 13563, 14999, 40, + 12541, 19673, 13563, 14999, 42, + 12541, 19673, 13563, 14999, 46, + 12541, 19673, 13563, 14999, 13432, + 12541, 20125, 14999, 17, 12578, + 12541, 20125, 14999, 16011, 24, + 12541, 20125, 14999, 18183, 24, + 12541, 20125, 14999, 18543, 10, + 12541, 20125, 14999, 18543, 30, + 12541, 20125, 14999, 18599, 16, + 12552, + 12559, 15582, + 12560, + 12563, 3077, 15609, 17642, + 12563, 6757, 15609, 17642, + 12563, 6757, 17045, 11571, 9950, + 12563, 6779, 17045, 11571, 6122, + 12563, 6779, 17045, 11571, 9950, + 12563, 7817, 18763, 13483, 16089, 18392, + 12563, 9464, + 12563, 11695, 8320, + 12563, 11979, 15609, 17642, + 12563, 12237, 11772, + 12563, 13341, 18763, 13483, 16089, 18392, + 12563, 13454, + 12563, 13737, 17045, 11571, 9950, + 12563, 14049, 15620, + 12563, 15819, 17045, 11571, 9950, + 12563, 17154, + 12563, 18847, 896, + 12567, 9855, 2164, + 12567, 9855, 9680, + 12567, 9855, 19380, + 12567, 9855, 19454, + 12567, 11905, 2610, + 12567, 11905, 3076, + 12567, 11905, 3356, + 12567, 11905, 6756, + 12567, 11905, 6778, + 12567, 11905, 8780, + 12567, 11905, 10900, + 12567, 11905, 11978, + 12567, 11905, 13450, + 12567, 11905, 13736, + 12567, 13563, 14999, 350, + 12567, 13563, 14999, 384, + 12567, 13563, 14999, 416, + 12567, 13563, 14999, 448, + 12567, 13563, 14999, 522, + 12567, 13563, 14999, 572, + 12567, 13563, 14999, 622, + 12567, 13563, 14999, 2444, + 12567, 13563, 14999, 17610, + 12567, 14003, 9855, 0, + 12567, 14003, 9855, 8, + 12567, 14003, 9855, 16, + 12567, 14003, 9855, 28, + 12567, 14003, 9855, 40, + 12567, 14003, 9855, 72, + 12567, 14003, 9855, 94, + 12567, 14003, 9855, 184, + 12567, 14003, 9855, 498, + 12567, 14999, 106, + 12567, 14999, 124, + 12567, 14999, 148, + 12567, 14999, 244, + 12567, 14999, 266, + 12567, 14999, 336, + 12567, 14999, 350, + 12567, 14999, 384, + 12567, 14999, 416, + 12567, 14999, 448, + 12567, 14999, 522, + 12567, 14999, 572, + 12567, 14999, 588, + 12567, 14999, 622, + 12567, 14999, 694, + 12567, 14999, 734, + 12567, 14999, 932, + 12567, 14999, 1044, + 12567, 14999, 1164, + 12567, 14999, 1492, + 12567, 14999, 1796, + 12567, 14999, 1914, + 12567, 14999, 2444, + 12567, 14999, 2676, + 12567, 14999, 3048, + 12567, 14999, 3114, + 12567, 14999, 3242, + 12567, 14999, 3304, + 12567, 14999, 3670, + 12567, 14999, 7088, + 12567, 18511, 8320, + 12567, 19667, 14999, 572, + 12567, 19667, 14999, 694, + 12567, 19667, 14999, 734, + 12567, 20685, 8320, + 12567, 22955, 14998, + 12577, 18767, 9854, + 12589, 2611, 14635, 11578, + 12589, 2611, 17087, 11578, + 12589, 6757, 16357, 11578, + 12589, 7123, 11578, + 12589, 7123, 14486, + 12589, 7123, 16529, 14049, 14486, + 12589, 7817, 14526, + 12589, 7817, 15306, + 12589, 7817, 18085, 2668, + 12589, 7817, 18505, 17755, 858, + 12589, 7817, 18774, + 12589, 7817, 18929, 2668, + 12589, 7817, 20296, + 12589, 7817, 21207, 21279, 11476, + 12589, 11573, 18566, + 12589, 13341, 14519, 10641, 1216, + 12589, 13341, 15306, + 12589, 13341, 18505, 17755, 858, + 12589, 13341, 18583, 14049, 14486, + 12589, 13341, 18583, 14049, 15620, + 12589, 13341, 18774, + 12589, 13341, 21207, 18997, 11476, + 12589, 13341, 22823, 14049, 15620, + 12589, 13451, 16357, 11578, + 12589, 13737, 16357, 11578, + 12589, 13737, 18509, 11578, + 12597, 6718, + 12655, 9854, + 12661, 7812, + 12692, + 12695, 16579, 11905, 2610, + 12695, 16579, 11905, 3076, + 12695, 16579, 11905, 3356, + 12695, 16579, 11905, 6756, + 12695, 16579, 11905, 6778, + 12695, 16579, 11905, 8780, + 12695, 16579, 11905, 11978, + 12695, 16579, 11905, 13450, + 12695, 16579, 11905, 13736, + 12695, 16579, 18697, 7915, 358, + 12695, 16579, 18697, 7917, 350, + 12695, 16579, 18697, 7919, 370, + 12695, 16579, 18697, 7921, 706, + 12695, 16579, 18697, 7923, 694, + 12695, 16579, 18697, 7925, 712, + 12695, 16579, 18697, 7927, 2314, + 12695, 16579, 18697, 7929, 2242, + 12695, 16579, 18697, 7931, 2348, + 12695, 16579, 18697, 7933, 114, + 12695, 16579, 18697, 7935, 106, + 12695, 16579, 18697, 7937, 120, + 12695, 16579, 18697, 7939, 16, + 12695, 16579, 18697, 7941, 0, + 12695, 16579, 18697, 7943, 40, + 12695, 16579, 18697, 7945, 158, + 12695, 16579, 18697, 7947, 148, + 12695, 16579, 18697, 7949, 168, + 12695, 16579, 18697, 7951, 598, + 12695, 16579, 18697, 7953, 588, + 12695, 16579, 18697, 7955, 612, + 12695, 16579, 18697, 7957, 630, + 12695, 16579, 18697, 7959, 622, + 12695, 16579, 18697, 7961, 642, + 12695, 16579, 18697, 7963, 392, + 12695, 16579, 18697, 7965, 384, + 12695, 16579, 18697, 7967, 406, + 12695, 16579, 18697, 7969, 340, + 12695, 16579, 18697, 7971, 336, + 12695, 16579, 18697, 7973, 344, + 12695, 16579, 18697, 7975, 738, + 12695, 16579, 18697, 7977, 734, + 12695, 16579, 18697, 7979, 746, + 12695, 16579, 18697, 7981, 230, + 12695, 16579, 18697, 7983, 224, + 12695, 16579, 18697, 7985, 238, + 12695, 16579, 18697, 7987, 2470, + 12695, 16579, 18697, 7989, 2396, + 12695, 16579, 18697, 7991, 2536, + 12695, 16579, 18697, 7993, 1606, + 12695, 16579, 18697, 7995, 266, + 12695, 16579, 18697, 7997, 1680, + 12695, 16579, 18697, 7999, 8726, + 12695, 16579, 18697, 8001, 7700, + 12695, 16579, 18697, 8003, 710, + 12695, 16579, 18697, 8005, 7314, + 12695, 16579, 18697, 8007, 8334, + 12695, 16579, 18697, 8009, 366, + 12695, 16579, 18697, 8011, 3582, + 12695, 16579, 18697, 8013, 546, + 12695, 16579, 18697, 8015, 528, + 12695, 16579, 18697, 8017, 1612, + 12695, 16579, 18697, 8019, 1634, + 12695, 16579, 18697, 8021, 2164, + 12695, 16579, 18697, 8023, 626, + 12695, 16579, 18697, 8025, 1458, + 12695, 16579, 18697, 8027, 8746, + 12695, 16579, 18697, 8029, 8948, + 12695, 16579, 18697, 8031, 2282, + 12695, 16579, 18697, 8033, 8980, + 12695, 16579, 18697, 8035, 3586, + 12695, 16579, 18697, 8037, 2266, + 12695, 16579, 18697, 8039, 342, + 12695, 16579, 18697, 8041, 2426, + 12695, 16579, 18697, 8043, 1896, + 12695, 16579, 18697, 8045, 540, + 12695, 16579, 18697, 8047, 8674, + 12695, 16579, 18697, 8049, 536, + 12695, 16579, 18697, 8051, 634, + 12695, 16579, 18697, 8053, 1464, + 12695, 16579, 18697, 8055, 6940, + 12695, 16579, 18697, 8057, 2268, + 12695, 16579, 18697, 8059, 388, + 12695, 16579, 18697, 8061, 1994, + 12695, 16579, 18697, 8063, 226, + 12695, 16579, 18697, 8065, 1976, + 12695, 16579, 18697, 8067, 686, + 12695, 16579, 18697, 8069, 1364, + 12695, 16579, 18697, 8071, 602, + 12695, 16579, 18697, 8073, 736, + 12695, 16579, 18697, 8075, 2664, + 12695, 16579, 18697, 8077, 8734, + 12695, 16579, 18697, 8079, 7140, + 12695, 16579, 18697, 8081, 2104, + 12695, 16579, 18697, 8083, 682, + 12695, 16579, 18697, 8085, 7883, 8728, + 12695, 16579, 18697, 8087, 1698, + 12695, 16579, 18697, 8089, 236, + 12695, 16579, 18697, 8091, 1152, + 12695, 16579, 18697, 8093, 8730, + 12695, 16579, 18697, 8095, 3226, + 12695, 16579, 18697, 8097, 1986, + 12695, 16579, 18697, 8099, 6932, + 12695, 16579, 18697, 8101, 2328, + 12695, 16579, 18697, 8103, 354, + 12695, 16579, 18697, 8105, 270, + 12695, 16579, 18697, 8107, 110, + 12695, 16579, 18697, 8109, 8956, + 12695, 16579, 18697, 8111, 522, + 12695, 16579, 18697, 8113, 8, + 12695, 16579, 18697, 8115, 1350, + 12695, 16579, 18697, 8117, 2706, + 12695, 16579, 18697, 8119, 960, + 12695, 16579, 18697, 8121, 3290, + 12695, 16579, 18697, 8123, 7883, 8340, + 12695, 16579, 18697, 8125, 7883, 12852, + 12695, 16579, 18697, 8127, 1460, + 12695, 16579, 18697, 8129, 1988, + 12695, 16579, 18697, 8131, 3694, + 12695, 16579, 18697, 8133, 7883, 388, + 12695, 16579, 18697, 8135, 244, + 12695, 16579, 18697, 8137, 7704, + 12695, 16579, 18697, 8139, 338, + 12695, 16579, 18697, 8141, 3562, + 12695, 16579, 18697, 8143, 12846, + 12695, 16579, 18697, 8145, 592, + 12695, 16579, 18697, 8147, 2432, + 12695, 16579, 18697, 8149, 700, + 12695, 16579, 18697, 8151, 2422, + 12695, 16579, 18697, 8153, 8732, + 12695, 16579, 18697, 8155, 742, + 12695, 16579, 18697, 8157, 2274, + 12695, 16579, 18697, 8159, 2424, + 12695, 16579, 18697, 8161, 1462, + 12695, 16579, 18697, 8163, 2428, + 12695, 16579, 18697, 8165, 3540, + 12695, 16579, 18697, 8167, 12854, + 12695, 16579, 18697, 8169, 7298, + 12695, 16579, 18697, 8171, 2420, + 12695, 16579, 18697, 8173, 1590, + 12695, 16579, 18697, 8175, 316, + 12695, 16579, 18697, 8177, 1990, + 12695, 16579, 18697, 8179, 1392, + 12695, 16579, 18697, 8181, 8802, + 12695, 16579, 18697, 8183, 316, + 12695, 16579, 18697, 8185, 3094, + 12695, 16579, 18697, 8187, 192, + 12695, 16579, 18697, 8189, 116, + 12695, 16579, 18697, 8191, 3584, + 12695, 16579, 18697, 8193, 282, + 12695, 16579, 18697, 8195, 3728, + 12695, 16579, 18697, 8197, 7883, 2272, + 12695, 16579, 18697, 8199, 3542, + 12695, 16579, 18697, 8201, 3484, + 12695, 16579, 18697, 8203, 2270, + 12695, 16579, 18697, 8205, 8728, + 12695, 16579, 18697, 8207, 28, + 12695, 16579, 18697, 8209, 1466, + 12695, 16579, 18697, 8211, 8792, + 12695, 16579, 18697, 8213, 918, + 12695, 16579, 18697, 8215, 690, + 12695, 16579, 18697, 8217, 2478, + 12695, 16579, 18697, 8219, 402, + 12695, 16579, 18697, 8221, 8466, + 12695, 16579, 18697, 8223, 254, + 12695, 16579, 18697, 8225, 12852, + 12695, 16579, 18697, 8227, 1788, + 12695, 16579, 18697, 8229, 1992, + 12695, 16579, 18697, 8231, 12842, + 12695, 16579, 18697, 8233, 1826, + 12695, 16579, 18697, 8235, 7883, 2268, + 12695, 16579, 18697, 8237, 3036, + 12695, 16579, 18697, 8239, 184, + 12695, 16579, 18697, 8241, 8964, + 12695, 16579, 18697, 8243, 498, + 12695, 16579, 18697, 8245, 7068, + 12695, 16579, 18697, 8247, 7064, + 12695, 16579, 18697, 8249, 260, + 12695, 16579, 18697, 8251, 2502, + 12695, 16579, 18697, 8253, 8992, + 12695, 16579, 18697, 8255, 572, + 12695, 16579, 18697, 8257, 8340, + 12695, 16579, 18697, 8259, 3456, + 12695, 16579, 18697, 8261, 2272, + 12695, 16579, 18697, 8263, 7883, 342, + 12695, 16579, 18697, 8265, 274, + 12695, 16579, 18697, 8267, 12880, + 12695, 16579, 18697, 8269, 202, + 12695, 16579, 18697, 8271, 2006, + 12695, 16579, 18697, 8273, 1212, + 12695, 16579, 18697, 8275, 166, + 12695, 16579, 18697, 8277, 684, + 12695, 16579, 18697, 8279, 7883, 8732, + 12695, 16579, 18697, 8281, 8720, + 12695, 16579, 18697, 8283, 680, + 12695, 16579, 18697, 8285, 286, + 12695, 16579, 18697, 8287, 8346, + 12695, 16579, 18697, 8289, 8334, + 12695, 16579, 18697, 8291, 8472, + 12695, 16579, 18697, 8293, 1468, + 12695, 16579, 18697, 8295, 8656, + 12695, 16579, 18697, 8297, 2486, + 12695, 16579, 18697, 8299, 1678, + 12695, 16579, 18697, 8301, 3574, + 12695, 16579, 18697, 8303, 80, + 12695, 16579, 18697, 8305, 3062, + 12695, 16579, 18697, 8307, 1402, + 12695, 16579, 19003, 15233, 3233, 19784, + 12695, 16579, 19003, 15233, 10118, + 12695, 16579, 19003, 15233, 13696, + 12695, 16579, 19003, 15233, 16503, 19784, + 12695, 16579, 19003, 15233, 18156, + 12695, 16579, 19003, 15233, 18310, + 12695, 16579, 19003, 15233, 19784, + 12706, + 12731, 9854, + 12737, 3536, + 12741, 9854, + 12741, 9855, 317, 18774, + 12741, 9855, 10641, 1217, 11552, + 12741, 9855, 10641, 11763, 11392, + 12741, 9855, 10641, 15451, 6430, + 12741, 9855, 10641, 16389, 6430, + 12741, 13758, + 12753, 886, + 12753, 10641, 14058, + 12757, 5848, + 12757, 17172, + 12761, 6790, + 12762, + 12763, 6718, + 12764, + 12771, 14424, + 12772, + 12785, 6761, 9854, + 12785, 13469, 9854, + 12785, 16839, 9854, + 12787, 13765, 18386, + 12787, 13884, + 12787, 13885, 18387, 10641, 1216, + 12787, 13885, 18387, 10641, 9286, + 12787, 14049, 18847, 896, + 12787, 15621, 13885, 18386, + 12787, 15621, 21125, 18386, + 12787, 16153, 1217, 18386, + 12787, 16153, 9287, 18386, + 12787, 16153, 13765, 18386, + 12787, 16727, 504, + 12787, 16727, 842, + 12787, 17074, + 12787, 19020, + 12787, 19674, + 12787, 21124, + 12802, + 12809, 9854, + 12889, 10641, 13614, + 12962, + 12973, 6561, 843, 13581, 10629, 11476, + 12973, 6561, 11476, + 12973, 6561, 11477, 843, 13581, 6561, 11476, + 12973, 6561, 11477, 10641, 7292, + 12973, 6561, 11477, 17793, 12973, 10629, 11476, + 12973, 6561, 11477, 17793, 13581, 6561, 11476, + 12973, 6561, 11571, 11476, + 12973, 6561, 14049, 11476, + 12973, 6561, 14625, 11476, + 12973, 6561, 18471, 974, + 12973, 6561, 18471, 7812, + 12973, 6561, 18471, 10551, 7812, + 12973, 6561, 20377, 11476, + 12973, 6561, 23305, 11476, + 12973, 6561, 23305, 11477, 635, 896, + 12973, 10629, 843, 13581, 6561, 11476, + 12973, 10629, 11476, + 12973, 10629, 11477, 635, 7883, 896, + 12973, 10629, 11477, 635, 14518, + 12973, 10629, 11477, 843, 12973, 6561, 11476, + 12973, 10629, 11477, 10641, 7292, + 12973, 10629, 11477, 17793, 12973, 6561, 11476, + 12973, 10629, 11571, 11476, + 12973, 10629, 14049, 11476, + 12973, 10629, 14625, 11476, + 12973, 10629, 18471, 974, + 12973, 10629, 18471, 7812, + 12973, 10629, 18471, 10551, 7812, + 12973, 10629, 20377, 11476, + 12973, 10629, 23305, 11476, + 12973, 10629, 23305, 11477, 635, 896, + 12973, 12391, 13379, 8320, + 12973, 12391, 17087, 8320, + 12973, 12391, 18089, 2611, 7122, + 12973, 12391, 18089, 2611, 14634, + 12973, 12391, 18089, 2611, 17086, + 12973, 12391, 18089, 2611, 19636, + 12973, 12391, 18089, 13737, 18508, + 12973, 12391, 18089, 13737, 20430, + 12973, 12391, 18507, 8320, + 12973, 12391, 20873, 8320, + 13135, 13583, 8320, + 13135, 14999, 504, + 13135, 14999, 672, + 13135, 14999, 2614, + 13135, 14999, 5234, + 13135, 14999, 6096, + 13135, 14999, 6276, + 13135, 14999, 7056, + 13135, 14999, 7420, + 13135, 14999, 7894, + 13135, 14999, 8476, + 13135, 14999, 8782, + 13135, 14999, 9562, + 13135, 14999, 9688, + 13135, 14999, 10412, + 13135, 14999, 11550, + 13135, 14999, 11680, + 13135, 14999, 12068, + 13135, 14999, 13210, + 13135, 14999, 13766, + 13135, 14999, 15632, + 13135, 14999, 16344, + 13135, 14999, 16346, + 13135, 14999, 16530, + 13135, 14999, 16856, + 13135, 14999, 18830, + 13135, 14999, 20672, + 13135, 16397, 8320, + 13135, 18543, 16397, 8320, + 13141, 2242, + 13141, 14064, + 13153, 73, 14993, 8320, + 13153, 95, 14993, 8320, + 13153, 9855, 13052, + 13153, 9855, 15868, + 13153, 9855, 17486, + 13153, 9855, 17610, + 13153, 9855, 17652, + 13153, 9855, 20552, + 13153, 11905, 2610, + 13153, 11905, 3076, + 13153, 11905, 3356, + 13153, 11905, 6756, + 13153, 11905, 6778, + 13153, 11905, 8780, + 13153, 11905, 10900, + 13153, 11905, 11978, + 13153, 11905, 13450, + 13153, 11905, 13736, + 13153, 14003, 9855, 8, + 13153, 14003, 9855, 16, + 13153, 14003, 9855, 28, + 13153, 14003, 9855, 40, + 13153, 14003, 9855, 58, + 13153, 14003, 9855, 72, + 13153, 14003, 9855, 94, + 13153, 14003, 9855, 308, + 13153, 14003, 9855, 676, + 13153, 14003, 9855, 17493, 22, + 13153, 14003, 9855, 17493, 34, + 13153, 14003, 9855, 17493, 396, + 13153, 14003, 9855, 17493, 582, + 13153, 14880, + 13153, 14999, 0, + 13153, 14999, 8, + 13153, 14999, 16, + 13153, 14999, 28, + 13153, 14999, 40, + 13153, 14999, 58, + 13153, 14999, 72, + 13153, 14999, 94, + 13153, 14999, 106, + 13153, 14999, 124, + 13153, 14999, 148, + 13153, 14999, 244, + 13153, 14999, 266, + 13153, 14999, 308, + 13153, 14999, 336, + 13153, 14999, 350, + 13153, 14999, 384, + 13153, 14999, 416, + 13153, 14999, 448, + 13153, 14999, 522, + 13153, 14999, 572, + 13153, 14999, 588, + 13153, 14999, 622, + 13153, 14999, 676, + 13153, 14999, 680, + 13153, 14999, 694, + 13153, 14999, 734, + 13153, 14999, 932, + 13153, 14999, 1044, + 13153, 14999, 1142, + 13153, 14999, 1164, + 13153, 14999, 1492, + 13153, 14999, 1796, + 13153, 14999, 1914, + 13153, 14999, 2152, + 13153, 14999, 2444, + 13153, 14999, 2492, + 13153, 14999, 2556, + 13153, 14999, 2676, + 13153, 14999, 2912, + 13153, 14999, 2956, + 13153, 14999, 3048, + 13153, 14999, 3114, + 13153, 14999, 3242, + 13153, 14999, 3322, + 13153, 14999, 3772, + 13153, 14999, 6314, + 13153, 14999, 10264, + 13153, 14999, 17493, 22, + 13153, 14999, 17493, 34, + 13153, 14999, 17493, 396, + 13153, 14999, 17493, 582, + 13153, 18089, 2611, 7122, + 13153, 18089, 2611, 14634, + 13153, 18089, 2611, 17086, + 13153, 18089, 2611, 19636, + 13153, 18089, 13737, 18508, + 13153, 18089, 13737, 20430, + 13155, 13563, 14999, 0, + 13155, 13563, 14999, 8, + 13155, 13563, 14999, 16, + 13155, 13563, 14999, 28, + 13155, 13563, 14999, 40, + 13155, 13563, 14999, 70, + 13155, 13563, 14999, 72, + 13155, 13563, 14999, 266, + 13155, 13563, 14999, 350, + 13155, 13563, 14999, 384, + 13155, 13563, 14999, 416, + 13155, 13563, 14999, 448, + 13155, 13563, 14999, 522, + 13155, 13563, 14999, 588, + 13155, 13563, 14999, 622, + 13155, 13563, 14999, 694, + 13155, 13563, 14999, 752, + 13155, 13563, 14999, 826, + 13155, 13563, 14999, 972, + 13155, 13563, 14999, 1044, + 13155, 13563, 14999, 1164, + 13155, 13563, 14999, 1284, + 13155, 13563, 14999, 1492, + 13155, 13563, 14999, 1720, + 13155, 13563, 14999, 1914, + 13155, 13563, 14999, 2056, + 13155, 13563, 14999, 2604, + 13155, 13563, 14999, 3048, + 13155, 13563, 14999, 3308, + 13155, 13563, 14999, 3812, + 13155, 13563, 14999, 6566, + 13155, 13563, 14999, 6568, + 13155, 13563, 14999, 6570, + 13155, 13563, 14999, 10240, + 13155, 13563, 14999, 11972, + 13155, 13563, 14999, 11974, + 13155, 16111, 14999, 0, + 13155, 16111, 14999, 8, + 13155, 16111, 14999, 16, + 13155, 16111, 14999, 28, + 13155, 16111, 14999, 40, + 13155, 16111, 14999, 70, + 13155, 16111, 14999, 72, + 13155, 16111, 14999, 266, + 13155, 16111, 14999, 350, + 13155, 16111, 14999, 384, + 13155, 16111, 14999, 416, + 13155, 16111, 14999, 448, + 13155, 16111, 14999, 522, + 13155, 16111, 14999, 588, + 13155, 16111, 14999, 622, + 13155, 16111, 14999, 694, + 13155, 16111, 14999, 752, + 13155, 16111, 14999, 826, + 13155, 16111, 14999, 972, + 13155, 16111, 14999, 1044, + 13155, 16111, 14999, 1164, + 13155, 16111, 14999, 1284, + 13155, 16111, 14999, 1492, + 13155, 16111, 14999, 1720, + 13155, 16111, 14999, 1914, + 13155, 16111, 14999, 2056, + 13155, 16111, 14999, 2604, + 13155, 16111, 14999, 3048, + 13155, 16111, 14999, 3308, + 13155, 16111, 14999, 3812, + 13155, 16111, 14999, 6566, + 13155, 16111, 14999, 6568, + 13155, 16111, 14999, 6570, + 13155, 16111, 14999, 10240, + 13155, 16111, 14999, 11972, + 13155, 16111, 14999, 11974, + 13161, 9854, + 13174, + 13176, + 13179, 6718, + 13185, 15376, + 13199, 15672, + 13200, + 13239, 485, 17524, + 13239, 485, 18179, 9854, + 13248, + 13254, + 13257, 9854, + 13259, 497, 15672, + 13259, 13551, 15672, + 13259, 15253, 15672, + 13259, 15672, + 13260, + 13263, 15499, 15672, + 13270, + 13306, + 13307, 14420, + 13318, + 13338, + 13341, 859, 21097, 16088, + 13341, 2175, 20309, 16088, + 13341, 2611, 14635, 11578, + 13341, 6751, 10092, + 13341, 7123, 11571, 14486, + 13341, 7123, 11578, + 13341, 7127, 19773, 18514, + 13341, 10086, + 13341, 11445, 14414, + 13341, 11446, + 13341, 11447, 10641, 858, + 13341, 11447, 10641, 19215, 15945, 11476, + 13341, 11447, 14623, 21237, 15074, + 13341, 11447, 16088, + 13341, 11447, 16089, 10641, 1216, + 13341, 11447, 17473, 10641, 15620, + 13341, 11447, 21237, 15074, + 13341, 11477, 10641, 13563, 14486, + 13341, 11477, 10641, 16153, 9286, + 13341, 11571, 18763, 13483, 16088, + 13341, 11571, 20217, 16088, + 13341, 11779, 16088, + 13341, 11779, 16089, 12589, 7292, + 13341, 11779, 16089, 13889, 7292, + 13341, 11779, 16089, 15119, 13226, + 13341, 12094, + 13341, 13163, 7518, + 13341, 14049, 11779, 16088, + 13341, 14049, 14519, 16088, + 13341, 14049, 15621, 16088, + 13341, 14049, 18763, 13483, 16088, + 13341, 14049, 20217, 16088, + 13341, 14049, 20846, + 13341, 14519, 16088, + 13341, 14623, 21237, 16088, + 13341, 14625, 11447, 16088, + 13341, 14625, 11477, 10641, 17143, 7138, + 13341, 14625, 15893, 12072, + 13341, 14625, 19557, 8320, + 13341, 14625, 20846, + 13341, 15211, 14677, 20387, 17074, + 13341, 15423, 18381, 16088, + 13341, 15573, 19557, 8320, + 13341, 15601, 14414, + 13341, 15621, 16088, + 13341, 15621, 16089, 10641, 10183, 317, 3293, 14518, + 13341, 15621, 16089, 10641, 10183, 317, 14393, 14518, + 13341, 15621, 16089, 10641, 13290, + 13341, 15621, 16089, 10641, 18836, + 13341, 15621, 16089, 12589, 14518, + 13341, 15621, 16089, 13889, 14518, + 13341, 15621, 16089, 19242, + 13341, 15893, 12072, + 13341, 16122, + 13341, 17262, + 13341, 17263, 10641, 2611, 13579, 10620, + 13341, 17263, 10641, 13737, 13579, 14036, + 13341, 17365, 14414, + 13341, 18555, 887, 19048, + 13341, 18599, 41, 16088, + 13341, 18763, 13483, 16088, + 13341, 18774, + 13341, 18775, 11393, 7817, 18774, + 13341, 18847, 897, 10641, 13290, + 13341, 18847, 969, 7854, + 13341, 20387, 17074, + 13341, 20846, + 13341, 20847, 12589, 7292, + 13341, 20847, 13889, 7292, + 13341, 20847, 19242, + 13341, 21237, 16088, + 13341, 22947, 16088, + 13353, 6718, + 13355, 91, 9854, + 13355, 13881, 9854, + 13355, 16257, 17197, 9854, + 13355, 16899, 2610, + 13355, 16899, 2611, 16502, + 13355, 16899, 2611, 16503, 18744, + 13355, 16899, 2611, 18744, + 13355, 16899, 2611, 18745, 5, 6, + 13355, 16899, 3076, + 13355, 16899, 3077, 7803, 6776, + 13355, 16899, 3232, + 13355, 16899, 3233, 18744, + 13355, 16899, 3356, + 13355, 16899, 6756, + 13355, 16899, 6757, 16502, + 13355, 16899, 6757, 18744, + 13355, 16899, 6778, + 13355, 16899, 8780, + 13355, 16899, 11978, + 13355, 16899, 12080, + 13355, 16899, 12081, 11967, 6776, + 13355, 16899, 12081, 18744, + 13355, 16899, 13450, + 13355, 16899, 13736, + 13355, 16899, 14638, + 13355, 16899, 15818, + 13355, 16899, 18543, 2611, 16502, + 13355, 17193, 9854, + 13355, 17197, 9854, + 13355, 17221, 9854, + 13355, 17831, 9854, + 13355, 18579, 9854, + 13355, 18977, 9854, + 13355, 19219, 9854, + 13355, 19555, 9854, + 13355, 20393, 9854, + 13357, 15694, + 13357, 17084, + 13367, 9854, + 13369, 18076, + 13377, 11773, 20876, + 13377, 14303, 15672, + 13377, 14999, 4, + 13377, 14999, 6, + 13377, 14999, 8, + 13377, 14999, 12, + 13377, 14999, 20, + 13377, 14999, 28, + 13377, 14999, 32, + 13377, 14999, 42, + 13377, 14999, 44, + 13377, 14999, 46, + 13377, 14999, 48, + 13377, 14999, 50, + 13377, 14999, 63, 0, + 13377, 14999, 482, + 13377, 14999, 496, + 13377, 14999, 498, + 13377, 14999, 507, 28, + 13377, 14999, 596, + 13377, 14999, 744, + 13377, 14999, 1036, + 13377, 14999, 1264, + 13377, 14999, 1300, + 13377, 14999, 1328, + 13377, 14999, 1450, + 13377, 14999, 1476, + 13377, 14999, 1756, + 13377, 14999, 1766, + 13377, 14999, 5226, + 13377, 14999, 5960, + 13377, 14999, 6733, 6737, 227, 10, + 13377, 14999, 6955, 7095, 12, + 13377, 14999, 7443, 327, 1775, 16, + 13377, 14999, 7451, 1308, + 13377, 14999, 7607, 20, + 13377, 14999, 9948, + 13377, 14999, 10429, 673, 40, + 13377, 14999, 11429, 11998, + 13377, 14999, 11455, 0, + 13377, 14999, 11674, + 13377, 14999, 11841, 6271, 6, + 13377, 14999, 11977, 191, 8, + 13377, 14999, 12255, 14, + 13377, 14999, 12405, 18, + 13377, 14999, 12442, + 13377, 14999, 13311, 2871, 9479, 34, + 13377, 14999, 13529, 23277, 36, + 13377, 14999, 13777, 3267, 3367, 38, + 13377, 14999, 14079, 10663, 44, + 13377, 14999, 14745, 14443, 62, + 13377, 14999, 14745, 14443, 190, + 13377, 14999, 14745, 14443, 326, + 13377, 14999, 14745, 14443, 506, + 13377, 14999, 14745, 14443, 5226, + 13377, 14999, 14813, 14, + 13377, 14999, 14866, + 13377, 14999, 14983, 7787, 7879, 22, + 13377, 14999, 15065, 2243, 24, + 13377, 14999, 15157, 2559, 8607, 26, + 13377, 14999, 15256, + 13377, 14999, 15323, 15313, 30, + 13377, 14999, 15595, 36, + 13377, 14999, 16210, + 13377, 14999, 16943, 12023, 28, + 13377, 14999, 17673, 11559, 16073, 2, + 13377, 14999, 17982, + 13377, 14999, 17984, + 13377, 14999, 17986, + 13377, 14999, 18751, 13743, 13734, + 13377, 14999, 21114, + 13377, 14999, 22927, 0, + 13377, 14999, 22928, + 13377, 14999, 23103, 66, + 13377, 14999, 23104, + 13377, 14999, 23127, 28, + 13377, 14999, 23129, 36, + 13377, 14999, 23131, 38, + 13377, 14999, 23275, 28, + 13377, 14999, 23293, 24, + 13377, 14999, 23295, 26, + 13377, 14999, 23413, 24, + 13377, 14999, 23479, 14, + 13377, 14999, 23501, 14, + 13377, 14999, 23521, 2, + 13377, 15573, 20876, + 13377, 17671, 15672, + 13377, 18337, 20876, + 13377, 18815, 15672, + 13379, 9854, + 13466, + 13476, + 13507, 671, 10086, + 13507, 671, 10087, 10641, 18836, + 13507, 671, 10087, 11393, 13507, 6435, 10086, + 13507, 5815, 11477, 18471, 19215, 10155, 12973, 6560, + 13507, 6435, 10086, + 13507, 6435, 10087, 10641, 16946, + 13507, 7817, 10086, + 13507, 17237, 12973, 11476, + 13507, 20375, 11477, 11393, 19407, 11476, + 13507, 20547, 13581, 11476, + 13508, + 13542, + 13544, + 13545, 843, 19946, + 13553, 485, 13236, + 13558, + 13563, 201, 6286, + 13563, 3357, 6431, 9175, 2611, 1217, 20876, + 13563, 3457, 10641, 18836, + 13563, 5845, 16248, + 13563, 6793, 9956, + 13563, 7817, 11779, 16088, + 13563, 7817, 18763, 13483, 16088, + 13563, 7817, 20846, + 13563, 9287, 9854, + 13563, 11756, + 13563, 11762, + 13563, 13341, 11779, 16088, + 13563, 13341, 18763, 13483, 16088, + 13563, 13341, 20846, + 13563, 13355, 16899, 2610, + 13563, 13355, 16899, 2611, 16502, + 13563, 13355, 16899, 2611, 18744, + 13563, 13355, 16899, 3076, + 13563, 13355, 16899, 3232, + 13563, 13355, 16899, 3356, + 13563, 13355, 16899, 6756, + 13563, 13355, 16899, 6757, 16502, + 13563, 13355, 16899, 6778, + 13563, 13355, 16899, 8780, + 13563, 13355, 16899, 11978, + 13563, 13355, 16899, 12080, + 13563, 13355, 16899, 13450, + 13563, 13355, 16899, 13736, + 13563, 13355, 16899, 14638, + 13563, 13355, 16899, 15818, + 13563, 13758, + 13563, 14601, 9854, + 13563, 14647, 9854, + 13563, 15233, 9854, + 13563, 15263, 16248, + 13563, 16365, 484, + 13563, 16365, 485, 10641, 16946, + 13563, 16365, 485, 10641, 18847, 897, 93, 1299, 485, 20181, 15642, + 13563, 17005, 9854, + 13563, 17123, 17254, + 13563, 17588, + 13563, 17642, + 13563, 17783, 91, 15100, + 13563, 17783, 10641, 16946, + 13563, 17783, 10641, 18847, 897, 93, 1299, 485, 20181, 15642, + 13563, 18511, 8320, + 13563, 18894, + 13563, 19409, 9854, + 13563, 19614, + 13563, 19923, 92, + 13563, 20685, 8320, + 13563, 20727, 11762, + 13563, 21097, 9854, + 13563, 21110, + 13565, 17074, + 13568, + 13570, + 13572, + 13577, 13293, 15621, 18392, + 13577, 13293, 15621, 18393, 317, 11571, 15620, + 13579, 19565, 19022, + 13581, 6561, 11476, + 13581, 6561, 11477, 635, 14518, + 13581, 6561, 11477, 843, 13581, 10629, 11476, + 13581, 6561, 11477, 10641, 7292, + 13581, 6561, 11477, 17793, 12973, 6561, 11476, + 13581, 6561, 11571, 11476, + 13581, 6561, 14049, 11476, + 13581, 6561, 14625, 11476, + 13581, 6561, 18471, 974, + 13581, 6561, 18471, 7812, + 13581, 6561, 18471, 10551, 7812, + 13581, 6561, 20377, 11476, + 13581, 6561, 23305, 11476, + 13581, 6561, 23305, 11477, 635, 896, + 13581, 10629, 11476, + 13581, 10629, 11477, 843, 12973, 10629, 11476, + 13581, 10629, 11477, 10641, 7292, + 13581, 10629, 11571, 11476, + 13581, 10629, 14049, 11476, + 13581, 10629, 14625, 11476, + 13581, 10629, 18471, 974, + 13581, 10629, 18471, 7812, + 13581, 10629, 18471, 10551, 7812, + 13581, 10629, 20377, 11476, + 13581, 10629, 23305, 11476, + 13581, 10629, 23305, 11477, 635, 896, + 13582, + 13594, + 13597, 11571, 20375, 11476, + 13598, + 13609, 485, 14836, + 13609, 485, 20520, + 13619, 20224, + 13627, 11692, + 13648, + 13653, 18895, 18392, + 13663, 6286, + 13683, 15717, 15287, 843, 5730, + 13685, 9855, 13052, + 13685, 9855, 15868, + 13685, 9855, 17486, + 13685, 9855, 17610, + 13685, 11905, 2610, + 13685, 11905, 3076, + 13685, 11905, 3356, + 13685, 11905, 6756, + 13685, 11905, 6778, + 13685, 11905, 8780, + 13685, 11905, 10900, + 13685, 11905, 11978, + 13685, 11905, 13450, + 13685, 11905, 13736, + 13685, 14003, 9855, 8, + 13685, 14003, 9855, 16, + 13685, 14003, 9855, 28, + 13685, 14003, 9855, 40, + 13685, 14003, 9855, 58, + 13685, 14003, 9855, 72, + 13685, 14003, 9855, 94, + 13685, 14003, 9855, 308, + 13685, 14003, 9855, 676, + 13685, 14999, 0, + 13685, 14999, 8, + 13685, 14999, 16, + 13685, 14999, 28, + 13685, 14999, 40, + 13685, 14999, 58, + 13685, 14999, 72, + 13685, 14999, 94, + 13685, 14999, 106, + 13685, 14999, 124, + 13685, 14999, 148, + 13685, 14999, 244, + 13685, 14999, 266, + 13685, 14999, 308, + 13685, 14999, 336, + 13685, 14999, 350, + 13685, 14999, 384, + 13685, 14999, 416, + 13685, 14999, 448, + 13685, 14999, 522, + 13685, 14999, 572, + 13685, 14999, 588, + 13685, 14999, 622, + 13685, 14999, 676, + 13685, 14999, 680, + 13685, 14999, 734, + 13685, 14999, 932, + 13685, 14999, 1044, + 13685, 14999, 1142, + 13685, 14999, 1164, + 13685, 14999, 1492, + 13685, 14999, 1796, + 13685, 14999, 1914, + 13685, 14999, 2444, + 13685, 14999, 2492, + 13685, 14999, 2556, + 13685, 14999, 2676, + 13685, 14999, 2956, + 13685, 14999, 3048, + 13685, 14999, 3242, + 13685, 14999, 3322, + 13685, 14999, 6314, + 13685, 14999, 10264, + 13687, 91, 11393, 9854, + 13687, 95, 14993, 8320, + 13687, 494, + 13687, 1141, 9854, + 13687, 9855, 15868, + 13687, 9855, 17486, + 13687, 9855, 17610, + 13687, 10773, 9854, + 13687, 11887, 9854, + 13687, 11905, 2610, + 13687, 11905, 3076, + 13687, 11905, 3356, + 13687, 11905, 6756, + 13687, 11905, 6778, + 13687, 11905, 8780, + 13687, 11905, 10900, + 13687, 11905, 11978, + 13687, 11905, 13450, + 13687, 11905, 13736, + 13687, 12755, 9854, + 13687, 13379, 9854, + 13687, 14003, 9855, 8, + 13687, 14003, 9855, 16, + 13687, 14003, 9855, 28, + 13687, 14003, 9855, 40, + 13687, 14003, 9855, 58, + 13687, 14003, 9855, 72, + 13687, 14003, 9855, 94, + 13687, 14003, 9855, 184, + 13687, 14003, 9855, 308, + 13687, 14003, 9855, 498, + 13687, 14003, 9855, 676, + 13687, 14529, 9854, + 13687, 14999, 0, + 13687, 14999, 8, + 13687, 14999, 16, + 13687, 14999, 28, + 13687, 14999, 40, + 13687, 14999, 58, + 13687, 14999, 72, + 13687, 14999, 94, + 13687, 14999, 124, + 13687, 14999, 184, + 13687, 14999, 266, + 13687, 14999, 308, + 13687, 14999, 336, + 13687, 14999, 350, + 13687, 14999, 384, + 13687, 14999, 416, + 13687, 14999, 448, + 13687, 14999, 498, + 13687, 14999, 522, + 13687, 14999, 572, + 13687, 14999, 588, + 13687, 14999, 622, + 13687, 14999, 676, + 13687, 14999, 680, + 13687, 14999, 734, + 13687, 14999, 2152, + 13687, 14999, 2444, + 13687, 14999, 2492, + 13687, 14999, 2556, + 13687, 14999, 2956, + 13687, 14999, 3048, + 13687, 14999, 3114, + 13687, 14999, 3322, + 13687, 14999, 7874, + 13687, 14999, 8842, + 13687, 15233, 2611, 16502, + 13687, 15233, 2611, 18744, + 13687, 15233, 3232, + 13687, 15233, 9854, + 13707, 9854, + 13717, 6421, 2511, 12032, + 13717, 14656, + 13729, 13239, 12682, + 13737, 1217, 20876, + 13737, 9475, 7816, + 13737, 9475, 11392, + 13737, 9475, 11552, + 13737, 9475, 13340, + 13737, 12573, 19945, 7816, + 13737, 12573, 19945, 13340, + 13737, 14421, 12762, + 13737, 15601, 16096, + 13737, 17045, 11571, 9950, + 13737, 19407, 14312, + 13737, 19465, 19006, + 13737, 20375, 14312, + 13737, 20573, 14647, 13532, + 13737, 20607, 11446, + 13754, + 13755, 6718, + 13757, 20481, 19638, + 13758, + 13759, 10641, 1217, 11392, + 13759, 10641, 1217, 11552, + 13759, 10641, 9503, 11392, + 13759, 18386, + 13759, 18387, 10641, 1217, 11392, + 13759, 18387, 10641, 15451, 6430, + 13759, 18387, 11393, 19407, 11476, + 13759, 18387, 11393, 20375, 11476, + 13763, 11742, + 13765, 10641, 7817, 7123, 11570, + 13765, 10641, 13341, 7123, 11570, + 13771, 6718, + 13787, 13804, + 13801, 15464, + 13809, 8321, 9854, + 13810, + 13848, + 13884, + 13885, 10641, 12741, 9854, + 13885, 10641, 16727, 504, + 13885, 10641, 16946, + 13885, 11393, 897, 11393, 21124, + 13885, 11393, 21124, + 13885, 14373, 843, 14889, 10641, 13884, + 13889, 2611, 14635, 11578, + 13889, 7123, 11578, + 13889, 7123, 14486, + 13889, 7123, 16529, 14049, 14486, + 13889, 7817, 505, 12589, 13341, 11779, 16089, 17178, + 13889, 7817, 14519, 10641, 1216, + 13889, 7817, 18505, 17755, 858, + 13889, 7817, 18774, + 13889, 11573, 18566, + 13889, 13341, 505, 12589, 7817, 11779, 16089, 17178, + 13889, 13341, 15306, + 13889, 13341, 18505, 17755, 858, + 13889, 13341, 18583, 14049, 14486, + 13889, 13341, 18583, 14049, 15620, + 13889, 13341, 18774, + 13889, 13341, 22823, 14049, 15620, + 13983, 9855, 7883, 17610, + 13983, 9855, 15461, 7883, 17610, + 13983, 9855, 15752, + 13983, 9855, 17139, 21004, + 13983, 9855, 17487, 15840, + 13983, 9855, 17487, 15841, 10641, 10092, + 13983, 9855, 17487, 17318, + 13983, 9855, 17487, 17608, + 13983, 9855, 17487, 17609, 10641, 10092, + 13983, 9855, 17611, 18827, 12774, + 13983, 9855, 17611, 20978, + 13983, 9855, 17611, 20979, 10641, 10092, + 13983, 9855, 17611, 21000, + 13983, 9855, 17611, 21020, + 13983, 9855, 18141, 7883, 17610, + 13983, 9855, 18543, 17487, 15840, + 13983, 9855, 18543, 17487, 17608, + 13983, 9855, 19474, + 13983, 9855, 20517, 16809, 17318, + 13983, 9855, 20756, + 13983, 9855, 20974, + 13983, 9855, 21004, + 13983, 10219, 1217, 11552, + 13983, 10219, 3357, 6431, 11552, + 13983, 10219, 9503, 11392, + 13983, 10219, 13464, + 13983, 10219, 13737, 6431, 11552, + 13983, 10219, 14435, 11392, + 13983, 10219, 14435, 11552, + 13983, 10219, 14625, 9503, 11392, + 13983, 10219, 14625, 17318, + 13983, 10219, 15781, 17318, + 13983, 10219, 16561, 17608, + 13983, 10219, 17064, + 13983, 10219, 18202, + 13983, 10219, 18545, 18205, 20741, 17318, + 13983, 10219, 20517, 16561, 20741, 17318, + 13983, 10219, 20517, 16561, 20741, 17319, 19608, + 13983, 10219, 20517, 19861, 20741, 17318, + 13983, 10219, 20517, 20741, 17318, + 13983, 10219, 21013, 20741, 17318, + 13988, + 13993, 6922, + 13993, 14424, + 13996, + 14030, + 14033, 9292, + 14033, 10620, + 14033, 14498, + 14033, 16098, + 14039, 1019, 6718, + 14039, 6718, + 14042, + 14047, 485, 14578, + 14049, 671, 18471, 12388, + 14049, 671, 18471, 17655, 12388, + 14049, 2462, + 14049, 3136, + 14049, 3137, 10641, 9474, + 14049, 3137, 10641, 13563, 11748, + 14049, 3137, 14369, 11748, + 14049, 3137, 14369, 11749, 10641, 9466, + 14049, 6091, 9970, + 14049, 6435, 18471, 7817, 7127, 12388, + 14049, 6435, 18471, 12388, + 14049, 6435, 18471, 17655, 12388, + 14049, 6758, + 14049, 6759, 10641, 20181, 15119, 11571, 15640, + 14049, 6779, 17045, 6122, + 14049, 6779, 17045, 9950, + 14049, 7131, 13483, 14723, 6410, + 14049, 7817, 7797, 12698, + 14049, 7817, 18471, 12388, + 14049, 7817, 18471, 17655, 12388, + 14049, 9950, + 14049, 10533, 13563, 15620, + 14049, 11477, 13457, 14055, 2610, + 14049, 11477, 13457, 14055, 3357, 15734, + 14049, 11703, 7672, + 14049, 11703, 9220, + 14049, 11703, 9518, + 14049, 11703, 13286, + 14049, 11703, 14382, + 14049, 11703, 14950, + 14049, 12275, 9970, + 14049, 12277, 11695, 8320, + 14049, 12537, 15620, + 14049, 12541, 11772, + 14049, 13341, 18471, 12388, + 14049, 13341, 18471, 17655, 12388, + 14049, 13501, 13226, + 14049, 13563, 9950, + 14049, 13563, 15620, + 14049, 13563, 16732, + 14049, 13585, 9970, + 14049, 14418, + 14049, 14486, + 14049, 14487, 10641, 1217, 13340, + 14049, 14487, 10641, 3357, 6430, + 14049, 14487, 10641, 6435, 11476, + 14049, 14487, 10641, 12589, 7817, 18504, + 14049, 14487, 10641, 12589, 13341, 18504, + 14049, 14487, 10641, 13889, 7817, 18504, + 14049, 14487, 10641, 13889, 13341, 18504, + 14049, 14487, 19937, 11571, 13563, 14486, + 14049, 14726, + 14049, 15095, 9950, + 14049, 15095, 13563, 15620, + 14049, 15095, 15620, + 14049, 15095, 16248, + 14049, 15095, 16732, + 14049, 15519, 1216, + 14049, 15620, + 14049, 15621, 10641, 12589, 7817, 18504, + 14049, 15621, 10641, 12589, 13341, 18504, + 14049, 15621, 10641, 13889, 7817, 18504, + 14049, 15621, 10641, 13889, 13341, 18504, + 14049, 15621, 10641, 14455, 18847, 7854, + 14049, 15621, 10641, 17143, 16184, + 14049, 15621, 10641, 18847, 18943, 7854, + 14049, 15621, 10641, 19407, 10182, + 14049, 15621, 10641, 20375, 10182, + 14049, 15621, 14420, + 14049, 15621, 19937, 11571, 10533, 13563, 15620, + 14049, 15621, 19937, 11571, 13563, 15620, + 14049, 15621, 19937, 11571, 15095, 15620, + 14049, 16248, + 14049, 16249, 317, 15620, + 14049, 16249, 9970, + 14049, 16249, 10641, 16127, 1216, + 14049, 16249, 19937, 11571, 10533, 13563, 16248, + 14049, 16249, 19937, 11571, 13563, 16248, + 14049, 16249, 19937, 11571, 15095, 16248, + 14049, 16492, + 14049, 16733, 19937, 11571, 13563, 16732, + 14049, 17000, + 14049, 17245, 6718, + 14049, 17443, 7817, 3537, 17392, + 14049, 17995, 2242, + 14049, 17995, 7672, + 14049, 18072, + 14049, 18095, 6718, + 14049, 18446, + 14049, 18511, 8321, 18392, + 14049, 18566, + 14049, 18775, 19937, 13563, 14049, 18774, + 14049, 18847, 896, + 14049, 18847, 16366, + 14049, 18847, 19566, + 14049, 19332, + 14049, 19566, + 14049, 19772, + 14049, 19787, 19772, + 14049, 19790, + 14049, 20181, 16366, + 14049, 20685, 8321, 18392, + 14049, 20973, 13563, 18774, + 14049, 20973, 18774, + 14049, 20973, 18775, 10641, 1216, + 14049, 22807, 16248, + 14049, 22807, 16249, 10641, 19407, 10182, + 14049, 22807, 16249, 10641, 20375, 10182, + 14049, 22821, 13563, 18774, + 14049, 22821, 18774, + 14049, 22867, 13563, 18774, + 14049, 22867, 17046, + 14049, 22867, 18774, + 14049, 22888, + 14049, 23121, 13563, 18774, + 14049, 23121, 17046, + 14049, 23121, 18446, + 14049, 23121, 18774, + 14063, 18212, + 14064, + 14065, 10641, 11623, 6556, + 14069, 2246, + 14267, 1221, 16791, 12087, 17308, + 14267, 10651, 19619, 1216, + 14267, 10651, 19619, 7854, + 14267, 11695, 8320, + 14267, 15027, 16791, 12087, 17308, + 14267, 15233, 2610, + 14267, 15233, 2611, 16502, + 14267, 15233, 2611, 18744, + 14267, 15233, 3076, + 14267, 15233, 3077, 16502, + 14267, 15233, 3077, 18744, + 14267, 15233, 3232, + 14267, 15233, 3233, 18744, + 14267, 15233, 3356, + 14267, 15233, 3357, 16502, + 14267, 15233, 3357, 18744, + 14267, 15233, 6756, + 14267, 15233, 6757, 16502, + 14267, 15233, 6757, 18744, + 14267, 15233, 6778, + 14267, 15233, 6779, 16502, + 14267, 15233, 6779, 18744, + 14267, 15233, 8780, + 14267, 15233, 8781, 16502, + 14267, 15233, 8781, 18744, + 14267, 15233, 11978, + 14267, 15233, 11979, 16502, + 14267, 15233, 11979, 18744, + 14267, 15233, 12080, + 14267, 15233, 12081, 18744, + 14267, 15233, 12108, + 14267, 15233, 12109, 18744, + 14267, 15233, 13450, + 14267, 15233, 13451, 16502, + 14267, 15233, 13451, 18744, + 14267, 15233, 13538, + 14267, 15233, 13539, 18744, + 14267, 15233, 13736, + 14267, 15233, 13737, 16502, + 14267, 15233, 13737, 18744, + 14267, 15233, 14636, + 14267, 15233, 14637, 18744, + 14267, 15233, 15194, + 14267, 15233, 15195, 18744, + 14267, 15233, 15736, + 14267, 15233, 15737, 18744, + 14267, 15233, 15820, + 14267, 15233, 15821, 18744, + 14267, 15233, 17190, + 14267, 15233, 17191, 18744, + 14267, 15891, 5745, 10422, + 14267, 15891, 12087, 17308, + 14267, 15891, 13729, 17308, + 14267, 15891, 14741, 17308, + 14267, 15891, 15507, 17308, + 14267, 16791, 13729, 17308, + 14267, 16791, 15507, 17308, + 14269, 17394, + 14281, 12005, 505, 12005, 634, + 14281, 12005, 634, + 14281, 12005, 635, 10641, 19921, 14262, + 14284, + 14299, 1299, 485, 5308, + 14299, 2892, + 14299, 6291, 19618, + 14299, 6757, 17045, 9950, + 14299, 6793, 9956, + 14299, 7817, 18907, 11392, + 14299, 7817, 18907, 11552, + 14299, 8321, 8849, 14782, + 14299, 8321, 18599, 8849, 14782, + 14299, 9171, 17810, + 14299, 9171, 18046, + 14299, 9171, 18206, + 14299, 9855, 9459, 15983, 5270, + 14299, 9855, 12744, + 14299, 9855, 13402, + 14299, 9855, 13422, + 14299, 9855, 14277, 17638, + 14299, 9855, 15476, + 14299, 9855, 15571, 18894, + 14299, 9855, 15571, 21175, 2282, + 14299, 9855, 19766, + 14299, 9855, 20881, 14276, + 14299, 9855, 20905, 14277, 19842, + 14299, 10093, 18090, + 14299, 10219, 2611, 1217, 11392, + 14299, 10219, 2611, 1217, 11552, + 14299, 10219, 3357, 6431, 11392, + 14299, 10219, 3357, 6431, 11552, + 14299, 10219, 7889, 11392, + 14299, 10219, 7889, 11552, + 14299, 10623, 12261, 11552, + 14299, 11762, + 14299, 11779, 11852, + 14299, 11779, 12066, + 14299, 11779, 12440, + 14299, 11779, 17810, + 14299, 11779, 18046, + 14299, 11779, 18206, + 14299, 11852, + 14299, 11853, 10641, 1216, + 14299, 11853, 15093, 6776, + 14299, 11853, 18191, 6776, + 14299, 11989, 14455, 2175, 9956, + 14299, 11989, 14455, 7171, 9956, + 14299, 12066, + 14299, 12067, 10641, 1217, 11392, + 14299, 12067, 10641, 3357, 6430, + 14299, 12067, 10641, 9502, + 14299, 12067, 15093, 6776, + 14299, 12067, 18191, 6776, + 14299, 12261, 11392, + 14299, 12261, 11552, + 14299, 12440, + 14299, 12441, 10641, 1217, 11552, + 14299, 12441, 15093, 6776, + 14299, 12441, 18191, 6776, + 14299, 13239, 485, 15470, + 14299, 13341, 18907, 11392, + 14299, 13341, 18907, 11393, 10641, 1216, + 14299, 13341, 18907, 11552, + 14299, 13563, 2175, 8356, + 14299, 13563, 2175, 8849, 10641, 12440, + 14299, 13563, 2175, 9716, + 14299, 13563, 3532, + 14299, 13563, 3696, + 14299, 13563, 7171, 826, + 14299, 13563, 7171, 2077, 5246, + 14299, 13563, 7171, 2764, + 14299, 13563, 7171, 3010, + 14299, 13563, 7171, 3194, + 14299, 13563, 7171, 3532, + 14299, 13563, 7171, 3696, + 14299, 13563, 7171, 7464, + 14299, 13563, 7171, 8357, 16525, 6776, + 14299, 13563, 7171, 8357, 18191, 6776, + 14299, 13563, 7171, 8848, + 14299, 13563, 7171, 8849, 10641, 12440, + 14299, 13563, 7171, 9716, + 14299, 13563, 7171, 9855, 13402, + 14299, 13563, 7171, 10651, 2792, + 14299, 13563, 7171, 10651, 13408, + 14299, 13563, 7171, 10651, 14026, + 14299, 13563, 7171, 10651, 14296, + 14299, 13563, 7171, 10651, 15988, + 14299, 13563, 7171, 10651, 17636, + 14299, 13563, 7171, 10651, 21010, + 14299, 13563, 7171, 10890, + 14299, 13563, 7171, 12642, + 14299, 13563, 7171, 13737, 6430, + 14299, 13563, 7171, 16279, 7139, 485, 7634, + 14299, 13563, 7171, 17143, 10900, + 14299, 13563, 7171, 17459, 20883, 10900, + 14299, 13563, 7171, 18079, 15074, + 14299, 13563, 7171, 18249, 2765, 10641, 2077, 10641, 5247, 16754, + 14299, 13563, 7171, 18249, 3011, 10641, 2077, 10641, 5247, 16754, + 14299, 13563, 7171, 18249, 5247, 10641, 2077, 10641, 3696, + 14299, 13563, 11852, + 14299, 13563, 12066, + 14299, 13563, 12440, + 14299, 13617, 485, 2969, 199, 7174, + 14299, 13642, + 14299, 13643, 15093, 6776, + 14299, 13643, 18191, 6776, + 14299, 14003, 9855, 1217, 11552, + 14299, 14003, 9855, 13563, 43, 11392, + 14299, 14003, 9855, 18183, 13563, 43, 11392, + 14299, 14625, 13341, 18907, 11392, + 14299, 14625, 13341, 18907, 11393, 10641, 1216, + 14299, 14999, 8, + 14299, 14999, 9, 12085, 6776, + 14299, 14999, 9, 15093, 6776, + 14299, 14999, 9, 16525, 6776, + 14299, 14999, 9, 18191, 6776, + 14299, 14999, 40, + 14299, 14999, 41, 10641, 12261, 11392, + 14299, 14999, 41, 10641, 12261, 11393, 18191, 6776, + 14299, 14999, 41, 12085, 6776, + 14299, 14999, 41, 18191, 6776, + 14299, 14999, 66, + 14299, 14999, 456, + 14299, 14999, 457, 12085, 6776, + 14299, 14999, 457, 15093, 6776, + 14299, 14999, 457, 16525, 6776, + 14299, 14999, 457, 18191, 6776, + 14299, 14999, 482, + 14299, 14999, 483, 12085, 6776, + 14299, 14999, 483, 18191, 6776, + 14299, 14999, 682, + 14299, 14999, 683, 12085, 6776, + 14299, 14999, 683, 18191, 6776, + 14299, 14999, 746, + 14299, 14999, 747, 12085, 6776, + 14299, 14999, 747, 18191, 6776, + 14299, 14999, 826, + 14299, 14999, 827, 10641, 3357, 6431, 11392, + 14299, 14999, 827, 10641, 3357, 6431, 20505, 11392, + 14299, 14999, 827, 10641, 13737, 6431, 11392, + 14299, 14999, 827, 10641, 13737, 6431, 11552, + 14299, 14999, 827, 10641, 13737, 6431, 18471, 19215, 11392, + 14299, 14999, 827, 12085, 6776, + 14299, 14999, 827, 15093, 6776, + 14299, 14999, 827, 16525, 6776, + 14299, 14999, 827, 18191, 6776, + 14299, 14999, 920, + 14299, 14999, 921, 10641, 1217, 11553, 843, 13737, 6431, 11392, + 14299, 14999, 921, 10641, 3357, 6431, 11553, 843, 1217, 11392, + 14299, 14999, 921, 10641, 12261, 11392, + 14299, 14999, 921, 10641, 13563, 42, + 14299, 14999, 921, 10641, 13563, 43, 11552, + 14299, 14999, 921, 10641, 13563, 8357, 11392, + 14299, 14999, 921, 10641, 13737, 6431, 18471, 17463, 11552, + 14299, 14999, 921, 10641, 13737, 6431, 18471, 17463, 11553, 843, 3357, 6431, 11392, + 14299, 14999, 921, 10641, 13737, 6431, 21109, 11552, + 14299, 14999, 921, 10641, 18183, 13563, 43, 11552, + 14299, 14999, 921, 12085, 6776, + 14299, 14999, 921, 15093, 6776, + 14299, 14999, 921, 16525, 6776, + 14299, 14999, 921, 18191, 6776, + 14299, 14999, 1120, + 14299, 14999, 1121, 10641, 1217, 11552, + 14299, 14999, 1121, 12085, 6776, + 14299, 14999, 1121, 15093, 6776, + 14299, 14999, 1121, 16525, 6776, + 14299, 14999, 1121, 18191, 6776, + 14299, 14999, 1128, + 14299, 14999, 1129, 10641, 1217, 11552, + 14299, 14999, 1129, 10641, 1217, 11553, 843, 13563, 3194, + 14299, 14999, 1129, 10641, 3357, 6431, 20505, 11553, 843, 13563, 3194, + 14299, 14999, 1129, 10641, 6779, 6431, 11392, + 14299, 14999, 1129, 10641, 9502, + 14299, 14999, 1129, 10641, 13737, 6431, 11393, 19214, + 14299, 14999, 1129, 10641, 13737, 6431, 11552, + 14299, 14999, 1129, 10641, 18183, 42, + 14299, 14999, 1129, 10641, 18183, 13563, 43, 11552, + 14299, 14999, 1129, 12085, 6776, + 14299, 14999, 1129, 18191, 6776, + 14299, 14999, 1228, + 14299, 14999, 1229, 12085, 6776, + 14299, 14999, 1229, 18191, 6776, + 14299, 14999, 1366, + 14299, 14999, 1367, 10641, 1217, 11552, + 14299, 14999, 1367, 10641, 1217, 11553, 843, 13737, 6431, 11392, + 14299, 14999, 1367, 10641, 1217, 12767, 11552, + 14299, 14999, 1367, 10641, 3357, 6431, 11552, + 14299, 14999, 1367, 10641, 13737, 6431, 11552, + 14299, 14999, 1367, 10641, 13737, 6431, 18471, 17463, 11552, + 14299, 14999, 1367, 12085, 6776, + 14299, 14999, 1367, 15093, 6776, + 14299, 14999, 1367, 16525, 6776, + 14299, 14999, 1367, 18191, 6776, + 14299, 14999, 1434, + 14299, 14999, 1435, 10641, 3357, 6431, 11552, + 14299, 14999, 1435, 10641, 9502, + 14299, 14999, 1435, 10641, 13737, 6431, 11392, + 14299, 14999, 1435, 10641, 18183, 15642, + 14299, 14999, 1435, 12085, 6776, + 14299, 14999, 1435, 15093, 6776, + 14299, 14999, 1435, 16525, 6776, + 14299, 14999, 1435, 18191, 6776, + 14299, 14999, 1582, + 14299, 14999, 1583, 10641, 3357, 6431, 11392, + 14299, 14999, 1583, 10641, 3357, 6431, 18847, 11392, + 14299, 14999, 1583, 10641, 12261, 11392, + 14299, 14999, 1583, 10641, 13563, 14299, 14999, 3195, 843, 3357, 6430, + 14299, 14999, 1583, 10641, 13563, 14299, 14999, 3195, 11392, + 14299, 14999, 1583, 10641, 13563, 14299, 14999, 3195, 11552, + 14299, 14999, 1583, 10641, 13737, 6431, 11392, + 14299, 14999, 1583, 10641, 13737, 6431, 18471, 17463, 11552, + 14299, 14999, 1583, 10641, 18043, 21003, 11905, 6779, 11552, + 14299, 14999, 1583, 12085, 6776, + 14299, 14999, 1583, 15093, 6776, + 14299, 14999, 1583, 16525, 6776, + 14299, 14999, 1583, 18191, 6776, + 14299, 14999, 1608, + 14299, 14999, 1609, 7044, + 14299, 14999, 1609, 7045, 10641, 12261, 11392, + 14299, 14999, 1609, 7045, 12085, 6776, + 14299, 14999, 1609, 7045, 15093, 6776, + 14299, 14999, 1609, 7045, 16525, 6776, + 14299, 14999, 1609, 7045, 18191, 6776, + 14299, 14999, 1609, 10641, 3697, 11392, + 14299, 14999, 1609, 10641, 3697, 11393, 12085, 6776, + 14299, 14999, 1609, 10641, 3697, 11393, 18191, 6776, + 14299, 14999, 1609, 10641, 18183, 42, + 14299, 14999, 1609, 12085, 6776, + 14299, 14999, 1609, 15093, 6776, + 14299, 14999, 1609, 16525, 6776, + 14299, 14999, 1609, 18191, 6776, + 14299, 14999, 1609, 20612, + 14299, 14999, 1609, 20613, 12085, 6776, + 14299, 14999, 1609, 20613, 15093, 6776, + 14299, 14999, 1609, 20613, 16525, 6776, + 14299, 14999, 1609, 20613, 18191, 6776, + 14299, 14999, 1790, + 14299, 14999, 1791, 12085, 6776, + 14299, 14999, 1791, 18191, 6776, + 14299, 14999, 1866, + 14299, 14999, 1867, 10641, 1217, 11392, + 14299, 14999, 1867, 10641, 1217, 11552, + 14299, 14999, 1867, 10641, 3357, 6431, 11392, + 14299, 14999, 1867, 10641, 9502, + 14299, 14999, 1867, 10641, 13737, 6431, 11552, + 14299, 14999, 1867, 12085, 6776, + 14299, 14999, 1867, 15093, 6776, + 14299, 14999, 1867, 16525, 6776, + 14299, 14999, 1867, 18191, 6776, + 14299, 14999, 2076, + 14299, 14999, 2077, 10641, 896, + 14299, 14999, 2077, 10641, 1217, 11392, + 14299, 14999, 2077, 10641, 13563, 42, + 14299, 14999, 2077, 10641, 13737, 6431, 11392, + 14299, 14999, 2077, 10641, 13737, 6431, 11552, + 14299, 14999, 2077, 10641, 14625, 896, + 14299, 14999, 2077, 12085, 6776, + 14299, 14999, 2077, 15093, 6776, + 14299, 14999, 2077, 16525, 6776, + 14299, 14999, 2077, 18191, 6776, + 14299, 14999, 2175, 5246, + 14299, 14999, 2666, + 14299, 14999, 2667, 10641, 13563, 8357, 11392, + 14299, 14999, 2667, 12085, 6776, + 14299, 14999, 2667, 15093, 6776, + 14299, 14999, 2667, 16525, 6776, + 14299, 14999, 2667, 18191, 6776, + 14299, 14999, 2764, + 14299, 14999, 2765, 10641, 1217, 11392, + 14299, 14999, 2765, 10641, 1217, 11552, + 14299, 14999, 2765, 10641, 13737, 6431, 11392, + 14299, 14999, 2765, 12085, 6776, + 14299, 14999, 2765, 15093, 6776, + 14299, 14999, 2765, 16525, 6776, + 14299, 14999, 2765, 18191, 6776, + 14299, 14999, 2900, + 14299, 14999, 2901, 10641, 1217, 11552, + 14299, 14999, 2901, 10641, 1217, 11553, 843, 1217, 11392, + 14299, 14999, 2901, 10641, 3357, 6431, 11392, + 14299, 14999, 2901, 10641, 3357, 6431, 20505, 11392, + 14299, 14999, 2901, 10641, 6779, 6431, 11392, + 14299, 14999, 2901, 10641, 7888, + 14299, 14999, 2901, 10641, 9502, + 14299, 14999, 2901, 10641, 12261, 11392, + 14299, 14999, 2901, 10641, 13563, 42, + 14299, 14999, 2901, 10641, 13563, 43, 11552, + 14299, 14999, 2901, 10641, 13563, 8849, 11392, + 14299, 14999, 2901, 10641, 13563, 14299, 14999, 3195, 843, 3357, 6430, + 14299, 14999, 2901, 10641, 15642, + 14299, 14999, 2901, 10641, 18183, 42, + 14299, 14999, 2901, 12085, 6776, + 14299, 14999, 2901, 18191, 6776, + 14299, 14999, 3010, + 14299, 14999, 3011, 10641, 3357, 6431, 11552, + 14299, 14999, 3011, 10641, 13737, 6431, 11392, + 14299, 14999, 3011, 10641, 13737, 6431, 11552, + 14299, 14999, 3011, 12085, 6776, + 14299, 14999, 3011, 15093, 6776, + 14299, 14999, 3011, 16525, 6776, + 14299, 14999, 3011, 18191, 6776, + 14299, 14999, 3194, + 14299, 14999, 3195, 10641, 3357, 6431, 11392, + 14299, 14999, 3195, 10641, 13737, 6431, 11392, + 14299, 14999, 3195, 12085, 6776, + 14299, 14999, 3195, 15093, 6776, + 14299, 14999, 3195, 16525, 6776, + 14299, 14999, 3195, 18191, 6776, + 14299, 14999, 3228, + 14299, 14999, 3229, 10641, 9502, + 14299, 14999, 3229, 10641, 13563, 3229, 11392, + 14299, 14999, 3229, 10641, 13737, 6431, 11393, 19214, + 14299, 14999, 3229, 12085, 6776, + 14299, 14999, 3229, 15093, 6776, + 14299, 14999, 3229, 16525, 6776, + 14299, 14999, 3229, 16768, + 14299, 14999, 3229, 16769, 7044, + 14299, 14999, 3229, 16769, 12085, 6776, + 14299, 14999, 3229, 16769, 18191, 6776, + 14299, 14999, 3229, 18191, 6776, + 14299, 14999, 3458, + 14299, 14999, 3459, 12085, 6776, + 14299, 14999, 3459, 15093, 6776, + 14299, 14999, 3459, 16525, 6776, + 14299, 14999, 3459, 18191, 6776, + 14299, 14999, 3532, + 14299, 14999, 3533, 10641, 1217, 11392, + 14299, 14999, 3533, 10641, 1217, 15900, + 14299, 14999, 3533, 10641, 3357, 6431, 11392, + 14299, 14999, 3533, 10641, 9502, + 14299, 14999, 3533, 10641, 12261, 11392, + 14299, 14999, 3533, 10641, 12261, 11393, 12085, 6776, + 14299, 14999, 3533, 10641, 12261, 11393, 18191, 6776, + 14299, 14999, 3533, 10641, 18043, 21003, 11905, 3357, 11392, + 14299, 14999, 3533, 10641, 18043, 21003, 11905, 13737, 11392, + 14299, 14999, 3533, 12085, 6776, + 14299, 14999, 3533, 18191, 6776, + 14299, 14999, 3696, + 14299, 14999, 3697, 10641, 3357, 6431, 11553, 843, 1217, 11392, + 14299, 14999, 3697, 10641, 3357, 6431, 11553, 843, 12261, 11392, + 14299, 14999, 3697, 10641, 3357, 6431, 11553, 843, 13563, 8849, 11392, + 14299, 14999, 3697, 10641, 10092, + 14299, 14999, 3697, 10641, 12261, 11392, + 14299, 14999, 3697, 10641, 12261, 11393, 12085, 6776, + 14299, 14999, 3697, 10641, 12261, 11393, 15093, 6776, + 14299, 14999, 3697, 10641, 12261, 11393, 16525, 6776, + 14299, 14999, 3697, 10641, 12261, 11393, 18191, 6776, + 14299, 14999, 3697, 10641, 13563, 42, + 14299, 14999, 3697, 10641, 13737, 6431, 11552, + 14299, 14999, 3697, 12085, 6776, + 14299, 14999, 3697, 14358, + 14299, 14999, 3697, 14359, 10641, 12261, 11392, + 14299, 14999, 3697, 14359, 10641, 12261, 11393, 12085, 6776, + 14299, 14999, 3697, 14359, 10641, 12261, 11393, 18191, 6776, + 14299, 14999, 3697, 14359, 10641, 18043, 21003, 11905, 3357, 11392, + 14299, 14999, 3697, 14359, 10641, 18043, 21003, 11905, 13737, 11392, + 14299, 14999, 3697, 14359, 12085, 6776, + 14299, 14999, 3697, 14359, 18191, 6776, + 14299, 14999, 3697, 15093, 6776, + 14299, 14999, 3697, 16525, 6776, + 14299, 14999, 3697, 18191, 6776, + 14299, 14999, 3790, + 14299, 14999, 3791, 12085, 6776, + 14299, 14999, 3791, 15093, 6776, + 14299, 14999, 3791, 16525, 6776, + 14299, 14999, 3791, 18191, 6776, + 14299, 14999, 5246, + 14299, 14999, 5247, 10641, 10623, 12261, 11392, + 14299, 14999, 5247, 10641, 10623, 12261, 11552, + 14299, 14999, 5247, 10641, 12261, 11392, + 14299, 14999, 5247, 10641, 12261, 11393, 12085, 6776, + 14299, 14999, 5247, 10641, 12261, 11393, 18191, 6776, + 14299, 14999, 5247, 10641, 12261, 11552, + 14299, 14999, 5247, 10641, 12261, 11553, 12085, 6776, + 14299, 14999, 5247, 10641, 12261, 11553, 18191, 6776, + 14299, 14999, 5247, 10641, 12643, 11392, + 14299, 14999, 5247, 10641, 12643, 11393, 12085, 6776, + 14299, 14999, 5247, 10641, 12643, 11393, 18191, 6776, + 14299, 14999, 5247, 10641, 18043, 21003, 11905, 3357, 11392, + 14299, 14999, 5247, 10641, 18043, 21003, 11905, 13737, 11392, + 14299, 14999, 5247, 12085, 6776, + 14299, 14999, 5247, 14028, + 14299, 14999, 5247, 14029, 12085, 6776, + 14299, 14999, 5247, 14029, 18191, 6776, + 14299, 14999, 5247, 16754, + 14299, 14999, 5247, 16755, 12085, 6776, + 14299, 14999, 5247, 16755, 18191, 6776, + 14299, 14999, 5247, 18191, 6776, + 14299, 14999, 5804, + 14299, 14999, 5805, 12085, 6776, + 14299, 14999, 5805, 15093, 6776, + 14299, 14999, 5805, 16525, 6776, + 14299, 14999, 5805, 18191, 6776, + 14299, 14999, 6298, + 14299, 14999, 6299, 12085, 6776, + 14299, 14999, 6299, 18191, 6776, + 14299, 14999, 6462, + 14299, 14999, 6463, 12085, 6776, + 14299, 14999, 6463, 15093, 6776, + 14299, 14999, 6463, 16525, 6776, + 14299, 14999, 6463, 18191, 6776, + 14299, 14999, 7066, + 14299, 14999, 7067, 12085, 6776, + 14299, 14999, 7067, 15093, 6776, + 14299, 14999, 7067, 16525, 6776, + 14299, 14999, 7067, 18191, 6776, + 14299, 14999, 7171, 12260, + 14299, 14999, 7171, 12261, 3532, + 14299, 14999, 7171, 12261, 3696, + 14299, 14999, 7171, 12261, 5246, + 14299, 14999, 7464, + 14299, 14999, 7465, 10641, 3357, 6431, 11392, + 14299, 14999, 7465, 12085, 6776, + 14299, 14999, 7465, 15093, 6776, + 14299, 14999, 7465, 16525, 6776, + 14299, 14999, 7465, 18191, 6776, + 14299, 14999, 7634, + 14299, 14999, 7635, 12085, 6776, + 14299, 14999, 7635, 15093, 6776, + 14299, 14999, 7635, 16525, 6776, + 14299, 14999, 7635, 18191, 6776, + 14299, 14999, 8320, + 14299, 14999, 8356, + 14299, 14999, 8357, 10641, 1217, 11392, + 14299, 14999, 8357, 10641, 1217, 11552, + 14299, 14999, 8357, 10641, 13737, 6431, 11392, + 14299, 14999, 8357, 12085, 6776, + 14299, 14999, 8357, 15093, 6776, + 14299, 14999, 8357, 16525, 6776, + 14299, 14999, 8357, 18191, 6776, + 14299, 14999, 8848, + 14299, 14999, 8849, 10641, 1217, 11552, + 14299, 14999, 8849, 10641, 3357, 6431, 11552, + 14299, 14999, 8849, 10641, 9502, + 14299, 14999, 8849, 10641, 13563, 42, + 14299, 14999, 8849, 10641, 13563, 3194, + 14299, 14999, 8849, 10641, 13737, 6431, 11392, + 14299, 14999, 8849, 12085, 6776, + 14299, 14999, 8849, 14782, + 14299, 14999, 8849, 14783, 12085, 6776, + 14299, 14999, 8849, 14783, 18191, 6776, + 14299, 14999, 8849, 15093, 6776, + 14299, 14999, 8849, 16525, 6776, + 14299, 14999, 8849, 18191, 6776, + 14299, 14999, 8954, + 14299, 14999, 8955, 12085, 6776, + 14299, 14999, 8955, 15093, 6776, + 14299, 14999, 8955, 16525, 6776, + 14299, 14999, 8955, 18191, 6776, + 14299, 14999, 9528, + 14299, 14999, 9529, 12085, 6776, + 14299, 14999, 9529, 18191, 6776, + 14299, 14999, 9716, + 14299, 14999, 9717, 10641, 1217, 11553, 843, 1217, 11392, + 14299, 14999, 9717, 10641, 3357, 6431, 20505, 11392, + 14299, 14999, 9717, 10641, 6779, 6431, 11392, + 14299, 14999, 9717, 10641, 13563, 14299, 14999, 3195, 843, 3357, 6430, + 14299, 14999, 9717, 10641, 13737, 6431, 11552, + 14299, 14999, 9717, 10641, 13737, 6431, 11553, 843, 13737, 6431, 11392, + 14299, 14999, 9717, 10641, 18043, 21003, 11905, 6779, 11392, + 14299, 14999, 9717, 10641, 18183, 42, + 14299, 14999, 9717, 12085, 6776, + 14299, 14999, 9717, 15093, 6776, + 14299, 14999, 9717, 16525, 6776, + 14299, 14999, 9717, 18191, 6776, + 14299, 14999, 10140, + 14299, 14999, 10141, 12085, 6776, + 14299, 14999, 10141, 18191, 6776, + 14299, 14999, 10152, + 14299, 14999, 10153, 12085, 6776, + 14299, 14999, 10153, 15093, 6776, + 14299, 14999, 10153, 16525, 6776, + 14299, 14999, 10153, 18191, 6776, + 14299, 14999, 10262, + 14299, 14999, 10263, 12085, 6776, + 14299, 14999, 10263, 15093, 6776, + 14299, 14999, 10263, 16525, 6776, + 14299, 14999, 10263, 18191, 6776, + 14299, 14999, 10890, + 14299, 14999, 10891, 10641, 18183, 43, 11392, + 14299, 14999, 10891, 12085, 6776, + 14299, 14999, 10891, 18191, 6776, + 14299, 14999, 11548, + 14299, 14999, 11549, 12085, 6776, + 14299, 14999, 11549, 15093, 6776, + 14299, 14999, 11549, 16525, 6776, + 14299, 14999, 11549, 18191, 6776, + 14299, 14999, 11842, + 14299, 14999, 11843, 12085, 6776, + 14299, 14999, 11843, 18191, 6776, + 14299, 14999, 12065, 3696, + 14299, 14999, 12065, 3697, 10641, 3357, 6431, 11392, + 14299, 14999, 12065, 3697, 10641, 13737, 6431, 11392, + 14299, 14999, 12065, 3697, 10641, 18043, 21003, 11905, 3357, 11392, + 14299, 14999, 12065, 3697, 10641, 18043, 21003, 11905, 6779, 11552, + 14299, 14999, 12065, 3697, 10641, 18043, 21003, 11905, 13737, 11392, + 14299, 14999, 12065, 3697, 10641, 18183, 42, + 14299, 14999, 12065, 3697, 12085, 6776, + 14299, 14999, 12065, 3697, 15093, 6776, + 14299, 14999, 12065, 3697, 16525, 6776, + 14299, 14999, 12065, 3697, 18191, 6776, + 14299, 14999, 12190, + 14299, 14999, 12191, 10641, 1217, 11552, + 14299, 14999, 12191, 12085, 6776, + 14299, 14999, 12191, 15093, 6776, + 14299, 14999, 12191, 16525, 6776, + 14299, 14999, 12191, 18191, 6776, + 14299, 14999, 12260, + 14299, 14999, 12261, 18191, 6776, + 14299, 14999, 12452, + 14299, 14999, 12453, 10641, 1217, 11392, + 14299, 14999, 12453, 10641, 3357, 6431, 11392, + 14299, 14999, 12453, 10641, 13737, 6431, 11392, + 14299, 14999, 12453, 10641, 13737, 6431, 11552, + 14299, 14999, 12453, 10641, 13737, 6431, 18471, 17463, 11552, + 14299, 14999, 12453, 12085, 6776, + 14299, 14999, 12453, 15093, 6776, + 14299, 14999, 12453, 16525, 6776, + 14299, 14999, 12453, 18191, 6776, + 14299, 14999, 12876, + 14299, 14999, 12877, 12085, 6776, + 14299, 14999, 12877, 15093, 6776, + 14299, 14999, 12877, 16525, 6776, + 14299, 14999, 12877, 18191, 6776, + 14299, 14999, 13208, + 14299, 14999, 13209, 12085, 6776, + 14299, 14999, 13209, 15093, 6776, + 14299, 14999, 13209, 16525, 6776, + 14299, 14999, 13209, 18191, 6776, + 14299, 14999, 13348, + 14299, 14999, 13349, 12085, 6776, + 14299, 14999, 13349, 15093, 6776, + 14299, 14999, 13349, 16525, 6776, + 14299, 14999, 13349, 18191, 6776, + 14299, 14999, 13474, + 14299, 14999, 13475, 10641, 1217, 11552, + 14299, 14999, 13475, 12085, 6776, + 14299, 14999, 13475, 15093, 6776, + 14299, 14999, 13475, 16525, 6776, + 14299, 14999, 13475, 18191, 6776, + 14299, 14999, 13653, 1866, + 14299, 14999, 13690, + 14299, 14999, 13691, 10641, 1217, 11392, + 14299, 14999, 13691, 12085, 6776, + 14299, 14999, 13691, 15093, 6776, + 14299, 14999, 13691, 16525, 6776, + 14299, 14999, 13691, 18191, 6776, + 14299, 14999, 13702, + 14299, 14999, 13703, 12085, 6776, + 14299, 14999, 13703, 15093, 6776, + 14299, 14999, 13703, 16525, 6776, + 14299, 14999, 13703, 18191, 6776, + 14299, 14999, 14556, + 14299, 14999, 14557, 12085, 6776, + 14299, 14999, 14557, 18191, 6776, + 14299, 14999, 15798, + 14299, 14999, 15799, 12085, 6776, + 14299, 14999, 15799, 15093, 6776, + 14299, 14999, 15799, 16525, 6776, + 14299, 14999, 15799, 18191, 6776, + 14299, 14999, 15843, 14909, 16583, 5247, 16755, 15093, 6776, + 14299, 14999, 15843, 14909, 16583, 5247, 16755, 16525, 6776, + 14299, 14999, 15969, 1366, + 14299, 14999, 15969, 2764, + 14299, 14999, 15969, 8848, + 14299, 14999, 16279, 920, + 14299, 14999, 16279, 1366, + 14299, 14999, 16279, 2764, + 14299, 14999, 16583, 482, + 14299, 14999, 16583, 483, 12085, 6776, + 14299, 14999, 16583, 483, 18191, 6776, + 14299, 14999, 16583, 746, + 14299, 14999, 16583, 747, 12085, 6776, + 14299, 14999, 16583, 747, 18191, 6776, + 14299, 14999, 17348, + 14299, 14999, 17349, 12085, 6776, + 14299, 14999, 17349, 15093, 6776, + 14299, 14999, 17349, 16525, 6776, + 14299, 14999, 17349, 18191, 6776, + 14299, 14999, 18205, 3696, + 14299, 14999, 18547, 3696, + 14299, 14999, 18653, 3532, + 14299, 14999, 20937, 5246, + 14299, 15053, 11392, + 14299, 15233, 8321, 11392, + 14299, 15233, 9854, + 14299, 15359, 13987, 9854, + 14299, 15524, + 14299, 15525, 15093, 6776, + 14299, 15525, 18191, 6776, + 14299, 15673, 1217, 11392, + 14299, 15673, 1217, 11552, + 14299, 15673, 3357, 6431, 11392, + 14299, 15673, 3357, 6431, 11552, + 14299, 15673, 3357, 6431, 20505, 11392, + 14299, 15673, 3357, 6431, 20505, 11552, + 14299, 15673, 6779, 6431, 11392, + 14299, 15673, 6779, 6431, 11552, + 14299, 15673, 9502, + 14299, 15673, 13563, 3195, 11392, + 14299, 15673, 13563, 3195, 11552, + 14299, 15673, 13737, 6431, 11392, + 14299, 15673, 13737, 6431, 11552, + 14299, 15673, 13737, 6431, 18471, 19215, 11392, + 14299, 15673, 13737, 6431, 18471, 19215, 11552, + 14299, 15673, 14625, 18847, 897, 11552, + 14299, 15781, 1217, 20877, 8320, + 14299, 15811, 11853, 11552, + 14299, 16233, 19618, + 14299, 17005, 9854, + 14299, 17143, 7171, 9957, 10641, 14697, 14454, + 14299, 17344, + 14299, 17345, 10641, 18047, 11392, + 14299, 17810, + 14299, 17811, 18191, 6776, + 14299, 17859, 1299, 485, 5308, + 14299, 18046, + 14299, 18047, 18191, 6776, + 14299, 18079, 15074, + 14299, 18183, 11852, + 14299, 18206, + 14299, 18207, 18191, 6776, + 14299, 18249, 827, 10641, 3697, 12085, 6776, + 14299, 18249, 827, 10641, 3697, 18191, 6776, + 14299, 18249, 827, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 827, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 827, 10641, 7465, 10641, 8357, 12085, 6776, + 14299, 18249, 827, 10641, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 827, 10641, 7465, 16525, 6776, + 14299, 18249, 827, 10641, 7465, 18191, 6776, + 14299, 18249, 827, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 827, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 827, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 827, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 827, 10641, 8357, 16525, 6776, + 14299, 18249, 827, 10641, 8357, 18191, 6776, + 14299, 18249, 921, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 921, 10641, 1583, 16525, 6776, + 14299, 18249, 921, 10641, 1583, 18191, 6776, + 14299, 18249, 921, 10641, 1609, 15093, 6776, + 14299, 18249, 921, 10641, 1609, 16525, 6776, + 14299, 18249, 921, 10641, 2901, 12085, 6776, + 14299, 18249, 921, 10641, 3697, 12085, 6776, + 14299, 18249, 921, 10641, 3697, 18191, 6776, + 14299, 18249, 921, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 921, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 921, 10641, 7465, 16525, 6776, + 14299, 18249, 921, 10641, 7465, 18191, 6776, + 14299, 18249, 921, 10641, 7635, 10641, 3697, 12085, 6776, + 14299, 18249, 921, 10641, 7635, 16525, 6776, + 14299, 18249, 921, 10641, 7635, 18191, 6776, + 14299, 18249, 921, 10641, 8357, 12085, 6776, + 14299, 18249, 921, 10641, 8357, 15093, 6776, + 14299, 18249, 921, 10641, 8357, 16525, 6776, + 14299, 18249, 921, 10641, 8357, 18191, 6776, + 14299, 18249, 921, 10641, 8849, 12085, 6776, + 14299, 18249, 921, 10641, 10891, 12085, 6776, + 14299, 18249, 1121, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 1121, 10641, 1583, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1121, 10641, 1583, 16525, 6776, + 14299, 18249, 1121, 10641, 1583, 18191, 6776, + 14299, 18249, 1121, 10641, 2901, 12085, 6776, + 14299, 18249, 1121, 10641, 2901, 18191, 6776, + 14299, 18249, 1121, 10641, 3697, 12085, 6776, + 14299, 18249, 1121, 10641, 3697, 18191, 6776, + 14299, 18249, 1121, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1121, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 1121, 10641, 7465, 16525, 6776, + 14299, 18249, 1121, 10641, 7465, 18191, 6776, + 14299, 18249, 1121, 10641, 7635, 10641, 8357, 12085, 6776, + 14299, 18249, 1121, 10641, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 1121, 10641, 7635, 16525, 6776, + 14299, 18249, 1121, 10641, 7635, 18191, 6776, + 14299, 18249, 1121, 10641, 8357, 16525, 6776, + 14299, 18249, 1121, 10641, 8357, 18191, 6776, + 14299, 18249, 1367, 10641, 1583, 16525, 6776, + 14299, 18249, 1367, 10641, 1583, 18191, 6776, + 14299, 18249, 1367, 10641, 3697, 12085, 6776, + 14299, 18249, 1367, 10641, 3697, 18191, 6776, + 14299, 18249, 1367, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1367, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 1367, 10641, 7465, 16525, 6776, + 14299, 18249, 1367, 10641, 7465, 18191, 6776, + 14299, 18249, 1367, 10641, 7635, 10641, 8357, 12085, 6776, + 14299, 18249, 1367, 10641, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 1367, 10641, 7635, 16525, 6776, + 14299, 18249, 1367, 10641, 7635, 18191, 6776, + 14299, 18249, 1367, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 1367, 10641, 8357, 16525, 6776, + 14299, 18249, 1367, 10641, 8357, 18191, 6776, + 14299, 18249, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 1583, 10641, 3697, 18191, 6776, + 14299, 18249, 1583, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1583, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 1583, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 1583, 10641, 7465, 16525, 6776, + 14299, 18249, 1583, 10641, 7465, 18191, 6776, + 14299, 18249, 1583, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 1583, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 1583, 10641, 8357, 18191, 6776, + 14299, 18249, 1609, 10641, 3697, 18191, 6776, + 14299, 18249, 1609, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 1609, 10641, 7465, 16525, 6776, + 14299, 18249, 1609, 10641, 7465, 18191, 6776, + 14299, 18249, 1609, 10641, 8357, 10641, 7465, 16525, 6776, + 14299, 18249, 1609, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 1609, 10641, 8357, 16525, 6776, + 14299, 18249, 1609, 10641, 8357, 18191, 6776, + 14299, 18249, 1609, 10641, 20937, 5247, 16525, 6776, + 14299, 18249, 1867, 10641, 1583, 16525, 6776, + 14299, 18249, 1867, 10641, 1583, 18191, 6776, + 14299, 18249, 1867, 10641, 2077, 12085, 6776, + 14299, 18249, 1867, 10641, 2077, 15093, 6776, + 14299, 18249, 1867, 10641, 2077, 16525, 6776, + 14299, 18249, 1867, 10641, 2077, 18191, 6776, + 14299, 18249, 1867, 10641, 3697, 12085, 6776, + 14299, 18249, 1867, 10641, 3697, 18191, 6776, + 14299, 18249, 1867, 10641, 5247, 12085, 6776, + 14299, 18249, 1867, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 1867, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 1867, 10641, 5247, 18191, 6776, + 14299, 18249, 1867, 10641, 7465, 16525, 6776, + 14299, 18249, 1867, 10641, 7465, 18191, 6776, + 14299, 18249, 1867, 10641, 7635, 16525, 6776, + 14299, 18249, 1867, 10641, 7635, 18191, 6776, + 14299, 18249, 1867, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 1867, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 1867, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 1867, 10641, 8357, 12085, 6776, + 14299, 18249, 1867, 10641, 8357, 15093, 6776, + 14299, 18249, 1867, 10641, 8357, 16525, 6776, + 14299, 18249, 1867, 10641, 8357, 18191, 6776, + 14299, 18249, 2077, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 2077, 10641, 1583, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 2077, 10641, 1583, 10641, 8357, 12085, 6776, + 14299, 18249, 2077, 10641, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 2077, 10641, 1583, 16525, 6776, + 14299, 18249, 2077, 10641, 1583, 18191, 6776, + 14299, 18249, 2077, 10641, 1609, 16525, 6776, + 14299, 18249, 2077, 10641, 3697, 12085, 6776, + 14299, 18249, 2077, 10641, 3697, 18191, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12261, 11393, 12085, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12261, 11393, 18191, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12261, 11553, 12085, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12261, 11553, 18191, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12643, 11393, 12085, 6776, + 14299, 18249, 2077, 10641, 5247, 10641, 12643, 11393, 18191, 6776, + 14299, 18249, 2077, 10641, 5247, 12085, 6776, + 14299, 18249, 2077, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 2077, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 2077, 10641, 5247, 18191, 6776, + 14299, 18249, 2077, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 2077, 10641, 7465, 10641, 7465, 12085, 6776, + 14299, 18249, 2077, 10641, 7465, 10641, 7465, 16525, 6776, + 14299, 18249, 2077, 10641, 7465, 10641, 8357, 12085, 6776, + 14299, 18249, 2077, 10641, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 2077, 10641, 7465, 16525, 6776, + 14299, 18249, 2077, 10641, 7465, 18191, 6776, + 14299, 18249, 2077, 10641, 7635, 10641, 8357, 12085, 6776, + 14299, 18249, 2077, 10641, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 2077, 10641, 7635, 16525, 6776, + 14299, 18249, 2077, 10641, 7635, 18191, 6776, + 14299, 18249, 2077, 10641, 8357, 10641, 1583, 12085, 6776, + 14299, 18249, 2077, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 2077, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 2077, 10641, 8357, 12085, 6776, + 14299, 18249, 2077, 10641, 8357, 15093, 6776, + 14299, 18249, 2077, 10641, 8357, 16525, 6776, + 14299, 18249, 2077, 10641, 8357, 18191, 6776, + 14299, 18249, 2765, 10641, 1583, 16525, 6776, + 14299, 18249, 2765, 10641, 1583, 18191, 6776, + 14299, 18249, 2765, 10641, 3697, 12085, 6776, + 14299, 18249, 2765, 10641, 3697, 18191, 6776, + 14299, 18249, 2765, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 2765, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 2765, 10641, 8357, 10641, 1583, 12085, 6776, + 14299, 18249, 2765, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 2765, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 2765, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 2765, 10641, 8357, 16525, 6776, + 14299, 18249, 2765, 10641, 8357, 18191, 6776, + 14299, 18249, 2901, 10641, 20937, 5247, 18191, 6776, + 14299, 18249, 3011, 10641, 1583, 10641, 1583, 12085, 6776, + 14299, 18249, 3011, 10641, 1583, 10641, 1583, 16525, 6776, + 14299, 18249, 3011, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 3011, 10641, 1583, 16525, 6776, + 14299, 18249, 3011, 10641, 1583, 18191, 6776, + 14299, 18249, 3011, 10641, 2901, 12085, 6776, + 14299, 18249, 3011, 10641, 2901, 18191, 6776, + 14299, 18249, 3011, 10641, 3697, 12085, 6776, + 14299, 18249, 3011, 10641, 3697, 18191, 6776, + 14299, 18249, 3011, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3011, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 3011, 10641, 7635, 16525, 6776, + 14299, 18249, 3011, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 3011, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 3011, 10641, 8357, 16525, 6776, + 14299, 18249, 3011, 10641, 8357, 18191, 6776, + 14299, 18249, 3195, 10641, 1583, 16525, 6776, + 14299, 18249, 3195, 10641, 1583, 18191, 6776, + 14299, 18249, 3195, 10641, 3697, 12085, 6776, + 14299, 18249, 3195, 10641, 3697, 18191, 6776, + 14299, 18249, 3195, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3195, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 3195, 10641, 8357, 10641, 1583, 12085, 6776, + 14299, 18249, 3195, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 3195, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 3195, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 3195, 10641, 8357, 15093, 6776, + 14299, 18249, 3195, 10641, 8357, 16525, 6776, + 14299, 18249, 3195, 10641, 8357, 18191, 6776, + 14299, 18249, 3229, 10641, 1583, 10641, 7465, 12085, 6776, + 14299, 18249, 3229, 10641, 1583, 10641, 7465, 16525, 6776, + 14299, 18249, 3229, 10641, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 3229, 10641, 1583, 16525, 6776, + 14299, 18249, 3229, 10641, 1583, 18191, 6776, + 14299, 18249, 3229, 10641, 1609, 15093, 6776, + 14299, 18249, 3229, 10641, 1609, 16525, 6776, + 14299, 18249, 3229, 10641, 2901, 12085, 6776, + 14299, 18249, 3229, 10641, 3697, 12085, 6776, + 14299, 18249, 3229, 10641, 3697, 18191, 6776, + 14299, 18249, 3229, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3229, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 3229, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 3229, 10641, 7465, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3229, 10641, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 3229, 10641, 7465, 16525, 6776, + 14299, 18249, 3229, 10641, 7465, 18191, 6776, + 14299, 18249, 3229, 10641, 7635, 10641, 3697, 12085, 6776, + 14299, 18249, 3229, 10641, 7635, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3229, 10641, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 3229, 10641, 7635, 16525, 6776, + 14299, 18249, 3229, 10641, 7635, 18191, 6776, + 14299, 18249, 3229, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 3229, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 3229, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3229, 10641, 8357, 10641, 7465, 16525, 6776, + 14299, 18249, 3229, 10641, 8357, 10641, 7635, 16525, 6776, + 14299, 18249, 3229, 10641, 8357, 12085, 6776, + 14299, 18249, 3229, 10641, 8357, 15093, 6776, + 14299, 18249, 3229, 10641, 8357, 16525, 6776, + 14299, 18249, 3229, 10641, 8357, 18191, 6776, + 14299, 18249, 3229, 10641, 8849, 12085, 6776, + 14299, 18249, 3229, 10641, 10891, 12085, 6776, + 14299, 18249, 3697, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 3697, 10641, 1583, 16525, 6776, + 14299, 18249, 3697, 10641, 1583, 18191, 6776, + 14299, 18249, 3697, 10641, 1609, 15093, 6776, + 14299, 18249, 3697, 10641, 1609, 16525, 6776, + 14299, 18249, 3697, 10641, 2901, 12085, 6776, + 14299, 18249, 3697, 10641, 3697, 12085, 6776, + 14299, 18249, 3697, 10641, 3697, 18191, 6776, + 14299, 18249, 3697, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3697, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 3697, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 3697, 10641, 7465, 16525, 6776, + 14299, 18249, 3697, 10641, 7465, 18191, 6776, + 14299, 18249, 3697, 10641, 7635, 16525, 6776, + 14299, 18249, 3697, 10641, 7635, 18191, 6776, + 14299, 18249, 3697, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 3697, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 3697, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 3697, 10641, 8357, 12085, 6776, + 14299, 18249, 3697, 10641, 8357, 15093, 6776, + 14299, 18249, 3697, 10641, 8357, 16525, 6776, + 14299, 18249, 3697, 10641, 8357, 18191, 6776, + 14299, 18249, 3697, 10641, 8849, 12085, 6776, + 14299, 18249, 3697, 10641, 10891, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 9, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 9, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 9, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 41, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 41, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 67, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 67, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 483, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 483, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 747, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 747, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 1583, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 1583, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 1609, 15093, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 1609, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 2901, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 3533, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 3533, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 3697, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 3697, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 5247, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 5247, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 7465, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 7465, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 7635, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 8357, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 8357, 15093, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 8357, 16525, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 8357, 18191, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 8849, 12085, 6776, + 14299, 18249, 3697, 10641, 12261, 11393, 10641, 10891, 12085, 6776, + 14299, 18249, 3791, 10641, 8357, 15093, 6776, + 14299, 18249, 3791, 10641, 8357, 16525, 6776, + 14299, 18249, 3791, 10641, 8357, 18191, 6776, + 14299, 18249, 5247, 10641, 18047, 12085, 6776, + 14299, 18249, 5247, 10641, 18047, 18191, 6776, + 14299, 18249, 5247, 16755, 10641, 20937, 5247, 12085, 6776, + 14299, 18249, 5247, 16755, 10641, 20937, 5247, 18191, 6776, + 14299, 18249, 7465, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 7465, 10641, 1583, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 7465, 10641, 1583, 16525, 6776, + 14299, 18249, 7465, 10641, 1583, 18191, 6776, + 14299, 18249, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 7465, 10641, 3697, 18191, 6776, + 14299, 18249, 7465, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 7465, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 7465, 10641, 8357, 10641, 1583, 12085, 6776, + 14299, 18249, 7465, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 7465, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 7465, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 7465, 10641, 8357, 18191, 6776, + 14299, 18249, 7635, 10641, 1583, 18191, 6776, + 14299, 18249, 7635, 10641, 3697, 12085, 6776, + 14299, 18249, 7635, 10641, 3697, 18191, 6776, + 14299, 18249, 7635, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 7635, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 7635, 10641, 7465, 16525, 6776, + 14299, 18249, 7635, 10641, 7465, 18191, 6776, + 14299, 18249, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 7635, 10641, 8357, 18191, 6776, + 14299, 18249, 8357, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 8357, 10641, 1583, 10641, 7465, 16525, 6776, + 14299, 18249, 8357, 10641, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 8357, 10641, 1583, 18191, 6776, + 14299, 18249, 8357, 10641, 3697, 18191, 6776, + 14299, 18249, 8357, 10641, 5247, 12085, 6776, + 14299, 18249, 8357, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 8357, 10641, 7465, 10641, 1583, 16525, 6776, + 14299, 18249, 8357, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 8357, 10641, 7465, 10641, 7635, 16525, 6776, + 14299, 18249, 8357, 10641, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 8357, 10641, 7465, 16525, 6776, + 14299, 18249, 8357, 10641, 7465, 18191, 6776, + 14299, 18249, 8357, 10641, 7635, 10641, 3697, 12085, 6776, + 14299, 18249, 8357, 10641, 7635, 10641, 7465, 16525, 6776, + 14299, 18249, 8357, 10641, 7635, 10641, 8357, 16525, 6776, + 14299, 18249, 8357, 10641, 7635, 16525, 6776, + 14299, 18249, 8357, 10641, 7635, 18191, 6776, + 14299, 18249, 8357, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 8357, 10641, 8357, 18191, 6776, + 14299, 18249, 8849, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 8849, 10641, 1583, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 8849, 10641, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 8849, 10641, 1583, 16525, 6776, + 14299, 18249, 8849, 10641, 1583, 18191, 6776, + 14299, 18249, 8849, 10641, 1609, 15093, 6776, + 14299, 18249, 8849, 10641, 1609, 16525, 6776, + 14299, 18249, 8849, 10641, 2901, 12085, 6776, + 14299, 18249, 8849, 10641, 3697, 12085, 6776, + 14299, 18249, 8849, 10641, 3697, 18191, 6776, + 14299, 18249, 8849, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 8849, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 1583, 12085, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 1583, 16525, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 8357, 12085, 6776, + 14299, 18249, 8849, 10641, 7465, 10641, 8357, 16525, 6776, + 14299, 18249, 8849, 10641, 7465, 16525, 6776, + 14299, 18249, 8849, 10641, 7465, 18191, 6776, + 14299, 18249, 8849, 10641, 7635, 16525, 6776, + 14299, 18249, 8849, 10641, 7635, 18191, 6776, + 14299, 18249, 8849, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 8849, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 8849, 10641, 8357, 12085, 6776, + 14299, 18249, 8849, 10641, 8357, 15093, 6776, + 14299, 18249, 8849, 10641, 8357, 16525, 6776, + 14299, 18249, 8849, 10641, 8357, 18191, 6776, + 14299, 18249, 8849, 10641, 8849, 12085, 6776, + 14299, 18249, 8849, 10641, 10891, 12085, 6776, + 14299, 18249, 9349, 10431, 91, 16595, 9957, 9855, 18191, 6776, + 14299, 18249, 9717, 10641, 1583, 10641, 7465, 16525, 6776, + 14299, 18249, 9717, 10641, 1583, 15093, 6776, + 14299, 18249, 9717, 10641, 1583, 16525, 6776, + 14299, 18249, 9717, 10641, 1583, 18191, 6776, + 14299, 18249, 9717, 10641, 1609, 15093, 6776, + 14299, 18249, 9717, 10641, 1609, 16525, 6776, + 14299, 18249, 9717, 10641, 2901, 12085, 6776, + 14299, 18249, 9717, 10641, 2901, 18191, 6776, + 14299, 18249, 9717, 10641, 3697, 12085, 6776, + 14299, 18249, 9717, 10641, 3697, 18191, 6776, + 14299, 18249, 9717, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 9717, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 9717, 10641, 7465, 10641, 1583, 16525, 6776, + 14299, 18249, 9717, 10641, 7465, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 9717, 10641, 7465, 15093, 6776, + 14299, 18249, 9717, 10641, 7465, 16525, 6776, + 14299, 18249, 9717, 10641, 7465, 18191, 6776, + 14299, 18249, 9717, 10641, 7635, 10641, 3697, 12085, 6776, + 14299, 18249, 9717, 10641, 7635, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 9717, 10641, 7635, 15093, 6776, + 14299, 18249, 9717, 10641, 7635, 16525, 6776, + 14299, 18249, 9717, 10641, 7635, 18191, 6776, + 14299, 18249, 9717, 10641, 8357, 10641, 1583, 12085, 6776, + 14299, 18249, 9717, 10641, 8357, 10641, 1583, 16525, 6776, + 14299, 18249, 9717, 10641, 8357, 10641, 7465, 16525, 6776, + 14299, 18249, 9717, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 9717, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 9717, 10641, 8357, 15093, 6776, + 14299, 18249, 9717, 10641, 8357, 16525, 6776, + 14299, 18249, 9717, 10641, 8357, 18191, 6776, + 14299, 18249, 10141, 10641, 20937, 5247, 18191, 6776, + 14299, 18249, 10153, 10641, 1609, 15093, 6776, + 14299, 18249, 10153, 10641, 2901, 12085, 6776, + 14299, 18249, 10153, 10641, 3697, 12085, 6776, + 14299, 18249, 10153, 10641, 3697, 18191, 6776, + 14299, 18249, 10153, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 10153, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 10153, 10641, 7465, 18191, 6776, + 14299, 18249, 10153, 10641, 8357, 12085, 6776, + 14299, 18249, 10153, 10641, 8357, 15093, 6776, + 14299, 18249, 10153, 10641, 8357, 16525, 6776, + 14299, 18249, 10153, 10641, 8357, 18191, 6776, + 14299, 18249, 10153, 10641, 8849, 12085, 6776, + 14299, 18249, 10153, 10641, 10891, 12085, 6776, + 14299, 18249, 11419, 18191, 6776, + 14299, 18249, 11435, 18191, 6776, + 14299, 18249, 12191, 10641, 3697, 12085, 6776, + 14299, 18249, 12191, 10641, 3697, 18191, 6776, + 14299, 18249, 12191, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 12191, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 12191, 10641, 7465, 16525, 6776, + 14299, 18249, 12191, 10641, 7465, 18191, 6776, + 14299, 18249, 12191, 10641, 8357, 10641, 3697, 12085, 6776, + 14299, 18249, 12191, 10641, 8357, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 12191, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 12191, 10641, 8357, 16525, 6776, + 14299, 18249, 12191, 10641, 8357, 18191, 6776, + 14299, 18249, 13413, 18191, 6776, + 14299, 18249, 13415, 10431, 91, 16595, 9957, 9855, 18191, 6776, + 14299, 18249, 13415, 18191, 6776, + 14299, 18249, 13475, 10641, 1583, 10641, 3697, 12085, 6776, + 14299, 18249, 13475, 10641, 1583, 10641, 8357, 12085, 6776, + 14299, 18249, 13475, 10641, 1583, 10641, 8357, 16525, 6776, + 14299, 18249, 13475, 10641, 1583, 12085, 6776, + 14299, 18249, 13475, 10641, 1583, 15093, 6776, + 14299, 18249, 13475, 10641, 1583, 16525, 6776, + 14299, 18249, 13475, 10641, 1583, 18191, 6776, + 14299, 18249, 13475, 10641, 1609, 15093, 6776, + 14299, 18249, 13475, 10641, 1609, 16525, 6776, + 14299, 18249, 13475, 10641, 2901, 12085, 6776, + 14299, 18249, 13475, 10641, 2901, 18191, 6776, + 14299, 18249, 13475, 10641, 3697, 12085, 6776, + 14299, 18249, 13475, 10641, 3697, 18191, 6776, + 14299, 18249, 13475, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 13475, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 13475, 10641, 7465, 10641, 3697, 12085, 6776, + 14299, 18249, 13475, 10641, 7465, 12085, 6776, + 14299, 18249, 13475, 10641, 7465, 15093, 6776, + 14299, 18249, 13475, 10641, 7465, 16525, 6776, + 14299, 18249, 13475, 10641, 7465, 18191, 6776, + 14299, 18249, 13475, 10641, 7635, 12085, 6776, + 14299, 18249, 13475, 10641, 7635, 15093, 6776, + 14299, 18249, 13475, 10641, 7635, 16525, 6776, + 14299, 18249, 13475, 10641, 7635, 18191, 6776, + 14299, 18249, 13475, 10641, 8357, 10641, 7635, 12085, 6776, + 14299, 18249, 13475, 10641, 8357, 10641, 7635, 16525, 6776, + 14299, 18249, 13475, 10641, 8357, 10641, 8357, 12085, 6776, + 14299, 18249, 13475, 10641, 8357, 10641, 8357, 16525, 6776, + 14299, 18249, 13475, 10641, 8357, 12085, 6776, + 14299, 18249, 13475, 10641, 8357, 15093, 6776, + 14299, 18249, 13475, 10641, 8357, 16525, 6776, + 14299, 18249, 13475, 10641, 8357, 18191, 6776, + 14299, 18249, 14277, 18191, 6776, + 14299, 18249, 15427, 18191, 6776, + 14299, 18249, 15525, 10641, 11853, 15093, 6776, + 14299, 18249, 15525, 10641, 11853, 18191, 6776, + 14299, 18249, 15525, 10641, 12067, 15093, 6776, + 14299, 18249, 15525, 10641, 12067, 18191, 6776, + 14299, 18249, 15525, 10641, 12441, 15093, 6776, + 14299, 18249, 15525, 10641, 12441, 18191, 6776, + 14299, 18249, 15525, 10641, 17811, 18191, 6776, + 14299, 18249, 15525, 10641, 18207, 18191, 6776, + 14299, 18249, 15525, 10641, 20937, 5247, 18191, 6776, + 14299, 18249, 15843, 16583, 3697, 10641, 12261, 11393, 10641, 5247, 16755, 12085, 6776, + 14299, 18249, 15843, 16583, 3697, 10641, 12261, 11393, 10641, 5247, 16755, 16525, 6776, + 14299, 18249, 15843, 16583, 3697, 10641, 12261, 11393, 10641, 5247, 16755, 18191, 6776, + 14299, 18249, 18321, 18191, 6776, + 14299, 18249, 18857, 18191, 6776, + 14299, 18249, 18945, 18905, 18902, + 14299, 18249, 20905, 14277, 18856, + 14299, 18249, 23266, + 14299, 18511, 8320, + 14299, 18543, 11852, + 14299, 18872, + 14299, 19614, + 14299, 19673, 5246, + 14299, 19785, 19618, + 14299, 21147, 826, + 14299, 21147, 920, + 14299, 21147, 1120, + 14299, 21147, 1128, + 14299, 21147, 1366, + 14299, 21147, 1582, + 14299, 21147, 1866, + 14299, 21147, 2076, + 14299, 21147, 2764, + 14299, 21147, 2900, + 14299, 21147, 3010, + 14299, 21147, 3194, + 14299, 21147, 3228, + 14299, 21147, 3532, + 14299, 21147, 3696, + 14299, 21147, 3790, + 14299, 21147, 5246, + 14299, 21147, 7464, + 14299, 21147, 7634, + 14299, 21147, 8356, + 14299, 21147, 8848, + 14299, 21147, 9716, + 14299, 21147, 10140, + 14299, 21147, 10152, + 14299, 21147, 10890, + 14299, 21147, 12190, + 14299, 21147, 13474, + 14299, 21147, 15039, 826, + 14299, 21147, 15039, 920, + 14299, 21147, 15039, 1120, + 14299, 21147, 15039, 1128, + 14299, 21147, 15039, 1366, + 14299, 21147, 15039, 1582, + 14299, 21147, 15039, 1608, + 14299, 21147, 15039, 2076, + 14299, 21147, 15039, 2764, + 14299, 21147, 15039, 2900, + 14299, 21147, 15039, 3010, + 14299, 21147, 15039, 3194, + 14299, 21147, 15039, 3228, + 14299, 21147, 15039, 3532, + 14299, 21147, 15039, 3696, + 14299, 21147, 15039, 3790, + 14299, 21147, 15039, 5246, + 14299, 21147, 15039, 7464, + 14299, 21147, 15039, 7634, + 14299, 21147, 15039, 8356, + 14299, 21147, 15039, 8848, + 14299, 21147, 15039, 9716, + 14299, 21147, 15039, 10140, + 14299, 21147, 15039, 10152, + 14299, 21147, 15039, 10890, + 14299, 21147, 15039, 12190, + 14299, 21147, 15039, 13474, + 14299, 21147, 15683, 826, + 14299, 21147, 15683, 1120, + 14299, 21147, 15683, 1582, + 14299, 21147, 15683, 2076, + 14299, 21147, 15683, 2764, + 14299, 21147, 15683, 3010, + 14299, 21147, 15683, 3696, + 14299, 21147, 15683, 7464, + 14299, 21147, 15683, 7634, + 14299, 21147, 15683, 8848, + 14299, 21147, 15683, 9716, + 14299, 21147, 15683, 12190, + 14299, 21147, 15683, 13474, + 14299, 21147, 15683, 16279, 2764, + 14299, 21147, 15683, 16279, 8848, + 14299, 21147, 16279, 920, + 14299, 21147, 16279, 1366, + 14299, 21147, 16279, 2764, + 14299, 21147, 16279, 8848, + 14299, 21147, 16525, 826, + 14299, 21147, 16525, 920, + 14299, 21147, 16525, 1120, + 14299, 21147, 16525, 1366, + 14299, 21147, 16525, 1582, + 14299, 21147, 16525, 1608, + 14299, 21147, 16525, 1866, + 14299, 21147, 16525, 2076, + 14299, 21147, 16525, 2764, + 14299, 21147, 16525, 3010, + 14299, 21147, 16525, 3228, + 14299, 21147, 16525, 3696, + 14299, 21147, 16525, 7464, + 14299, 21147, 16525, 7634, + 14299, 21147, 16525, 8356, + 14299, 21147, 16525, 8848, + 14299, 21147, 16525, 9716, + 14299, 21147, 16525, 10152, + 14299, 21147, 16525, 12190, + 14299, 21147, 16525, 13474, + 14299, 21147, 18387, 1583, 10641, 1128, + 14299, 21147, 18387, 8357, 10641, 1583, 10641, 17344, + 14299, 21147, 19659, 826, + 14299, 21147, 19659, 920, + 14299, 21147, 19659, 1120, + 14299, 21147, 19659, 1366, + 14299, 21147, 19659, 1582, + 14299, 21147, 19659, 1608, + 14299, 21147, 19659, 1866, + 14299, 21147, 19659, 2764, + 14299, 21147, 19659, 3010, + 14299, 21147, 19659, 3194, + 14299, 21147, 19659, 3228, + 14299, 21147, 19659, 3696, + 14299, 21147, 19659, 3790, + 14299, 21147, 19659, 7464, + 14299, 21147, 19659, 7634, + 14299, 21147, 19659, 8356, + 14299, 21147, 19659, 8848, + 14299, 21147, 19659, 9716, + 14299, 21147, 19659, 10152, + 14299, 21147, 19659, 12190, + 14299, 21147, 19659, 13474, + 14299, 21147, 19659, 16279, 920, + 14299, 21147, 19659, 16279, 1366, + 14299, 21147, 22819, 826, + 14299, 21147, 22819, 920, + 14299, 21147, 22819, 1120, + 14299, 21147, 22819, 1128, + 14299, 21147, 22819, 1366, + 14299, 21147, 22819, 1582, + 14299, 21147, 22819, 2076, + 14299, 21147, 22819, 2764, + 14299, 21147, 22819, 2900, + 14299, 21147, 22819, 3010, + 14299, 21147, 22819, 3194, + 14299, 21147, 22819, 3228, + 14299, 21147, 22819, 3532, + 14299, 21147, 22819, 3696, + 14299, 21147, 22819, 3790, + 14299, 21147, 22819, 7464, + 14299, 21147, 22819, 7634, + 14299, 21147, 22819, 8356, + 14299, 21147, 22819, 8848, + 14299, 21147, 22819, 9716, + 14299, 21147, 22819, 10140, + 14299, 21147, 22819, 10152, + 14299, 21147, 22819, 10890, + 14299, 21147, 22819, 12190, + 14299, 21147, 22819, 13474, + 14319, 16962, + 14343, 46, + 14343, 968, + 14343, 969, 10641, 46, + 14343, 969, 10641, 5853, 11694, + 14343, 969, 10641, 5853, 15501, 46, + 14343, 969, 10641, 11694, + 14343, 969, 10641, 12563, 46, + 14343, 969, 10641, 14342, + 14343, 969, 10641, 15501, 46, + 14343, 5853, 15501, 46, + 14343, 15501, 46, + 14348, + 14353, 9288, + 14361, 14635, 12976, + 14361, 18909, 16831, 12976, + 14361, 19637, 12976, + 14361, 19969, 16831, 12976, + 14378, + 14391, 10641, 17051, 6104, + 14393, 859, 21279, 11476, + 14393, 7123, 11571, 14486, + 14393, 7123, 18176, + 14393, 7817, 6108, + 14393, 7817, 7123, 16088, + 14393, 7817, 14518, + 14393, 11779, 16088, + 14393, 13341, 6108, + 14393, 13341, 7123, 16088, + 14393, 13341, 14518, + 14393, 15621, 16088, + 14393, 15621, 16089, 9175, 3293, 15621, 16088, + 14393, 18763, 13483, 16088, + 14393, 20846, + 14396, + 14397, 10641, 7817, 7123, 11570, + 14397, 10641, 13341, 7123, 11570, + 14399, 12216, + 14401, 9855, 17486, + 14401, 9855, 17610, + 14401, 9855, 20552, + 14401, 9855, 20756, + 14401, 9855, 20974, + 14401, 11854, + 14401, 11905, 2610, + 14401, 11905, 3076, + 14401, 11905, 3356, + 14401, 11905, 6756, + 14401, 11905, 6778, + 14401, 11905, 8780, + 14401, 11905, 10900, + 14401, 11905, 11978, + 14401, 11905, 13450, + 14401, 11905, 13736, + 14401, 14003, 9855, 8, + 14401, 14003, 9855, 16, + 14401, 14003, 9855, 28, + 14401, 14003, 9855, 40, + 14401, 14003, 9855, 58, + 14401, 14003, 9855, 72, + 14401, 14003, 9855, 94, + 14401, 14003, 9855, 308, + 14401, 14003, 9855, 676, + 14401, 14003, 9855, 17493, 22, + 14401, 14003, 9855, 17493, 34, + 14401, 14003, 9855, 17493, 396, + 14401, 14003, 9855, 17493, 582, + 14401, 14003, 9855, 20549, 58, + 14401, 14625, 11854, + 14401, 14999, 0, + 14401, 14999, 8, + 14401, 14999, 16, + 14401, 14999, 28, + 14401, 14999, 40, + 14401, 14999, 58, + 14401, 14999, 72, + 14401, 14999, 94, + 14401, 14999, 106, + 14401, 14999, 124, + 14401, 14999, 148, + 14401, 14999, 244, + 14401, 14999, 266, + 14401, 14999, 308, + 14401, 14999, 336, + 14401, 14999, 350, + 14401, 14999, 384, + 14401, 14999, 416, + 14401, 14999, 448, + 14401, 14999, 522, + 14401, 14999, 572, + 14401, 14999, 588, + 14401, 14999, 622, + 14401, 14999, 676, + 14401, 14999, 680, + 14401, 14999, 734, + 14401, 14999, 932, + 14401, 14999, 1044, + 14401, 14999, 1142, + 14401, 14999, 1164, + 14401, 14999, 1492, + 14401, 14999, 1796, + 14401, 14999, 1914, + 14401, 14999, 2152, + 14401, 14999, 2444, + 14401, 14999, 2492, + 14401, 14999, 2556, + 14401, 14999, 2607, 13687, 2956, + 14401, 14999, 2607, 13687, 7874, + 14401, 14999, 2607, 13687, 8842, + 14401, 14999, 2676, + 14401, 14999, 3048, + 14401, 14999, 3114, + 14401, 14999, 3242, + 14401, 14999, 3322, + 14401, 14999, 6314, + 14401, 14999, 10264, + 14401, 14999, 17493, 22, + 14401, 14999, 17493, 34, + 14401, 14999, 17493, 396, + 14401, 14999, 17493, 582, + 14401, 15233, 2610, + 14401, 15233, 2611, 16502, + 14401, 15233, 2611, 18744, + 14401, 15233, 3076, + 14401, 15233, 3232, + 14401, 15233, 3356, + 14401, 15233, 6756, + 14401, 15233, 6778, + 14401, 15233, 8780, + 14401, 15233, 11978, + 14401, 15233, 12080, + 14401, 15233, 12108, + 14401, 15233, 13450, + 14401, 15233, 13538, + 14401, 15233, 13736, + 14401, 15233, 14636, + 14401, 15233, 14890, + 14401, 15233, 15194, + 14401, 15233, 15736, + 14401, 15233, 15820, + 14401, 15233, 17190, + 14401, 15868, + 14401, 20877, 1216, + 14401, 20877, 7854, + 14401, 20877, 12582, + 14401, 20877, 14625, 1216, + 14401, 20877, 17791, 896, + 14409, 93, 12888, + 14411, 896, + 14411, 12274, + 14411, 14487, 10641, 19477, 11476, + 14418, + 14419, 18386, + 14422, + 14424, + 14425, 10641, 12090, + 14429, 3192, + 14430, + 14432, + 14439, 14999, 0, + 14439, 14999, 2, + 14439, 14999, 6, + 14439, 14999, 8, + 14439, 14999, 12, + 14439, 14999, 16, + 14439, 14999, 20, + 14439, 14999, 22, + 14439, 14999, 24, + 14439, 14999, 26, + 14439, 14999, 28, + 14439, 14999, 30, + 14439, 14999, 32, + 14439, 14999, 34, + 14439, 14999, 36, + 14439, 14999, 38, + 14439, 14999, 40, + 14439, 14999, 46, + 14439, 14999, 54, + 14439, 14999, 146, + 14439, 14999, 174, + 14439, 14999, 242, + 14439, 14999, 308, + 14439, 14999, 348, + 14439, 14999, 386, + 14439, 14999, 418, + 14439, 14999, 450, + 14439, 14999, 456, + 14439, 14999, 466, + 14439, 14999, 520, + 14439, 14999, 582, + 14439, 14999, 596, + 14439, 14999, 608, + 14439, 14999, 610, + 14439, 14999, 640, + 14439, 14999, 676, + 14439, 14999, 2102, + 14439, 14999, 2260, + 14439, 14999, 2262, + 14439, 14999, 2264, + 14439, 14999, 3046, + 14439, 14999, 3126, + 14439, 14999, 3320, + 14439, 14999, 3430, + 14439, 14999, 5902, + 14439, 14999, 5904, + 14439, 14999, 10438, + 14439, 14999, 10440, + 14439, 14999, 10442, + 14440, + 14444, + 14453, 11772, + 14455, 7855, 15672, + 14458, + 14461, 29, 8320, + 14461, 95, 8320, + 14461, 9855, 17486, + 14461, 9855, 17610, + 14461, 9855, 20552, + 14461, 11854, + 14461, 11905, 2610, + 14461, 11905, 3076, + 14461, 11905, 3356, + 14461, 11905, 6756, + 14461, 11905, 6778, + 14461, 11905, 8780, + 14461, 11905, 10900, + 14461, 11905, 11978, + 14461, 11905, 13450, + 14461, 11905, 13736, + 14461, 14003, 9855, 0, + 14461, 14003, 9855, 8, + 14461, 14003, 9855, 16, + 14461, 14003, 9855, 28, + 14461, 14003, 9855, 40, + 14461, 14003, 9855, 72, + 14461, 14003, 9855, 94, + 14461, 14003, 9855, 308, + 14461, 14003, 9855, 488, + 14461, 14003, 9855, 676, + 14461, 14625, 11854, + 14461, 14999, 8, + 14461, 14999, 16, + 14461, 14999, 40, + 14461, 14999, 58, + 14461, 14999, 882, + 14461, 14999, 1006, + 14461, 14999, 1118, + 14461, 14999, 1430, + 14461, 14999, 1578, + 14461, 14999, 1780, + 14461, 14999, 1860, + 14461, 14999, 2066, + 14461, 14999, 2234, + 14461, 14999, 2386, + 14461, 14999, 2636, + 14461, 14999, 2866, + 14461, 14999, 3008, + 14461, 14999, 3186, + 14461, 14999, 3518, + 14461, 14999, 3648, + 14461, 14999, 5820, + 14461, 14999, 6006, + 14461, 14999, 6296, + 14461, 14999, 6374, + 14461, 14999, 7006, + 14461, 14999, 7468, + 14461, 14999, 7630, + 14461, 14999, 8702, + 14461, 14999, 8832, + 14461, 14999, 8942, + 14461, 14999, 9236, + 14461, 14999, 10134, + 14461, 14999, 10258, + 14461, 14999, 10852, + 14461, 14999, 11870, + 14461, 14999, 13834, + 14461, 15868, + 14461, 16738, + 14461, 17179, 8320, + 14461, 18511, 8320, + 14469, 14040, + 14471, 16076, + 14476, + 14482, + 14484, + 14487, 10641, 835, 987, 13889, 7817, 18505, 11570, + 14487, 10641, 3357, 20181, 17303, 635, 3245, 13340, + 14487, 10641, 7817, 7123, 11570, + 14487, 10641, 12589, 7123, 11570, + 14487, 10641, 13341, 7123, 11570, + 14487, 10641, 13563, 14487, 635, 3245, 13340, + 14487, 10641, 13889, 7123, 11570, + 14487, 10641, 13889, 13341, 18505, 11570, + 14487, 10641, 18847, 6742, + 14487, 10641, 20181, 896, + 14487, 10641, 21239, 46, + 14487, 16269, 123, 20181, 897, 843, 3293, 7123, 16269, 123, 18847, 896, + 14489, 10120, + 14497, 5860, + 14497, 7877, 10641, 1912, + 14497, 13885, 10641, 15516, + 14497, 13885, 10641, 15517, 843, 13565, 17074, + 14497, 15650, + 14497, 15651, 505, 12005, 634, + 14497, 16751, 10641, 15423, 6758, + 14497, 16751, 10641, 16731, 6758, + 14497, 18688, + 14497, 18689, 505, 12005, 634, + 14497, 18832, + 14497, 21125, 10641, 15516, + 14502, + 14511, 9496, + 14512, + 14517, 2607, 15231, 6793, 9956, + 14517, 2607, 15231, 13987, 16270, + 14517, 2607, 15231, 14591, 18511, 8320, + 14517, 2607, 15231, 18171, 18511, 8320, + 14517, 6793, 9956, + 14517, 12001, 11905, 2610, + 14517, 12001, 11905, 3076, + 14517, 12001, 11905, 3356, + 14517, 12001, 11905, 6756, + 14517, 12001, 11905, 6778, + 14517, 12001, 11905, 8780, + 14517, 12001, 11905, 11978, + 14517, 12001, 11905, 13450, + 14517, 12001, 11905, 13736, + 14517, 12001, 15233, 2611, 16502, + 14517, 12001, 15233, 3077, 16502, + 14517, 12001, 15233, 3232, + 14517, 12001, 15233, 3357, 16502, + 14517, 12001, 15233, 6757, 16502, + 14517, 12001, 15233, 6779, 16502, + 14517, 12001, 15233, 8781, 16502, + 14517, 12001, 15233, 11979, 16502, + 14517, 12001, 15233, 12080, + 14517, 12001, 15233, 12108, + 14517, 12001, 15233, 13451, 16502, + 14517, 12001, 15233, 13538, + 14517, 12001, 15233, 13737, 16502, + 14517, 12001, 15233, 14636, + 14517, 12001, 15233, 15194, + 14517, 12001, 15233, 15736, + 14517, 12001, 15233, 15820, + 14517, 12001, 15233, 17190, + 14517, 12001, 19785, 8320, + 14517, 13563, 14999, 28, + 14517, 13563, 14999, 230, + 14517, 13563, 14999, 430, + 14517, 13563, 14999, 460, + 14517, 13563, 14999, 536, + 14517, 13563, 14999, 580, + 14517, 13563, 14999, 648, + 14517, 13563, 14999, 1154, + 14517, 13563, 14999, 1282, + 14517, 13563, 14999, 1368, + 14517, 13563, 14999, 1918, + 14517, 13563, 14999, 1998, + 14517, 13563, 14999, 2607, 14517, 266, + 14517, 13563, 14999, 2607, 14517, 826, + 14517, 13563, 14999, 2607, 14517, 1190, + 14517, 13563, 14999, 2607, 14517, 1318, + 14517, 13563, 14999, 2607, 14517, 1598, + 14517, 13563, 14999, 2607, 14517, 1610, + 14517, 13563, 14999, 2607, 14517, 2624, + 14517, 13563, 14999, 2607, 14517, 7302, + 14517, 13563, 14999, 2607, 14517, 9758, + 14517, 13563, 14999, 2607, 14517, 13494, + 14517, 13563, 14999, 2607, 14517, 14750, + 14517, 13563, 14999, 2607, 15231, 2450, + 14517, 13563, 14999, 2607, 15231, 2562, + 14517, 13563, 14999, 2607, 15231, 3530, + 14517, 13563, 14999, 2607, 15231, 13494, + 14517, 13563, 14999, 2624, + 14517, 13563, 14999, 2722, + 14517, 13563, 14999, 3104, + 14517, 13563, 14999, 3216, + 14517, 13563, 14999, 5248, + 14517, 13563, 14999, 7132, + 14517, 13563, 14999, 7302, + 14517, 13563, 14999, 7594, + 14517, 13563, 14999, 7646, + 14517, 13563, 14999, 9758, + 14517, 13563, 14999, 9862, + 14517, 13563, 14999, 10540, + 14517, 13563, 14999, 10896, + 14517, 13563, 14999, 11848, + 14517, 13563, 14999, 12156, + 14517, 13563, 14999, 12370, + 14517, 13563, 14999, 12542, + 14517, 13563, 14999, 13420, + 14517, 13563, 14999, 13494, + 14517, 13563, 14999, 14750, + 14517, 13563, 14999, 15732, + 14517, 13563, 14999, 16197, 9758, + 14517, 13563, 14999, 17591, 7646, + 14517, 13563, 14999, 17689, 7646, + 14517, 13563, 14999, 18223, 266, + 14517, 13563, 14999, 19061, 460, + 14517, 13563, 14999, 19061, 5246, + 14517, 13563, 14999, 19061, 7302, + 14517, 13563, 14999, 19061, 7594, + 14517, 13563, 14999, 22811, 460, + 14517, 13563, 14999, 22811, 1282, + 14517, 13563, 14999, 22811, 9758, + 14517, 13563, 14999, 22811, 14750, + 14517, 15673, 431, 580, + 14517, 15673, 537, 580, + 14517, 15673, 1870, + 14517, 15673, 1919, 580, + 14517, 15673, 3217, 580, + 14517, 15673, 13495, 9862, + 14517, 15673, 17290, + 14517, 16111, 14999, 28, + 14517, 16111, 14999, 230, + 14517, 16111, 14999, 430, + 14517, 16111, 14999, 460, + 14517, 16111, 14999, 536, + 14517, 16111, 14999, 580, + 14517, 16111, 14999, 648, + 14517, 16111, 14999, 1154, + 14517, 16111, 14999, 1282, + 14517, 16111, 14999, 1368, + 14517, 16111, 14999, 1918, + 14517, 16111, 14999, 1998, + 14517, 16111, 14999, 2607, 14517, 266, + 14517, 16111, 14999, 2607, 14517, 826, + 14517, 16111, 14999, 2607, 14517, 1190, + 14517, 16111, 14999, 2607, 14517, 1318, + 14517, 16111, 14999, 2607, 14517, 1598, + 14517, 16111, 14999, 2607, 14517, 1610, + 14517, 16111, 14999, 2607, 14517, 2624, + 14517, 16111, 14999, 2607, 14517, 7302, + 14517, 16111, 14999, 2607, 14517, 9758, + 14517, 16111, 14999, 2607, 14517, 13494, + 14517, 16111, 14999, 2607, 14517, 14750, + 14517, 16111, 14999, 2607, 15231, 2450, + 14517, 16111, 14999, 2607, 15231, 2562, + 14517, 16111, 14999, 2607, 15231, 3530, + 14517, 16111, 14999, 2607, 15231, 13494, + 14517, 16111, 14999, 2624, + 14517, 16111, 14999, 2722, + 14517, 16111, 14999, 3104, + 14517, 16111, 14999, 3216, + 14517, 16111, 14999, 5248, + 14517, 16111, 14999, 7132, + 14517, 16111, 14999, 7302, + 14517, 16111, 14999, 7594, + 14517, 16111, 14999, 7646, + 14517, 16111, 14999, 9758, + 14517, 16111, 14999, 9862, + 14517, 16111, 14999, 10540, + 14517, 16111, 14999, 10896, + 14517, 16111, 14999, 11848, + 14517, 16111, 14999, 12156, + 14517, 16111, 14999, 12370, + 14517, 16111, 14999, 12542, + 14517, 16111, 14999, 13420, + 14517, 16111, 14999, 13494, + 14517, 16111, 14999, 14750, + 14517, 16111, 14999, 15732, + 14517, 16111, 14999, 16197, 9758, + 14517, 16111, 14999, 17591, 7646, + 14517, 16111, 14999, 17689, 7646, + 14517, 16111, 14999, 18223, 266, + 14517, 16111, 14999, 19061, 460, + 14517, 16111, 14999, 19061, 5246, + 14517, 16111, 14999, 19061, 7302, + 14517, 16111, 14999, 19061, 7594, + 14517, 16111, 14999, 22811, 460, + 14517, 16111, 14999, 22811, 1282, + 14517, 16111, 14999, 22811, 9758, + 14517, 16111, 14999, 22811, 14750, + 14517, 18089, 2611, 7122, + 14517, 19003, 461, 11392, + 14517, 19003, 18629, 11482, + 14517, 19003, 18629, 12556, + 14517, 22877, 16270, + 14523, 10641, 12274, + 14529, 5970, + 14533, 1019, 6718, + 14533, 6718, + 14537, 9953, 19513, 9855, 18392, + 14542, + 14543, 10641, 7817, 12242, + 14543, 10641, 13341, 12242, + 14543, 12484, + 14550, + 14555, 2175, 7854, + 14555, 18400, + 14555, 23305, 20375, 11476, + 14561, 9854, + 14561, 16124, + 14561, 20136, + 14568, + 14569, 14878, + 14581, 20224, + 14587, 1397, 11968, + 14587, 1397, 12337, 11968, + 14587, 1397, 14997, 3716, + 14587, 1397, 14997, 10750, + 14587, 1397, 16349, 12336, + 14587, 1397, 16349, 14826, + 14587, 1397, 16459, 3716, + 14587, 1397, 16459, 10750, + 14587, 1397, 18137, 11968, + 14591, 1638, + 14591, 16201, 15673, 6777, 3356, + 14601, 9854, + 14605, 10189, 18847, 5720, + 14605, 10189, 20181, 5720, + 14605, 10189, 23146, + 14605, 10189, 23148, + 14605, 10189, 23150, + 14605, 10189, 23152, + 14605, 10189, 23154, + 14605, 10189, 23156, + 14605, 10189, 23158, + 14605, 10189, 23160, + 14605, 10189, 23162, + 14605, 10189, 23164, + 14605, 10189, 23166, + 14605, 10189, 23168, + 14605, 10189, 23170, + 14605, 10189, 23172, + 14605, 10189, 23174, + 14605, 10189, 23176, + 14605, 10189, 23178, + 14605, 10189, 23180, + 14605, 10189, 23182, + 14605, 10189, 23184, + 14605, 10189, 23186, + 14605, 10189, 23188, + 14605, 10189, 23190, + 14605, 10189, 23192, + 14605, 10189, 23194, + 14605, 10189, 23196, + 14605, 10189, 23198, + 14605, 10189, 23200, + 14605, 10189, 23202, + 14605, 10189, 23204, + 14605, 10189, 23206, + 14605, 10189, 23208, + 14605, 10189, 23210, + 14605, 10189, 23212, + 14605, 10189, 23214, + 14605, 10189, 23216, + 14605, 10189, 23218, + 14605, 10189, 23220, + 14605, 10189, 23222, + 14605, 10189, 23224, + 14605, 10189, 23226, + 14605, 10189, 23228, + 14605, 10189, 23230, + 14605, 10189, 23232, + 14605, 10189, 23234, + 14605, 10189, 23236, + 14605, 10189, 23238, + 14605, 10189, 23240, + 14605, 10189, 23242, + 14605, 10189, 23314, + 14605, 10189, 23316, + 14605, 10189, 23318, + 14605, 10189, 23320, + 14605, 10189, 23322, + 14605, 10189, 23324, + 14605, 10189, 23326, + 14605, 10189, 23328, + 14605, 10189, 23330, + 14605, 10189, 23332, + 14605, 10189, 23334, + 14605, 10189, 23336, + 14605, 10189, 23338, + 14605, 10189, 23340, + 14605, 10189, 23342, + 14605, 10189, 23344, + 14605, 10189, 23346, + 14605, 10189, 23348, + 14605, 10189, 23350, + 14605, 10189, 23352, + 14605, 10189, 23354, + 14605, 10189, 23356, + 14605, 10189, 23358, + 14605, 10189, 23360, + 14605, 10189, 23362, + 14605, 10189, 23364, + 14605, 10189, 23366, + 14605, 10189, 23368, + 14605, 10189, 23370, + 14605, 10189, 23372, + 14605, 10189, 23374, + 14605, 10189, 23376, + 14605, 10189, 23378, + 14605, 10189, 23380, + 14605, 10189, 23382, + 14605, 10189, 23384, + 14605, 10189, 23386, + 14605, 10189, 23388, + 14605, 10189, 23390, + 14605, 10189, 23392, + 14605, 10189, 23394, + 14605, 10189, 23396, + 14605, 10189, 23398, + 14605, 10189, 23400, + 14605, 10189, 23402, + 14605, 10189, 23404, + 14605, 10189, 23406, + 14605, 10189, 23408, + 14605, 10189, 23410, + 14623, 11772, + 14623, 12072, + 14623, 14486, + 14623, 15236, + 14623, 15620, + 14623, 22947, 15074, + 14623, 23121, 11446, + 14625, 671, 10086, + 14625, 2175, 7854, + 14625, 6435, 10086, + 14625, 7817, 859, 21097, 16088, + 14625, 9286, + 14625, 10623, 18400, + 14625, 11395, 14262, + 14625, 11757, 12004, + 14625, 11779, 7888, + 14625, 12587, 19557, 8320, + 14625, 13260, + 14625, 13261, 19557, 8320, + 14625, 13341, 859, 19409, 16088, + 14625, 13884, + 14625, 14542, + 14625, 14856, + 14625, 15167, 19408, + 14625, 15167, 19409, 10641, 18836, + 14625, 15167, 21096, + 14625, 15621, 13884, + 14625, 15621, 21124, + 14625, 15643, 2511, 9854, + 14625, 15650, + 14625, 16153, 11905, 2610, + 14625, 16153, 11905, 3076, + 14625, 16153, 11905, 3356, + 14625, 16153, 11905, 6756, + 14625, 16153, 11905, 6778, + 14625, 16153, 11905, 8780, + 14625, 16153, 11905, 11978, + 14625, 16153, 11905, 13450, + 14625, 16153, 11905, 13736, + 14625, 16153, 15233, 3232, + 14625, 16727, 504, + 14625, 16727, 842, + 14625, 16913, 14856, + 14625, 17255, 18386, + 14625, 18176, + 14625, 18486, + 14625, 18511, 8320, + 14625, 18684, + 14625, 18688, + 14625, 18847, 896, + 14625, 18847, 897, 7817, 19808, + 14625, 18847, 897, 14625, 7817, 19808, + 14625, 18847, 897, 14625, 13341, 19808, + 14625, 18847, 7854, + 14625, 20461, 8320, + 14625, 20685, 8320, + 14625, 21124, + 14625, 23107, 19557, 8320, + 14625, 23265, 19557, 8320, + 14626, + 14627, 6718, + 14633, 15672, + 14635, 8852, + 14647, 9854, + 14647, 9855, 843, 17237, 18430, + 14647, 9855, 843, 17237, 18431, 10641, 13759, 11392, + 14647, 9855, 10641, 1217, 11552, + 14647, 9855, 10641, 3357, 6431, 11393, 843, 3357, 6431, 11552, + 14647, 9855, 10641, 11621, 11392, + 14647, 9855, 11393, 9287, 9854, + 14647, 9855, 11393, 13759, 18386, + 14647, 9855, 11393, 19407, 11476, + 14647, 9855, 11393, 20375, 11476, + 14647, 10641, 17642, + 14647, 11756, + 14652, + 14679, 7812, + 14680, + 14683, 18986, + 14685, 9854, + 14686, + 14689, 14046, + 14695, 6286, + 14695, 13582, + 14703, 9217, 18176, + 14705, 7127, 9854, + 14717, 14376, + 14723, 6410, + 14725, 12274, + 14726, + 14727, 17041, 11650, + 14727, 20877, 8320, + 14729, 18026, + 14732, + 14734, + 14737, 20838, + 14741, 9520, + 14747, 12113, 9854, + 14747, 12116, + 14760, + 14769, 13213, 9854, + 14785, 13612, + 14788, + 14793, 14999, 1286, + 14793, 14999, 1792, + 14793, 14999, 5232, + 14793, 14999, 6274, + 14793, 14999, 7026, + 14793, 14999, 7116, + 14793, 14999, 7448, + 14793, 14999, 8781, 16502, + 14793, 14999, 10426, + 14793, 14999, 12062, + 14793, 14999, 12340, + 14793, 14999, 12378, + 14793, 14999, 12500, + 14793, 14999, 12524, + 14793, 14999, 12656, + 14793, 14999, 13156, + 14793, 14999, 13308, + 14793, 14999, 13426, + 14793, 14999, 13704, + 14793, 14999, 14060, + 14793, 14999, 14272, + 14793, 14999, 15158, + 14793, 14999, 15194, + 14793, 14999, 15738, + 14793, 14999, 16032, + 14793, 14999, 18408, + 14793, 14999, 18502, + 14796, + 14802, + 14814, + 14815, 843, 9254, + 14815, 843, 15564, + 14815, 843, 15912, + 14819, 14625, 1217, 10219, 8320, + 14819, 14698, + 14819, 14999, 0, + 14819, 14999, 8, + 14819, 14999, 16, + 14819, 14999, 28, + 14819, 14999, 40, + 14819, 14999, 66, + 14819, 14999, 204, + 14819, 14999, 214, + 14819, 14999, 482, + 14819, 14999, 694, + 14819, 14999, 700, + 14819, 14999, 706, + 14819, 14999, 734, + 14819, 14999, 736, + 14819, 14999, 738, + 14819, 14999, 742, + 14819, 14999, 746, + 14819, 14999, 3520, + 14819, 14999, 3546, + 14819, 14999, 3654, + 14819, 14999, 3700, + 14819, 14999, 9866, + 14819, 14999, 10806, + 14819, 14999, 10824, + 14819, 14999, 11464, + 14819, 14999, 11732, + 14819, 14999, 12280, + 14819, 14999, 12376, + 14819, 14999, 12732, + 14819, 14999, 12886, + 14819, 14999, 13232, + 14819, 14999, 13336, + 14819, 14999, 14130, + 14819, 14999, 14136, + 14819, 14999, 14300, + 14819, 14999, 14944, + 14819, 14999, 15748, + 14819, 14999, 15930, + 14819, 14999, 15936, + 14819, 14999, 16142, + 14819, 14999, 16576, + 14819, 14999, 16976, + 14819, 14999, 17024, + 14819, 14999, 17362, + 14819, 14999, 18866, + 14819, 14999, 19652, + 14819, 14999, 20240, + 14819, 14999, 20280, + 14819, 14999, 20326, + 14819, 14999, 20368, + 14819, 14999, 20410, + 14819, 14999, 20418, + 14819, 14999, 20420, + 14819, 14999, 20434, + 14819, 14999, 20436, + 14819, 14999, 20438, + 14819, 14999, 20442, + 14819, 14999, 20444, + 14819, 14999, 20760, + 14819, 14999, 20786, + 14819, 14999, 20816, + 14819, 14999, 20818, + 14819, 14999, 20860, + 14819, 14999, 20890, + 14819, 14999, 20892, + 14819, 14999, 20896, + 14819, 14999, 20920, + 14819, 14999, 20922, + 14819, 14999, 20926, + 14819, 14999, 20928, + 14819, 14999, 20986, + 14819, 14999, 21162, + 14819, 14999, 21170, + 14819, 14999, 21172, + 14819, 14999, 21190, + 14819, 14999, 21192, + 14819, 14999, 22856, + 14819, 14999, 22858, + 14819, 14999, 22872, + 14819, 14999, 22880, + 14819, 14999, 22906, + 14819, 14999, 22916, + 14819, 14999, 22918, + 14819, 14999, 22920, + 14819, 14999, 22958, + 14819, 14999, 23268, + 14819, 14999, 23426, + 14819, 14999, 23446, + 14819, 14999, 23462, + 14819, 14999, 23464, + 14819, 14999, 23466, + 14819, 14999, 23476, + 14819, 14999, 23494, + 14819, 15573, 1217, 10219, 8320, + 14819, 17749, 9866, + 14819, 17749, 11732, + 14819, 17749, 12280, + 14819, 17749, 12376, + 14819, 17749, 12732, + 14819, 17749, 12886, + 14819, 17749, 13232, + 14819, 17749, 13336, + 14819, 17749, 14698, + 14819, 17749, 14944, + 14819, 17749, 15748, + 14819, 17749, 16142, + 14819, 17749, 16576, + 14819, 17749, 16976, + 14819, 17749, 17024, + 14819, 17749, 17362, + 14819, 17749, 18866, + 14819, 17749, 19652, + 14819, 17749, 20174, + 14819, 17749, 20184, + 14819, 17749, 20240, + 14819, 17749, 20280, + 14819, 17749, 20326, + 14819, 17749, 20368, + 14819, 17749, 20410, + 14819, 17749, 20412, + 14819, 17749, 20414, + 14819, 17749, 20416, + 14819, 17749, 20418, + 14819, 17749, 20420, + 14819, 17749, 20422, + 14819, 17749, 20434, + 14819, 17749, 20436, + 14819, 17749, 20438, + 14819, 17749, 20442, + 14819, 17749, 20444, + 14819, 17749, 20446, + 14819, 17749, 20556, + 14819, 17749, 20728, + 14819, 17749, 20730, + 14819, 17749, 20732, + 14819, 17749, 20734, + 14819, 17749, 20736, + 14819, 17749, 20786, + 14819, 17749, 20816, + 14819, 17749, 20818, + 14819, 17749, 20820, + 14819, 17749, 20860, + 14819, 17749, 20862, + 14819, 17749, 20866, + 14819, 17749, 20888, + 14819, 17749, 20890, + 14819, 17749, 20892, + 14819, 17749, 20894, + 14819, 17749, 20896, + 14819, 17749, 20920, + 14819, 17749, 20922, + 14819, 17749, 20926, + 14819, 17749, 20928, + 14819, 17749, 20952, + 14819, 17749, 20986, + 14819, 17749, 21036, + 14819, 17749, 21116, + 14819, 17749, 21118, + 14819, 17749, 21152, + 14819, 17749, 21154, + 14819, 17749, 21160, + 14819, 17749, 21162, + 14819, 17749, 21170, + 14819, 17749, 21172, + 14819, 17749, 21190, + 14819, 17749, 21192, + 14819, 17749, 21212, + 14819, 17749, 21214, + 14819, 17749, 21218, + 14819, 17749, 21220, + 14819, 17749, 21228, + 14819, 17749, 21250, + 14819, 17749, 21252, + 14819, 17749, 21254, + 14819, 17749, 21256, + 14819, 17749, 21288, + 14819, 17749, 21290, + 14819, 17749, 22838, + 14819, 17749, 22842, + 14819, 17749, 22844, + 14819, 17749, 22846, + 14819, 17749, 22856, + 14819, 17749, 22858, + 14819, 17749, 22860, + 14819, 17749, 22862, + 14819, 17749, 22896, + 14819, 17749, 22898, + 14819, 17749, 22900, + 14819, 17749, 22902, + 14819, 17749, 22904, + 14819, 17749, 22906, + 14819, 17749, 22914, + 14819, 17749, 22944, + 14819, 17749, 23132, + 14819, 17749, 23256, + 14819, 17749, 23258, + 14819, 17749, 23260, + 14819, 17749, 23268, + 14819, 17749, 23284, + 14819, 17749, 23296, + 14819, 17749, 23308, + 14819, 17749, 23420, + 14819, 17749, 23422, + 14819, 17749, 23428, + 14819, 17749, 23430, + 14819, 17749, 23436, + 14819, 17749, 23450, + 14819, 17749, 23462, + 14819, 17749, 23464, + 14819, 17749, 23472, + 14819, 17749, 23474, + 14819, 17749, 23480, + 14819, 17749, 23488, + 14819, 17749, 23490, + 14819, 17749, 23494, + 14819, 17749, 23508, + 14819, 17749, 23540, + 14819, 17749, 23546, + 14819, 17749, 23550, + 14819, 19375, 9866, + 14819, 19375, 11732, + 14819, 19375, 12280, + 14819, 19375, 12376, + 14819, 19375, 12732, + 14819, 19375, 12886, + 14819, 19375, 13232, + 14819, 19375, 13336, + 14819, 19375, 14944, + 14819, 19375, 15748, + 14819, 19375, 16142, + 14819, 19375, 16576, + 14819, 19375, 16976, + 14819, 19375, 17024, + 14819, 19375, 17362, + 14819, 19375, 18866, + 14819, 19375, 19652, + 14819, 19375, 20240, + 14819, 19375, 20280, + 14819, 19375, 20326, + 14819, 19375, 20368, + 14819, 19375, 20410, + 14819, 19375, 20412, + 14819, 19375, 20416, + 14819, 19375, 20420, + 14819, 19375, 20422, + 14819, 19375, 20434, + 14819, 19375, 20438, + 14819, 19375, 20440, + 14819, 19375, 20442, + 14819, 19375, 20444, + 14819, 19375, 20446, + 14819, 19375, 20558, + 14819, 19375, 20714, + 14819, 19375, 20716, + 14819, 19375, 20718, + 14819, 19375, 20720, + 14819, 19375, 20760, + 14819, 19375, 20780, + 14819, 19375, 20782, + 14819, 19375, 20784, + 14819, 19375, 20786, + 14819, 19375, 20788, + 14819, 19375, 20816, + 14819, 19375, 20818, + 14819, 19375, 20822, + 14819, 19375, 20860, + 14819, 19375, 20862, + 14819, 19375, 20864, + 14819, 19375, 20868, + 14819, 19375, 20890, + 14819, 19375, 20892, + 14819, 19375, 20894, + 14819, 19375, 20896, + 14819, 19375, 20920, + 14819, 19375, 20922, + 14819, 19375, 20926, + 14819, 19375, 20928, + 14819, 19375, 20952, + 14819, 19375, 20986, + 14819, 19375, 21116, + 14819, 19375, 21130, + 14819, 19375, 21132, + 14819, 19375, 21134, + 14819, 19375, 21136, + 14819, 19375, 21152, + 14819, 19375, 21160, + 14819, 19375, 21162, + 14819, 19375, 21166, + 14819, 19375, 21172, + 14819, 19375, 21190, + 14819, 19375, 21192, + 14819, 19375, 21212, + 14819, 19375, 21216, + 14819, 19375, 21220, + 14819, 19375, 21250, + 14819, 19375, 21254, + 14819, 19375, 21256, + 14819, 19375, 22840, + 14819, 19375, 22856, + 14819, 19375, 22858, + 14819, 19375, 22860, + 14819, 19375, 22870, + 14819, 19375, 22872, + 14819, 19375, 22878, + 14819, 19375, 22880, + 14819, 19375, 22882, + 14819, 19375, 22886, + 14819, 19375, 22898, + 14819, 19375, 22900, + 14819, 19375, 22904, + 14819, 19375, 22914, + 14819, 19375, 22916, + 14819, 19375, 22918, + 14819, 19375, 22920, + 14819, 19375, 22944, + 14819, 19375, 22958, + 14819, 19375, 23098, + 14819, 19375, 23100, + 14819, 19375, 23118, + 14819, 19375, 23136, + 14819, 19375, 23138, + 14819, 19375, 23244, + 14819, 19375, 23246, + 14819, 19375, 23268, + 14819, 19375, 23278, + 14819, 19375, 23282, + 14819, 19375, 23290, + 14819, 19375, 23310, + 14819, 19375, 23416, + 14819, 19375, 23418, + 14819, 19375, 23424, + 14819, 19375, 23426, + 14819, 19375, 23432, + 14819, 19375, 23434, + 14819, 19375, 23446, + 14819, 19375, 23456, + 14819, 19375, 23464, + 14819, 19375, 23466, + 14819, 19375, 23468, + 14819, 19375, 23470, + 14819, 19375, 23472, + 14819, 19375, 23476, + 14819, 19375, 23484, + 14819, 19375, 23496, + 14819, 19375, 23510, + 14819, 19375, 23512, + 14819, 19375, 23514, + 14819, 19375, 23516, + 14819, 19375, 23522, + 14819, 19375, 23524, + 14819, 19375, 23526, + 14819, 19375, 23536, + 14819, 19375, 23540, + 14819, 19375, 23542, + 14819, 19375, 23552, + 14819, 19375, 23558, + 14819, 19377, 0, + 14819, 19377, 8, + 14819, 19377, 16, + 14819, 19377, 28, + 14819, 19377, 40, + 14819, 19377, 66, + 14819, 19377, 204, + 14819, 19377, 214, + 14819, 19377, 482, + 14819, 19377, 694, + 14819, 19377, 700, + 14819, 19377, 706, + 14819, 19377, 734, + 14819, 19377, 736, + 14819, 19377, 738, + 14819, 19377, 742, + 14819, 19377, 746, + 14819, 19377, 768, + 14819, 19377, 770, + 14819, 19377, 1730, + 14819, 19377, 1732, + 14819, 19377, 1734, + 14819, 19377, 1736, + 14819, 19377, 2578, + 14819, 19377, 2580, + 14819, 19377, 2582, + 14819, 19377, 3378, + 14819, 19377, 3380, + 14819, 19377, 3520, + 14819, 19377, 3546, + 14819, 19377, 3654, + 14819, 19377, 3700, + 14819, 19377, 3894, + 14819, 19377, 6578, + 14819, 19377, 6580, + 14819, 19377, 6592, + 14819, 19377, 6594, + 14819, 19377, 6596, + 14819, 19377, 6598, + 14819, 19377, 7372, + 14819, 19377, 7374, + 14819, 19377, 7376, + 14819, 19377, 7378, + 14819, 19377, 7380, + 14819, 19377, 9046, + 14819, 19377, 9048, + 14819, 19377, 9050, + 14819, 19377, 10322, + 14819, 19377, 10324, + 14819, 19377, 10726, + 14819, 19377, 10728, + 14819, 19377, 10790, + 14819, 19377, 10804, + 14819, 19377, 10806, + 14819, 19377, 10808, + 14819, 19377, 10820, + 14819, 19377, 10822, + 14819, 19377, 10824, + 14819, 19377, 10826, + 14819, 19377, 10828, + 14819, 19377, 11464, + 14819, 19377, 11996, + 14819, 19377, 12024, + 14819, 19377, 12026, + 14819, 19377, 12356, + 14819, 19377, 12358, + 14819, 19377, 12360, + 14819, 19377, 13078, + 14819, 19377, 13080, + 14819, 19377, 13082, + 14819, 19377, 13860, + 14819, 19377, 13862, + 14819, 19377, 14096, + 14819, 19377, 14112, + 14819, 19377, 14114, + 14819, 19377, 14126, + 14819, 19377, 14128, + 14819, 19377, 14130, + 14819, 19377, 14132, + 14819, 19377, 14134, + 14819, 19377, 14136, + 14819, 19377, 14698, + 14819, 19377, 14860, + 14819, 19377, 15922, + 14819, 19377, 15930, + 14819, 19377, 15932, + 14819, 19377, 15936, + 14819, 19377, 16000, + 14819, 19377, 16002, + 14819, 19377, 16004, + 14819, 19377, 16006, + 14819, 19377, 16506, + 14819, 19377, 17444, + 14819, 19377, 17622, + 14819, 19377, 20432, + 14821, 14999, 270, + 14821, 14999, 528, + 14821, 14999, 878, + 14821, 14999, 2280, + 14821, 14999, 2536, + 14821, 14999, 3220, + 14821, 14999, 3532, + 14821, 14999, 5818, + 14821, 14999, 7156, + 14821, 14999, 7596, + 14821, 14999, 9372, + 14821, 14999, 9776, + 14821, 14999, 10126, + 14821, 14999, 10810, + 14821, 14999, 10898, + 14821, 14999, 11424, + 14821, 14999, 12204, + 14821, 14999, 13400, + 14821, 14999, 14978, + 14821, 14999, 15474, + 14821, 14999, 20590, + 14821, 15233, 2610, + 14821, 15233, 2611, 16502, + 14821, 15233, 3232, + 14821, 15233, 6756, + 14821, 15233, 15820, + 14829, 8321, 12589, 1216, + 14829, 8321, 13889, 1216, + 14829, 8321, 15079, 14486, + 14829, 13251, 3071, 1216, + 14829, 13251, 9462, + 14829, 13251, 9777, 1216, + 14829, 13251, 12269, 13192, + 14829, 13251, 12269, 13442, + 14829, 13251, 12269, 15408, + 14829, 13251, 12284, + 14829, 13251, 12322, + 14829, 13251, 12323, 12267, 1397, 3452, + 14829, 13251, 12702, + 14829, 13251, 13192, + 14829, 13251, 13442, + 14829, 13251, 13488, + 14829, 13251, 13826, + 14829, 13251, 14541, 505, 12658, + 14829, 13251, 15408, + 14829, 13251, 15409, 13276, + 14829, 13251, 15414, + 14829, 13251, 22855, 15858, + 14829, 14263, 2608, + 14829, 14263, 6358, + 14829, 14263, 7424, + 14829, 14263, 11487, 14810, + 14829, 14263, 11862, + 14829, 14263, 12778, + 14829, 14263, 13196, + 14829, 14263, 13274, + 14829, 14263, 13328, + 14829, 14263, 13442, + 14829, 14263, 13712, + 14829, 14263, 14117, 925, 10814, + 14829, 14263, 14120, + 14829, 14263, 14193, 12146, + 14829, 14263, 14193, 13276, + 14829, 14263, 14194, + 14829, 14263, 14210, + 14829, 14263, 14766, + 14829, 14263, 14767, 15148, + 14829, 14263, 15104, + 14829, 14263, 15105, 14910, + 14829, 14263, 15302, + 14829, 14263, 15411, 9212, + 14829, 14263, 15750, + 14829, 14263, 16378, + 14829, 14263, 17351, 14758, + 14829, 14263, 17351, 15412, + 14829, 14263, 18272, + 14829, 14263, 19286, + 14829, 14263, 20394, + 14829, 14999, 270, + 14829, 14999, 271, 10641, 12658, + 14829, 14999, 528, + 14829, 14999, 529, 10641, 9462, + 14829, 14999, 529, 10641, 14540, + 14829, 14999, 928, + 14829, 14999, 929, 10641, 9462, + 14829, 14999, 929, 10641, 14540, + 14829, 14999, 1616, + 14829, 14999, 1866, + 14829, 14999, 1867, 10641, 9462, + 14829, 14999, 1867, 10641, 14540, + 14829, 14999, 2280, + 14829, 14999, 2281, 10641, 14540, + 14829, 14999, 2536, + 14829, 14999, 2537, 10641, 14540, + 14829, 14999, 2804, + 14829, 14999, 2805, 10641, 14540, + 14829, 14999, 3218, + 14829, 14999, 3219, 10641, 14540, + 14829, 14999, 3236, + 14829, 14999, 3237, 10641, 14540, + 14829, 14999, 3452, + 14829, 14999, 3453, 10641, 12322, + 14829, 14999, 3453, 10641, 14540, + 14829, 14999, 3726, + 14829, 14999, 3727, 10641, 12284, + 14829, 14999, 3727, 10641, 14540, + 14829, 14999, 5246, + 14829, 14999, 5247, 10641, 12658, + 14829, 14999, 5247, 10641, 13192, + 14829, 14999, 5247, 10641, 15408, + 14829, 14999, 5312, + 14829, 14999, 9486, + 14829, 14999, 9487, 10641, 14540, + 14829, 14999, 9776, + 14829, 14999, 9777, 10641, 3071, 1216, + 14829, 14999, 9777, 10641, 9777, 1216, + 14829, 14999, 9777, 10641, 14540, + 14829, 14999, 9777, 10641, 14541, 843, 3071, 1216, + 14829, 14999, 9777, 10641, 14541, 843, 9777, 1216, + 14829, 14999, 10633, 270, + 14829, 14999, 10633, 1866, + 14829, 14999, 10633, 3218, + 14829, 14999, 10633, 5246, + 14829, 14999, 10633, 9486, + 14829, 14999, 10633, 11850, + 14829, 14999, 10633, 12085, 2280, + 14829, 14999, 10633, 12530, + 14829, 14999, 11850, + 14829, 14999, 11851, 10641, 14540, + 14829, 14999, 12085, 528, + 14829, 14999, 12085, 529, 10641, 14540, + 14829, 14999, 12085, 1866, + 14829, 14999, 12085, 1867, 10641, 14540, + 14829, 14999, 12085, 2280, + 14829, 14999, 12085, 2536, + 14829, 14999, 12085, 13822, + 14829, 14999, 12204, + 14829, 14999, 12205, 10641, 14540, + 14829, 14999, 12530, + 14829, 14999, 12531, 10641, 14540, + 14829, 14999, 13822, + 14829, 14999, 13823, 10641, 14540, + 14829, 14999, 14196, + 14829, 14999, 14197, 10641, 14540, + 14829, 14999, 15474, + 14829, 14999, 15475, 10641, 14540, + 14829, 14999, 20531, 5312, + 14829, 14999, 20531, 9287, 9854, + 14829, 18249, 5247, 12530, + 14829, 18249, 17537, 3453, 3726, + 14829, 18249, 17537, 3727, 3727, 13192, + 14829, 18249, 17537, 14625, 3452, + 14829, 18249, 17537, 14625, 3726, + 14829, 20877, 2537, 16464, + 14829, 20877, 3089, 13190, + 14829, 20877, 12662, + 14829, 20877, 13188, + 14829, 20877, 14766, + 14829, 20877, 19286, + 14835, 10641, 14049, 11772, + 14849, 13293, 15621, 18392, + 14849, 13293, 15621, 18393, 317, 11571, 15620, + 14855, 6718, + 14856, + 14857, 10641, 19058, + 14857, 14418, + 14865, 13379, 9854, + 14897, 9855, 13052, + 14897, 9855, 15868, + 14897, 9855, 17486, + 14897, 9855, 17610, + 14897, 9855, 20552, + 14897, 11854, + 14897, 14003, 9855, 8, + 14897, 14003, 9855, 16, + 14897, 14003, 9855, 28, + 14897, 14003, 9855, 40, + 14897, 14003, 9855, 58, + 14897, 14003, 9855, 72, + 14897, 14003, 9855, 94, + 14897, 14003, 9855, 308, + 14897, 14003, 9855, 676, + 14897, 14625, 11854, + 14897, 14625, 17179, 8320, + 14897, 14999, 0, + 14897, 14999, 8, + 14897, 14999, 16, + 14897, 14999, 28, + 14897, 14999, 40, + 14897, 14999, 58, + 14897, 14999, 72, + 14897, 14999, 94, + 14897, 14999, 106, + 14897, 14999, 124, + 14897, 14999, 148, + 14897, 14999, 244, + 14897, 14999, 266, + 14897, 14999, 308, + 14897, 14999, 336, + 14897, 14999, 350, + 14897, 14999, 384, + 14897, 14999, 416, + 14897, 14999, 448, + 14897, 14999, 522, + 14897, 14999, 572, + 14897, 14999, 588, + 14897, 14999, 622, + 14897, 14999, 676, + 14897, 14999, 680, + 14897, 14999, 734, + 14897, 14999, 932, + 14897, 14999, 1044, + 14897, 14999, 1142, + 14897, 14999, 1164, + 14897, 14999, 1492, + 14897, 14999, 1796, + 14897, 14999, 1914, + 14897, 14999, 2444, + 14897, 14999, 2492, + 14897, 14999, 2556, + 14897, 14999, 2676, + 14897, 14999, 2912, + 14897, 14999, 3048, + 14897, 14999, 3114, + 14897, 14999, 3242, + 14897, 14999, 3322, + 14897, 14999, 6314, + 14897, 14999, 10264, + 14897, 14999, 11868, + 14897, 15233, 9854, + 14897, 17179, 8320, + 14897, 20679, 9854, + 14897, 20989, 9854, + 14901, 17091, 167, 2510, + 14901, 17091, 258, + 14901, 17091, 259, 15584, + 14901, 17091, 842, + 14901, 17091, 874, + 14901, 17091, 946, + 14901, 17091, 966, + 14901, 17091, 1084, + 14901, 17091, 1206, + 14901, 17091, 1216, + 14901, 17091, 1220, + 14901, 17091, 1264, + 14901, 17091, 1266, + 14901, 17091, 1336, + 14901, 17091, 1384, + 14901, 17091, 1408, + 14901, 17091, 1740, + 14901, 17091, 1784, + 14901, 17091, 2132, + 14901, 17091, 2242, + 14901, 17091, 2438, + 14901, 17091, 2510, + 14901, 17091, 2606, + 14901, 17091, 2610, + 14901, 17091, 2688, + 14901, 17091, 2882, + 14901, 17091, 2886, + 14901, 17091, 2896, + 14901, 17091, 2974, + 14901, 17091, 3034, + 14901, 17091, 3036, + 14901, 17091, 3136, + 14901, 17091, 3232, + 14901, 17091, 3356, + 14901, 17091, 3357, 12262, + 14901, 17091, 3424, + 14901, 17091, 5798, + 14901, 17091, 5834, + 14901, 17091, 5844, + 14901, 17091, 5848, + 14901, 17091, 5850, + 14901, 17091, 5855, 485, 11746, + 14901, 17091, 5858, + 14901, 17091, 5978, + 14901, 17091, 5980, + 14901, 17091, 6082, + 14901, 17091, 6084, + 14901, 17091, 6086, + 14901, 17091, 6356, + 14901, 17091, 6408, + 14901, 17091, 6426, + 14901, 17091, 6435, 968, + 14901, 17091, 6440, + 14901, 17091, 6602, + 14901, 17091, 6718, + 14901, 17091, 6722, + 14901, 17091, 6746, + 14901, 17091, 6750, + 14901, 17091, 6772, + 14901, 17091, 6782, + 14901, 17091, 6930, + 14901, 17091, 7048, + 14901, 17091, 7118, + 14901, 17091, 7123, 10229, 13818, + 14901, 17091, 7126, + 14901, 17091, 7138, + 14901, 17091, 7146, + 14901, 17091, 7292, + 14901, 17091, 7304, + 14901, 17091, 7430, + 14901, 17091, 7458, + 14901, 17091, 7780, + 14901, 17091, 7792, + 14901, 17091, 7812, + 14901, 17091, 7814, + 14901, 17091, 7818, + 14901, 17091, 7846, + 14901, 17091, 7854, + 14901, 17091, 7882, + 14901, 17091, 7883, 15636, + 14901, 17091, 8352, + 14901, 17091, 8460, + 14901, 17091, 8850, + 14901, 17091, 9171, 968, + 14901, 17091, 9278, + 14901, 17091, 9466, + 14901, 17091, 9496, + 14901, 17091, 9516, + 14901, 17091, 9694, + 14901, 17091, 9712, + 14901, 17091, 9720, + 14901, 17091, 9860, + 14901, 17091, 9874, + 14901, 17091, 9954, + 14901, 17091, 9956, + 14901, 17091, 10098, + 14901, 17091, 10188, + 14901, 17091, 10228, + 14901, 17091, 10616, + 14901, 17091, 10617, 19228, + 14901, 17091, 10628, + 14901, 17091, 10634, + 14901, 17091, 10636, + 14901, 17091, 10652, + 14901, 17091, 10654, + 14901, 17091, 11404, + 14901, 17091, 11476, + 14901, 17091, 11570, + 14901, 17091, 11582, + 14901, 17091, 11604, + 14901, 17091, 11710, + 14901, 17091, 11740, + 14901, 17091, 11758, + 14901, 17091, 11766, + 14901, 17091, 11884, + 14901, 17091, 11968, + 14901, 17091, 11978, + 14901, 17091, 11992, + 14901, 17091, 12076, + 14901, 17091, 12082, + 14901, 17091, 12096, + 14901, 17091, 12200, + 14901, 17091, 12226, + 14901, 17091, 12230, + 14901, 17091, 12274, + 14901, 17091, 12330, + 14901, 17091, 12484, + 14901, 17091, 12692, + 14901, 17091, 12758, + 14901, 17091, 12764, + 14901, 17091, 13258, + 14901, 17091, 13341, 9171, 968, + 14901, 17091, 13346, + 14901, 17091, 13476, + 14901, 17091, 13482, + 14901, 17091, 13504, + 14901, 17091, 13507, 15683, 5834, + 14901, 17091, 13507, 15740, + 14901, 17091, 13546, + 14901, 17091, 13548, + 14901, 17091, 13552, + 14901, 17091, 13562, + 14901, 17091, 13574, + 14901, 17091, 13578, + 14901, 17091, 13586, + 14901, 17091, 13594, + 14901, 17091, 13610, + 14901, 17091, 13618, + 14901, 17091, 13628, + 14901, 17091, 13656, + 14901, 17091, 13682, + 14901, 17091, 13754, + 14901, 17091, 13794, + 14901, 17091, 13806, + 14901, 17091, 14032, + 14901, 17091, 14044, + 14901, 17091, 14048, + 14901, 17091, 14064, + 14901, 17091, 14072, + 14901, 17091, 14310, + 14901, 17091, 14336, + 14901, 17091, 14346, + 14901, 17091, 14386, + 14901, 17091, 14402, + 14901, 17091, 14520, + 14901, 17091, 14588, + 14901, 17091, 14623, 10120, + 14901, 17091, 14623, 11740, + 14901, 17091, 14625, 46, + 14901, 17091, 14626, + 14901, 17091, 14682, + 14901, 17091, 14843, 19228, + 14901, 17091, 14872, + 14901, 17091, 15122, + 14901, 17091, 15136, + 14901, 17091, 15258, + 14901, 17091, 15500, + 14901, 17091, 15506, + 14901, 17091, 15600, + 14901, 17091, 15606, + 14901, 17091, 15616, + 14901, 17091, 15620, + 14901, 17091, 15693, 16708, + 14901, 17091, 15776, + 14901, 17091, 15784, + 14901, 17091, 15804, + 14901, 17091, 15812, + 14901, 17091, 15854, + 14901, 17091, 15888, + 14901, 17091, 15920, + 14901, 17091, 16094, + 14901, 17091, 16164, + 14901, 17091, 16170, + 14901, 17091, 16380, + 14901, 17091, 16396, + 14901, 17091, 16470, + 14901, 17091, 16708, + 14901, 17091, 16824, + 14901, 17091, 16930, + 14901, 17091, 17072, + 14901, 17091, 17170, + 14901, 17091, 17482, + 14901, 17091, 17722, + 14901, 17091, 18092, + 14901, 17091, 18316, + 14901, 17091, 18330, + 14901, 17091, 18494, + 14901, 17091, 18596, + 14901, 17091, 18650, + 14901, 17091, 19228, + 14901, 17091, 19984, + 14901, 17091, 20106, + 14901, 17091, 20610, + 14901, 17091, 20901, 10636, + 14913, 9854, + 14925, 3232, + 14931, 9855, 13052, + 14931, 9855, 13642, + 14931, 9855, 15524, + 14931, 9855, 15868, + 14931, 9855, 17610, + 14931, 10651, 19618, + 14931, 11854, + 14931, 14003, 9855, 8, + 14931, 14003, 9855, 16, + 14931, 14003, 9855, 28, + 14931, 14003, 9855, 40, + 14931, 14003, 9855, 58, + 14931, 14003, 9855, 72, + 14931, 14003, 9855, 94, + 14931, 14003, 9855, 308, + 14931, 14625, 11854, + 14931, 14625, 17179, 8320, + 14931, 14999, 0, + 14931, 14999, 8, + 14931, 14999, 16, + 14931, 14999, 28, + 14931, 14999, 40, + 14931, 14999, 58, + 14931, 14999, 72, + 14931, 14999, 94, + 14931, 14999, 106, + 14931, 14999, 124, + 14931, 14999, 148, + 14931, 14999, 244, + 14931, 14999, 266, + 14931, 14999, 336, + 14931, 14999, 350, + 14931, 14999, 384, + 14931, 14999, 416, + 14931, 14999, 448, + 14931, 14999, 522, + 14931, 14999, 572, + 14931, 14999, 588, + 14931, 14999, 622, + 14931, 14999, 680, + 14931, 14999, 734, + 14931, 14999, 904, + 14931, 14999, 932, + 14931, 14999, 1044, + 14931, 14999, 1142, + 14931, 14999, 1164, + 14931, 14999, 1482, + 14931, 14999, 1492, + 14931, 14999, 1812, + 14931, 14999, 1914, + 14931, 14999, 2152, + 14931, 14999, 2444, + 14931, 14999, 2492, + 14931, 14999, 2556, + 14931, 14999, 2676, + 14931, 14999, 3242, + 14931, 14999, 3322, + 14931, 14999, 6306, + 14931, 14999, 6314, + 14931, 14999, 10264, + 14931, 17179, 8320, + 14931, 20989, 9854, + 14940, + 14955, 18643, 15672, + 14981, 10144, + 14981, 10145, 505, 12005, 634, + 14986, + 14995, 9855, 2880, + 14995, 9855, 13052, + 14995, 11905, 2610, + 14995, 11905, 3076, + 14995, 11905, 3356, + 14995, 11905, 6756, + 14995, 11905, 6778, + 14995, 11905, 8780, + 14995, 11905, 10900, + 14995, 11905, 11978, + 14995, 11905, 13450, + 14995, 11905, 13736, + 14995, 14003, 9855, 8, + 14995, 14003, 9855, 16, + 14995, 14003, 9855, 28, + 14995, 14003, 9855, 40, + 14995, 14003, 9855, 58, + 14995, 14003, 9855, 498, + 14995, 14003, 9855, 676, + 14995, 14999, 0, + 14995, 14999, 106, + 14995, 14999, 124, + 14995, 14999, 148, + 14995, 14999, 224, + 14995, 14999, 244, + 14995, 14999, 266, + 14995, 14999, 336, + 14995, 14999, 350, + 14995, 14999, 384, + 14995, 14999, 416, + 14995, 14999, 448, + 14995, 14999, 522, + 14995, 14999, 572, + 14995, 14999, 588, + 14995, 14999, 622, + 14995, 14999, 680, + 14995, 14999, 694, + 14995, 14999, 734, + 14995, 14999, 954, + 14995, 14999, 1044, + 14995, 14999, 1142, + 14995, 14999, 1254, + 14995, 14999, 1382, + 14995, 14999, 1520, + 14995, 14999, 1640, + 14995, 14999, 1914, + 14995, 14999, 1962, + 14995, 14999, 2322, + 14995, 14999, 2444, + 14995, 14999, 2556, + 14995, 14999, 2676, + 14995, 14999, 2700, + 14995, 14999, 3048, + 14995, 14999, 3242, + 14995, 14999, 3308, + 14995, 14999, 3322, + 14995, 14999, 10240, + 14995, 14999, 10264, + 14995, 19015, 9855, 20, + 14995, 19015, 9855, 22, + 14995, 19015, 9855, 24, + 14995, 19015, 9855, 26, + 14995, 19015, 9855, 30, + 14995, 19015, 9855, 34, + 14995, 19015, 9855, 38, + 14995, 19015, 9855, 7592, + 14995, 19015, 9855, 16910, + 14995, 19667, 14999, 572, + 14995, 19667, 14999, 734, + 14995, 20877, 8959, 15745, 15680, + 14995, 20877, 14456, + 14995, 20877, 15680, + 14995, 20877, 15794, + 14995, 20877, 15795, 14456, + 15021, 1, 9855, 4496, + 15021, 1, 9855, 4498, + 15021, 1, 9855, 4500, + 15021, 1, 9855, 4502, + 15021, 1, 9855, 4504, + 15021, 1, 9855, 4506, + 15021, 1, 9855, 4508, + 15021, 1, 9855, 4510, + 15021, 1, 9855, 4514, + 15021, 1, 9855, 4516, + 15021, 1, 9855, 4518, + 15021, 1, 9855, 4522, + 15021, 1, 9855, 4524, + 15021, 1, 9855, 4526, + 15021, 1, 9855, 4528, + 15021, 1, 9855, 4530, + 15021, 1, 9855, 4532, + 15021, 1, 9855, 4534, + 15021, 1, 9855, 4536, + 15021, 1, 9855, 4538, + 15021, 1, 9855, 4540, + 15021, 1, 9855, 4542, + 15021, 1, 9855, 4544, + 15021, 1, 9855, 4546, + 15021, 1, 9855, 4548, + 15021, 1, 9855, 4550, + 15021, 1, 9855, 4552, + 15021, 1, 9855, 4554, + 15021, 1, 9855, 4556, + 15021, 1, 9855, 4558, + 15021, 1, 9855, 4560, + 15021, 1, 9855, 4562, + 15021, 1, 9855, 4564, + 15021, 1, 9855, 4566, + 15021, 1, 9855, 4568, + 15021, 1, 9855, 4570, + 15021, 1, 9855, 4572, + 15021, 1, 9855, 4574, + 15021, 1, 9855, 4576, + 15021, 1, 9855, 4578, + 15021, 1, 9855, 4580, + 15021, 1, 9855, 4582, + 15021, 1, 9855, 4584, + 15021, 1, 9855, 4586, + 15021, 1, 9855, 4588, + 15021, 1, 9855, 4590, + 15021, 1, 9855, 4592, + 15021, 1, 9855, 4594, + 15021, 1, 9855, 4596, + 15021, 1, 9855, 4598, + 15021, 1, 9855, 4600, + 15021, 1, 9855, 4602, + 15021, 1, 9855, 4604, + 15021, 1, 9855, 4606, + 15021, 1, 9855, 4608, + 15021, 1, 9855, 4610, + 15021, 1, 9855, 4612, + 15021, 1, 9855, 4614, + 15021, 1, 9855, 4616, + 15021, 1, 9855, 4618, + 15021, 1, 9855, 4620, + 15021, 1, 9855, 4622, + 15021, 1, 9855, 4624, + 15021, 1, 9855, 4626, + 15021, 1, 9855, 4628, + 15021, 1, 9855, 4630, + 15021, 1, 9855, 4632, + 15021, 1, 9855, 4634, + 15021, 1, 9855, 4636, + 15021, 1, 9855, 4890, + 15021, 1, 9855, 4892, + 15021, 1, 9855, 4894, + 15021, 1, 9855, 4896, + 15021, 1, 9855, 4898, + 15021, 1, 9855, 4900, + 15021, 1, 9855, 4904, + 15021, 1, 9855, 4906, + 15021, 1, 9855, 4908, + 15021, 1, 9855, 4910, + 15021, 1, 9855, 4912, + 15021, 1, 9855, 4914, + 15021, 1, 9855, 4918, + 15021, 1, 9855, 4920, + 15021, 1, 9855, 4928, + 15021, 1, 9855, 4930, + 15021, 1, 9855, 4934, + 15021, 1, 9855, 4936, + 15021, 1, 9855, 4938, + 15021, 1, 9855, 4940, + 15021, 1, 9855, 4942, + 15021, 1, 9855, 4944, + 15021, 1, 9855, 4946, + 15021, 1, 9855, 4948, + 15021, 1, 9855, 4950, + 15021, 1, 9855, 4952, + 15021, 1, 9855, 4954, + 15021, 1, 9855, 4956, + 15021, 1, 9855, 4958, + 15021, 1, 9855, 4960, + 15021, 1, 9855, 4962, + 15021, 1, 9855, 4964, + 15021, 1, 9855, 4966, + 15021, 1, 9855, 4968, + 15021, 1, 9855, 4970, + 15021, 1, 9855, 4972, + 15021, 1, 9855, 4974, + 15021, 1, 9855, 4976, + 15021, 1, 9855, 4978, + 15021, 1, 9855, 4980, + 15021, 1, 9855, 4982, + 15021, 1, 9855, 4984, + 15021, 1, 9855, 4986, + 15021, 1, 9855, 4988, + 15021, 1, 9855, 4990, + 15021, 1, 9855, 4992, + 15021, 1, 9855, 4994, + 15021, 1, 9855, 4996, + 15021, 1, 9855, 4998, + 15021, 1, 9855, 5000, + 15021, 1, 9855, 5002, + 15021, 1, 9855, 5004, + 15021, 1, 9855, 5006, + 15021, 1, 9855, 5008, + 15021, 1, 9855, 5010, + 15021, 1, 9855, 5012, + 15021, 1, 9855, 5014, + 15021, 1, 9855, 5016, + 15021, 1, 9855, 5018, + 15021, 1, 9855, 5020, + 15021, 1, 9855, 5022, + 15021, 1, 9855, 5024, + 15021, 1, 9855, 5026, + 15021, 1, 9855, 5028, + 15021, 1, 9855, 5030, + 15021, 1, 9855, 5032, + 15021, 1, 9855, 5034, + 15021, 1, 9855, 5036, + 15021, 1, 9855, 5038, + 15021, 1, 9855, 5040, + 15021, 1, 9855, 5042, + 15021, 1, 9855, 5044, + 15021, 1, 9855, 5046, + 15021, 1, 9855, 5048, + 15021, 1, 9855, 5050, + 15021, 1, 9855, 5052, + 15021, 1, 9855, 5054, + 15021, 1, 9855, 5056, + 15021, 1, 9855, 5058, + 15021, 1, 9855, 5060, + 15021, 1, 9855, 5062, + 15021, 1, 9855, 5064, + 15021, 1, 9855, 5066, + 15021, 1, 9855, 5068, + 15021, 1, 9855, 5070, + 15021, 1, 9855, 5072, + 15021, 1, 9855, 5074, + 15021, 1, 9855, 5076, + 15021, 1, 9855, 5078, + 15021, 1, 9855, 5080, + 15021, 1, 9855, 5082, + 15021, 1, 9855, 5084, + 15021, 1, 9855, 5086, + 15021, 1, 9855, 5088, + 15021, 1, 9855, 5090, + 15021, 1, 9855, 5092, + 15021, 1, 9855, 5094, + 15021, 1, 9855, 5096, + 15021, 1, 9855, 5098, + 15021, 1, 9855, 5100, + 15021, 1, 9855, 5102, + 15021, 1, 9855, 5104, + 15021, 1, 9855, 5106, + 15021, 1, 9855, 5108, + 15021, 1, 9855, 5110, + 15021, 1, 9855, 5112, + 15021, 1, 9855, 5114, + 15021, 1, 9855, 5116, + 15021, 1, 9855, 5118, + 15021, 1, 9855, 5120, + 15021, 1, 9855, 5122, + 15021, 1, 9855, 5124, + 15021, 1, 9855, 5126, + 15021, 1, 9855, 5128, + 15021, 1, 9855, 5130, + 15021, 1, 9855, 5132, + 15021, 1, 9855, 5134, + 15021, 1, 9855, 5136, + 15021, 1, 9855, 5138, + 15021, 1, 9855, 5140, + 15021, 1, 9855, 5142, + 15021, 1, 9855, 5144, + 15021, 1, 9855, 5146, + 15021, 1, 9855, 5148, + 15021, 1, 9855, 5150, + 15021, 1, 9855, 5152, + 15021, 1, 9855, 5154, + 15021, 1, 9855, 5156, + 15021, 1, 9855, 5158, + 15021, 1, 9855, 5160, + 15021, 1, 9855, 5162, + 15021, 1, 9855, 5164, + 15021, 1, 9855, 5167, 0, + 15021, 1, 9855, 5169, 2, + 15021, 1, 9855, 5171, 6, + 15021, 1, 9855, 5173, 8, + 15021, 1, 9855, 5175, 10, + 15021, 1, 9855, 5177, 14, + 15021, 1, 9855, 5179, 18, + 15021, 1, 9855, 5181, 20, + 15021, 1, 9855, 5183, 22, + 15021, 1, 9855, 5185, 44, + 15021, 1, 9855, 5187, 46, + 15021, 1, 9855, 5189, 48, + 15021, 1, 9855, 5191, 13144, + 15021, 1, 9855, 5193, 792, + 15021, 1, 9855, 5195, 108, + 15021, 1, 9855, 5197, 152, + 15021, 1, 9855, 5199, 6606, + 15021, 1, 9855, 5201, 338, + 15021, 1, 9855, 5202, + 15021, 1, 9855, 5204, + 15021, 1, 9855, 5206, + 15021, 1, 9855, 5208, + 15021, 1, 9855, 5210, + 15021, 1, 9855, 5212, + 15021, 1, 9855, 5214, + 15021, 1, 9855, 5216, + 15021, 1, 9855, 11044, + 15021, 1, 9855, 11102, + 15021, 1, 9855, 11106, + 15021, 1, 9855, 11132, + 15021, 1, 9855, 11134, + 15021, 1, 9855, 11136, + 15021, 1, 9855, 11138, + 15021, 1, 9855, 11140, + 15021, 1, 9855, 11142, + 15021, 1, 9855, 11244, + 15021, 1, 9855, 11246, + 15021, 1, 9855, 11248, + 15021, 1, 9855, 11250, + 15021, 1, 9855, 11252, + 15021, 1, 9855, 11254, + 15021, 1, 9855, 11256, + 15021, 1, 9855, 11258, + 15021, 1, 9855, 11260, + 15021, 1, 9855, 11262, + 15021, 1, 9855, 11264, + 15021, 1, 9855, 11266, + 15021, 1, 9855, 11268, + 15021, 1, 9855, 11270, + 15021, 1, 9855, 11272, + 15021, 1, 9855, 11274, + 15021, 1, 9855, 11276, + 15021, 1, 9855, 11278, + 15021, 1, 9855, 11280, + 15021, 1, 9855, 11282, + 15021, 1, 9855, 11284, + 15021, 1, 9855, 11286, + 15021, 1, 9855, 11288, + 15021, 1, 9855, 11290, + 15021, 1, 9855, 11292, + 15021, 1, 9855, 11294, + 15021, 1, 9855, 11296, + 15021, 1, 9855, 11298, + 15021, 1, 9855, 11300, + 15021, 1, 9855, 11302, + 15021, 1, 9855, 11304, + 15021, 1, 9855, 11306, + 15021, 1, 9855, 11308, + 15021, 1, 9855, 11310, + 15021, 1, 9855, 11312, + 15021, 1, 9855, 11314, + 15021, 1, 9855, 11316, + 15021, 1, 9855, 11318, + 15021, 1, 9855, 11320, + 15021, 1, 9855, 11322, + 15021, 1, 9855, 11324, + 15021, 1, 9855, 11326, + 15021, 1, 9855, 11328, + 15021, 1, 9855, 11330, + 15021, 1, 9855, 11332, + 15021, 1, 9855, 11334, + 15021, 1, 9855, 11336, + 15021, 1, 9855, 11338, + 15021, 1, 9855, 11340, + 15021, 1, 9855, 11342, + 15021, 1, 9855, 11344, + 15021, 1, 9855, 11346, + 15021, 1, 9855, 11348, + 15021, 1, 9855, 11350, + 15021, 1, 9855, 11352, + 15021, 1, 9855, 11354, + 15021, 1, 9855, 11356, + 15021, 1, 9855, 11358, + 15021, 1, 9855, 11360, + 15021, 1, 9855, 11362, + 15021, 1, 9855, 11364, + 15021, 1, 9855, 11366, + 15021, 1, 9855, 11368, + 15021, 1, 9855, 11370, + 15021, 1, 9855, 11372, + 15021, 1, 9855, 11374, + 15021, 1, 9855, 11376, + 15021, 1, 9855, 11378, + 15021, 1, 9855, 11380, + 15021, 1, 9855, 11382, + 15021, 1, 9855, 11384, + 15021, 1, 9855, 11386, + 15021, 1, 9855, 11388, + 15021, 1, 9855, 11390, + 15021, 1, 9855, 14237, 376, + 15021, 1, 9855, 14239, 378, + 15021, 1, 9855, 14241, 380, + 15021, 1, 9855, 14243, 382, + 15021, 1, 9855, 14248, + 15021, 1, 9855, 14250, + 15021, 1, 9855, 14252, + 15021, 1, 9855, 14254, + 15021, 1, 9855, 14256, + 15021, 1, 9855, 14258, + 15021, 1, 9855, 14260, + 15021, 1, 9855, 17542, + 15021, 1, 9855, 17544, + 15021, 1, 9855, 17546, + 15021, 1, 9855, 17548, + 15021, 1, 9855, 17550, + 15021, 1, 9855, 17552, + 15021, 1, 9855, 17554, + 15021, 1, 9855, 17556, + 15021, 1, 9855, 17558, + 15021, 1, 9855, 17560, + 15021, 1, 9855, 17562, + 15021, 1, 9855, 17564, + 15021, 1, 9855, 17566, + 15021, 1, 9855, 17568, + 15021, 1, 9855, 17570, + 15021, 1, 9855, 17572, + 15021, 1, 9855, 17574, + 15021, 1, 9855, 17576, + 15021, 1, 9855, 17578, + 15021, 1, 9855, 17580, + 15021, 3, 15673, 5348, + 15021, 3, 15673, 5350, + 15021, 3, 15673, 5356, + 15021, 3, 15673, 5380, + 15021, 3, 15673, 5404, + 15021, 3, 15673, 5408, + 15021, 3, 15673, 5422, + 15021, 3, 15673, 5436, + 15021, 3, 15673, 5438, + 15021, 3, 15673, 5468, + 15021, 3, 15673, 5474, + 15021, 3, 15673, 5476, + 15021, 3, 15673, 5480, + 15021, 3, 15673, 5484, + 15021, 3, 18159, 5491, 2242, + 15021, 3, 18159, 5493, 14064, + 15021, 3, 18159, 5495, 6356, + 15021, 3, 18159, 5497, 12006, + 15021, 3, 18159, 5499, 14044, + 15021, 3, 18159, 5501, 14354, + 15021, 3, 18159, 5503, 13142, + 15021, 3, 18159, 5505, 13588, + 15021, 3, 18159, 5507, 16214, + 15021, 3, 18159, 5513, 2602, + 15021, 3, 18159, 5515, 10636, + 15021, 3, 18159, 5516, + 15021, 3, 18159, 5523, 14412, + 15021, 3, 18159, 5525, 7048, + 15021, 3, 18159, 5526, + 15021, 3, 18159, 5529, 10646, + 15021, 3, 18159, 5530, + 15021, 3, 18159, 5532, + 15021, 3, 18159, 5535, 7304, + 15021, 3, 18159, 5536, + 15021, 3, 18159, 5538, + 15021, 3, 18159, 5540, + 15021, 3, 18159, 5546, + 15021, 3, 18159, 5548, + 15021, 3, 18159, 5551, 11746, + 15021, 3, 18159, 5552, + 15021, 3, 18159, 5554, + 15021, 3, 18159, 5557, 16428, + 15021, 3, 18159, 5559, 14304, + 15021, 3, 18159, 5560, + 15021, 3, 18159, 5562, + 15021, 3, 18159, 5564, + 15021, 3, 18159, 5566, + 15021, 3, 18159, 5568, + 15021, 3, 18159, 5570, + 15021, 3, 18159, 5572, + 15021, 3, 18159, 5574, + 15021, 3, 18159, 5576, + 15021, 3, 18159, 5579, 12754, + 15021, 3, 18159, 5580, + 15021, 3, 18159, 5583, 10228, + 15021, 3, 18159, 5584, + 15021, 3, 18159, 5586, + 15021, 3, 18159, 5588, + 15021, 3, 18159, 5590, + 15021, 3, 18159, 5592, + 15021, 3, 18159, 5594, + 15021, 3, 18159, 5596, + 15021, 3, 18159, 5598, + 15021, 3, 18159, 5600, + 15021, 3, 18159, 5602, + 15021, 3, 18159, 5604, + 15021, 3, 18159, 5607, 14834, + 15021, 3, 18159, 5649, 19270, + 15021, 3, 18159, 5655, 16046, + 15021, 3, 18159, 5665, 13586, + 15021, 3, 18159, 5667, 11476, + 15021, 3, 18159, 5668, + 15021, 3, 18159, 5671, 13660, + 15021, 3, 18159, 5672, + 15021, 3, 18159, 5674, + 15021, 3, 18159, 5677, 17513, 16132, + 15021, 3, 18159, 5679, 16132, + 15021, 3, 18159, 5681, 16133, 12110, + 15021, 3, 18159, 5683, 14046, + 15021, 3, 18159, 5684, + 15021, 3, 18159, 5686, + 15021, 3, 18159, 5690, + 15021, 3, 18159, 5692, + 15021, 3, 18159, 5696, + 15021, 3, 18159, 5698, + 15021, 3, 18159, 5700, + 15021, 3, 18159, 5703, 6284, + 15021, 3, 18159, 5704, + 15021, 3, 18159, 5706, + 15021, 3, 18159, 5708, + 15021, 3, 18159, 5710, + 15021, 3, 18159, 5712, + 15021, 3, 18159, 11495, 8318, + 15021, 3, 18159, 11497, 18640, + 15021, 3, 18159, 11499, 1332, + 15021, 3, 18159, 11501, 2878, + 15021, 3, 18159, 11503, 18586, + 15021, 3, 18159, 11505, 16486, + 15021, 3, 18159, 11507, 3106, + 15021, 3, 18159, 11509, 5846, + 15021, 3, 18159, 11511, 1084, + 15021, 3, 18159, 11513, 5876, + 15021, 3, 18159, 15863, 5542, + 15021, 3, 18159, 15863, 5608, + 15021, 3, 18159, 15863, 5610, + 15021, 3, 18159, 15863, 5612, + 15021, 3, 18159, 15863, 5614, + 15021, 3, 18159, 15863, 5616, + 15021, 3, 18159, 15863, 5618, + 15021, 3, 18159, 15863, 5620, + 15021, 3, 18159, 15863, 5622, + 15021, 3, 18159, 15863, 5624, + 15021, 3, 18159, 15863, 5626, + 15021, 3, 18159, 15863, 5628, + 15021, 3, 18159, 15863, 5630, + 15021, 3, 18159, 15863, 5632, + 15021, 3, 18159, 15863, 5634, + 15021, 3, 18159, 15863, 5636, + 15021, 3, 18159, 15863, 5638, + 15021, 3, 18159, 15863, 5640, + 15021, 3, 18159, 15863, 5642, + 15021, 3, 18159, 15863, 5644, + 15021, 3, 18159, 15863, 5646, + 15021, 3, 18159, 15863, 5650, + 15021, 3, 18159, 15863, 5652, + 15021, 3, 18159, 15863, 5656, + 15021, 3, 18159, 15863, 5658, + 15021, 3, 18159, 15863, 5660, + 15021, 3, 18159, 15863, 5662, + 15021, 3, 18159, 15863, 5694, + 15021, 3, 18159, 15863, 5714, + 15021, 3, 18323, 5509, 7598, + 15021, 3, 18323, 5511, 14898, + 15021, 3, 18323, 5519, 11466, + 15021, 3, 18323, 5521, 8366, + 15021, 3, 18323, 5545, 13854, + 15021, 3, 18323, 5689, 11908, + 15021, 3, 18697, 5315, 148, + 15021, 3, 18697, 5317, 580, + 15021, 3, 18697, 5319, 522, + 15021, 3, 18697, 5321, 626, + 15021, 3, 18697, 5323, 634, + 15021, 3, 18697, 5325, 448, + 15021, 3, 18697, 5327, 158, + 15021, 3, 18697, 5329, 0, + 15021, 3, 18697, 5331, 592, + 15021, 3, 18697, 5333, 40, + 15021, 3, 18697, 5335, 540, + 15021, 3, 18697, 5337, 602, + 15021, 3, 18697, 5339, 424, + 15021, 3, 18697, 5341, 166, + 15021, 3, 18697, 5343, 436, + 15021, 3, 18697, 5345, 556, + 15021, 3, 18697, 5347, 752, + 15021, 3, 18697, 5353, 760, + 15021, 3, 18697, 5355, 560, + 15021, 3, 18697, 5359, 440, + 15021, 3, 18697, 5361, 452, + 15021, 3, 18697, 5363, 54, + 15021, 3, 18697, 5365, 584, + 15021, 3, 18697, 5367, 574, + 15021, 3, 18697, 5369, 16, + 15021, 3, 18697, 5371, 2726, + 15021, 3, 18697, 5373, 460, + 15021, 3, 18697, 5375, 588, + 15021, 3, 18697, 5377, 564, + 15021, 3, 18697, 5379, 2864, + 15021, 3, 18697, 5383, 342, + 15021, 3, 18697, 5385, 630, + 15021, 3, 18697, 5387, 8, + 15021, 3, 18697, 5389, 536, + 15021, 3, 18697, 5391, 706, + 15021, 3, 18697, 5393, 598, + 15021, 3, 18697, 5395, 710, + 15021, 3, 18697, 5397, 56, + 15021, 3, 18697, 5399, 354, + 15021, 3, 18697, 5401, 154, + 15021, 3, 18697, 5403, 338, + 15021, 3, 18697, 5407, 2548, + 15021, 3, 18697, 5411, 546, + 15021, 3, 18697, 5413, 168, + 15021, 3, 18697, 5415, 468, + 15021, 3, 18697, 5417, 578, + 15021, 3, 18697, 5419, 694, + 15021, 3, 18697, 5421, 472, + 15021, 3, 18697, 5425, 336, + 15021, 3, 18697, 5427, 612, + 15021, 3, 18697, 5429, 622, + 15021, 3, 18697, 5431, 572, + 15021, 3, 18697, 5433, 28, + 15021, 3, 18697, 5435, 2724, + 15021, 3, 18697, 5441, 344, + 15021, 3, 18697, 5443, 3184, + 15021, 3, 18697, 5445, 358, + 15021, 3, 18697, 5447, 2936, + 15021, 3, 18697, 5449, 642, + 15021, 3, 18697, 5451, 366, + 15021, 3, 18697, 5453, 1248, + 15021, 3, 18697, 5455, 528, + 15021, 3, 18697, 5457, 430, + 15021, 3, 18697, 5459, 754, + 15021, 3, 18697, 5461, 700, + 15021, 3, 18697, 5463, 2862, + 15021, 3, 18697, 5465, 350, + 15021, 3, 18697, 5467, 558, + 15021, 3, 18697, 5471, 416, + 15021, 3, 18697, 5473, 370, + 15021, 3, 18697, 5479, 94, + 15021, 3, 18697, 5483, 3352, + 15021, 3, 18697, 5487, 1250, + 15021, 3, 18697, 5489, 3356, + 15025, 20306, + 15032, + 15041, 14533, 6718, + 15047, 14999, 0, + 15047, 14999, 2, + 15047, 14999, 6, + 15047, 14999, 8, + 15047, 14999, 12, + 15047, 14999, 14, + 15047, 14999, 16, + 15047, 14999, 18, + 15047, 14999, 20, + 15047, 14999, 22, + 15047, 14999, 24, + 15047, 14999, 26, + 15047, 14999, 30, + 15047, 14999, 32, + 15047, 14999, 34, + 15047, 14999, 36, + 15047, 14999, 38, + 15047, 14999, 40, + 15047, 14999, 44, + 15047, 14999, 46, + 15047, 14999, 50, + 15047, 14999, 80, + 15047, 14999, 112, + 15047, 14999, 202, + 15047, 14999, 360, + 15047, 14999, 434, + 15047, 14999, 466, + 15047, 14999, 628, + 15047, 14999, 640, + 15049, 14999, 0, + 15049, 14999, 2, + 15049, 14999, 4, + 15049, 14999, 6, + 15049, 14999, 8, + 15049, 14999, 10, + 15049, 14999, 12, + 15049, 14999, 16, + 15049, 14999, 20, + 15049, 14999, 22, + 15049, 14999, 24, + 15049, 14999, 26, + 15049, 14999, 28, + 15049, 14999, 32, + 15049, 14999, 34, + 15049, 14999, 36, + 15049, 14999, 38, + 15049, 14999, 40, + 15049, 14999, 42, + 15049, 14999, 48, + 15049, 14999, 80, + 15049, 14999, 202, + 15049, 14999, 412, + 15049, 14999, 466, + 15049, 14999, 608, + 15049, 14999, 640, + 15049, 20479, 8320, + 15050, + 15095, 3077, 15609, 17642, + 15095, 3077, 17045, 11571, 9950, + 15095, 5853, 14049, 14486, + 15095, 6757, 15609, 17642, + 15095, 6779, 17045, 11571, 9950, + 15095, 6779, 17045, 18461, 9950, + 15095, 7817, 11779, 16089, 18392, + 15095, 7817, 20847, 18392, + 15095, 11571, 14486, + 15095, 11979, 15609, 17642, + 15095, 11979, 17045, 11571, 9950, + 15095, 12237, 11772, + 15095, 13341, 11779, 16089, 18392, + 15095, 13341, 20847, 18392, + 15095, 13454, + 15095, 13563, 14049, 14486, + 15095, 13737, 17045, 11571, 9950, + 15095, 13737, 17045, 18461, 9950, + 15095, 14049, 14486, + 15095, 14049, 15620, + 15095, 17154, + 15095, 18847, 896, + 15095, 19267, 7817, 20847, 18392, + 15095, 19267, 13341, 20847, 18392, + 15095, 21147, 13582, + 15095, 22867, 11447, 16089, 18392, + 15095, 23121, 11447, 16089, 18392, + 15097, 12671, 2199, 7452, + 15097, 12671, 5272, + 15097, 12671, 5281, 7452, + 15097, 12671, 10651, 20357, 8320, + 15097, 12671, 11411, 14934, + 15097, 12671, 11905, 2610, + 15097, 12671, 11905, 3076, + 15097, 12671, 11905, 3356, + 15097, 12671, 11905, 6756, + 15097, 12671, 11905, 6778, + 15097, 12671, 11905, 8780, + 15097, 12671, 11905, 10900, + 15097, 12671, 11905, 11978, + 15097, 12671, 11905, 13450, + 15097, 12671, 11905, 13736, + 15097, 12671, 14003, 9855, 94, + 15097, 12671, 14003, 9855, 308, + 15097, 12671, 14003, 9855, 676, + 15097, 12671, 14003, 9855, 772, + 15097, 12671, 14003, 9855, 784, + 15097, 12671, 14003, 9855, 5268, + 15097, 12671, 14003, 9855, 7428, + 15097, 12671, 14003, 9855, 8926, + 15097, 12671, 14003, 9855, 9162, + 15097, 12671, 14003, 9855, 10418, + 15097, 12671, 14003, 9855, 14110, + 15097, 12671, 14003, 9855, 15590, + 15097, 12671, 14003, 9855, 16136, + 15097, 12671, 14003, 9855, 17486, + 15097, 12671, 14999, 8, + 15097, 12671, 14999, 16, + 15097, 12671, 14999, 17, 15036, + 15097, 12671, 14999, 28, + 15097, 12671, 14999, 106, + 15097, 12671, 14999, 448, + 15097, 12671, 14999, 449, 15036, + 15097, 12671, 14999, 522, + 15097, 12671, 14999, 523, 15036, + 15097, 12671, 14999, 666, + 15097, 12671, 14999, 1044, + 15097, 12671, 14999, 1142, + 15097, 12671, 14999, 1178, + 15097, 12671, 14999, 1524, + 15097, 12671, 14999, 1696, + 15097, 12671, 14999, 1804, + 15097, 12671, 14999, 1972, + 15097, 12671, 14999, 1973, 15036, + 15097, 12671, 14999, 2072, + 15097, 12671, 14999, 2073, 15036, + 15097, 12671, 14999, 2318, + 15097, 12671, 14999, 2319, 15036, + 15097, 12671, 14999, 2492, + 15097, 12671, 14999, 2556, + 15097, 12671, 14999, 2876, + 15097, 12671, 14999, 3018, + 15097, 12671, 14999, 3048, + 15097, 12671, 14999, 3114, + 15097, 12671, 14999, 3260, + 15097, 12671, 14999, 3261, 15036, + 15097, 12671, 14999, 3322, + 15097, 12671, 14999, 3522, + 15097, 12671, 14999, 5822, + 15097, 12671, 14999, 6038, + 15097, 12671, 14999, 6314, + 15097, 12671, 14999, 6394, + 15097, 12671, 14999, 7022, + 15097, 12671, 14999, 7470, + 15097, 12671, 14999, 7660, + 15097, 12671, 14999, 8756, + 15097, 12671, 14999, 8757, 15036, + 15097, 12671, 14999, 9240, + 15097, 12671, 14999, 10172, + 15097, 12671, 14999, 10264, + 15097, 12671, 14999, 10750, + 15097, 12671, 14999, 11484, + 15097, 12671, 15868, + 15097, 12671, 17732, + 15097, 12671, 17734, + 15097, 12671, 18697, 20357, 8320, + 15119, 1216, + 15127, 13220, + 15127, 13221, 2598, + 15127, 13221, 10641, 20375, 11477, 93, 7816, + 15128, + 15131, 20314, + 15133, 3357, 3134, + 15134, + 15135, 6718, + 15138, + 15141, 18986, + 15155, 18367, 13582, + 15168, + 15209, 8321, 9854, + 15211, 18683, 484, + 15211, 18683, 485, 505, 12005, 634, + 15233, 3233, 6793, 9956, + 15233, 9854, + 15233, 14639, 6793, 9956, + 15233, 15819, 6793, 9956, + 15233, 15821, 6793, 9956, + 15233, 16401, 6793, 9956, + 15233, 17233, 6793, 9956, + 15233, 18011, 6793, 9956, + 15233, 18087, 6793, 9956, + 15233, 18363, 6793, 9956, + 15233, 18743, 6793, 9956, + 15233, 19623, 6793, 9956, + 15235, 9854, + 15241, 20887, 18978, + 15245, 17700, + 15246, + 15261, 1912, + 15263, 5860, + 15271, 7817, 20846, + 15271, 13341, 20846, + 15279, 10226, + 15289, 12303, 6085, 9855, 1346, + 15289, 12303, 6085, 9855, 1588, + 15289, 12303, 6085, 9855, 1976, + 15289, 12303, 6085, 9855, 2040, + 15289, 12303, 6085, 9855, 2144, + 15289, 12303, 6085, 9855, 3444, + 15289, 12303, 6085, 9855, 3508, + 15289, 12303, 6085, 9855, 3662, + 15289, 12303, 6085, 9855, 7136, + 15289, 12303, 6085, 9855, 7632, + 15289, 12303, 6085, 9855, 7804, + 15289, 12303, 6085, 9855, 8468, + 15289, 12303, 6085, 9855, 9238, + 15289, 12303, 6085, 9855, 10166, + 15289, 12303, 6085, 9855, 10236, + 15289, 12303, 6085, 9855, 10254, + 15289, 12303, 6085, 9855, 10774, + 15289, 12303, 6085, 9855, 14092, + 15289, 12303, 6085, 9855, 15790, + 15289, 12303, 8321, 1063, 602, + 15289, 12303, 8321, 1063, 1676, + 15289, 12303, 8321, 1063, 1904, + 15289, 12303, 8321, 1063, 3334, + 15289, 12303, 8321, 1063, 7642, + 15289, 12303, 8321, 1063, 9964, + 15289, 12303, 8321, 1063, 10104, + 15289, 12303, 9855, 96, + 15289, 12303, 9855, 295, 3668, + 15289, 12303, 9855, 1063, 2729, 6292, + 15289, 12303, 9855, 1063, 6111, 15792, + 15289, 12303, 9855, 1063, 7121, 2207, 8913, 8912, + 15289, 12303, 9855, 1063, 8867, 3296, + 15289, 12303, 9855, 1063, 10247, 2944, + 15289, 12303, 9855, 1063, 10308, + 15289, 12303, 9855, 1063, 10309, 6064, + 15289, 12303, 9855, 1063, 11698, + 15289, 12303, 9855, 1644, + 15289, 12303, 9855, 2170, + 15289, 12303, 9855, 2356, + 15289, 12303, 9855, 3216, + 15289, 12303, 9855, 3489, 2190, + 15289, 12303, 9855, 3489, 6730, + 15289, 12303, 9855, 3489, 8876, + 15289, 12303, 9855, 3489, 9718, + 15289, 12303, 9855, 3489, 10168, + 15289, 12303, 9855, 3489, 13722, + 15289, 12303, 9855, 3489, 13829, 6000, + 15289, 12303, 9855, 3873, 10138, + 15289, 12303, 9855, 7280, + 15289, 12303, 9855, 8355, 9960, + 15289, 12303, 9855, 8355, 13824, + 15289, 12303, 9855, 8856, + 15289, 12303, 9855, 8914, + 15289, 12303, 9855, 10682, + 15289, 12303, 9855, 10686, + 15289, 12303, 9855, 10706, + 15289, 12303, 9855, 14091, 2914, + 15289, 12303, 9855, 14091, 3300, + 15289, 12303, 9855, 14091, 6720, + 15289, 12303, 9855, 14091, 13004, + 15289, 12303, 9855, 15825, 6002, + 15289, 12303, 9855, 20951, 1644, + 15289, 12303, 11905, 2610, + 15289, 12303, 11905, 3076, + 15289, 12303, 11905, 3356, + 15289, 12303, 11905, 6756, + 15289, 12303, 11905, 6778, + 15289, 12303, 11905, 8780, + 15289, 12303, 11905, 10900, + 15289, 12303, 11905, 11978, + 15289, 12303, 11905, 13450, + 15289, 12303, 11905, 13736, + 15289, 12303, 14003, 1862, + 15289, 12303, 14003, 1888, + 15289, 12303, 14003, 1894, + 15289, 12303, 14003, 1908, + 15289, 12303, 14003, 1926, + 15289, 12303, 14003, 1944, + 15289, 12303, 14003, 1966, + 15289, 12303, 14003, 1982, + 15289, 12303, 14003, 2008, + 15289, 12303, 14003, 2026, + 15289, 12303, 14003, 2034, + 15289, 12303, 14003, 2044, + 15289, 12303, 14003, 7558, + 15289, 12303, 14003, 7566, + 15289, 12303, 14003, 7580, + 15289, 12303, 14003, 7582, + 15289, 12303, 14003, 7604, + 15289, 12303, 14003, 7608, + 15289, 12303, 14003, 7610, + 15289, 12303, 14003, 7614, + 15289, 12303, 14003, 7618, + 15289, 12303, 14003, 7620, + 15289, 12303, 14003, 7662, + 15289, 12303, 14003, 7664, + 15289, 12303, 14003, 7690, + 15289, 12303, 14003, 7692, + 15289, 12303, 14003, 7710, + 15289, 12303, 14003, 7712, + 15289, 12303, 15233, 3233, 17682, + 15289, 12303, 15233, 3233, 19784, + 15289, 12303, 15233, 10118, + 15289, 12303, 15233, 16503, 18310, + 15289, 12303, 15233, 18156, + 15289, 12303, 15233, 18310, + 15289, 12303, 15233, 19802, + 15289, 12303, 19015, 94, + 15289, 12303, 19015, 1020, + 15289, 12303, 19015, 1600, + 15289, 12303, 19015, 2090, + 15289, 12303, 19015, 2254, + 15289, 12303, 19015, 2404, + 15289, 12303, 19015, 2888, + 15289, 12303, 19015, 3450, + 15289, 12303, 19015, 3594, + 15289, 12303, 19015, 3682, + 15289, 12303, 19015, 6020, + 15289, 12303, 19015, 7180, + 15289, 12303, 19015, 7258, + 15289, 12303, 19015, 8826, + 15289, 12303, 19015, 8830, + 15289, 12303, 19015, 9354, + 15289, 12303, 19015, 12822, + 15289, 12303, 19015, 12998, + 15289, 12303, 19015, 13002, + 15289, 12303, 19015, 13244, + 15294, + 15306, + 15321, 10641, 5730, + 15321, 10641, 11581, 7118, + 15321, 10641, 14731, 12262, + 15321, 10641, 17059, 6718, + 15321, 11923, 18970, + 15321, 14395, 14558, + 15321, 17097, 5865, 12263, 317, 20554, + 15321, 18094, + 15325, 9854, + 15344, + 15346, + 15349, 17780, + 15349, 17781, 9175, 3357, 536, + 15357, 19914, + 15369, 1016, + 15369, 5977, 19589, 12562, + 15369, 16922, + 15374, + 15379, 7304, + 15379, 8320, + 15379, 8321, 6718, + 15380, + 15387, 11542, + 15388, + 15399, 15961, 20772, + 15407, 12274, + 15418, + 15419, 6718, + 15421, 1016, + 15421, 20266, + 15423, 421, 9854, + 15423, 423, 9854, + 15423, 1216, + 15423, 5721, 485, 7126, + 15423, 6752, + 15423, 7126, + 15423, 7127, 10641, 9217, 16065, 15119, 843, 9503, 16402, + 15423, 7127, 10641, 16403, 17270, + 15423, 11762, + 15423, 14623, 22851, 15074, + 15423, 15620, + 15423, 22851, 15074, + 15431, 14003, 9855, 8, + 15431, 14003, 9855, 16, + 15431, 14003, 9855, 28, + 15431, 14003, 9855, 40, + 15431, 14003, 9855, 72, + 15431, 14003, 9855, 94, + 15431, 14003, 9855, 176, + 15431, 14003, 9855, 214, + 15431, 14999, 0, + 15431, 14999, 106, + 15431, 14999, 124, + 15431, 14999, 148, + 15431, 14999, 244, + 15431, 14999, 266, + 15431, 14999, 336, + 15431, 14999, 350, + 15431, 14999, 384, + 15431, 14999, 416, + 15431, 14999, 448, + 15431, 14999, 522, + 15431, 14999, 572, + 15431, 14999, 588, + 15431, 14999, 622, + 15431, 14999, 694, + 15431, 14999, 734, + 15431, 14999, 2266, + 15431, 14999, 2420, + 15431, 14999, 2444, + 15431, 14999, 2556, + 15431, 14999, 8726, + 15431, 14999, 8976, + 15431, 15868, + 15431, 17179, 8320, + 15431, 19015, 9855, 14, + 15431, 19015, 9855, 26, + 15431, 19015, 9855, 34, + 15431, 19015, 9855, 456, + 15439, 7816, + 15439, 13340, + 15439, 15672, + 15442, + 15443, 11477, 671, 7816, + 15443, 11477, 671, 13340, + 15443, 11477, 6435, 7816, + 15443, 11477, 6435, 13340, + 15443, 11477, 7817, 670, + 15443, 11477, 7817, 6434, + 15443, 11477, 13341, 670, + 15443, 11477, 13341, 6434, + 15451, 17839, 17793, 13581, 6561, 11476, + 15451, 17839, 17793, 16389, 17838, + 15456, + 15459, 16168, + 15462, + 15488, + 15492, + 15496, + 15497, 17162, + 15498, + 15501, 13563, 8, + 15501, 13563, 12, + 15501, 13563, 22, + 15501, 13563, 28, + 15501, 16111, 2, + 15501, 16111, 8, + 15501, 16111, 10, + 15501, 16111, 14, + 15501, 16111, 16, + 15501, 16111, 22, + 15501, 16111, 24, + 15501, 16111, 30, + 15501, 16111, 34, + 15501, 18249, 213, 18392, + 15502, + 15507, 13239, 12682, + 15510, + 15514, + 15519, 1216, + 15533, 1740, + 15544, + 15551, 15560, + 15556, + 15558, + 15573, 12587, 19557, 8320, + 15573, 22867, 11447, 19557, 8320, + 15573, 23121, 11447, 19557, 8320, + 15573, 23265, 19557, 8320, + 15579, 6718, + 15581, 505, 3112, + 15587, 5730, + 15601, 16034, + 15602, + 15603, 3538, + 15605, 8853, 2638, + 15605, 13482, + 15605, 17715, 2638, + 15611, 12682, + 15621, 1, 9175, 24, + 15621, 5, 9175, 356, + 15621, 21, 2600, + 15621, 25, 2600, + 15621, 25, 9175, 36, + 15621, 25, 9175, 37, 17274, + 15621, 25, 11776, + 15621, 25, 17274, + 15621, 43, 9175, 24, + 15621, 78, + 15621, 94, + 15621, 118, + 15621, 126, + 15621, 128, + 15621, 138, + 15621, 139, 11776, + 15621, 139, 17274, + 15621, 140, + 15621, 148, + 15621, 150, + 15621, 160, + 15621, 162, + 15621, 164, + 15621, 165, 11776, + 15621, 165, 17274, + 15621, 216, + 15621, 234, + 15621, 246, + 15621, 264, + 15621, 266, + 15621, 272, + 15621, 284, + 15621, 290, + 15621, 316, + 15621, 330, + 15621, 350, + 15621, 352, + 15621, 356, + 15621, 360, + 15621, 362, + 15621, 364, + 15621, 365, 11776, + 15621, 365, 16110, + 15621, 365, 17274, + 15621, 368, + 15621, 372, + 15621, 374, + 15621, 398, + 15621, 400, + 15621, 410, + 15621, 416, + 15621, 418, + 15621, 419, 13562, + 15621, 426, + 15621, 432, + 15621, 434, + 15621, 435, 11776, + 15621, 435, 17274, + 15621, 438, + 15621, 441, 0, + 15621, 441, 10, + 15621, 441, 12, + 15621, 441, 22, + 15621, 441, 24, + 15621, 441, 36, + 15621, 441, 42, + 15621, 441, 44, + 15621, 442, + 15621, 443, 8360, + 15621, 444, + 15621, 445, 8360, + 15621, 448, + 15621, 454, + 15621, 464, + 15621, 470, + 15621, 474, + 15621, 476, + 15621, 512, + 15621, 522, + 15621, 523, 5266, + 15621, 524, + 15621, 530, + 15621, 534, + 15621, 538, + 15621, 542, + 15621, 544, + 15621, 548, + 15621, 550, + 15621, 606, + 15621, 614, + 15621, 696, + 15621, 896, + 15621, 1010, + 15621, 1014, + 15621, 1092, + 15621, 1311, 8597, 12688, + 15621, 1311, 8597, 14832, + 15621, 1311, 8597, 15676, + 15621, 1311, 8597, 17338, + 15621, 1312, + 15621, 1442, + 15621, 1502, + 15621, 1534, + 15621, 1678, + 15621, 1690, + 15621, 1924, + 15621, 1986, + 15621, 2160, + 15621, 2300, + 15621, 2310, + 15621, 2326, + 15621, 2338, + 15621, 2718, + 15621, 2870, + 15621, 2871, 9175, 36, + 15621, 2871, 9175, 37, 17274, + 15621, 3252, + 15621, 3288, + 15621, 3406, + 15621, 5218, + 15621, 5836, + 15621, 6368, + 15621, 6428, + 15621, 6772, + 15621, 6779, 16184, + 15621, 7034, + 15621, 7294, + 15621, 7434, + 15621, 7616, + 15621, 7674, + 15621, 7817, 9171, 969, 18386, + 15621, 8360, + 15621, 8446, + 15621, 8602, + 15621, 9164, + 15621, 9166, + 15621, 9230, + 15621, 9262, + 15621, 9480, + 15621, 9504, + 15621, 9520, + 15621, 10641, 3293, 7123, 11570, + 15621, 10641, 7817, 7123, 11570, + 15621, 10641, 12589, 7817, 17839, 7123, 11570, + 15621, 10641, 12589, 13341, 17839, 7123, 11570, + 15621, 10641, 13341, 7123, 11570, + 15621, 10641, 13889, 7817, 635, 12589, 13341, 6742, + 15621, 10641, 13889, 7817, 17839, 7123, 11570, + 15621, 10641, 13889, 13341, 635, 12589, 7817, 6742, + 15621, 10641, 13889, 13341, 17839, 7123, 11570, + 15621, 10641, 14393, 7123, 11570, + 15621, 10641, 17839, 19949, 6742, + 15621, 10641, 18847, 6742, + 15621, 10641, 19019, 16944, + 15621, 10641, 20181, 6742, + 15621, 10641, 20295, 19949, 6742, + 15621, 10830, + 15621, 11450, + 15621, 11544, + 15621, 11836, + 15621, 11970, + 15621, 12160, + 15621, 12162, + 15621, 12206, + 15621, 12256, + 15621, 12326, + 15621, 12338, + 15621, 12383, 484, + 15621, 12383, 485, 505, 2511, 12005, 634, + 15621, 12383, 485, 505, 12005, 634, + 15621, 12430, + 15621, 12450, + 15621, 12492, + 15621, 12648, + 15621, 12650, + 15621, 12978, + 15621, 13170, + 15621, 13206, + 15621, 13214, + 15621, 13252, + 15621, 13341, 9171, 969, 18386, + 15621, 13380, + 15621, 13444, + 15621, 13446, + 15621, 14034, + 15621, 14098, + 15621, 14100, + 15621, 14292, + 15621, 14320, + 15621, 14388, + 15621, 14804, + 15621, 14838, + 15621, 14852, + 15621, 14870, + 15621, 14956, + 15621, 14964, + 15621, 15076, + 15621, 15308, + 15621, 15338, + 15621, 15362, + 15621, 15694, + 15621, 16028, + 15621, 16442, + 15621, 16556, + 15621, 16558, + 15621, 16600, + 15621, 16732, + 15621, 16748, + 15621, 16766, + 15621, 16794, + 15621, 16796, + 15621, 16810, + 15621, 17128, + 15621, 17148, + 15621, 17150, + 15621, 17230, + 15621, 17708, + 15621, 18030, + 15621, 18147, 7286, + 15621, 18154, + 15621, 18391, 484, + 15621, 18391, 485, 505, 2511, 12005, 634, + 15621, 18391, 485, 505, 12005, 634, + 15621, 18406, + 15621, 18477, 19352, + 15621, 18532, + 15621, 18560, + 15621, 19306, + 15621, 19328, + 15621, 19388, + 15621, 19394, + 15621, 19442, + 15621, 19524, + 15621, 20208, + 15621, 20580, + 15621, 20758, + 15625, 485, 16716, + 15635, 18397, 14049, 9950, + 15647, 20236, + 15651, 484, + 15651, 485, 505, 12005, 634, + 15651, 485, 505, 12005, 635, 10641, 1217, 11392, + 15651, 485, 10641, 2511, 12005, 634, + 15651, 485, 11393, 2511, 12005, 634, + 15651, 485, 11393, 13759, 18386, + 15651, 485, 11393, 14281, 12005, 634, + 15651, 485, 11393, 14647, 9854, + 15651, 10641, 1216, + 15651, 10641, 9287, 9855, 11552, + 15651, 10641, 23111, 9855, 11552, + 15651, 11393, 15650, + 15651, 11393, 18688, + 15651, 11393, 20375, 11476, + 15661, 9175, 18956, + 15664, + 15671, 12807, 9855, 16482, + 15671, 12807, 9855, 17610, + 15671, 12807, 9855, 18006, + 15671, 12807, 14003, 9855, 0, + 15671, 12807, 14003, 9855, 8, + 15671, 12807, 14003, 9855, 16, + 15671, 12807, 14003, 9855, 40, + 15671, 12807, 14003, 9855, 498, + 15671, 12807, 14999, 0, + 15671, 12807, 14999, 8, + 15671, 12807, 14999, 16, + 15671, 12807, 14999, 28, + 15671, 12807, 14999, 40, + 15671, 12807, 14999, 116, + 15671, 12807, 14999, 140, + 15671, 12807, 14999, 166, + 15671, 12807, 14999, 258, + 15671, 12807, 14999, 282, + 15671, 12807, 14999, 342, + 15671, 12807, 14999, 366, + 15671, 12807, 14999, 402, + 15671, 12807, 14999, 436, + 15671, 12807, 14999, 468, + 15671, 12807, 14999, 540, + 15671, 12807, 14999, 580, + 15671, 12807, 14999, 602, + 15671, 12807, 14999, 634, + 15671, 12807, 14999, 938, + 15671, 12807, 14999, 1050, + 15671, 12807, 14999, 1148, + 15671, 12807, 14999, 1170, + 15671, 12807, 14999, 1498, + 15671, 12807, 14999, 1798, + 15671, 12807, 14999, 1920, + 15671, 12807, 14999, 2682, + 15671, 12807, 14999, 2960, + 15671, 12807, 14999, 3248, + 15671, 12807, 14999, 3330, + 15671, 12807, 14999, 6320, + 15671, 12807, 14999, 10270, + 15671, 12807, 15361, 15066, + 15671, 12807, 15361, 15068, + 15671, 12807, 15361, 15070, + 15671, 12807, 15361, 15072, + 15673, 1397, 1299, 485, 10132, + 15673, 1397, 1299, 485, 15094, + 15673, 1397, 1299, 485, 21258, + 15673, 1397, 1299, 485, 21259, 11578, + 15673, 1397, 5808, + 15673, 1397, 6289, 7859, 14648, + 15673, 1397, 6741, 19618, + 15673, 1397, 6777, 6728, + 15673, 1397, 7855, 6728, + 15673, 1397, 8924, + 15673, 1397, 10423, 19618, + 15673, 1397, 12241, 19618, + 15673, 1397, 12667, 16130, + 15673, 1397, 13491, 316, + 15673, 1397, 13491, 2632, + 15673, 1397, 13582, + 15673, 1397, 13617, 485, 10132, + 15673, 1397, 13617, 485, 16488, + 15673, 1397, 14428, + 15673, 1397, 14562, + 15673, 1397, 14563, 6777, 3356, + 15673, 1397, 14573, 16181, 2610, + 15673, 1397, 14573, 16181, 3356, + 15673, 1397, 14573, 16181, 6778, + 15673, 1397, 14573, 16181, 13736, + 15673, 1397, 14648, + 15673, 1397, 15429, 19618, + 15673, 1397, 16370, + 15673, 1397, 16854, + 15673, 1397, 17721, 15438, + 15673, 1397, 18349, 20518, + 15673, 1397, 18847, 20462, + 15673, 1397, 18924, + 15673, 1397, 19599, 15592, + 15673, 1397, 20181, 20462, + 15673, 1397, 20454, + 15673, 1397, 20455, 6777, 3356, + 15673, 1397, 20518, + 15673, 1397, 20941, 7418, + 15679, 1299, 485, 19512, + 15679, 3357, 18847, 6431, 11392, + 15679, 3357, 18847, 6431, 11552, + 15679, 11757, 15577, 7816, + 15679, 11757, 15577, 13340, + 15679, 12015, 11392, + 15679, 12015, 11552, + 15679, 12273, 11392, + 15679, 12273, 11552, + 15679, 12784, + 15679, 13321, 11392, + 15679, 13321, 11552, + 15679, 13382, + 15679, 13737, 6431, 11392, + 15679, 13737, 6431, 11552, + 15679, 14623, 14215, 15990, + 15679, 14623, 14215, 20180, + 15679, 14999, 8, + 15679, 14999, 270, + 15679, 14999, 528, + 15679, 14999, 2312, + 15679, 14999, 2536, + 15679, 14999, 3220, + 15679, 14999, 3532, + 15679, 14999, 5818, + 15679, 14999, 7156, + 15679, 14999, 7596, + 15679, 14999, 9350, + 15679, 14999, 9506, + 15679, 14999, 9776, + 15679, 14999, 10126, + 15679, 14999, 10127, 18100, + 15679, 14999, 10832, + 15679, 14999, 10833, 270, + 15679, 14999, 10890, + 15679, 14999, 11420, + 15679, 14999, 12085, 17182, + 15679, 14999, 12150, + 15679, 14999, 12151, 18100, + 15679, 14999, 13400, + 15679, 14999, 14544, + 15679, 14999, 14974, + 15679, 14999, 16279, 14545, 9506, + 15679, 14999, 17007, 11560, + 15679, 14999, 17007, 14772, + 15679, 14999, 17007, 16242, + 15679, 14999, 17182, + 15679, 14999, 17253, 226, + 15679, 14999, 17253, 12468, + 15679, 14999, 17253, 14198, + 15679, 14999, 18543, 528, + 15679, 14999, 20937, 11420, + 15679, 15397, 11392, + 15679, 15397, 11552, + 15679, 15397, 14622, + 15679, 15947, 11392, + 15679, 15947, 11552, + 15679, 15947, 14622, + 15679, 16040, + 15679, 16913, 7855, 11392, + 15679, 16913, 7855, 11552, + 15679, 18051, 1216, + 15679, 18131, 15238, + 15679, 18131, 19438, + 15679, 18131, 19894, + 15679, 18552, + 15679, 19558, + 15679, 19671, 6793, 9956, + 15679, 19671, 11756, + 15679, 19671, 11757, 15577, 7816, + 15679, 19671, 11757, 15577, 13340, + 15679, 20181, 11756, + 15679, 20574, + 15679, 20713, 14622, + 15679, 20939, 6793, 9956, + 15679, 20939, 11756, + 15679, 20939, 11757, 15577, 7816, + 15679, 20989, 8320, + 15691, 19371, 8320, + 15691, 21296, + 15691, 21298, + 15691, 21300, + 15691, 21302, + 15691, 21304, + 15691, 21306, + 15691, 21308, + 15691, 21310, + 15691, 21312, + 15691, 21314, + 15691, 21316, + 15691, 21318, + 15691, 21320, + 15691, 21322, + 15691, 21324, + 15691, 21326, + 15691, 21328, + 15691, 21330, + 15691, 21332, + 15691, 21334, + 15691, 21336, + 15691, 21338, + 15691, 21340, + 15691, 21342, + 15691, 21344, + 15691, 21346, + 15691, 21348, + 15691, 21350, + 15691, 21352, + 15691, 21354, + 15691, 21356, + 15691, 21358, + 15691, 21360, + 15691, 21362, + 15691, 21364, + 15691, 21366, + 15691, 21368, + 15691, 21370, + 15691, 21372, + 15691, 21374, + 15691, 21376, + 15691, 21378, + 15691, 21380, + 15691, 21382, + 15691, 21384, + 15691, 21386, + 15691, 21388, + 15691, 21390, + 15691, 21392, + 15691, 21394, + 15691, 21396, + 15691, 21398, + 15691, 21400, + 15691, 21402, + 15691, 21404, + 15691, 21406, + 15691, 21408, + 15691, 21410, + 15691, 21412, + 15691, 21414, + 15691, 21416, + 15691, 21418, + 15691, 21420, + 15691, 21422, + 15691, 21424, + 15691, 21426, + 15691, 21428, + 15691, 21430, + 15691, 21432, + 15691, 21434, + 15691, 21436, + 15691, 21438, + 15691, 21440, + 15691, 21442, + 15691, 21444, + 15691, 21446, + 15691, 21448, + 15691, 21450, + 15691, 21452, + 15691, 21454, + 15691, 21456, + 15691, 21458, + 15691, 21460, + 15691, 21462, + 15691, 21464, + 15691, 21466, + 15691, 21468, + 15691, 21470, + 15691, 21472, + 15691, 21474, + 15691, 21476, + 15691, 21478, + 15691, 21480, + 15691, 21482, + 15691, 21484, + 15691, 21486, + 15691, 21488, + 15691, 21490, + 15691, 21492, + 15691, 21494, + 15691, 21496, + 15691, 21498, + 15691, 21500, + 15691, 21502, + 15691, 21504, + 15691, 21506, + 15691, 21508, + 15691, 21510, + 15691, 21512, + 15691, 21514, + 15691, 21516, + 15691, 21518, + 15691, 21520, + 15691, 21522, + 15691, 21524, + 15691, 21526, + 15691, 21528, + 15691, 21530, + 15691, 21532, + 15691, 21534, + 15691, 21536, + 15691, 21538, + 15691, 21540, + 15691, 21542, + 15691, 21544, + 15691, 21546, + 15691, 21548, + 15691, 21550, + 15691, 21552, + 15691, 21554, + 15691, 21556, + 15691, 21558, + 15691, 21560, + 15691, 21562, + 15691, 21564, + 15691, 21566, + 15691, 21568, + 15691, 21570, + 15691, 21572, + 15691, 21574, + 15691, 21576, + 15691, 21578, + 15691, 21580, + 15691, 21582, + 15691, 21584, + 15691, 21586, + 15691, 21588, + 15691, 21590, + 15691, 21592, + 15691, 21594, + 15691, 21596, + 15691, 21598, + 15691, 21600, + 15691, 21602, + 15691, 21604, + 15691, 21606, + 15691, 21608, + 15691, 21610, + 15691, 21612, + 15691, 21614, + 15691, 21616, + 15691, 21618, + 15691, 21620, + 15691, 21622, + 15691, 21624, + 15691, 21626, + 15691, 21628, + 15691, 21630, + 15691, 21632, + 15691, 21634, + 15691, 21636, + 15691, 21638, + 15691, 21640, + 15691, 21642, + 15691, 21644, + 15691, 21646, + 15691, 21648, + 15691, 21650, + 15691, 21652, + 15691, 21654, + 15691, 21656, + 15691, 21658, + 15691, 21660, + 15691, 21662, + 15691, 21664, + 15691, 21666, + 15691, 21668, + 15691, 21670, + 15691, 21672, + 15691, 21674, + 15691, 21676, + 15691, 21678, + 15691, 21680, + 15691, 21682, + 15691, 21684, + 15691, 21686, + 15691, 21688, + 15691, 21690, + 15691, 21692, + 15691, 21694, + 15691, 21696, + 15691, 21698, + 15691, 21700, + 15691, 21702, + 15691, 21704, + 15691, 21706, + 15691, 21708, + 15691, 21710, + 15691, 21712, + 15691, 21714, + 15691, 21716, + 15691, 21718, + 15691, 21720, + 15691, 21722, + 15691, 21724, + 15691, 21726, + 15691, 21728, + 15691, 21730, + 15691, 21732, + 15691, 21734, + 15691, 21736, + 15691, 21738, + 15691, 21740, + 15691, 21742, + 15691, 21744, + 15691, 21746, + 15691, 21748, + 15691, 21750, + 15691, 21752, + 15691, 21754, + 15691, 21756, + 15691, 21758, + 15691, 21760, + 15691, 21762, + 15691, 21764, + 15691, 21766, + 15691, 21768, + 15691, 21770, + 15691, 21772, + 15691, 21774, + 15691, 21776, + 15691, 21778, + 15691, 21780, + 15691, 21782, + 15691, 21784, + 15691, 21786, + 15691, 21788, + 15691, 21790, + 15691, 21792, + 15691, 21794, + 15691, 21796, + 15691, 21798, + 15691, 21800, + 15691, 21802, + 15691, 21804, + 15691, 21806, + 15691, 21808, + 15691, 21810, + 15691, 21812, + 15691, 21814, + 15691, 21816, + 15691, 21818, + 15691, 21820, + 15691, 21822, + 15691, 21824, + 15691, 21826, + 15691, 21828, + 15691, 21830, + 15691, 21832, + 15691, 21834, + 15691, 21836, + 15691, 21838, + 15691, 21840, + 15691, 21842, + 15691, 21844, + 15691, 21846, + 15691, 21848, + 15691, 21850, + 15691, 21852, + 15691, 21854, + 15691, 21856, + 15691, 21858, + 15691, 21860, + 15691, 21862, + 15691, 21864, + 15691, 21866, + 15691, 21868, + 15691, 21870, + 15691, 21872, + 15691, 21874, + 15691, 21876, + 15691, 21878, + 15691, 21880, + 15691, 21882, + 15691, 21884, + 15691, 21886, + 15691, 21888, + 15691, 21890, + 15691, 21892, + 15691, 21894, + 15691, 21896, + 15691, 21898, + 15691, 21900, + 15691, 21902, + 15691, 21904, + 15691, 21906, + 15691, 21908, + 15691, 21910, + 15691, 21912, + 15691, 21914, + 15691, 21916, + 15691, 21918, + 15691, 21920, + 15691, 21922, + 15691, 21924, + 15691, 21926, + 15691, 21928, + 15691, 21930, + 15691, 21932, + 15691, 21934, + 15691, 21936, + 15691, 21938, + 15691, 21940, + 15691, 21942, + 15691, 21944, + 15691, 21946, + 15691, 21948, + 15691, 21950, + 15691, 21952, + 15691, 21954, + 15691, 21956, + 15691, 21958, + 15691, 21960, + 15691, 21962, + 15691, 21964, + 15691, 21966, + 15691, 21968, + 15691, 21970, + 15691, 21972, + 15691, 21974, + 15691, 21976, + 15691, 21978, + 15691, 21980, + 15691, 21982, + 15691, 21984, + 15691, 21986, + 15691, 21988, + 15691, 21990, + 15691, 21992, + 15691, 21994, + 15691, 21996, + 15691, 21998, + 15691, 22000, + 15691, 22002, + 15691, 22004, + 15691, 22006, + 15691, 22008, + 15691, 22010, + 15691, 22012, + 15691, 22014, + 15691, 22016, + 15691, 22018, + 15691, 22020, + 15691, 22022, + 15691, 22024, + 15691, 22026, + 15691, 22028, + 15691, 22030, + 15691, 22032, + 15691, 22034, + 15691, 22036, + 15691, 22038, + 15691, 22040, + 15691, 22042, + 15691, 22044, + 15691, 22046, + 15691, 22048, + 15691, 22050, + 15691, 22052, + 15691, 22054, + 15691, 22056, + 15691, 22058, + 15691, 22060, + 15691, 22062, + 15691, 22064, + 15691, 22066, + 15691, 22068, + 15691, 22070, + 15691, 22072, + 15691, 22074, + 15691, 22076, + 15691, 22078, + 15691, 22080, + 15691, 22082, + 15691, 22084, + 15691, 22086, + 15691, 22088, + 15691, 22090, + 15691, 22092, + 15691, 22094, + 15691, 22096, + 15691, 22098, + 15691, 22100, + 15691, 22102, + 15691, 22104, + 15691, 22106, + 15691, 22108, + 15691, 22110, + 15691, 22112, + 15691, 22114, + 15691, 22116, + 15691, 22118, + 15691, 22120, + 15691, 22122, + 15691, 22124, + 15691, 22126, + 15691, 22128, + 15691, 22130, + 15691, 22132, + 15691, 22134, + 15691, 22136, + 15691, 22138, + 15691, 22140, + 15691, 22142, + 15691, 22144, + 15691, 22146, + 15691, 22148, + 15691, 22150, + 15691, 22152, + 15691, 22154, + 15691, 22156, + 15691, 22158, + 15691, 22160, + 15691, 22162, + 15691, 22164, + 15691, 22166, + 15691, 22168, + 15691, 22170, + 15691, 22172, + 15691, 22174, + 15691, 22176, + 15691, 22178, + 15691, 22180, + 15691, 22182, + 15691, 22184, + 15691, 22186, + 15691, 22188, + 15691, 22190, + 15691, 22192, + 15691, 22194, + 15691, 22196, + 15691, 22198, + 15691, 22200, + 15691, 22202, + 15691, 22204, + 15691, 22206, + 15691, 22208, + 15691, 22210, + 15691, 22212, + 15691, 22214, + 15691, 22216, + 15691, 22218, + 15691, 22220, + 15691, 22222, + 15691, 22224, + 15691, 22226, + 15691, 22228, + 15691, 22230, + 15691, 22232, + 15691, 22234, + 15691, 22236, + 15691, 22238, + 15691, 22240, + 15691, 22242, + 15691, 22244, + 15691, 22246, + 15691, 22248, + 15691, 22250, + 15691, 22252, + 15691, 22254, + 15691, 22256, + 15691, 22258, + 15691, 22260, + 15691, 22262, + 15691, 22264, + 15691, 22266, + 15691, 22268, + 15691, 22270, + 15691, 22272, + 15691, 22274, + 15691, 22276, + 15691, 22278, + 15691, 22280, + 15691, 22282, + 15691, 22284, + 15691, 22286, + 15691, 22288, + 15691, 22290, + 15691, 22292, + 15691, 22294, + 15691, 22296, + 15691, 22298, + 15691, 22300, + 15691, 22302, + 15691, 22304, + 15691, 22306, + 15691, 22308, + 15691, 22310, + 15691, 22312, + 15691, 22314, + 15691, 22316, + 15691, 22318, + 15691, 22320, + 15691, 22322, + 15691, 22324, + 15691, 22326, + 15691, 22328, + 15691, 22330, + 15691, 22332, + 15691, 22334, + 15691, 22336, + 15691, 22338, + 15691, 22340, + 15691, 22342, + 15691, 22344, + 15691, 22346, + 15691, 22348, + 15691, 22350, + 15691, 22352, + 15691, 22354, + 15691, 22356, + 15691, 22358, + 15691, 22360, + 15691, 22362, + 15691, 22364, + 15691, 22366, + 15691, 22368, + 15691, 22370, + 15691, 22372, + 15691, 22374, + 15691, 22376, + 15691, 22378, + 15691, 22380, + 15691, 22382, + 15691, 22384, + 15691, 22386, + 15691, 22388, + 15691, 22390, + 15691, 22392, + 15691, 22394, + 15691, 22396, + 15691, 22398, + 15691, 22400, + 15691, 22402, + 15691, 22404, + 15691, 22406, + 15691, 22408, + 15691, 22410, + 15691, 22412, + 15691, 22414, + 15691, 22416, + 15691, 22418, + 15691, 22420, + 15691, 22422, + 15691, 22424, + 15691, 22426, + 15691, 22428, + 15691, 22430, + 15691, 22432, + 15691, 22434, + 15691, 22436, + 15691, 22438, + 15691, 22440, + 15691, 22442, + 15691, 22444, + 15691, 22446, + 15691, 22448, + 15691, 22450, + 15691, 22452, + 15691, 22454, + 15691, 22456, + 15691, 22458, + 15691, 22460, + 15691, 22462, + 15691, 22464, + 15691, 22466, + 15691, 22468, + 15691, 22470, + 15691, 22472, + 15691, 22474, + 15691, 22476, + 15691, 22478, + 15691, 22480, + 15691, 22482, + 15691, 22484, + 15691, 22486, + 15691, 22488, + 15691, 22490, + 15691, 22492, + 15691, 22494, + 15691, 22496, + 15691, 22498, + 15691, 22500, + 15691, 22502, + 15691, 22504, + 15691, 22506, + 15691, 22508, + 15691, 22510, + 15691, 22512, + 15691, 22514, + 15691, 22516, + 15691, 22518, + 15691, 22520, + 15691, 22522, + 15691, 22524, + 15691, 22526, + 15691, 22528, + 15691, 22530, + 15691, 22532, + 15691, 22534, + 15691, 22536, + 15691, 22538, + 15691, 22540, + 15691, 22542, + 15691, 22544, + 15691, 22546, + 15691, 22548, + 15691, 22550, + 15691, 22552, + 15691, 22554, + 15691, 22556, + 15691, 22558, + 15691, 22560, + 15691, 22562, + 15691, 22564, + 15691, 22566, + 15691, 22568, + 15691, 22570, + 15691, 22572, + 15691, 22574, + 15691, 22576, + 15691, 22578, + 15691, 22580, + 15691, 22582, + 15691, 22584, + 15691, 22586, + 15691, 22588, + 15691, 22590, + 15691, 22592, + 15691, 22594, + 15691, 22596, + 15691, 22598, + 15691, 22600, + 15691, 22602, + 15691, 22604, + 15691, 22606, + 15691, 22608, + 15691, 22610, + 15691, 22612, + 15691, 22614, + 15691, 22616, + 15691, 22618, + 15691, 22620, + 15691, 22622, + 15691, 22624, + 15691, 22626, + 15691, 22628, + 15691, 22630, + 15691, 22632, + 15691, 22634, + 15691, 22636, + 15691, 22638, + 15691, 22640, + 15691, 22642, + 15691, 22644, + 15691, 22646, + 15691, 22648, + 15691, 22650, + 15691, 22652, + 15691, 22654, + 15691, 22656, + 15691, 22658, + 15691, 22660, + 15691, 22662, + 15691, 22664, + 15691, 22666, + 15691, 22668, + 15691, 22670, + 15691, 22672, + 15691, 22674, + 15691, 22676, + 15691, 22678, + 15691, 22680, + 15691, 22682, + 15691, 22684, + 15691, 22686, + 15691, 22688, + 15691, 22690, + 15691, 22692, + 15691, 22694, + 15691, 22696, + 15691, 22698, + 15691, 22700, + 15691, 22702, + 15691, 22704, + 15691, 22706, + 15691, 22708, + 15691, 22710, + 15691, 22712, + 15691, 22714, + 15691, 22716, + 15691, 22718, + 15691, 22720, + 15691, 22722, + 15691, 22724, + 15691, 22726, + 15691, 22728, + 15691, 22730, + 15691, 22732, + 15691, 22734, + 15691, 22736, + 15691, 22738, + 15691, 22740, + 15691, 22742, + 15691, 22744, + 15691, 22746, + 15691, 22748, + 15691, 22750, + 15691, 22752, + 15691, 22754, + 15691, 22756, + 15691, 22758, + 15691, 22760, + 15691, 22762, + 15691, 22764, + 15691, 22766, + 15691, 22768, + 15691, 22770, + 15691, 22772, + 15691, 22774, + 15691, 22776, + 15691, 22778, + 15691, 22780, + 15691, 22782, + 15691, 22784, + 15691, 22786, + 15691, 22788, + 15691, 22790, + 15691, 22792, + 15691, 22794, + 15691, 22796, + 15691, 22798, + 15691, 22800, + 15691, 22802, + 15691, 22804, + 15700, + 15703, 17521, 14816, + 15713, 73, 14993, 8320, + 15713, 9855, 13858, + 15713, 9855, 15868, + 15713, 9855, 17486, + 15713, 9855, 17610, + 15713, 9855, 17652, + 15713, 9855, 19003, 20553, 11392, + 15713, 9855, 20552, + 15713, 11905, 2610, + 15713, 11905, 3076, + 15713, 11905, 3356, + 15713, 11905, 6756, + 15713, 11905, 6778, + 15713, 11905, 8780, + 15713, 11905, 10900, + 15713, 11905, 11978, + 15713, 11905, 13450, + 15713, 11905, 13736, + 15713, 14003, 9855, 8, + 15713, 14003, 9855, 16, + 15713, 14003, 9855, 28, + 15713, 14003, 9855, 40, + 15713, 14003, 9855, 58, + 15713, 14003, 9855, 72, + 15713, 14003, 9855, 94, + 15713, 14003, 9855, 184, + 15713, 14003, 9855, 308, + 15713, 14003, 9855, 498, + 15713, 14003, 9855, 676, + 15713, 14003, 9855, 17493, 22, + 15713, 14003, 9855, 17493, 34, + 15713, 14003, 9855, 17493, 396, + 15713, 14003, 9855, 17493, 582, + 15713, 14993, 8320, + 15713, 14999, 0, + 15713, 14999, 8, + 15713, 14999, 16, + 15713, 14999, 28, + 15713, 14999, 40, + 15713, 14999, 58, + 15713, 14999, 72, + 15713, 14999, 94, + 15713, 14999, 106, + 15713, 14999, 124, + 15713, 14999, 148, + 15713, 14999, 184, + 15713, 14999, 244, + 15713, 14999, 266, + 15713, 14999, 308, + 15713, 14999, 336, + 15713, 14999, 350, + 15713, 14999, 384, + 15713, 14999, 416, + 15713, 14999, 448, + 15713, 14999, 498, + 15713, 14999, 522, + 15713, 14999, 572, + 15713, 14999, 588, + 15713, 14999, 622, + 15713, 14999, 676, + 15713, 14999, 680, + 15713, 14999, 734, + 15713, 14999, 932, + 15713, 14999, 1044, + 15713, 14999, 1142, + 15713, 14999, 1164, + 15713, 14999, 1254, + 15713, 14999, 1492, + 15713, 14999, 1796, + 15713, 14999, 1914, + 15713, 14999, 2152, + 15713, 14999, 2444, + 15713, 14999, 2492, + 15713, 14999, 2556, + 15713, 14999, 2676, + 15713, 14999, 2956, + 15713, 14999, 3048, + 15713, 14999, 3114, + 15713, 14999, 3242, + 15713, 14999, 3308, + 15713, 14999, 3322, + 15713, 14999, 6314, + 15713, 14999, 7874, + 15713, 14999, 9542, + 15713, 14999, 10264, + 15713, 14999, 17493, 22, + 15713, 14999, 17493, 34, + 15713, 14999, 17493, 396, + 15713, 14999, 17493, 582, + 15713, 18089, 11905, 2611, 1397, 2591, 15385, 485, 6778, + 15713, 18089, 11905, 2611, 1397, 6603, 15385, 485, 6778, + 15713, 18089, 11905, 3357, 1397, 2591, 15385, 485, 6778, + 15713, 18089, 11905, 3357, 1397, 6603, 15385, 485, 6778, + 15713, 18089, 11905, 10901, 1397, 2591, 15385, 485, 6778, + 15713, 18089, 11905, 13737, 1397, 2591, 15385, 485, 6778, + 15713, 18089, 11905, 13737, 1397, 6603, 15385, 485, 6778, + 15717, 17089, 843, 5730, + 15727, 13642, + 15727, 14999, 634, + 15727, 14999, 760, + 15727, 14999, 882, + 15727, 14999, 1578, + 15727, 14999, 2386, + 15727, 14999, 2866, + 15727, 14999, 3648, + 15727, 14999, 3786, + 15727, 14999, 5238, + 15727, 14999, 7160, + 15727, 14999, 7630, + 15727, 14999, 10134, + 15727, 14999, 10258, + 15727, 14999, 11432, + 15727, 14999, 12060, + 15727, 14999, 12144, + 15727, 14999, 12428, + 15727, 14999, 12512, + 15727, 14999, 12686, + 15727, 14999, 12970, + 15727, 14999, 13272, + 15727, 14999, 13438, + 15727, 14999, 13972, + 15727, 14999, 14020, + 15727, 14999, 14538, + 15727, 14999, 14574, + 15727, 14999, 14770, + 15727, 14999, 15466, + 15727, 14999, 15534, + 15727, 14999, 15724, + 15727, 14999, 17818, + 15727, 14999, 18196, + 15727, 14999, 18440, + 15727, 14999, 18728, + 15727, 14999, 18870, + 15727, 14999, 18980, + 15727, 14999, 19292, + 15727, 14999, 19410, + 15727, 14999, 19626, + 15727, 15952, + 15727, 16352, + 15727, 16508, + 15727, 16914, + 15727, 17448, + 15727, 18874, + 15727, 19222, + 15727, 19248, + 15727, 19480, + 15727, 19486, + 15743, 671, 9854, + 15743, 6435, 9854, + 15746, + 15754, + 15758, + 15776, + 15781, 9286, + 15781, 11757, 18386, + 15781, 13260, + 15781, 13758, + 15781, 15167, 19408, + 15781, 15167, 21096, + 15781, 17255, 14381, 18524, + 15781, 18176, + 15781, 18847, 897, 10641, 20181, 15642, + 15781, 18847, 897, 13341, 19808, + 15781, 18847, 897, 14381, 18524, + 15781, 18847, 897, 19048, + 15781, 20181, 897, 10641, 14625, 18847, 15642, + 15781, 20181, 897, 10641, 15781, 18847, 15642, + 15788, + 15803, 9854, + 15806, + 15811, 491, 7127, 9854, + 15811, 2511, 9854, + 15811, 11446, + 15811, 11571, 13501, 13226, + 15811, 11571, 18446, + 15811, 11762, + 15811, 11905, 3356, + 15811, 11905, 13736, + 15811, 12237, 13563, 14999, 7438, + 15811, 12973, 6561, 18471, 7812, + 15811, 12973, 10629, 18471, 7812, + 15811, 13563, 10, + 15811, 13581, 6561, 18471, 7812, + 15811, 13581, 10629, 18471, 7812, + 15811, 14049, 13501, 13226, + 15811, 14542, + 15811, 16111, 10, + 15811, 18894, + 15811, 19614, + 15811, 20377, 16111, 12, + 15811, 20377, 16111, 22, + 15811, 20377, 16111, 48, + 15812, + 15819, 17045, 11571, 9950, + 15823, 6286, + 15848, + 15861, 505, 11773, 17074, + 15866, + 15875, 18176, + 15879, 18089, 2611, 7122, + 15879, 18089, 2611, 12078, + 15879, 18089, 2611, 12890, + 15879, 18089, 2611, 13536, + 15879, 18089, 2611, 13710, + 15879, 18089, 2611, 13728, + 15879, 18089, 2611, 14634, + 15879, 18089, 2611, 17086, + 15879, 18089, 2611, 17188, + 15879, 18089, 3357, 14692, + 15879, 18089, 3357, 15734, + 15879, 18089, 6757, 15574, + 15879, 18089, 6757, 16356, + 15879, 18089, 6779, 14692, + 15879, 18089, 10901, 15734, + 15879, 18089, 13451, 16356, + 15879, 18089, 13737, 14692, + 15879, 18089, 13737, 16356, + 15879, 18089, 13737, 18508, + 15881, 16441, 8461, 15672, + 15881, 17791, 8461, 15672, + 15883, 6081, 494, + 15883, 6081, 11905, 2610, + 15883, 6081, 11905, 3076, + 15883, 6081, 11905, 3356, + 15883, 6081, 11905, 6756, + 15883, 6081, 11905, 6778, + 15883, 6081, 11905, 8780, + 15883, 6081, 11905, 10900, + 15883, 6081, 11905, 11978, + 15883, 6081, 11905, 13450, + 15883, 6081, 11905, 13736, + 15883, 6081, 13563, 14999, 0, + 15883, 6081, 13563, 14999, 8, + 15883, 6081, 13563, 14999, 28, + 15883, 6081, 13563, 14999, 78, + 15883, 6081, 13563, 14999, 92, + 15883, 6081, 13563, 14999, 120, + 15883, 6081, 13563, 14999, 148, + 15883, 6081, 13563, 14999, 244, + 15883, 6081, 13563, 14999, 308, + 15883, 6081, 13563, 14999, 366, + 15883, 6081, 13563, 14999, 546, + 15883, 6081, 13563, 14999, 652, + 15883, 6081, 13563, 14999, 676, + 15883, 6081, 13563, 14999, 706, + 15883, 6081, 13563, 14999, 734, + 15883, 6081, 13563, 14999, 742, + 15883, 6081, 13563, 14999, 746, + 15883, 6081, 13563, 14999, 844, + 15883, 6081, 13563, 14999, 1302, + 15883, 6081, 13563, 14999, 1306, + 15883, 6081, 13563, 14999, 1596, + 15883, 6081, 13563, 14999, 2590, + 15883, 6081, 13563, 14999, 3068, + 15883, 6081, 13563, 14999, 3324, + 15883, 6081, 13563, 14999, 3744, + 15883, 6081, 13563, 14999, 7172, + 15883, 6081, 13563, 14999, 7290, + 15883, 6081, 13563, 14999, 7306, + 15883, 6081, 13563, 14999, 8702, + 15883, 6081, 13563, 14999, 8926, + 15883, 6081, 13563, 14999, 9936, + 15883, 6081, 13563, 14999, 10552, + 15883, 6081, 15233, 3232, + 15883, 6081, 15233, 12080, + 15883, 6081, 15233, 12108, + 15883, 6081, 15233, 13538, + 15883, 6081, 15233, 14636, + 15883, 6081, 15233, 15194, + 15883, 6081, 15233, 15736, + 15883, 6081, 15233, 15820, + 15883, 6081, 15233, 17190, + 15883, 6081, 16111, 14999, 0, + 15883, 6081, 16111, 14999, 8, + 15883, 6081, 16111, 14999, 28, + 15883, 6081, 16111, 14999, 78, + 15883, 6081, 16111, 14999, 92, + 15883, 6081, 16111, 14999, 120, + 15883, 6081, 16111, 14999, 148, + 15883, 6081, 16111, 14999, 244, + 15883, 6081, 16111, 14999, 308, + 15883, 6081, 16111, 14999, 366, + 15883, 6081, 16111, 14999, 546, + 15883, 6081, 16111, 14999, 652, + 15883, 6081, 16111, 14999, 676, + 15883, 6081, 16111, 14999, 706, + 15883, 6081, 16111, 14999, 734, + 15883, 6081, 16111, 14999, 742, + 15883, 6081, 16111, 14999, 746, + 15883, 6081, 16111, 14999, 844, + 15883, 6081, 16111, 14999, 1302, + 15883, 6081, 16111, 14999, 1306, + 15883, 6081, 16111, 14999, 1596, + 15883, 6081, 16111, 14999, 2590, + 15883, 6081, 16111, 14999, 3068, + 15883, 6081, 16111, 14999, 3324, + 15883, 6081, 16111, 14999, 3744, + 15883, 6081, 16111, 14999, 7172, + 15883, 6081, 16111, 14999, 7290, + 15883, 6081, 16111, 14999, 7306, + 15883, 6081, 16111, 14999, 8702, + 15883, 6081, 16111, 14999, 8926, + 15883, 6081, 16111, 14999, 9936, + 15883, 6081, 16111, 14999, 10552, + 15885, 7127, 9854, + 15885, 11571, 6758, + 15885, 14049, 6758, + 15887, 16441, 8461, 15672, + 15887, 17791, 8461, 15672, + 15891, 15004, + 15893, 18847, 7854, + 15895, 14726, + 15905, 1598, + 15905, 11588, + 15905, 15480, + 15905, 16164, + 15907, 15672, + 15911, 17074, + 15912, + 15921, 12274, + 15948, + 15959, 484, + 15967, 9854, + 15978, + 15986, + 15995, 10641, 5742, + 16019, 9854, + 16025, 14999, 0, + 16025, 14999, 8, + 16025, 14999, 16, + 16025, 14999, 28, + 16025, 14999, 40, + 16025, 14999, 58, + 16025, 14999, 66, + 16025, 14999, 80, + 16025, 14999, 82, + 16025, 14999, 110, + 16025, 14999, 130, + 16025, 14999, 154, + 16025, 14999, 184, + 16025, 14999, 226, + 16025, 14999, 248, + 16025, 14999, 270, + 16025, 14999, 308, + 16025, 14999, 338, + 16025, 14999, 354, + 16025, 14999, 388, + 16025, 14999, 424, + 16025, 14999, 452, + 16025, 14999, 498, + 16025, 14999, 528, + 16025, 14999, 574, + 16025, 14999, 592, + 16025, 14999, 626, + 16025, 14999, 676, + 16025, 14999, 682, + 16025, 14999, 720, + 16025, 14999, 736, + 16025, 14999, 754, + 16025, 14999, 780, + 16025, 14999, 782, + 16025, 14999, 804, + 16025, 14999, 934, + 16025, 14999, 1166, + 16025, 14999, 1484, + 16025, 14999, 1494, + 16025, 14999, 1654, + 16025, 14999, 2446, + 16025, 14999, 2494, + 16025, 14999, 2560, + 16025, 14999, 3050, + 16025, 14999, 3244, + 16025, 14999, 3324, + 16025, 14999, 3622, + 16025, 14999, 3632, + 16025, 14999, 3774, + 16025, 14999, 3814, + 16025, 14999, 8764, + 16025, 14999, 8766, + 16025, 14999, 9832, + 16025, 14999, 9916, + 16025, 20989, 8320, + 16026, + 16031, 11734, + 16034, + 16046, + 16048, + 16053, 12274, + 16054, + 16059, 5808, + 16061, 95, 14993, 8320, + 16061, 5272, + 16061, 9855, 13052, + 16061, 9855, 15868, + 16061, 9855, 17486, + 16061, 9855, 17610, + 16061, 9855, 17652, + 16061, 9855, 20552, + 16061, 11905, 2610, + 16061, 11905, 3076, + 16061, 11905, 3356, + 16061, 11905, 6756, + 16061, 11905, 6778, + 16061, 11905, 8780, + 16061, 11905, 10900, + 16061, 11905, 11978, + 16061, 11905, 13450, + 16061, 11905, 13736, + 16061, 12159, 8320, + 16061, 13379, 8320, + 16061, 13379, 9854, + 16061, 14003, 9855, 8, + 16061, 14003, 9855, 16, + 16061, 14003, 9855, 28, + 16061, 14003, 9855, 40, + 16061, 14003, 9855, 58, + 16061, 14003, 9855, 72, + 16061, 14003, 9855, 94, + 16061, 14003, 9855, 308, + 16061, 14003, 9855, 676, + 16061, 14003, 9855, 17493, 22, + 16061, 14003, 9855, 17493, 34, + 16061, 14003, 9855, 17493, 396, + 16061, 14003, 9855, 17493, 582, + 16061, 14880, + 16061, 14999, 0, + 16061, 14999, 8, + 16061, 14999, 16, + 16061, 14999, 28, + 16061, 14999, 40, + 16061, 14999, 58, + 16061, 14999, 72, + 16061, 14999, 94, + 16061, 14999, 106, + 16061, 14999, 124, + 16061, 14999, 148, + 16061, 14999, 244, + 16061, 14999, 266, + 16061, 14999, 308, + 16061, 14999, 336, + 16061, 14999, 350, + 16061, 14999, 384, + 16061, 14999, 416, + 16061, 14999, 448, + 16061, 14999, 522, + 16061, 14999, 572, + 16061, 14999, 573, 10641, 12589, 17838, + 16061, 14999, 573, 10641, 15119, 17838, + 16061, 14999, 588, + 16061, 14999, 622, + 16061, 14999, 676, + 16061, 14999, 734, + 16061, 14999, 932, + 16061, 14999, 1044, + 16061, 14999, 1142, + 16061, 14999, 1164, + 16061, 14999, 1492, + 16061, 14999, 1796, + 16061, 14999, 1914, + 16061, 14999, 2444, + 16061, 14999, 2492, + 16061, 14999, 2556, + 16061, 14999, 2676, + 16061, 14999, 2912, + 16061, 14999, 2956, + 16061, 14999, 3048, + 16061, 14999, 3114, + 16061, 14999, 3242, + 16061, 14999, 3322, + 16061, 14999, 3772, + 16061, 14999, 6314, + 16061, 14999, 10264, + 16061, 14999, 14929, 622, + 16061, 14999, 17493, 22, + 16061, 14999, 17493, 34, + 16061, 14999, 17493, 396, + 16061, 14999, 17493, 582, + 16061, 17803, 19479, 2610, + 16061, 17803, 19479, 2611, 7821, 10145, 3245, 20596, + 16061, 17803, 19479, 3356, + 16061, 17803, 19479, 6778, + 16061, 17803, 19479, 13736, + 16061, 17803, 20597, 17232, + 16063, 9502, + 16063, 9503, 10641, 14486, + 16064, + 16066, + 16076, + 16084, + 16085, 485, 16410, + 16086, + 16091, 16989, 11574, + 16091, 16989, 14606, + 16091, 16989, 14608, + 16091, 16989, 14610, + 16091, 16989, 14612, + 16091, 16989, 14614, + 16091, 16989, 14616, + 16091, 16989, 14618, + 16091, 16989, 14620, + 16091, 16989, 16280, + 16091, 16989, 16282, + 16091, 16989, 16284, + 16091, 16989, 16286, + 16091, 16989, 16288, + 16091, 16989, 16290, + 16091, 16989, 16292, + 16091, 16989, 16294, + 16091, 16989, 16296, + 16091, 16989, 16298, + 16091, 16989, 16300, + 16091, 16989, 16302, + 16091, 16989, 16304, + 16091, 16989, 16306, + 16091, 16989, 16308, + 16091, 16989, 16310, + 16091, 16989, 16312, + 16091, 16989, 16314, + 16091, 16989, 16316, + 16091, 16989, 16318, + 16091, 16989, 16320, + 16091, 16989, 16322, + 16091, 16989, 16324, + 16091, 16989, 16326, + 16091, 16989, 16328, + 16091, 16989, 16330, + 16091, 16989, 16332, + 16091, 16989, 16334, + 16091, 16989, 17870, + 16091, 16989, 17872, + 16091, 16989, 17874, + 16091, 16989, 17876, + 16091, 16989, 17878, + 16091, 16989, 17880, + 16091, 16989, 17882, + 16091, 16989, 17884, + 16091, 16989, 17886, + 16091, 16989, 17888, + 16091, 16989, 17890, + 16091, 16989, 17892, + 16091, 16989, 17894, + 16091, 16989, 17896, + 16091, 16989, 17898, + 16091, 16989, 17900, + 16091, 16989, 17902, + 16091, 16989, 17904, + 16091, 16989, 17906, + 16091, 16989, 17908, + 16091, 16989, 17910, + 16091, 16989, 17912, + 16091, 16989, 17914, + 16091, 16989, 17916, + 16091, 16989, 17918, + 16091, 16989, 17920, + 16091, 16989, 17922, + 16091, 16989, 17924, + 16091, 16989, 17926, + 16091, 16989, 17928, + 16091, 16989, 17930, + 16091, 16989, 17932, + 16091, 16989, 17934, + 16091, 16989, 17936, + 16091, 16989, 17938, + 16091, 16989, 17940, + 16091, 16989, 17942, + 16091, 16989, 17944, + 16091, 16989, 17946, + 16091, 16989, 17948, + 16091, 16989, 17950, + 16091, 16989, 17952, + 16091, 16989, 17954, + 16091, 16989, 17956, + 16091, 16989, 17958, + 16091, 16989, 17960, + 16091, 16989, 17962, + 16091, 16989, 17964, + 16091, 16989, 17966, + 16091, 16989, 17968, + 16091, 16989, 17970, + 16091, 16989, 17972, + 16091, 16989, 17974, + 16091, 16989, 17976, + 16091, 16989, 17978, + 16091, 16989, 17980, + 16091, 16989, 19074, + 16091, 16989, 19076, + 16091, 16989, 19078, + 16091, 16989, 19080, + 16091, 16989, 19082, + 16091, 16989, 19084, + 16091, 16989, 19086, + 16091, 16989, 19088, + 16091, 16989, 19090, + 16091, 16989, 19092, + 16091, 16989, 19094, + 16091, 16989, 19096, + 16091, 16989, 19098, + 16091, 16989, 19100, + 16091, 16989, 19102, + 16091, 16989, 19104, + 16091, 16989, 19106, + 16091, 16989, 19108, + 16091, 16989, 19110, + 16091, 16989, 19112, + 16091, 16989, 19114, + 16091, 16989, 19116, + 16091, 16989, 19118, + 16091, 16989, 19120, + 16091, 16989, 19122, + 16091, 16989, 19124, + 16091, 16989, 19126, + 16091, 16989, 19128, + 16091, 16989, 19130, + 16091, 16989, 19132, + 16091, 16989, 19134, + 16091, 16989, 19136, + 16091, 16989, 19138, + 16091, 16989, 19140, + 16091, 16989, 19142, + 16091, 16989, 19144, + 16091, 16989, 19146, + 16091, 16989, 19148, + 16091, 16989, 19150, + 16091, 16989, 19152, + 16091, 16989, 19154, + 16091, 16989, 19156, + 16091, 16989, 19158, + 16091, 16989, 19160, + 16091, 16989, 19162, + 16091, 16989, 19164, + 16091, 16989, 19166, + 16091, 16989, 19168, + 16091, 16989, 19170, + 16091, 16989, 19172, + 16091, 16989, 19174, + 16091, 16989, 19176, + 16091, 16989, 19178, + 16091, 16989, 19180, + 16091, 16989, 19182, + 16091, 16989, 19184, + 16091, 16989, 19186, + 16091, 16989, 19188, + 16091, 16989, 19190, + 16091, 16989, 19192, + 16091, 16989, 19194, + 16091, 16989, 19196, + 16091, 16989, 19198, + 16091, 16989, 19200, + 16091, 16989, 19202, + 16091, 16989, 19204, + 16091, 16989, 19206, + 16091, 16989, 19208, + 16091, 16989, 19210, + 16091, 16989, 19212, + 16091, 16989, 19986, + 16091, 16989, 19988, + 16091, 16989, 19990, + 16091, 16989, 19992, + 16091, 16989, 19994, + 16091, 16989, 19996, + 16091, 16989, 19998, + 16091, 16989, 20000, + 16091, 16989, 20002, + 16091, 16989, 20004, + 16091, 16989, 20006, + 16091, 16989, 20008, + 16091, 16989, 20010, + 16091, 16989, 20012, + 16091, 16989, 20014, + 16091, 16989, 20016, + 16091, 16989, 20018, + 16091, 16989, 20020, + 16091, 16989, 20022, + 16091, 16989, 20024, + 16091, 16989, 20026, + 16091, 16989, 20028, + 16091, 16989, 20030, + 16091, 16989, 20032, + 16091, 16989, 20034, + 16091, 16989, 20036, + 16091, 16989, 20038, + 16091, 16989, 20040, + 16091, 16989, 20042, + 16091, 16989, 20044, + 16091, 16989, 20046, + 16091, 16989, 20048, + 16091, 16989, 20050, + 16091, 16989, 20052, + 16091, 16989, 20054, + 16091, 16989, 20056, + 16091, 16989, 20058, + 16091, 16989, 20060, + 16091, 16989, 20062, + 16091, 16989, 20064, + 16091, 16989, 20066, + 16091, 16989, 20068, + 16091, 16989, 20070, + 16091, 16989, 20072, + 16091, 16989, 20074, + 16091, 16989, 20076, + 16091, 16989, 20078, + 16091, 16989, 20080, + 16091, 16989, 20082, + 16091, 16989, 20084, + 16091, 16989, 20086, + 16091, 16989, 20088, + 16091, 16989, 20090, + 16091, 16989, 20092, + 16091, 16989, 20094, + 16091, 16989, 20096, + 16091, 16989, 20614, + 16091, 16989, 20616, + 16091, 16989, 20618, + 16091, 16989, 20620, + 16091, 16989, 20622, + 16091, 16989, 20624, + 16091, 16989, 20626, + 16091, 16989, 20628, + 16091, 16989, 20630, + 16091, 16989, 20632, + 16091, 16989, 20634, + 16091, 16989, 20636, + 16091, 16989, 20638, + 16091, 16989, 20640, + 16091, 16989, 20642, + 16091, 16989, 20644, + 16091, 16989, 20646, + 16091, 16989, 20648, + 16091, 16989, 20650, + 16091, 16989, 20652, + 16091, 16989, 20654, + 16091, 16989, 20656, + 16091, 16989, 20658, + 16091, 16989, 20660, + 16091, 16989, 20662, + 16091, 16989, 20664, + 16091, 16989, 20666, + 16091, 16989, 20668, + 16091, 16989, 21062, + 16091, 16989, 21064, + 16091, 16989, 21066, + 16091, 16989, 21068, + 16091, 16989, 21070, + 16091, 16989, 21072, + 16091, 16989, 21074, + 16091, 16989, 21076, + 16091, 16989, 22816, + 16100, + 16108, + 16117, 9854, + 16120, + 16135, 11584, + 16140, + 16153, 46, + 16153, 128, + 16153, 716, + 16153, 1217, 18386, + 16153, 5853, 46, + 16153, 6286, + 16153, 9171, 14455, 11979, 17045, 9950, + 16153, 9286, + 16153, 9503, 18386, + 16153, 11773, 15372, + 16153, 11905, 2610, + 16153, 11905, 3076, + 16153, 11905, 3356, + 16153, 11905, 6756, + 16153, 11905, 6778, + 16153, 11905, 8780, + 16153, 11905, 10900, + 16153, 11905, 11978, + 16153, 11905, 13450, + 16153, 11905, 13736, + 16153, 12277, 14049, 20375, 11476, + 16153, 12541, 13563, 14999, 0, + 16153, 12541, 13563, 14999, 2, + 16153, 12541, 13563, 14999, 4, + 16153, 12541, 13563, 14999, 6, + 16153, 12541, 13563, 14999, 8, + 16153, 12541, 13563, 14999, 10, + 16153, 12541, 13563, 14999, 12, + 16153, 12541, 13563, 14999, 14, + 16153, 12541, 13563, 14999, 16, + 16153, 12541, 13563, 14999, 18, + 16153, 12541, 13563, 14999, 20, + 16153, 12541, 13563, 14999, 22, + 16153, 12541, 13563, 14999, 24, + 16153, 12541, 13563, 14999, 26, + 16153, 12541, 13563, 14999, 28, + 16153, 12541, 13563, 14999, 30, + 16153, 12541, 13563, 14999, 32, + 16153, 12541, 13563, 14999, 34, + 16153, 12541, 13563, 14999, 36, + 16153, 12541, 13563, 14999, 38, + 16153, 12541, 13563, 14999, 40, + 16153, 12541, 13563, 14999, 42, + 16153, 12541, 13563, 14999, 44, + 16153, 12541, 13563, 14999, 46, + 16153, 12541, 13563, 14999, 48, + 16153, 12541, 13563, 14999, 50, + 16153, 12541, 16111, 14999, 0, + 16153, 12541, 16111, 14999, 2, + 16153, 12541, 16111, 14999, 4, + 16153, 12541, 16111, 14999, 6, + 16153, 12541, 16111, 14999, 8, + 16153, 12541, 16111, 14999, 10, + 16153, 12541, 16111, 14999, 12, + 16153, 12541, 16111, 14999, 14, + 16153, 12541, 16111, 14999, 16, + 16153, 12541, 16111, 14999, 18, + 16153, 12541, 16111, 14999, 20, + 16153, 12541, 16111, 14999, 22, + 16153, 12541, 16111, 14999, 24, + 16153, 12541, 16111, 14999, 26, + 16153, 12541, 16111, 14999, 28, + 16153, 12541, 16111, 14999, 30, + 16153, 12541, 16111, 14999, 32, + 16153, 12541, 16111, 14999, 34, + 16153, 12541, 16111, 14999, 36, + 16153, 12541, 16111, 14999, 38, + 16153, 12541, 16111, 14999, 40, + 16153, 12541, 16111, 14999, 42, + 16153, 12541, 16111, 14999, 44, + 16153, 12541, 16111, 14999, 46, + 16153, 12541, 16111, 14999, 48, + 16153, 12541, 16111, 14999, 50, + 16153, 12740, + 16153, 13764, + 16153, 14049, 9950, + 16153, 14049, 14418, + 16153, 14418, + 16153, 14646, + 16153, 14819, 9866, + 16153, 14819, 9867, 0, + 16153, 14819, 11732, + 16153, 14819, 11733, 0, + 16153, 14819, 12280, + 16153, 14819, 12281, 0, + 16153, 14819, 12376, + 16153, 14819, 12377, 0, + 16153, 14819, 12377, 40, + 16153, 14819, 12732, + 16153, 14819, 12733, 0, + 16153, 14819, 12886, + 16153, 14819, 12887, 0, + 16153, 14819, 13232, + 16153, 14819, 13233, 0, + 16153, 14819, 13336, + 16153, 14819, 13337, 0, + 16153, 14819, 14944, + 16153, 14819, 14945, 0, + 16153, 14819, 15748, + 16153, 14819, 15749, 0, + 16153, 14819, 16142, + 16153, 14819, 16143, 0, + 16153, 14819, 16576, + 16153, 14819, 16577, 0, + 16153, 14819, 17024, + 16153, 14819, 17025, 0, + 16153, 14819, 17362, + 16153, 14819, 17363, 0, + 16153, 14883, 12541, 16111, 14999, 4, + 16153, 14883, 12541, 16111, 14999, 34, + 16153, 14955, 18979, 12424, + 16153, 14955, 18979, 14462, + 16153, 15233, 3232, + 16153, 15233, 3233, 497, 11571, 15620, + 16153, 15233, 12080, + 16153, 15233, 12081, 497, 11571, 15620, + 16153, 15233, 12108, + 16153, 15233, 12109, 497, 11571, 15620, + 16153, 15233, 12109, 2610, + 16153, 15233, 12109, 3076, + 16153, 15233, 12109, 3356, + 16153, 15233, 12109, 6756, + 16153, 15233, 12109, 6778, + 16153, 15233, 12109, 8780, + 16153, 15233, 12109, 11978, + 16153, 15233, 12109, 13450, + 16153, 15233, 12109, 13736, + 16153, 15233, 13539, 497, 11571, 15620, + 16153, 15233, 14637, 497, 11571, 15620, + 16153, 15233, 14638, + 16153, 15233, 15736, + 16153, 15233, 15737, 497, 11571, 15620, + 16153, 15233, 15737, 2610, + 16153, 15233, 15737, 3076, + 16153, 15233, 15737, 3356, + 16153, 15233, 15737, 6756, + 16153, 15233, 15737, 6778, + 16153, 15233, 15737, 8780, + 16153, 15233, 15737, 11978, + 16153, 15233, 15737, 13450, + 16153, 15233, 15737, 13736, + 16153, 15233, 15818, + 16153, 15233, 15820, + 16153, 15233, 15821, 497, 11571, 15620, + 16153, 15233, 15821, 2610, + 16153, 15233, 15821, 3076, + 16153, 15233, 15821, 3356, + 16153, 15233, 15821, 6756, + 16153, 15233, 15821, 6778, + 16153, 15233, 15821, 8780, + 16153, 15233, 15821, 11978, + 16153, 15233, 15821, 13450, + 16153, 15233, 15821, 13736, + 16153, 15233, 16400, + 16153, 15233, 17191, 497, 11571, 15620, + 16153, 15233, 17232, + 16153, 15233, 18010, + 16153, 15233, 18086, + 16153, 15233, 18362, + 16153, 15233, 18742, + 16153, 15233, 19622, + 16153, 15379, 8320, + 16153, 17123, 17254, + 16153, 17643, 18386, + 16153, 17793, 12532, + 16153, 17865, 9854, + 16153, 17865, 13546, + 16153, 18209, 0, + 16153, 18209, 8, + 16153, 18209, 16, + 16153, 18209, 28, + 16153, 18209, 40, + 16153, 18209, 266, + 16153, 18209, 270, + 16153, 18209, 274, + 16153, 18209, 282, + 16153, 18209, 286, + 16153, 18209, 350, + 16153, 18209, 354, + 16153, 18209, 358, + 16153, 18209, 366, + 16153, 18209, 370, + 16153, 18209, 416, + 16153, 18209, 424, + 16153, 18209, 430, + 16153, 18209, 436, + 16153, 18209, 440, + 16153, 18209, 448, + 16153, 18209, 452, + 16153, 18209, 460, + 16153, 18209, 468, + 16153, 18209, 472, + 16153, 18209, 572, + 16153, 18209, 574, + 16153, 18209, 578, + 16153, 18209, 580, + 16153, 18209, 584, + 16153, 18209, 588, + 16153, 18209, 592, + 16153, 18209, 598, + 16153, 18209, 602, + 16153, 18209, 612, + 16153, 18209, 622, + 16153, 18209, 626, + 16153, 18209, 630, + 16153, 18209, 634, + 16153, 18209, 642, + 16153, 18209, 694, + 16153, 18209, 700, + 16153, 18209, 706, + 16153, 18209, 710, + 16153, 18209, 734, + 16153, 18209, 742, + 16153, 18209, 746, + 16153, 18430, + 16153, 18775, 6434, + 16153, 18847, 896, + 16153, 19341, 2174, + 16153, 19341, 2610, + 16153, 19341, 3076, + 16153, 19341, 3136, + 16153, 19341, 3232, + 16153, 19341, 3356, + 16153, 19341, 6102, + 16153, 19341, 6746, + 16153, 19341, 6756, + 16153, 19341, 6778, + 16153, 19341, 7134, + 16153, 19341, 7170, + 16153, 19341, 7446, + 16153, 19341, 7694, + 16153, 19341, 7816, + 16153, 19341, 8314, + 16153, 19341, 8460, + 16153, 19341, 8596, + 16153, 19341, 8780, + 16153, 19341, 9488, + 16153, 19341, 10644, + 16153, 19341, 11968, + 16153, 19341, 11978, + 16153, 19341, 12518, + 16153, 19341, 12700, + 16153, 19341, 12888, + 16153, 19341, 13262, + 16153, 19341, 13340, + 16153, 19341, 13450, + 16153, 19341, 13626, + 16153, 19341, 13634, + 16153, 19341, 13736, + 16153, 19341, 14032, + 16153, 19341, 14264, + 16153, 19341, 14454, + 16153, 19341, 14684, + 16153, 19341, 15496, + 16153, 19341, 15508, + 16153, 19341, 16188, + 16153, 19341, 17250, + 16153, 19341, 17264, + 16153, 19341, 17596, + 16153, 19341, 18298, + 16153, 19341, 18510, + 16153, 19341, 18528, + 16153, 19341, 18536, + 16153, 19341, 18686, + 16153, 19341, 18884, + 16153, 19341, 18916, + 16153, 19341, 19240, + 16153, 19341, 19258, + 16153, 19341, 19680, + 16153, 19341, 20116, + 16153, 19341, 21128, + 16153, 19341, 22978, + 16153, 19408, + 16153, 20181, 897, 10641, 12974, + 16153, 20743, 15592, + 16153, 21096, + 16153, 22894, + 16153, 23111, 9855, 10641, 19921, 14262, + 16153, 23549, 17865, 9854, + 16157, 11584, + 16173, 13688, + 16179, 18176, + 16181, 12486, + 16182, + 16195, 899, 843, 5730, + 16197, 12088, + 16197, 15668, + 16197, 18349, 17275, 12541, 16111, 14999, 30, + 16199, 5730, + 16206, + 16208, + 16212, + 16217, 18697, 0, + 16217, 18697, 8, + 16217, 18697, 16, + 16217, 18697, 28, + 16217, 18697, 40, + 16217, 18697, 336, + 16217, 18697, 342, + 16217, 18697, 350, + 16217, 18697, 354, + 16217, 18697, 358, + 16217, 18697, 366, + 16217, 18697, 370, + 16217, 18697, 384, + 16217, 18697, 388, + 16217, 18697, 392, + 16217, 18697, 402, + 16217, 18697, 406, + 16217, 18697, 416, + 16217, 18697, 424, + 16217, 18697, 430, + 16217, 18697, 436, + 16217, 18697, 440, + 16217, 18697, 448, + 16217, 18697, 452, + 16217, 18697, 460, + 16217, 18697, 468, + 16217, 18697, 472, + 16217, 18697, 522, + 16217, 18697, 528, + 16217, 18697, 536, + 16217, 18697, 540, + 16217, 18697, 546, + 16217, 18697, 572, + 16217, 18697, 574, + 16217, 18697, 578, + 16217, 18697, 580, + 16217, 18697, 584, + 16217, 18697, 588, + 16217, 18697, 592, + 16217, 18697, 598, + 16217, 18697, 602, + 16217, 18697, 612, + 16217, 18697, 622, + 16217, 18697, 626, + 16217, 18697, 630, + 16217, 18697, 634, + 16217, 18697, 642, + 16217, 18697, 694, + 16217, 18697, 700, + 16217, 18697, 706, + 16217, 18697, 710, + 16217, 18697, 718, + 16217, 18697, 720, + 16217, 18697, 752, + 16217, 18697, 760, + 16233, 18041, 15672, + 16233, 19619, 1913, 15672, + 16239, 13563, 14999, 14, + 16239, 13563, 14999, 102, + 16239, 13563, 14999, 186, + 16239, 13563, 14999, 198, + 16239, 13563, 14999, 200, + 16239, 13563, 14999, 202, + 16239, 13563, 14999, 208, + 16239, 13563, 14999, 210, + 16239, 13563, 14999, 218, + 16239, 13563, 14999, 488, + 16239, 13563, 14999, 514, + 16239, 13563, 14999, 712, + 16239, 13563, 14999, 918, + 16239, 13563, 14999, 1152, + 16239, 13563, 14999, 1300, + 16239, 13563, 14999, 1318, + 16239, 13563, 14999, 1328, + 16239, 13563, 14999, 1456, + 16239, 13563, 14999, 1788, + 16239, 13563, 14999, 1892, + 16239, 13563, 14999, 2664, + 16239, 13563, 14999, 3226, + 16239, 13563, 14999, 3456, + 16239, 13563, 14999, 3694, + 16239, 13563, 14999, 3804, + 16239, 13563, 14999, 6024, + 16239, 13563, 14999, 7883, 0, + 16239, 13563, 14999, 7883, 8, + 16239, 13563, 14999, 7883, 16, + 16239, 13563, 14999, 7883, 28, + 16239, 13563, 14999, 7883, 70, + 16239, 13563, 14999, 7883, 498, + 16239, 13563, 14999, 10150, + 16239, 13563, 14999, 10914, + 16239, 13563, 14999, 13507, 0, + 16239, 13563, 14999, 13507, 8, + 16239, 13563, 14999, 13507, 16, + 16239, 13563, 14999, 13507, 28, + 16239, 13563, 14999, 13507, 70, + 16239, 13563, 14999, 13507, 498, + 16239, 16111, 14999, 14, + 16239, 16111, 14999, 102, + 16239, 16111, 14999, 186, + 16239, 16111, 14999, 198, + 16239, 16111, 14999, 200, + 16239, 16111, 14999, 202, + 16239, 16111, 14999, 208, + 16239, 16111, 14999, 210, + 16239, 16111, 14999, 218, + 16239, 16111, 14999, 488, + 16239, 16111, 14999, 514, + 16239, 16111, 14999, 712, + 16239, 16111, 14999, 918, + 16239, 16111, 14999, 1152, + 16239, 16111, 14999, 1300, + 16239, 16111, 14999, 1318, + 16239, 16111, 14999, 1328, + 16239, 16111, 14999, 1456, + 16239, 16111, 14999, 1788, + 16239, 16111, 14999, 1892, + 16239, 16111, 14999, 2664, + 16239, 16111, 14999, 3226, + 16239, 16111, 14999, 3456, + 16239, 16111, 14999, 3694, + 16239, 16111, 14999, 3804, + 16239, 16111, 14999, 6024, + 16239, 16111, 14999, 7883, 0, + 16239, 16111, 14999, 7883, 8, + 16239, 16111, 14999, 7883, 16, + 16239, 16111, 14999, 7883, 28, + 16239, 16111, 14999, 7883, 70, + 16239, 16111, 14999, 7883, 498, + 16239, 16111, 14999, 10150, + 16239, 16111, 14999, 10914, + 16239, 16111, 14999, 13507, 0, + 16239, 16111, 14999, 13507, 8, + 16239, 16111, 14999, 13507, 16, + 16239, 16111, 14999, 13507, 28, + 16239, 16111, 14999, 13507, 70, + 16239, 16111, 14999, 13507, 498, + 16241, 15896, + 16241, 17772, + 16249, 10641, 3293, 7123, 11570, + 16249, 10641, 7817, 7123, 11570, + 16249, 10641, 13341, 7123, 11570, + 16249, 10641, 14393, 7123, 11570, + 16249, 13461, 10641, 1, 1217, 14874, + 16249, 15694, + 16249, 18386, + 16261, 16153, 20377, 11905, 2610, + 16261, 16153, 20377, 11905, 3076, + 16261, 16153, 20377, 11905, 3356, + 16261, 16153, 20377, 11905, 6756, + 16261, 16153, 20377, 11905, 6778, + 16261, 16153, 20377, 11905, 8780, + 16261, 16153, 20377, 11905, 10900, + 16261, 16153, 20377, 11905, 11978, + 16261, 16153, 20377, 11905, 13450, + 16261, 16153, 20377, 11905, 13736, + 16261, 16153, 20377, 15233, 3232, + 16261, 18349, 16153, 11905, 2610, + 16261, 18349, 16153, 11905, 3076, + 16261, 18349, 16153, 11905, 3356, + 16261, 18349, 16153, 11905, 6756, + 16261, 18349, 16153, 11905, 6778, + 16261, 18349, 16153, 11905, 8780, + 16261, 18349, 16153, 11905, 11978, + 16261, 18349, 16153, 11905, 13450, + 16261, 18349, 16153, 11905, 13736, + 16261, 18349, 16153, 15233, 3232, + 16261, 18349, 16153, 20377, 11905, 2610, + 16261, 18349, 16153, 20377, 11905, 3076, + 16261, 18349, 16153, 20377, 11905, 3356, + 16261, 18349, 16153, 20377, 11905, 6756, + 16261, 18349, 16153, 20377, 11905, 6778, + 16261, 18349, 16153, 20377, 11905, 8780, + 16261, 18349, 16153, 20377, 11905, 10900, + 16261, 18349, 16153, 20377, 11905, 11978, + 16261, 18349, 16153, 20377, 11905, 13450, + 16261, 18349, 16153, 20377, 11905, 13736, + 16261, 18349, 16153, 20377, 15233, 3232, + 16272, + 16275, 15672, + 16276, + 16337, 8315, 9854, + 16337, 14685, 9854, + 16339, 9854, + 16340, + 16363, 14999, 0, + 16363, 14999, 8, + 16363, 14999, 16, + 16363, 14999, 28, + 16363, 14999, 40, + 16363, 14999, 48, + 16363, 14999, 110, + 16363, 14999, 130, + 16363, 14999, 154, + 16363, 14999, 192, + 16363, 14999, 226, + 16363, 14999, 248, + 16363, 14999, 270, + 16363, 14999, 338, + 16363, 14999, 354, + 16363, 14999, 388, + 16363, 14999, 424, + 16363, 14999, 448, + 16363, 14999, 452, + 16363, 14999, 528, + 16363, 14999, 558, + 16363, 14999, 574, + 16363, 14999, 592, + 16363, 14999, 626, + 16363, 14999, 682, + 16363, 14999, 720, + 16363, 14999, 754, + 16363, 14999, 1046, + 16363, 14999, 1166, + 16363, 14999, 1494, + 16363, 14999, 1518, + 16363, 14999, 1916, + 16363, 14999, 2154, + 16363, 14999, 2422, + 16363, 14999, 2480, + 16363, 14999, 2958, + 16363, 14999, 3050, + 16363, 14999, 3244, + 16363, 14999, 3814, + 16363, 14999, 14774, + 16365, 484, + 16365, 485, 10641, 1217, 11392, + 16365, 485, 10641, 3357, 20181, 17302, + 16365, 485, 10641, 7883, 20181, 15642, + 16365, 485, 10641, 16946, + 16365, 485, 10641, 18836, + 16365, 485, 10641, 18847, 897, 93, 1299, 485, 20181, 15642, + 16365, 485, 16935, 17462, + 16365, 485, 16935, 19214, + 16384, + 16389, 17839, 317, 14049, 14487, 317, 11571, 15620, + 16389, 17839, 17793, 12973, 6561, 11476, + 16389, 17839, 17793, 15451, 17838, + 16395, 6718, + 16404, + 16407, 9289, 843, 6750, + 16415, 6718, + 16418, + 16425, 3420, + 16451, 9950, + 16452, + 16457, 95, 14993, 8320, + 16457, 494, + 16457, 9855, 13052, + 16457, 9855, 13246, + 16457, 9855, 15868, + 16457, 9855, 17486, + 16457, 9855, 17610, + 16457, 9855, 17652, + 16457, 9855, 19003, 17611, 11392, + 16457, 9855, 20552, + 16457, 14003, 9855, 16, + 16457, 14003, 9855, 40, + 16457, 14003, 9855, 58, + 16457, 14003, 9855, 72, + 16457, 14003, 9855, 94, + 16457, 14003, 9855, 184, + 16457, 14003, 9855, 308, + 16457, 14003, 9855, 498, + 16457, 14003, 9855, 676, + 16457, 14003, 9855, 17493, 22, + 16457, 14003, 9855, 17493, 34, + 16457, 14003, 9855, 17493, 396, + 16457, 14003, 9855, 17493, 582, + 16457, 14999, 0, + 16457, 14999, 16, + 16457, 14999, 40, + 16457, 14999, 58, + 16457, 14999, 72, + 16457, 14999, 94, + 16457, 14999, 106, + 16457, 14999, 124, + 16457, 14999, 148, + 16457, 14999, 184, + 16457, 14999, 244, + 16457, 14999, 266, + 16457, 14999, 308, + 16457, 14999, 336, + 16457, 14999, 350, + 16457, 14999, 384, + 16457, 14999, 416, + 16457, 14999, 448, + 16457, 14999, 498, + 16457, 14999, 522, + 16457, 14999, 572, + 16457, 14999, 588, + 16457, 14999, 622, + 16457, 14999, 676, + 16457, 14999, 680, + 16457, 14999, 734, + 16457, 14999, 932, + 16457, 14999, 1044, + 16457, 14999, 1142, + 16457, 14999, 1164, + 16457, 14999, 1492, + 16457, 14999, 1796, + 16457, 14999, 1914, + 16457, 14999, 2152, + 16457, 14999, 2444, + 16457, 14999, 2492, + 16457, 14999, 2556, + 16457, 14999, 2676, + 16457, 14999, 3048, + 16457, 14999, 3114, + 16457, 14999, 3242, + 16457, 14999, 3322, + 16457, 14999, 6314, + 16457, 14999, 10264, + 16457, 14999, 13983, 14625, 17610, + 16457, 14999, 13983, 17610, + 16457, 14999, 17493, 22, + 16457, 14999, 17493, 34, + 16457, 14999, 17493, 396, + 16457, 14999, 17493, 582, + 16461, 12274, + 16463, 9854, + 16466, + 16473, 6718, + 16474, + 16479, 9855, 18414, + 16479, 14003, 9855, 16, + 16479, 14003, 9855, 40, + 16479, 14999, 0, + 16479, 14999, 16, + 16479, 14999, 40, + 16479, 14999, 106, + 16479, 14999, 148, + 16479, 14999, 244, + 16479, 14999, 266, + 16479, 14999, 350, + 16479, 14999, 384, + 16479, 14999, 416, + 16479, 14999, 448, + 16479, 14999, 522, + 16479, 14999, 572, + 16479, 14999, 588, + 16479, 14999, 622, + 16479, 14999, 694, + 16479, 14999, 734, + 16479, 14999, 2444, + 16499, 9854, + 16501, 6718, + 16503, 15365, 15672, + 16523, 14299, 6777, 17202, + 16523, 19759, 18692, + 16529, 14049, 14486, + 16529, 14418, + 16537, 16698, + 16546, + 16553, 73, 14993, 8320, + 16553, 9855, 13052, + 16553, 9855, 15868, + 16553, 9855, 17259, 20552, + 16553, 9855, 17486, + 16553, 9855, 17610, + 16553, 9855, 17652, + 16553, 9855, 20552, + 16553, 9855, 20756, + 16553, 9855, 20974, + 16553, 11905, 2610, + 16553, 11905, 3076, + 16553, 11905, 3356, + 16553, 11905, 6756, + 16553, 11905, 6778, + 16553, 11905, 8780, + 16553, 11905, 10900, + 16553, 11905, 11978, + 16553, 11905, 13450, + 16553, 11905, 13736, + 16553, 14003, 9855, 8, + 16553, 14003, 9855, 16, + 16553, 14003, 9855, 28, + 16553, 14003, 9855, 40, + 16553, 14003, 9855, 58, + 16553, 14003, 9855, 72, + 16553, 14003, 9855, 94, + 16553, 14003, 9855, 184, + 16553, 14003, 9855, 308, + 16553, 14003, 9855, 498, + 16553, 14003, 9855, 676, + 16553, 14003, 9855, 17493, 22, + 16553, 14003, 9855, 17493, 34, + 16553, 14003, 9855, 17493, 396, + 16553, 14003, 9855, 17493, 582, + 16553, 14993, 8320, + 16553, 14999, 0, + 16553, 14999, 8, + 16553, 14999, 16, + 16553, 14999, 28, + 16553, 14999, 40, + 16553, 14999, 58, + 16553, 14999, 72, + 16553, 14999, 94, + 16553, 14999, 106, + 16553, 14999, 124, + 16553, 14999, 148, + 16553, 14999, 184, + 16553, 14999, 224, + 16553, 14999, 244, + 16553, 14999, 266, + 16553, 14999, 308, + 16553, 14999, 336, + 16553, 14999, 350, + 16553, 14999, 384, + 16553, 14999, 416, + 16553, 14999, 448, + 16553, 14999, 498, + 16553, 14999, 522, + 16553, 14999, 572, + 16553, 14999, 588, + 16553, 14999, 622, + 16553, 14999, 676, + 16553, 14999, 680, + 16553, 14999, 734, + 16553, 14999, 932, + 16553, 14999, 1044, + 16553, 14999, 1142, + 16553, 14999, 1164, + 16553, 14999, 1492, + 16553, 14999, 1796, + 16553, 14999, 1914, + 16553, 14999, 2152, + 16553, 14999, 2444, + 16553, 14999, 2492, + 16553, 14999, 2556, + 16553, 14999, 2676, + 16553, 14999, 2956, + 16553, 14999, 3048, + 16553, 14999, 3114, + 16553, 14999, 3242, + 16553, 14999, 3322, + 16553, 14999, 6314, + 16553, 14999, 7874, + 16553, 14999, 10264, + 16553, 14999, 17493, 22, + 16553, 14999, 17493, 34, + 16553, 14999, 17493, 396, + 16553, 14999, 17493, 582, + 16585, 1019, 6719, 10641, 14497, 6604, + 16585, 6718, + 16585, 6719, 10641, 14497, 6604, + 16585, 6719, 10641, 17245, 6604, + 16712, + 16721, 19413, 9854, + 16727, 504, + 16727, 505, 10641, 1217, 11392, + 16727, 505, 10641, 14625, 16946, + 16727, 505, 10641, 14625, 18836, + 16727, 505, 10641, 15119, 9952, + 16727, 505, 10641, 20181, 6286, + 16727, 505, 20833, 16727, 842, + 16727, 842, + 16727, 843, 10641, 1217, 11392, + 16727, 843, 10641, 14625, 16946, + 16727, 843, 10641, 14625, 18836, + 16727, 843, 10641, 15119, 9952, + 16727, 843, 10641, 18836, + 16727, 843, 10641, 20181, 6286, + 16732, + 16733, 16269, 123, 20181, 9564, + 16747, 10189, 2611, 485, 16036, + 16747, 10189, 2611, 485, 16154, + 16747, 10189, 2611, 485, 19918, + 16747, 10189, 2897, 14626, + 16747, 10189, 3077, 485, 16036, + 16747, 10189, 3077, 485, 16154, + 16747, 10189, 3077, 485, 19918, + 16747, 10189, 3357, 485, 16036, + 16747, 10189, 3357, 485, 16154, + 16747, 10189, 3357, 485, 19918, + 16747, 10189, 5720, + 16747, 10189, 6561, 10634, + 16747, 10189, 6757, 485, 16036, + 16747, 10189, 6757, 485, 16154, + 16747, 10189, 6757, 485, 19918, + 16747, 10189, 6779, 485, 16036, + 16747, 10189, 6779, 485, 16154, + 16747, 10189, 6779, 485, 19918, + 16747, 10189, 8781, 485, 16036, + 16747, 10189, 8781, 485, 16154, + 16747, 10189, 8781, 485, 19918, + 16747, 10189, 9284, + 16747, 10189, 10629, 10634, + 16747, 10189, 11979, 485, 16036, + 16747, 10189, 11979, 485, 16154, + 16747, 10189, 11979, 485, 19918, + 16747, 10189, 12239, 14626, + 16747, 10189, 12418, + 16747, 10189, 12973, 10634, + 16747, 10189, 13451, 485, 16036, + 16747, 10189, 13451, 485, 16154, + 16747, 10189, 13451, 485, 19918, + 16747, 10189, 13581, 10634, + 16747, 10189, 13737, 485, 16036, + 16747, 10189, 13737, 485, 16154, + 16747, 10189, 13737, 485, 19918, + 16747, 10189, 14049, 14626, + 16747, 10189, 14332, + 16747, 10189, 14346, + 16747, 10189, 15264, + 16747, 10189, 15614, + 16747, 10189, 15658, + 16747, 10189, 15898, + 16747, 10189, 21292, + 16761, 11772, + 16763, 14999, 60, + 16763, 14999, 64, + 16763, 14999, 68, + 16763, 14999, 70, + 16763, 14999, 74, + 16763, 14999, 76, + 16763, 14999, 78, + 16763, 14999, 80, + 16763, 14999, 84, + 16763, 14999, 86, + 16763, 14999, 88, + 16763, 14999, 90, + 16763, 14999, 92, + 16763, 14999, 104, + 16763, 14999, 316, + 16763, 14999, 328, + 16763, 14999, 826, + 16763, 14999, 864, + 16763, 14999, 866, + 16763, 14999, 868, + 16763, 14999, 1864, + 16763, 14999, 5240, + 16763, 14999, 12258, + 16763, 14999, 17464, + 16763, 14999, 18004, + 16763, 20155, 8320, + 16763, 20523, 8320, + 16763, 20876, + 16763, 21267, 8320, + 16773, 7139, 8320, + 16773, 8321, 9742, + 16773, 9855, 17610, + 16773, 9855, 20552, + 16773, 14003, 9855, 8, + 16773, 14003, 9855, 16, + 16773, 14003, 9855, 28, + 16773, 14003, 9855, 40, + 16773, 14003, 9855, 58, + 16773, 14999, 0, + 16773, 14999, 52, + 16773, 14999, 106, + 16773, 14999, 124, + 16773, 14999, 148, + 16773, 14999, 244, + 16773, 14999, 266, + 16773, 14999, 336, + 16773, 14999, 350, + 16773, 14999, 384, + 16773, 14999, 416, + 16773, 14999, 448, + 16773, 14999, 522, + 16773, 14999, 572, + 16773, 14999, 588, + 16773, 14999, 622, + 16773, 14999, 694, + 16773, 14999, 734, + 16773, 14999, 752, + 16773, 14999, 1044, + 16773, 14999, 1254, + 16773, 14999, 1914, + 16773, 14999, 2444, + 16773, 14999, 2556, + 16773, 14999, 2676, + 16773, 14999, 3048, + 16773, 14999, 3242, + 16773, 14999, 3308, + 16773, 14999, 3812, + 16773, 14999, 10240, + 16773, 19667, 14999, 0, + 16773, 19667, 14999, 106, + 16773, 19667, 14999, 124, + 16773, 19667, 14999, 148, + 16773, 19667, 14999, 244, + 16773, 19667, 14999, 266, + 16773, 19667, 14999, 336, + 16773, 19667, 14999, 350, + 16773, 19667, 14999, 384, + 16773, 19667, 14999, 416, + 16773, 19667, 14999, 448, + 16773, 19667, 14999, 522, + 16773, 19667, 14999, 572, + 16773, 19667, 14999, 588, + 16773, 19667, 14999, 622, + 16773, 19667, 14999, 694, + 16773, 19667, 14999, 734, + 16773, 19667, 14999, 752, + 16773, 19667, 14999, 1044, + 16773, 19667, 14999, 1254, + 16773, 19667, 14999, 1914, + 16773, 19667, 14999, 2444, + 16773, 19667, 14999, 2556, + 16773, 19667, 14999, 2676, + 16773, 19667, 14999, 3048, + 16773, 19667, 14999, 3242, + 16773, 19667, 14999, 3308, + 16773, 19667, 14999, 3812, + 16773, 19667, 14999, 10240, + 16775, 5293, 17454, + 16801, 10641, 8781, 17696, + 16802, + 16809, 20181, 18016, + 16812, + 16829, 14999, 0, + 16829, 14999, 8, + 16829, 14999, 16, + 16829, 14999, 40, + 16829, 14999, 106, + 16829, 14999, 124, + 16829, 14999, 148, + 16829, 14999, 244, + 16829, 14999, 266, + 16829, 14999, 336, + 16829, 14999, 350, + 16829, 14999, 384, + 16829, 14999, 416, + 16829, 14999, 448, + 16829, 14999, 522, + 16829, 14999, 572, + 16829, 14999, 588, + 16829, 14999, 622, + 16829, 14999, 680, + 16829, 14999, 734, + 16829, 14999, 932, + 16829, 14999, 1044, + 16829, 14999, 1142, + 16829, 14999, 1164, + 16829, 14999, 1492, + 16829, 14999, 1812, + 16829, 14999, 1914, + 16829, 14999, 2492, + 16829, 14999, 2556, + 16829, 14999, 2676, + 16829, 14999, 2912, + 16829, 14999, 2956, + 16829, 14999, 3242, + 16829, 14999, 3322, + 16829, 14999, 6306, + 16829, 14999, 6314, + 16829, 14999, 10264, + 16829, 17179, 8320, + 16831, 8852, + 16831, 13434, + 16831, 15673, 5, 6088, + 16831, 15673, 11, 6088, + 16831, 15673, 11, 6089, 15275, 5258, + 16831, 15673, 11, 6089, 15275, 11524, + 16831, 15673, 13, 6088, + 16831, 15673, 13, 6089, 15275, 5258, + 16831, 15673, 13, 6089, 15275, 11524, + 16831, 15673, 47, 18374, + 16831, 15673, 50, + 16831, 15673, 149, 5968, + 16831, 15673, 636, + 16831, 15673, 1097, 10192, + 16831, 15673, 1129, 13440, + 16831, 15673, 1299, 485, 15630, + 16831, 15673, 1299, 3256, + 16831, 15673, 1299, 5796, + 16831, 15673, 1299, 9882, + 16831, 15673, 1299, 15332, + 16831, 15673, 2611, 16503, 22951, 8852, + 16831, 15673, 2611, 16503, 22951, 9488, + 16831, 15673, 2673, 20452, + 16831, 15673, 6092, + 16831, 15673, 6278, + 16831, 15673, 6279, 834, + 16831, 15673, 6441, 14490, + 16831, 15673, 6441, 14492, + 16831, 15673, 6761, 670, + 16831, 15673, 6761, 6434, + 16831, 15673, 6797, 11570, + 16831, 15673, 6797, 14048, + 16831, 15673, 7123, 8852, + 16831, 15673, 7123, 9488, + 16831, 15673, 7123, 13205, 8320, + 16831, 15673, 7817, 15435, 9854, + 16831, 15673, 8461, 18375, 11570, + 16831, 15673, 8461, 18375, 14048, + 16831, 15673, 8925, 18374, + 16831, 15673, 9287, 18374, + 16831, 15673, 10296, + 16831, 15673, 10297, 670, + 16831, 15673, 10297, 13546, + 16831, 15673, 10555, 18374, + 16831, 15673, 10641, 20688, + 16831, 15673, 11547, 3256, + 16831, 15673, 11547, 5796, + 16831, 15673, 11547, 9882, + 16831, 15673, 11547, 15332, + 16831, 15673, 11592, + 16831, 15673, 11596, + 16831, 15673, 11770, + 16831, 15673, 12085, 16038, + 16831, 15673, 12106, + 16831, 15673, 12225, 8853, 469, 13546, + 16831, 15673, 12225, 8853, 13546, + 16831, 15673, 12578, + 16831, 15673, 12579, 18449, 9488, + 16831, 15673, 12579, 20191, 9488, + 16831, 15673, 12708, + 16831, 15673, 12777, 9488, + 16831, 15673, 13205, 671, 8320, + 16831, 15673, 13205, 8320, + 16831, 15673, 13224, + 16831, 15673, 13341, 15435, 9854, + 16831, 15673, 13440, + 16831, 15673, 13469, 670, + 16831, 15673, 13469, 6434, + 16831, 15673, 13507, 16038, + 16831, 15673, 13994, + 16831, 15673, 14051, 8852, + 16831, 15673, 14051, 9488, + 16831, 15673, 14405, 8320, + 16831, 15673, 14406, + 16831, 15673, 14407, 9488, + 16831, 15673, 14487, 47, 18374, + 16831, 15673, 14494, + 16831, 15673, 14509, 10192, + 16831, 15673, 14555, 16038, + 16831, 15673, 14561, 13546, + 16831, 15673, 14625, 6760, + 16831, 15673, 14625, 13468, + 16831, 15673, 14625, 16038, + 16831, 15673, 14635, 8852, + 16831, 15673, 14635, 9488, + 16831, 15673, 14937, 5, 6088, + 16831, 15673, 14937, 1299, 485, 13226, + 16831, 15673, 14937, 6761, 9854, + 16831, 15673, 14937, 7123, 8852, + 16831, 15673, 14937, 12085, 8852, + 16831, 15673, 14937, 14051, 8852, + 16831, 15673, 14937, 14635, 8853, 9953, 670, + 16831, 15673, 14937, 14635, 8853, 9953, 6434, + 16831, 15673, 14937, 17087, 8853, 9953, 670, + 16831, 15673, 14937, 17087, 8853, 9953, 6434, + 16831, 15673, 14937, 20351, 8320, + 16831, 15673, 15082, + 16831, 15673, 15124, + 16831, 15673, 15125, 9488, + 16831, 15673, 15125, 11570, + 16831, 15673, 15275, 5258, + 16831, 15673, 15275, 11524, + 16831, 15673, 15435, 6430, + 16831, 15673, 15573, 16038, + 16831, 15673, 15621, 2, + 16831, 15673, 15621, 18375, 11570, + 16831, 15673, 15621, 18375, 14048, + 16831, 15673, 15648, + 16831, 15673, 15715, 19521, 1089, 20341, 18448, + 16831, 15673, 15715, 19521, 1089, 20341, 18449, 21054, + 16831, 15673, 15715, 19521, 1089, 20341, 20190, + 16831, 15673, 15715, 20739, 1089, 20341, 18448, + 16831, 15673, 15715, 20739, 1089, 20341, 20190, + 16831, 15673, 15715, 20739, 1089, 20341, 20191, 21054, + 16831, 15673, 15715, 20739, 1089, 20341, 20191, 21056, + 16831, 15673, 15715, 20739, 1089, 20341, 20191, 21058, + 16831, 15673, 16088, + 16831, 15673, 16106, + 16831, 15673, 16167, 18375, 11570, + 16831, 15673, 16167, 18375, 14048, + 16831, 15673, 16398, + 16831, 15673, 16399, 11552, + 16831, 15673, 16839, 670, + 16831, 15673, 16839, 6434, + 16831, 15673, 17042, + 16831, 15673, 17087, 8852, + 16831, 15673, 17087, 9488, + 16831, 15673, 17087, 10219, 6760, + 16831, 15673, 17087, 10219, 13468, + 16831, 15673, 17123, 12085, 16038, + 16831, 15673, 17762, + 16831, 15673, 18065, 19792, + 16831, 15673, 18065, 19794, + 16831, 15673, 18065, 19796, + 16831, 15673, 18183, 10296, + 16831, 15673, 18337, 16791, 9488, + 16831, 15673, 18375, 11570, + 16831, 15673, 18385, 13608, + 16831, 15673, 18393, 18664, + 16831, 15673, 18393, 18666, + 16831, 15673, 18393, 18668, + 16831, 15673, 18393, 18670, + 16831, 15673, 18393, 18672, + 16831, 15673, 18393, 18674, + 16831, 15673, 18393, 18676, + 16831, 15673, 18393, 18678, + 16831, 15673, 18393, 18680, + 16831, 15673, 18393, 19660, + 16831, 15673, 18393, 19662, + 16831, 15673, 18535, 18054, + 16831, 15673, 18535, 18056, + 16831, 15673, 18535, 18058, + 16831, 15673, 18605, 13608, + 16831, 15673, 18760, + 16831, 15673, 18761, 19584, + 16831, 15673, 18775, 18375, 671, 11570, + 16831, 15673, 18775, 18375, 671, 13341, 11570, + 16831, 15673, 18775, 18375, 671, 13341, 14048, + 16831, 15673, 18775, 18375, 671, 14048, + 16831, 15673, 18775, 18375, 6435, 11570, + 16831, 15673, 18775, 18375, 6435, 14048, + 16831, 15673, 18775, 18375, 7817, 11570, + 16831, 15673, 18775, 18375, 7817, 14048, + 16831, 15673, 18775, 18375, 13341, 11570, + 16831, 15673, 18775, 18375, 13341, 14048, + 16831, 15673, 18821, 13608, + 16831, 15673, 19003, 671, 966, + 16831, 15673, 19003, 2922, + 16831, 15673, 19003, 5812, + 16831, 15673, 19003, 6422, + 16831, 15673, 19003, 6435, 966, + 16831, 15673, 19003, 6764, + 16831, 15673, 19003, 9885, 19530, + 16831, 15673, 19003, 9952, + 16831, 15673, 19003, 12584, + 16831, 15673, 19003, 13566, + 16831, 15673, 19003, 14262, + 16831, 15673, 19003, 14625, 15776, + 16831, 15673, 19003, 14706, + 16831, 15673, 19003, 14708, + 16831, 15673, 19003, 14710, + 16831, 15673, 19003, 14712, + 16831, 15673, 19003, 14714, + 16831, 15673, 19003, 15718, + 16831, 15673, 19003, 15781, 15776, + 16831, 15673, 19003, 16770, + 16831, 15673, 19003, 18132, + 16831, 15673, 19003, 18638, + 16831, 15673, 19003, 19792, + 16831, 15673, 19003, 19794, + 16831, 15673, 19003, 19796, + 16831, 15673, 19003, 21015, 1216, + 16831, 15673, 19003, 21227, 9952, + 16831, 15673, 19003, 22932, + 16831, 15673, 19003, 23248, + 16831, 15673, 19003, 23414, + 16831, 15673, 19024, + 16831, 15673, 19263, 13608, + 16831, 15673, 19275, 13608, + 16831, 15673, 19291, 670, + 16831, 15673, 19291, 6434, + 16831, 15673, 19301, 5, 6088, + 16831, 15673, 19301, 11, 6088, + 16831, 15673, 19532, + 16831, 15673, 19533, 14718, + 16831, 15673, 19606, + 16831, 15673, 19607, 14718, + 16831, 15673, 19637, 8852, + 16831, 15673, 19637, 9488, + 16831, 15673, 19887, 670, + 16831, 15673, 19887, 6434, + 16831, 15673, 20383, 9488, + 16831, 15673, 20383, 11570, + 16831, 15673, 20383, 14048, + 16831, 15673, 20389, 9488, + 16831, 15673, 20389, 11570, + 16831, 15673, 20389, 14048, + 16831, 15673, 20427, 19276, + 16831, 15673, 20477, 13608, + 16831, 15673, 20592, + 16831, 15673, 20697, 19276, + 16831, 15673, 20710, + 16831, 15673, 20814, + 16831, 15673, 20847, 18374, + 16831, 15673, 20898, + 16831, 15673, 21185, 5258, + 16831, 15673, 21185, 11524, + 16831, 15673, 21223, 8852, + 16831, 15673, 21223, 9488, + 16831, 15673, 22941, 8852, + 16831, 15673, 22941, 9488, + 16831, 15673, 23141, 18375, 6435, 11570, + 16831, 15673, 23141, 18375, 6435, 14048, + 16831, 18212, + 16831, 18213, 10641, 12396, + 16833, 3197, 12527, 11905, 2610, + 16833, 3197, 12527, 11905, 3076, + 16833, 3197, 12527, 11905, 3356, + 16833, 3197, 12527, 11905, 6756, + 16833, 3197, 12527, 11905, 6778, + 16833, 3197, 12527, 11905, 8780, + 16833, 3197, 12527, 11905, 10900, + 16833, 3197, 12527, 11905, 11978, + 16833, 3197, 12527, 11905, 13450, + 16833, 3197, 12527, 11905, 13736, + 16833, 9747, 11905, 2610, + 16833, 9747, 11905, 3076, + 16833, 9747, 11905, 3356, + 16833, 9747, 11905, 6756, + 16833, 9747, 11905, 6778, + 16833, 9747, 11905, 8780, + 16833, 9747, 11905, 10900, + 16833, 9747, 11905, 11978, + 16833, 9747, 11905, 13450, + 16833, 9747, 11905, 13736, + 16833, 9855, 1217, 11552, + 16833, 9855, 2645, 12439, 10218, + 16833, 9855, 3197, 12527, 15762, + 16833, 9855, 3197, 12527, 15768, + 16833, 9855, 5294, + 16833, 9855, 9747, 3030, + 16833, 9855, 9747, 15762, + 16833, 9855, 9747, 15764, + 16833, 9855, 9747, 15768, + 16833, 9855, 9747, 15770, + 16833, 9855, 9747, 16191, 15762, + 16833, 9855, 9747, 16191, 15764, + 16833, 9855, 9747, 16191, 18023, 10218, + 16833, 9855, 13375, 16961, 15768, + 16833, 9855, 14927, 15760, + 16833, 9855, 14927, 15764, + 16833, 9855, 15031, 17178, + 16833, 9855, 15868, + 16833, 9855, 17178, + 16833, 9855, 17486, + 16833, 9855, 17511, 2753, 12439, 15760, + 16833, 9855, 17511, 2753, 12439, 15762, + 16833, 9855, 17511, 2753, 12439, 15764, + 16833, 9855, 17511, 2753, 12439, 15766, + 16833, 9855, 17511, 2753, 12439, 15768, + 16833, 9855, 17610, + 16833, 10219, 8321, 9731, 12439, 355, 2682, + 16833, 10219, 8321, 9731, 12439, 12270, + 16833, 11905, 2610, + 16833, 11905, 3076, + 16833, 11905, 3356, + 16833, 11905, 6756, + 16833, 11905, 6778, + 16833, 11905, 8780, + 16833, 11905, 10900, + 16833, 11905, 11978, + 16833, 11905, 13450, + 16833, 11905, 13736, + 16833, 14003, 9855, 8, + 16833, 14003, 9855, 9, 11392, + 16833, 14003, 9855, 16, + 16833, 14003, 9855, 40, + 16833, 14003, 9855, 58, + 16833, 14003, 9855, 72, + 16833, 14003, 9855, 308, + 16833, 14003, 9855, 676, + 16833, 14003, 9855, 2329, 28, + 16833, 14003, 9855, 2329, 308, + 16833, 14003, 9855, 6953, 12439, 16, + 16833, 14003, 9855, 9731, 12439, 214, + 16833, 14003, 9855, 9747, 8, + 16833, 14003, 9855, 9747, 9, 11392, + 16833, 14003, 9855, 9747, 58, + 16833, 14003, 9855, 9747, 12085, 48, + 16833, 14003, 9855, 10099, 58, + 16833, 14003, 9855, 11415, 0, + 16833, 14003, 9855, 11415, 72, + 16833, 14003, 9855, 12445, 40, + 16833, 14003, 9855, 12445, 184, + 16833, 14003, 9855, 12445, 482, + 16833, 14003, 9855, 17493, 22, + 16833, 14003, 9855, 17493, 34, + 16833, 14003, 9855, 17493, 396, + 16833, 14003, 9855, 17493, 582, + 16833, 14003, 9855, 17511, 2753, 12439, 214, + 16833, 14003, 9855, 17511, 2753, 12439, 656, + 16833, 14999, 0, + 16833, 14999, 8, + 16833, 14999, 16, + 16833, 14999, 28, + 16833, 14999, 40, + 16833, 14999, 94, + 16833, 14999, 106, + 16833, 14999, 124, + 16833, 14999, 148, + 16833, 14999, 244, + 16833, 14999, 266, + 16833, 14999, 308, + 16833, 14999, 336, + 16833, 14999, 350, + 16833, 14999, 384, + 16833, 14999, 416, + 16833, 14999, 448, + 16833, 14999, 522, + 16833, 14999, 572, + 16833, 14999, 588, + 16833, 14999, 622, + 16833, 14999, 676, + 16833, 14999, 694, + 16833, 14999, 734, + 16833, 14999, 932, + 16833, 14999, 1044, + 16833, 14999, 1142, + 16833, 14999, 1164, + 16833, 14999, 1492, + 16833, 14999, 1796, + 16833, 14999, 1914, + 16833, 14999, 2152, + 16833, 14999, 2329, 8, + 16833, 14999, 2329, 904, + 16833, 14999, 2329, 906, + 16833, 14999, 2329, 1796, + 16833, 14999, 2329, 2444, + 16833, 14999, 2444, + 16833, 14999, 2492, + 16833, 14999, 2556, + 16833, 14999, 2676, + 16833, 14999, 3048, + 16833, 14999, 3114, + 16833, 14999, 3197, 12527, 106, + 16833, 14999, 3197, 12527, 148, + 16833, 14999, 3197, 12527, 224, + 16833, 14999, 3197, 12527, 244, + 16833, 14999, 3197, 12527, 336, + 16833, 14999, 3197, 12527, 932, + 16833, 14999, 3197, 12527, 1142, + 16833, 14999, 3197, 12527, 1164, + 16833, 14999, 3197, 12527, 1492, + 16833, 14999, 3197, 12527, 1796, + 16833, 14999, 3197, 12527, 2152, + 16833, 14999, 3197, 12527, 2492, + 16833, 14999, 3197, 12527, 2556, + 16833, 14999, 3197, 12527, 6314, + 16833, 14999, 3242, + 16833, 14999, 3322, + 16833, 14999, 6314, + 16833, 14999, 8844, + 16833, 14999, 9731, 12439, 3048, + 16833, 14999, 9747, 0, + 16833, 14999, 9747, 106, + 16833, 14999, 9747, 124, + 16833, 14999, 9747, 148, + 16833, 14999, 9747, 224, + 16833, 14999, 9747, 244, + 16833, 14999, 9747, 266, + 16833, 14999, 9747, 350, + 16833, 14999, 9747, 448, + 16833, 14999, 9747, 752, + 16833, 14999, 9747, 932, + 16833, 14999, 9747, 1044, + 16833, 14999, 9747, 1492, + 16833, 14999, 9747, 1796, + 16833, 14999, 9747, 1914, + 16833, 14999, 9747, 2492, + 16833, 14999, 9747, 2556, + 16833, 14999, 9747, 2676, + 16833, 14999, 9747, 3242, + 16833, 14999, 9825, 16961, 1044, + 16833, 14999, 9825, 16961, 3048, + 16833, 14999, 10264, + 16833, 14999, 11415, 572, + 16833, 14999, 12235, 588, + 16833, 14999, 13375, 16961, 224, + 16833, 14999, 14927, 124, + 16833, 14999, 14927, 224, + 16833, 14999, 14927, 244, + 16833, 14999, 14927, 266, + 16833, 14999, 14927, 336, + 16833, 14999, 14927, 448, + 16833, 14999, 14927, 572, + 16833, 14999, 14927, 588, + 16833, 14999, 14927, 718, + 16833, 14999, 14927, 752, + 16833, 14999, 14927, 1044, + 16833, 14999, 14927, 1142, + 16833, 14999, 14927, 1164, + 16833, 14999, 14927, 1620, + 16833, 14999, 14927, 1796, + 16833, 14999, 14927, 2556, + 16833, 14999, 14927, 3322, + 16833, 14999, 14927, 6314, + 16833, 14999, 14927, 10264, + 16833, 14999, 16351, 2753, 12439, 2492, + 16833, 14999, 16351, 2753, 12439, 3764, + 16833, 14999, 16351, 2753, 12439, 7024, + 16833, 14999, 17493, 22, + 16833, 14999, 17493, 34, + 16833, 14999, 17493, 396, + 16833, 14999, 17493, 582, + 16833, 14999, 17511, 2753, 12439, 2746, + 16833, 14999, 17511, 2753, 12439, 3242, + 16833, 15673, 9747, 2610, + 16833, 15673, 9747, 20684, + 16833, 15673, 11415, 2610, + 16833, 15673, 11415, 3356, + 16833, 15673, 11415, 20684, + 16833, 15673, 18106, + 16833, 15673, 18254, + 16833, 15673, 19004, + 16833, 15673, 22964, + 16833, 18257, 14927, 280, + 16833, 18257, 14927, 562, + 16833, 18257, 14927, 2586, + 16833, 18319, 14999, 9747, 22912, + 16833, 18319, 14999, 14927, 22912, + 16833, 19015, 9855, 2329, 15093, 384, + 16833, 19015, 9855, 2329, 15093, 416, + 16833, 19015, 9855, 2329, 15093, 448, + 16833, 19015, 9855, 9747, 15093, 694, + 16833, 19015, 9855, 15093, 266, + 16833, 19015, 9855, 15093, 572, + 16833, 19015, 9855, 15093, 694, + 16833, 19015, 9855, 15093, 734, + 16842, + 16845, 14625, 18847, 897, 14625, 13341, 19808, + 16847, 1, 15651, 485, 2509, 12005, 634, + 16847, 1, 18689, 485, 2509, 12005, 634, + 16847, 19409, 2509, 12005, 634, + 16847, 19409, 2509, 20127, 634, + 16847, 19409, 2509, 21096, + 16847, 21097, 2509, 12005, 634, + 16847, 21097, 2509, 19408, + 16847, 21097, 2509, 20127, 634, + 16847, 21281, 2509, 17585, 12005, 634, + 16848, + 16853, 6718, + 16855, 7816, + 16855, 13340, + 16887, 11905, 15530, + 16889, 9854, + 16891, 7817, 20385, 10641, 13737, 6430, + 16891, 12589, 23123, 14049, 20375, 11476, + 16891, 13341, 20385, 10641, 13737, 6430, + 16891, 13889, 23123, 14049, 20375, 11476, + 16913, 11447, 16935, 670, + 16913, 11447, 16935, 6434, + 16920, + 16937, 6406, + 16937, 6407, 7414, + 16941, 11905, 2610, + 16941, 11905, 3076, + 16941, 11905, 3356, + 16941, 11905, 6756, + 16941, 11905, 6778, + 16941, 11905, 8780, + 16941, 11905, 10900, + 16941, 11905, 11978, + 16941, 11905, 13450, + 16941, 11905, 13736, + 16941, 14999, 0, + 16941, 14999, 8, + 16941, 14999, 16, + 16941, 14999, 28, + 16941, 14999, 40, + 16941, 14999, 58, + 16941, 14999, 106, + 16941, 14999, 184, + 16941, 14999, 224, + 16941, 14999, 244, + 16941, 14999, 266, + 16941, 14999, 336, + 16941, 14999, 498, + 16941, 14999, 572, + 16941, 14999, 588, + 16941, 14999, 622, + 16941, 14999, 718, + 16941, 14999, 734, + 16941, 14999, 1164, + 16941, 14999, 1914, + 16941, 14999, 3532, + 16941, 14999, 5246, + 16941, 14999, 5982, + 16941, 14999, 6354, + 16941, 14999, 7560, + 16941, 14999, 7776, + 16941, 14999, 8436, + 16941, 14999, 8934, + 16941, 14999, 9344, + 16941, 14999, 13492, + 16948, + 16952, + 16987, 21048, + 16994, + 16998, + 17003, 6718, + 17005, 9854, + 17033, 9854, + 17041, 5971, 795, 485, 11752, + 17041, 5971, 795, 485, 14824, + 17041, 5971, 795, 485, 15596, + 17041, 5971, 795, 485, 17842, + 17041, 5971, 2897, 12418, + 17041, 5971, 3077, 485, 11752, + 17041, 5971, 3077, 485, 14824, + 17041, 5971, 3077, 485, 15596, + 17041, 5971, 3077, 485, 17842, + 17041, 5971, 3233, 485, 11752, + 17041, 5971, 3233, 485, 14824, + 17041, 5971, 3233, 485, 15596, + 17041, 5971, 3233, 485, 17842, + 17041, 5971, 3357, 485, 11752, + 17041, 5971, 3357, 485, 14824, + 17041, 5971, 3357, 485, 15596, + 17041, 5971, 3357, 485, 17842, + 17041, 5971, 5720, + 17041, 5971, 6757, 485, 11752, + 17041, 5971, 6757, 485, 14824, + 17041, 5971, 6757, 485, 15596, + 17041, 5971, 6757, 485, 17842, + 17041, 5971, 6770, + 17041, 5971, 6779, 485, 11752, + 17041, 5971, 6779, 485, 14824, + 17041, 5971, 6779, 485, 15596, + 17041, 5971, 6779, 485, 17842, + 17041, 5971, 7457, 485, 11752, + 17041, 5971, 7457, 485, 14824, + 17041, 5971, 7457, 485, 15596, + 17041, 5971, 7457, 485, 17842, + 17041, 5971, 7673, 485, 11752, + 17041, 5971, 7673, 485, 14824, + 17041, 5971, 7673, 485, 15596, + 17041, 5971, 7673, 485, 17842, + 17041, 5971, 8781, 485, 11752, + 17041, 5971, 8781, 485, 14824, + 17041, 5971, 8781, 485, 15596, + 17041, 5971, 8781, 485, 17842, + 17041, 5971, 11571, 12418, + 17041, 5971, 11979, 485, 11752, + 17041, 5971, 11979, 485, 14824, + 17041, 5971, 11979, 485, 15596, + 17041, 5971, 11979, 485, 17842, + 17041, 5971, 13287, 485, 11752, + 17041, 5971, 13287, 485, 14824, + 17041, 5971, 13287, 485, 15596, + 17041, 5971, 13287, 485, 17842, + 17041, 5971, 13451, 485, 11752, + 17041, 5971, 13451, 485, 14824, + 17041, 5971, 13451, 485, 15596, + 17041, 5971, 13451, 485, 17842, + 17041, 5971, 13737, 485, 11752, + 17041, 5971, 13737, 485, 14824, + 17041, 5971, 13737, 485, 15596, + 17041, 5971, 13737, 485, 17842, + 17041, 5971, 14049, 12418, + 17041, 5971, 14951, 485, 11752, + 17041, 5971, 14951, 485, 14824, + 17041, 5971, 14951, 485, 15596, + 17041, 5971, 14951, 485, 17842, + 17041, 5971, 17408, + 17041, 5971, 17410, + 17041, 5971, 17412, + 17041, 5971, 17414, + 17041, 5971, 17416, + 17041, 5971, 17418, + 17041, 5971, 17420, + 17041, 5971, 17422, + 17041, 5971, 17424, + 17041, 5971, 18784, + 17041, 5971, 18786, + 17041, 5971, 18788, + 17041, 5971, 18790, + 17041, 5971, 18792, + 17041, 5971, 18794, + 17041, 5971, 18796, + 17041, 5971, 18798, + 17041, 5971, 18800, + 17041, 5971, 18802, + 17041, 5971, 18804, + 17041, 5971, 18806, + 17048, + 17052, + 17055, 14033, 15672, + 17057, 2106, + 17059, 1019, 6718, + 17059, 6718, + 17070, + 17071, 7414, + 17077, 16957, 6779, 6431, 10641, 1216, + 17077, 16957, 6779, 6431, 10641, 11772, + 17077, 16957, 14999, 270, + 17077, 16957, 14999, 528, + 17077, 16957, 14999, 2536, + 17077, 16957, 14999, 3220, + 17077, 16957, 14999, 5818, + 17077, 16957, 14999, 7156, + 17077, 16957, 14999, 7596, + 17077, 16957, 14999, 9776, + 17077, 16957, 14999, 10810, + 17077, 16957, 14999, 11424, + 17077, 16957, 14999, 12204, + 17077, 16957, 14999, 13400, + 17077, 16957, 14999, 14196, + 17077, 16957, 14999, 14546, + 17077, 16957, 14999, 14978, + 17077, 16957, 14999, 15474, + 17077, 16957, 14999, 18300, + 17077, 16957, 14999, 22956, + 17077, 16957, 15233, 2610, + 17077, 16957, 15233, 2611, 16502, + 17077, 16957, 15233, 3232, + 17077, 16957, 15233, 3356, + 17077, 16957, 15233, 6778, + 17077, 16957, 15233, 13736, + 17077, 16957, 15233, 15820, + 17077, 16957, 15811, 17179, 8320, + 17077, 16957, 17179, 8320, + 17084, + 17087, 8852, + 17091, 15673, 14392, + 17093, 1016, + 17093, 13806, + 17094, + 17123, 12563, 6779, 17045, 18461, 9950, + 17123, 13759, 18387, 11393, 19407, 11476, + 17123, 13759, 18387, 11393, 20375, 11476, + 17123, 16135, 11584, + 17123, 17254, + 17123, 17255, 10641, 20181, 15642, + 17123, 17255, 18386, + 17123, 17255, 19541, 15650, + 17127, 5808, + 17131, 13657, 15380, + 17133, 497, 3245, 12095, 18228, + 17134, + 17136, + 17139, 12277, 11571, 12275, 14418, + 17139, 12563, 6779, 17045, 11571, 6122, + 17139, 14049, 6779, 17045, 6122, + 17139, 14725, 12275, 14418, + 17139, 16111, 32, + 17144, + 17147, 13497, 10641, 9704, + 17154, + 17172, + 17174, + 17179, 9854, + 17180, + 17185, 8320, + 17194, + 17201, 2643, 485, 6768, + 17205, 494, + 17205, 6572, + 17205, 9855, 13052, + 17205, 9855, 15868, + 17205, 9855, 17218, + 17205, 9855, 17486, + 17205, 9855, 17610, + 17205, 9855, 17652, + 17205, 9855, 20552, + 17205, 9855, 20756, + 17205, 9855, 20974, + 17205, 11854, + 17205, 11905, 2610, + 17205, 11905, 3076, + 17205, 11905, 3356, + 17205, 11905, 6756, + 17205, 11905, 6778, + 17205, 11905, 8780, + 17205, 11905, 10900, + 17205, 11905, 11978, + 17205, 11905, 13450, + 17205, 11905, 13736, + 17205, 12035, 13507, 14003, 8320, + 17205, 13651, 8320, + 17205, 14003, 9855, 8, + 17205, 14003, 9855, 16, + 17205, 14003, 9855, 28, + 17205, 14003, 9855, 40, + 17205, 14003, 9855, 58, + 17205, 14003, 9855, 72, + 17205, 14003, 9855, 94, + 17205, 14003, 9855, 308, + 17205, 14003, 9855, 676, + 17205, 14003, 9855, 17493, 22, + 17205, 14003, 9855, 17493, 34, + 17205, 14003, 9855, 17493, 396, + 17205, 14003, 9855, 17493, 582, + 17205, 14003, 18319, 8320, + 17205, 14625, 11854, + 17205, 14999, 0, + 17205, 14999, 8, + 17205, 14999, 16, + 17205, 14999, 28, + 17205, 14999, 40, + 17205, 14999, 58, + 17205, 14999, 72, + 17205, 14999, 94, + 17205, 14999, 106, + 17205, 14999, 124, + 17205, 14999, 148, + 17205, 14999, 244, + 17205, 14999, 266, + 17205, 14999, 308, + 17205, 14999, 336, + 17205, 14999, 350, + 17205, 14999, 384, + 17205, 14999, 416, + 17205, 14999, 448, + 17205, 14999, 522, + 17205, 14999, 572, + 17205, 14999, 588, + 17205, 14999, 622, + 17205, 14999, 676, + 17205, 14999, 680, + 17205, 14999, 734, + 17205, 14999, 932, + 17205, 14999, 1044, + 17205, 14999, 1142, + 17205, 14999, 1164, + 17205, 14999, 1492, + 17205, 14999, 1796, + 17205, 14999, 1914, + 17205, 14999, 2152, + 17205, 14999, 2444, + 17205, 14999, 2492, + 17205, 14999, 2556, + 17205, 14999, 2676, + 17205, 14999, 3048, + 17205, 14999, 3114, + 17205, 14999, 3242, + 17205, 14999, 3322, + 17205, 14999, 6314, + 17205, 14999, 10264, + 17205, 14999, 17493, 22, + 17205, 14999, 17493, 34, + 17205, 14999, 17493, 396, + 17205, 14999, 17493, 582, + 17205, 15483, 8320, + 17205, 17179, 15066, + 17205, 17179, 15068, + 17205, 19618, + 17205, 20166, + 17205, 20989, 9854, + 17205, 21041, 9854, + 17207, 14999, 70, + 17207, 14999, 302, + 17207, 14999, 496, + 17207, 14999, 504, + 17207, 14999, 602, + 17207, 14999, 670, + 17207, 14999, 798, + 17207, 14999, 822, + 17207, 14999, 828, + 17207, 14999, 860, + 17207, 14999, 864, + 17207, 14999, 872, + 17207, 14999, 942, + 17207, 14999, 1264, + 17207, 14999, 1266, + 17207, 14999, 1278, + 17207, 14999, 1314, + 17207, 14999, 1364, + 17207, 14999, 1436, + 17207, 14999, 1738, + 17207, 14999, 1740, + 17207, 14999, 2536, + 17207, 14999, 2584, + 17207, 14999, 2602, + 17207, 14999, 2632, + 17207, 14999, 3298, + 17207, 14999, 3494, + 17207, 14999, 3558, + 17207, 14999, 3692, + 17207, 14999, 3704, + 17207, 14999, 3844, + 17207, 14999, 6352, + 17207, 14999, 7322, + 17207, 14999, 7666, + 17207, 14999, 7880, + 17207, 14999, 8442, + 17207, 14999, 9168, + 17207, 14999, 9228, + 17207, 14999, 9512, + 17207, 14999, 9982, + 17207, 14999, 10158, + 17207, 14999, 10646, + 17207, 14999, 11474, + 17207, 14999, 12250, + 17207, 14999, 12420, + 17207, 14999, 13726, + 17207, 14999, 14482, + 17207, 14999, 16790, + 17217, 17074, + 17219, 1299, 485, 10133, 8320, + 17219, 9855, 13052, + 17219, 9855, 15868, + 17219, 9855, 17218, + 17219, 9855, 17486, + 17219, 9855, 17610, + 17219, 9855, 20552, + 17219, 11854, + 17219, 14003, 9855, 8, + 17219, 14003, 9855, 16, + 17219, 14003, 9855, 28, + 17219, 14003, 9855, 40, + 17219, 14003, 9855, 58, + 17219, 14003, 9855, 72, + 17219, 14003, 9855, 94, + 17219, 14003, 9855, 308, + 17219, 14003, 9855, 676, + 17219, 14003, 9855, 17493, 34, + 17219, 14003, 9855, 17493, 582, + 17219, 14003, 9855, 18891, 40, + 17219, 14003, 9855, 18891, 676, + 17219, 14625, 11854, + 17219, 14999, 0, + 17219, 14999, 8, + 17219, 14999, 16, + 17219, 14999, 28, + 17219, 14999, 40, + 17219, 14999, 58, + 17219, 14999, 72, + 17219, 14999, 94, + 17219, 14999, 106, + 17219, 14999, 124, + 17219, 14999, 148, + 17219, 14999, 244, + 17219, 14999, 266, + 17219, 14999, 308, + 17219, 14999, 336, + 17219, 14999, 350, + 17219, 14999, 384, + 17219, 14999, 416, + 17219, 14999, 448, + 17219, 14999, 522, + 17219, 14999, 572, + 17219, 14999, 588, + 17219, 14999, 622, + 17219, 14999, 676, + 17219, 14999, 680, + 17219, 14999, 734, + 17219, 14999, 932, + 17219, 14999, 1044, + 17219, 14999, 1142, + 17219, 14999, 1164, + 17219, 14999, 1492, + 17219, 14999, 1796, + 17219, 14999, 1914, + 17219, 14999, 2444, + 17219, 14999, 2492, + 17219, 14999, 2556, + 17219, 14999, 2676, + 17219, 14999, 3048, + 17219, 14999, 3114, + 17219, 14999, 3242, + 17219, 14999, 3322, + 17219, 14999, 6314, + 17219, 14999, 10264, + 17219, 14999, 17493, 22, + 17219, 14999, 17493, 34, + 17219, 14999, 17493, 396, + 17219, 14999, 17493, 582, + 17219, 14999, 18891, 40, + 17219, 14999, 20499, 18891, 16, + 17219, 14999, 20499, 18891, 308, + 17219, 14999, 21241, 18891, 16, + 17219, 17179, 8321, 10641, 9475, 843, 14623, 14625, 19026, + 17219, 17179, 8321, 10641, 9475, 843, 14623, 15781, 19026, + 17219, 17179, 8321, 10641, 9475, 843, 14623, 19026, + 17219, 17179, 8321, 10641, 14625, 19026, + 17219, 17179, 8321, 10641, 15781, 19026, + 17219, 17179, 8321, 10641, 16155, 843, 3357, 20110, + 17219, 17179, 8321, 10641, 16155, 843, 6779, 20110, + 17219, 17179, 8321, 10641, 16155, 843, 9474, + 17219, 17179, 8321, 10641, 17397, 843, 14623, 19026, + 17219, 17179, 8321, 10641, 17397, 843, 18825, 19490, + 17219, 17179, 8321, 10641, 18581, 19026, + 17219, 17179, 8321, 10641, 19553, 19026, + 17219, 17179, 8321, 14625, 9502, + 17219, 17179, 8321, 14625, 9503, 10641, 9474, + 17219, 19619, 896, + 17219, 19619, 1216, + 17219, 20357, 15066, + 17219, 20357, 15068, + 17219, 20357, 15070, + 17223, 505, 19408, + 17223, 505, 21096, + 17223, 11393, 19409, 11393, 14647, 9854, + 17223, 11393, 21097, 11393, 14647, 9854, + 17223, 12741, 17222, + 17227, 7871, 11905, 2610, + 17227, 7871, 11905, 3076, + 17227, 7871, 11905, 3356, + 17227, 7871, 11905, 6756, + 17227, 7871, 11905, 6778, + 17227, 7871, 11905, 8780, + 17227, 7871, 11905, 10900, + 17227, 7871, 11905, 11978, + 17227, 7871, 11905, 13450, + 17227, 7871, 11905, 13736, + 17227, 9855, 18886, + 17227, 9855, 19834, + 17227, 9855, 19874, + 17227, 14003, 9855, 6401, 16588, + 17227, 14003, 9855, 6401, 18188, + 17227, 14003, 9855, 6401, 19494, + 17227, 14003, 9855, 6401, 19856, + 17227, 14003, 9855, 6401, 20700, + 17227, 14003, 9855, 6401, 21090, + 17227, 14003, 9855, 12461, 18188, + 17227, 14003, 9855, 12461, 19494, + 17227, 14003, 9855, 12461, 19856, + 17227, 14003, 9855, 12491, 6360, + 17227, 14003, 9855, 16588, + 17227, 14003, 9855, 16589, 1579, 6401, 19858, + 17227, 14003, 9855, 16589, 1579, 19858, + 17227, 14003, 9855, 16589, 1579, 20700, + 17227, 14003, 9855, 19858, + 17227, 14003, 9855, 20700, + 17227, 14003, 9855, 21090, + 17227, 14999, 5265, 16050, + 17227, 14999, 14334, + 17227, 14999, 14658, + 17227, 14999, 14884, + 17227, 14999, 15282, + 17227, 14999, 15852, + 17227, 14999, 15950, + 17227, 14999, 15964, + 17227, 14999, 15976, + 17227, 14999, 16020, + 17227, 14999, 16223, 16704, + 17227, 14999, 16223, 16840, + 17227, 14999, 16223, 17166, + 17227, 14999, 16354, + 17227, 14999, 16392, + 17227, 14999, 16484, + 17227, 14999, 16512, + 17227, 14999, 16555, 20272, + 17227, 14999, 16784, + 17227, 14999, 16932, + 17227, 14999, 17104, + 17227, 14999, 17159, 16228, + 17227, 14999, 17159, 16430, + 17227, 14999, 17159, 16542, + 17227, 14999, 17159, 17820, + 17227, 14999, 17333, 17166, + 17227, 14999, 17333, 18563, 20812, + 17227, 14999, 17333, 20272, + 17227, 14999, 17466, + 17227, 14999, 17474, + 17227, 14999, 17532, + 17227, 14999, 17586, + 17227, 14999, 18160, + 17227, 14999, 18186, + 17227, 14999, 19342, + 17227, 14999, 19364, + 17227, 14999, 19457, 16704, + 17227, 14999, 19457, 16840, + 17227, 14999, 19457, 17166, + 17227, 14999, 19865, 16050, + 17227, 14999, 19865, 16118, + 17227, 14999, 19865, 16228, + 17227, 14999, 19865, 16430, + 17227, 14999, 19865, 16542, + 17227, 14999, 19865, 16562, + 17227, 14999, 19865, 16990, + 17227, 14999, 19865, 17346, + 17227, 14999, 19865, 17820, + 17227, 14999, 19865, 18810, + 17227, 14999, 20777, 16050, + 17227, 14999, 20777, 16118, + 17227, 14999, 20777, 16228, + 17227, 14999, 20777, 16430, + 17227, 14999, 20777, 16542, + 17227, 14999, 20777, 16562, + 17227, 14999, 20777, 16990, + 17227, 14999, 20777, 17346, + 17227, 14999, 20777, 17820, + 17227, 14999, 20777, 18810, + 17227, 16011, 11905, 2610, + 17227, 16011, 11905, 3076, + 17227, 16011, 11905, 3356, + 17227, 16011, 11905, 6756, + 17227, 16011, 11905, 6778, + 17227, 16011, 11905, 8780, + 17227, 16011, 11905, 11978, + 17227, 16011, 11905, 13450, + 17227, 16011, 11905, 13736, + 17227, 16011, 15233, 2611, 16502, + 17227, 16011, 15233, 2611, 18744, + 17227, 16011, 15233, 3232, + 17227, 16011, 15233, 12080, + 17227, 16011, 15233, 12108, + 17227, 16011, 15233, 13538, + 17227, 16011, 15233, 14636, + 17227, 16011, 15233, 15194, + 17227, 16011, 15233, 15736, + 17227, 16011, 15233, 15820, + 17227, 16011, 15233, 17190, + 17227, 20877, 20210, + 17233, 17045, 17642, + 17237, 12005, 635, 505, 19408, + 17237, 12005, 635, 505, 19409, 10641, 1217, 14874, + 17237, 12005, 635, 505, 21096, + 17237, 12005, 635, 505, 21097, 10641, 1217, 14874, + 17237, 12973, 11477, 10641, 14851, 7138, + 17237, 12973, 11477, 10641, 20181, 10092, + 17241, 12537, 504, + 17241, 12537, 842, + 17243, 10144, + 17243, 10145, 505, 12005, 634, + 17245, 1019, 6719, 10641, 9171, 12764, + 17245, 1019, 6719, 10641, 21105, 6604, + 17245, 6719, 10641, 7124, + 17245, 6719, 10641, 9171, 12764, + 17245, 6719, 10641, 9171, 12765, 843, 6095, 13654, + 17245, 6719, 10641, 9171, 12765, 843, 17245, 6604, + 17245, 6719, 10641, 9171, 12765, 843, 23135, 6604, + 17245, 6719, 10641, 12328, + 17245, 6719, 10641, 17245, 6604, + 17245, 6719, 10641, 20456, + 17245, 6719, 10641, 21105, 6604, + 17247, 15672, + 17248, + 17249, 17521, 9886, + 17254, + 17255, 10641, 16946, + 17260, + 17262, + 17263, 10641, 2611, 13579, 10620, + 17263, 10641, 13737, 13579, 14036, + 17263, 10641, 21033, 15642, + 17275, 136, + 17275, 268, + 17275, 288, + 17275, 298, + 17275, 442, + 17275, 456, + 17275, 490, + 17275, 590, + 17275, 608, + 17275, 671, 10641, 20685, 8320, + 17275, 688, + 17275, 698, + 17275, 1073, 17453, 22988, + 17275, 1073, 17453, 22990, + 17275, 1073, 17453, 22992, + 17275, 1073, 17453, 22994, + 17275, 1073, 17453, 22996, + 17275, 1073, 17453, 22998, + 17275, 1073, 17453, 23000, + 17275, 1073, 17453, 23002, + 17275, 1073, 17453, 23004, + 17275, 1073, 17453, 23008, + 17275, 1073, 17453, 23010, + 17275, 1073, 17453, 23012, + 17275, 1073, 17453, 23014, + 17275, 1073, 17453, 23016, + 17275, 1073, 17453, 23018, + 17275, 1073, 17453, 23020, + 17275, 1073, 17453, 23022, + 17275, 1073, 17453, 23024, + 17275, 1073, 17453, 23028, + 17275, 1073, 17453, 23030, + 17275, 1073, 17453, 23032, + 17275, 1073, 17453, 23034, + 17275, 1073, 17453, 23036, + 17275, 1073, 17453, 23038, + 17275, 1073, 17453, 23040, + 17275, 1073, 17453, 23044, + 17275, 1073, 17453, 23046, + 17275, 1073, 17453, 23048, + 17275, 1073, 17453, 23050, + 17275, 1073, 17453, 23052, + 17275, 1073, 17453, 23056, + 17275, 1073, 17453, 23058, + 17275, 1073, 17453, 23062, + 17275, 1073, 17453, 23064, + 17275, 1073, 17453, 23066, + 17275, 1073, 17453, 23070, + 17275, 1073, 17453, 23072, + 17275, 1073, 17453, 23074, + 17275, 1073, 17453, 23076, + 17275, 1073, 17453, 23078, + 17275, 1073, 17453, 23080, + 17275, 1073, 17453, 23082, + 17275, 1073, 17453, 23084, + 17275, 1217, 18386, + 17275, 1604, + 17275, 1912, + 17275, 2440, + 17275, 2611, 16503, 15821, 30, + 17275, 2720, + 17275, 3058, + 17275, 3100, + 17275, 3357, 20, + 17275, 3392, + 17275, 3480, + 17275, 6100, + 17275, 6757, 13251, 2610, + 17275, 6779, 20, + 17275, 6779, 1217, 20876, + 17275, 6780, + 17275, 9286, + 17275, 11979, 20, + 17275, 12541, 13563, 14999, 6, + 17275, 12541, 16111, 14999, 0, + 17275, 12541, 16111, 14999, 2, + 17275, 12541, 16111, 14999, 4, + 17275, 12541, 16111, 14999, 6, + 17275, 12541, 16111, 14999, 8, + 17275, 12541, 16111, 14999, 10, + 17275, 12541, 16111, 14999, 12, + 17275, 12541, 16111, 14999, 14, + 17275, 12541, 16111, 14999, 16, + 17275, 12541, 16111, 14999, 18, + 17275, 12541, 16111, 14999, 20, + 17275, 12541, 16111, 14999, 22, + 17275, 12541, 16111, 14999, 24, + 17275, 12541, 16111, 14999, 26, + 17275, 12541, 16111, 14999, 28, + 17275, 12541, 16111, 14999, 30, + 17275, 12541, 16111, 14999, 32, + 17275, 12541, 16111, 14999, 34, + 17275, 12541, 16111, 14999, 36, + 17275, 12541, 16111, 14999, 38, + 17275, 12541, 16111, 14999, 40, + 17275, 12541, 16111, 14999, 42, + 17275, 12541, 16111, 14999, 44, + 17275, 12541, 16111, 14999, 46, + 17275, 12541, 16111, 14999, 48, + 17275, 12541, 16111, 14999, 50, + 17275, 12740, + 17275, 13451, 13251, 2610, + 17275, 13539, 30, + 17275, 13563, 14486, + 17275, 13737, 6, + 17275, 13764, + 17275, 14840, + 17275, 15451, 17839, 13546, + 17275, 15507, 15498, + 17275, 15620, + 17275, 16389, 17839, 13546, + 17275, 16727, 504, + 17275, 16727, 842, + 17275, 17154, + 17275, 17642, + 17275, 18209, 154, + 17275, 18209, 588, + 17275, 18209, 7686, + 17275, 18264, + 17275, 20497, 13251, 3356, + 17280, + 17283, 18026, + 17288, + 17305, 19264, + 17314, + 17315, 9175, 19452, + 17317, 18176, + 17320, + 17328, + 17330, + 17337, 9855, 15868, + 17337, 14003, 9855, 16, + 17337, 14003, 9855, 40, + 17337, 14999, 0, + 17337, 14999, 16, + 17337, 14999, 40, + 17337, 14999, 106, + 17337, 14999, 148, + 17337, 14999, 244, + 17337, 14999, 266, + 17337, 14999, 350, + 17337, 14999, 384, + 17337, 14999, 416, + 17337, 14999, 448, + 17337, 14999, 522, + 17337, 14999, 588, + 17337, 14999, 622, + 17337, 14999, 694, + 17337, 14999, 734, + 17337, 14999, 2444, + 17365, 16034, + 17367, 20957, 19407, 20683, 18906, + 17367, 20957, 20375, 18906, + 17367, 20957, 20375, 20683, 18906, + 17367, 21139, 19215, 20683, 18906, + 17367, 22923, 17463, 20683, 18906, + 17367, 22975, 20375, 18906, + 17371, 11749, 843, 9466, + 17373, 371, 585, 1914, + 17373, 371, 585, 1915, 5901, 2307, 1012, + 17373, 8321, 845, 12467, 7090, + 17373, 8321, 845, 12467, 7096, + 17373, 8321, 1047, 2294, + 17373, 8321, 1545, 13365, 7090, + 17373, 8321, 1545, 13365, 7096, + 17373, 8321, 2921, 6029, 15619, 9742, + 17373, 8321, 3309, 11028, + 17373, 8321, 3713, 2295, 13831, 9743, 416, + 17373, 8321, 5841, 9789, 255, 2295, 13332, + 17373, 8321, 5841, 9789, 3713, 2294, + 17373, 8321, 7063, 3713, 2295, 767, 7063, 13831, 416, + 17373, 8321, 7063, 3713, 2295, 767, 9511, 5795, 416, + 17373, 8321, 7063, 3713, 2295, 19805, 0, + 17373, 8321, 7063, 13830, + 17373, 8321, 8715, 11627, 2563, 3840, + 17373, 8321, 8715, 11627, 9733, 13364, + 17373, 8321, 8971, 9742, + 17373, 8321, 8971, 13830, + 17373, 8321, 8971, 13831, 9742, + 17373, 8321, 9493, 7059, 9742, + 17373, 8321, 9742, + 17373, 8321, 11607, 13364, + 17373, 8321, 11609, 9789, 255, 2295, 13332, + 17373, 8321, 11611, 3713, 2294, + 17373, 8321, 11653, 3713, 2295, 9251, 9743, 416, + 17373, 8321, 11653, 11027, 13365, 425, 7883, 1012, + 17373, 8321, 11653, 11027, 13365, 5901, 2307, 1012, + 17373, 8321, 12747, 3713, 255, 2295, 13332, + 17373, 8321, 13431, 9742, + 17373, 8321, 13831, 9742, + 17373, 8321, 15296, + 17373, 8321, 16161, 3713, 2295, 9729, 416, + 17373, 8321, 16161, 5871, 15455, 3713, 2295, 9729, 416, + 17373, 8321, 16468, + 17373, 8321, 16525, 3713, 2295, 8351, 416, + 17373, 8321, 16525, 5871, 15455, 3713, 2295, 8351, 416, + 17373, 8321, 16707, 12681, 13364, + 17373, 8321, 18769, 12681, 13364, + 17373, 8321, 19049, 13831, 11612, + 17373, 8321, 22853, 13830, + 17373, 9855, 1537, 1013, 17124, + 17373, 9855, 1537, 2277, 17124, + 17373, 9855, 2099, 3309, 1012, + 17373, 9855, 2101, 13364, + 17373, 9855, 2251, 13832, + 17373, 9855, 2563, 3841, 2387, 148, + 17373, 9855, 3085, 7808, + 17373, 9855, 3677, 13832, + 17373, 9855, 8349, 1012, + 17373, 9855, 9477, 2391, 6944, + 17373, 9855, 9477, 2391, 7060, + 17373, 9855, 9477, 2391, 9477, 6412, + 17373, 9855, 9477, 2391, 12218, + 17373, 9855, 9477, 6413, 6944, + 17373, 9855, 9477, 6413, 7060, + 17373, 9855, 9477, 6413, 9477, 2390, + 17373, 9855, 9477, 6413, 12218, + 17373, 9855, 9509, 613, 2445, 580, + 17373, 9855, 9511, 5794, + 17373, 9855, 10751, 13364, + 17373, 9855, 18183, 8349, 1012, + 17373, 11905, 2610, + 17373, 11905, 3076, + 17373, 11905, 3356, + 17373, 11905, 6756, + 17373, 11905, 6778, + 17373, 11905, 7123, 2610, + 17373, 11905, 7123, 3076, + 17373, 11905, 7123, 3356, + 17373, 11905, 7123, 6756, + 17373, 11905, 7123, 6778, + 17373, 11905, 7123, 8780, + 17373, 11905, 7123, 10900, + 17373, 11905, 7123, 11978, + 17373, 11905, 7123, 13450, + 17373, 11905, 7123, 13736, + 17373, 11905, 8780, + 17373, 11905, 10900, + 17373, 11905, 11978, + 17373, 11905, 13450, + 17373, 11905, 13736, + 17373, 14003, 9855, 8, + 17373, 14003, 9855, 16, + 17373, 14003, 9855, 28, + 17373, 14003, 9855, 40, + 17373, 14003, 9855, 58, + 17373, 14003, 9855, 184, + 17373, 14003, 9855, 308, + 17373, 14003, 9855, 498, + 17373, 14003, 9855, 676, + 17373, 14003, 9855, 17493, 22, + 17373, 14003, 9855, 17493, 34, + 17373, 14003, 9855, 17493, 396, + 17373, 14003, 9855, 17493, 582, + 17373, 14003, 9855, 18543, 16, + 17373, 14003, 9855, 18543, 308, + 17373, 14999, 0, + 17373, 14999, 52, + 17373, 14999, 106, + 17373, 14999, 124, + 17373, 14999, 148, + 17373, 14999, 244, + 17373, 14999, 266, + 17373, 14999, 336, + 17373, 14999, 350, + 17373, 14999, 384, + 17373, 14999, 416, + 17373, 14999, 448, + 17373, 14999, 522, + 17373, 14999, 572, + 17373, 14999, 588, + 17373, 14999, 622, + 17373, 14999, 694, + 17373, 14999, 734, + 17373, 14999, 752, + 17373, 14999, 932, + 17373, 14999, 1044, + 17373, 14999, 1142, + 17373, 14999, 1164, + 17373, 14999, 1254, + 17373, 14999, 1492, + 17373, 14999, 1914, + 17373, 14999, 1952, + 17373, 14999, 2444, + 17373, 14999, 2492, + 17373, 14999, 2556, + 17373, 14999, 2676, + 17373, 14999, 2956, + 17373, 14999, 3048, + 17373, 14999, 3114, + 17373, 14999, 3242, + 17373, 14999, 3308, + 17373, 14999, 3322, + 17373, 14999, 3812, + 17373, 14999, 6314, + 17373, 14999, 6470, + 17373, 14999, 7708, + 17373, 14999, 10240, + 17373, 14999, 10264, + 17373, 14999, 20141, 572, + 17373, 15673, 2509, 120, + 17373, 15673, 2509, 121, 5901, 14232, + 17373, 15673, 2509, 121, 7061, 14232, + 17373, 15673, 2509, 121, 8971, 14232, + 17373, 15673, 2895, 2924, + 17373, 15673, 2895, 2925, 9493, 7058, + 17373, 15673, 6439, 120, + 17373, 15673, 9251, 522, + 17373, 15673, 13173, 6946, + 17373, 18259, 9855, 6009, 13364, + 17373, 18259, 9855, 7829, 13364, + 17373, 18697, 494, + 17373, 19667, 9855, 2099, 3309, 1012, + 17373, 19667, 9855, 8349, 1012, + 17373, 19667, 9855, 18183, 8349, 1012, + 17373, 19667, 14999, 0, + 17373, 19667, 14999, 52, + 17373, 19667, 14999, 106, + 17373, 19667, 14999, 124, + 17373, 19667, 14999, 148, + 17373, 19667, 14999, 244, + 17373, 19667, 14999, 266, + 17373, 19667, 14999, 336, + 17373, 19667, 14999, 350, + 17373, 19667, 14999, 384, + 17373, 19667, 14999, 416, + 17373, 19667, 14999, 448, + 17373, 19667, 14999, 522, + 17373, 19667, 14999, 572, + 17373, 19667, 14999, 588, + 17373, 19667, 14999, 622, + 17373, 19667, 14999, 694, + 17373, 19667, 14999, 734, + 17373, 19667, 14999, 752, + 17373, 19667, 14999, 932, + 17373, 19667, 14999, 1044, + 17373, 19667, 14999, 1142, + 17373, 19667, 14999, 1164, + 17373, 19667, 14999, 1254, + 17373, 19667, 14999, 1492, + 17373, 19667, 14999, 1914, + 17373, 19667, 14999, 2444, + 17373, 19667, 14999, 2492, + 17373, 19667, 14999, 2556, + 17373, 19667, 14999, 2676, + 17373, 19667, 14999, 3048, + 17373, 19667, 14999, 3114, + 17373, 19667, 14999, 3242, + 17373, 19667, 14999, 3308, + 17373, 19667, 14999, 3322, + 17373, 19667, 14999, 3812, + 17373, 19667, 14999, 6314, + 17373, 19667, 14999, 6470, + 17373, 19667, 14999, 7708, + 17373, 19667, 14999, 10240, + 17373, 19667, 14999, 10264, + 17373, 19667, 14999, 20141, 572, + 17373, 19667, 14999, 20141, 694, + 17373, 19667, 14999, 20141, 734, + 17373, 21007, 9855, 9735, 6943, 11025, 13364, + 17373, 21007, 9855, 13437, 15796, + 17373, 21007, 9855, 14235, 522, + 17373, 21035, 9855, 5967, 10114, + 17373, 21035, 9855, 9707, 11022, + 17373, 21035, 9855, 12277, 5802, + 17373, 21035, 9855, 12563, 5802, + 17381, 494, + 17381, 5272, + 17381, 9855, 13052, + 17381, 9855, 15868, + 17381, 9855, 17486, + 17381, 9855, 17610, + 17381, 9855, 17652, + 17381, 9855, 20552, + 17381, 11905, 2610, + 17381, 11905, 3076, + 17381, 11905, 3356, + 17381, 11905, 6756, + 17381, 11905, 6778, + 17381, 11905, 8780, + 17381, 11905, 10900, + 17381, 11905, 11978, + 17381, 11905, 13450, + 17381, 11905, 13736, + 17381, 12246, + 17381, 14003, 9855, 8, + 17381, 14003, 9855, 16, + 17381, 14003, 9855, 28, + 17381, 14003, 9855, 40, + 17381, 14003, 9855, 58, + 17381, 14003, 9855, 72, + 17381, 14003, 9855, 94, + 17381, 14003, 9855, 308, + 17381, 14003, 9855, 676, + 17381, 14003, 9855, 13507, 8, + 17381, 14003, 9855, 13507, 28, + 17381, 14003, 9855, 17493, 22, + 17381, 14003, 9855, 17493, 34, + 17381, 14003, 9855, 17493, 396, + 17381, 14003, 9855, 17493, 582, + 17381, 14999, 0, + 17381, 14999, 8, + 17381, 14999, 16, + 17381, 14999, 28, + 17381, 14999, 40, + 17381, 14999, 58, + 17381, 14999, 72, + 17381, 14999, 94, + 17381, 14999, 106, + 17381, 14999, 124, + 17381, 14999, 148, + 17381, 14999, 244, + 17381, 14999, 266, + 17381, 14999, 308, + 17381, 14999, 336, + 17381, 14999, 350, + 17381, 14999, 384, + 17381, 14999, 416, + 17381, 14999, 448, + 17381, 14999, 522, + 17381, 14999, 572, + 17381, 14999, 588, + 17381, 14999, 622, + 17381, 14999, 676, + 17381, 14999, 680, + 17381, 14999, 734, + 17381, 14999, 932, + 17381, 14999, 1044, + 17381, 14999, 1142, + 17381, 14999, 1164, + 17381, 14999, 1492, + 17381, 14999, 1796, + 17381, 14999, 1914, + 17381, 14999, 2444, + 17381, 14999, 2492, + 17381, 14999, 2556, + 17381, 14999, 2676, + 17381, 14999, 3048, + 17381, 14999, 3114, + 17381, 14999, 3242, + 17381, 14999, 3322, + 17381, 14999, 6314, + 17381, 14999, 10264, + 17381, 14999, 17493, 22, + 17381, 14999, 17493, 34, + 17381, 14999, 17493, 396, + 17381, 14999, 17493, 582, + 17381, 20989, 9854, + 17390, + 17397, 14640, + 17399, 1397, 6746, + 17399, 1397, 7788, + 17399, 1397, 10634, + 17399, 1397, 11968, + 17399, 1397, 14032, + 17399, 1397, 14826, + 17399, 1397, 17370, + 17399, 1397, 18330, + 17426, + 17433, 12212, + 17437, 7865, 9854, + 17441, 20375, 14312, + 17451, 6718, + 17463, 3357, 14823, 11476, + 17463, 11476, + 17463, 11477, 635, 896, + 17463, 11477, 6785, 896, + 17463, 11477, 10641, 3265, 19406, + 17463, 11477, 10641, 3265, 20374, + 17463, 11477, 10641, 12537, 18775, 18906, + 17463, 11477, 10641, 13563, 18775, 18906, + 17463, 11477, 10641, 13563, 20683, 18906, + 17463, 11477, 10641, 14625, 15642, + 17463, 11477, 10641, 15095, 18775, 18906, + 17463, 11477, 10641, 16891, 10092, + 17463, 11477, 10641, 20181, 15642, + 17463, 11477, 10641, 20683, 18906, + 17463, 11477, 19407, 485, 19215, 11476, + 17463, 11571, 11476, + 17463, 11571, 16153, 14049, 11476, + 17463, 12277, 11476, + 17463, 12277, 19931, 11476, + 17463, 14049, 11476, + 17463, 14049, 11477, 497, 18442, + 17463, 14049, 11477, 497, 18443, 10641, 18847, 896, + 17463, 14049, 11477, 497, 18443, 10641, 20181, 896, + 17463, 14049, 11477, 6785, 896, + 17463, 14049, 11477, 6785, 897, 10641, 20181, 896, + 17463, 14049, 11477, 15901, 18775, 18906, + 17463, 14049, 14625, 11476, + 17463, 14049, 14625, 11477, 497, 18442, + 17463, 14286, + 17463, 14555, 11476, + 17463, 14625, 11476, + 17463, 15291, 14312, + 17463, 15456, + 17463, 15781, 11476, + 17463, 16481, 10641, 5741, 7817, 635, 896, + 17463, 16481, 10641, 5741, 7817, 6785, 896, + 17463, 16481, 10641, 5741, 7817, 14373, 17463, 16481, 10641, 5741, 13340, + 17463, 16481, 10641, 5741, 7817, 14373, 19215, 16481, 10641, 5741, 13340, + 17463, 16481, 10641, 5741, 13341, 635, 896, + 17463, 16481, 10641, 5741, 13341, 6785, 896, + 17463, 16481, 10641, 5741, 19406, + 17463, 16481, 10641, 5741, 20374, + 17463, 17275, 11476, + 17463, 18775, 18906, + 17463, 19553, 11476, + 17463, 19931, 11476, + 17463, 20377, 11476, + 17463, 20501, 11477, 6785, 13563, 14486, + 17463, 20501, 11477, 10641, 18775, 19890, + 17463, 20687, 11476, + 17463, 23305, 11476, + 17463, 23305, 11477, 635, 896, + 17463, 23305, 11477, 10641, 5853, 13456, + 17463, 23305, 11477, 10641, 7883, 3265, 19406, + 17463, 23305, 11477, 10641, 7883, 3265, 20374, + 17463, 23305, 11477, 10641, 10533, 12277, 13456, + 17463, 23305, 11477, 10641, 12277, 13456, + 17463, 23305, 11477, 10641, 14625, 20181, 15642, + 17463, 23305, 11477, 10641, 15095, 13456, + 17463, 23305, 11477, 10641, 15155, 13456, + 17463, 23305, 11477, 19407, 485, 19215, 23305, 11476, + 17463, 23305, 14555, 11476, + 17463, 23305, 15291, 14312, + 17479, 7126, + 17498, + 17505, 9854, + 17508, + 17519, 6718, + 17523, 6718, + 17527, 17066, + 17529, 7126, + 17583, 14299, 6777, 17202, + 17583, 19759, 18692, + 17588, + 17589, 17634, + 17589, 19054, + 17601, 18076, + 17605, 9854, + 17620, + 17631, 6437, 9854, + 17631, 6793, 9956, + 17631, 11762, + 17631, 13563, 14999, 124, + 17631, 13563, 14999, 140, + 17631, 13563, 14999, 148, + 17631, 13563, 14999, 190, + 17631, 13563, 14999, 212, + 17631, 13563, 14999, 282, + 17631, 13563, 14999, 336, + 17631, 13563, 14999, 486, + 17631, 13563, 14999, 572, + 17631, 13563, 14999, 634, + 17631, 13563, 14999, 686, + 17631, 13563, 14999, 738, + 17631, 13563, 14999, 752, + 17631, 13563, 14999, 876, + 17631, 13563, 14999, 924, + 17631, 13563, 14999, 1044, + 17631, 13563, 14999, 1268, + 17631, 13563, 14999, 1366, + 17631, 13563, 14999, 1510, + 17631, 13563, 14999, 1758, + 17631, 13563, 14999, 1898, + 17631, 13563, 14999, 1900, + 17631, 13563, 14999, 2282, + 17631, 13563, 14999, 2512, + 17631, 13563, 14999, 2666, + 17631, 13563, 14999, 2900, + 17631, 13563, 14999, 3038, + 17631, 13563, 14999, 3048, + 17631, 13563, 14999, 3464, + 17631, 13563, 14999, 3598, + 17631, 13563, 14999, 3814, + 17631, 13563, 14999, 6026, + 17631, 13563, 14999, 7008, + 17631, 13563, 14999, 7474, + 17631, 13563, 14999, 7872, + 17631, 13563, 14999, 9274, + 17631, 13563, 14999, 10200, + 17631, 13563, 14999, 10802, + 17631, 13563, 18249, 1269, 10802, + 17631, 13563, 18249, 2283, 1268, + 17631, 13563, 18249, 2283, 1758, + 17631, 13563, 18249, 2283, 2512, + 17631, 13563, 18249, 2283, 3598, + 17631, 13563, 18249, 3465, 2512, + 17631, 14856, + 17631, 16111, 14999, 124, + 17631, 16111, 14999, 140, + 17631, 16111, 14999, 148, + 17631, 16111, 14999, 190, + 17631, 16111, 14999, 212, + 17631, 16111, 14999, 282, + 17631, 16111, 14999, 336, + 17631, 16111, 14999, 486, + 17631, 16111, 14999, 572, + 17631, 16111, 14999, 634, + 17631, 16111, 14999, 686, + 17631, 16111, 14999, 738, + 17631, 16111, 14999, 752, + 17631, 16111, 14999, 876, + 17631, 16111, 14999, 924, + 17631, 16111, 14999, 1044, + 17631, 16111, 14999, 1268, + 17631, 16111, 14999, 1366, + 17631, 16111, 14999, 1510, + 17631, 16111, 14999, 1758, + 17631, 16111, 14999, 1898, + 17631, 16111, 14999, 1900, + 17631, 16111, 14999, 2282, + 17631, 16111, 14999, 2512, + 17631, 16111, 14999, 2666, + 17631, 16111, 14999, 2900, + 17631, 16111, 14999, 3038, + 17631, 16111, 14999, 3048, + 17631, 16111, 14999, 3464, + 17631, 16111, 14999, 3598, + 17631, 16111, 14999, 3814, + 17631, 16111, 14999, 6026, + 17631, 16111, 14999, 7008, + 17631, 16111, 14999, 7474, + 17631, 16111, 14999, 7872, + 17631, 16111, 14999, 9274, + 17631, 16111, 14999, 10200, + 17631, 16111, 14999, 10802, + 17631, 18021, 8320, + 17631, 18319, 14999, 7817, 7123, 9502, + 17631, 18511, 8320, + 17631, 19880, + 17631, 20685, 8320, + 17631, 20989, 8320, + 17642, + 17643, 18386, + 17644, + 17647, 9786, + 17657, 11642, + 17659, 11594, + 17661, 5223, 5222, + 17661, 9855, 3397, 13334, + 17661, 9855, 3397, 14434, + 17661, 9855, 11568, + 17661, 9855, 11678, + 17661, 9855, 15662, + 17661, 9855, 17118, + 17661, 11655, 9858, + 17661, 11655, 16984, + 17661, 11655, 19502, + 17661, 11905, 2610, + 17661, 11905, 3076, + 17661, 11905, 3356, + 17661, 11905, 6756, + 17661, 11905, 6778, + 17661, 11905, 8780, + 17661, 11905, 10900, + 17661, 11905, 11978, + 17661, 11905, 13450, + 17661, 11905, 13736, + 17661, 13180, + 17661, 14003, 9855, 385, 12554, + 17661, 14003, 9855, 385, 12555, 15704, + 17661, 14003, 9855, 573, 9482, + 17661, 14003, 9855, 573, 9483, 15704, + 17661, 14003, 9855, 3396, + 17661, 14003, 9855, 3397, 9702, + 17661, 14003, 9855, 9972, + 17661, 14003, 9855, 9973, 7422, + 17661, 14003, 9855, 13216, + 17661, 14003, 9855, 13217, 15704, + 17661, 14003, 9855, 15686, + 17661, 14003, 9855, 15687, 9482, + 17661, 14003, 9855, 15687, 9483, 15704, + 17661, 14003, 9855, 15687, 15704, + 17661, 14003, 9855, 15704, + 17661, 14056, + 17661, 14999, 106, + 17661, 14999, 107, 16566, + 17661, 14999, 124, + 17661, 14999, 125, 7778, + 17661, 14999, 148, + 17661, 14999, 149, 8310, + 17661, 14999, 149, 12781, 18888, + 17661, 14999, 149, 12781, 19420, + 17661, 14999, 187, 13424, + 17661, 14999, 244, + 17661, 14999, 245, 7054, + 17661, 14999, 266, + 17661, 14999, 336, + 17661, 14999, 337, 7466, + 17661, 14999, 350, + 17661, 14999, 351, 19420, + 17661, 14999, 384, + 17661, 14999, 385, 12554, + 17661, 14999, 385, 12555, 15704, + 17661, 14999, 416, + 17661, 14999, 448, + 17661, 14999, 449, 15424, + 17661, 14999, 522, + 17661, 14999, 523, 12432, + 17661, 14999, 572, + 17661, 14999, 573, 9482, + 17661, 14999, 573, 9483, 15704, + 17661, 14999, 588, + 17661, 14999, 589, 9686, + 17661, 14999, 589, 9698, + 17661, 14999, 622, + 17661, 14999, 623, 10106, + 17661, 14999, 623, 12538, + 17661, 14999, 623, 12781, 19420, + 17661, 14999, 683, 13424, + 17661, 14999, 694, + 17661, 14999, 734, + 17661, 14999, 1867, 13424, + 17661, 14999, 2444, + 17661, 14999, 2556, + 17661, 14999, 3795, 13424, + 17661, 14999, 7659, 13424, + 17661, 14999, 10319, 13424, + 17661, 14999, 11416, + 17661, 14999, 11417, 15704, + 17661, 14999, 11982, + 17661, 14999, 12380, + 17661, 14999, 12381, 15704, + 17661, 14999, 13138, + 17661, 14999, 13139, 15704, + 17661, 14999, 13876, + 17661, 14999, 13877, 15704, + 17661, 14999, 14274, + 17661, 14999, 14327, 13424, + 17661, 15298, + 17661, 16831, 15673, 6280, + 17661, 16831, 15673, 6281, 6956, + 17661, 16831, 15673, 6281, 15662, + 17661, 16831, 15673, 6366, + 17661, 16831, 15673, 6404, + 17661, 16831, 15673, 6424, + 17661, 16831, 15673, 6450, + 17661, 16831, 15673, 11838, + 17661, 16831, 15673, 11844, + 17661, 16831, 15673, 11894, + 17661, 16831, 15673, 19003, 7050, + 17661, 16831, 15673, 19003, 11554, + 17661, 16831, 15673, 19003, 11990, + 17661, 16831, 15673, 19003, 13700, + 17661, 16831, 15673, 19003, 14914, + 17661, 16831, 15673, 19003, 14915, 10641, 16544, + 17661, 16831, 15673, 19003, 14916, + 17661, 16831, 15673, 19003, 14917, 10641, 16544, + 17661, 16831, 15673, 19003, 16544, + 17661, 16831, 15673, 19401, 9171, 9210, + 17661, 16831, 15673, 19401, 9171, 9270, + 17661, 16831, 15673, 19401, 9171, 9308, + 17661, 16831, 15673, 19401, 14497, 9276, + 17661, 16831, 15673, 19401, 14497, 9282, + 17661, 16831, 15673, 20371, 9171, 1122, + 17661, 16831, 15673, 20371, 9171, 1224, + 17661, 16831, 15673, 20371, 14497, 3198, + 17661, 16831, 15673, 20371, 14497, 3336, + 17661, 18412, + 17663, 10641, 3699, 9854, + 17663, 10641, 6601, 9854, + 17663, 10641, 13257, 9854, + 17663, 10641, 14601, 9854, + 17664, + 17685, 5958, + 17686, + 17690, + 17691, 10084, + 17693, 12085, 14999, 14, + 17693, 12085, 14999, 20, + 17693, 12085, 14999, 30, + 17693, 12085, 14999, 38, + 17693, 14999, 0, + 17693, 14999, 2, + 17693, 14999, 4, + 17693, 14999, 6, + 17693, 14999, 8, + 17693, 14999, 10, + 17693, 14999, 12, + 17693, 14999, 14, + 17693, 14999, 16, + 17693, 14999, 18, + 17693, 14999, 20, + 17693, 14999, 22, + 17693, 14999, 24, + 17693, 14999, 26, + 17693, 14999, 28, + 17693, 14999, 30, + 17693, 14999, 32, + 17693, 14999, 34, + 17693, 14999, 36, + 17693, 14999, 38, + 17693, 14999, 40, + 17693, 14999, 42, + 17693, 14999, 46, + 17693, 14999, 50, + 17693, 14999, 72, + 17693, 14999, 78, + 17693, 14999, 80, + 17693, 14999, 94, + 17693, 14999, 120, + 17693, 14999, 132, + 17693, 14999, 184, + 17693, 14999, 190, + 17693, 14999, 192, + 17693, 14999, 202, + 17693, 14999, 208, + 17693, 14999, 252, + 17693, 14999, 256, + 17693, 14999, 260, + 17693, 14999, 306, + 17693, 14999, 314, + 17693, 14999, 324, + 17693, 14999, 330, + 17693, 14999, 340, + 17693, 14999, 390, + 17693, 14999, 456, + 17693, 14999, 494, + 17693, 14999, 498, + 17693, 14999, 510, + 17693, 14999, 596, + 17693, 14999, 756, + 17693, 14999, 758, + 17693, 14999, 764, + 17693, 14999, 844, + 17693, 14999, 846, + 17693, 14999, 1300, + 17693, 14999, 1302, + 17693, 14999, 1762, + 17693, 14999, 2448, + 17693, 14999, 2612, + 17693, 14999, 2614, + 17693, 14999, 3404, + 17693, 14999, 5236, + 17693, 14999, 5304, + 17693, 14999, 7432, + 17699, 1299, 485, 17178, + 17699, 14003, 9855, 8, + 17699, 14003, 9855, 16, + 17699, 14003, 9855, 28, + 17699, 14003, 9855, 40, + 17699, 14003, 9855, 66, + 17699, 14999, 0, + 17699, 14999, 106, + 17699, 14999, 124, + 17699, 14999, 148, + 17699, 14999, 244, + 17699, 14999, 266, + 17699, 14999, 336, + 17699, 14999, 350, + 17699, 14999, 384, + 17699, 14999, 416, + 17699, 14999, 448, + 17699, 14999, 522, + 17699, 14999, 572, + 17699, 14999, 588, + 17699, 14999, 622, + 17699, 14999, 680, + 17699, 14999, 734, + 17699, 14999, 2338, + 17699, 14999, 2444, + 17699, 14999, 2518, + 17699, 14999, 2556, + 17699, 14999, 8742, + 17699, 14999, 8950, + 17699, 16964, + 17701, 21038, + 17702, + 17703, 10641, 13579, 14036, + 17704, + 17712, + 17714, + 17717, 19683, 0, + 17717, 19683, 4, + 17717, 19683, 8, + 17717, 19683, 10, + 17717, 19683, 16, + 17717, 19683, 20, + 17717, 19683, 22, + 17717, 19683, 24, + 17717, 19683, 26, + 17717, 19683, 28, + 17717, 19683, 30, + 17717, 19683, 32, + 17717, 19683, 34, + 17717, 19683, 36, + 17717, 19683, 38, + 17717, 19683, 48, + 17717, 19683, 58, + 17717, 19683, 72, + 17717, 19683, 80, + 17717, 19683, 102, + 17717, 19683, 124, + 17717, 19683, 130, + 17717, 19683, 134, + 17717, 19683, 140, + 17717, 19683, 202, + 17717, 19683, 224, + 17717, 19683, 226, + 17717, 19683, 230, + 17717, 19683, 236, + 17717, 19683, 276, + 17717, 19683, 308, + 17717, 19683, 316, + 17717, 19683, 350, + 17717, 19683, 354, + 17717, 19683, 358, + 17717, 19683, 366, + 17717, 19683, 374, + 17717, 19683, 384, + 17717, 19683, 388, + 17717, 19683, 390, + 17717, 19683, 392, + 17717, 19683, 402, + 17717, 19683, 416, + 17717, 19683, 424, + 17717, 19683, 428, + 17717, 19683, 430, + 17717, 19683, 436, + 17717, 19683, 448, + 17717, 19683, 452, + 17717, 19683, 456, + 17717, 19683, 458, + 17717, 19683, 460, + 17717, 19683, 468, + 17717, 19683, 496, + 17717, 19683, 498, + 17717, 19683, 518, + 17717, 19683, 522, + 17717, 19683, 528, + 17717, 19683, 536, + 17717, 19683, 540, + 17717, 19683, 556, + 17717, 19683, 560, + 17717, 19683, 564, + 17717, 19683, 572, + 17717, 19683, 574, + 17717, 19683, 578, + 17717, 19683, 580, + 17717, 19683, 588, + 17717, 19683, 592, + 17717, 19683, 596, + 17717, 19683, 598, + 17717, 19683, 602, + 17717, 19683, 616, + 17717, 19683, 622, + 17717, 19683, 626, + 17717, 19683, 628, + 17717, 19683, 630, + 17717, 19683, 634, + 17717, 19683, 694, + 17717, 19683, 700, + 17717, 19683, 706, + 17717, 19683, 710, + 17717, 19683, 734, + 17717, 19683, 736, + 17717, 19683, 738, + 17717, 19683, 742, + 17717, 19683, 772, + 17717, 19683, 788, + 17717, 19683, 1006, + 17717, 19683, 1049, 9854, + 17717, 19683, 1058, + 17717, 19683, 1078, + 17717, 19683, 1100, + 17717, 19683, 1102, + 17717, 19683, 1104, + 17717, 19683, 1106, + 17717, 19683, 1344, + 17717, 19683, 1374, + 17717, 19683, 1392, + 17717, 19683, 1860, + 17717, 19683, 1892, + 17717, 19683, 1934, + 17717, 19683, 1976, + 17717, 19683, 2032, + 17717, 19683, 2036, + 17717, 19683, 2038, + 17717, 19683, 2042, + 17717, 19683, 2066, + 17717, 19683, 2096, + 17717, 19683, 2122, + 17717, 19683, 2126, + 17717, 19683, 2128, + 17717, 19683, 2136, + 17717, 19683, 2164, + 17717, 19683, 2212, + 17717, 19683, 2214, + 17717, 19683, 2216, + 17717, 19683, 2218, + 17717, 19683, 2234, + 17717, 19683, 2258, + 17717, 19683, 2308, + 17717, 19683, 2330, + 17717, 19683, 2366, + 17717, 19683, 2368, + 17717, 19683, 2370, + 17717, 19683, 2372, + 17717, 19683, 2386, + 17717, 19683, 2408, + 17717, 19683, 2444, + 17717, 19683, 2450, + 17717, 19683, 2452, + 17717, 19683, 2466, + 17717, 19683, 2496, + 17717, 19683, 2504, + 17717, 19683, 2516, + 17717, 19683, 2548, + 17717, 19683, 2550, + 17717, 19683, 2552, + 17717, 19683, 2554, + 17717, 19683, 2636, + 17717, 19683, 2658, + 17717, 19683, 2690, + 17717, 19683, 2706, + 17717, 19683, 2714, + 17717, 19683, 2746, + 17717, 19683, 2748, + 17717, 19683, 2750, + 17717, 19683, 2752, + 17717, 19683, 2762, + 17717, 19683, 2766, + 17717, 19683, 2794, + 17717, 19683, 2806, + 17717, 19683, 2866, + 17717, 19683, 2892, + 17717, 19683, 2916, + 17717, 19683, 2948, + 17717, 19683, 2986, + 17717, 19683, 2990, + 17717, 19683, 2992, + 17717, 19683, 3008, + 17717, 19683, 3034, + 17717, 19683, 3048, + 17717, 19683, 3050, + 17717, 19683, 3052, + 17717, 19683, 3054, + 17717, 19683, 3068, + 17717, 19683, 3094, + 17717, 19683, 3110, + 17717, 19683, 3150, + 17717, 19683, 3152, + 17717, 19683, 3156, + 17717, 19683, 3158, + 17717, 19683, 3186, + 17717, 19683, 3224, + 17717, 19683, 3242, + 17717, 19683, 3244, + 17717, 19683, 3246, + 17717, 19683, 3248, + 17717, 19683, 3258, + 17717, 19683, 3290, + 17717, 19683, 3322, + 17717, 19683, 3324, + 17717, 19683, 3326, + 17717, 19683, 3328, + 17717, 19683, 3330, + 17717, 19683, 3350, + 17717, 19683, 3352, + 17717, 19683, 3354, + 17717, 19683, 3356, + 17717, 19683, 3358, + 17717, 19683, 3360, + 17717, 19683, 3362, + 17717, 19683, 3364, + 17717, 19683, 3518, + 17717, 19683, 3536, + 17717, 19683, 3552, + 17717, 19683, 3562, + 17717, 19683, 3648, + 17717, 19683, 3688, + 17717, 19683, 3714, + 17717, 19683, 3728, + 17717, 19683, 3738, + 17717, 19683, 3764, + 17717, 19683, 3766, + 17717, 19683, 3768, + 17717, 19683, 3770, + 17717, 19683, 5954, + 17717, 19683, 6124, + 17717, 19683, 6126, + 17717, 19683, 6128, + 17717, 19683, 6716, + 17717, 19683, 6793, 9956, + 17717, 19683, 6806, + 17717, 19683, 7562, + 17717, 19683, 7732, + 17717, 19683, 7734, + 17717, 19683, 7738, + 17717, 19683, 7740, + 17717, 19683, 7772, + 17717, 19683, 7826, + 17717, 19683, 7832, + 17717, 19683, 7834, + 17717, 19683, 7904, + 17717, 19683, 7906, + 17717, 19683, 7908, + 17717, 19683, 8308, + 17717, 19683, 8494, + 17717, 19683, 8498, + 17717, 19683, 8500, + 17717, 19683, 8588, + 17717, 19683, 8702, + 17717, 19683, 8706, + 17717, 19683, 8740, + 17717, 19683, 8748, + 17717, 19683, 8834, + 17717, 19683, 8836, + 17717, 19683, 8838, + 17717, 19683, 8936, + 17717, 19683, 8938, + 17717, 19683, 8940, + 17717, 19683, 9200, + 17717, 19683, 9318, + 17717, 19683, 9322, + 17717, 19683, 9324, + 17717, 19683, 9326, + 17717, 19683, 9346, + 17717, 19683, 9456, + 17717, 19683, 9576, + 17717, 19683, 9578, + 17717, 19683, 9580, + 17717, 19683, 9582, + 17717, 19683, 9682, + 17717, 19683, 9740, + 17717, 19683, 9754, + 17717, 19683, 9772, + 17717, 19683, 9790, + 17717, 19683, 9800, + 17717, 19683, 9822, + 17717, 19683, 9824, + 17717, 19683, 9826, + 17717, 19683, 9828, + 17717, 19683, 9986, + 17717, 19683, 9988, + 17717, 19683, 9990, + 17717, 19683, 10078, + 17717, 19683, 10134, + 17717, 19683, 10160, + 17717, 19683, 10170, + 17717, 19683, 10174, + 17717, 19683, 10176, + 17717, 19683, 10206, + 17717, 19683, 10208, + 17717, 19683, 10210, + 17717, 19683, 10212, + 17717, 19683, 10264, + 17717, 19683, 10266, + 17717, 19683, 10268, + 17717, 19683, 10270, + 17717, 19683, 10302, + 17717, 19683, 10304, + 17717, 19683, 10306, + 17717, 19683, 10730, + 17717, 19683, 10846, + 17717, 19683, 10848, + 17717, 19683, 10850, + 17717, 19683, 12085, 3293, 7123, 9502, + 17717, 19683, 12085, 6435, 10086, + 17717, 19683, 12085, 9286, + 17717, 19683, 12085, 9502, + 17717, 19683, 12085, 11394, + 17717, 19683, 12085, 12232, + 17717, 19683, 12085, 13341, 7123, 9502, + 17717, 19683, 12085, 13507, 20181, 15642, + 17717, 19683, 12085, 13563, 9502, + 17717, 19683, 12085, 14393, 7123, 9502, + 17717, 19683, 12085, 14625, 11394, + 17717, 19683, 12085, 14625, 13507, 18847, 17302, + 17717, 19683, 12085, 15119, 1216, + 17717, 19683, 12085, 15423, 1216, + 17717, 19683, 12840, + 17717, 19683, 12964, + 17717, 19683, 12966, + 17717, 19683, 12968, + 17717, 19683, 13518, + 17717, 19683, 13520, + 17717, 19683, 13522, + 17717, 19683, 13524, + 17717, 19683, 13744, + 17717, 19683, 13780, + 17717, 19683, 13782, + 17717, 19683, 13834, + 17717, 19683, 13838, + 17717, 19683, 13840, + 17717, 19683, 14363, 6365, 22, + 17717, 19683, 14363, 6365, 34, + 17717, 19683, 14856, + 17717, 19683, 15093, 22, + 17717, 19683, 15093, 34, + 17717, 19683, 15153, 3244, + 17717, 19683, 15153, 3246, + 17717, 19683, 15153, 10160, + 17717, 19683, 15417, 574, + 17717, 19683, 15417, 2988, + 17717, 19683, 15491, 24, + 17717, 19683, 15491, 266, + 17717, 19683, 15491, 270, + 17717, 19683, 15491, 274, + 17717, 19683, 15491, 282, + 17717, 19683, 15491, 340, + 17717, 19683, 15491, 344, + 17717, 19683, 15491, 628, + 17717, 19683, 15491, 738, + 17717, 19683, 15491, 1680, + 17717, 19683, 15491, 1844, + 17717, 19683, 15491, 3048, + 17717, 19683, 15491, 3050, + 17717, 19683, 15491, 3052, + 17717, 19683, 15491, 3054, + 17717, 19683, 15491, 9790, + 17717, 19683, 15491, 9824, + 17717, 19683, 15917, 44, + 17717, 19683, 15917, 498, + 17717, 19683, 15917, 1078, + 17717, 19683, 15917, 1976, + 17717, 19683, 15917, 2164, + 17717, 19683, 15917, 2330, + 17717, 19683, 15917, 2504, + 17717, 19683, 15917, 2706, + 17717, 19683, 15917, 3094, + 17717, 19683, 15917, 3290, + 17717, 19683, 15917, 3728, + 17717, 19683, 15917, 9318, + 17717, 19683, 15975, 2, + 17717, 19683, 16115, 14, + 17717, 19683, 16115, 16, + 17717, 19683, 16115, 30, + 17717, 19683, 16115, 50, + 17717, 19683, 16115, 158, + 17717, 19683, 16115, 184, + 17717, 19683, 16115, 244, + 17717, 19683, 16115, 248, + 17717, 19683, 16115, 254, + 17717, 19683, 16115, 258, + 17717, 19683, 16115, 260, + 17717, 19683, 16115, 274, + 17717, 19683, 16115, 336, + 17717, 19683, 16115, 338, + 17717, 19683, 16115, 340, + 17717, 19683, 16115, 342, + 17717, 19683, 16115, 344, + 17717, 19683, 16115, 360, + 17717, 19683, 16115, 384, + 17717, 19683, 16115, 388, + 17717, 19683, 16115, 392, + 17717, 19683, 16115, 402, + 17717, 19683, 16115, 406, + 17717, 19683, 16115, 416, + 17717, 19683, 16115, 424, + 17717, 19683, 16115, 430, + 17717, 19683, 16115, 436, + 17717, 19683, 16115, 440, + 17717, 19683, 16115, 448, + 17717, 19683, 16115, 452, + 17717, 19683, 16115, 456, + 17717, 19683, 16115, 460, + 17717, 19683, 16115, 468, + 17717, 19683, 16115, 472, + 17717, 19683, 16115, 522, + 17717, 19683, 16115, 528, + 17717, 19683, 16115, 536, + 17717, 19683, 16115, 540, + 17717, 19683, 16115, 546, + 17717, 19683, 16115, 572, + 17717, 19683, 16115, 574, + 17717, 19683, 16115, 578, + 17717, 19683, 16115, 580, + 17717, 19683, 16115, 584, + 17717, 19683, 16115, 588, + 17717, 19683, 16115, 592, + 17717, 19683, 16115, 596, + 17717, 19683, 16115, 598, + 17717, 19683, 16115, 602, + 17717, 19683, 16115, 612, + 17717, 19683, 16115, 694, + 17717, 19683, 16115, 700, + 17717, 19683, 16115, 706, + 17717, 19683, 16115, 710, + 17717, 19683, 16115, 712, + 17717, 19683, 16115, 734, + 17717, 19683, 16115, 736, + 17717, 19683, 16115, 738, + 17717, 19683, 16115, 742, + 17717, 19683, 16115, 746, + 17717, 19683, 16115, 752, + 17717, 19683, 16115, 754, + 17717, 19683, 16115, 758, + 17717, 19683, 16115, 760, + 17717, 19683, 16115, 762, + 17717, 19683, 16115, 1044, + 17717, 19683, 16115, 1046, + 17717, 19683, 16115, 1048, + 17717, 19683, 16115, 1050, + 17717, 19683, 16115, 1052, + 17717, 19683, 16115, 1152, + 17717, 19683, 16115, 1194, + 17717, 19683, 16115, 1196, + 17717, 19683, 16115, 1198, + 17717, 19683, 16115, 1200, + 17717, 19683, 16115, 1202, + 17717, 19683, 16115, 1254, + 17717, 19683, 16115, 1256, + 17717, 19683, 16115, 1258, + 17717, 19683, 16115, 1260, + 17717, 19683, 16115, 1262, + 17717, 19683, 16115, 1430, + 17717, 19683, 16115, 1468, + 17717, 19683, 16115, 1492, + 17717, 19683, 16115, 1494, + 17717, 19683, 16115, 1496, + 17717, 19683, 16115, 1498, + 17717, 19683, 16115, 1500, + 17717, 19683, 16115, 1560, + 17717, 19683, 16115, 1566, + 17717, 19683, 16115, 1606, + 17717, 19683, 16115, 1702, + 17717, 19683, 16115, 1704, + 17717, 19683, 16115, 1706, + 17717, 19683, 16115, 1708, + 17717, 19683, 16115, 1710, + 17717, 19683, 16115, 1788, + 17717, 19683, 16115, 1812, + 17717, 19683, 16115, 1814, + 17717, 19683, 16115, 1816, + 17717, 19683, 16115, 1818, + 17717, 19683, 16115, 1820, + 17717, 19683, 16115, 1848, + 17717, 19683, 16115, 1914, + 17717, 19683, 16115, 1916, + 17717, 19683, 16115, 1918, + 17717, 19683, 16115, 1920, + 17717, 19683, 16115, 1922, + 17717, 19683, 16115, 1952, + 17717, 19683, 16115, 1954, + 17717, 19683, 16115, 1956, + 17717, 19683, 16115, 1958, + 17717, 19683, 16115, 1960, + 17717, 19683, 16115, 2104, + 17717, 19683, 16115, 2122, + 17717, 19683, 16115, 2124, + 17717, 19683, 16115, 2126, + 17717, 19683, 16115, 2128, + 17717, 19683, 16115, 2130, + 17717, 19683, 16115, 2278, + 17717, 19683, 16115, 2430, + 17717, 19683, 16115, 2664, + 17717, 19683, 16115, 2898, + 17717, 19683, 16115, 3036, + 17717, 19683, 16115, 3048, + 17717, 19683, 16115, 3050, + 17717, 19683, 16115, 3052, + 17717, 19683, 16115, 3054, + 17717, 19683, 16115, 3056, + 17717, 19683, 16115, 3242, + 17717, 19683, 16115, 3244, + 17717, 19683, 16115, 3246, + 17717, 19683, 16115, 3248, + 17717, 19683, 16115, 3250, + 17717, 19683, 16115, 3274, + 17717, 19683, 16115, 3276, + 17717, 19683, 16115, 3278, + 17717, 19683, 16115, 3280, + 17717, 19683, 16115, 3282, + 17717, 19683, 16115, 3308, + 17717, 19683, 16115, 3310, + 17717, 19683, 16115, 3312, + 17717, 19683, 16115, 3314, + 17717, 19683, 16115, 3316, + 17717, 19683, 16115, 3322, + 17717, 19683, 16115, 3324, + 17717, 19683, 16115, 3328, + 17717, 19683, 16115, 3330, + 17717, 19683, 16115, 3332, + 17717, 19683, 16115, 3540, + 17717, 19683, 16115, 3694, + 17717, 19683, 16115, 3804, + 17717, 19683, 16115, 6024, + 17717, 19683, 16115, 6365, 1468, + 17717, 19683, 16115, 6414, + 17717, 19683, 16115, 6468, + 17717, 19683, 16115, 7014, + 17717, 19683, 16115, 7336, + 17717, 19683, 16115, 7486, + 17717, 19683, 16115, 7644, + 17717, 19683, 16115, 7680, + 17717, 19683, 16115, 7830, + 17717, 19683, 16115, 9756, + 17717, 19683, 16115, 10150, + 17717, 19683, 16115, 10204, + 17717, 19683, 16115, 10206, + 17717, 19683, 16115, 10208, + 17717, 19683, 16115, 10210, + 17717, 19683, 16115, 10212, + 17717, 19683, 16115, 10214, + 17717, 19683, 16115, 10238, + 17717, 19683, 16115, 10260, + 17717, 19683, 16115, 10274, + 17717, 19683, 16115, 10276, + 17717, 19683, 16115, 10278, + 17717, 19683, 16115, 10280, + 17717, 19683, 16115, 10282, + 17717, 19683, 16115, 13778, + 17717, 19683, 16115, 13842, + 17717, 19683, 16115, 14567, 36, + 17717, 19683, 16115, 16525, 50, + 17717, 19683, 16351, 44, + 17717, 19683, 16449, 9956, + 17717, 19683, 16837, 3006, + 17717, 19683, 16837, 3082, + 17717, 19683, 16837, 3518, + 17717, 19683, 16837, 3562, + 17717, 19683, 16837, 6124, + 17717, 19683, 16837, 7732, + 17717, 19683, 16837, 8494, + 17717, 19683, 16837, 8936, + 17717, 19683, 16837, 9710, + 17717, 19683, 16837, 9876, + 17717, 19683, 16837, 9900, + 17717, 19683, 16837, 9958, + 17717, 19683, 16837, 9986, + 17717, 19683, 16837, 10302, + 17717, 19683, 16837, 10846, + 17717, 19683, 16903, 14, + 17717, 19683, 16903, 266, + 17717, 19683, 16903, 270, + 17717, 19683, 16903, 274, + 17717, 19683, 16903, 282, + 17717, 19683, 16903, 1578, + 17717, 19683, 16903, 1632, + 17717, 19683, 16903, 1680, + 17717, 19683, 16905, 14, + 17717, 19683, 16925, 4, + 17717, 19683, 16925, 20, + 17717, 19683, 16925, 24, + 17717, 19683, 16925, 26, + 17717, 19683, 16925, 30, + 17717, 19683, 16925, 36, + 17717, 19683, 16925, 38, + 17717, 19683, 16925, 596, + 17717, 19683, 16925, 2552, + 17717, 19683, 16925, 2554, + 17717, 19683, 16925, 8938, + 17717, 19683, 16925, 8940, + 17717, 19683, 17357, 628, + 17717, 19683, 17357, 3242, + 17717, 19683, 17357, 3244, + 17717, 19683, 17357, 3246, + 17717, 19683, 17357, 3248, + 17717, 19683, 17357, 10134, + 17717, 19683, 17357, 10160, + 17717, 19683, 17357, 10170, + 17717, 19683, 17511, 44, + 17717, 19683, 18947, 0, + 17717, 19683, 18947, 8, + 17717, 19683, 18947, 16, + 17717, 19683, 18947, 28, + 17717, 19683, 18947, 36, + 17717, 19683, 18947, 44, + 17717, 19683, 18947, 350, + 17717, 19683, 18947, 354, + 17717, 19683, 18947, 358, + 17717, 19683, 18947, 366, + 17717, 19683, 18947, 448, + 17717, 19683, 18947, 452, + 17717, 19683, 18947, 460, + 17717, 19683, 18947, 468, + 17717, 19683, 18947, 694, + 17717, 19683, 18947, 700, + 17717, 19683, 18947, 706, + 17717, 19683, 18947, 710, + 17717, 19683, 19845, 22, + 17717, 19683, 19845, 24, + 17717, 19683, 19845, 30, + 17717, 19683, 19845, 34, + 17717, 19683, 19845, 48, + 17717, 19683, 19845, 384, + 17717, 19683, 19845, 388, + 17717, 19683, 19845, 402, + 17717, 19683, 19845, 572, + 17717, 19683, 19845, 574, + 17717, 19683, 19845, 578, + 17717, 19683, 19845, 580, + 17717, 19683, 19845, 694, + 17717, 19683, 19845, 700, + 17717, 19683, 19845, 706, + 17717, 19683, 19845, 710, + 17717, 19683, 19845, 1100, + 17717, 19683, 19845, 1102, + 17717, 19683, 19845, 1104, + 17717, 19683, 19845, 1106, + 17717, 19683, 19845, 2032, + 17717, 19683, 19845, 2036, + 17717, 19683, 19845, 2038, + 17717, 19683, 19845, 2042, + 17717, 19683, 19845, 2066, + 17717, 19683, 19845, 2164, + 17717, 19683, 19845, 2212, + 17717, 19683, 19845, 2214, + 17717, 19683, 19845, 2216, + 17717, 19683, 19845, 2218, + 17717, 19683, 19845, 2366, + 17717, 19683, 19845, 2368, + 17717, 19683, 19845, 2370, + 17717, 19683, 19845, 2372, + 17717, 19683, 19845, 2548, + 17717, 19683, 19845, 2550, + 17717, 19683, 19845, 2746, + 17717, 19683, 19845, 2748, + 17717, 19683, 19845, 2750, + 17717, 19683, 19845, 2752, + 17717, 19683, 19845, 3150, + 17717, 19683, 19845, 3152, + 17717, 19683, 19845, 3156, + 17717, 19683, 19845, 3158, + 17717, 19683, 19845, 3350, + 17717, 19683, 19845, 3352, + 17717, 19683, 19845, 3354, + 17717, 19683, 19845, 3356, + 17717, 19683, 19845, 3518, + 17717, 19683, 19845, 3552, + 17717, 19683, 19845, 3562, + 17717, 19683, 19845, 3764, + 17717, 19683, 19845, 3766, + 17717, 19683, 19845, 3768, + 17717, 19683, 19845, 3770, + 17717, 19683, 19845, 6124, + 17717, 19683, 19845, 6126, + 17717, 19683, 19845, 6128, + 17717, 19683, 19845, 6806, + 17717, 19683, 19845, 7732, + 17717, 19683, 19845, 7738, + 17717, 19683, 19845, 7740, + 17717, 19683, 19845, 7904, + 17717, 19683, 19845, 7906, + 17717, 19683, 19845, 7908, + 17717, 19683, 19845, 8494, + 17717, 19683, 19845, 8498, + 17717, 19683, 19845, 8500, + 17717, 19683, 19845, 8936, + 17717, 19683, 19845, 9318, + 17717, 19683, 19845, 9322, + 17717, 19683, 19845, 9324, + 17717, 19683, 19845, 9576, + 17717, 19683, 19845, 9822, + 17717, 19683, 19845, 9824, + 17717, 19683, 19845, 9826, + 17717, 19683, 19845, 9828, + 17717, 19683, 19845, 9986, + 17717, 19683, 19845, 9988, + 17717, 19683, 19845, 9990, + 17717, 19683, 19845, 10302, + 17717, 19683, 19845, 10304, + 17717, 19683, 19845, 10306, + 17717, 19683, 19845, 10846, + 17717, 19683, 19845, 10848, + 17717, 19683, 19845, 10850, + 17717, 19683, 19845, 13518, + 17717, 19683, 19845, 13520, + 17717, 19683, 19845, 13522, + 17717, 19683, 19845, 13744, + 17717, 19683, 19899, 24, + 17717, 19683, 19899, 36, + 17717, 19683, 19911, 48, + 17717, 19683, 20265, 600, + 17717, 19683, 20515, 628, + 17717, 19683, 20515, 3242, + 17717, 19683, 20515, 3244, + 17717, 19683, 20515, 3246, + 17717, 19683, 20515, 3248, + 17717, 19683, 20515, 10174, + 17717, 19683, 20515, 10178, + 17717, 19683, 20515, 10180, + 17717, 19683, 20515, 12085, 628, + 17717, 19683, 20515, 13744, + 17717, 19683, 20515, 13746, + 17717, 19683, 20515, 13748, + 17717, 19683, 20515, 13750, + 17717, 19683, 21225, 1868, + 17717, 19683, 21225, 1898, + 17717, 19683, 21225, 1932, + 17717, 19683, 21225, 1968, + 17719, 12330, + 17731, 19432, + 17737, 13563, 14999, 0, + 17737, 13563, 14999, 8, + 17737, 13563, 14999, 16, + 17737, 13563, 14999, 28, + 17737, 13563, 14999, 36, + 17737, 13563, 14999, 40, + 17737, 13563, 14999, 42, + 17737, 13563, 14999, 148, + 17737, 13563, 14999, 154, + 17737, 13563, 14999, 158, + 17737, 13563, 14999, 166, + 17737, 13563, 14999, 168, + 17737, 13563, 14999, 170, + 17737, 13563, 14999, 244, + 17737, 13563, 14999, 248, + 17737, 13563, 14999, 254, + 17737, 13563, 14999, 258, + 17737, 13563, 14999, 260, + 17737, 13563, 14999, 262, + 17737, 13563, 14999, 266, + 17737, 13563, 14999, 270, + 17737, 13563, 14999, 274, + 17737, 13563, 14999, 282, + 17737, 13563, 14999, 286, + 17737, 13563, 14999, 288, + 17737, 13563, 14999, 350, + 17737, 13563, 14999, 384, + 17737, 13563, 14999, 388, + 17737, 13563, 14999, 392, + 17737, 13563, 14999, 402, + 17737, 13563, 14999, 406, + 17737, 13563, 14999, 408, + 17737, 13563, 14999, 416, + 17737, 13563, 14999, 424, + 17737, 13563, 14999, 430, + 17737, 13563, 14999, 436, + 17737, 13563, 14999, 440, + 17737, 13563, 14999, 442, + 17737, 13563, 14999, 448, + 17737, 13563, 14999, 452, + 17737, 13563, 14999, 460, + 17737, 13563, 14999, 468, + 17737, 13563, 14999, 472, + 17737, 13563, 14999, 474, + 17737, 13563, 14999, 588, + 17737, 13563, 14999, 592, + 17737, 13563, 14999, 598, + 17737, 13563, 14999, 602, + 17737, 13563, 14999, 612, + 17737, 13563, 14999, 614, + 17737, 13563, 14999, 622, + 17737, 13563, 14999, 626, + 17737, 13563, 14999, 630, + 17737, 13563, 14999, 694, + 17737, 13563, 14999, 700, + 17737, 13563, 14999, 706, + 17737, 13563, 14999, 710, + 17737, 13563, 14999, 712, + 17737, 13563, 14999, 714, + 17737, 13563, 14999, 734, + 17737, 13563, 14999, 736, + 17737, 13563, 14999, 738, + 17737, 13563, 14999, 742, + 17737, 13563, 14999, 746, + 17737, 13563, 14999, 748, + 17737, 13563, 14999, 1194, + 17737, 13563, 14999, 1664, + 17737, 13563, 14999, 2392, + 17737, 13563, 14999, 2814, + 17737, 13563, 14999, 2816, + 17737, 13563, 14999, 2820, + 17737, 13563, 14999, 2824, + 17737, 13563, 14999, 2832, + 17737, 13563, 14999, 2834, + 17737, 13563, 14999, 3274, + 17737, 13563, 14999, 3276, + 17737, 13563, 14999, 3278, + 17737, 13563, 14999, 3280, + 17737, 13563, 14999, 3282, + 17737, 13563, 14999, 3284, + 17737, 13563, 14999, 3308, + 17737, 13563, 14999, 3310, + 17737, 13563, 14999, 3312, + 17737, 13563, 14999, 3314, + 17737, 13563, 14999, 3316, + 17737, 13563, 14999, 3318, + 17737, 14999, 0, + 17737, 14999, 8, + 17737, 14999, 16, + 17737, 14999, 28, + 17737, 14999, 36, + 17737, 14999, 40, + 17737, 14999, 42, + 17737, 14999, 148, + 17737, 14999, 154, + 17737, 14999, 158, + 17737, 14999, 166, + 17737, 14999, 168, + 17737, 14999, 170, + 17737, 14999, 244, + 17737, 14999, 248, + 17737, 14999, 254, + 17737, 14999, 258, + 17737, 14999, 260, + 17737, 14999, 262, + 17737, 14999, 266, + 17737, 14999, 270, + 17737, 14999, 274, + 17737, 14999, 282, + 17737, 14999, 286, + 17737, 14999, 288, + 17737, 14999, 350, + 17737, 14999, 384, + 17737, 14999, 388, + 17737, 14999, 392, + 17737, 14999, 402, + 17737, 14999, 406, + 17737, 14999, 408, + 17737, 14999, 416, + 17737, 14999, 424, + 17737, 14999, 430, + 17737, 14999, 436, + 17737, 14999, 440, + 17737, 14999, 442, + 17737, 14999, 448, + 17737, 14999, 452, + 17737, 14999, 460, + 17737, 14999, 468, + 17737, 14999, 472, + 17737, 14999, 474, + 17737, 14999, 588, + 17737, 14999, 592, + 17737, 14999, 598, + 17737, 14999, 602, + 17737, 14999, 612, + 17737, 14999, 614, + 17737, 14999, 622, + 17737, 14999, 626, + 17737, 14999, 630, + 17737, 14999, 694, + 17737, 14999, 700, + 17737, 14999, 706, + 17737, 14999, 710, + 17737, 14999, 712, + 17737, 14999, 714, + 17737, 14999, 734, + 17737, 14999, 736, + 17737, 14999, 738, + 17737, 14999, 742, + 17737, 14999, 746, + 17737, 14999, 748, + 17737, 14999, 1194, + 17737, 14999, 1664, + 17737, 14999, 2392, + 17737, 14999, 2814, + 17737, 14999, 2816, + 17737, 14999, 2820, + 17737, 14999, 2824, + 17737, 14999, 2832, + 17737, 14999, 2834, + 17737, 14999, 3274, + 17737, 14999, 3276, + 17737, 14999, 3278, + 17737, 14999, 3280, + 17737, 14999, 3282, + 17737, 14999, 3284, + 17737, 14999, 3308, + 17737, 14999, 3310, + 17737, 14999, 3312, + 17737, 14999, 3314, + 17737, 14999, 3316, + 17737, 14999, 3318, + 17738, + 17740, + 17743, 17792, + 17744, + 17761, 12263, 9854, + 17767, 5807, 8474, + 17767, 16446, + 17769, 12212, + 17775, 5730, + 17779, 6718, + 17783, 91, 15100, + 17783, 91, 15211, 18682, + 17783, 91, 15211, 18683, 505, 12005, 634, + 17783, 10641, 7883, 20181, 15642, + 17783, 10641, 16946, + 17783, 10641, 18847, 897, 93, 1299, 485, 20181, 15642, + 17787, 2943, 10119, 11905, 2610, + 17787, 2943, 10119, 11905, 3076, + 17787, 2943, 10119, 11905, 3356, + 17787, 2943, 10119, 11905, 6756, + 17787, 2943, 10119, 11905, 6778, + 17787, 2943, 10119, 11905, 8780, + 17787, 2943, 10119, 11905, 11978, + 17787, 2943, 10119, 11905, 13450, + 17787, 2943, 10119, 11905, 13736, + 17787, 2943, 10423, 11905, 2610, + 17787, 2943, 10423, 11905, 3076, + 17787, 2943, 10423, 11905, 3356, + 17787, 2943, 10423, 11905, 6756, + 17787, 2943, 10423, 11905, 6778, + 17787, 2943, 10423, 11905, 8780, + 17787, 2943, 10423, 11905, 11978, + 17787, 2943, 10423, 11905, 13450, + 17787, 2943, 10423, 11905, 13736, + 17791, 8460, + 17793, 12532, + 17797, 9854, + 17798, + 17803, 9854, + 17803, 18038, + 17809, 13563, 14999, 0, + 17809, 13563, 14999, 1, 10641, 11596, + 17809, 13563, 14999, 1, 10641, 19058, + 17809, 13563, 14999, 8, + 17809, 13563, 14999, 9, 10641, 19058, + 17809, 13563, 14999, 16, + 17809, 13563, 14999, 17, 10641, 12232, + 17809, 13563, 14999, 17, 10641, 15050, + 17809, 13563, 14999, 17, 10641, 19058, + 17809, 13563, 14999, 28, + 17809, 13563, 14999, 29, 10641, 19058, + 17809, 13563, 14999, 40, + 17809, 13563, 14999, 41, 10641, 14625, 11394, + 17809, 13563, 14999, 41, 10641, 15050, + 17809, 13563, 14999, 41, 10641, 19058, + 17809, 13563, 14999, 110, + 17809, 13563, 14999, 154, + 17809, 13563, 14999, 186, + 17809, 13563, 14999, 198, + 17809, 13563, 14999, 199, 10641, 7292, + 17809, 13563, 14999, 199, 10641, 10092, + 17809, 13563, 14999, 199, 10641, 15119, 7292, + 17809, 13563, 14999, 199, 10641, 19056, + 17809, 13563, 14999, 200, + 17809, 13563, 14999, 201, 10641, 10092, + 17809, 13563, 14999, 202, + 17809, 13563, 14999, 203, 10641, 7292, + 17809, 13563, 14999, 203, 10641, 7817, 7292, + 17809, 13563, 14999, 203, 10641, 10092, + 17809, 13563, 14999, 203, 10641, 15119, 7292, + 17809, 13563, 14999, 203, 10641, 19056, + 17809, 13563, 14999, 208, + 17809, 13563, 14999, 209, 10641, 10182, + 17809, 13563, 14999, 210, + 17809, 13563, 14999, 211, 10641, 19056, + 17809, 13563, 14999, 266, + 17809, 13563, 14999, 267, 10641, 7292, + 17809, 13563, 14999, 267, 10641, 15642, + 17809, 13563, 14999, 267, 10641, 19056, + 17809, 13563, 14999, 300, + 17809, 13563, 14999, 301, 10641, 11596, + 17809, 13563, 14999, 301, 10641, 12232, + 17809, 13563, 14999, 318, + 17809, 13563, 14999, 338, + 17809, 13563, 14999, 350, + 17809, 13563, 14999, 351, 10641, 7292, + 17809, 13563, 14999, 351, 10641, 15642, + 17809, 13563, 14999, 351, 10641, 18847, 15642, + 17809, 13563, 14999, 351, 10641, 19056, + 17809, 13563, 14999, 508, + 17809, 13563, 14999, 528, + 17809, 13563, 14999, 529, 10641, 15119, 7292, + 17809, 13563, 14999, 529, 10641, 19056, + 17809, 13563, 14999, 556, + 17809, 13563, 14999, 626, + 17809, 13563, 14999, 627, 10641, 15119, 7292, + 17809, 13563, 14999, 627, 10641, 19056, + 17809, 13563, 14999, 662, + 17809, 13563, 14999, 682, + 17809, 13563, 14999, 700, + 17809, 13563, 14999, 734, + 17809, 13563, 14999, 738, + 17809, 13563, 14999, 740, + 17809, 13563, 14999, 746, + 17809, 13563, 14999, 754, + 17809, 13563, 14999, 755, 10641, 19056, + 17809, 13563, 14999, 755, 10641, 19058, + 17809, 13563, 14999, 947, 3758, + 17809, 13563, 14999, 1046, + 17809, 13563, 14999, 1047, 10641, 18847, 15642, + 17809, 13563, 14999, 1047, 10641, 19056, + 17809, 13563, 14999, 1047, 10641, 19058, + 17809, 13563, 14999, 1192, + 17809, 13563, 14999, 1248, + 17809, 13563, 14999, 1256, + 17809, 13563, 14999, 1494, + 17809, 13563, 14999, 1495, 10641, 15119, 7292, + 17809, 13563, 14999, 1495, 10641, 15642, + 17809, 13563, 14999, 1495, 10641, 15643, 843, 7292, + 17809, 13563, 14999, 1495, 10641, 15844, + 17809, 13563, 14999, 1495, 10641, 19056, + 17809, 13563, 14999, 1518, + 17809, 13563, 14999, 1704, + 17809, 13563, 14999, 1950, + 17809, 13563, 14999, 1998, + 17809, 13563, 14999, 2122, + 17809, 13563, 14999, 2150, + 17809, 13563, 14999, 2480, + 17809, 13563, 14999, 2722, + 17809, 13563, 14999, 2912, + 17809, 13563, 14999, 3048, + 17809, 13563, 14999, 3310, + 17809, 13563, 14999, 3352, + 17809, 13563, 14999, 3654, + 17809, 13563, 14999, 3680, + 17809, 13563, 14999, 3814, + 17809, 13563, 14999, 3815, 10641, 11596, + 17809, 13563, 14999, 3815, 10641, 19056, + 17809, 13563, 14999, 3815, 10641, 19058, + 17809, 13563, 14999, 5990, + 17809, 13563, 14999, 6294, + 17809, 13563, 14999, 6472, + 17809, 13563, 14999, 6476, + 17809, 13563, 14999, 6480, + 17809, 13563, 14999, 6754, + 17809, 13563, 14999, 7131, 9854, + 17809, 13563, 14999, 7438, + 17809, 13563, 14999, 7689, 154, + 17809, 13563, 14999, 7689, 1192, + 17809, 13563, 14999, 7689, 2150, + 17809, 13563, 14999, 7689, 2480, + 17809, 13563, 14999, 7689, 3078, + 17809, 13563, 14999, 7689, 3272, + 17809, 13563, 14999, 7689, 3838, + 17809, 13563, 14999, 7689, 6474, + 17809, 13563, 14999, 9768, + 17809, 13563, 14999, 9769, 10641, 19056, + 17809, 13563, 14999, 9824, + 17809, 13563, 14999, 9891, 154, + 17809, 13563, 14999, 9891, 198, + 17809, 13563, 14999, 9891, 200, + 17809, 13563, 14999, 9891, 9854, + 17809, 13563, 14999, 10099, 626, + 17809, 13563, 14999, 10099, 3680, + 17809, 13563, 14999, 10099, 7131, 9854, + 17809, 13563, 14999, 10110, + 17809, 13563, 14999, 10242, + 17809, 13563, 14999, 10250, + 17809, 13563, 14999, 10256, + 17809, 13563, 14999, 10633, 210, + 17809, 13563, 14999, 10780, + 17809, 13563, 14999, 10781, 10641, 5721, 3702, + 17809, 13563, 14999, 10781, 10641, 19058, + 17809, 13563, 14999, 10946, + 17809, 13563, 14999, 11427, 350, + 17809, 13563, 14999, 11603, 13144, + 17809, 13563, 14999, 11916, + 17809, 13563, 14999, 11940, + 17809, 13563, 14999, 11948, + 17809, 13563, 14999, 12494, + 17809, 13563, 14999, 13144, + 17809, 13563, 14999, 13145, 10641, 13774, + 17809, 13563, 14999, 13357, 13144, + 17809, 13563, 14999, 13432, + 17809, 13563, 14999, 13433, 10641, 19058, + 17809, 13563, 14999, 13472, + 17809, 13563, 14999, 13507, 16, + 17809, 13563, 14999, 13507, 17, 10641, 10092, + 17809, 13563, 14999, 13507, 40, + 17809, 13563, 14999, 14357, 28, + 17809, 13563, 14999, 14357, 29, 10641, 19058, + 17809, 13563, 14999, 14497, 15031, 3758, + 17809, 13563, 14999, 14625, 28, + 17809, 13563, 14999, 14625, 19447, 28, + 17809, 13563, 14999, 15031, 3758, + 17809, 13563, 14999, 15155, 28, + 17809, 13563, 14999, 15940, + 17809, 13563, 14999, 16045, 350, + 17809, 13563, 14999, 16075, 3758, + 17809, 13563, 14999, 16197, 28, + 17809, 13563, 14999, 16538, + 17809, 13563, 14999, 16539, 10641, 14625, 12233, 14262, + 17809, 13563, 14999, 16853, 3702, + 17809, 13563, 14999, 17143, 682, + 17809, 13563, 14999, 18185, 0, + 17809, 13563, 14999, 18185, 8, + 17809, 13563, 14999, 18185, 947, 3758, + 17809, 13563, 14999, 18185, 3680, + 17809, 13563, 14999, 18185, 14497, 15031, 3758, + 17809, 13563, 14999, 18185, 15031, 3758, + 17809, 13563, 14999, 18410, + 17809, 13563, 14999, 18543, 746, + 17809, 13563, 14999, 18543, 754, + 17809, 13563, 14999, 18543, 1256, + 17809, 13563, 14999, 18543, 3310, + 17809, 13563, 14999, 18577, 9854, + 17809, 13563, 14999, 18653, 40, + 17809, 13563, 14999, 18653, 41, 10641, 15642, + 17809, 13563, 14999, 18877, 266, + 17809, 13563, 14999, 18877, 1046, + 17809, 13563, 14999, 18877, 1047, 10641, 19056, + 17809, 13563, 14999, 18877, 1256, + 17809, 13563, 14999, 18939, 28, + 17809, 13563, 14999, 19447, 28, + 17809, 13563, 14999, 19449, 662, + 17809, 13563, 14999, 19815, 300, + 17809, 13563, 14999, 19817, 662, + 17809, 13563, 14999, 20205, 1046, + 17809, 13563, 14999, 20771, 154, + 17809, 13563, 14999, 21243, 626, + 17809, 13563, 14999, 23555, 16, + 17809, 13563, 18249, 1, 300, + 17809, 13563, 18249, 203, 1494, + 17809, 13563, 18249, 627, 3310, + 17809, 14906, + 17809, 14999, 13563, 16111, 198, + 17809, 14999, 18410, + 17809, 14999, 20809, 28, + 17809, 16111, 14999, 0, + 17809, 16111, 14999, 1, 10641, 11596, + 17809, 16111, 14999, 1, 10641, 19058, + 17809, 16111, 14999, 8, + 17809, 16111, 14999, 9, 10641, 19058, + 17809, 16111, 14999, 16, + 17809, 16111, 14999, 17, 10641, 12232, + 17809, 16111, 14999, 17, 10641, 15050, + 17809, 16111, 14999, 17, 10641, 19058, + 17809, 16111, 14999, 28, + 17809, 16111, 14999, 29, 10641, 19058, + 17809, 16111, 14999, 40, + 17809, 16111, 14999, 41, 10641, 14625, 11394, + 17809, 16111, 14999, 41, 10641, 15050, + 17809, 16111, 14999, 41, 10641, 19058, + 17809, 16111, 14999, 110, + 17809, 16111, 14999, 154, + 17809, 16111, 14999, 186, + 17809, 16111, 14999, 198, + 17809, 16111, 14999, 199, 10641, 7292, + 17809, 16111, 14999, 199, 10641, 10092, + 17809, 16111, 14999, 199, 10641, 15119, 7292, + 17809, 16111, 14999, 199, 10641, 19056, + 17809, 16111, 14999, 200, + 17809, 16111, 14999, 201, 10641, 10092, + 17809, 16111, 14999, 202, + 17809, 16111, 14999, 203, 10641, 7292, + 17809, 16111, 14999, 203, 10641, 7817, 7292, + 17809, 16111, 14999, 203, 10641, 10092, + 17809, 16111, 14999, 203, 10641, 15119, 7292, + 17809, 16111, 14999, 203, 10641, 19056, + 17809, 16111, 14999, 208, + 17809, 16111, 14999, 209, 10641, 10182, + 17809, 16111, 14999, 210, + 17809, 16111, 14999, 211, 10641, 19056, + 17809, 16111, 14999, 266, + 17809, 16111, 14999, 267, 10641, 7292, + 17809, 16111, 14999, 267, 10641, 15642, + 17809, 16111, 14999, 267, 10641, 19056, + 17809, 16111, 14999, 300, + 17809, 16111, 14999, 301, 10641, 11596, + 17809, 16111, 14999, 301, 10641, 12232, + 17809, 16111, 14999, 318, + 17809, 16111, 14999, 338, + 17809, 16111, 14999, 350, + 17809, 16111, 14999, 351, 10641, 7292, + 17809, 16111, 14999, 351, 10641, 15642, + 17809, 16111, 14999, 351, 10641, 18847, 15642, + 17809, 16111, 14999, 351, 10641, 19056, + 17809, 16111, 14999, 508, + 17809, 16111, 14999, 528, + 17809, 16111, 14999, 529, 10641, 15119, 7292, + 17809, 16111, 14999, 529, 10641, 19056, + 17809, 16111, 14999, 556, + 17809, 16111, 14999, 626, + 17809, 16111, 14999, 627, 10641, 15119, 7292, + 17809, 16111, 14999, 627, 10641, 19056, + 17809, 16111, 14999, 662, + 17809, 16111, 14999, 682, + 17809, 16111, 14999, 700, + 17809, 16111, 14999, 734, + 17809, 16111, 14999, 738, + 17809, 16111, 14999, 740, + 17809, 16111, 14999, 746, + 17809, 16111, 14999, 754, + 17809, 16111, 14999, 755, 10641, 19056, + 17809, 16111, 14999, 755, 10641, 19058, + 17809, 16111, 14999, 947, 3758, + 17809, 16111, 14999, 1046, + 17809, 16111, 14999, 1047, 10641, 18847, 15642, + 17809, 16111, 14999, 1047, 10641, 19056, + 17809, 16111, 14999, 1047, 10641, 19058, + 17809, 16111, 14999, 1192, + 17809, 16111, 14999, 1248, + 17809, 16111, 14999, 1256, + 17809, 16111, 14999, 1494, + 17809, 16111, 14999, 1495, 10641, 15119, 7292, + 17809, 16111, 14999, 1495, 10641, 15642, + 17809, 16111, 14999, 1495, 10641, 15643, 843, 7292, + 17809, 16111, 14999, 1495, 10641, 15844, + 17809, 16111, 14999, 1495, 10641, 19056, + 17809, 16111, 14999, 1518, + 17809, 16111, 14999, 1704, + 17809, 16111, 14999, 1950, + 17809, 16111, 14999, 1998, + 17809, 16111, 14999, 2122, + 17809, 16111, 14999, 2150, + 17809, 16111, 14999, 2480, + 17809, 16111, 14999, 2722, + 17809, 16111, 14999, 2912, + 17809, 16111, 14999, 3048, + 17809, 16111, 14999, 3310, + 17809, 16111, 14999, 3352, + 17809, 16111, 14999, 3654, + 17809, 16111, 14999, 3680, + 17809, 16111, 14999, 3814, + 17809, 16111, 14999, 3815, 10641, 11596, + 17809, 16111, 14999, 3815, 10641, 19056, + 17809, 16111, 14999, 3815, 10641, 19058, + 17809, 16111, 14999, 5990, + 17809, 16111, 14999, 6294, + 17809, 16111, 14999, 6472, + 17809, 16111, 14999, 6476, + 17809, 16111, 14999, 6480, + 17809, 16111, 14999, 6754, + 17809, 16111, 14999, 7131, 9854, + 17809, 16111, 14999, 7438, + 17809, 16111, 14999, 7689, 154, + 17809, 16111, 14999, 7689, 1192, + 17809, 16111, 14999, 7689, 2150, + 17809, 16111, 14999, 7689, 2480, + 17809, 16111, 14999, 7689, 3078, + 17809, 16111, 14999, 7689, 3272, + 17809, 16111, 14999, 7689, 3838, + 17809, 16111, 14999, 7689, 6474, + 17809, 16111, 14999, 9768, + 17809, 16111, 14999, 9769, 10641, 19056, + 17809, 16111, 14999, 9824, + 17809, 16111, 14999, 9891, 154, + 17809, 16111, 14999, 9891, 198, + 17809, 16111, 14999, 9891, 200, + 17809, 16111, 14999, 9891, 9854, + 17809, 16111, 14999, 10110, + 17809, 16111, 14999, 10242, + 17809, 16111, 14999, 10250, + 17809, 16111, 14999, 10256, + 17809, 16111, 14999, 10780, + 17809, 16111, 14999, 10781, 10641, 5721, 3702, + 17809, 16111, 14999, 10781, 10641, 19058, + 17809, 16111, 14999, 10946, + 17809, 16111, 14999, 11427, 350, + 17809, 16111, 14999, 11603, 13144, + 17809, 16111, 14999, 11916, + 17809, 16111, 14999, 11940, + 17809, 16111, 14999, 11948, + 17809, 16111, 14999, 12494, + 17809, 16111, 14999, 13144, + 17809, 16111, 14999, 13145, 10641, 13774, + 17809, 16111, 14999, 13357, 13144, + 17809, 16111, 14999, 13432, + 17809, 16111, 14999, 13433, 10641, 19058, + 17809, 16111, 14999, 13472, + 17809, 16111, 14999, 13507, 16, + 17809, 16111, 14999, 13507, 17, 10641, 10092, + 17809, 16111, 14999, 13507, 40, + 17809, 16111, 14999, 14357, 28, + 17809, 16111, 14999, 14357, 29, 10641, 19058, + 17809, 16111, 14999, 14497, 15031, 3758, + 17809, 16111, 14999, 14625, 28, + 17809, 16111, 14999, 14625, 19447, 28, + 17809, 16111, 14999, 15031, 3758, + 17809, 16111, 14999, 15940, + 17809, 16111, 14999, 16045, 350, + 17809, 16111, 14999, 16075, 3758, + 17809, 16111, 14999, 16197, 28, + 17809, 16111, 14999, 16538, + 17809, 16111, 14999, 16539, 10641, 14625, 12233, 14262, + 17809, 16111, 14999, 16853, 3702, + 17809, 16111, 14999, 18185, 0, + 17809, 16111, 14999, 18185, 8, + 17809, 16111, 14999, 18185, 947, 3758, + 17809, 16111, 14999, 18185, 3680, + 17809, 16111, 14999, 18185, 14497, 15031, 3758, + 17809, 16111, 14999, 18185, 15031, 3758, + 17809, 16111, 14999, 18543, 746, + 17809, 16111, 14999, 18543, 754, + 17809, 16111, 14999, 18543, 1256, + 17809, 16111, 14999, 18543, 3310, + 17809, 16111, 14999, 18577, 9854, + 17809, 16111, 14999, 18653, 40, + 17809, 16111, 14999, 18653, 41, 10641, 15642, + 17809, 16111, 14999, 18877, 266, + 17809, 16111, 14999, 18877, 1046, + 17809, 16111, 14999, 18877, 1047, 10641, 19056, + 17809, 16111, 14999, 18877, 1256, + 17809, 16111, 14999, 18939, 28, + 17809, 16111, 14999, 19447, 28, + 17809, 16111, 14999, 19449, 662, + 17809, 16111, 14999, 19815, 300, + 17809, 16111, 14999, 20205, 1046, + 17809, 16111, 14999, 23555, 16, + 17809, 16111, 18249, 1, 300, + 17809, 16111, 18249, 203, 1494, + 17809, 16111, 18249, 627, 3310, + 17809, 16992, + 17809, 19785, 9854, + 17825, 6767, 9873, 15672, + 17829, 13816, + 17833, 12335, 17700, + 17841, 9854, + 17857, 1016, + 17865, 9854, + 17865, 13546, + 17865, 13764, + 17866, + 17867, 10641, 10132, + 17867, 10641, 10133, 843, 17030, + 17867, 10641, 17030, + 17988, + 17993, 13251, 20375, 11476, + 17999, 6718, + 18001, 9855, 29, 10641, 11772, + 18001, 11401, 2175, 1216, + 18001, 11401, 2175, 7854, + 18001, 11401, 2175, 7883, 12232, + 18001, 11401, 2175, 10620, + 18001, 11401, 2175, 11394, + 18001, 11401, 2175, 11476, + 18001, 11401, 2175, 12232, + 18001, 11401, 2175, 13757, 11394, + 18001, 11401, 2175, 14486, + 18001, 11401, 2175, 18846, + 18001, 11401, 2175, 18847, 15504, + 18001, 11401, 2303, 18847, 15504, + 18001, 11401, 2303, 20181, 15504, + 18001, 11401, 7171, 1216, + 18001, 11401, 7171, 7854, + 18001, 11401, 7171, 7883, 12232, + 18001, 11401, 7171, 10620, + 18001, 11401, 7171, 11394, + 18001, 11401, 7171, 12232, + 18001, 11401, 7171, 13757, 11394, + 18001, 11401, 7171, 14486, + 18001, 11401, 7171, 18846, + 18001, 11401, 7171, 18847, 15504, + 18001, 11401, 7817, 20181, 15504, + 18001, 11401, 13341, 20181, 15504, + 18001, 11401, 17649, 9, 7292, + 18001, 11401, 17649, 17, 7292, + 18001, 11401, 17649, 10092, + 18001, 11401, 17649, 15504, + 18001, 11401, 17649, 17342, + 18001, 11401, 17649, 17343, 7292, + 18001, 11401, 17649, 22869, 15504, + 18001, 13725, 14999, 18574, + 18001, 14625, 8320, + 18001, 14999, 0, + 18001, 14999, 2, + 18001, 14999, 6, + 18001, 14999, 7, 36, + 18001, 14999, 8, + 18001, 14999, 10, + 18001, 14999, 11, 26, + 18001, 14999, 12, + 18001, 14999, 13, 35, 36, + 18001, 14999, 14, + 18001, 14999, 16, + 18001, 14999, 18, + 18001, 14999, 19, 24, + 18001, 14999, 19, 25, 36, + 18001, 14999, 19, 26, + 18001, 14999, 19, 27, 36, + 18001, 14999, 19, 36, + 18001, 14999, 19, 37, 10641, 1216, + 18001, 14999, 19, 10641, 1216, + 18001, 14999, 19, 10641, 6431, 14875, 843, 11392, + 18001, 14999, 20, + 18001, 14999, 21, 24, + 18001, 14999, 21, 35, 36, + 18001, 14999, 22, + 18001, 14999, 24, + 18001, 14999, 25, 26, + 18001, 14999, 25, 27, 36, + 18001, 14999, 25, 36, + 18001, 14999, 25, 10641, 1216, + 18001, 14999, 26, + 18001, 14999, 27, 24, + 18001, 14999, 27, 25, 36, + 18001, 14999, 27, 36, + 18001, 14999, 27, 10641, 1216, + 18001, 14999, 28, + 18001, 14999, 30, + 18001, 14999, 31, 26, + 18001, 14999, 34, + 18001, 14999, 35, 36, + 18001, 14999, 36, + 18001, 14999, 37, 18, + 18001, 14999, 37, 19, 36, + 18001, 14999, 37, 20, + 18001, 14999, 37, 21, 34, + 18001, 14999, 37, 24, + 18001, 14999, 37, 26, + 18001, 14999, 37, 30, + 18001, 14999, 37, 31, 34, + 18001, 14999, 37, 36, + 18001, 14999, 37, 38, + 18001, 14999, 37, 39, 34, + 18001, 14999, 37, 10641, 1216, + 18001, 14999, 37, 10641, 1217, 11552, + 18001, 14999, 38, + 18001, 14999, 39, 35, 36, + 18001, 14999, 39, 36, + 18001, 14999, 40, + 18001, 14999, 41, 26, + 18001, 14999, 42, + 18001, 14999, 44, + 18001, 14999, 45, 34, + 18001, 14999, 46, + 18001, 14999, 156, + 18001, 14999, 184, + 18001, 14999, 214, + 18001, 14999, 278, + 18001, 14999, 300, + 18001, 14999, 360, + 18001, 14999, 390, + 18001, 14999, 478, + 18001, 14999, 510, + 18001, 14999, 514, + 18001, 14999, 576, + 18001, 14999, 628, + 18001, 14999, 658, + 18001, 14999, 660, + 18001, 14999, 694, + 18001, 14999, 704, + 18001, 14999, 706, + 18001, 14999, 710, + 18001, 14999, 730, + 18001, 14999, 736, + 18001, 14999, 854, + 18001, 14999, 2620, + 18001, 14999, 3542, + 18001, 14999, 3566, + 18001, 14999, 7883, 16, + 18001, 14999, 7883, 40, + 18001, 14999, 12811, 0, + 18001, 14999, 12811, 16, + 18001, 14999, 12811, 28, + 18001, 14999, 12811, 40, + 18001, 14999, 13507, 16, + 18001, 14999, 13557, 18, + 18001, 14999, 13557, 40, + 18001, 14999, 13557, 80, + 18001, 14999, 13557, 156, + 18001, 14999, 13557, 184, + 18001, 14999, 13557, 190, + 18001, 14999, 13557, 202, + 18001, 14999, 13557, 496, + 18001, 14999, 13557, 514, + 18001, 14999, 15319, 78, + 18001, 14999, 15319, 80, + 18001, 14999, 17493, 24, + 18001, 14999, 18549, 16, + 18001, 14999, 18549, 40, + 18001, 20877, 16147, 6793, 9956, + 18009, 20173, 3896, + 18009, 20173, 3898, + 18009, 20173, 3900, + 18009, 20173, 3902, + 18009, 20173, 3904, + 18009, 20173, 3906, + 18009, 20173, 3908, + 18009, 20173, 3910, + 18009, 20173, 3912, + 18009, 20173, 3914, + 18009, 20173, 3916, + 18009, 20173, 3918, + 18009, 20173, 3920, + 18009, 20173, 3922, + 18009, 20173, 3924, + 18009, 20173, 3926, + 18009, 20173, 3928, + 18009, 20173, 3930, + 18009, 20173, 3932, + 18009, 20173, 3934, + 18009, 20173, 3936, + 18009, 20173, 3938, + 18009, 20173, 3940, + 18009, 20173, 3942, + 18009, 20173, 3944, + 18009, 20173, 3946, + 18009, 20173, 3948, + 18009, 20173, 3950, + 18009, 20173, 3952, + 18009, 20173, 3954, + 18009, 20173, 3956, + 18009, 20173, 3958, + 18009, 20173, 3960, + 18009, 20173, 3962, + 18009, 20173, 3964, + 18009, 20173, 3966, + 18009, 20173, 3968, + 18009, 20173, 3970, + 18009, 20173, 3972, + 18009, 20173, 3974, + 18009, 20173, 3976, + 18009, 20173, 3978, + 18009, 20173, 3980, + 18009, 20173, 3982, + 18009, 20173, 3984, + 18009, 20173, 3986, + 18009, 20173, 3988, + 18009, 20173, 3990, + 18009, 20173, 3992, + 18009, 20173, 3994, + 18009, 20173, 3996, + 18009, 20173, 3998, + 18009, 20173, 4000, + 18009, 20173, 4002, + 18009, 20173, 4004, + 18009, 20173, 4006, + 18009, 20173, 4008, + 18009, 20173, 4010, + 18009, 20173, 4012, + 18009, 20173, 4014, + 18009, 20173, 4016, + 18009, 20173, 4018, + 18009, 20173, 4020, + 18009, 20173, 4022, + 18009, 20173, 4024, + 18009, 20173, 4026, + 18009, 20173, 4028, + 18009, 20173, 4030, + 18009, 20173, 4032, + 18009, 20173, 4034, + 18009, 20173, 5314, + 18009, 20173, 5316, + 18009, 20173, 5318, + 18009, 20173, 5320, + 18009, 20173, 5322, + 18009, 20173, 5324, + 18009, 20173, 5326, + 18009, 20173, 5328, + 18009, 20173, 5330, + 18009, 20173, 5906, + 18009, 20173, 5908, + 18009, 20173, 5910, + 18009, 20173, 5912, + 18009, 20173, 5914, + 18009, 20173, 5916, + 18009, 20173, 5918, + 18009, 20173, 5920, + 18009, 20173, 5922, + 18009, 20173, 5924, + 18009, 20173, 5926, + 18009, 20173, 5928, + 18009, 20173, 5930, + 18009, 20173, 5932, + 18009, 20173, 5934, + 18009, 20173, 5936, + 18009, 20173, 5938, + 18009, 20173, 5940, + 18009, 20173, 5942, + 18009, 20173, 5944, + 18009, 20173, 5946, + 18009, 20173, 5948, + 18009, 20173, 5950, + 18009, 20173, 5952, + 18009, 20173, 6136, + 18009, 20173, 6138, + 18009, 20173, 6140, + 18009, 20173, 6142, + 18009, 20173, 6144, + 18009, 20173, 6146, + 18009, 20173, 6148, + 18009, 20173, 6150, + 18009, 20173, 6152, + 18009, 20173, 6154, + 18009, 20173, 6156, + 18009, 20173, 6158, + 18009, 20173, 6160, + 18009, 20173, 6162, + 18009, 20173, 6164, + 18009, 20173, 6166, + 18009, 20173, 6168, + 18009, 20173, 6170, + 18009, 20173, 6172, + 18009, 20173, 6174, + 18009, 20173, 6176, + 18009, 20173, 6178, + 18009, 20173, 6180, + 18009, 20173, 6182, + 18009, 20173, 6184, + 18009, 20173, 6186, + 18009, 20173, 6188, + 18009, 20173, 6190, + 18009, 20173, 6192, + 18009, 20173, 6194, + 18009, 20173, 6196, + 18009, 20173, 6198, + 18009, 20173, 6200, + 18009, 20173, 6202, + 18009, 20173, 6204, + 18009, 20173, 6206, + 18009, 20173, 6208, + 18009, 20173, 6210, + 18009, 20173, 6212, + 18009, 20173, 6214, + 18009, 20173, 6216, + 18009, 20173, 6218, + 18009, 20173, 6220, + 18009, 20173, 6222, + 18009, 20173, 6224, + 18009, 20173, 6226, + 18009, 20173, 6228, + 18009, 20173, 6230, + 18009, 20173, 6232, + 18009, 20173, 6234, + 18009, 20173, 6236, + 18009, 20173, 6238, + 18009, 20173, 6240, + 18009, 20173, 6242, + 18009, 20173, 6244, + 18009, 20173, 6246, + 18009, 20173, 6248, + 18009, 20173, 6250, + 18009, 20173, 6252, + 18009, 20173, 6254, + 18009, 20173, 6256, + 18009, 20173, 6258, + 18009, 20173, 6260, + 18009, 20173, 6262, + 18009, 20173, 6264, + 18009, 20173, 6266, + 18009, 20173, 6268, + 18009, 20173, 6482, + 18009, 20173, 6484, + 18009, 20173, 6486, + 18009, 20173, 6488, + 18009, 20173, 6490, + 18009, 20173, 6492, + 18009, 20173, 6494, + 18009, 20173, 6496, + 18009, 20173, 6498, + 18009, 20173, 6500, + 18009, 20173, 6502, + 18009, 20173, 6504, + 18009, 20173, 6506, + 18009, 20173, 6508, + 18009, 20173, 6510, + 18009, 20173, 6512, + 18009, 20173, 6514, + 18009, 20173, 6516, + 18009, 20173, 6518, + 18009, 20173, 6520, + 18009, 20173, 6522, + 18009, 20173, 6524, + 18009, 20173, 6526, + 18009, 20173, 6528, + 18009, 20173, 6530, + 18009, 20173, 6532, + 18009, 20173, 6534, + 18009, 20173, 6536, + 18009, 20173, 6538, + 18009, 20173, 6540, + 18009, 20173, 6542, + 18009, 20173, 6544, + 18009, 20173, 6546, + 18009, 20173, 6548, + 18009, 20173, 6550, + 18009, 20173, 6552, + 18009, 20173, 6554, + 18009, 20173, 6610, + 18009, 20173, 6612, + 18009, 20173, 6614, + 18009, 20173, 6616, + 18009, 20173, 6618, + 18009, 20173, 6620, + 18009, 20173, 6622, + 18009, 20173, 6624, + 18009, 20173, 6626, + 18009, 20173, 6628, + 18009, 20173, 6630, + 18009, 20173, 6632, + 18009, 20173, 6634, + 18009, 20173, 6636, + 18009, 20173, 6638, + 18009, 20173, 6640, + 18009, 20173, 6642, + 18009, 20173, 6644, + 18009, 20173, 6646, + 18009, 20173, 6648, + 18009, 20173, 6650, + 18009, 20173, 6652, + 18009, 20173, 6654, + 18009, 20173, 6656, + 18009, 20173, 6658, + 18009, 20173, 6660, + 18009, 20173, 6662, + 18009, 20173, 6664, + 18009, 20173, 6666, + 18009, 20173, 6668, + 18009, 20173, 6670, + 18009, 20173, 6672, + 18009, 20173, 6674, + 18009, 20173, 6676, + 18009, 20173, 6678, + 18009, 20173, 6680, + 18009, 20173, 6682, + 18009, 20173, 6684, + 18009, 20173, 6686, + 18009, 20173, 6688, + 18009, 20173, 6690, + 18009, 20173, 6692, + 18009, 20173, 6694, + 18009, 20173, 6696, + 18009, 20173, 6698, + 18009, 20173, 6700, + 18009, 20173, 6702, + 18009, 20173, 6704, + 18009, 20173, 6706, + 18009, 20173, 6708, + 18009, 20173, 6710, + 18009, 20173, 6712, + 18009, 20173, 6714, + 18009, 20173, 6810, + 18009, 20173, 6812, + 18009, 20173, 6814, + 18009, 20173, 6816, + 18009, 20173, 6818, + 18009, 20173, 6820, + 18009, 20173, 6822, + 18009, 20173, 6824, + 18009, 20173, 6826, + 18009, 20173, 6828, + 18009, 20173, 6830, + 18009, 20173, 6832, + 18009, 20173, 6834, + 18009, 20173, 6836, + 18009, 20173, 6838, + 18009, 20173, 6840, + 18009, 20173, 6842, + 18009, 20173, 6844, + 18009, 20173, 6846, + 18009, 20173, 6848, + 18009, 20173, 6850, + 18009, 20173, 6852, + 18009, 20173, 6854, + 18009, 20173, 6856, + 18009, 20173, 6858, + 18009, 20173, 6860, + 18009, 20173, 6862, + 18009, 20173, 6864, + 18009, 20173, 6866, + 18009, 20173, 6868, + 18009, 20173, 6870, + 18009, 20173, 6872, + 18009, 20173, 6874, + 18009, 20173, 6876, + 18009, 20173, 6878, + 18009, 20173, 6880, + 18009, 20173, 6882, + 18009, 20173, 6884, + 18009, 20173, 6886, + 18009, 20173, 6888, + 18009, 20173, 6890, + 18009, 20173, 6892, + 18009, 20173, 6894, + 18009, 20173, 6896, + 18009, 20173, 6898, + 18009, 20173, 6900, + 18009, 20173, 6902, + 18009, 20173, 6904, + 18009, 20173, 6906, + 18009, 20173, 6908, + 18009, 20173, 6910, + 18009, 20173, 6912, + 18009, 20173, 6914, + 18009, 20173, 6916, + 18009, 20173, 7098, + 18009, 20173, 7100, + 18009, 20173, 7102, + 18009, 20173, 7104, + 18009, 20173, 7106, + 18009, 20173, 7108, + 18009, 20173, 7110, + 18009, 20173, 7112, + 18009, 20173, 7382, + 18009, 20173, 7384, + 18009, 20173, 7386, + 18009, 20173, 7388, + 18009, 20173, 7390, + 18009, 20173, 7392, + 18009, 20173, 7394, + 18009, 20173, 7396, + 18009, 20173, 7398, + 18009, 20173, 7400, + 18009, 20173, 7402, + 18009, 20173, 7404, + 18009, 20173, 7406, + 18009, 20173, 7408, + 18009, 20173, 7410, + 18009, 20173, 7542, + 18009, 20173, 7544, + 18009, 20173, 7546, + 18009, 20173, 7548, + 18009, 20173, 7550, + 18009, 20173, 7552, + 18009, 20173, 7554, + 18009, 20173, 7556, + 18009, 20173, 7756, + 18009, 20173, 7758, + 18009, 20173, 7760, + 18009, 20173, 7762, + 18009, 20173, 7764, + 18009, 20173, 7766, + 18009, 20173, 7768, + 18009, 20173, 7770, + 18009, 20173, 7914, + 18009, 20173, 7916, + 18009, 20173, 7918, + 18009, 20173, 7920, + 18009, 20173, 7922, + 18009, 20173, 7924, + 18009, 20173, 7926, + 18009, 20173, 7928, + 18009, 20173, 7930, + 18009, 20173, 7932, + 18009, 20173, 7934, + 18009, 20173, 7936, + 18009, 20173, 7938, + 18009, 20173, 7940, + 18009, 20173, 7942, + 18009, 20173, 7944, + 18009, 20173, 7946, + 18009, 20173, 7948, + 18009, 20173, 7950, + 18009, 20173, 7952, + 18009, 20173, 7954, + 18009, 20173, 7956, + 18009, 20173, 7958, + 18009, 20173, 7960, + 18009, 20173, 7962, + 18009, 20173, 7964, + 18009, 20173, 7966, + 18009, 20173, 7968, + 18009, 20173, 7970, + 18009, 20173, 7972, + 18009, 20173, 7974, + 18009, 20173, 7976, + 18009, 20173, 7978, + 18009, 20173, 7980, + 18009, 20173, 7982, + 18009, 20173, 7984, + 18009, 20173, 7986, + 18009, 20173, 7988, + 18009, 20173, 7990, + 18009, 20173, 7992, + 18009, 20173, 7994, + 18009, 20173, 7996, + 18009, 20173, 7998, + 18009, 20173, 8000, + 18009, 20173, 8502, + 18009, 20173, 8504, + 18009, 20173, 8506, + 18009, 20173, 8508, + 18009, 20173, 8510, + 18009, 20173, 8512, + 18009, 20173, 8514, + 18009, 20173, 8516, + 18009, 20173, 8518, + 18009, 20173, 8520, + 18009, 20173, 8522, + 18009, 20173, 8524, + 18009, 20173, 8526, + 18009, 20173, 8528, + 18009, 20173, 8530, + 18009, 20173, 8532, + 18009, 20173, 8534, + 18009, 20173, 8536, + 18009, 20173, 8538, + 18009, 20173, 8540, + 18009, 20173, 8542, + 18009, 20173, 8544, + 18009, 20173, 8546, + 18009, 20173, 8548, + 18009, 20173, 8550, + 18009, 20173, 8552, + 18009, 20173, 8554, + 18009, 20173, 8556, + 18009, 20173, 8558, + 18009, 20173, 8560, + 18009, 20173, 8562, + 18009, 20173, 8564, + 18009, 20173, 8566, + 18009, 20173, 8568, + 18009, 20173, 8570, + 18009, 20173, 8572, + 18009, 20173, 8574, + 18009, 20173, 8576, + 18009, 20173, 8578, + 18009, 20173, 8580, + 18009, 20173, 8582, + 18009, 20173, 8584, + 18009, 20173, 9052, + 18009, 20173, 9054, + 18009, 20173, 9056, + 18009, 20173, 9058, + 18009, 20173, 9060, + 18009, 20173, 9062, + 18009, 20173, 9064, + 18009, 20173, 9066, + 18009, 20173, 9068, + 18009, 20173, 9070, + 18009, 20173, 9072, + 18009, 20173, 9074, + 18009, 20173, 9076, + 18009, 20173, 9078, + 18009, 20173, 9080, + 18009, 20173, 9082, + 18009, 20173, 9084, + 18009, 20173, 9086, + 18009, 20173, 9088, + 18009, 20173, 9090, + 18009, 20173, 9092, + 18009, 20173, 9094, + 18009, 20173, 9096, + 18009, 20173, 9098, + 18009, 20173, 9100, + 18009, 20173, 9102, + 18009, 20173, 9104, + 18009, 20173, 9106, + 18009, 20173, 9108, + 18009, 20173, 9110, + 18009, 20173, 9112, + 18009, 20173, 9114, + 18009, 20173, 9116, + 18009, 20173, 9118, + 18009, 20173, 9120, + 18009, 20173, 9122, + 18009, 20173, 9124, + 18009, 20173, 9126, + 18009, 20173, 9128, + 18009, 20173, 9130, + 18009, 20173, 9132, + 18009, 20173, 9134, + 18009, 20173, 9136, + 18009, 20173, 9138, + 18009, 20173, 9140, + 18009, 20173, 9142, + 18009, 20173, 9144, + 18009, 20173, 9146, + 18009, 20173, 9148, + 18009, 20173, 9150, + 18009, 20173, 9152, + 18009, 20173, 9178, + 18009, 20173, 9180, + 18009, 20173, 9182, + 18009, 20173, 9184, + 18009, 20173, 9186, + 18009, 20173, 9188, + 18009, 20173, 9190, + 18009, 20173, 9192, + 18009, 20173, 9194, + 18009, 20173, 9196, + 18009, 20173, 9198, + 18009, 20173, 9330, + 18009, 20173, 9332, + 18009, 20173, 9334, + 18009, 20173, 9336, + 18009, 20173, 9338, + 18009, 20173, 9340, + 18009, 20173, 9342, + 18009, 20173, 9396, + 18009, 20173, 9398, + 18009, 20173, 9400, + 18009, 20173, 9402, + 18009, 20173, 9404, + 18009, 20173, 9406, + 18009, 20173, 9408, + 18009, 20173, 9410, + 18009, 20173, 9412, + 18009, 20173, 9414, + 18009, 20173, 9416, + 18009, 20173, 9418, + 18009, 20173, 9420, + 18009, 20173, 9422, + 18009, 20173, 9424, + 18009, 20173, 9426, + 18009, 20173, 9428, + 18009, 20173, 9430, + 18009, 20173, 9432, + 18009, 20173, 9434, + 18009, 20173, 9436, + 18009, 20173, 9438, + 18009, 20173, 9440, + 18009, 20173, 9442, + 18009, 20173, 9444, + 18009, 20173, 9446, + 18009, 20173, 9448, + 18009, 20173, 9450, + 18009, 20173, 9452, + 18009, 20173, 9586, + 18009, 20173, 9588, + 18009, 20173, 9590, + 18009, 20173, 9592, + 18009, 20173, 9594, + 18009, 20173, 9596, + 18009, 20173, 9598, + 18009, 20173, 9600, + 18009, 20173, 9602, + 18009, 20173, 9604, + 18009, 20173, 9606, + 18009, 20173, 9608, + 18009, 20173, 9610, + 18009, 20173, 9612, + 18009, 20173, 9614, + 18009, 20173, 9616, + 18009, 20173, 9618, + 18009, 20173, 9620, + 18009, 20173, 9622, + 18009, 20173, 9624, + 18009, 20173, 9626, + 18009, 20173, 9628, + 18009, 20173, 9630, + 18009, 20173, 9632, + 18009, 20173, 9634, + 18009, 20173, 9636, + 18009, 20173, 9638, + 18009, 20173, 9640, + 18009, 20173, 9642, + 18009, 20173, 9644, + 18009, 20173, 9646, + 18009, 20173, 9648, + 18009, 20173, 9650, + 18009, 20173, 9652, + 18009, 20173, 9654, + 18009, 20173, 9656, + 18009, 20173, 9658, + 18009, 20173, 9660, + 18009, 20173, 9662, + 18009, 20173, 9664, + 18009, 20173, 9666, + 18009, 20173, 9668, + 18009, 20173, 9670, + 18009, 20173, 9672, + 18009, 20173, 9674, + 18009, 20173, 9676, + 18009, 20173, 10002, + 18009, 20173, 10004, + 18009, 20173, 10006, + 18009, 20173, 10008, + 18009, 20173, 10010, + 18009, 20173, 10012, + 18009, 20173, 10014, + 18009, 20173, 10016, + 18009, 20173, 10018, + 18009, 20173, 10020, + 18009, 20173, 10022, + 18009, 20173, 10024, + 18009, 20173, 10026, + 18009, 20173, 10028, + 18009, 20173, 10030, + 18009, 20173, 10032, + 18009, 20173, 10034, + 18009, 20173, 10036, + 18009, 20173, 10038, + 18009, 20173, 10040, + 18009, 20173, 10042, + 18009, 20173, 10044, + 18009, 20173, 10046, + 18009, 20173, 10048, + 18009, 20173, 10050, + 18009, 20173, 10052, + 18009, 20173, 10054, + 18009, 20173, 10056, + 18009, 20173, 10058, + 18009, 20173, 10060, + 18009, 20173, 10062, + 18009, 20173, 10064, + 18009, 20173, 10066, + 18009, 20173, 10068, + 18009, 20173, 10070, + 18009, 20173, 10072, + 18009, 20173, 10326, + 18009, 20173, 10328, + 18009, 20173, 10330, + 18009, 20173, 10332, + 18009, 20173, 10334, + 18009, 20173, 10336, + 18009, 20173, 10338, + 18009, 20173, 10340, + 18009, 20173, 10342, + 18009, 20173, 10344, + 18009, 20173, 10346, + 18009, 20173, 10348, + 18009, 20173, 10350, + 18009, 20173, 10352, + 18009, 20173, 10354, + 18009, 20173, 10356, + 18009, 20173, 10358, + 18009, 20173, 10360, + 18009, 20173, 10362, + 18009, 20173, 10364, + 18009, 20173, 10366, + 18009, 20173, 10368, + 18009, 20173, 10370, + 18009, 20173, 10372, + 18009, 20173, 10374, + 18009, 20173, 10376, + 18009, 20173, 10378, + 18009, 20173, 10380, + 18009, 20173, 10382, + 18009, 20173, 10384, + 18009, 20173, 10386, + 18009, 20173, 10388, + 18009, 20173, 10390, + 18009, 20173, 10392, + 18009, 20173, 10394, + 18009, 20173, 10396, + 18009, 20173, 10398, + 18009, 20173, 10400, + 18009, 20173, 10402, + 18009, 20173, 10404, + 18009, 20173, 10406, + 18009, 20173, 10408, + 18009, 20173, 10444, + 18009, 20173, 10446, + 18009, 20173, 10448, + 18009, 20173, 10450, + 18009, 20173, 10452, + 18009, 20173, 10454, + 18009, 20173, 10456, + 18009, 20173, 10458, + 18009, 20173, 10460, + 18009, 20173, 10462, + 18009, 20173, 10464, + 18009, 20173, 10466, + 18009, 20173, 10468, + 18009, 20173, 10470, + 18009, 20173, 10472, + 18009, 20173, 10474, + 18009, 20173, 10476, + 18009, 20173, 10478, + 18009, 20173, 10480, + 18009, 20173, 10482, + 18009, 20173, 10484, + 18009, 20173, 10486, + 18009, 20173, 10488, + 18009, 20173, 10490, + 18009, 20173, 10492, + 18009, 20173, 10494, + 18009, 20173, 10496, + 18009, 20173, 10498, + 18009, 20173, 10500, + 18009, 20173, 10502, + 18009, 20173, 10504, + 18009, 20173, 10506, + 18009, 20173, 10508, + 18009, 20173, 10510, + 18009, 20173, 10512, + 18009, 20173, 10514, + 18009, 20173, 10516, + 18009, 20173, 10518, + 18009, 20173, 10520, + 18009, 20173, 10522, + 18009, 20173, 10564, + 18009, 20173, 10566, + 18009, 20173, 10568, + 18009, 20173, 10570, + 18009, 20173, 10572, + 18009, 20173, 10574, + 18009, 20173, 10576, + 18009, 20173, 10578, + 18009, 20173, 10580, + 18009, 20173, 10582, + 18009, 20173, 10584, + 18009, 20173, 10586, + 18009, 20173, 10588, + 18009, 20173, 10590, + 18009, 20173, 10592, + 18009, 20173, 10594, + 18009, 20173, 10596, + 18009, 20173, 10598, + 18009, 20173, 10600, + 18009, 20173, 10602, + 18009, 20173, 10604, + 18009, 20173, 10606, + 18009, 20173, 10608, + 18009, 20173, 10610, + 18009, 20173, 10612, + 18009, 20173, 10664, + 18009, 20173, 10666, + 18009, 20173, 10668, + 18009, 20173, 10670, + 18009, 20173, 10672, + 18009, 20173, 10674, + 18009, 20173, 10676, + 18009, 20173, 10678, + 18009, 20173, 10710, + 18009, 20173, 10712, + 18009, 20173, 10714, + 18009, 20173, 10716, + 18009, 20173, 10718, + 18009, 20173, 10720, + 18009, 20173, 10722, + 18009, 20173, 10724, + 18009, 20173, 10856, + 18009, 20173, 10858, + 18009, 20173, 10860, + 18009, 20173, 10862, + 18009, 20173, 10864, + 18009, 20173, 10866, + 18009, 20173, 10868, + 18009, 20173, 10870, + 18009, 20173, 10872, + 18009, 20173, 10874, + 18009, 20173, 10876, + 18009, 20173, 10878, + 18009, 20173, 10880, + 18009, 20173, 10882, + 18009, 20173, 10884, + 18009, 20173, 10886, + 18009, 20173, 11030, + 18009, 20173, 11032, + 18009, 20173, 11034, + 18009, 20173, 11038, + 18009, 20173, 11040, + 18009, 20173, 11046, + 18009, 20173, 11050, + 18009, 20173, 11054, + 18009, 20173, 11056, + 18009, 20173, 11058, + 18009, 20173, 11178, + 18009, 20173, 11180, + 18009, 20173, 11182, + 18009, 20173, 11184, + 18009, 20173, 11186, + 18009, 20173, 11188, + 18009, 20173, 11190, + 18009, 20173, 11192, + 18009, 20173, 11194, + 18009, 20173, 11196, + 18009, 20173, 11198, + 18009, 20173, 11200, + 18009, 20173, 11202, + 18009, 20173, 11204, + 18009, 20173, 11206, + 18009, 20173, 11208, + 18009, 20173, 11210, + 18009, 20173, 11212, + 18009, 20173, 11214, + 18009, 20173, 11216, + 18009, 20173, 11218, + 18009, 20173, 11220, + 18009, 20173, 11222, + 18009, 20173, 11224, + 18009, 20173, 11226, + 18009, 20173, 11228, + 18009, 20173, 11230, + 18009, 20173, 11232, + 18009, 20173, 11234, + 18009, 20173, 11236, + 18009, 20173, 11238, + 18009, 20173, 11240, + 18009, 20173, 11492, + 18009, 20173, 11628, + 18009, 20173, 11630, + 18009, 20173, 11632, + 18009, 20173, 11634, + 18009, 20173, 11784, + 18009, 20173, 11786, + 18009, 20173, 11788, + 18009, 20173, 11790, + 18009, 20173, 11792, + 18009, 20173, 11794, + 18009, 20173, 11796, + 18009, 20173, 11798, + 18009, 20173, 11800, + 18009, 20173, 11802, + 18009, 20173, 11804, + 18009, 20173, 11806, + 18009, 20173, 11808, + 18009, 20173, 11810, + 18009, 20173, 11812, + 18009, 20173, 11814, + 18009, 20173, 11816, + 18009, 20173, 11818, + 18009, 20173, 11820, + 18009, 20173, 11822, + 18009, 20173, 11824, + 18009, 20173, 11826, + 18009, 20173, 11828, + 18009, 20173, 11830, + 18009, 20173, 11832, + 18009, 20173, 11950, + 18009, 20173, 11952, + 18009, 20173, 11954, + 18009, 20173, 11956, + 18009, 20173, 11958, + 18009, 20173, 11960, + 18009, 20173, 11962, + 18009, 20173, 12036, + 18009, 20173, 12038, + 18009, 20173, 12040, + 18009, 20173, 12042, + 18009, 20173, 12044, + 18009, 20173, 12046, + 18009, 20173, 12048, + 18009, 20173, 12050, + 18009, 20173, 12052, + 18009, 20173, 12054, + 18009, 20173, 12056, + 18009, 20173, 12058, + 18009, 20173, 12124, + 18009, 20173, 12126, + 18009, 20173, 12128, + 18009, 20173, 12130, + 18009, 20173, 12132, + 18009, 20173, 12134, + 18009, 20173, 12136, + 18009, 20173, 12138, + 18009, 20173, 12140, + 18009, 20173, 12142, + 18009, 20173, 12248, + 18009, 20173, 12362, + 18009, 20173, 12364, + 18009, 20173, 12366, + 18009, 20173, 12368, + 18009, 20173, 12508, + 18009, 20173, 12510, + 18009, 20173, 12598, + 18009, 20173, 12600, + 18009, 20173, 12602, + 18009, 20173, 12604, + 18009, 20173, 12606, + 18009, 20173, 12608, + 18009, 20173, 12610, + 18009, 20173, 12612, + 18009, 20173, 12614, + 18009, 20173, 12616, + 18009, 20173, 12618, + 18009, 20173, 12620, + 18009, 20173, 12622, + 18009, 20173, 12624, + 18009, 20173, 12626, + 18009, 20173, 12628, + 18009, 20173, 12630, + 18009, 20173, 12632, + 18009, 20173, 12634, + 18009, 20173, 12636, + 18009, 20173, 12638, + 18009, 20173, 12640, + 18009, 20173, 12788, + 18009, 20173, 12790, + 18009, 20173, 12792, + 18009, 20173, 12794, + 18009, 20173, 12796, + 18009, 20173, 12798, + 18009, 20173, 12800, + 18009, 20173, 12922, + 18009, 20173, 12924, + 18009, 20173, 12926, + 18009, 20173, 12928, + 18009, 20173, 12930, + 18009, 20173, 12932, + 18009, 20173, 12934, + 18009, 20173, 12936, + 18009, 20173, 12938, + 18009, 20173, 12940, + 18009, 20173, 12942, + 18009, 20173, 12944, + 18009, 20173, 12946, + 18009, 20173, 12948, + 18009, 20173, 12950, + 18009, 20173, 12952, + 18009, 20173, 12954, + 18009, 20173, 12956, + 18009, 20173, 12958, + 18009, 20173, 12960, + 18009, 20173, 13006, + 18009, 20173, 13008, + 18009, 20173, 13010, + 18009, 20173, 13012, + 18009, 20173, 13014, + 18009, 20173, 13016, + 18009, 20173, 13018, + 18009, 20173, 13020, + 18009, 20173, 13022, + 18009, 20173, 13024, + 18009, 20173, 13026, + 18009, 20173, 13028, + 18009, 20173, 13030, + 18009, 20173, 13032, + 18009, 20173, 13034, + 18009, 20173, 13036, + 18009, 20173, 13038, + 18009, 20173, 13040, + 18009, 20173, 13042, + 18009, 20173, 13044, + 18009, 20173, 13046, + 18009, 20173, 13048, + 18009, 20173, 13084, + 18009, 20173, 13086, + 18009, 20173, 13088, + 18009, 20173, 13090, + 18009, 20173, 13092, + 18009, 20173, 13094, + 18009, 20173, 13096, + 18009, 20173, 13098, + 18009, 20173, 13100, + 18009, 20173, 13102, + 18009, 20173, 13104, + 18009, 20173, 13106, + 18009, 20173, 13108, + 18009, 20173, 13110, + 18009, 20173, 13112, + 18009, 20173, 13114, + 18009, 20173, 13116, + 18009, 20173, 13118, + 18009, 20173, 13120, + 18009, 20173, 13122, + 18009, 20173, 13124, + 18009, 20173, 13126, + 18009, 20173, 13128, + 18009, 20173, 13130, + 18009, 20173, 13166, + 18009, 20173, 13168, + 18009, 20173, 13296, + 18009, 20173, 13298, + 18009, 20173, 13300, + 18009, 20173, 13302, + 18009, 20173, 13304, + 18009, 20173, 13384, + 18009, 20173, 13386, + 18009, 20173, 13388, + 18009, 20173, 13390, + 18009, 20173, 13392, + 18009, 20173, 13394, + 18009, 20173, 13396, + 18009, 20173, 13398, + 18009, 20173, 13666, + 18009, 20173, 13668, + 18009, 20173, 13670, + 18009, 20173, 13672, + 18009, 20173, 13674, + 18009, 20173, 13676, + 18009, 20173, 13678, + 18009, 20173, 13680, + 18009, 20173, 13864, + 18009, 20173, 13866, + 18009, 20173, 13868, + 18009, 20173, 13870, + 18009, 20173, 13872, + 18009, 20173, 13898, + 18009, 20173, 13900, + 18009, 20173, 13902, + 18009, 20173, 13904, + 18009, 20173, 13906, + 18009, 20173, 13908, + 18009, 20173, 13910, + 18009, 20173, 13912, + 18009, 20173, 13914, + 18009, 20173, 13916, + 18009, 20173, 13918, + 18009, 20173, 13920, + 18009, 20173, 13922, + 18009, 20173, 13924, + 18009, 20173, 13926, + 18009, 20173, 13928, + 18009, 20173, 13930, + 18009, 20173, 13932, + 18009, 20173, 13934, + 18009, 20173, 13936, + 18009, 20173, 13938, + 18009, 20173, 13940, + 18009, 20173, 13942, + 18009, 20173, 13944, + 18009, 20173, 13946, + 18009, 20173, 13948, + 18009, 20173, 13950, + 18009, 20173, 13952, + 18009, 20173, 13954, + 18009, 20173, 13956, + 18009, 20173, 13958, + 18009, 20173, 13960, + 18009, 20173, 13962, + 18009, 20173, 13964, + 18009, 20173, 13966, + 18009, 20173, 13968, + 18009, 20173, 13970, + 18009, 20173, 14006, + 18009, 20173, 14008, + 18009, 20173, 14010, + 18009, 20173, 14012, + 18009, 20173, 14014, + 18009, 20173, 14016, + 18009, 20173, 14018, + 18009, 20173, 14080, + 18009, 20173, 14082, + 18009, 20173, 14084, + 18009, 20173, 14086, + 18009, 20173, 14094, + 18009, 20173, 14142, + 18009, 20173, 14144, + 18009, 20173, 14146, + 18009, 20173, 14148, + 18009, 20173, 14150, + 18009, 20173, 14152, + 18009, 20173, 14154, + 18009, 20173, 14156, + 18009, 20173, 14158, + 18009, 20173, 14160, + 18009, 20173, 14162, + 18009, 20173, 14164, + 18009, 20173, 14166, + 18009, 20173, 14168, + 18009, 20173, 14170, + 18009, 20173, 14172, + 18009, 20173, 14174, + 18009, 20173, 14176, + 18009, 20173, 14178, + 18009, 20173, 14180, + 18009, 20173, 14182, + 18009, 20173, 14184, + 18009, 20173, 14186, + 18009, 20173, 14188, + 18009, 20173, 14190, + 18009, 20173, 14244, + 18009, 20173, 14246, + 18009, 20173, 15202, + 18009, 20173, 15204, + 18009, 20173, 15222, + 18009, 20173, 15224, + 18009, 20173, 15226, + 18009, 20173, 15228, + 18013, 9280, + 18013, 11476, + 18013, 12563, 5874, + 18013, 13796, + 18014, + 18021, 15672, + 18026, + 18027, 10641, 19215, 11477, 11392, + 18027, 10641, 19414, + 18035, 6793, 9956, + 18035, 11756, + 18035, 11762, + 18035, 11905, 2610, + 18035, 11905, 3076, + 18035, 11905, 3356, + 18035, 11905, 6756, + 18035, 11905, 6778, + 18035, 11905, 8780, + 18035, 11905, 11978, + 18035, 11905, 13450, + 18035, 11905, 13736, + 18035, 13791, 8321, 7726, + 18035, 13791, 8321, 11892, + 18035, 13791, 8321, 11902, + 18035, 13791, 8321, 12278, + 18035, 13791, 8321, 12454, + 18035, 13791, 8321, 13507, 15444, + 18035, 13791, 8321, 14124, + 18035, 13791, 8321, 14474, + 18035, 13791, 8321, 15444, + 18035, 13791, 8321, 20598, + 18035, 15233, 3232, + 18035, 15233, 3233, 18744, + 18035, 15233, 12080, + 18035, 15233, 12108, + 18035, 15233, 13538, + 18035, 15233, 14636, + 18035, 15233, 15194, + 18035, 15233, 15736, + 18035, 15233, 15820, + 18035, 15233, 16502, + 18035, 15233, 17190, + 18035, 17063, 11756, + 18035, 17179, 8320, + 18035, 18511, 8320, + 18035, 18697, 106, + 18035, 18697, 110, + 18035, 18697, 114, + 18035, 18697, 116, + 18035, 18697, 120, + 18035, 18697, 124, + 18035, 18697, 130, + 18035, 18697, 134, + 18035, 18697, 140, + 18035, 18697, 142, + 18035, 18697, 148, + 18035, 18697, 154, + 18035, 18697, 158, + 18035, 18697, 166, + 18035, 18697, 168, + 18035, 18697, 224, + 18035, 18697, 226, + 18035, 18697, 230, + 18035, 18697, 236, + 18035, 18697, 238, + 18035, 18697, 244, + 18035, 18697, 248, + 18035, 18697, 254, + 18035, 18697, 258, + 18035, 18697, 260, + 18035, 18697, 266, + 18035, 18697, 270, + 18035, 18697, 274, + 18035, 18697, 282, + 18035, 18697, 286, + 18035, 18697, 336, + 18035, 18697, 338, + 18035, 18697, 340, + 18035, 18697, 342, + 18035, 18697, 344, + 18035, 18697, 350, + 18035, 18697, 354, + 18035, 18697, 358, + 18035, 18697, 366, + 18035, 18697, 370, + 18035, 18697, 384, + 18035, 18697, 388, + 18035, 18697, 392, + 18035, 18697, 402, + 18035, 18697, 406, + 18035, 18697, 416, + 18035, 18697, 424, + 18035, 18697, 430, + 18035, 18697, 436, + 18035, 18697, 440, + 18035, 18697, 448, + 18035, 18697, 452, + 18035, 18697, 460, + 18035, 18697, 468, + 18035, 18697, 472, + 18035, 18697, 522, + 18035, 18697, 528, + 18035, 18697, 536, + 18035, 18697, 540, + 18035, 18697, 546, + 18035, 18697, 556, + 18035, 18697, 558, + 18035, 18697, 560, + 18035, 18697, 564, + 18035, 18697, 568, + 18035, 18697, 572, + 18035, 18697, 574, + 18035, 18697, 578, + 18035, 18697, 580, + 18035, 18697, 584, + 18035, 18697, 588, + 18035, 18697, 592, + 18035, 18697, 598, + 18035, 18697, 602, + 18035, 18697, 612, + 18035, 18697, 622, + 18035, 18697, 626, + 18035, 18697, 630, + 18035, 18697, 634, + 18035, 18697, 642, + 18035, 18697, 680, + 18035, 18697, 682, + 18035, 18697, 684, + 18035, 18697, 686, + 18035, 18697, 690, + 18035, 18697, 694, + 18035, 18697, 700, + 18035, 18697, 706, + 18035, 18697, 710, + 18035, 18697, 712, + 18035, 18697, 718, + 18035, 18697, 720, + 18035, 18697, 724, + 18035, 18697, 726, + 18035, 18697, 728, + 18035, 18697, 734, + 18035, 18697, 736, + 18035, 18697, 738, + 18035, 18697, 742, + 18035, 18697, 746, + 18035, 18697, 752, + 18035, 18697, 754, + 18035, 18697, 758, + 18035, 18697, 760, + 18035, 18697, 762, + 18035, 18697, 882, + 18035, 18697, 904, + 18035, 18697, 906, + 18035, 18697, 908, + 18035, 18697, 910, + 18035, 18697, 912, + 18035, 18697, 918, + 18035, 18697, 956, + 18035, 18697, 990, + 18035, 18697, 992, + 18035, 18697, 994, + 18035, 18697, 1006, + 18035, 18697, 1024, + 18035, 18697, 1026, + 18035, 18697, 1028, + 18035, 18697, 1030, + 18035, 18697, 1032, + 18035, 18697, 1034, + 18035, 18697, 1044, + 18035, 18697, 1046, + 18035, 18697, 1048, + 18035, 18697, 1050, + 18035, 18697, 1052, + 18035, 18697, 1074, + 18035, 18697, 1100, + 18035, 18697, 1118, + 18035, 18697, 1142, + 18035, 18697, 1144, + 18035, 18697, 1146, + 18035, 18697, 1148, + 18035, 18697, 1150, + 18035, 18697, 1152, + 18035, 18697, 1204, + 18035, 18697, 1246, + 18035, 18697, 1256, + 18035, 18697, 1258, + 18035, 18697, 1260, + 18035, 18697, 1262, + 18035, 18697, 1344, + 18035, 18697, 1364, + 18035, 18697, 1414, + 18035, 18697, 1416, + 18035, 18697, 1418, + 18035, 18697, 1420, + 18035, 18697, 1430, + 18035, 18697, 1468, + 18035, 18697, 1482, + 18035, 18697, 1484, + 18035, 18697, 1486, + 18035, 18697, 1488, + 18035, 18697, 1490, + 18035, 18697, 1522, + 18035, 18697, 1560, + 18035, 18697, 1562, + 18035, 18697, 1564, + 18035, 18697, 1568, + 18035, 18697, 1570, + 18035, 18697, 1572, + 18035, 18697, 1574, + 18035, 18697, 1576, + 18035, 18697, 1578, + 18035, 18697, 1606, + 18035, 18697, 1620, + 18035, 18697, 1622, + 18035, 18697, 1624, + 18035, 18697, 1626, + 18035, 18697, 1628, + 18035, 18697, 1670, + 18035, 18697, 1780, + 18035, 18697, 1788, + 18035, 18697, 1824, + 18035, 18697, 1848, + 18035, 18697, 1860, + 18035, 18697, 1896, + 18035, 18697, 1964, + 18035, 18697, 2032, + 18035, 18697, 2036, + 18035, 18697, 2038, + 18035, 18697, 2046, + 18035, 18697, 2048, + 18035, 18697, 2050, + 18035, 18697, 2052, + 18035, 18697, 2054, + 18035, 18697, 2056, + 18035, 18697, 2058, + 18035, 18697, 2060, + 18035, 18697, 2062, + 18035, 18697, 2064, + 18035, 18697, 2066, + 18035, 18697, 2104, + 18035, 18697, 2158, + 18035, 18697, 2212, + 18035, 18697, 2234, + 18035, 18697, 2278, + 18035, 18697, 2324, + 18035, 18697, 2366, + 18035, 18697, 2368, + 18035, 18697, 2370, + 18035, 18697, 2374, + 18035, 18697, 2386, + 18035, 18697, 2430, + 18035, 18697, 2500, + 18035, 18697, 2548, + 18035, 18697, 2556, + 18035, 18697, 2560, + 18035, 18697, 2562, + 18035, 18697, 2564, + 18035, 18697, 2566, + 18035, 18697, 2636, + 18035, 18697, 2664, + 18035, 18697, 2676, + 18035, 18697, 2678, + 18035, 18697, 2680, + 18035, 18697, 2682, + 18035, 18697, 2684, + 18035, 18697, 2702, + 18035, 18697, 2746, + 18035, 18697, 2748, + 18035, 18697, 2750, + 18035, 18697, 2762, + 18035, 18697, 2776, + 18035, 18697, 2780, + 18035, 18697, 2782, + 18035, 18697, 2784, + 18035, 18697, 2786, + 18035, 18697, 2788, + 18035, 18697, 2802, + 18035, 18697, 2838, + 18035, 18697, 2840, + 18035, 18697, 2842, + 18035, 18697, 2844, + 18035, 18697, 2846, + 18035, 18697, 2848, + 18035, 18697, 2850, + 18035, 18697, 2858, + 18035, 18697, 2866, + 18035, 18697, 2898, + 18035, 18697, 2938, + 18035, 18697, 2986, + 18035, 18697, 2994, + 18035, 18697, 3008, + 18035, 18697, 3036, + 18035, 18697, 3048, + 18035, 18697, 3050, + 18035, 18697, 3052, + 18035, 18697, 3054, + 18035, 18697, 3056, + 18035, 18697, 3086, + 18035, 18697, 3114, + 18035, 18697, 3116, + 18035, 18697, 3118, + 18035, 18697, 3120, + 18035, 18697, 3122, + 18035, 18697, 3150, + 18035, 18697, 3172, + 18035, 18697, 3174, + 18035, 18697, 3176, + 18035, 18697, 3178, + 18035, 18697, 3180, + 18035, 18697, 3186, + 18035, 18697, 3226, + 18035, 18697, 3242, + 18035, 18697, 3244, + 18035, 18697, 3246, + 18035, 18697, 3248, + 18035, 18697, 3250, + 18035, 18697, 3286, + 18035, 18697, 3308, + 18035, 18697, 3310, + 18035, 18697, 3312, + 18035, 18697, 3314, + 18035, 18697, 3316, + 18035, 18697, 3350, + 18035, 18697, 3368, + 18035, 18697, 3370, + 18035, 18697, 3372, + 18035, 18697, 3374, + 18035, 18697, 3376, + 18035, 18697, 3438, + 18035, 18697, 3456, + 18035, 18697, 3506, + 18035, 18697, 3518, + 18035, 18697, 3540, + 18035, 18697, 3556, + 18035, 18697, 3590, + 18035, 18697, 3596, + 18035, 18697, 3608, + 18035, 18697, 3624, + 18035, 18697, 3626, + 18035, 18697, 3628, + 18035, 18697, 3630, + 18035, 18697, 3632, + 18035, 18697, 3634, + 18035, 18697, 3636, + 18035, 18697, 3644, + 18035, 18697, 3648, + 18035, 18697, 3694, + 18035, 18697, 3724, + 18035, 18697, 3786, + 18035, 18697, 3804, + 18035, 18697, 3812, + 18035, 18697, 3814, + 18035, 18697, 3816, + 18035, 18697, 3818, + 18035, 18697, 3820, + 18035, 18697, 3842, + 18035, 18697, 3870, + 18035, 18697, 3882, + 18035, 18697, 3884, + 18035, 18697, 3886, + 18035, 18697, 3888, + 18035, 18697, 3890, + 18035, 18697, 5750, + 18035, 18697, 5758, + 18035, 18697, 5894, + 18035, 18697, 5984, + 18035, 18697, 5986, + 18035, 18697, 5988, + 18035, 18697, 5990, + 18035, 18697, 5992, + 18035, 18697, 5994, + 18035, 18697, 5996, + 18035, 18697, 6006, + 18035, 18697, 6024, + 18035, 18697, 6042, + 18035, 18697, 6062, + 18035, 18697, 6296, + 18035, 18697, 6308, + 18035, 18697, 6316, + 18035, 18697, 6318, + 18035, 18697, 6320, + 18035, 18697, 6322, + 18035, 18697, 6332, + 18035, 18697, 6350, + 18035, 18697, 6464, + 18035, 18697, 6468, + 18035, 18697, 6808, + 18035, 18697, 6962, + 18035, 18697, 6970, + 18035, 18697, 7000, + 18035, 18697, 7002, + 18035, 18697, 7004, + 18035, 18697, 7082, + 18035, 18697, 7084, + 18035, 18697, 7086, + 18035, 18697, 7092, + 18035, 18697, 7160, + 18035, 18697, 7162, + 18035, 18697, 7164, + 18035, 18697, 7732, + 18035, 18697, 7736, + 18035, 18697, 7742, + 18035, 18697, 7744, + 18035, 18697, 7746, + 18035, 18697, 7748, + 18035, 18697, 7750, + 18035, 18697, 7752, + 18035, 18697, 7754, + 18035, 18697, 8496, + 18035, 18697, 8942, + 18035, 18697, 8952, + 18035, 18697, 8978, + 18035, 18697, 9002, + 18035, 18697, 9236, + 18035, 18697, 9246, + 18035, 18697, 9248, + 18035, 18697, 9252, + 18035, 18697, 9320, + 18035, 18697, 9352, + 18035, 18697, 9356, + 18035, 18697, 9358, + 18035, 18697, 9360, + 18035, 18697, 9362, + 18035, 18697, 9386, + 18035, 18697, 9388, + 18035, 18697, 9390, + 18035, 18697, 9392, + 18035, 18697, 9740, + 18035, 18697, 9756, + 18035, 18697, 9784, + 18035, 18697, 9822, + 18035, 18697, 9902, + 18035, 18697, 9910, + 18035, 18697, 9994, + 18035, 18697, 9996, + 18035, 18697, 9998, + 18035, 18697, 10134, + 18035, 18697, 10150, + 18035, 18697, 10164, + 18035, 18697, 10174, + 18035, 18697, 10234, + 18035, 18697, 10238, + 18035, 18697, 10252, + 18035, 18697, 10266, + 18035, 18697, 10268, + 18035, 18697, 10270, + 18035, 18697, 10272, + 18035, 18697, 10314, + 18035, 18697, 10316, + 18035, 18697, 10320, + 18035, 18697, 10698, + 18035, 18697, 10700, + 18035, 18697, 10702, + 18035, 18697, 10704, + 18035, 18697, 10904, + 18035, 18697, 10914, + 18035, 18697, 10944, + 18035, 18697, 10978, + 18035, 18697, 10986, + 18035, 18697, 11660, + 18035, 18697, 11662, + 18035, 18697, 11664, + 18035, 18697, 11666, + 18035, 18697, 11668, + 18035, 18697, 11670, + 18035, 18697, 11672, + 18035, 18697, 11870, + 18035, 18697, 11872, + 18035, 18697, 12186, + 18035, 18697, 12188, + 18035, 18697, 12504, + 18035, 18697, 12506, + 18035, 18697, 13280, + 18035, 18697, 13282, + 18035, 18697, 13834, + 18035, 18697, 13836, + 18035, 18697, 14448, + 18035, 18697, 14450, + 18035, 18697, 16449, 0, + 18035, 18697, 16449, 8, + 18035, 18697, 16449, 16, + 18035, 18697, 16449, 28, + 18035, 18697, 16449, 40, + 18035, 18697, 16449, 58, + 18035, 18697, 16449, 184, + 18035, 18697, 16449, 478, + 18035, 18697, 16449, 694, + 18035, 18697, 19613, 990, + 18035, 18697, 19613, 1414, + 18035, 18697, 19613, 2366, + 18035, 18697, 19613, 2746, + 18035, 18697, 20321, 0, + 18035, 18697, 20321, 8, + 18035, 18697, 20321, 16, + 18035, 18697, 20321, 28, + 18035, 18697, 20321, 40, + 18035, 18697, 20321, 58, + 18035, 18697, 20321, 184, + 18035, 19003, 14003, 14993, 8320, + 18035, 19003, 20155, 843, 14003, 14993, 8320, + 18035, 19003, 20155, 8320, + 18035, 19513, 19618, + 18035, 19614, + 18035, 19848, + 18037, 9297, 15244, + 18037, 14444, + 18043, 21003, 11905, 2610, + 18043, 21003, 11905, 3076, + 18043, 21003, 11905, 3356, + 18043, 21003, 11905, 6756, + 18043, 21003, 11905, 6778, + 18043, 21003, 11905, 8780, + 18043, 21003, 11905, 10900, + 18043, 21003, 11905, 11978, + 18043, 21003, 11905, 13450, + 18043, 21003, 11905, 13736, + 18051, 16939, 19352, + 18067, 18620, + 18070, + 18084, + 18089, 13546, + 18089, 19479, 2610, + 18095, 6719, 10641, 9171, 12764, + 18099, 20534, + 18109, 13563, 14999, 80, + 18109, 13563, 14999, 202, + 18109, 13563, 14999, 270, + 18109, 13563, 14999, 316, + 18109, 13563, 14999, 496, + 18109, 13563, 14999, 666, + 18109, 13563, 14999, 700, + 18109, 13563, 14999, 740, + 18109, 13563, 14999, 812, + 18109, 13563, 14999, 892, + 18109, 13563, 14999, 1012, + 18109, 13563, 14999, 1060, + 18109, 13563, 14999, 1210, + 18109, 13563, 14999, 1446, + 18109, 13563, 14999, 1580, + 18109, 13563, 14999, 1596, + 18109, 13563, 14999, 1630, + 18109, 13563, 14999, 1672, + 18109, 13563, 14999, 1804, + 18109, 13563, 14999, 1878, + 18109, 13563, 14999, 2086, + 18109, 13563, 14999, 2242, + 18109, 13563, 14999, 2402, + 18109, 13563, 14999, 2648, + 18109, 13563, 14999, 2770, + 18109, 13563, 14999, 2872, + 18109, 13563, 14999, 3020, + 18109, 13563, 14999, 3202, + 18109, 13563, 14999, 3210, + 18109, 13563, 14999, 3472, + 18109, 13563, 14999, 3592, + 18109, 13563, 14999, 3806, + 18109, 13563, 14999, 6016, + 18109, 13563, 14999, 6040, + 18109, 13563, 14999, 7010, + 18109, 13563, 14999, 7472, + 18109, 13563, 14999, 7640, + 18109, 13563, 14999, 9244, + 18109, 13563, 14999, 9776, + 18109, 13563, 14999, 10908, + 18109, 14999, 80, + 18109, 14999, 202, + 18109, 14999, 230, + 18109, 14999, 270, + 18109, 14999, 316, + 18109, 14999, 496, + 18109, 14999, 666, + 18109, 14999, 700, + 18109, 14999, 740, + 18109, 14999, 812, + 18109, 14999, 826, + 18109, 14999, 892, + 18109, 14999, 1012, + 18109, 14999, 1060, + 18109, 14999, 1210, + 18109, 14999, 1446, + 18109, 14999, 1580, + 18109, 14999, 1596, + 18109, 14999, 1630, + 18109, 14999, 1672, + 18109, 14999, 1804, + 18109, 14999, 1878, + 18109, 14999, 2086, + 18109, 14999, 2242, + 18109, 14999, 2402, + 18109, 14999, 2648, + 18109, 14999, 2770, + 18109, 14999, 2872, + 18109, 14999, 3020, + 18109, 14999, 3202, + 18109, 14999, 3210, + 18109, 14999, 3472, + 18109, 14999, 3592, + 18109, 14999, 3806, + 18109, 14999, 6016, + 18109, 14999, 6040, + 18109, 14999, 7010, + 18109, 14999, 7131, 9854, + 18109, 14999, 7472, + 18109, 14999, 7640, + 18109, 14999, 9244, + 18109, 14999, 9776, + 18109, 14999, 10908, + 18109, 14999, 11984, + 18109, 14999, 14971, 9854, + 18109, 14999, 15811, 1446, + 18109, 16111, 14999, 80, + 18109, 16111, 14999, 202, + 18109, 16111, 14999, 270, + 18109, 16111, 14999, 316, + 18109, 16111, 14999, 496, + 18109, 16111, 14999, 666, + 18109, 16111, 14999, 700, + 18109, 16111, 14999, 740, + 18109, 16111, 14999, 812, + 18109, 16111, 14999, 892, + 18109, 16111, 14999, 1012, + 18109, 16111, 14999, 1060, + 18109, 16111, 14999, 1210, + 18109, 16111, 14999, 1446, + 18109, 16111, 14999, 1580, + 18109, 16111, 14999, 1596, + 18109, 16111, 14999, 1630, + 18109, 16111, 14999, 1672, + 18109, 16111, 14999, 1804, + 18109, 16111, 14999, 1878, + 18109, 16111, 14999, 2086, + 18109, 16111, 14999, 2242, + 18109, 16111, 14999, 2402, + 18109, 16111, 14999, 2648, + 18109, 16111, 14999, 2770, + 18109, 16111, 14999, 2872, + 18109, 16111, 14999, 3020, + 18109, 16111, 14999, 3202, + 18109, 16111, 14999, 3210, + 18109, 16111, 14999, 3472, + 18109, 16111, 14999, 3592, + 18109, 16111, 14999, 3806, + 18109, 16111, 14999, 6016, + 18109, 16111, 14999, 6040, + 18109, 16111, 14999, 7010, + 18109, 16111, 14999, 7472, + 18109, 16111, 14999, 7640, + 18109, 16111, 14999, 9244, + 18109, 16111, 14999, 9776, + 18109, 16111, 14999, 10908, + 18109, 19513, 19618, + 18115, 1019, 6719, 10641, 17245, 6604, + 18115, 6718, + 18115, 6719, 10641, 17245, 6604, + 18117, 494, + 18117, 9855, 13052, + 18117, 9855, 15868, + 18117, 9855, 17486, + 18117, 9855, 17610, + 18117, 9855, 17652, + 18117, 9855, 20552, + 18117, 11905, 2610, + 18117, 11905, 3076, + 18117, 11905, 3356, + 18117, 11905, 6756, + 18117, 11905, 6778, + 18117, 11905, 8780, + 18117, 11905, 10900, + 18117, 11905, 11978, + 18117, 11905, 13450, + 18117, 11905, 13736, + 18117, 13379, 9854, + 18117, 14003, 9855, 8, + 18117, 14003, 9855, 16, + 18117, 14003, 9855, 28, + 18117, 14003, 9855, 40, + 18117, 14003, 9855, 58, + 18117, 14003, 9855, 72, + 18117, 14003, 9855, 94, + 18117, 14003, 9855, 308, + 18117, 14003, 9855, 676, + 18117, 14003, 9855, 14435, 8, + 18117, 14003, 9855, 14435, 28, + 18117, 14003, 9855, 17493, 22, + 18117, 14003, 9855, 17493, 34, + 18117, 14003, 9855, 17493, 396, + 18117, 14003, 9855, 17493, 582, + 18117, 14003, 14435, 8, + 18117, 14003, 14435, 28, + 18117, 14999, 0, + 18117, 14999, 8, + 18117, 14999, 16, + 18117, 14999, 28, + 18117, 14999, 40, + 18117, 14999, 58, + 18117, 14999, 72, + 18117, 14999, 94, + 18117, 14999, 106, + 18117, 14999, 124, + 18117, 14999, 148, + 18117, 14999, 244, + 18117, 14999, 266, + 18117, 14999, 308, + 18117, 14999, 336, + 18117, 14999, 350, + 18117, 14999, 384, + 18117, 14999, 416, + 18117, 14999, 448, + 18117, 14999, 522, + 18117, 14999, 572, + 18117, 14999, 588, + 18117, 14999, 622, + 18117, 14999, 676, + 18117, 14999, 680, + 18117, 14999, 734, + 18117, 14999, 932, + 18117, 14999, 1044, + 18117, 14999, 1142, + 18117, 14999, 1164, + 18117, 14999, 1492, + 18117, 14999, 1796, + 18117, 14999, 1914, + 18117, 14999, 2152, + 18117, 14999, 2444, + 18117, 14999, 2492, + 18117, 14999, 2556, + 18117, 14999, 2676, + 18117, 14999, 3048, + 18117, 14999, 3114, + 18117, 14999, 3242, + 18117, 14999, 3322, + 18117, 14999, 3812, + 18117, 14999, 6314, + 18117, 14999, 10264, + 18117, 14999, 17493, 22, + 18117, 14999, 17493, 34, + 18117, 14999, 17493, 396, + 18117, 14999, 17493, 582, + 18117, 20989, 9854, + 18119, 197, 13146, + 18119, 1770, + 18119, 3416, + 18119, 9855, 5221, 11562, + 18119, 9855, 11562, + 18119, 9855, 13052, + 18119, 9855, 13874, + 18119, 9855, 15868, + 18119, 9855, 15918, + 18119, 9855, 17486, + 18119, 11396, + 18119, 11905, 2610, + 18119, 11905, 3076, + 18119, 11905, 3356, + 18119, 11905, 6756, + 18119, 11905, 6778, + 18119, 11905, 8780, + 18119, 11905, 10900, + 18119, 11905, 11978, + 18119, 11905, 13450, + 18119, 11905, 13736, + 18119, 13768, + 18119, 14003, 9855, 16, + 18119, 14003, 9855, 40, + 18119, 14003, 9855, 58, + 18119, 14003, 9855, 72, + 18119, 14003, 9855, 94, + 18119, 14003, 9855, 184, + 18119, 14003, 9855, 308, + 18119, 14003, 9855, 498, + 18119, 14003, 9855, 676, + 18119, 14999, 0, + 18119, 14999, 16, + 18119, 14999, 40, + 18119, 14999, 58, + 18119, 14999, 72, + 18119, 14999, 94, + 18119, 14999, 106, + 18119, 14999, 124, + 18119, 14999, 148, + 18119, 14999, 184, + 18119, 14999, 224, + 18119, 14999, 244, + 18119, 14999, 266, + 18119, 14999, 308, + 18119, 14999, 336, + 18119, 14999, 350, + 18119, 14999, 384, + 18119, 14999, 416, + 18119, 14999, 448, + 18119, 14999, 498, + 18119, 14999, 522, + 18119, 14999, 572, + 18119, 14999, 588, + 18119, 14999, 622, + 18119, 14999, 676, + 18119, 14999, 680, + 18119, 14999, 734, + 18119, 14999, 752, + 18119, 14999, 932, + 18119, 14999, 1044, + 18119, 14999, 1142, + 18119, 14999, 1164, + 18119, 14999, 1492, + 18119, 14999, 1796, + 18119, 14999, 1914, + 18119, 14999, 2152, + 18119, 14999, 2444, + 18119, 14999, 2492, + 18119, 14999, 2556, + 18119, 14999, 2676, + 18119, 14999, 2956, + 18119, 14999, 3048, + 18119, 14999, 3242, + 18119, 14999, 3322, + 18119, 14999, 6314, + 18119, 14999, 7018, + 18119, 14999, 7648, + 18119, 14999, 10264, + 18124, + 18127, 16899, 2610, + 18127, 16899, 3076, + 18127, 16899, 3232, + 18127, 16899, 3356, + 18127, 16899, 6756, + 18127, 16899, 6778, + 18127, 16899, 8780, + 18127, 16899, 11978, + 18127, 16899, 13450, + 18127, 16899, 13736, + 18127, 16899, 15736, + 18127, 16899, 15820, + 18135, 11706, + 18139, 1397, 3245, 5290, + 18139, 1397, 3245, 10626, + 18139, 1397, 3245, 14680, + 18139, 1397, 3245, 14765, 10634, + 18139, 1397, 3245, 14895, 7788, + 18139, 1397, 3245, 15955, 14032, + 18139, 1397, 3245, 16565, 13625, 18330, + 18139, 1397, 3245, 17633, 17370, + 18139, 1397, 3245, 17722, + 18139, 1397, 3245, 17765, 6746, + 18139, 1397, 3245, 17789, 14826, + 18139, 1397, 3245, 18285, 15060, + 18139, 1397, 3245, 18852, + 18139, 1397, 3245, 19563, 11968, + 18139, 1397, 10653, 497, 3245, 16230, + 18139, 1397, 11403, 19926, + 18139, 1397, 12224, + 18139, 1397, 12235, 13258, + 18139, 1397, 12235, 15688, + 18139, 1397, 12235, 20332, + 18139, 1397, 12235, 22908, + 18139, 1397, 12393, 13820, + 18139, 1397, 12765, 16184, + 18139, 1397, 13198, + 18139, 1397, 13563, 15688, + 18139, 1397, 13563, 22908, + 18139, 1397, 14367, 19926, + 18139, 1397, 14385, 17368, + 18139, 1397, 14507, 635, 8358, + 18139, 1397, 15438, + 18139, 1397, 16497, 18758, + 18139, 1397, 16816, + 18139, 1397, 17083, 15846, + 18139, 1397, 17120, + 18139, 1397, 17502, + 18139, 1397, 17618, + 18139, 1397, 17776, + 18139, 1397, 17824, + 18139, 1397, 18002, + 18139, 1397, 18168, + 18139, 1397, 18496, + 18139, 1397, 18770, + 18139, 1397, 18869, 12100, + 18139, 1397, 18878, + 18139, 1397, 19041, 485, 3245, 12562, + 18139, 1397, 19268, + 18139, 1397, 19283, 18758, + 18139, 1397, 19356, + 18139, 1397, 19358, + 18139, 1397, 19651, 11456, + 18139, 1397, 19975, 93, 3245, 18930, + 18139, 1397, 19976, + 18139, 1397, 20118, + 18139, 1397, 20138, + 18139, 1397, 20222, + 18139, 1397, 20290, + 18139, 1397, 20292, + 18139, 1397, 20364, + 18139, 1397, 20448, + 18139, 1397, 20594, + 18139, 1397, 20602, + 18139, 1397, 20828, + 18139, 1397, 21024, + 18139, 1397, 22808, + 18142, + 18147, 14999, 0, + 18147, 14999, 8, + 18147, 14999, 16, + 18147, 14999, 26, + 18147, 14999, 28, + 18147, 14999, 40, + 18147, 14999, 106, + 18147, 14999, 110, + 18147, 14999, 114, + 18147, 14999, 116, + 18147, 14999, 120, + 18147, 14999, 148, + 18147, 14999, 154, + 18147, 14999, 158, + 18147, 14999, 166, + 18147, 14999, 168, + 18147, 14999, 244, + 18147, 14999, 248, + 18147, 14999, 254, + 18147, 14999, 258, + 18147, 14999, 260, + 18147, 14999, 266, + 18147, 14999, 270, + 18147, 14999, 274, + 18147, 14999, 282, + 18147, 14999, 286, + 18147, 14999, 350, + 18147, 14999, 354, + 18147, 14999, 358, + 18147, 14999, 366, + 18147, 14999, 370, + 18147, 14999, 416, + 18147, 14999, 424, + 18147, 14999, 430, + 18147, 14999, 436, + 18147, 14999, 440, + 18147, 14999, 448, + 18147, 14999, 452, + 18147, 14999, 460, + 18147, 14999, 468, + 18147, 14999, 472, + 18147, 14999, 522, + 18147, 14999, 528, + 18147, 14999, 536, + 18147, 14999, 540, + 18147, 14999, 546, + 18147, 14999, 572, + 18147, 14999, 574, + 18147, 14999, 578, + 18147, 14999, 580, + 18147, 14999, 584, + 18147, 14999, 588, + 18147, 14999, 592, + 18147, 14999, 598, + 18147, 14999, 602, + 18147, 14999, 612, + 18147, 14999, 622, + 18147, 14999, 626, + 18147, 14999, 630, + 18147, 14999, 634, + 18147, 14999, 642, + 18147, 14999, 690, + 18147, 14999, 694, + 18147, 14999, 700, + 18147, 14999, 706, + 18147, 14999, 710, + 18147, 14999, 734, + 18147, 14999, 742, + 18147, 14999, 746, + 18147, 14999, 752, + 18147, 14999, 754, + 18147, 14999, 758, + 18147, 14999, 760, + 18147, 14999, 762, + 18147, 14999, 13563, 0, + 18147, 14999, 13563, 8, + 18147, 14999, 13563, 16, + 18147, 14999, 13563, 28, + 18147, 14999, 13563, 40, + 18147, 14999, 13563, 350, + 18147, 14999, 13563, 354, + 18147, 14999, 13563, 642, + 18147, 14999, 13563, 694, + 18147, 14999, 13563, 734, + 18147, 14999, 13563, 742, + 18147, 14999, 13563, 746, + 18147, 14999, 16011, 736, + 18147, 15873, 19371, 8320, + 18147, 16255, 10816, + 18147, 19371, 8320, + 18149, 9870, + 18150, + 18152, + 18165, 16009, 14999, 270, + 18165, 16009, 14999, 528, + 18165, 16009, 14999, 2280, + 18165, 16009, 14999, 2536, + 18165, 16009, 14999, 3220, + 18165, 16009, 14999, 3532, + 18165, 16009, 14999, 5312, + 18165, 16009, 14999, 5818, + 18165, 16009, 14999, 7156, + 18165, 16009, 14999, 7596, + 18165, 16009, 14999, 9372, + 18165, 16009, 14999, 9486, + 18165, 16009, 14999, 9776, + 18165, 16009, 14999, 10126, + 18165, 16009, 14999, 10810, + 18165, 16009, 14999, 11424, + 18165, 16009, 14999, 12204, + 18165, 16009, 14999, 13400, + 18165, 16009, 14999, 14196, + 18165, 16009, 14999, 14546, + 18165, 16009, 14999, 14978, + 18165, 16009, 14999, 15474, + 18165, 16009, 15233, 2610, + 18165, 16009, 15233, 2611, 16502, + 18165, 16009, 15233, 2611, 18744, + 18165, 16009, 15233, 3232, + 18165, 16009, 15233, 3233, 18744, + 18165, 16009, 15233, 3356, + 18165, 16009, 15233, 13736, + 18165, 16009, 15233, 15820, + 18165, 16009, 17179, 9854, + 18167, 18026, + 18169, 6767, 9873, 15672, + 18172, + 18173, 16845, 10641, 18847, 896, + 18176, + 18177, 10641, 13765, 9854, + 18177, 10641, 13884, + 18177, 10641, 14625, 15642, + 18177, 10641, 16946, + 18177, 10641, 18836, + 18177, 10641, 19407, 11477, 10641, 7292, + 18177, 10641, 21124, + 18177, 14307, 1, 13251, 18386, + 18177, 16023, 10641, 13546, + 18177, 19242, + 18181, 17074, + 18183, 2601, 9854, + 18183, 7807, 36, + 18183, 18511, 8320, + 18183, 18840, + 18183, 19516, + 18183, 20685, 8320, + 18183, 20752, + 18193, 5739, 15672, + 18193, 9158, + 18193, 9297, 15244, + 18193, 11924, + 18193, 14444, + 18193, 14786, + 18193, 15673, 1397, 17668, + 18193, 20195, 18643, 15672, + 18195, 7817, 19580, + 18195, 9205, 5222, + 18195, 9205, 5223, 5222, + 18195, 9205, 11438, + 18195, 9205, 12594, + 18195, 9205, 12644, + 18195, 9205, 13773, 17434, + 18195, 9205, 14056, + 18195, 9205, 15022, + 18195, 9205, 15044, + 18195, 9205, 16972, + 18195, 9205, 17036, + 18195, 9205, 19366, + 18195, 9855, 11676, + 18195, 9855, 11677, 10116, + 18195, 9855, 12544, + 18195, 9855, 17516, + 18195, 9855, 19508, + 18195, 11905, 2610, + 18195, 11905, 3076, + 18195, 11905, 3356, + 18195, 11905, 6756, + 18195, 11905, 6778, + 18195, 11905, 8780, + 18195, 11905, 10900, + 18195, 11905, 11978, + 18195, 11905, 13450, + 18195, 11905, 13736, + 18195, 13341, 19580, + 18195, 14003, 9855, 9972, + 18195, 14003, 9855, 9973, 15102, + 18195, 14003, 9855, 10656, + 18195, 14003, 9855, 10657, 12690, + 18195, 14003, 9855, 11911, 8486, + 18195, 14003, 9855, 13216, + 18195, 14003, 9855, 15686, + 18195, 14003, 9855, 15698, + 18195, 14003, 9855, 15756, + 18195, 14999, 0, + 18195, 14999, 8, + 18195, 14999, 16, + 18195, 14999, 17, 7612, + 18195, 14999, 28, + 18195, 14999, 40, + 18195, 14999, 72, + 18195, 14999, 106, + 18195, 14999, 107, 12780, + 18195, 14999, 124, + 18195, 14999, 125, 12780, + 18195, 14999, 148, + 18195, 14999, 149, 19420, + 18195, 14999, 244, + 18195, 14999, 245, 12780, + 18195, 14999, 266, + 18195, 14999, 308, + 18195, 14999, 336, + 18195, 14999, 337, 19420, + 18195, 14999, 350, + 18195, 14999, 351, 12780, + 18195, 14999, 351, 13424, + 18195, 14999, 384, + 18195, 14999, 416, + 18195, 14999, 448, + 18195, 14999, 449, 12780, + 18195, 14999, 522, + 18195, 14999, 523, 11682, + 18195, 14999, 523, 12780, + 18195, 14999, 572, + 18195, 14999, 573, 11408, + 18195, 14999, 588, + 18195, 14999, 589, 12780, + 18195, 14999, 589, 19420, + 18195, 14999, 622, + 18195, 14999, 623, 12780, + 18195, 14999, 694, + 18195, 14999, 734, + 18195, 14999, 1142, + 18195, 14999, 1143, 19420, + 18195, 14999, 2444, + 18195, 14999, 2445, 12548, + 18195, 14999, 2445, 12549, 17102, + 18195, 14999, 2556, + 18195, 14999, 2557, 12780, + 18195, 14999, 3322, + 18195, 14999, 3323, 19420, + 18195, 15811, 9205, 17036, + 18195, 16974, + 18195, 19015, 9855, 11638, + 18195, 19015, 9855, 12456, + 18195, 19015, 9855, 16996, + 18195, 20836, + 18198, + 18200, + 18209, 14999, 0, + 18209, 14999, 8, + 18209, 14999, 16, + 18209, 14999, 26, + 18209, 14999, 28, + 18209, 14999, 40, + 18209, 14999, 106, + 18209, 14999, 110, + 18209, 14999, 114, + 18209, 14999, 116, + 18209, 14999, 120, + 18209, 14999, 148, + 18209, 14999, 154, + 18209, 14999, 158, + 18209, 14999, 166, + 18209, 14999, 168, + 18209, 14999, 244, + 18209, 14999, 248, + 18209, 14999, 254, + 18209, 14999, 258, + 18209, 14999, 260, + 18209, 14999, 266, + 18209, 14999, 270, + 18209, 14999, 274, + 18209, 14999, 282, + 18209, 14999, 286, + 18209, 14999, 350, + 18209, 14999, 354, + 18209, 14999, 358, + 18209, 14999, 366, + 18209, 14999, 370, + 18209, 14999, 416, + 18209, 14999, 424, + 18209, 14999, 430, + 18209, 14999, 436, + 18209, 14999, 440, + 18209, 14999, 448, + 18209, 14999, 452, + 18209, 14999, 460, + 18209, 14999, 468, + 18209, 14999, 472, + 18209, 14999, 522, + 18209, 14999, 528, + 18209, 14999, 536, + 18209, 14999, 540, + 18209, 14999, 546, + 18209, 14999, 572, + 18209, 14999, 574, + 18209, 14999, 578, + 18209, 14999, 580, + 18209, 14999, 584, + 18209, 14999, 588, + 18209, 14999, 592, + 18209, 14999, 598, + 18209, 14999, 602, + 18209, 14999, 612, + 18209, 14999, 622, + 18209, 14999, 626, + 18209, 14999, 630, + 18209, 14999, 634, + 18209, 14999, 642, + 18209, 14999, 680, + 18209, 14999, 682, + 18209, 14999, 684, + 18209, 14999, 686, + 18209, 14999, 690, + 18209, 14999, 694, + 18209, 14999, 700, + 18209, 14999, 706, + 18209, 14999, 710, + 18209, 14999, 734, + 18209, 14999, 742, + 18209, 14999, 746, + 18209, 14999, 752, + 18209, 14999, 754, + 18209, 14999, 758, + 18209, 14999, 760, + 18209, 14999, 762, + 18209, 14999, 13563, 0, + 18209, 14999, 13563, 8, + 18209, 14999, 13563, 16, + 18209, 14999, 13563, 28, + 18209, 14999, 13563, 40, + 18209, 14999, 13563, 266, + 18209, 14999, 13563, 270, + 18209, 14999, 13563, 274, + 18209, 14999, 13563, 282, + 18209, 14999, 13563, 286, + 18209, 14999, 13563, 350, + 18209, 14999, 13563, 354, + 18209, 14999, 13563, 370, + 18209, 14999, 13563, 440, + 18209, 14999, 13563, 472, + 18209, 14999, 13563, 572, + 18209, 14999, 13563, 574, + 18209, 14999, 13563, 578, + 18209, 14999, 13563, 580, + 18209, 14999, 13563, 584, + 18209, 14999, 13563, 598, + 18209, 14999, 13563, 612, + 18209, 14999, 13563, 634, + 18209, 14999, 13563, 642, + 18209, 14999, 13563, 694, + 18209, 14999, 13563, 734, + 18209, 14999, 13563, 742, + 18209, 14999, 13563, 746, + 18209, 14999, 16011, 8, + 18209, 15119, 1216, + 18209, 15873, 19371, 8320, + 18209, 16255, 7694, + 18209, 19371, 8320, + 18212, + 18213, 843, 12762, + 18225, 3192, + 18249, 9171, 213, 18392, + 18250, + 18260, + 18271, 9855, 13052, + 18271, 14999, 0, + 18271, 14999, 8, + 18271, 14999, 16, + 18271, 14999, 28, + 18271, 14999, 40, + 18271, 14999, 106, + 18271, 14999, 124, + 18271, 14999, 148, + 18271, 14999, 244, + 18271, 14999, 266, + 18271, 14999, 336, + 18271, 14999, 350, + 18271, 14999, 384, + 18271, 14999, 416, + 18271, 14999, 448, + 18271, 14999, 522, + 18271, 14999, 572, + 18271, 14999, 588, + 18271, 14999, 622, + 18271, 14999, 680, + 18271, 14999, 932, + 18271, 14999, 1044, + 18271, 14999, 1142, + 18271, 14999, 1164, + 18271, 14999, 1492, + 18271, 14999, 1796, + 18271, 14999, 1914, + 18271, 14999, 2492, + 18271, 14999, 2556, + 18271, 14999, 2676, + 18271, 14999, 2956, + 18271, 14999, 3242, + 18271, 14999, 3322, + 18271, 14999, 6314, + 18271, 14999, 10264, + 18271, 17179, 8320, + 18271, 18249, 9802, + 18271, 20989, 9854, + 18283, 15672, + 18290, + 18297, 122, + 18297, 11446, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 671, 843, 7816, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 671, 843, 13340, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 6435, 843, 7816, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 6435, 843, 13340, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 7817, 843, 670, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 7817, 843, 6434, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 13341, 843, 670, + 18297, 11447, 10641, 9171, 863, 14643, 317, 11477, 18471, 13341, 843, 6434, + 18297, 11447, 16935, 7816, + 18297, 13341, 11447, 10641, 1216, + 18303, 16203, 14999, 0, + 18303, 16203, 14999, 8, + 18303, 16203, 14999, 16, + 18303, 16203, 14999, 28, + 18303, 16203, 14999, 106, + 18303, 16203, 14999, 148, + 18303, 16203, 14999, 350, + 18303, 16203, 14999, 384, + 18303, 16203, 14999, 416, + 18303, 16203, 14999, 448, + 18303, 16203, 14999, 452, + 18303, 16203, 14999, 522, + 18303, 16203, 14999, 556, + 18303, 16203, 14999, 572, + 18303, 16203, 14999, 588, + 18303, 16203, 14999, 592, + 18303, 16203, 14999, 622, + 18303, 16203, 14999, 626, + 18303, 16203, 14999, 634, + 18303, 16203, 14999, 694, + 18303, 16203, 14999, 734, + 18303, 16203, 14999, 1620, + 18303, 16203, 14999, 1914, + 18303, 16203, 14999, 16011, 588, + 18303, 16203, 15233, 2610, + 18303, 16203, 15233, 2611, 16502, + 18303, 16203, 15233, 2611, 16503, 18744, + 18303, 16203, 15233, 2611, 18744, + 18303, 16203, 15233, 3076, + 18303, 16203, 15233, 3077, 16502, + 18303, 16203, 15233, 3077, 16503, 18744, + 18303, 16203, 15233, 3077, 18744, + 18303, 16203, 15233, 3232, + 18303, 16203, 15233, 3233, 18744, + 18303, 16203, 15233, 3356, + 18303, 16203, 15233, 3357, 16502, + 18303, 16203, 15233, 3357, 16503, 18744, + 18303, 16203, 15233, 3357, 18744, + 18303, 16203, 15233, 6756, + 18303, 16203, 15233, 6757, 16502, + 18303, 16203, 15233, 6757, 16503, 18744, + 18303, 16203, 15233, 6757, 18744, + 18303, 16203, 15233, 6778, + 18303, 16203, 15233, 6779, 16502, + 18303, 16203, 15233, 6779, 16503, 18744, + 18303, 16203, 15233, 6779, 18744, + 18303, 16203, 15233, 8780, + 18303, 16203, 15233, 8781, 16502, + 18303, 16203, 15233, 8781, 16503, 18744, + 18303, 16203, 15233, 8781, 18744, + 18303, 16203, 15233, 11978, + 18303, 16203, 15233, 11979, 16502, + 18303, 16203, 15233, 11979, 16503, 18744, + 18303, 16203, 15233, 11979, 18744, + 18303, 16203, 15233, 12080, + 18303, 16203, 15233, 12081, 18744, + 18303, 16203, 15233, 12108, + 18303, 16203, 15233, 12109, 18744, + 18303, 16203, 15233, 13450, + 18303, 16203, 15233, 13451, 16502, + 18303, 16203, 15233, 13451, 16503, 18744, + 18303, 16203, 15233, 13451, 18744, + 18303, 16203, 15233, 13538, + 18303, 16203, 15233, 13539, 18744, + 18303, 16203, 15233, 13736, + 18303, 16203, 15233, 13737, 16502, + 18303, 16203, 15233, 13737, 16503, 18744, + 18303, 16203, 15233, 13737, 18744, + 18303, 16203, 15233, 14637, 18744, + 18303, 16203, 15233, 15195, 18744, + 18303, 16203, 15233, 15736, + 18303, 16203, 15233, 15737, 18744, + 18303, 16203, 15233, 15820, + 18303, 16203, 15233, 15821, 18744, + 18303, 16203, 15233, 17190, + 18303, 16203, 15233, 17191, 18744, + 18303, 16203, 18089, 2611, 7122, + 18303, 16203, 18089, 2611, 17438, + 18303, 16203, 18089, 3077, 18816, + 18303, 16203, 18089, 3233, 18816, + 18303, 16203, 18089, 3357, 18816, + 18303, 16203, 18089, 6757, 18816, + 18303, 16203, 18089, 6779, 18816, + 18303, 16203, 18089, 8781, 18816, + 18303, 16203, 18089, 11979, 18816, + 18303, 16203, 18089, 13451, 18816, + 18303, 16203, 18089, 13737, 18816, + 18303, 16203, 18089, 14639, 18816, + 18303, 16203, 18257, 1752, + 18303, 16203, 18257, 2934, + 18303, 21107, 14999, 0, + 18303, 21107, 14999, 8, + 18303, 21107, 14999, 16, + 18303, 21107, 14999, 28, + 18303, 21107, 14999, 106, + 18303, 21107, 14999, 148, + 18303, 21107, 14999, 350, + 18303, 21107, 14999, 384, + 18303, 21107, 14999, 416, + 18303, 21107, 14999, 448, + 18303, 21107, 14999, 452, + 18303, 21107, 14999, 522, + 18303, 21107, 14999, 556, + 18303, 21107, 14999, 572, + 18303, 21107, 14999, 588, + 18303, 21107, 14999, 592, + 18303, 21107, 14999, 622, + 18303, 21107, 14999, 626, + 18303, 21107, 14999, 634, + 18303, 21107, 14999, 694, + 18303, 21107, 14999, 734, + 18303, 21107, 14999, 1620, + 18303, 21107, 14999, 1914, + 18303, 21107, 14999, 5716, + 18303, 21107, 14999, 8586, + 18303, 21107, 14999, 8692, + 18303, 21107, 14999, 9454, + 18303, 21107, 14999, 9678, + 18303, 21107, 14999, 10074, + 18303, 21107, 14999, 10112, + 18303, 21107, 15673, 10542, + 18303, 21107, 15673, 15864, + 18307, 3357, 15555, 9175, 7882, + 18307, 3357, 15555, 14888, + 18307, 7883, 9175, 3357, 15554, + 18307, 7883, 9175, 13506, + 18307, 11596, + 18307, 13507, 9175, 7882, + 18307, 17402, + 18307, 19518, + 18307, 19778, + 18309, 12682, + 18312, + 18314, + 18319, 11597, 10641, 18183, 11596, + 18319, 14999, 671, 10086, + 18319, 14999, 671, 18906, + 18319, 14999, 674, + 18319, 14999, 1217, 13546, + 18319, 14999, 1217, 18847, 896, + 18319, 14999, 1217, 20181, 896, + 18319, 14999, 1299, 2175, 10218, + 18319, 14999, 1299, 7171, 10218, + 18319, 14999, 2175, 671, 18906, + 18319, 14999, 2175, 6435, 18906, + 18319, 14999, 2175, 7817, 11476, + 18319, 14999, 2175, 7817, 18906, + 18319, 14999, 2175, 9502, + 18319, 14999, 2175, 10219, 896, + 18319, 14999, 2175, 11395, 14262, + 18319, 14999, 2175, 12233, 14262, + 18319, 14999, 2175, 13341, 18906, + 18319, 14999, 2175, 13758, + 18319, 14999, 2175, 14623, 10219, 896, + 18319, 14999, 2175, 14623, 19405, 10219, 896, + 18319, 14999, 2175, 15050, + 18319, 14999, 2175, 18183, 20685, 8320, + 18319, 14999, 2175, 18847, 7854, + 18319, 14999, 2175, 19405, 10219, 896, + 18319, 14999, 2175, 19921, 14262, + 18319, 14999, 2303, 10219, 896, + 18319, 14999, 2303, 14623, 10219, 896, + 18319, 14999, 2303, 14623, 19405, 10219, 896, + 18319, 14999, 2303, 19405, 10219, 896, + 18319, 14999, 3717, 19053, 10219, 8320, + 18319, 14999, 6435, 10086, + 18319, 14999, 6435, 18906, + 18319, 14999, 7123, 20479, 11756, + 18319, 14999, 7171, 10219, 896, + 18319, 14999, 7171, 14623, 10219, 896, + 18319, 14999, 7171, 14623, 19405, 10219, 896, + 18319, 14999, 7171, 19405, 10219, 896, + 18319, 14999, 7817, 7123, 9502, + 18319, 14999, 7817, 18906, + 18319, 14999, 9171, 13480, + 18319, 14999, 9287, 9854, + 18319, 14999, 10751, 19053, 10219, 8320, + 18319, 14999, 11395, 14262, + 18319, 14999, 11547, 2175, 10218, + 18319, 14999, 11547, 7171, 10218, + 18319, 14999, 11756, + 18319, 14999, 11773, 14262, + 18319, 14999, 12233, 14262, + 18319, 14999, 12589, 13341, 14519, 11446, + 18319, 14999, 12741, 9854, + 18319, 14999, 13260, + 18319, 14999, 13341, 7123, 9502, + 18319, 14999, 13341, 18906, + 18319, 14999, 13480, + 18319, 14999, 13507, 14647, 9854, + 18319, 14999, 13563, 0, + 18319, 14999, 13563, 2, + 18319, 14999, 13563, 4, + 18319, 14999, 13563, 5, 10641, 6118, + 18319, 14999, 13563, 6, + 18319, 14999, 13563, 8, + 18319, 14999, 13563, 10, + 18319, 14999, 13563, 12, + 18319, 14999, 13563, 14, + 18319, 14999, 13563, 15, 10641, 7292, + 18319, 14999, 13563, 17, 10641, 15642, + 18319, 14999, 13563, 18, + 18319, 14999, 13563, 19, 10641, 21042, + 18319, 14999, 13563, 20, + 18319, 14999, 13563, 22, + 18319, 14999, 13563, 23, 10641, 15119, 13758, + 18319, 14999, 13563, 23, 10641, 16959, 7292, + 18319, 14999, 13563, 23, 10641, 18183, 7807, 36, + 18319, 14999, 13563, 23, 10641, 19587, 7292, + 18319, 14999, 13563, 24, + 18319, 14999, 13563, 25, 10641, 7292, + 18319, 14999, 13563, 27, 10641, 7817, 7292, + 18319, 14999, 13563, 27, 10641, 19587, 7292, + 18319, 14999, 13563, 28, + 18319, 14999, 13563, 30, + 18319, 14999, 13563, 34, + 18319, 14999, 13563, 36, + 18319, 14999, 13563, 37, 10641, 7292, + 18319, 14999, 13563, 38, + 18319, 14999, 13563, 39, 10641, 16959, 7292, + 18319, 14999, 13563, 40, + 18319, 14999, 13563, 41, 896, + 18319, 14999, 13563, 41, 10641, 7817, 7292, + 18319, 14999, 13563, 42, + 18319, 14999, 13563, 43, 10641, 7292, + 18319, 14999, 13563, 44, + 18319, 14999, 13563, 46, + 18319, 14999, 13563, 48, + 18319, 14999, 13563, 50, + 18319, 14999, 13563, 51, 10641, 6118, + 18319, 14999, 13563, 51, 10641, 19587, 7292, + 18319, 14999, 13563, 826, + 18319, 14999, 13563, 1048, + 18319, 14999, 13563, 1300, + 18319, 14999, 13563, 1318, + 18319, 14999, 13563, 1328, + 18319, 14999, 13563, 1340, + 18319, 14999, 13563, 2680, + 18319, 14999, 13563, 3293, 7123, 28, + 18319, 14999, 13563, 5816, + 18319, 14999, 13563, 7148, + 18319, 14999, 13563, 7438, + 18319, 14999, 13563, 9171, 8, + 18319, 14999, 13563, 9171, 28, + 18319, 14999, 13563, 11436, + 18319, 14999, 13563, 11888, + 18319, 14999, 13563, 12156, + 18319, 14999, 13563, 12237, 2680, + 18319, 14999, 13563, 12237, 12156, + 18319, 14999, 13563, 13432, + 18319, 14999, 13563, 13718, + 18319, 14999, 13563, 14357, 28, + 18319, 14999, 13563, 14393, 7123, 28, + 18319, 14999, 13563, 15501, 12, + 18319, 14999, 13563, 15811, 0, + 18319, 14999, 13563, 15811, 14, + 18319, 14999, 13563, 15811, 16, + 18319, 14999, 13563, 15811, 24, + 18319, 14999, 13563, 15811, 25, 10641, 7883, 2106, + 18319, 14999, 13563, 15811, 34, + 18319, 14999, 13563, 15811, 35, 10641, 7292, + 18319, 14999, 13563, 15811, 42, + 18319, 14999, 13563, 15811, 66, + 18319, 14999, 13563, 15811, 9171, 8, + 18319, 14999, 13563, 15811, 11436, + 18319, 14999, 13563, 16111, 16, + 18319, 14999, 13563, 16111, 17, 10641, 15642, + 18319, 14999, 13563, 16111, 22, + 18319, 14999, 13563, 16111, 26, + 18319, 14999, 13563, 16111, 40, + 18319, 14999, 13563, 16111, 18183, 34, + 18319, 14999, 13563, 16279, 19, 10641, 15642, + 18319, 14999, 13563, 17460, + 18319, 14999, 13563, 18249, 482, + 18319, 14999, 13563, 18543, 9171, 8, + 18319, 14999, 13563, 18543, 16449, 9956, + 18319, 14999, 13563, 18599, 40, + 18319, 14999, 14625, 13260, + 18319, 14999, 14625, 19880, + 18319, 14999, 15050, + 18319, 14999, 15119, 12233, 14262, + 18319, 14999, 15119, 14625, 11395, 14262, + 18319, 14999, 15119, 14625, 12233, 14262, + 18319, 14999, 15423, 671, 11476, + 18319, 14999, 15423, 6435, 11476, + 18319, 14999, 15423, 11756, + 18319, 14999, 15423, 18183, 20685, 8320, + 18319, 14999, 15423, 20685, 8320, + 18319, 14999, 15441, 7292, + 18319, 14999, 15635, 843, 2175, 10218, + 18319, 14999, 15635, 843, 7171, 10218, + 18319, 14999, 15811, 11762, + 18319, 14999, 16111, 0, + 18319, 14999, 16111, 2, + 18319, 14999, 16111, 6, + 18319, 14999, 16111, 8, + 18319, 14999, 16111, 12, + 18319, 14999, 16111, 14, + 18319, 14999, 16111, 15, 10641, 15642, + 18319, 14999, 16111, 16, + 18319, 14999, 16111, 18, + 18319, 14999, 16111, 20, + 18319, 14999, 16111, 22, + 18319, 14999, 16111, 24, + 18319, 14999, 16111, 26, + 18319, 14999, 16111, 28, + 18319, 14999, 16111, 30, + 18319, 14999, 16111, 34, + 18319, 14999, 16111, 38, + 18319, 14999, 16111, 40, + 18319, 14999, 16111, 42, + 18319, 14999, 16111, 44, + 18319, 14999, 16111, 66, + 18319, 14999, 16111, 510, + 18319, 14999, 16111, 14357, 2, + 18319, 14999, 16111, 18543, 8, + 18319, 14999, 16111, 18543, 26, + 18319, 14999, 16127, 7817, 7123, 9502, + 18319, 14999, 16127, 13341, 7123, 9502, + 18319, 14999, 16145, 10219, 3717, 568, + 18319, 14999, 16145, 10219, 3717, 584, + 18319, 14999, 16145, 10219, 3717, 9270, + 18319, 14999, 16145, 10219, 3717, 13458, + 18319, 14999, 16145, 10219, 10751, 568, + 18319, 14999, 16145, 10219, 10751, 584, + 18319, 14999, 16145, 10219, 10751, 9270, + 18319, 14999, 16145, 10219, 10751, 13458, + 18319, 14999, 16449, 9956, + 18319, 14999, 17494, + 18319, 14999, 17809, 202, + 18319, 14999, 17809, 7131, 9854, + 18319, 14999, 17809, 9891, 9854, + 18319, 14999, 18109, 2402, + 18319, 14999, 18543, 11762, + 18319, 14999, 18543, 16449, 9956, + 18319, 14999, 18847, 7854, + 18319, 14999, 19245, 10219, 896, + 18319, 14999, 19245, 14623, 10219, 896, + 18319, 14999, 19245, 14623, 19405, 10219, 896, + 18319, 14999, 19245, 19405, 10219, 896, + 18319, 14999, 19880, + 18319, 14999, 19921, 14262, + 18319, 14999, 20133, 10219, 896, + 18319, 14999, 20133, 14623, 10219, 896, + 18319, 14999, 20133, 14623, 19405, 10219, 896, + 18319, 14999, 20133, 19405, 10219, 896, + 18319, 14999, 20479, 11756, + 18319, 14999, 20968, + 18323, 1397, 3716, + 18323, 1397, 10750, + 18323, 1397, 11968, + 18324, + 18328, + 18330, + 18331, 17092, + 18331, 17710, + 18331, 18934, + 18334, + 18337, 16831, 12976, + 18338, + 18339, 13884, + 18339, 23110, + 18340, + 18345, 9214, + 18345, 11905, 15530, + 18349, 16153, 11905, 10900, + 18349, 16153, 12541, 16111, 14999, 0, + 18349, 16153, 12541, 16111, 14999, 2, + 18349, 16153, 12541, 16111, 14999, 4, + 18349, 16153, 12541, 16111, 14999, 6, + 18349, 16153, 12541, 16111, 14999, 8, + 18349, 16153, 12541, 16111, 14999, 10, + 18349, 16153, 12541, 16111, 14999, 12, + 18349, 16153, 12541, 16111, 14999, 14, + 18349, 16153, 12541, 16111, 14999, 16, + 18349, 16153, 12541, 16111, 14999, 18, + 18349, 16153, 12541, 16111, 14999, 20, + 18349, 16153, 12541, 16111, 14999, 22, + 18349, 16153, 12541, 16111, 14999, 24, + 18349, 16153, 12541, 16111, 14999, 26, + 18349, 16153, 12541, 16111, 14999, 28, + 18349, 16153, 12541, 16111, 14999, 30, + 18349, 16153, 12541, 16111, 14999, 32, + 18349, 16153, 12541, 16111, 14999, 34, + 18349, 16153, 12541, 16111, 14999, 36, + 18349, 16153, 12541, 16111, 14999, 38, + 18349, 16153, 12541, 16111, 14999, 40, + 18349, 16153, 12541, 16111, 14999, 42, + 18349, 16153, 12541, 16111, 14999, 44, + 18349, 16153, 12541, 16111, 14999, 46, + 18349, 16153, 12541, 16111, 14999, 48, + 18349, 16153, 12541, 16111, 14999, 50, + 18349, 16153, 15233, 14638, + 18349, 16153, 15233, 15818, + 18349, 16153, 15233, 15820, + 18349, 16153, 15233, 16400, + 18349, 16153, 15233, 17232, + 18349, 16153, 15233, 18010, + 18349, 16153, 15233, 18086, + 18349, 16153, 15233, 18362, + 18349, 16153, 15233, 18742, + 18349, 16153, 15233, 19622, + 18349, 17275, 60, + 18349, 17275, 296, + 18349, 17275, 522, + 18349, 17275, 588, + 18349, 17275, 698, + 18349, 17275, 11773, 8320, + 18349, 17275, 12541, 16111, 14999, 0, + 18349, 17275, 12541, 16111, 14999, 2, + 18349, 17275, 12541, 16111, 14999, 4, + 18349, 17275, 12541, 16111, 14999, 6, + 18349, 17275, 12541, 16111, 14999, 8, + 18349, 17275, 12541, 16111, 14999, 10, + 18349, 17275, 12541, 16111, 14999, 12, + 18349, 17275, 12541, 16111, 14999, 14, + 18349, 17275, 12541, 16111, 14999, 16, + 18349, 17275, 12541, 16111, 14999, 18, + 18349, 17275, 12541, 16111, 14999, 20, + 18349, 17275, 12541, 16111, 14999, 22, + 18349, 17275, 12541, 16111, 14999, 24, + 18349, 17275, 12541, 16111, 14999, 26, + 18349, 17275, 12541, 16111, 14999, 28, + 18349, 17275, 12541, 16111, 14999, 30, + 18349, 17275, 12541, 16111, 14999, 32, + 18349, 17275, 12541, 16111, 14999, 34, + 18349, 17275, 12541, 16111, 14999, 36, + 18349, 17275, 12541, 16111, 14999, 38, + 18349, 17275, 12541, 16111, 14999, 40, + 18349, 17275, 12541, 16111, 14999, 42, + 18349, 17275, 12541, 16111, 14999, 44, + 18349, 17275, 12541, 16111, 14999, 46, + 18349, 17275, 12541, 16111, 14999, 48, + 18349, 17275, 12541, 16111, 14999, 50, + 18367, 13582, + 18372, + 18373, 10641, 19963, 11766, + 18383, 984, + 18383, 6747, 14644, + 18383, 10108, + 18383, 15369, 1016, + 18383, 19902, + 18391, 484, + 18395, 11772, + 18397, 11571, 9950, + 18397, 12237, 11772, + 18397, 12541, 11772, + 18397, 14049, 9950, + 18400, + 18416, + 18431, 634, + 18431, 10641, 13759, 18386, + 18431, 10641, 20181, 15642, + 18439, 16180, + 18451, 17772, + 18457, 8321, 9742, + 18457, 8321, 14625, 9742, + 18457, 14625, 7139, 8320, + 18457, 14999, 0, + 18457, 14999, 8, + 18457, 14999, 16, + 18457, 14999, 28, + 18457, 14999, 40, + 18457, 14999, 106, + 18457, 14999, 124, + 18457, 14999, 148, + 18457, 14999, 184, + 18457, 14999, 224, + 18457, 14999, 244, + 18457, 14999, 266, + 18457, 14999, 336, + 18457, 14999, 350, + 18457, 14999, 384, + 18457, 14999, 416, + 18457, 14999, 448, + 18457, 14999, 522, + 18457, 14999, 556, + 18457, 14999, 572, + 18457, 14999, 588, + 18457, 14999, 622, + 18457, 14999, 694, + 18457, 14999, 718, + 18457, 14999, 734, + 18457, 14999, 752, + 18457, 14999, 1044, + 18457, 14999, 1142, + 18457, 14999, 1254, + 18457, 14999, 1482, + 18457, 14999, 1914, + 18457, 14999, 2444, + 18457, 14999, 2492, + 18457, 14999, 2556, + 18457, 14999, 2676, + 18457, 14999, 3048, + 18457, 14999, 3242, + 18457, 14999, 3308, + 18457, 14999, 3322, + 18457, 14999, 3812, + 18457, 14999, 10240, + 18457, 14999, 10264, + 18457, 14999, 13563, 0, + 18457, 14999, 15873, 266, + 18457, 14999, 18891, 734, + 18457, 14999, 18911, 224, + 18457, 14999, 19839, 3048, + 18457, 14999, 20552, + 18457, 15573, 7139, 8320, + 18457, 19667, 14999, 572, + 18457, 19667, 14999, 694, + 18457, 19667, 14999, 734, + 18457, 20459, 14999, 572, + 18459, 6407, 9855, 517, 5720, + 18459, 6407, 9855, 918, + 18459, 6407, 9855, 966, + 18459, 6407, 9855, 1018, + 18459, 6407, 9855, 2132, + 18459, 6407, 9855, 2878, + 18459, 6407, 9855, 3030, + 18459, 6407, 9855, 6090, + 18459, 6407, 9855, 6098, + 18459, 6407, 9855, 6432, + 18459, 6407, 9855, 7166, + 18459, 6407, 9855, 7304, + 18459, 6407, 9855, 7848, + 18459, 6407, 9855, 9778, + 18459, 6407, 9855, 10550, + 18459, 6407, 9855, 10623, 5734, + 18459, 6407, 9855, 11476, + 18459, 6407, 9855, 11617, 2106, + 18459, 6407, 9855, 11710, + 18459, 6407, 9855, 11964, + 18459, 6407, 9855, 12096, + 18459, 6407, 9855, 13241, 10228, + 18459, 6407, 9855, 13554, + 18459, 6407, 9855, 13563, 874, + 18459, 6407, 9855, 13752, + 18459, 6407, 9855, 13852, + 18459, 6407, 9855, 14064, + 18459, 6407, 9855, 14504, + 18459, 6407, 9855, 14598, + 18459, 6407, 9855, 14798, + 18459, 6407, 9855, 14834, + 18459, 6407, 9855, 15353, 7138, + 18459, 6407, 9855, 15544, + 18459, 6407, 9855, 16056, + 18459, 6407, 9855, 16112, + 18459, 6407, 9855, 16782, + 18459, 6407, 9855, 16982, + 18459, 6407, 9855, 17136, + 18459, 6407, 9855, 18102, + 18459, 6407, 9855, 18278, + 18459, 6407, 9855, 18654, + 18459, 6407, 9855, 18727, 7138, + 18459, 6407, 9855, 18948, + 18459, 6407, 9855, 18967, 13240, + 18459, 6407, 9855, 19003, 16913, 15642, + 18459, 6407, 9855, 20312, + 18461, 9950, + 18475, 15626, + 18477, 19352, + 18486, + 18487, 505, 12005, 634, + 18487, 505, 20127, 634, + 18487, 987, 2511, 20127, 634, + 18487, 11393, 2511, 12005, 634, + 18487, 11393, 2511, 14281, 12005, 634, + 18487, 11393, 14281, 12005, 634, + 18487, 11393, 14647, 9854, + 18487, 11393, 20917, 2511, 12005, 634, + 18487, 11393, 20917, 14647, 9854, + 18487, 13883, 18524, + 18489, 14064, + 18491, 9206, + 18492, + 18499, 7854, + 18505, 12589, 7816, + 18505, 12589, 13340, + 18505, 13889, 7816, + 18505, 13889, 7817, 843, 12589, 7817, 843, 12589, 13340, + 18505, 13889, 7817, 843, 12589, 13340, + 18505, 13889, 7817, 843, 13889, 13341, 843, 12589, 7816, + 18505, 13889, 7817, 843, 13889, 13341, 843, 12589, 13340, + 18505, 13889, 13340, + 18505, 13889, 13341, 843, 12589, 7816, + 18505, 13889, 13341, 843, 12589, 7817, 843, 12589, 13340, + 18511, 8320, + 18511, 20685, 8320, + 18512, + 18519, 13183, 15672, + 18523, 19353, 15673, 14999, 0, + 18523, 19353, 15673, 14999, 2, + 18523, 19353, 15673, 14999, 4, + 18523, 19353, 15673, 14999, 6, + 18523, 19353, 15673, 14999, 8, + 18523, 19353, 15673, 14999, 10, + 18523, 19353, 15673, 14999, 12, + 18523, 19353, 15673, 14999, 14, + 18523, 19353, 15673, 14999, 16, + 18523, 19353, 15673, 14999, 18, + 18523, 19353, 15673, 14999, 20, + 18523, 19353, 15673, 14999, 22, + 18523, 19353, 15673, 14999, 24, + 18523, 19353, 15673, 14999, 26, + 18523, 19353, 15673, 14999, 28, + 18523, 19353, 15673, 14999, 30, + 18523, 19353, 15673, 14999, 32, + 18523, 19353, 15673, 14999, 34, + 18523, 19353, 15673, 14999, 36, + 18523, 19353, 15673, 14999, 38, + 18523, 19353, 15673, 14999, 40, + 18523, 19353, 15673, 14999, 42, + 18523, 19353, 15673, 14999, 44, + 18523, 19353, 15673, 14999, 46, + 18523, 19353, 15673, 14999, 48, + 18523, 19353, 15673, 14999, 50, + 18527, 6718, + 18531, 15442, + 18538, + 18540, + 18543, 2511, 9854, + 18543, 7127, 10641, 15119, 14701, 18042, + 18543, 11446, + 18543, 11447, 10641, 18836, + 18543, 11762, + 18543, 11989, 3042, + 18543, 13260, + 18543, 13758, + 18543, 13759, 14646, + 18543, 14625, 13260, + 18543, 14625, 13261, 19557, 8320, + 18543, 14625, 15643, 2511, 9854, + 18543, 14737, 20838, + 18543, 15423, 7127, 10641, 16403, 17270, + 18543, 15743, 671, 9854, + 18543, 15743, 6435, 9854, + 18543, 15781, 13260, + 18543, 17033, 9854, + 18543, 17139, 14725, 12275, 14418, + 18543, 17479, 7126, + 18543, 18511, 8320, + 18543, 19614, + 18543, 20377, 16111, 22, + 18556, + 18568, + 18570, + 18572, + 18583, 14049, 9950, + 18583, 14049, 12541, 11772, + 18583, 14049, 14486, + 18584, + 18591, 9950, + 18593, 5726, + 18593, 17406, + 18599, 11571, 671, 18471, 12388, + 18599, 11571, 6435, 18471, 12388, + 18599, 11571, 7817, 18471, 12388, + 18599, 11571, 13341, 18471, 12388, + 18599, 14049, 671, 18471, 12388, + 18599, 14049, 6435, 18471, 12388, + 18599, 14049, 7817, 18471, 12388, + 18599, 14049, 13341, 18471, 12388, + 18607, 17642, + 18609, 6718, + 18609, 15672, + 18609, 21276, + 18611, 17245, 6718, + 18611, 18095, 6718, + 18613, 6718, + 18615, 6718, + 18622, + 18625, 7139, 317, 20402, + 18627, 9854, + 18631, 14042, + 18645, 5866, + 18653, 13372, + 18663, 20127, 634, + 18684, + 18685, 505, 12005, 634, + 18685, 505, 20127, 634, + 18685, 987, 2511, 20127, 634, + 18685, 11393, 2511, 12005, 634, + 18685, 11393, 2511, 14281, 12005, 634, + 18685, 11393, 14281, 12005, 634, + 18685, 11393, 14647, 9854, + 18685, 11393, 20917, 2511, 12005, 634, + 18685, 11393, 20917, 14647, 9854, + 18685, 13883, 18524, + 18689, 484, + 18689, 485, 505, 12005, 634, + 18689, 485, 505, 12005, 635, 10641, 1217, 11392, + 18689, 485, 10641, 2511, 12005, 634, + 18689, 485, 11393, 2511, 12005, 634, + 18689, 485, 11393, 13759, 18386, + 18689, 485, 11393, 14281, 12005, 634, + 18689, 485, 11393, 14647, 9854, + 18689, 10641, 1216, + 18689, 10641, 9287, 9855, 11552, + 18689, 10641, 23111, 9855, 11552, + 18689, 11393, 15650, + 18689, 11393, 18688, + 18689, 11393, 19407, 11476, + 18689, 14373, 843, 14889, 123, 6287, 10641, 15650, + 18689, 14373, 15650, + 18689, 19541, 17254, + 18716, + 18719, 14003, 9855, 16, + 18719, 14003, 9855, 40, + 18719, 14999, 0, + 18719, 14999, 16, + 18719, 14999, 40, + 18719, 14999, 106, + 18719, 14999, 148, + 18719, 14999, 244, + 18719, 14999, 350, + 18719, 14999, 384, + 18719, 14999, 416, + 18719, 14999, 448, + 18719, 14999, 522, + 18719, 14999, 588, + 18719, 14999, 622, + 18719, 14999, 694, + 18719, 14999, 734, + 18719, 14999, 2444, + 18723, 10228, + 18731, 17714, + 18741, 6718, + 18747, 6286, + 18753, 14999, 734, + 18753, 14999, 736, + 18753, 14999, 738, + 18753, 14999, 742, + 18753, 14999, 746, + 18753, 14999, 3648, + 18753, 14999, 3650, + 18753, 14999, 3652, + 18753, 14999, 3656, + 18753, 14999, 3658, + 18753, 14999, 3660, + 18753, 14999, 3662, + 18753, 14999, 3664, + 18753, 14999, 3666, + 18753, 14999, 3668, + 18753, 14999, 3670, + 18753, 14999, 3672, + 18753, 14999, 3674, + 18753, 14999, 3676, + 18753, 14999, 3678, + 18753, 14999, 3680, + 18753, 14999, 3684, + 18753, 14999, 3686, + 18753, 14999, 3688, + 18753, 14999, 3690, + 18753, 14999, 3706, + 18753, 14999, 5311, 10742, + 18753, 14999, 10732, + 18753, 14999, 10734, + 18753, 14999, 10736, + 18753, 14999, 10738, + 18753, 14999, 10742, + 18753, 14999, 10746, + 18753, 14999, 10748, + 18753, 14999, 10752, + 18753, 14999, 10754, + 18753, 14999, 10756, + 18753, 14999, 10758, + 18753, 14999, 10762, + 18753, 14999, 10768, + 18753, 14999, 10770, + 18753, 14999, 14102, + 18753, 14999, 14104, + 18753, 14999, 14106, + 18753, 14999, 14371, 15957, 3660, + 18753, 14999, 14371, 15957, 3662, + 18753, 14999, 15801, 3660, + 18753, 14999, 15801, 3664, + 18753, 14999, 15801, 3674, + 18753, 14999, 15801, 10742, + 18753, 14999, 15801, 10744, + 18753, 14999, 15801, 10748, + 18753, 14999, 15801, 10750, + 18753, 14999, 15801, 10768, + 18753, 14999, 15973, 10768, + 18753, 14999, 20465, 3690, + 18753, 18319, 14999, 22865, 8320, + 18753, 19015, 14890, + 18753, 19619, 8320, + 18757, 9855, 212, + 18763, 13483, 18951, 1073, 17453, 22990, + 18763, 13483, 18951, 1073, 17453, 22994, + 18763, 13483, 18951, 1073, 17453, 23006, + 18763, 13483, 18951, 1073, 17453, 23026, + 18763, 13483, 18951, 1073, 17453, 23034, + 18763, 13483, 18951, 1073, 17453, 23042, + 18763, 13483, 18951, 1073, 17453, 23054, + 18763, 13483, 18951, 1073, 17453, 23060, + 18763, 13483, 18951, 1073, 17453, 23068, + 18763, 13483, 18951, 12541, 16111, 14999, 36, + 18775, 10641, 1217, 11392, + 18775, 10641, 15517, 93, 14392, + 18775, 10641, 17143, 16184, + 18775, 10641, 18836, + 18776, + 18783, 6750, + 18783, 11932, + 18829, 10651, 16270, + 18829, 14999, 16, + 18829, 14999, 40, + 18829, 14999, 282, + 18829, 14999, 546, + 18829, 14999, 634, + 18829, 14999, 710, + 18829, 14999, 762, + 18829, 14999, 826, + 18829, 14999, 1866, + 18829, 14999, 1914, + 18829, 14999, 2280, + 18829, 14999, 2536, + 18829, 14999, 3122, + 18829, 14999, 3236, + 18829, 14999, 3726, + 18829, 14999, 5256, + 18829, 14999, 5816, + 18829, 14999, 6376, + 18829, 14999, 7308, + 18829, 14999, 9370, + 18829, 14999, 9684, + 18829, 14999, 9776, + 18829, 14999, 10902, + 18829, 14999, 11888, + 18829, 14999, 12154, + 18829, 14999, 12190, + 18829, 14999, 12528, + 18829, 14999, 13314, + 18829, 14999, 13418, + 18829, 14999, 15730, + 18832, + 18833, 497, 14800, + 18833, 10641, 9467, 11936, + 18835, 6718, + 18840, + 18844, + 18847, 897, 10641, 20181, 15642, + 18847, 897, 14373, 13341, 18774, + 18847, 897, 14625, 7817, 19808, + 18847, 897, 15781, 13341, 19808, + 18847, 3077, 6430, + 18847, 3189, 1912, + 18847, 6779, 6430, + 18847, 7591, 15435, 8320, + 18847, 7591, 15435, 8321, 12589, 7122, + 18847, 7591, 15435, 8321, 13889, 7122, + 18847, 7591, 15435, 10641, 15873, 13579, 8320, + 18847, 7591, 15435, 10641, 15873, 13579, 8321, 13889, 7122, + 18847, 7854, + 18847, 7855, 10641, 14487, 11392, + 18847, 7855, 10641, 14487, 11552, + 18847, 7855, 10641, 15119, 1216, + 18847, 7855, 19242, + 18847, 8315, 10641, 15643, 9854, + 18847, 13758, + 18847, 15945, 7854, + 18847, 17393, 12562, + 18847, 18016, + 18847, 20727, 19371, 8320, + 18851, 15620, + 18881, 635, 3245, 17306, + 18883, 17374, + 18891, 16929, 7817, 3537, 17392, + 18892, + 18894, + 18897, 20173, 3896, + 18897, 20173, 3898, + 18897, 20173, 3900, + 18897, 20173, 3902, + 18897, 20173, 3904, + 18897, 20173, 3906, + 18897, 20173, 3908, + 18897, 20173, 3910, + 18897, 20173, 3912, + 18897, 20173, 3914, + 18897, 20173, 3916, + 18897, 20173, 3918, + 18897, 20173, 3920, + 18897, 20173, 3922, + 18897, 20173, 3924, + 18897, 20173, 3926, + 18897, 20173, 3928, + 18897, 20173, 3930, + 18897, 20173, 3932, + 18897, 20173, 3934, + 18897, 20173, 3936, + 18897, 20173, 3938, + 18897, 20173, 3940, + 18897, 20173, 3942, + 18897, 20173, 3944, + 18897, 20173, 3946, + 18897, 20173, 3948, + 18897, 20173, 3950, + 18897, 20173, 3952, + 18897, 20173, 3954, + 18897, 20173, 3956, + 18897, 20173, 3958, + 18897, 20173, 3960, + 18897, 20173, 3962, + 18897, 20173, 3964, + 18897, 20173, 3966, + 18897, 20173, 3968, + 18897, 20173, 3970, + 18897, 20173, 3972, + 18897, 20173, 3974, + 18897, 20173, 3976, + 18897, 20173, 3978, + 18897, 20173, 3980, + 18897, 20173, 3982, + 18897, 20173, 3984, + 18897, 20173, 3986, + 18897, 20173, 3988, + 18897, 20173, 3990, + 18897, 20173, 3992, + 18897, 20173, 3994, + 18897, 20173, 3996, + 18897, 20173, 3998, + 18897, 20173, 4000, + 18897, 20173, 4002, + 18897, 20173, 4004, + 18897, 20173, 4006, + 18897, 20173, 4008, + 18897, 20173, 4010, + 18897, 20173, 4012, + 18897, 20173, 4014, + 18897, 20173, 4016, + 18897, 20173, 4018, + 18897, 20173, 4020, + 18897, 20173, 4022, + 18897, 20173, 4024, + 18897, 20173, 4026, + 18897, 20173, 4028, + 18897, 20173, 4030, + 18897, 20173, 4032, + 18897, 20173, 4034, + 18897, 20173, 4036, + 18897, 20173, 4038, + 18897, 20173, 4040, + 18897, 20173, 4042, + 18897, 20173, 4044, + 18897, 20173, 4046, + 18897, 20173, 4048, + 18897, 20173, 4050, + 18897, 20173, 4052, + 18897, 20173, 4054, + 18897, 20173, 4056, + 18897, 20173, 4058, + 18897, 20173, 4060, + 18897, 20173, 4062, + 18897, 20173, 4064, + 18897, 20173, 4066, + 18897, 20173, 4068, + 18897, 20173, 4070, + 18897, 20173, 4072, + 18897, 20173, 4074, + 18897, 20173, 4076, + 18897, 20173, 4078, + 18897, 20173, 4080, + 18897, 20173, 4082, + 18897, 20173, 4084, + 18897, 20173, 4086, + 18897, 20173, 4088, + 18897, 20173, 4090, + 18897, 20173, 4092, + 18897, 20173, 4094, + 18897, 20173, 4096, + 18897, 20173, 4098, + 18897, 20173, 4100, + 18897, 20173, 4102, + 18897, 20173, 4104, + 18897, 20173, 4106, + 18897, 20173, 4108, + 18897, 20173, 4110, + 18897, 20173, 4112, + 18897, 20173, 4114, + 18897, 20173, 4116, + 18897, 20173, 4118, + 18897, 20173, 4120, + 18897, 20173, 4122, + 18897, 20173, 4124, + 18897, 20173, 4126, + 18897, 20173, 4128, + 18897, 20173, 4130, + 18897, 20173, 4132, + 18897, 20173, 4134, + 18897, 20173, 4136, + 18897, 20173, 4138, + 18897, 20173, 4140, + 18897, 20173, 4142, + 18897, 20173, 4144, + 18897, 20173, 4146, + 18897, 20173, 4148, + 18897, 20173, 4150, + 18897, 20173, 4152, + 18897, 20173, 4154, + 18897, 20173, 4156, + 18897, 20173, 4158, + 18897, 20173, 4160, + 18897, 20173, 4162, + 18897, 20173, 4164, + 18897, 20173, 4166, + 18897, 20173, 4168, + 18897, 20173, 4170, + 18897, 20173, 4172, + 18897, 20173, 4174, + 18897, 20173, 4176, + 18897, 20173, 4178, + 18897, 20173, 4180, + 18897, 20173, 4182, + 18897, 20173, 4184, + 18897, 20173, 4186, + 18897, 20173, 4188, + 18897, 20173, 4190, + 18897, 20173, 4192, + 18897, 20173, 4194, + 18897, 20173, 4196, + 18897, 20173, 4198, + 18897, 20173, 4200, + 18897, 20173, 4202, + 18897, 20173, 4204, + 18897, 20173, 4206, + 18897, 20173, 4208, + 18897, 20173, 4210, + 18897, 20173, 4212, + 18897, 20173, 4214, + 18897, 20173, 4216, + 18897, 20173, 4218, + 18897, 20173, 4220, + 18897, 20173, 4222, + 18897, 20173, 4224, + 18897, 20173, 4226, + 18897, 20173, 4228, + 18897, 20173, 4230, + 18897, 20173, 4232, + 18897, 20173, 4234, + 18897, 20173, 4236, + 18897, 20173, 4238, + 18897, 20173, 4240, + 18897, 20173, 4242, + 18897, 20173, 4244, + 18897, 20173, 4246, + 18897, 20173, 4248, + 18897, 20173, 4250, + 18897, 20173, 4252, + 18897, 20173, 4254, + 18897, 20173, 4256, + 18897, 20173, 4258, + 18897, 20173, 4260, + 18897, 20173, 4262, + 18897, 20173, 4264, + 18897, 20173, 4266, + 18897, 20173, 4268, + 18897, 20173, 4270, + 18897, 20173, 4272, + 18897, 20173, 4274, + 18897, 20173, 4276, + 18897, 20173, 4278, + 18897, 20173, 4280, + 18897, 20173, 4282, + 18897, 20173, 4284, + 18897, 20173, 4286, + 18897, 20173, 4288, + 18897, 20173, 4290, + 18897, 20173, 4292, + 18897, 20173, 4294, + 18897, 20173, 4296, + 18897, 20173, 4298, + 18897, 20173, 4300, + 18897, 20173, 4302, + 18897, 20173, 4304, + 18897, 20173, 4306, + 18897, 20173, 4308, + 18897, 20173, 4310, + 18897, 20173, 4312, + 18897, 20173, 4314, + 18897, 20173, 4316, + 18897, 20173, 4318, + 18897, 20173, 4320, + 18897, 20173, 4322, + 18897, 20173, 4324, + 18897, 20173, 4326, + 18897, 20173, 4328, + 18897, 20173, 4330, + 18897, 20173, 4332, + 18897, 20173, 4334, + 18897, 20173, 4336, + 18897, 20173, 4338, + 18897, 20173, 4340, + 18897, 20173, 4342, + 18897, 20173, 4344, + 18897, 20173, 4346, + 18897, 20173, 4348, + 18897, 20173, 4350, + 18897, 20173, 4352, + 18897, 20173, 4354, + 18897, 20173, 4356, + 18897, 20173, 4358, + 18897, 20173, 4360, + 18897, 20173, 4362, + 18897, 20173, 4364, + 18897, 20173, 4366, + 18897, 20173, 4368, + 18897, 20173, 4370, + 18897, 20173, 4372, + 18897, 20173, 4374, + 18897, 20173, 4376, + 18897, 20173, 4378, + 18897, 20173, 4380, + 18897, 20173, 4382, + 18897, 20173, 4384, + 18897, 20173, 4386, + 18897, 20173, 4388, + 18897, 20173, 4390, + 18897, 20173, 4392, + 18897, 20173, 4394, + 18897, 20173, 4396, + 18897, 20173, 4398, + 18897, 20173, 4400, + 18897, 20173, 4402, + 18897, 20173, 4404, + 18897, 20173, 4406, + 18897, 20173, 4408, + 18897, 20173, 4410, + 18897, 20173, 4412, + 18897, 20173, 4414, + 18897, 20173, 4416, + 18897, 20173, 4418, + 18897, 20173, 4420, + 18897, 20173, 4422, + 18897, 20173, 4424, + 18897, 20173, 4426, + 18897, 20173, 4428, + 18897, 20173, 4430, + 18897, 20173, 4432, + 18897, 20173, 4434, + 18897, 20173, 4436, + 18897, 20173, 4438, + 18897, 20173, 4440, + 18897, 20173, 4442, + 18897, 20173, 4444, + 18897, 20173, 4446, + 18897, 20173, 4448, + 18897, 20173, 4450, + 18897, 20173, 4452, + 18897, 20173, 4454, + 18897, 20173, 4456, + 18897, 20173, 4458, + 18897, 20173, 4460, + 18897, 20173, 4462, + 18897, 20173, 4464, + 18897, 20173, 4466, + 18897, 20173, 4468, + 18897, 20173, 4470, + 18897, 20173, 4472, + 18897, 20173, 4474, + 18897, 20173, 4476, + 18897, 20173, 4478, + 18897, 20173, 4480, + 18897, 20173, 4482, + 18897, 20173, 4484, + 18897, 20173, 4486, + 18897, 20173, 4488, + 18897, 20173, 4490, + 18897, 20173, 4492, + 18897, 20173, 4494, + 18897, 20173, 4496, + 18897, 20173, 4498, + 18897, 20173, 4500, + 18897, 20173, 4502, + 18897, 20173, 4504, + 18897, 20173, 4506, + 18897, 20173, 4508, + 18897, 20173, 4510, + 18897, 20173, 4512, + 18897, 20173, 4514, + 18897, 20173, 4516, + 18897, 20173, 4518, + 18897, 20173, 4520, + 18897, 20173, 4522, + 18897, 20173, 4524, + 18897, 20173, 4526, + 18897, 20173, 4528, + 18897, 20173, 4530, + 18897, 20173, 4532, + 18897, 20173, 4534, + 18897, 20173, 4536, + 18897, 20173, 4538, + 18897, 20173, 4540, + 18897, 20173, 4542, + 18897, 20173, 4544, + 18897, 20173, 4546, + 18897, 20173, 4548, + 18897, 20173, 4550, + 18897, 20173, 4552, + 18897, 20173, 4554, + 18897, 20173, 4556, + 18897, 20173, 4560, + 18897, 20173, 4562, + 18897, 20173, 4564, + 18897, 20173, 4566, + 18897, 20173, 4568, + 18897, 20173, 4570, + 18897, 20173, 4572, + 18897, 20173, 4574, + 18897, 20173, 4576, + 18897, 20173, 4578, + 18897, 20173, 4580, + 18897, 20173, 4582, + 18897, 20173, 4584, + 18897, 20173, 4586, + 18897, 20173, 4588, + 18897, 20173, 4590, + 18897, 20173, 4592, + 18897, 20173, 4594, + 18897, 20173, 4596, + 18897, 20173, 4598, + 18897, 20173, 4600, + 18897, 20173, 4602, + 18897, 20173, 4604, + 18897, 20173, 4606, + 18897, 20173, 4608, + 18897, 20173, 4610, + 18897, 20173, 4612, + 18897, 20173, 4614, + 18897, 20173, 4616, + 18897, 20173, 4618, + 18897, 20173, 4620, + 18897, 20173, 4622, + 18897, 20173, 4624, + 18897, 20173, 4626, + 18897, 20173, 4628, + 18897, 20173, 4630, + 18897, 20173, 4632, + 18897, 20173, 4634, + 18897, 20173, 4636, + 18897, 20173, 4638, + 18897, 20173, 4640, + 18897, 20173, 4642, + 18897, 20173, 4644, + 18897, 20173, 4646, + 18897, 20173, 4648, + 18897, 20173, 4650, + 18897, 20173, 4652, + 18897, 20173, 4654, + 18897, 20173, 4656, + 18897, 20173, 4658, + 18897, 20173, 4661, 573, 505, 578, + 18897, 20173, 4662, + 18897, 20173, 4664, + 18897, 20173, 4666, + 18897, 20173, 4668, + 18897, 20173, 4670, + 18897, 20173, 4672, + 18897, 20173, 4674, + 18897, 20173, 4676, + 18897, 20173, 4678, + 18897, 20173, 4681, 11978, + 18897, 20173, 4682, + 18897, 20173, 4684, + 18897, 20173, 4686, + 18897, 20173, 4688, + 18897, 20173, 4690, + 18897, 20173, 4692, + 18897, 20173, 4694, + 18897, 20173, 4696, + 18897, 20173, 4698, + 18897, 20173, 4700, + 18897, 20173, 4702, + 18897, 20173, 4704, + 18897, 20173, 4706, + 18897, 20173, 4708, + 18897, 20173, 4710, + 18897, 20173, 4712, + 18897, 20173, 4715, 11547, 18257, 8320, + 18897, 20173, 4716, + 18897, 20173, 4718, + 18897, 20173, 4720, + 18897, 20173, 4722, + 18897, 20173, 4724, + 18897, 20173, 4726, + 18897, 20173, 4728, + 18897, 20173, 4730, + 18897, 20173, 4732, + 18897, 20173, 4734, + 18897, 20173, 4736, + 18897, 20173, 4738, + 18897, 20173, 4740, + 18897, 20173, 4742, + 18897, 20173, 4744, + 18897, 20173, 4746, + 18897, 20173, 4748, + 18897, 20173, 4750, + 18897, 20173, 4752, + 18897, 20173, 4754, + 18897, 20173, 4756, + 18897, 20173, 4758, + 18897, 20173, 4760, + 18897, 20173, 4762, + 18897, 20173, 4764, + 18897, 20173, 4766, + 18897, 20173, 4768, + 18897, 20173, 4770, + 18897, 20173, 4772, + 18897, 20173, 4774, + 18897, 20173, 4776, + 18897, 20173, 4778, + 18897, 20173, 4780, + 18897, 20173, 4782, + 18897, 20173, 4784, + 18897, 20173, 4786, + 18897, 20173, 4788, + 18897, 20173, 4790, + 18897, 20173, 4792, + 18897, 20173, 4794, + 18897, 20173, 4796, + 18897, 20173, 4798, + 18897, 20173, 4800, + 18897, 20173, 4802, + 18897, 20173, 4804, + 18897, 20173, 4806, + 18897, 20173, 4808, + 18897, 20173, 4810, + 18897, 20173, 4812, + 18897, 20173, 4814, + 18897, 20173, 4816, + 18897, 20173, 4818, + 18897, 20173, 4820, + 18897, 20173, 4822, + 18897, 20173, 4824, + 18897, 20173, 4826, + 18897, 20173, 4828, + 18897, 20173, 4830, + 18897, 20173, 4832, + 18897, 20173, 4834, + 18897, 20173, 4836, + 18897, 20173, 4838, + 18897, 20173, 4840, + 18897, 20173, 4842, + 18897, 20173, 4844, + 18897, 20173, 4846, + 18897, 20173, 4848, + 18897, 20173, 4850, + 18897, 20173, 4852, + 18897, 20173, 4854, + 18897, 20173, 4856, + 18897, 20173, 4858, + 18897, 20173, 4860, + 18897, 20173, 4862, + 18897, 20173, 4864, + 18897, 20173, 4866, + 18897, 20173, 4868, + 18897, 20173, 4870, + 18897, 20173, 4872, + 18897, 20173, 4874, + 18897, 20173, 4876, + 18897, 20173, 4878, + 18897, 20173, 4880, + 18897, 20173, 4882, + 18897, 20173, 4884, + 18897, 20173, 4886, + 18897, 20173, 4888, + 18897, 20173, 4890, + 18897, 20173, 4892, + 18897, 20173, 4894, + 18897, 20173, 4896, + 18897, 20173, 4898, + 18897, 20173, 4900, + 18897, 20173, 4902, + 18897, 20173, 4904, + 18897, 20173, 4906, + 18897, 20173, 4908, + 18897, 20173, 4910, + 18897, 20173, 4912, + 18897, 20173, 4914, + 18897, 20173, 4916, + 18897, 20173, 4918, + 18897, 20173, 4920, + 18897, 20173, 4922, + 18897, 20173, 4924, + 18897, 20173, 4926, + 18897, 20173, 4928, + 18897, 20173, 4930, + 18897, 20173, 4932, + 18897, 20173, 4934, + 18897, 20173, 4936, + 18897, 20173, 4938, + 18897, 20173, 4940, + 18897, 20173, 4942, + 18897, 20173, 4944, + 18897, 20173, 4946, + 18897, 20173, 4948, + 18897, 20173, 11036, + 18897, 20173, 11042, + 18897, 20173, 11048, + 18897, 20173, 11052, + 18897, 20173, 11058, + 18897, 20173, 11060, + 18897, 20173, 11062, + 18897, 20173, 11064, + 18897, 20173, 11066, + 18897, 20173, 11068, + 18897, 20173, 11070, + 18897, 20173, 11072, + 18897, 20173, 11074, + 18897, 20173, 11076, + 18897, 20173, 11078, + 18897, 20173, 11080, + 18897, 20173, 11082, + 18897, 20173, 11084, + 18897, 20173, 11086, + 18897, 20173, 11088, + 18897, 20173, 11090, + 18897, 20173, 11092, + 18897, 20173, 11094, + 18897, 20173, 11096, + 18897, 20173, 11098, + 18897, 20173, 11100, + 18897, 20173, 11104, + 18897, 20173, 11108, + 18897, 20173, 11110, + 18897, 20173, 11112, + 18897, 20173, 11114, + 18897, 20173, 11116, + 18897, 20173, 11118, + 18897, 20173, 11120, + 18897, 20173, 11122, + 18897, 20173, 11124, + 18897, 20173, 11126, + 18897, 20173, 11128, + 18897, 20173, 11130, + 18897, 20173, 11132, + 18897, 20173, 11144, + 18897, 20173, 11146, + 18897, 20173, 11148, + 18897, 20173, 11150, + 18897, 20173, 11152, + 18897, 20173, 11154, + 18897, 20173, 11156, + 18897, 20173, 11158, + 18897, 20173, 11160, + 18897, 20173, 11162, + 18897, 20173, 11164, + 18897, 20173, 11166, + 18897, 20173, 11168, + 18897, 20173, 11170, + 18897, 20173, 11173, 1299, 18257, 8320, + 18897, 20173, 11174, + 18897, 20173, 11176, + 18899, 6718, + 18909, 8846, + 18912, + 18918, + 18921, 15709, 16740, + 18927, 17089, 843, 20912, + 18933, 1449, 18060, + 18933, 1449, 18062, + 18933, 9855, 15868, + 18933, 9855, 17486, + 18933, 9855, 17610, + 18933, 9855, 17652, + 18933, 9855, 20552, + 18933, 10651, 19618, + 18933, 11854, + 18933, 11905, 2610, + 18933, 11905, 3076, + 18933, 11905, 3356, + 18933, 11905, 6756, + 18933, 11905, 6778, + 18933, 11905, 8780, + 18933, 11905, 10900, + 18933, 11905, 11978, + 18933, 11905, 13450, + 18933, 11905, 13736, + 18933, 14003, 9855, 8, + 18933, 14003, 9855, 16, + 18933, 14003, 9855, 28, + 18933, 14003, 9855, 40, + 18933, 14003, 9855, 58, + 18933, 14003, 9855, 72, + 18933, 14003, 9855, 94, + 18933, 14003, 9855, 308, + 18933, 14003, 9855, 676, + 18933, 14003, 9855, 17493, 22, + 18933, 14003, 9855, 17493, 34, + 18933, 14003, 9855, 17493, 582, + 18933, 14625, 11854, + 18933, 14999, 0, + 18933, 14999, 8, + 18933, 14999, 16, + 18933, 14999, 28, + 18933, 14999, 40, + 18933, 14999, 58, + 18933, 14999, 72, + 18933, 14999, 94, + 18933, 14999, 106, + 18933, 14999, 124, + 18933, 14999, 148, + 18933, 14999, 244, + 18933, 14999, 266, + 18933, 14999, 308, + 18933, 14999, 336, + 18933, 14999, 350, + 18933, 14999, 384, + 18933, 14999, 416, + 18933, 14999, 448, + 18933, 14999, 522, + 18933, 14999, 572, + 18933, 14999, 588, + 18933, 14999, 622, + 18933, 14999, 676, + 18933, 14999, 680, + 18933, 14999, 734, + 18933, 14999, 932, + 18933, 14999, 1044, + 18933, 14999, 1142, + 18933, 14999, 1164, + 18933, 14999, 1492, + 18933, 14999, 1796, + 18933, 14999, 1914, + 18933, 14999, 2444, + 18933, 14999, 2492, + 18933, 14999, 2556, + 18933, 14999, 2676, + 18933, 14999, 3048, + 18933, 14999, 3114, + 18933, 14999, 3242, + 18933, 14999, 3322, + 18933, 14999, 6314, + 18933, 14999, 10264, + 18933, 14999, 17493, 22, + 18933, 14999, 17493, 34, + 18933, 14999, 17493, 582, + 18933, 15233, 2610, + 18933, 15233, 3076, + 18933, 15233, 3232, + 18933, 15233, 3356, + 18933, 15233, 6756, + 18933, 15233, 6778, + 18933, 15233, 8780, + 18933, 15233, 11978, + 18933, 15233, 12080, + 18933, 15233, 12108, + 18933, 15233, 13450, + 18933, 15233, 13538, + 18933, 15233, 13736, + 18933, 15233, 14636, + 18933, 15233, 15194, + 18933, 15233, 15736, + 18933, 15233, 15820, + 18933, 15233, 17190, + 18933, 18157, 10423, 8320, + 18934, + 18936, + 18941, 9854, + 18954, + 18958, + 18961, 16831, 15673, 1252, + 18961, 16831, 15673, 1335, 20674, + 18961, 16831, 15673, 5278, + 18961, 16831, 15673, 7445, 2434, + 18961, 16831, 15673, 7445, 17624, + 18961, 16831, 15673, 8598, + 18961, 16831, 15673, 10157, 1871, 15996, + 18961, 16831, 15673, 10230, + 18961, 16831, 15673, 10789, 848, + 18961, 16831, 15673, 10789, 7602, + 18961, 16831, 15673, 11407, 5288, + 18961, 16831, 15673, 11407, 8370, + 18961, 16831, 15673, 11407, 9291, 5288, + 18961, 16831, 15673, 11407, 9291, 12222, + 18961, 16831, 15673, 11407, 12222, + 18961, 16831, 15673, 11407, 15106, + 18961, 16831, 15673, 11407, 17626, + 18961, 16831, 15673, 11407, 19294, + 18961, 16831, 15673, 11459, 1335, 2434, + 18961, 16831, 15673, 11459, 20674, + 18961, 16831, 15673, 11468, + 18961, 16831, 15673, 11719, 14218, + 18961, 16831, 15673, 11719, 14948, + 18961, 16831, 15673, 11719, 15598, + 18961, 16831, 15673, 11906, + 18961, 16831, 15673, 11907, 17624, + 18961, 16831, 15673, 12550, + 18961, 16831, 15673, 13165, 2434, + 18961, 16831, 15673, 13165, 11906, + 18961, 16831, 15673, 13165, 20674, + 18961, 16831, 15673, 13268, + 18961, 16831, 15673, 13330, + 18961, 16831, 15673, 13664, + 18961, 16831, 15673, 13714, + 18961, 16831, 15673, 13715, 14294, + 18961, 16831, 15673, 13730, + 18961, 16831, 15673, 13980, + 18961, 16831, 15673, 14089, 14946, + 18961, 16831, 15673, 14552, + 18961, 16831, 15673, 14583, 5279, 1253, 17868, + 18961, 16831, 15673, 14583, 19069, 221, 17868, + 18961, 16831, 15673, 14583, 20483, 9161, 17868, + 18961, 16831, 15673, 14583, 20807, 17353, 17868, + 18961, 16831, 15673, 14583, 20960, + 18961, 16831, 15673, 14583, 22936, + 18961, 16831, 15673, 14651, 20840, + 18961, 16831, 15673, 14651, 21282, + 18961, 16831, 15673, 14691, 17235, 14481, 13978, + 18961, 16831, 15673, 14749, 17, 15929, 22936, + 18961, 16831, 15673, 14749, 8605, 12372, + 18961, 16831, 15673, 14749, 15164, + 18961, 16831, 15673, 14749, 16757, 14481, 17848, + 18961, 16831, 15673, 14749, 16757, 14481, 20260, + 18961, 16831, 15673, 14749, 17235, 14481, 13978, + 18961, 16831, 15673, 14749, 17235, 14481, 15674, + 18961, 16831, 15673, 14749, 17235, 17847, 158, + 18961, 16831, 15673, 14749, 17624, + 18961, 16831, 15673, 14749, 17625, 17837, 12374, + 18961, 16831, 15673, 14749, 19065, 158, + 18961, 16831, 15673, 14749, 19065, 354, + 18961, 16831, 15673, 14749, 19065, 461, 848, + 18961, 16831, 15673, 14749, 19065, 461, 7602, + 18961, 16831, 15673, 14749, 19065, 522, + 18961, 16831, 15673, 14749, 19065, 760, + 18961, 16831, 15673, 14749, 19065, 8598, + 18961, 16831, 15673, 14749, 20109, 18900, + 18961, 16831, 15673, 14763, 14582, + 18961, 16831, 15673, 14763, 15928, + 18961, 16831, 15673, 14791, 2435, 848, + 18961, 16831, 15673, 14791, 2435, 7602, + 18961, 16831, 15673, 14791, 17624, + 18961, 16831, 15673, 14791, 22893, 11896, + 18961, 16831, 15673, 14791, 22893, 17628, + 18961, 16831, 15673, 14877, 15711, 19336, + 18961, 16831, 15673, 14905, 18780, + 18961, 16831, 15673, 14946, + 18961, 16831, 15673, 14947, 848, + 18961, 16831, 15673, 14947, 7602, + 18961, 16831, 15673, 14991, 1253, 16148, + 18961, 16831, 15673, 14991, 6577, 16150, + 18961, 16831, 15673, 14991, 13815, 16148, + 18961, 16831, 15673, 14991, 16519, 16150, + 18961, 16831, 15673, 14991, 18733, 16148, + 18961, 16831, 15673, 15121, 7444, + 18961, 16831, 15673, 15249, 2434, + 18961, 16831, 15673, 15249, 17624, + 18961, 16831, 15673, 15250, + 18961, 16831, 15673, 15281, 17624, + 18961, 16831, 15673, 15335, 2434, + 18961, 16831, 15673, 15335, 17624, + 18961, 16831, 15673, 15394, + 18961, 16831, 15673, 15512, + 18961, 16831, 15673, 15513, 2434, + 18961, 16831, 15673, 15628, + 18961, 16831, 15673, 15706, + 18961, 16831, 15673, 15782, + 18961, 16831, 15673, 15857, 2434, + 18961, 16831, 15673, 15857, 11906, + 18961, 16831, 15673, 15857, 20674, + 18961, 16831, 15673, 15929, 5279, 1253, 17868, + 18961, 16831, 15673, 15929, 19069, 221, 17868, + 18961, 16831, 15673, 15929, 20483, 9161, 17868, + 18961, 16831, 15673, 15929, 20807, 17353, 17868, + 18961, 16831, 15673, 15929, 20960, + 18961, 16831, 15673, 15934, + 18961, 16831, 15673, 16015, 158, + 18961, 16831, 15673, 16015, 244, + 18961, 16831, 15673, 16015, 354, + 18961, 16831, 15673, 16015, 460, + 18961, 16831, 15673, 16015, 522, + 18961, 16831, 15673, 16015, 760, + 18961, 16831, 15673, 16015, 3492, + 18961, 16831, 15673, 16128, + 18961, 16831, 15673, 16250, + 18961, 16831, 15673, 16358, + 18961, 16831, 15673, 16369, 1871, 14749, 3492, + 18961, 16831, 15673, 16510, + 18961, 16831, 15673, 16569, 2435, 848, + 18961, 16831, 15673, 16569, 2435, 7602, + 18961, 16831, 15673, 16569, 2435, 8372, + 18961, 16831, 15673, 16569, 17624, + 18961, 16831, 15673, 16596, + 18961, 16831, 15673, 16599, 2434, + 18961, 16831, 15673, 16599, 5254, + 18961, 16831, 15673, 16599, 17624, + 18961, 16831, 15673, 16604, + 18961, 16831, 15673, 16736, + 18961, 16831, 15673, 17008, + 18961, 16831, 15673, 17010, + 18961, 16831, 15673, 17100, + 18961, 16831, 15673, 17292, + 18961, 16831, 15673, 17293, 17614, + 18961, 16831, 15673, 17325, 2434, + 18961, 16831, 15673, 17325, 8375, 17294, + 18961, 16831, 15673, 17325, 17624, + 18961, 16831, 15673, 17326, + 18961, 16831, 15673, 17352, + 18961, 16831, 15673, 17378, + 18961, 16831, 15673, 17471, 17624, + 18961, 16831, 15673, 17538, + 18961, 16831, 15673, 17613, 2434, + 18961, 16831, 15673, 17613, 17624, + 18961, 16831, 15673, 17616, + 18961, 16831, 15673, 17726, + 18961, 16831, 15673, 17747, 2434, + 18961, 16831, 15673, 17747, 17624, + 18961, 16831, 15673, 17845, 5279, 12734, + 18961, 16831, 15673, 17845, 5279, 15098, + 18961, 16831, 15673, 17845, 11906, + 18961, 16831, 15673, 17845, 17360, + 18961, 16831, 15673, 17850, + 18961, 16831, 15673, 17851, 22893, 11896, + 18961, 16831, 15673, 17851, 22893, 17629, 848, + 18961, 16831, 15673, 17851, 22893, 17629, 7602, + 18961, 16831, 15673, 17853, 250, + 18961, 16831, 15673, 18028, + 18961, 16831, 15673, 18162, + 18961, 16831, 15673, 18210, + 18961, 16831, 15673, 18216, + 18961, 16831, 15673, 18217, 5254, + 18961, 16831, 15673, 18218, + 18961, 16831, 15673, 18220, + 18961, 16831, 15673, 18287, 5253, 15393, 12372, + 18961, 16831, 15673, 18287, 5253, 17835, 12372, + 18961, 16831, 15673, 18287, 13977, 12372, + 18961, 16831, 15673, 18287, 15393, 12372, + 18961, 16831, 15673, 18287, 15787, 12372, + 18961, 16831, 15673, 18287, 16711, 12372, + 18961, 16831, 15673, 18287, 17039, 12372, + 18961, 16831, 15673, 18287, 17039, 18735, 12372, + 18961, 16831, 15673, 18287, 17835, 12372, + 18961, 16831, 15673, 18287, 18735, 12372, + 18961, 16831, 15673, 18287, 18735, 16711, 12372, + 18961, 16831, 15673, 18287, 19798, + 18961, 16831, 15673, 18287, 20345, 12372, + 18961, 16831, 15673, 18432, + 18961, 16831, 15673, 18444, + 18961, 16831, 15673, 18445, 2434, + 18961, 16831, 15673, 18564, + 18961, 16831, 15673, 18601, 14314, + 18961, 16831, 15673, 18601, 14315, 16264, + 18961, 16831, 15673, 18601, 14315, 18778, + 18961, 16831, 15673, 18601, 14315, 20472, + 18961, 16831, 15673, 18601, 17360, + 18961, 16831, 15673, 18601, 17361, 16264, + 18961, 16831, 15673, 18601, 17361, 18778, + 18961, 16831, 15673, 18601, 17361, 20472, + 18961, 16831, 15673, 18736, + 18961, 16831, 15673, 18781, 2434, + 18961, 16831, 15673, 18781, 5254, + 18961, 16831, 15673, 18781, 17624, + 18961, 16831, 15673, 19067, 510, + 18961, 16831, 15673, 19232, + 18961, 16831, 15673, 19255, 17848, + 18961, 16831, 15673, 19255, 20260, + 18961, 16831, 15673, 19255, 20942, + 18961, 16831, 15673, 19344, + 18961, 16831, 15673, 19378, + 18961, 16831, 15673, 19382, + 18961, 16831, 15673, 19383, 2435, 848, + 18961, 16831, 15673, 19383, 2435, 7602, + 18961, 16831, 15673, 19383, 2435, 8372, + 18961, 16831, 15673, 19383, 17624, + 18961, 16831, 15673, 19392, + 18961, 16831, 15673, 19493, 2434, + 18961, 16831, 15673, 19493, 17624, + 18961, 16831, 15673, 19548, + 18961, 16831, 15673, 19549, 2434, + 18961, 16831, 15673, 19764, + 18961, 16831, 15673, 19800, + 18961, 16831, 15673, 19852, + 18961, 16831, 15673, 19853, 11906, + 18961, 16831, 15673, 19870, + 18961, 16831, 15673, 19877, 15711, 19336, + 18961, 16831, 15673, 19877, 19763, 2434, + 18961, 16831, 15673, 19878, + 18961, 16831, 15673, 19879, 2434, + 18961, 16831, 15673, 19879, 11906, + 18961, 16831, 15673, 20102, + 18961, 16831, 15673, 20159, 27, 14294, + 18961, 16831, 15673, 20159, 27, 16262, + 18961, 16831, 15673, 20186, + 18961, 16831, 15673, 20188, + 18961, 16831, 15673, 20841, 2434, + 18961, 16831, 15673, 20841, 17624, + 18961, 16831, 15673, 20842, + 18961, 16831, 15673, 20843, 2434, + 18961, 16831, 15673, 20843, 17624, + 18961, 16831, 15673, 20854, + 18961, 16831, 15673, 20947, 1320, + 18961, 16831, 15673, 20947, 1334, + 18961, 16831, 15673, 20998, + 18961, 16831, 15673, 21098, + 18961, 16831, 15673, 21232, + 18961, 16831, 15673, 21282, + 18961, 16831, 15673, 22984, + 18961, 16831, 15673, 23142, + 18961, 16831, 15673, 23144, + 18961, 16831, 15673, 23250, + 18961, 16831, 15673, 23270, + 18961, 16831, 15673, 23272, + 18961, 16831, 15673, 23280, + 18961, 16831, 15673, 23286, + 18961, 16831, 15673, 23288, + 18961, 16831, 15673, 23444, + 18961, 16831, 15673, 23528, + 18961, 16831, 15673, 23538, + 18962, + 18964, + 18975, 17593, 14999, 178, + 18975, 17593, 14999, 496, + 18975, 17593, 14999, 838, + 18975, 17593, 14999, 852, + 18975, 17593, 14999, 928, + 18975, 17593, 14999, 1016, + 18975, 17593, 14999, 1044, + 18975, 17593, 14999, 1048, + 18975, 17593, 14999, 1136, + 18975, 17593, 14999, 1338, + 18975, 17593, 14999, 1348, + 18975, 17593, 14999, 1510, + 18975, 17593, 14999, 1768, + 18975, 17593, 14999, 1778, + 18975, 17593, 14999, 1884, + 18975, 17593, 14999, 1946, + 18975, 17593, 14999, 2078, + 18975, 17593, 14999, 2248, + 18975, 17593, 14999, 2668, + 18975, 17593, 14999, 2770, + 18975, 17593, 14999, 2774, + 18975, 17593, 14999, 2886, + 18975, 17593, 14999, 3048, + 18975, 17593, 14999, 3212, + 18975, 17593, 14999, 3812, + 18975, 17593, 14999, 5982, + 18975, 17593, 14999, 6018, + 18975, 17593, 14999, 6052, + 18975, 17593, 14999, 6130, + 18975, 17593, 14999, 6132, + 18975, 17593, 14999, 6460, + 18975, 17593, 14999, 6466, + 18975, 17593, 14999, 7158, + 18975, 17593, 14999, 7436, + 18975, 17593, 14999, 7462, + 18975, 17593, 14999, 7476, + 18975, 17593, 14999, 7910, + 18975, 17593, 14999, 8854, + 18975, 17593, 14999, 9274, + 18975, 17593, 14999, 9726, + 18975, 17593, 14999, 9744, + 18975, 17593, 14999, 9800, + 18975, 17593, 14999, 10202, + 18975, 17593, 14999, 10310, + 18975, 17593, 14999, 10538, + 18975, 17593, 14999, 10684, + 18975, 17593, 14999, 10766, + 18975, 17593, 14999, 10818, + 18975, 17593, 14999, 10894, + 18975, 17593, 14999, 10922, + 18975, 17593, 14999, 11946, + 18975, 17593, 14999, 12198, + 18975, 17593, 17757, 8320, + 18979, 3256, + 18983, 6758, + 18985, 896, + 18987, 10228, + 18988, + 18989, 93, 6458, + 18991, 15127, 13220, + 18993, 17700, + 18994, + 18997, 3293, 20385, 11476, + 18997, 9171, 14487, 11476, + 18997, 13341, 843, 7817, 20385, 14312, + 18997, 14497, 14487, 11476, + 18997, 14753, 14487, 11476, + 18997, 16179, 18176, + 18997, 18176, + 18997, 19215, 843, 17463, 9171, 14487, 14312, + 18997, 20375, 843, 19407, 9171, 14487, 14312, + 18997, 20375, 843, 19407, 9171, 14487, 14313, 10641, 16153, 2611, 16950, + 18997, 23305, 9171, 14487, 11476, + 19001, 15672, + 19003, 47, 11392, + 19003, 47, 11552, + 19003, 327, 11552, + 19003, 671, 10087, 11392, + 19003, 671, 10087, 11552, + 19003, 673, 11392, + 19003, 675, 11392, + 19003, 1217, 11392, + 19003, 1217, 11393, 13340, + 19003, 1217, 11552, + 19003, 2175, 7854, + 19003, 2511, 13759, 11392, + 19003, 2607, 15317, 14999, 80, + 19003, 2607, 15317, 14999, 1208, + 19003, 2607, 15317, 14999, 3068, + 19003, 2607, 15317, 14999, 10896, + 19003, 2607, 15317, 14999, 12838, + 19003, 3589, 11552, + 19003, 6435, 10087, 11552, + 19003, 6779, 6431, 11392, + 19003, 7293, 11392, + 19003, 7304, + 19003, 7817, 7123, 9503, 11392, + 19003, 7817, 7123, 9503, 11552, + 19003, 7817, 10087, 11552, + 19003, 7817, 11447, 11392, + 19003, 7817, 11447, 11552, + 19003, 7817, 11477, 11392, + 19003, 7817, 11477, 11552, + 19003, 7817, 13341, 11477, 11392, + 19003, 7817, 13341, 11477, 11552, + 19003, 7817, 16481, 11392, + 19003, 7817, 18907, 11392, + 19003, 7817, 18907, 11552, + 19003, 7883, 14625, 17255, 16950, + 19003, 7883, 15643, 16950, + 19003, 7883, 17255, 16950, + 19003, 7883, 18847, 7855, 16950, + 19003, 9171, 8321, 11552, + 19003, 9287, 9855, 11552, + 19003, 9503, 11392, + 19003, 9503, 11552, + 19003, 9503, 16950, + 19003, 10633, 14409, 11392, + 19003, 11395, 10219, 8320, + 19003, 11395, 14262, + 19003, 11395, 14263, 11552, + 19003, 11596, + 19003, 11597, 11552, + 19003, 11656, + 19003, 11657, 11552, + 19003, 11763, 11392, + 19003, 11763, 11393, 13340, + 19003, 11763, 11552, + 19003, 12233, 10219, 8320, + 19003, 12233, 14262, + 19003, 12233, 14263, 11552, + 19003, 12237, 16596, + 19003, 12237, 16831, 17402, + 19003, 12237, 16831, 19518, + 19003, 12237, 16831, 19778, + 19003, 12237, 19063, 13792, + 19003, 12237, 20854, + 19003, 12237, 22960, + 19003, 12541, 13563, 14999, 0, + 19003, 12541, 13563, 14999, 1, 10641, 19058, + 19003, 12541, 13563, 14999, 2, + 19003, 12541, 13563, 14999, 4, + 19003, 12541, 13563, 14999, 5, 16120, + 19003, 12541, 13563, 14999, 6, + 19003, 12541, 13563, 14999, 8, + 19003, 12541, 13563, 14999, 10, + 19003, 12541, 13563, 14999, 12, + 19003, 12541, 13563, 14999, 14, + 19003, 12541, 13563, 14999, 16, + 19003, 12541, 13563, 14999, 20, + 19003, 12541, 13563, 14999, 22, + 19003, 12541, 13563, 14999, 23, 10641, 14625, 15119, 13758, + 19003, 12541, 13563, 14999, 24, + 19003, 12541, 13563, 14999, 26, + 19003, 12541, 13563, 14999, 28, + 19003, 12541, 13563, 14999, 29, 10641, 12563, 22977, 15642, + 19003, 12541, 13563, 14999, 29, 10641, 19058, + 19003, 12541, 13563, 14999, 30, + 19003, 12541, 13563, 14999, 34, + 19003, 12541, 13563, 14999, 35, 11552, + 19003, 12541, 13563, 14999, 35, 17140, + 19003, 12541, 13563, 14999, 36, + 19003, 12541, 13563, 14999, 38, + 19003, 12541, 13563, 14999, 40, + 19003, 12541, 13563, 14999, 41, 10641, 12563, 22977, 15642, + 19003, 12541, 13563, 14999, 41, 10641, 19058, + 19003, 12541, 13563, 14999, 42, + 19003, 12541, 13563, 14999, 44, + 19003, 12541, 13563, 14999, 46, + 19003, 12541, 13563, 14999, 50, + 19003, 12541, 13563, 14999, 66, + 19003, 12541, 13563, 14999, 82, + 19003, 12541, 13563, 14999, 96, + 19003, 12541, 13563, 14999, 1318, + 19003, 12541, 13563, 14999, 1328, + 19003, 12541, 13563, 14999, 5816, + 19003, 12541, 13563, 14999, 7883, 36, + 19003, 12541, 13563, 14999, 11436, + 19003, 12541, 13563, 14999, 13432, + 19003, 12541, 13563, 14999, 16527, 6, + 19003, 12541, 13563, 14999, 19267, 9171, 1, 11392, + 19003, 12541, 14999, 13563, 16111, 12, + 19003, 12541, 14999, 13563, 16111, 22, + 19003, 12541, 14999, 13563, 16111, 24, + 19003, 12541, 14999, 13563, 16111, 26, + 19003, 12541, 14999, 13563, 16111, 34, + 19003, 12563, 22977, 15643, 11552, + 19003, 12741, 9855, 11552, + 19003, 13341, 7123, 9503, 11392, + 19003, 13341, 7123, 9503, 11552, + 19003, 13341, 10087, 11552, + 19003, 13341, 11477, 11392, + 19003, 13341, 11477, 11552, + 19003, 13341, 16481, 11392, + 19003, 13341, 18907, 843, 671, 18907, 11552, + 19003, 13341, 18907, 843, 6435, 18907, 11552, + 19003, 13341, 18907, 11392, + 19003, 13341, 18907, 11552, + 19003, 13507, 15643, 16950, + 19003, 13507, 17255, 16950, + 19003, 13507, 18847, 7855, 16950, + 19003, 13573, 11552, + 19003, 13737, 6431, 11392, + 19003, 13758, + 19003, 13759, 7817, 7123, 11552, + 19003, 13759, 11552, + 19003, 13759, 13341, 7123, 11552, + 19003, 13759, 16950, + 19003, 14281, 12005, 635, 11392, + 19003, 14281, 12005, 635, 11552, + 19003, 14409, 11392, + 19003, 14409, 11552, + 19003, 14623, 11395, 14262, + 19003, 14623, 12233, 14262, + 19003, 14625, 2175, 7854, + 19003, 14625, 9171, 8321, 11552, + 19003, 14625, 9503, 11552, + 19003, 14625, 11395, 14262, + 19003, 14625, 11596, + 19003, 14625, 11597, 11552, + 19003, 14625, 12233, 14262, + 19003, 14625, 13758, + 19003, 14625, 13759, 7817, 7122, + 19003, 14625, 13759, 13341, 7122, + 19003, 14625, 15050, + 19003, 14625, 15051, 11552, + 19003, 14625, 18183, 11596, + 19003, 14625, 18183, 11597, 11552, + 19003, 14625, 18400, + 19003, 14625, 18847, 7855, 11392, + 19003, 14625, 18847, 7855, 11552, + 19003, 14625, 18847, 15643, 16950, + 19003, 14625, 19921, 11392, + 19003, 14625, 20375, 11477, 11552, + 19003, 14625, 20845, 11392, + 19003, 14647, 9855, 11552, + 19003, 15050, + 19003, 15051, 7817, 7122, + 19003, 15051, 7817, 7123, 11552, + 19003, 15051, 11552, + 19003, 15051, 13341, 7122, + 19003, 15051, 13341, 7123, 11552, + 19003, 15246, + 19003, 15247, 11392, + 19003, 15621, 11552, + 19003, 15645, 22977, 15643, 11552, + 19003, 15781, 1216, + 19003, 15781, 18838, + 19003, 15811, 11763, 11392, + 19003, 15893, 7855, 11552, + 19003, 15945, 11392, + 19003, 15945, 11552, + 19003, 15993, 15672, + 19003, 16120, + 19003, 16337, 19921, 14262, + 19003, 16398, + 19003, 16457, 11905, 2610, + 19003, 16457, 11905, 3076, + 19003, 16457, 11905, 3356, + 19003, 16457, 11905, 6756, + 19003, 16457, 11905, 6778, + 19003, 16457, 11905, 10900, + 19003, 16457, 11905, 13736, + 19003, 16457, 14999, 0, + 19003, 16457, 14999, 350, + 19003, 16457, 14999, 448, + 19003, 16457, 14999, 522, + 19003, 16457, 14999, 684, + 19003, 17123, 17255, 16950, + 19003, 17177, 11552, + 19003, 17463, 11477, 11552, + 19003, 17643, 11392, + 19003, 17643, 11552, + 19003, 17809, 3233, 18311, 9854, + 19003, 17809, 11865, 18468, + 19003, 17809, 13269, 18468, + 19003, 17809, 13774, + 19003, 17809, 13775, 7817, 7122, + 19003, 17809, 13775, 13341, 7122, + 19003, 17809, 14004, + 19003, 17809, 14906, + 19003, 17809, 14999, 0, + 19003, 17809, 14999, 16, + 19003, 17809, 14999, 28, + 19003, 17809, 14999, 40, + 19003, 17809, 14999, 110, + 19003, 17809, 14999, 154, + 19003, 17809, 14999, 186, + 19003, 17809, 14999, 198, + 19003, 17809, 14999, 200, + 19003, 17809, 14999, 202, + 19003, 17809, 14999, 208, + 19003, 17809, 14999, 210, + 19003, 17809, 14999, 266, + 19003, 17809, 14999, 300, + 19003, 17809, 14999, 350, + 19003, 17809, 14999, 528, + 19003, 17809, 14999, 626, + 19003, 17809, 14999, 682, + 19003, 17809, 14999, 738, + 19003, 17809, 14999, 746, + 19003, 17809, 14999, 754, + 19003, 17809, 14999, 947, 3758, + 19003, 17809, 14999, 1046, + 19003, 17809, 14999, 1494, + 19003, 17809, 14999, 3048, + 19003, 17809, 14999, 3310, + 19003, 17809, 14999, 3680, + 19003, 17809, 14999, 3814, + 19003, 17809, 14999, 6754, + 19003, 17809, 14999, 7131, 9854, + 19003, 17809, 14999, 9891, 9854, + 19003, 17809, 14999, 10780, + 19003, 17809, 14999, 11916, + 19003, 17809, 14999, 12012, + 19003, 17809, 14999, 13144, + 19003, 17809, 14999, 13472, + 19003, 17809, 14999, 15031, 3758, + 19003, 17809, 14999, 18185, 0, + 19003, 17809, 14999, 18185, 8, + 19003, 17809, 14999, 18185, 947, 3758, + 19003, 17809, 14999, 19449, 662, + 19003, 17809, 14999, 19815, 300, + 19003, 17809, 16503, 18311, 9854, + 19003, 17809, 16503, 19785, 9854, + 19003, 17809, 16992, + 19003, 17809, 18311, 9854, + 19003, 17809, 18472, + 19003, 17809, 18745, 18311, 9854, + 19003, 17809, 23112, + 19003, 17827, 8320, + 19003, 18113, 14890, + 19003, 18172, + 19003, 18183, 11596, + 19003, 18183, 11597, 11552, + 19003, 18183, 14409, 11552, + 19003, 18183, 14625, 5287, 11552, + 19003, 18249, 7817, 7122, + 19003, 18249, 7817, 7123, 11552, + 19003, 18249, 13341, 7122, + 19003, 18249, 13341, 7123, 11552, + 19003, 18400, + 19003, 18543, 11763, 11392, + 19003, 18847, 7855, 11392, + 19003, 18847, 7855, 11552, + 19003, 18847, 13758, + 19003, 18997, 9503, 16950, + 19003, 18997, 11477, 11392, + 19003, 19058, + 19003, 19059, 11552, + 19003, 19215, 11476, + 19003, 19227, 14486, + 19003, 19227, 14487, 18922, + 19003, 19227, 14924, + 19003, 19227, 15498, + 19003, 19227, 15620, + 19003, 19227, 15847, 18471, 18774, + 19003, 19227, 16248, + 19003, 19407, 11477, 16950, + 19003, 19407, 16481, 10641, 5741, 19214, + 19003, 19587, 7293, 11552, + 19003, 19921, 14262, + 19003, 19921, 14263, 11552, + 19003, 19935, 15050, + 19003, 19935, 15051, 11552, + 19003, 19971, 9855, 17652, + 19003, 19971, 11905, 2610, + 19003, 19971, 11905, 3076, + 19003, 19971, 11905, 3356, + 19003, 19971, 11905, 6756, + 19003, 19971, 11905, 6778, + 19003, 19971, 11905, 8780, + 19003, 19971, 11905, 10900, + 19003, 19971, 11905, 11978, + 19003, 19971, 11905, 13450, + 19003, 19971, 11905, 13736, + 19003, 19971, 14999, 0, + 19003, 19971, 14999, 40, + 19003, 19971, 14999, 350, + 19003, 19971, 14999, 448, + 19003, 19971, 14999, 522, + 19003, 19971, 14999, 572, + 19003, 19971, 14999, 684, + 19003, 20157, 14999, 16, + 19003, 20157, 14999, 742, + 19003, 20157, 14999, 746, + 19003, 20157, 14999, 880, + 19003, 20157, 14999, 947, 3758, + 19003, 20157, 14999, 2616, + 19003, 20157, 14999, 3048, + 19003, 20157, 14999, 3312, + 19003, 20157, 14999, 3394, + 19003, 20157, 14999, 5872, + 19003, 20157, 14999, 6754, + 19003, 20157, 14999, 7152, + 19003, 20157, 14999, 7454, + 19003, 20157, 14999, 7584, + 19003, 20157, 14999, 9804, + 19003, 20157, 14999, 10526, + 19003, 20157, 14999, 10760, + 19003, 20157, 14999, 10778, + 19003, 20157, 14999, 10780, + 19003, 20157, 14999, 11920, + 19003, 20157, 14999, 12118, + 19003, 20157, 14999, 12812, + 19003, 20157, 14999, 13344, + 19003, 20157, 14999, 13560, + 19003, 20157, 14999, 13563, 3758, + 19003, 20157, 14999, 14118, + 19003, 20157, 14999, 14478, + 19003, 20157, 14999, 14594, + 19003, 20157, 14999, 15366, + 19003, 20157, 14999, 15816, + 19003, 20157, 14999, 15938, + 19003, 20157, 14999, 16444, + 19003, 20157, 14999, 16525, 7454, + 19003, 20157, 14999, 16533, 947, 3758, + 19003, 20157, 14999, 16533, 13563, 3758, + 19003, 20157, 14999, 16724, + 19003, 20157, 14999, 16834, + 19003, 20157, 14999, 17540, + 19003, 20179, 11392, + 19003, 20375, 16481, 10641, 5741, 19214, + 19003, 20461, 8320, + 19003, 20552, + 19003, 20835, 7293, 11552, + 19003, 20845, 11392, + 19003, 20845, 11552, + 19003, 20845, 16950, + 19003, 20992, + 19003, 21026, + 19003, 21094, + 19003, 21140, + 19003, 21142, + 19003, 21144, + 19003, 21279, 9503, 16950, + 19003, 21279, 11477, 11392, + 19003, 22980, + 19003, 23448, + 19003, 23454, + 19003, 23459, 15873, 13579, 8320, + 19003, 23459, 20909, 13579, 8320, + 19009, 10641, 1217, 11392, + 19023, 9854, + 19028, + 19030, + 19037, 9855, 0, + 19037, 9855, 1, 13765, 0, + 19037, 9855, 1, 13765, 266, + 19037, 9855, 1, 13765, 884, + 19037, 9855, 1, 13765, 1748, + 19037, 9855, 1, 13765, 3012, + 19037, 9855, 1, 13765, 6927, 10122, + 19037, 9855, 1, 13765, 8490, + 19037, 9855, 1, 13765, 12523, 7070, + 19037, 9855, 8, + 19037, 9855, 9, 9175, 9, 2537, 9175, 2536, + 19037, 9855, 9, 13765, 2646, + 19037, 9855, 16, + 19037, 9855, 17, 0, + 19037, 9855, 40, + 19037, 9855, 41, 40, + 19037, 9855, 41, 41, 40, + 19037, 9855, 41, 1542, + 19037, 9855, 41, 9175, 41, 41, 18543, 9175, 41, 18542, + 19037, 9855, 41, 9175, 41, 523, 9175, 523, 1451, 9175, 1450, + 19037, 9855, 41, 9175, 41, 3143, 9175, 3142, + 19037, 9855, 54, + 19037, 9855, 60, + 19037, 9855, 61, 7070, + 19037, 9855, 61, 13765, 41, 9287, 41, 9287, 40, + 19037, 9855, 61, 13765, 266, + 19037, 9855, 61, 13765, 1442, + 19037, 9855, 61, 13765, 1749, 7070, + 19037, 9855, 61, 13765, 2536, + 19037, 9855, 61, 13765, 2537, 10122, + 19037, 9855, 61, 13765, 5296, + 19037, 9855, 61, 13765, 6447, 7070, + 19037, 9855, 61, 13765, 6927, 10122, + 19037, 9855, 61, 13765, 7426, + 19037, 9855, 61, 13765, 9806, + 19037, 9855, 61, 13765, 12520, + 19037, 9855, 61, 13765, 13484, + 19037, 9855, 64, + 19037, 9855, 65, 13765, 6590, + 19037, 9855, 74, + 19037, 9855, 75, 13765, 12010, + 19037, 9855, 75, 13765, 13499, 9287, 7042, + 19037, 9855, 76, + 19037, 9855, 77, 13765, 76, + 19037, 9855, 77, 13765, 266, + 19037, 9855, 77, 13765, 358, + 19037, 9855, 77, 13765, 3050, + 19037, 9855, 77, 13765, 3426, + 19037, 9855, 77, 13765, 6402, + 19037, 9855, 77, 13765, 7042, + 19037, 9855, 77, 13765, 7572, + 19037, 9855, 80, + 19037, 9855, 81, 9175, 80, + 19037, 9855, 81, 9287, 8591, 17274, + 19037, 9855, 81, 9287, 8591, 18389, 81, 9287, 8590, + 19037, 9855, 81, 13737, 13764, + 19037, 9855, 106, + 19037, 9855, 114, + 19037, 9855, 115, 13765, 0, + 19037, 9855, 115, 13765, 1450, + 19037, 9855, 115, 13765, 1749, 7070, + 19037, 9855, 120, + 19037, 9855, 121, 9175, 121, 60, + 19037, 9855, 121, 9175, 121, 666, + 19037, 9855, 121, 9175, 121, 13765, 2382, + 19037, 9855, 121, 17793, 120, + 19037, 9855, 148, + 19037, 9855, 149, 13765, 10094, + 19037, 9855, 158, + 19037, 9855, 168, + 19037, 9855, 169, 7070, + 19037, 9855, 169, 9175, 168, + 19037, 9855, 169, 17210, + 19037, 9855, 174, + 19037, 9855, 175, 13765, 1, 9287, 267, 9287, 148, + 19037, 9855, 175, 13765, 40, + 19037, 9855, 175, 13765, 430, + 19037, 9855, 175, 13765, 1450, + 19037, 9855, 175, 13765, 2022, + 19037, 9855, 175, 13765, 2646, + 19037, 9855, 175, 13765, 3016, + 19037, 9855, 175, 13765, 3050, + 19037, 9855, 198, + 19037, 9855, 202, + 19037, 9855, 203, 13765, 424, + 19037, 9855, 203, 13765, 6926, + 19037, 9855, 203, 13765, 6927, 10122, + 19037, 9855, 203, 17274, + 19037, 9855, 203, 17793, 202, + 19037, 9855, 203, 18389, 202, + 19037, 9855, 244, + 19037, 9855, 245, 7070, + 19037, 9855, 254, + 19037, 9855, 255, 13765, 8, + 19037, 9855, 255, 13765, 40, + 19037, 9855, 255, 17793, 254, + 19037, 9855, 260, + 19037, 9855, 261, 17793, 260, + 19037, 9855, 266, + 19037, 9855, 267, 7070, + 19037, 9855, 267, 10122, + 19037, 9855, 267, 10123, 7070, + 19037, 9855, 274, + 19037, 9855, 275, 13765, 40, + 19037, 9855, 275, 13765, 864, + 19037, 9855, 275, 13765, 865, 9175, 275, 13765, 864, + 19037, 9855, 275, 13765, 884, + 19037, 9855, 275, 13765, 1432, + 19037, 9855, 275, 13765, 1936, + 19037, 9855, 275, 13765, 2536, + 19037, 9855, 275, 13765, 3050, + 19037, 9855, 275, 13765, 5296, + 19037, 9855, 275, 13765, 6408, + 19037, 9855, 286, + 19037, 9855, 294, + 19037, 9855, 304, + 19037, 9855, 312, + 19037, 9855, 313, 13765, 6927, 10122, + 19037, 9855, 314, + 19037, 9855, 315, 13765, 10094, + 19037, 9855, 315, 17274, + 19037, 9855, 315, 17793, 314, + 19037, 9855, 315, 18389, 314, + 19037, 9855, 316, + 19037, 9855, 324, + 19037, 9855, 350, + 19037, 9855, 351, 13765, 0, + 19037, 9855, 351, 13765, 40, + 19037, 9855, 351, 13765, 41, 41, 40, + 19037, 9855, 351, 13765, 64, + 19037, 9855, 351, 13765, 65, 9287, 2000, + 19037, 9855, 351, 13765, 114, + 19037, 9855, 351, 13765, 120, + 19037, 9855, 351, 13765, 244, + 19037, 9855, 351, 13765, 254, + 19037, 9855, 351, 13765, 260, + 19037, 9855, 351, 13765, 275, 13765, 5296, + 19037, 9855, 351, 13765, 314, + 19037, 9855, 351, 13765, 350, + 19037, 9855, 351, 13765, 358, + 19037, 9855, 351, 13765, 392, + 19037, 9855, 351, 13765, 406, + 19037, 9855, 351, 13765, 424, + 19037, 9855, 351, 13765, 425, 9287, 168, + 19037, 9855, 351, 13765, 425, 9287, 254, + 19037, 9855, 351, 13765, 425, 9287, 626, + 19037, 9855, 351, 13765, 430, + 19037, 9855, 351, 13765, 431, 9287, 13054, + 19037, 9855, 351, 13765, 452, + 19037, 9855, 351, 13765, 522, + 19037, 9855, 351, 13765, 536, + 19037, 9855, 351, 13765, 584, + 19037, 9855, 351, 13765, 588, + 19037, 9855, 351, 13765, 642, + 19037, 9855, 351, 13765, 646, + 19037, 9855, 351, 13765, 654, + 19037, 9855, 351, 13765, 672, + 19037, 9855, 351, 13765, 758, + 19037, 9855, 351, 13765, 884, + 19037, 9855, 351, 13765, 896, + 19037, 9855, 351, 13765, 1442, + 19037, 9855, 351, 13765, 1450, + 19037, 9855, 351, 13765, 1451, 9287, 9737, 9287, 0, + 19037, 9855, 351, 13765, 1542, + 19037, 9855, 351, 13765, 1748, + 19037, 9855, 351, 13765, 1872, + 19037, 9855, 351, 13765, 1928, + 19037, 9855, 351, 13765, 2198, + 19037, 9855, 351, 13765, 2536, + 19037, 9855, 351, 13765, 3026, + 19037, 9855, 351, 13765, 3048, + 19037, 9855, 351, 13765, 3050, + 19037, 9855, 351, 13765, 3056, + 19037, 9855, 351, 13765, 3066, + 19037, 9855, 351, 13765, 3210, + 19037, 9855, 351, 13765, 3412, + 19037, 9855, 351, 13765, 3426, + 19037, 9855, 351, 13765, 5296, + 19037, 9855, 351, 13765, 5298, + 19037, 9855, 351, 13765, 6590, + 19037, 9855, 351, 13765, 6927, 10122, + 19037, 9855, 351, 13765, 7036, + 19037, 9855, 351, 13765, 7042, + 19037, 9855, 351, 13765, 7043, 9287, 3026, + 19037, 9855, 351, 13765, 7043, 17793, 7042, + 19037, 9855, 351, 13765, 7078, + 19037, 9855, 351, 13765, 9770, + 19037, 9855, 351, 13765, 9808, + 19037, 9855, 351, 13765, 10417, 13765, 522, + 19037, 9855, 351, 13765, 11452, + 19037, 9855, 351, 13765, 11518, + 19037, 9855, 351, 13765, 12010, + 19037, 9855, 351, 13765, 13640, + 19037, 9855, 358, + 19037, 9855, 359, 13765, 40, + 19037, 9855, 359, 13765, 654, + 19037, 9855, 359, 13765, 884, + 19037, 9855, 370, + 19037, 9855, 371, 9175, 275, 13765, 5297, 371, 9175, 275, 13765, 5296, + 19037, 9855, 384, + 19037, 9855, 392, + 19037, 9855, 406, + 19037, 9855, 407, 13765, 884, + 19037, 9855, 416, + 19037, 9855, 417, 7070, + 19037, 9855, 417, 13765, 10094, + 19037, 9855, 424, + 19037, 9855, 430, + 19037, 9855, 431, 9287, 3784, + 19037, 9855, 440, + 19037, 9855, 441, 9175, 440, + 19037, 9855, 448, + 19037, 9855, 452, + 19037, 9855, 453, 13765, 0, + 19037, 9855, 453, 13765, 654, + 19037, 9855, 453, 17210, + 19037, 9855, 460, + 19037, 9855, 461, 13765, 8, + 19037, 9855, 472, + 19037, 9855, 522, + 19037, 9855, 536, + 19037, 9855, 537, 13765, 0, + 19037, 9855, 537, 13765, 8, + 19037, 9855, 537, 13765, 16, + 19037, 9855, 537, 13765, 40, + 19037, 9855, 537, 13765, 60, + 19037, 9855, 537, 13765, 114, + 19037, 9855, 537, 13765, 120, + 19037, 9855, 537, 13765, 294, + 19037, 9855, 537, 13765, 646, + 19037, 9855, 537, 17793, 536, + 19037, 9855, 572, + 19037, 9855, 578, + 19037, 9855, 584, + 19037, 9855, 588, + 19037, 9855, 598, + 19037, 9855, 599, 7070, + 19037, 9855, 599, 13765, 10094, + 19037, 9855, 612, + 19037, 9855, 613, 9175, 612, + 19037, 9855, 622, + 19037, 9855, 623, 7070, + 19037, 9855, 623, 13765, 274, + 19037, 9855, 623, 13765, 430, + 19037, 9855, 623, 17642, + 19037, 9855, 626, + 19037, 9855, 627, 7070, + 19037, 9855, 630, + 19037, 9855, 631, 10122, + 19037, 9855, 642, + 19037, 9855, 646, + 19037, 9855, 650, + 19037, 9855, 654, + 19037, 9855, 655, 7070, + 19037, 9855, 655, 13765, 41, 9287, 41, 9287, 40, + 19037, 9855, 655, 13765, 41, 9287, 41, 9287, 41, 7070, + 19037, 9855, 655, 13765, 430, + 19037, 9855, 655, 13765, 884, + 19037, 9855, 655, 14960, + 19037, 9855, 655, 17210, + 19037, 9855, 655, 17211, 13765, 884, + 19037, 9855, 664, + 19037, 9855, 665, 13765, 40, + 19037, 9855, 665, 13765, 424, + 19037, 9855, 665, 13765, 425, 9287, 148, + 19037, 9855, 665, 13765, 9736, + 19037, 9855, 665, 13765, 12520, + 19037, 9855, 666, + 19037, 9855, 667, 7070, + 19037, 9855, 672, + 19037, 9855, 673, 17210, + 19037, 9855, 673, 17793, 672, + 19037, 9855, 752, + 19037, 9855, 753, 10122, + 19037, 9855, 753, 17275, 13765, 2022, + 19037, 9855, 758, + 19037, 9855, 759, 9175, 758, + 19037, 9855, 762, + 19037, 9855, 763, 9175, 763, 9287, 3026, + 19037, 9855, 790, + 19037, 9855, 791, 13765, 0, + 19037, 9855, 791, 13765, 425, 9287, 202, + 19037, 9855, 791, 13765, 6927, 10122, + 19037, 9855, 791, 13765, 9736, + 19037, 9855, 791, 13765, 10094, + 19037, 9855, 791, 13765, 11518, + 19037, 9855, 864, + 19037, 9855, 865, 7569, 10122, + 19037, 9855, 865, 9175, 865, 9175, 864, + 19037, 9855, 865, 9175, 865, 9175, 865, 17793, 865, 9175, 865, 9175, 864, + 19037, 9855, 865, 9175, 865, 10289, 9175, 10289, 10289, 9175, 10289, 2646, + 19037, 9855, 865, 10957, 10122, + 19037, 9855, 884, + 19037, 9855, 885, 13765, 6409, 10122, + 19037, 9855, 890, + 19037, 9855, 891, 9175, 890, + 19037, 9855, 896, + 19037, 9855, 982, + 19037, 9855, 1122, + 19037, 9855, 1123, 13765, 2022, + 19037, 9855, 1123, 14943, 13765, 1, 9287, 8324, + 19037, 9855, 1123, 14943, 13765, 114, + 19037, 9855, 1123, 14943, 13765, 244, + 19037, 9855, 1123, 14943, 13765, 245, 9287, 8324, + 19037, 9855, 1123, 14943, 13765, 254, + 19037, 9855, 1123, 14943, 13765, 266, + 19037, 9855, 1123, 14943, 13765, 324, + 19037, 9855, 1123, 14943, 13765, 325, 9287, 406, + 19037, 9855, 1123, 14943, 13765, 384, + 19037, 9855, 1123, 14943, 13765, 406, + 19037, 9855, 1123, 14943, 13765, 407, 9287, 12668, + 19037, 9855, 1123, 14943, 13765, 452, + 19037, 9855, 1123, 14943, 13765, 598, + 19037, 9855, 1123, 14943, 13765, 647, 9287, 7036, + 19037, 9855, 1123, 14943, 13765, 647, 9287, 8324, + 19037, 9855, 1123, 14943, 13765, 1542, + 19037, 9855, 1123, 14943, 13765, 1872, + 19037, 9855, 1123, 14943, 13765, 2198, + 19037, 9855, 1123, 14943, 13765, 2647, 9287, 2646, + 19037, 9855, 1123, 14943, 13765, 3426, + 19037, 9855, 1123, 14943, 13765, 5262, + 19037, 9855, 1123, 14943, 13765, 7036, + 19037, 9855, 1123, 14943, 13765, 10094, + 19037, 9855, 1123, 14943, 13765, 11518, + 19037, 9855, 1130, + 19037, 9855, 1134, + 19037, 9855, 1174, + 19037, 9855, 1180, + 19037, 9855, 1181, 13765, 41, 41, 40, + 19037, 9855, 1181, 13765, 1748, + 19037, 9855, 1181, 13765, 3050, + 19037, 9855, 1182, + 19037, 9855, 1183, 14903, 41, 7071, 6408, + 19037, 9855, 1222, + 19037, 9855, 1223, 13765, 3050, + 19037, 9855, 1223, 13765, 6590, + 19037, 9855, 1224, + 19037, 9855, 1225, 13765, 244, + 19037, 9855, 1225, 13765, 254, + 19037, 9855, 1225, 13765, 266, + 19037, 9855, 1225, 13765, 274, + 19037, 9855, 1225, 13765, 430, + 19037, 9855, 1225, 13765, 460, + 19037, 9855, 1225, 13765, 536, + 19037, 9855, 1225, 13765, 599, 7070, + 19037, 9855, 1225, 13765, 864, + 19037, 9855, 1225, 13765, 865, 93, 7816, + 19037, 9855, 1225, 13765, 1182, + 19037, 9855, 1225, 13765, 1232, + 19037, 9855, 1225, 13765, 1749, 7070, + 19037, 9855, 1225, 13765, 2022, + 19037, 9855, 1225, 13765, 2076, + 19037, 9855, 1225, 13765, 2077, 13765, 2022, + 19037, 9855, 1225, 13765, 2195, 9287, 7042, + 19037, 9855, 1225, 13765, 2284, + 19037, 9855, 1225, 13765, 3050, + 19037, 9855, 1225, 13765, 7037, 7070, + 19037, 9855, 1225, 13765, 7042, + 19037, 9855, 1225, 13765, 8324, + 19037, 9855, 1225, 13765, 11452, + 19037, 9855, 1225, 13765, 12010, + 19037, 9855, 1225, 13765, 14902, + 19037, 9855, 1225, 13765, 14960, + 19037, 9855, 1225, 13765, 14961, 9287, 14902, + 19037, 9855, 1225, 13765, 16608, + 19037, 9855, 1226, + 19037, 9855, 1232, + 19037, 9855, 1428, + 19037, 9855, 1429, 9175, 1428, + 19037, 9855, 1429, 13765, 1, 9287, 149, 9287, 266, + 19037, 9855, 1429, 13765, 1, 9287, 266, + 19037, 9855, 1429, 13765, 1, 9287, 1748, + 19037, 9855, 1429, 13765, 40, + 19037, 9855, 1429, 13765, 80, + 19037, 9855, 1429, 13765, 81, 9287, 1873, 9287, 0, + 19037, 9855, 1429, 13765, 148, + 19037, 9855, 1429, 13765, 158, + 19037, 9855, 1429, 13765, 198, + 19037, 9855, 1429, 13765, 199, 9287, 384, + 19037, 9855, 1429, 13765, 202, + 19037, 9855, 1429, 13765, 203, 13765, 6927, 10122, + 19037, 9855, 1429, 13765, 244, + 19037, 9855, 1429, 13765, 254, + 19037, 9855, 1429, 13765, 267, 9287, 0, + 19037, 9855, 1429, 13765, 267, 9287, 407, 9287, 6590, + 19037, 9855, 1429, 13765, 275, 9287, 392, + 19037, 9855, 1429, 13765, 384, + 19037, 9855, 1429, 13765, 425, 9287, 202, + 19037, 9855, 1429, 13765, 430, + 19037, 9855, 1429, 13765, 452, + 19037, 9855, 1429, 13765, 453, 9287, 174, + 19037, 9855, 1429, 13765, 453, 9287, 254, + 19037, 9855, 1429, 13765, 522, + 19037, 9855, 1429, 13765, 654, + 19037, 9855, 1429, 13765, 655, 9287, 168, + 19037, 9855, 1429, 13765, 791, 10123, 9287, 3188, + 19037, 9855, 1429, 13765, 864, + 19037, 9855, 1429, 13765, 884, + 19037, 9855, 1429, 13765, 897, 9287, 572, + 19037, 9855, 1429, 13765, 982, + 19037, 9855, 1429, 13765, 983, 9287, 572, + 19037, 9855, 1429, 13765, 1181, 7070, + 19037, 9855, 1429, 13765, 1181, 13765, 3050, + 19037, 9855, 1429, 13765, 1222, + 19037, 9855, 1429, 13765, 1225, 13765, 1749, 7070, + 19037, 9855, 1429, 13765, 1225, 13765, 14902, + 19037, 9855, 1429, 13765, 1450, + 19037, 9855, 1429, 13765, 1451, 9287, 158, + 19037, 9855, 1429, 13765, 1451, 9287, 452, + 19037, 9855, 1429, 13765, 1504, + 19037, 9855, 1429, 13765, 1505, 9287, 0, + 19037, 9855, 1429, 13765, 1586, + 19037, 9855, 1429, 13765, 1587, 9287, 384, + 19037, 9855, 1429, 13765, 1749, 7070, + 19037, 9855, 1429, 13765, 1773, 9287, 287, 9287, 864, + 19037, 9855, 1429, 13765, 1872, + 19037, 9855, 1429, 13765, 1928, + 19037, 9855, 1429, 13765, 1929, 9287, 2074, + 19037, 9855, 1429, 13765, 2001, 9287, 80, + 19037, 9855, 1429, 13765, 2076, + 19037, 9855, 1429, 13765, 2077, 13765, 2022, + 19037, 9855, 1429, 13765, 2194, + 19037, 9855, 1429, 13765, 2536, + 19037, 9855, 1429, 13765, 2537, 9175, 2536, + 19037, 9855, 1429, 13765, 3016, + 19037, 9855, 1429, 13765, 3026, + 19037, 9855, 1429, 13765, 3050, + 19037, 9855, 1429, 13765, 3051, 9287, 3344, + 19037, 9855, 1429, 13765, 3134, + 19037, 9855, 1429, 13765, 5296, + 19037, 9855, 1429, 13765, 5297, 9287, 1442, + 19037, 9855, 1429, 13765, 6582, + 19037, 9855, 1429, 13765, 6927, 10122, + 19037, 9855, 1429, 13765, 7037, 9287, 612, + 19037, 9855, 1429, 13765, 7316, + 19037, 9855, 1429, 13765, 8490, + 19037, 9855, 1429, 13765, 9770, + 19037, 9855, 1429, 13765, 9774, + 19037, 9855, 1429, 13765, 10094, + 19037, 9855, 1429, 13765, 10962, + 19037, 9855, 1429, 13765, 14338, + 19037, 9855, 1429, 13765, 14902, + 19037, 9855, 1429, 13765, 14961, 9287, 14902, + 19037, 9855, 1432, + 19037, 9855, 1433, 9175, 1433, 1451, 9175, 1450, + 19037, 9855, 1442, + 19037, 9855, 1443, 1433, 9175, 1433, 1451, 9175, 1450, + 19037, 9855, 1444, + 19037, 9855, 1446, + 19037, 9855, 1450, + 19037, 9855, 1504, + 19037, 9855, 1505, 9175, 1504, + 19037, 9855, 1505, 17793, 1504, + 19037, 9855, 1508, + 19037, 9855, 1538, + 19037, 9855, 1539, 7070, + 19037, 9855, 1539, 13765, 1749, 7070, + 19037, 9855, 1539, 13765, 1872, + 19037, 9855, 1539, 13765, 1873, 13765, 1749, 7070, + 19037, 9855, 1539, 13765, 2536, + 19037, 9855, 1539, 13765, 3017, 9287, 10288, + 19037, 9855, 1542, + 19037, 9855, 1543, 9175, 1543, 12592, + 19037, 9855, 1543, 9287, 7043, 13765, 10094, + 19037, 9855, 1543, 13765, 1, 9287, 2022, + 19037, 9855, 1543, 13765, 2022, + 19037, 9855, 1546, + 19037, 9855, 1548, + 19037, 9855, 1549, 13765, 3050, + 19037, 9855, 1554, + 19037, 9855, 1586, + 19037, 9855, 1748, + 19037, 9855, 1749, 578, + 19037, 9855, 1749, 1174, + 19037, 9855, 1749, 7070, + 19037, 9855, 1749, 9175, 1749, 9783, 9175, 9783, 655, 9175, 654, + 19037, 9855, 1750, + 19037, 9855, 1772, + 19037, 9855, 1858, + 19037, 9855, 1859, 17793, 1858, + 19037, 9855, 1862, + 19037, 9855, 1872, + 19037, 9855, 1873, 13765, 1749, 7070, + 19037, 9855, 1874, + 19037, 9855, 1875, 13765, 884, + 19037, 9855, 1875, 17793, 1874, + 19037, 9855, 1881, 16360, + 19037, 9855, 1928, + 19037, 9855, 1936, + 19037, 9855, 2000, + 19037, 9855, 2002, + 19037, 9855, 2003, 17473, 6776, + 19037, 9855, 2004, + 19037, 9855, 2012, + 19037, 9855, 2013, 7070, + 19037, 9855, 2014, + 19037, 9855, 2022, + 19037, 9855, 2023, 18389, 2022, + 19037, 9855, 2074, + 19037, 9855, 2075, 13765, 2074, + 19037, 9855, 2076, + 19037, 9855, 2077, 13765, 2022, + 19037, 9855, 2077, 13765, 2023, 9287, 584, + 19037, 9855, 2138, + 19037, 9855, 2186, + 19037, 9855, 2187, 7071, 13765, 864, + 19037, 9855, 2187, 10122, + 19037, 9855, 2187, 13765, 76, + 19037, 9855, 2187, 13765, 275, 13765, 884, + 19037, 9855, 2187, 13765, 314, + 19037, 9855, 2187, 13765, 358, + 19037, 9855, 2187, 13765, 385, 9287, 864, + 19037, 9855, 2187, 13765, 425, 9287, 202, + 19037, 9855, 2187, 13765, 452, + 19037, 9855, 2187, 13765, 472, + 19037, 9855, 2187, 13765, 599, 9287, 864, + 19037, 9855, 2187, 13765, 884, + 19037, 9855, 2187, 13765, 1586, + 19037, 9855, 2187, 13765, 2646, + 19037, 9855, 2187, 13765, 2647, 9287, 2647, 9287, 2188, + 19037, 9855, 2187, 13765, 3056, + 19037, 9855, 2187, 13765, 6408, + 19037, 9855, 2187, 13765, 6590, + 19037, 9855, 2187, 13765, 6591, 9287, 2074, + 19037, 9855, 2187, 13765, 6591, 10122, + 19037, 9855, 2187, 13765, 6927, 10122, + 19037, 9855, 2187, 13765, 7570, + 19037, 9855, 2187, 13765, 7572, + 19037, 9855, 2187, 13765, 7573, 9287, 864, + 19037, 9855, 2187, 13765, 9857, 9287, 120, + 19037, 9855, 2187, 13765, 10094, + 19037, 9855, 2187, 13765, 10288, + 19037, 9855, 2187, 13765, 12520, + 19037, 9855, 2187, 17210, + 19037, 9855, 2187, 17211, 13765, 884, + 19037, 9855, 2187, 17274, + 19037, 9855, 2187, 17793, 2186, + 19037, 9855, 2187, 18389, 2186, + 19037, 9855, 2188, + 19037, 9855, 2194, + 19037, 9855, 2196, + 19037, 9855, 2198, + 19037, 9855, 2199, 9175, 2198, + 19037, 9855, 2199, 9175, 2199, 1451, 9175, 1450, + 19037, 9855, 2232, + 19037, 9855, 2238, + 19037, 9855, 2250, + 19037, 9855, 2284, + 19037, 9855, 2314, + 19037, 9855, 2344, + 19037, 9855, 2345, 7070, + 19037, 9855, 2382, + 19037, 9855, 2384, + 19037, 9855, 2394, + 19037, 9855, 2395, 16906, + 19037, 9855, 2458, + 19037, 9855, 2468, + 19037, 9855, 2469, 13765, 1451, 9287, 6927, 10122, + 19037, 9855, 2469, 13765, 6927, 10122, + 19037, 9855, 2470, + 19037, 9855, 2536, + 19037, 9855, 2537, 9175, 2536, + 19037, 9855, 2537, 10122, + 19037, 9855, 2537, 12523, 13765, 1450, + 19037, 9855, 2537, 12523, 13765, 3016, + 19037, 9855, 2537, 12523, 13765, 3017, 9175, 2537, 12523, 13765, 3016, + 19037, 9855, 2537, 12523, 13765, 3426, + 19037, 9855, 2537, 12523, 13765, 8324, + 19037, 9855, 2537, 17793, 2536, + 19037, 9855, 2537, 17793, 2537, 12523, 9175, 12522, + 19037, 9855, 2638, + 19037, 9855, 2642, + 19037, 9855, 2646, + 19037, 9855, 2868, + 19037, 9855, 3012, + 19037, 9855, 3013, 7070, + 19037, 9855, 3013, 7071, 13765, 266, + 19037, 9855, 3013, 9175, 3012, + 19037, 9855, 3013, 13765, 0, + 19037, 9855, 3013, 13765, 168, + 19037, 9855, 3013, 13765, 202, + 19037, 9855, 3013, 13765, 266, + 19037, 9855, 3013, 13765, 430, + 19037, 9855, 3013, 13765, 646, + 19037, 9855, 3013, 13765, 650, + 19037, 9855, 3013, 13765, 664, + 19037, 9855, 3013, 13765, 672, + 19037, 9855, 3013, 13765, 1222, + 19037, 9855, 3013, 13765, 1749, 7070, + 19037, 9855, 3013, 13765, 1872, + 19037, 9855, 3013, 13765, 2022, + 19037, 9855, 3013, 13765, 2198, + 19037, 9855, 3013, 13765, 2536, + 19037, 9855, 3013, 13765, 3016, + 19037, 9855, 3013, 13765, 3051, 93, 7816, + 19037, 9855, 3013, 13765, 3188, + 19037, 9855, 3013, 13765, 3426, + 19037, 9855, 3013, 13765, 9770, + 19037, 9855, 3013, 13765, 10094, + 19037, 9855, 3013, 16906, + 19037, 9855, 3016, + 19037, 9855, 3017, 12521, 13765, 5296, + 19037, 9855, 3026, + 19037, 9855, 3048, + 19037, 9855, 3050, + 19037, 9855, 3051, 286, + 19037, 9855, 3051, 9175, 3050, + 19037, 9855, 3051, 9175, 3051, 1433, 9175, 1433, 1451, 9175, 1450, + 19037, 9855, 3051, 9175, 3051, 3189, 9175, 3189, 1451, 9175, 1450, + 19037, 9855, 3051, 9287, 3026, + 19037, 9855, 3051, 9287, 7316, + 19037, 9855, 3051, 9287, 8594, + 19037, 9855, 3056, + 19037, 9855, 3057, 9175, 18183, 3056, + 19037, 9855, 3066, + 19037, 9855, 3130, + 19037, 9855, 3134, + 19037, 9855, 3142, + 19037, 9855, 3188, + 19037, 9855, 3189, 9175, 3189, 461, 9175, 461, 6409, 9175, 6408, + 19037, 9855, 3189, 17274, + 19037, 9855, 3192, + 19037, 9855, 3193, 13765, 114, + 19037, 9855, 3193, 13765, 654, + 19037, 9855, 3193, 13765, 1542, + 19037, 9855, 3193, 13765, 3050, + 19037, 9855, 3193, 13765, 3056, + 19037, 9855, 3193, 13765, 10288, + 19037, 9855, 3210, + 19037, 9855, 3254, + 19037, 9855, 3260, + 19037, 9855, 3266, + 19037, 9855, 3267, 9175, 3266, + 19037, 9855, 3267, 9175, 3267, 1433, 9175, 1433, 1451, 9175, 1450, + 19037, 9855, 3267, 13765, 10094, + 19037, 9855, 3336, + 19037, 9855, 3338, + 19037, 9855, 3339, 13765, 6927, 10122, + 19037, 9855, 3339, 13765, 13737, 6408, + 19037, 9855, 3344, + 19037, 9855, 3345, 9175, 3345, 753, 9175, 752, + 19037, 9855, 3412, + 19037, 9855, 3413, 13765, 1, 9287, 266, + 19037, 9855, 3413, 13765, 1, 9287, 448, + 19037, 9855, 3413, 13765, 76, + 19037, 9855, 3413, 13765, 266, + 19037, 9855, 3413, 13765, 646, + 19037, 9855, 3413, 13765, 647, 9287, 114, + 19037, 9855, 3413, 13765, 647, 9287, 864, + 19037, 9855, 3413, 13765, 654, + 19037, 9855, 3413, 13765, 2536, + 19037, 9855, 3413, 18182, + 19037, 9855, 3414, + 19037, 9855, 3418, + 19037, 9855, 3422, + 19037, 9855, 3423, 13765, 0, + 19037, 9855, 3423, 13765, 41, 9287, 1542, + 19037, 9855, 3423, 13765, 244, + 19037, 9855, 3423, 13765, 260, + 19037, 9855, 3423, 13765, 266, + 19037, 9855, 3423, 13765, 314, + 19037, 9855, 3423, 13765, 358, + 19037, 9855, 3423, 13765, 522, + 19037, 9855, 3423, 13765, 642, + 19037, 9855, 3423, 13765, 654, + 19037, 9855, 3423, 13765, 896, + 19037, 9855, 3423, 13765, 1232, + 19037, 9855, 3423, 13765, 1442, + 19037, 9855, 3423, 13765, 1450, + 19037, 9855, 3423, 13765, 1748, + 19037, 9855, 3423, 13765, 1772, + 19037, 9855, 3423, 13765, 2188, + 19037, 9855, 3423, 13765, 2198, + 19037, 9855, 3423, 13765, 2314, + 19037, 9855, 3423, 13765, 3050, + 19037, 9855, 3423, 13765, 6927, 10122, + 19037, 9855, 3423, 13765, 9852, + 19037, 9855, 3423, 13765, 11858, + 19037, 9855, 3423, 13765, 13892, + 19037, 9855, 3423, 13765, 14324, + 19037, 9855, 3423, 13765, 16692, + 19037, 9855, 3426, + 19037, 9855, 3427, 13765, 0, + 19037, 9855, 3427, 13765, 370, + 19037, 9855, 3427, 13765, 2022, + 19037, 9855, 3427, 13765, 10094, + 19037, 9855, 3434, + 19037, 9855, 3435, 13765, 14902, + 19037, 9855, 3436, + 19037, 9855, 3784, + 19037, 9855, 3788, + 19037, 9855, 3802, + 19037, 9855, 3824, + 19037, 9855, 3826, + 19037, 9855, 3827, 7569, 10122, + 19037, 9855, 3830, + 19037, 9855, 3856, + 19037, 9855, 3857, 13765, 0, + 19037, 9855, 3857, 13765, 13737, 6409, 10122, + 19037, 9855, 3858, + 19037, 9855, 5244, + 19037, 9855, 5262, + 19037, 9855, 5263, 13765, 2010, + 19037, 9855, 5263, 13765, 3050, + 19037, 9855, 5276, + 19037, 9855, 5284, + 19037, 9855, 5285, 13765, 2022, + 19037, 9855, 5296, + 19037, 9855, 5722, + 19037, 9855, 5886, + 19037, 9855, 6272, + 19037, 9855, 6402, + 19037, 9855, 6403, 13765, 654, + 19037, 9855, 6408, + 19037, 9855, 6409, 9287, 3056, + 19037, 9855, 6442, + 19037, 9855, 6446, + 19037, 9855, 6447, 7070, + 19037, 9855, 6447, 7071, 7070, + 19037, 9855, 6448, + 19037, 9855, 6454, + 19037, 9855, 6562, + 19037, 9855, 6564, + 19037, 9855, 6582, + 19037, 9855, 6590, + 19037, 9855, 6591, 17793, 6590, + 19037, 9855, 6608, + 19037, 9855, 6609, 13765, 0, + 19037, 9855, 6609, 13765, 1, 9287, 2074, + 19037, 9855, 6609, 13765, 1, 9287, 2075, 13765, 2074, + 19037, 9855, 6609, 13765, 80, + 19037, 9855, 6609, 13765, 266, + 19037, 9855, 6609, 13765, 267, 7070, + 19037, 9855, 6609, 13765, 384, + 19037, 9855, 6609, 13765, 392, + 19037, 9855, 6609, 13765, 406, + 19037, 9855, 6609, 13765, 612, + 19037, 9855, 6609, 13765, 646, + 19037, 9855, 6609, 13765, 654, + 19037, 9855, 6609, 13765, 884, + 19037, 9855, 6609, 13765, 1542, + 19037, 9855, 6609, 13765, 1749, 7070, + 19037, 9855, 6609, 13765, 2000, + 19037, 9855, 6609, 13765, 2075, 13765, 2074, + 19037, 9855, 6609, 13765, 3050, + 19037, 9855, 6609, 13765, 6447, 7070, + 19037, 9855, 6609, 13765, 6447, 7071, 7070, + 19037, 9855, 6609, 13765, 14902, + 19037, 9855, 6609, 13765, 14903, 17274, + 19037, 9855, 6609, 17211, 13765, 274, + 19037, 9855, 6609, 17211, 13765, 384, + 19037, 9855, 6609, 17211, 13765, 424, + 19037, 9855, 6609, 17211, 13765, 612, + 19037, 9855, 6609, 17211, 13765, 864, + 19037, 9855, 6609, 17211, 13765, 1749, 7070, + 19037, 9855, 6609, 17211, 13765, 2074, + 19037, 9855, 6609, 17211, 13765, 2284, + 19037, 9855, 6918, + 19037, 9855, 6919, 17139, 15195, 16234, + 19037, 9855, 6919, 17793, 6918, + 19037, 9855, 6926, + 19037, 9855, 6927, 9175, 6926, + 19037, 9855, 6927, 10122, + 19037, 9855, 6927, 17793, 6926, + 19037, 9855, 6928, + 19037, 9855, 6948, + 19037, 9855, 7036, + 19037, 9855, 7037, 7070, + 19037, 9855, 7038, + 19037, 9855, 7039, 13765, 1, 9287, 1748, + 19037, 9855, 7039, 13765, 407, 9287, 1748, + 19037, 9855, 7039, 13765, 522, + 19037, 9855, 7039, 13765, 1748, + 19037, 9855, 7039, 13765, 6927, 10122, + 19037, 9855, 7042, + 19037, 9855, 7043, 10122, + 19037, 9855, 7043, 13765, 884, + 19037, 9855, 7043, 13765, 7043, 17793, 7042, + 19037, 9855, 7043, 13765, 10094, + 19037, 9855, 7043, 17793, 7042, + 19037, 9855, 7078, + 19037, 9855, 7316, + 19037, 9855, 7317, 13765, 80, + 19037, 9855, 7317, 13765, 654, + 19037, 9855, 7317, 13765, 1586, + 19037, 9855, 7317, 13765, 7866, + 19037, 9855, 7317, 13765, 14902, + 19037, 9855, 7318, + 19037, 9855, 7330, + 19037, 9855, 7416, + 19037, 9855, 7417, 9175, 7417, 982, + 19037, 9855, 7417, 9175, 7417, 17274, + 19037, 9855, 7426, + 19037, 9855, 7570, + 19037, 9855, 7572, + 19037, 9855, 7574, + 19037, 9855, 7576, + 19037, 9855, 7577, 9175, 7576, + 19037, 9855, 7586, + 19037, 9855, 7588, + 19037, 9855, 7676, + 19037, 9855, 7866, + 19037, 9855, 8324, + 19037, 9855, 8368, + 19037, 9855, 8490, + 19037, 9855, 8491, 9175, 8490, + 19037, 9855, 8491, 9175, 8491, 13765, 1, 9287, 448, + 19037, 9855, 8491, 9175, 8491, 13765, 244, + 19037, 9855, 8491, 9175, 8491, 13765, 1872, + 19037, 9855, 8491, 13765, 0, + 19037, 9855, 8491, 13765, 752, + 19037, 9855, 8491, 13765, 2022, + 19037, 9855, 8491, 17793, 8490, + 19037, 9855, 8590, + 19037, 9855, 8591, 13765, 3057, 10122, + 19037, 9855, 8591, 18182, + 19037, 9855, 8591, 18389, 8590, + 19037, 9855, 8594, + 19037, 9855, 8778, + 19037, 9855, 8920, + 19037, 9855, 8921, 9175, 8921, 983, 9175, 982, + 19037, 9855, 8921, 10122, + 19037, 9855, 8921, 17139, 15195, 16234, + 19037, 9855, 9272, + 19037, 9855, 9736, + 19037, 9855, 9737, 13765, 0, + 19037, 9855, 9737, 13765, 40, + 19037, 9855, 9737, 13765, 41, 9287, 0, + 19037, 9855, 9737, 13765, 452, + 19037, 9855, 9737, 13765, 884, + 19037, 9855, 9737, 13765, 3344, + 19037, 9855, 9737, 13765, 7042, + 19037, 9855, 9737, 13765, 9806, + 19037, 9855, 9738, + 19037, 9855, 9739, 10122, + 19037, 9855, 9760, + 19037, 9855, 9770, + 19037, 9855, 9771, 13765, 0, + 19037, 9855, 9771, 13765, 314, + 19037, 9855, 9774, + 19037, 9855, 9775, 13765, 0, + 19037, 9855, 9775, 13765, 890, + 19037, 9855, 9775, 13765, 1182, + 19037, 9855, 9775, 13765, 1450, + 19037, 9855, 9775, 13765, 1748, + 19037, 9855, 9775, 13765, 1749, 7070, + 19037, 9855, 9775, 13765, 2196, + 19037, 9855, 9775, 13765, 2344, + 19037, 9855, 9775, 13765, 3016, + 19037, 9855, 9775, 13765, 11618, + 19037, 9855, 9775, 13765, 14960, + 19037, 9855, 9782, + 19037, 9855, 9783, 9175, 9783, 983, 9175, 982, + 19037, 9855, 9783, 10122, + 19037, 9855, 9806, + 19037, 9855, 9807, 9287, 175, 13765, 80, + 19037, 9855, 9807, 9287, 1225, 13765, 460, + 19037, 9855, 9852, + 19037, 9855, 9853, 9175, 9853, 9806, + 19037, 9855, 9856, + 19037, 9855, 9968, + 19037, 9855, 9980, + 19037, 9855, 10094, + 19037, 9855, 10095, 9287, 3012, + 19037, 9855, 10288, + 19037, 9855, 10414, + 19037, 9855, 10416, + 19037, 9855, 10417, 13765, 522, + 19037, 9855, 10417, 13765, 14902, + 19037, 9855, 10424, + 19037, 9855, 10432, + 19037, 9855, 10434, + 19037, 9855, 10892, + 19037, 9855, 10962, + 19037, 9855, 11424, + 19037, 9855, 11452, + 19037, 9855, 11472, + 19037, 9855, 11478, + 19037, 9855, 11518, + 19037, 9855, 11522, + 19037, 9855, 11618, + 19037, 9855, 11619, 9175, 11618, + 19037, 9855, 11858, + 19037, 9855, 11860, + 19037, 9855, 11938, + 19037, 9855, 12010, + 19037, 9855, 12011, 46, + 19037, 9855, 12148, + 19037, 9855, 12202, + 19037, 9855, 12210, + 19037, 9855, 12244, + 19037, 9855, 12458, + 19037, 9855, 12482, + 19037, 9855, 12520, + 19037, 9855, 12521, 13765, 0, + 19037, 9855, 12521, 13765, 1, 9287, 149, 9287, 266, + 19037, 9855, 12521, 13765, 1, 9287, 1450, + 19037, 9855, 12521, 13765, 1, 9287, 2074, + 19037, 9855, 12521, 13765, 40, + 19037, 9855, 12521, 13765, 41, 9287, 0, + 19037, 9855, 12521, 13765, 41, 9287, 41, 9287, 40, + 19037, 9855, 12521, 13765, 76, + 19037, 9855, 12521, 13765, 80, + 19037, 9855, 12521, 13765, 114, + 19037, 9855, 12521, 13765, 202, + 19037, 9855, 12521, 13765, 244, + 19037, 9855, 12521, 13765, 254, + 19037, 9855, 12521, 13765, 266, + 19037, 9855, 12521, 13765, 275, 13765, 2536, + 19037, 9855, 12521, 13765, 314, + 19037, 9855, 12521, 13765, 315, 9287, 266, + 19037, 9855, 12521, 13765, 315, 9287, 406, + 19037, 9855, 12521, 13765, 358, + 19037, 9855, 12521, 13765, 406, + 19037, 9855, 12521, 13765, 424, + 19037, 9855, 12521, 13765, 425, 9287, 202, + 19037, 9855, 12521, 13765, 452, + 19037, 9855, 12521, 13765, 627, 9287, 1, 9287, 613, 9287, 448, + 19037, 9855, 12521, 13765, 647, 9287, 864, + 19037, 9855, 12521, 13765, 654, + 19037, 9855, 12521, 13765, 763, 9175, 762, + 19037, 9855, 12521, 13765, 865, 10957, 10122, + 19037, 9855, 12521, 13765, 884, + 19037, 9855, 12521, 13765, 1134, + 19037, 9855, 12521, 13765, 1450, + 19037, 9855, 12521, 13765, 1542, + 19037, 9855, 12521, 13765, 1543, 9287, 1542, + 19037, 9855, 12521, 13765, 1586, + 19037, 9855, 12521, 13765, 1749, 7070, + 19037, 9855, 12521, 13765, 1936, + 19037, 9855, 12521, 13765, 2000, + 19037, 9855, 12521, 13765, 2012, + 19037, 9855, 12521, 13765, 2013, 9287, 275, 9287, 0, + 19037, 9855, 12521, 13765, 2196, + 19037, 9855, 12521, 13765, 3051, 9287, 3134, + 19037, 9855, 12521, 13765, 3134, + 19037, 9855, 12521, 13765, 3192, + 19037, 9855, 12521, 13765, 3426, + 19037, 9855, 12521, 13765, 7866, + 19037, 9855, 12521, 13765, 8490, + 19037, 9855, 12521, 13765, 9806, + 19037, 9855, 12521, 13765, 9807, 9287, 9806, + 19037, 9855, 12521, 13765, 10094, + 19037, 9855, 12521, 13765, 12520, + 19037, 9855, 12521, 13765, 13499, 9287, 7043, 9287, 12010, + 19037, 9855, 12521, 13765, 13499, 9287, 7043, 10122, + 19037, 9855, 12521, 17274, + 19037, 9855, 12522, + 19037, 9855, 12523, 7070, + 19037, 9855, 12523, 7071, 9175, 12523, 7071, 3050, + 19037, 9855, 12523, 13765, 3050, + 19037, 9855, 12523, 13765, 3051, 9287, 3134, + 19037, 9855, 12592, + 19037, 9855, 12593, 9175, 12592, + 19037, 9855, 12593, 17210, + 19037, 9855, 12593, 18389, 12592, + 19037, 9855, 12668, + 19037, 9855, 12782, + 19037, 9855, 12783, 7070, + 19037, 9855, 12783, 13765, 0, + 19037, 9855, 12783, 13765, 1, 9287, 158, + 19037, 9855, 12783, 13765, 158, + 19037, 9855, 12783, 13765, 752, + 19037, 9855, 12804, + 19037, 9855, 12892, + 19037, 9855, 13054, + 19037, 9855, 13055, 791, 13765, 114, + 19037, 9855, 13055, 791, 13765, 384, + 19037, 9855, 13055, 791, 13765, 452, + 19037, 9855, 13055, 791, 13765, 646, + 19037, 9855, 13055, 791, 13765, 1224, + 19037, 9855, 13055, 791, 13765, 1542, + 19037, 9855, 13055, 791, 13765, 1749, 7070, + 19037, 9855, 13055, 791, 13765, 7572, + 19037, 9855, 13055, 791, 13765, 13534, + 19037, 9855, 13055, 791, 13765, 14324, + 19037, 9855, 13055, 14943, 13765, 114, + 19037, 9855, 13055, 14943, 13765, 115, 40, + 19037, 9855, 13218, + 19037, 9855, 13219, 17642, + 19037, 9855, 13234, + 19037, 9855, 13235, 13765, 654, + 19037, 9855, 13235, 13765, 752, + 19037, 9855, 13235, 13765, 1874, + 19037, 9855, 13235, 18389, 13234, + 19037, 9855, 13452, + 19037, 9855, 13462, + 19037, 9855, 13478, + 19037, 9855, 13484, + 19037, 9855, 13498, + 19037, 9855, 13534, + 19037, 9855, 13640, + 19037, 9855, 13878, + 19037, 9855, 13892, + 19037, 9855, 13893, 13765, 40, + 19037, 9855, 13896, + 19037, 9855, 14216, + 19037, 9855, 14324, + 19037, 9855, 14338, + 19037, 9855, 14339, 13765, 460, + 19037, 9855, 14339, 13765, 752, + 19037, 9855, 14339, 13765, 790, + 19037, 9855, 14756, + 19037, 9855, 14806, + 19037, 9855, 14902, + 19037, 9855, 14903, 9175, 14903, 12521, 13765, 41, 9175, 12521, 13765, 40, + 19037, 9855, 14903, 12521, 13765, 41, 9175, 12521, 13765, 40, + 19037, 9855, 14942, + 19037, 9855, 14943, 9175, 14942, + 19037, 9855, 14960, + 19037, 9855, 14962, + 19037, 9855, 14972, + 19037, 9855, 15008, + 19037, 9855, 15144, + 19037, 9855, 15150, + 19037, 9855, 15192, + 19037, 9855, 15193, 13765, 40, + 19037, 9855, 15193, 13765, 41, 9287, 40, + 19037, 9855, 15193, 13765, 80, + 19037, 9855, 15193, 13765, 254, + 19037, 9855, 15193, 13765, 274, + 19037, 9855, 15193, 13765, 425, 9287, 6927, 10122, + 19037, 9855, 15193, 13765, 452, + 19037, 9855, 15193, 13765, 647, 9287, 864, + 19037, 9855, 15193, 13765, 864, + 19037, 9855, 15193, 13765, 865, 9287, 864, + 19037, 9855, 15193, 13765, 890, + 19037, 9855, 15193, 13765, 1181, 7070, + 19037, 9855, 15193, 13765, 1542, + 19037, 9855, 15193, 13765, 1546, + 19037, 9855, 15193, 13765, 2536, + 19037, 9855, 15193, 13765, 2647, 9287, 2646, + 19037, 9855, 15193, 13765, 3050, + 19037, 9855, 15193, 13765, 3051, 9287, 1, 80, + 19037, 9855, 15193, 13765, 3051, 9287, 864, + 19037, 9855, 15193, 13765, 3051, 9287, 865, 9287, 864, + 19037, 9855, 15193, 13765, 3426, + 19037, 9855, 15193, 13765, 7042, + 19037, 9855, 15193, 13765, 8324, + 19037, 9855, 15193, 13765, 12458, + 19037, 9855, 15193, 13765, 13892, + 19037, 9855, 15193, 13765, 16616, + 19037, 9855, 15484, + 19037, 9855, 15538, + 19037, 9855, 15548, + 19037, 9855, 15562, + 19037, 9855, 15656, + 19037, 9855, 15850, + 19037, 9855, 16434, + 19037, 9855, 16435, 13765, 40, + 19037, 9855, 16435, 13765, 2022, + 19037, 9855, 16606, + 19037, 9855, 16610, + 19037, 9855, 16612, + 19037, 9855, 16614, + 19037, 9855, 16616, + 19037, 9855, 16618, + 19037, 9855, 16620, + 19037, 9855, 16623, 9175, 16623, 7070, + 19037, 9855, 16624, + 19037, 9855, 16627, 9175, 16626, + 19037, 9855, 16628, + 19037, 9855, 16630, + 19037, 9855, 16632, + 19037, 9855, 16634, + 19037, 9855, 16636, + 19037, 9855, 16638, + 19037, 9855, 16640, + 19037, 9855, 16642, + 19037, 9855, 16644, + 19037, 9855, 16646, + 19037, 9855, 16648, + 19037, 9855, 16650, + 19037, 9855, 16652, + 19037, 9855, 16654, + 19037, 9855, 16656, + 19037, 9855, 16658, + 19037, 9855, 16660, + 19037, 9855, 16662, + 19037, 9855, 16664, + 19037, 9855, 16665, 13765, 260, + 19037, 9855, 16665, 13765, 647, 9287, 106, + 19037, 9855, 16665, 13765, 1748, + 19037, 9855, 16665, 13765, 2647, 9287, 2188, + 19037, 9855, 16665, 13765, 2647, 9287, 2647, 9287, 2188, + 19037, 9855, 16666, + 19037, 9855, 16668, + 19037, 9855, 16670, + 19037, 9855, 16672, + 19037, 9855, 16674, + 19037, 9855, 16676, + 19037, 9855, 16678, + 19037, 9855, 16680, + 19037, 9855, 16682, + 19037, 9855, 16684, + 19037, 9855, 16686, + 19037, 9855, 16687, 13765, 384, + 19037, 9855, 16687, 13765, 626, + 19037, 9855, 16687, 13765, 646, + 19037, 9855, 16687, 13765, 654, + 19037, 9855, 16687, 13765, 864, + 19037, 9855, 16687, 13765, 884, + 19037, 9855, 16687, 13765, 2000, + 19037, 9855, 16687, 13765, 3210, + 19037, 9855, 16687, 13765, 6447, 7071, 7070, + 19037, 9855, 16687, 13765, 13892, + 19037, 9855, 16688, + 19037, 9855, 16690, + 19037, 9855, 16691, 13765, 244, + 19037, 9855, 16691, 13765, 460, + 19037, 9855, 16691, 13765, 654, + 19037, 9855, 16691, 13765, 1222, + 19037, 9855, 16691, 13765, 1748, + 19037, 9855, 16691, 13765, 1749, 7070, + 19037, 9855, 16691, 13765, 2647, 9287, 2647, 9287, 2188, + 19037, 9855, 16691, 13765, 13485, 9287, 358, + 19037, 9855, 16691, 13765, 13892, + 19037, 9855, 16694, + 19037, 9855, 16696, + 19037, 9855, 18588, + 19037, 16901, 9855, 2607, 17641, 2611, 13536, + 19037, 16901, 9855, 2607, 17641, 2611, 17086, + 19037, 16901, 9855, 2611, 5732, + 19037, 16901, 9855, 2611, 5888, + 19037, 16901, 9855, 2611, 7123, 1554, + 19037, 16901, 9855, 2611, 12020, + 19037, 16901, 9855, 2611, 12170, + 19037, 16901, 9855, 2611, 12172, + 19037, 16901, 9855, 2611, 13470, + 19037, 16901, 9855, 2611, 13729, 6408, + 19037, 16901, 9855, 2611, 13729, 17473, 6777, 0, + 19037, 16901, 9855, 2611, 14635, 864, + 19037, 16901, 9855, 2611, 17087, 864, + 19037, 16901, 9855, 2611, 17087, 1554, + 19037, 16901, 9855, 3077, 40, + 19037, 16901, 9855, 3077, 41, 17473, 6776, + 19037, 16901, 9855, 3077, 864, + 19037, 16901, 9855, 3077, 865, 10122, + 19037, 16901, 9855, 3077, 6408, + 19037, 16901, 9855, 3077, 12170, + 19037, 16901, 9855, 3077, 13462, + 19037, 16901, 9855, 3077, 17473, 6777, 5300, + 19037, 16901, 9855, 3357, 864, + 19037, 16901, 9855, 3357, 865, 10122, + 19037, 16901, 9855, 3357, 5732, + 19037, 16901, 9855, 3357, 5888, + 19037, 16901, 9855, 3357, 12020, + 19037, 16901, 9855, 3357, 12170, + 19037, 16901, 9855, 3357, 12172, + 19037, 16901, 9855, 3357, 13462, + 19037, 16901, 9855, 3357, 13470, + 19037, 16901, 9855, 3357, 15735, 6408, + 19037, 16901, 9855, 3357, 15735, 17473, 6777, 0, + 19037, 16901, 9855, 6757, 40, + 19037, 16901, 9855, 6757, 41, 17473, 6776, + 19037, 16901, 9855, 6757, 864, + 19037, 16901, 9855, 6757, 865, 10122, + 19037, 16901, 9855, 6757, 5732, + 19037, 16901, 9855, 6757, 5733, 17473, 6776, + 19037, 16901, 9855, 6757, 5888, + 19037, 16901, 9855, 6757, 6408, + 19037, 16901, 9855, 6757, 12170, + 19037, 16901, 9855, 6757, 12172, + 19037, 16901, 9855, 6757, 13462, + 19037, 16901, 9855, 6757, 13470, + 19037, 16901, 9855, 6757, 15575, 6408, + 19037, 16901, 9855, 6779, 40, + 19037, 16901, 9855, 6779, 41, 17473, 6776, + 19037, 16901, 9855, 6779, 864, + 19037, 16901, 9855, 6779, 865, 10122, + 19037, 16901, 9855, 6779, 5732, + 19037, 16901, 9855, 6779, 5733, 17473, 6776, + 19037, 16901, 9855, 6779, 5888, + 19037, 16901, 9855, 6779, 6408, + 19037, 16901, 9855, 6779, 12170, + 19037, 16901, 9855, 6779, 12172, + 19037, 16901, 9855, 6779, 13462, + 19037, 16901, 9855, 6779, 13470, + 19037, 16901, 9855, 6779, 17473, 6777, 12570, + 19037, 16901, 9855, 6779, 17473, 6777, 12571, 0, + 19037, 16901, 9855, 6779, 17473, 6777, 12571, 2, + 19037, 16901, 9855, 6779, 17473, 6777, 15010, + 19037, 16901, 9855, 8781, 40, + 19037, 16901, 9855, 8781, 41, 17473, 6776, + 19037, 16901, 9855, 8781, 864, + 19037, 16901, 9855, 8781, 6408, + 19037, 16901, 9855, 8781, 12170, + 19037, 16901, 9855, 8781, 13462, + 19037, 16901, 9855, 8781, 17473, 6777, 14862, + 19037, 16901, 9855, 8781, 17473, 6777, 14863, 0, + 19037, 16901, 9855, 8781, 17473, 6777, 16514, + 19037, 16901, 9855, 8781, 17473, 6777, 16516, + 19037, 16901, 9855, 11979, 40, + 19037, 16901, 9855, 11979, 41, 17473, 6776, + 19037, 16901, 9855, 11979, 864, + 19037, 16901, 9855, 11979, 6408, + 19037, 16901, 9855, 11979, 12170, + 19037, 16901, 9855, 11979, 13462, + 19037, 16901, 9855, 11979, 17473, 6777, 10436, + 19037, 16901, 9855, 11979, 17473, 6777, 13894, + 19037, 16901, 9855, 13451, 40, + 19037, 16901, 9855, 13451, 41, 17473, 6776, + 19037, 16901, 9855, 13451, 864, + 19037, 16901, 9855, 13451, 6408, + 19037, 16901, 9855, 13451, 12170, + 19037, 16901, 9855, 13451, 13462, + 19037, 16901, 9855, 13451, 17473, 6777, 7427, 0, + 19037, 16901, 9855, 13451, 17473, 6777, 7427, 2, + 19037, 16901, 9855, 13451, 17473, 6777, 12384, + 19037, 16901, 9855, 13463, 13765, 1443, 9287, 2314, + 19037, 16901, 9855, 13463, 13765, 1443, 9287, 6408, + 19037, 16901, 9855, 13737, 864, + 19037, 16901, 9855, 13737, 865, 10122, + 19037, 16901, 9855, 13737, 5732, + 19037, 16901, 9855, 13737, 5888, + 19037, 16901, 9855, 13737, 5889, 17473, 6776, + 19037, 16901, 9855, 13737, 6408, + 19037, 16901, 9855, 13737, 12170, + 19037, 16901, 9855, 13737, 12172, + 19037, 16901, 9855, 13737, 13462, + 19037, 16901, 9855, 13737, 13463, 17473, 6776, + 19037, 16901, 9855, 13737, 13470, + 19037, 16901, 9855, 13737, 13471, 17473, 6776, + 19037, 16901, 9855, 13737, 17473, 6777, 12016, + 19037, 16901, 9855, 13737, 17473, 6777, 12018, + 19037, 16901, 9855, 16361, 2611, 13728, + 19037, 16901, 9855, 16361, 3357, 15734, + 19037, 16901, 9855, 16361, 12080, + 19037, 16901, 9855, 16361, 12108, + 19037, 16901, 9855, 19470, + 19037, 16901, 9855, 19472, + 19037, 20877, 9855, 2607, 17641, 10651, 16270, + 19037, 20877, 9855, 17839, 11756, + 19037, 20877, 9855, 17839, 18776, + 19037, 20877, 9855, 17839, 19550, + 19037, 20877, 9855, 18847, 11756, + 19045, 10228, + 19051, 15673, 12563, 671, 843, 20180, + 19051, 15673, 12563, 671, 843, 20181, 10641, 10620, + 19051, 15673, 12563, 671, 843, 20181, 10641, 14486, + 19051, 15673, 12563, 671, 843, 20181, 10641, 18774, + 19051, 15673, 12563, 6435, 843, 20180, + 19051, 15673, 12563, 6435, 843, 20181, 10641, 10620, + 19051, 15673, 12563, 6435, 843, 20181, 10641, 14486, + 19051, 15673, 12563, 6435, 843, 20181, 10641, 18774, + 19051, 15673, 12563, 18847, 843, 3293, 7816, + 19051, 15673, 12563, 18847, 843, 3293, 13340, + 19051, 15673, 12563, 18847, 843, 10620, + 19051, 15673, 12563, 18847, 843, 14393, 7816, + 19051, 15673, 12563, 18847, 843, 14393, 13340, + 19051, 15673, 12563, 18847, 10641, 14486, + 19051, 15673, 12563, 18847, 10641, 18774, + 19058, + 19071, 15266, + 19215, 3357, 14823, 11476, + 19215, 11476, + 19215, 11477, 635, 896, + 19215, 11477, 6785, 896, + 19215, 11477, 10641, 3265, 19406, + 19215, 11477, 10641, 3265, 20374, + 19215, 11477, 10641, 12537, 18775, 18906, + 19215, 11477, 10641, 13563, 18775, 18906, + 19215, 11477, 10641, 13563, 20683, 18906, + 19215, 11477, 10641, 14519, 19406, + 19215, 11477, 10641, 14625, 15642, + 19215, 11477, 10641, 15095, 18775, 18906, + 19215, 11477, 10641, 16891, 10092, + 19215, 11477, 10641, 20181, 15642, + 19215, 11477, 10641, 20683, 18906, + 19215, 11477, 19407, 485, 17463, 11476, + 19215, 11571, 11476, + 19215, 11571, 16153, 14049, 11476, + 19215, 12277, 11476, + 19215, 12277, 19931, 11476, + 19215, 14049, 11476, + 19215, 14049, 11477, 15901, 18775, 18906, + 19215, 14286, + 19215, 14555, 11476, + 19215, 14625, 11476, + 19215, 15291, 14312, + 19215, 15456, + 19215, 15781, 11476, + 19215, 15945, 11476, + 19215, 16481, 10641, 5741, 7817, 635, 896, + 19215, 16481, 10641, 5741, 7817, 6785, 896, + 19215, 16481, 10641, 5741, 7817, 14373, 17463, 16481, 10641, 5741, 13340, + 19215, 16481, 10641, 5741, 7817, 14373, 19215, 16481, 10641, 5741, 13340, + 19215, 16481, 10641, 5741, 13341, 635, 896, + 19215, 16481, 10641, 5741, 13341, 6785, 896, + 19215, 16481, 10641, 5741, 19406, + 19215, 16481, 10641, 5741, 20374, + 19215, 17275, 11476, + 19215, 18775, 18906, + 19215, 19553, 11476, + 19215, 19931, 11476, + 19215, 20377, 11476, + 19215, 20501, 11477, 10641, 18775, 19890, + 19215, 20687, 11476, + 19215, 23305, 11476, + 19215, 23305, 11477, 635, 896, + 19215, 23305, 11477, 10641, 5853, 13456, + 19215, 23305, 11477, 10641, 7883, 3265, 19406, + 19215, 23305, 11477, 10641, 7883, 3265, 20374, + 19215, 23305, 11477, 10641, 10533, 12277, 13456, + 19215, 23305, 11477, 10641, 12277, 13456, + 19215, 23305, 11477, 10641, 14625, 20181, 15642, + 19215, 23305, 11477, 10641, 15095, 13456, + 19215, 23305, 11477, 10641, 15155, 13456, + 19215, 23305, 11477, 19407, 485, 17463, 23305, 11476, + 19215, 23305, 14555, 11476, + 19215, 23305, 15291, 14312, + 19215, 23305, 15945, 11476, + 19217, 11642, + 19221, 16186, + 19235, 15672, + 19236, + 19239, 10228, + 19247, 12277, 3077, 15609, 17642, + 19247, 12277, 6757, 15609, 17642, + 19247, 12277, 12237, 11772, + 19247, 12277, 14049, 14486, + 19247, 12277, 14049, 15620, + 19247, 12277, 17154, + 19253, 9854, + 19260, + 19281, 2175, 7854, + 19281, 2511, 9854, + 19281, 3561, 9854, + 19281, 3699, 9854, + 19281, 6005, 9854, + 19281, 6793, 9956, + 19281, 7817, 11779, 16088, + 19281, 7817, 14049, 20846, + 19281, 7817, 15621, 16088, + 19281, 7817, 20846, + 19281, 9287, 9854, + 19281, 11756, + 19281, 11762, + 19281, 11905, 2610, + 19281, 11905, 3076, + 19281, 11905, 3356, + 19281, 11905, 6756, + 19281, 11905, 6778, + 19281, 11905, 8780, + 19281, 11905, 10900, + 19281, 11905, 11978, + 19281, 11905, 13450, + 19281, 11905, 13736, + 19281, 12233, 14262, + 19281, 12541, 13563, 14999, 0, + 19281, 12541, 13563, 14999, 2, + 19281, 12541, 13563, 14999, 4, + 19281, 12541, 13563, 14999, 6, + 19281, 12541, 13563, 14999, 8, + 19281, 12541, 13563, 14999, 10, + 19281, 12541, 13563, 14999, 12, + 19281, 12541, 13563, 14999, 14, + 19281, 12541, 13563, 14999, 16, + 19281, 12541, 13563, 14999, 18, + 19281, 12541, 13563, 14999, 20, + 19281, 12541, 13563, 14999, 22, + 19281, 12541, 13563, 14999, 24, + 19281, 12541, 13563, 14999, 26, + 19281, 12541, 13563, 14999, 28, + 19281, 12541, 13563, 14999, 30, + 19281, 12541, 13563, 14999, 32, + 19281, 12541, 13563, 14999, 34, + 19281, 12541, 13563, 14999, 36, + 19281, 12541, 13563, 14999, 38, + 19281, 12541, 13563, 14999, 40, + 19281, 12541, 13563, 14999, 42, + 19281, 12541, 13563, 14999, 44, + 19281, 12541, 13563, 14999, 46, + 19281, 12541, 13563, 14999, 48, + 19281, 12541, 13563, 14999, 50, + 19281, 12541, 16111, 14999, 0, + 19281, 12541, 16111, 14999, 2, + 19281, 12541, 16111, 14999, 4, + 19281, 12541, 16111, 14999, 6, + 19281, 12541, 16111, 14999, 8, + 19281, 12541, 16111, 14999, 10, + 19281, 12541, 16111, 14999, 12, + 19281, 12541, 16111, 14999, 14, + 19281, 12541, 16111, 14999, 16, + 19281, 12541, 16111, 14999, 18, + 19281, 12541, 16111, 14999, 20, + 19281, 12541, 16111, 14999, 22, + 19281, 12541, 16111, 14999, 24, + 19281, 12541, 16111, 14999, 26, + 19281, 12541, 16111, 14999, 28, + 19281, 12541, 16111, 14999, 30, + 19281, 12541, 16111, 14999, 32, + 19281, 12541, 16111, 14999, 34, + 19281, 12541, 16111, 14999, 36, + 19281, 12541, 16111, 14999, 38, + 19281, 12541, 16111, 14999, 40, + 19281, 12541, 16111, 14999, 42, + 19281, 12541, 16111, 14999, 44, + 19281, 12541, 16111, 14999, 46, + 19281, 12541, 16111, 14999, 48, + 19281, 12541, 16111, 14999, 50, + 19281, 13257, 9854, + 19281, 13341, 11779, 16088, + 19281, 13341, 14049, 20846, + 19281, 13341, 15621, 16088, + 19281, 13341, 20846, + 19281, 13758, + 19281, 14411, 896, + 19281, 14601, 9854, + 19281, 14647, 9854, + 19281, 15050, + 19281, 15233, 9854, + 19281, 17005, 9854, + 19281, 17123, 17254, + 19281, 17254, + 19281, 17642, + 19281, 18511, 8320, + 19281, 18847, 7854, + 19281, 18894, + 19281, 19409, 9854, + 19281, 19557, 8320, + 19281, 19614, + 19281, 19880, + 19281, 19921, 14262, + 19281, 19923, 92, + 19281, 20685, 8320, + 19281, 21097, 9854, + 19281, 21110, + 19285, 20342, + 19303, 6718, + 19304, + 19309, 7817, 14519, 16088, + 19309, 11571, 15620, + 19309, 12105, 12563, 18846, + 19309, 13341, 14519, 16088, + 19309, 14049, 14486, + 19309, 14819, 14698, + 19309, 14819, 14999, 0, + 19309, 14819, 14999, 8, + 19309, 14819, 14999, 16, + 19309, 14819, 14999, 28, + 19309, 14819, 14999, 40, + 19309, 14819, 14999, 66, + 19309, 14819, 14999, 204, + 19309, 14819, 14999, 214, + 19309, 14819, 14999, 482, + 19309, 14819, 14999, 694, + 19309, 14819, 14999, 700, + 19309, 14819, 14999, 706, + 19309, 14819, 14999, 734, + 19309, 14819, 14999, 736, + 19309, 14819, 14999, 738, + 19309, 14819, 14999, 742, + 19309, 14819, 14999, 746, + 19309, 14819, 14999, 3520, + 19309, 14819, 14999, 3546, + 19309, 14819, 14999, 3654, + 19309, 14819, 14999, 3700, + 19309, 14819, 14999, 9866, + 19309, 14819, 14999, 11732, + 19309, 14819, 14999, 12280, + 19309, 14819, 14999, 12376, + 19309, 14819, 14999, 12732, + 19309, 14819, 14999, 12886, + 19309, 14819, 14999, 13232, + 19309, 14819, 14999, 13336, + 19309, 14819, 14999, 14944, + 19309, 14819, 14999, 15748, + 19309, 14819, 14999, 16142, + 19309, 14819, 14999, 16576, + 19309, 14819, 14999, 17024, + 19309, 14819, 14999, 17362, + 19309, 14819, 14999, 19652, + 19309, 14819, 14999, 20326, + 19309, 14819, 14999, 20368, + 19309, 14819, 14999, 20434, + 19309, 14819, 14999, 20444, + 19309, 14819, 14999, 20760, + 19309, 14819, 14999, 20816, + 19309, 14819, 14999, 20818, + 19309, 14819, 14999, 20890, + 19309, 14819, 14999, 20892, + 19309, 14819, 14999, 20896, + 19309, 14819, 14999, 20926, + 19309, 14819, 14999, 20928, + 19309, 14819, 14999, 21190, + 19309, 14819, 14999, 22918, + 19309, 14819, 14999, 22920, + 19309, 17463, 11476, + 19309, 18209, 14999, 0, + 19309, 18209, 14999, 8, + 19309, 18209, 14999, 16, + 19309, 18209, 14999, 26, + 19309, 18209, 14999, 28, + 19309, 18209, 14999, 40, + 19309, 18209, 14999, 266, + 19309, 18209, 14999, 270, + 19309, 18209, 14999, 274, + 19309, 18209, 14999, 282, + 19309, 18209, 14999, 286, + 19309, 18209, 14999, 350, + 19309, 18209, 14999, 354, + 19309, 18209, 14999, 358, + 19309, 18209, 14999, 366, + 19309, 18209, 14999, 370, + 19309, 18209, 14999, 416, + 19309, 18209, 14999, 424, + 19309, 18209, 14999, 430, + 19309, 18209, 14999, 436, + 19309, 18209, 14999, 440, + 19309, 18209, 14999, 448, + 19309, 18209, 14999, 452, + 19309, 18209, 14999, 460, + 19309, 18209, 14999, 468, + 19309, 18209, 14999, 472, + 19309, 18209, 14999, 572, + 19309, 18209, 14999, 574, + 19309, 18209, 14999, 578, + 19309, 18209, 14999, 580, + 19309, 18209, 14999, 584, + 19309, 18209, 14999, 588, + 19309, 18209, 14999, 592, + 19309, 18209, 14999, 598, + 19309, 18209, 14999, 602, + 19309, 18209, 14999, 612, + 19309, 18209, 14999, 622, + 19309, 18209, 14999, 626, + 19309, 18209, 14999, 630, + 19309, 18209, 14999, 634, + 19309, 18209, 14999, 642, + 19309, 18209, 14999, 694, + 19309, 18209, 14999, 710, + 19309, 18209, 14999, 734, + 19309, 18209, 14999, 742, + 19309, 18209, 14999, 746, + 19309, 18209, 14999, 13563, 0, + 19309, 18209, 14999, 13563, 8, + 19309, 18209, 14999, 13563, 16, + 19309, 18209, 14999, 13563, 28, + 19309, 18209, 14999, 13563, 40, + 19309, 18209, 14999, 13563, 642, + 19309, 18209, 14999, 13563, 734, + 19309, 18209, 14999, 13563, 742, + 19309, 18209, 14999, 13563, 746, + 19309, 18209, 15119, 1216, + 19309, 18209, 15873, 13579, 8320, + 19309, 18209, 20909, 13579, 8320, + 19309, 19215, 11476, + 19309, 19407, 11476, + 19309, 20375, 11476, + 19309, 20727, 6793, 9956, + 19309, 20727, 11762, + 19309, 23459, 19545, 13579, 8320, + 19310, + 19322, + 19324, + 19327, 19297, 15672, + 19331, 19013, 15080, + 19332, + 19333, 10641, 16413, 9696, + 19339, 634, + 19339, 635, 843, 17237, 18430, + 19339, 10641, 1217, 11392, + 19349, 90, + 19350, + 19361, 15672, + 19363, 9286, + 19363, 13764, + 19363, 19618, + 19385, 9855, 13052, + 19385, 9855, 15868, + 19385, 9855, 17610, + 19385, 11905, 2610, + 19385, 11905, 3076, + 19385, 11905, 3356, + 19385, 11905, 6756, + 19385, 11905, 6778, + 19385, 11905, 8780, + 19385, 11905, 10900, + 19385, 11905, 11978, + 19385, 11905, 13450, + 19385, 11905, 13736, + 19385, 14003, 9855, 8, + 19385, 14003, 9855, 16, + 19385, 14003, 9855, 28, + 19385, 14003, 9855, 40, + 19385, 14003, 9855, 58, + 19385, 14003, 9855, 72, + 19385, 14003, 9855, 94, + 19385, 14003, 9855, 308, + 19385, 14003, 9855, 676, + 19385, 14999, 0, + 19385, 14999, 8, + 19385, 14999, 16, + 19385, 14999, 28, + 19385, 14999, 40, + 19385, 14999, 58, + 19385, 14999, 72, + 19385, 14999, 94, + 19385, 14999, 106, + 19385, 14999, 124, + 19385, 14999, 148, + 19385, 14999, 244, + 19385, 14999, 266, + 19385, 14999, 308, + 19385, 14999, 336, + 19385, 14999, 350, + 19385, 14999, 384, + 19385, 14999, 416, + 19385, 14999, 448, + 19385, 14999, 522, + 19385, 14999, 572, + 19385, 14999, 588, + 19385, 14999, 622, + 19385, 14999, 676, + 19385, 14999, 680, + 19385, 14999, 734, + 19385, 14999, 904, + 19385, 14999, 932, + 19385, 14999, 1044, + 19385, 14999, 1142, + 19385, 14999, 1164, + 19385, 14999, 1482, + 19385, 14999, 1492, + 19385, 14999, 1796, + 19385, 14999, 1812, + 19385, 14999, 1914, + 19385, 14999, 2444, + 19385, 14999, 2492, + 19385, 14999, 2556, + 19385, 14999, 2676, + 19385, 14999, 2956, + 19385, 14999, 3048, + 19385, 14999, 3242, + 19385, 14999, 3322, + 19385, 14999, 6306, + 19385, 14999, 6314, + 19385, 14999, 10264, + 19390, + 19403, 859, 21279, 11476, + 19407, 3293, 15527, 14049, 11476, + 19407, 3357, 14823, 11476, + 19407, 10621, 11476, + 19407, 11476, + 19407, 11477, 635, 896, + 19407, 11477, 635, 897, 9175, 20375, 11477, 635, 896, + 19407, 11477, 635, 11571, 16248, + 19407, 11477, 6785, 896, + 19407, 11477, 6785, 897, 635, 11571, 16248, + 19407, 11477, 9175, 20375, 11476, + 19407, 11477, 10641, 3265, 17462, + 19407, 11477, 10641, 3265, 19214, + 19407, 11477, 10641, 7292, + 19407, 11477, 10641, 7888, + 19407, 11477, 10641, 9287, 11552, + 19407, 11477, 10641, 10092, + 19407, 11477, 10641, 10093, 10641, 14625, 18847, 15642, + 19407, 11477, 10641, 10093, 10641, 18847, 15642, + 19407, 11477, 10641, 12537, 18775, 18906, + 19407, 11477, 10641, 13563, 18775, 18906, + 19407, 11477, 10641, 13563, 20683, 18906, + 19407, 11477, 10641, 14623, 9952, + 19407, 11477, 10641, 14625, 18847, 15642, + 19407, 11477, 10641, 15095, 18775, 18906, + 19407, 11477, 10641, 15642, + 19407, 11477, 10641, 16891, 10092, + 19407, 11477, 10641, 18847, 15642, + 19407, 11477, 10641, 20683, 18906, + 19407, 11477, 11393, 13507, 20375, 11476, + 19407, 11477, 11393, 13759, 18386, + 19407, 11477, 11393, 14281, 12005, 634, + 19407, 11477, 11393, 17123, 13759, 18386, + 19407, 11477, 11393, 17123, 14281, 12005, 634, + 19407, 11477, 17369, 46, + 19407, 11477, 17369, 15650, + 19407, 11477, 17369, 19408, + 19407, 11571, 11476, + 19407, 11571, 16153, 14049, 11476, + 19407, 12277, 11476, + 19407, 12277, 19931, 11476, + 19407, 14049, 11476, + 19407, 14049, 11477, 15901, 18775, 18906, + 19407, 14555, 11476, + 19407, 14625, 6287, 11476, + 19407, 14625, 11476, + 19407, 14625, 11477, 6785, 896, + 19407, 14625, 11477, 10641, 15642, + 19407, 14625, 11477, 10641, 18847, 15642, + 19407, 14625, 19888, + 19407, 15291, 14312, + 19407, 15456, + 19407, 15781, 6287, 11476, + 19407, 15781, 11476, + 19407, 16481, 9175, 20375, 16480, + 19407, 16481, 10641, 5741, 671, 635, 896, + 19407, 16481, 10641, 5741, 671, 6785, 896, + 19407, 16481, 10641, 5741, 671, 11393, 7883, 6286, + 19407, 16481, 10641, 5741, 671, 11393, 19407, 16481, 10641, 5741, 6434, + 19407, 16481, 10641, 5741, 671, 11393, 20375, 16481, 10641, 5741, 670, + 19407, 16481, 10641, 5741, 6435, 635, 896, + 19407, 16481, 10641, 5741, 6435, 6785, 896, + 19407, 16481, 10641, 5741, 6435, 11393, 20375, 16481, 10641, 5741, 6434, + 19407, 16481, 10641, 5741, 6435, 11553, 7883, 6286, + 19407, 16481, 10641, 5741, 17462, + 19407, 16481, 10641, 5741, 19214, + 19407, 17275, 11476, + 19407, 18635, 11476, + 19407, 18775, 18906, + 19407, 19553, 11476, + 19407, 19888, + 19407, 19931, 11476, + 19407, 20377, 11476, + 19407, 20501, 11477, 6785, 896, + 19407, 20501, 11477, 10641, 10092, + 19407, 20501, 11477, 10641, 10093, 10641, 14625, 18847, 15642, + 19407, 20501, 11477, 10641, 10093, 10641, 18847, 15642, + 19407, 20501, 11477, 10641, 14625, 18847, 15642, + 19407, 20501, 11477, 10641, 18775, 19890, + 19407, 20501, 11477, 10641, 18847, 15642, + 19407, 20501, 15781, 6287, 11476, + 19407, 20545, 18583, 14049, 11476, + 19407, 20687, 11476, + 19407, 20769, 14049, 11476, + 19407, 20831, 11476, + 19407, 21089, 18583, 14049, 11476, + 19407, 21199, 14049, 11476, + 19407, 21287, 14049, 11476, + 19407, 23305, 11476, + 19407, 23305, 11477, 635, 896, + 19407, 23305, 11477, 9175, 20375, 23305, 11476, + 19407, 23305, 11477, 10641, 5853, 13456, + 19407, 23305, 11477, 10641, 7883, 3265, 17462, + 19407, 23305, 11477, 10641, 7883, 3265, 19214, + 19407, 23305, 11477, 10641, 10533, 12277, 13456, + 19407, 23305, 11477, 10641, 12277, 13456, + 19407, 23305, 11477, 10641, 14625, 18847, 15642, + 19407, 23305, 11477, 10641, 14625, 20181, 15642, + 19407, 23305, 11477, 10641, 15095, 13456, + 19407, 23305, 11477, 10641, 15155, 13456, + 19407, 23305, 14555, 11476, + 19407, 23305, 15291, 14312, + 19409, 505, 12005, 634, + 19409, 505, 17237, 12005, 634, + 19409, 505, 17237, 12005, 635, 10641, 1217, 11392, + 19409, 505, 17237, 12005, 635, 10641, 1217, 11393, 13340, + 19409, 505, 17237, 12005, 635, 10641, 1217, 14874, + 19409, 505, 20127, 634, + 19409, 505, 20536, + 19409, 505, 21096, + 19409, 843, 2511, 20536, + 19409, 843, 20917, 2511, 12005, 634, + 19409, 987, 2511, 12005, 634, + 19409, 987, 2511, 20127, 634, + 19409, 9175, 12005, 634, + 19409, 9854, + 19409, 10641, 1216, + 19409, 10641, 14487, 14874, + 19409, 10641, 18511, 8321, 11392, + 19409, 11393, 17223, 505, 12004, + 19409, 11393, 17223, 11393, 21096, + 19409, 11393, 17237, 12005, 11393, 21097, 11393, 17237, 12004, + 19409, 11393, 19407, 11476, + 19409, 11393, 20671, 12005, 11393, 21096, + 19409, 11393, 21097, 11393, 20671, 12004, + 19409, 12005, 635, 505, 21096, + 19409, 14497, 123, 11782, + 19409, 14497, 123, 11783, 11393, 17237, 12004, + 19414, + 19415, 8458, + 19415, 8459, 14414, + 19425, 95, 14993, 8320, + 19425, 6291, 8320, + 19425, 9855, 9212, + 19425, 9855, 15868, + 19425, 9855, 17486, + 19425, 9855, 17610, + 19425, 9855, 17652, + 19425, 9855, 20552, + 19425, 11905, 2610, + 19425, 11905, 3076, + 19425, 11905, 3356, + 19425, 11905, 6756, + 19425, 11905, 6778, + 19425, 11905, 8780, + 19425, 11905, 10900, + 19425, 11905, 11978, + 19425, 11905, 13450, + 19425, 11905, 13736, + 19425, 14003, 9855, 8, + 19425, 14003, 9855, 16, + 19425, 14003, 9855, 28, + 19425, 14003, 9855, 40, + 19425, 14003, 9855, 58, + 19425, 14003, 9855, 72, + 19425, 14003, 9855, 94, + 19425, 14003, 9855, 184, + 19425, 14003, 9855, 308, + 19425, 14003, 9855, 498, + 19425, 14003, 9855, 676, + 19425, 14003, 9855, 17493, 22, + 19425, 14003, 9855, 17493, 34, + 19425, 14003, 9855, 17493, 396, + 19425, 14003, 9855, 17493, 582, + 19425, 14999, 0, + 19425, 14999, 8, + 19425, 14999, 16, + 19425, 14999, 28, + 19425, 14999, 40, + 19425, 14999, 58, + 19425, 14999, 72, + 19425, 14999, 94, + 19425, 14999, 106, + 19425, 14999, 124, + 19425, 14999, 148, + 19425, 14999, 184, + 19425, 14999, 244, + 19425, 14999, 266, + 19425, 14999, 308, + 19425, 14999, 336, + 19425, 14999, 350, + 19425, 14999, 384, + 19425, 14999, 416, + 19425, 14999, 448, + 19425, 14999, 498, + 19425, 14999, 522, + 19425, 14999, 572, + 19425, 14999, 588, + 19425, 14999, 622, + 19425, 14999, 676, + 19425, 14999, 680, + 19425, 14999, 734, + 19425, 14999, 932, + 19425, 14999, 1044, + 19425, 14999, 1142, + 19425, 14999, 1164, + 19425, 14999, 1217, 9484, + 19425, 14999, 1492, + 19425, 14999, 1796, + 19425, 14999, 1914, + 19425, 14999, 2152, + 19425, 14999, 2444, + 19425, 14999, 2492, + 19425, 14999, 2556, + 19425, 14999, 2676, + 19425, 14999, 2956, + 19425, 14999, 3048, + 19425, 14999, 3114, + 19425, 14999, 3242, + 19425, 14999, 3322, + 19425, 14999, 6314, + 19425, 14999, 7874, + 19425, 14999, 8842, + 19425, 14999, 10264, + 19425, 14999, 10284, + 19425, 14999, 14473, 20, + 19425, 14999, 14473, 22, + 19425, 14999, 14473, 24, + 19425, 14999, 14473, 26, + 19425, 14999, 14473, 48, + 19425, 14999, 14473, 396, + 19425, 14999, 14473, 466, + 19425, 14999, 14473, 582, + 19425, 14999, 14473, 2156, + 19425, 14999, 16011, 308, + 19425, 14999, 17493, 22, + 19425, 14999, 17493, 34, + 19425, 14999, 17493, 396, + 19425, 14999, 17493, 582, + 19425, 15233, 2611, 16502, + 19425, 15233, 2611, 18744, + 19425, 15233, 3232, + 19425, 18089, 2611, 7122, + 19425, 18089, 2611, 12078, + 19425, 18089, 2611, 13710, + 19425, 18089, 2611, 14634, + 19425, 18089, 2611, 17086, + 19425, 18089, 2611, 18082, + 19425, 18089, 2611, 19636, + 19425, 18089, 2611, 19812, + 19425, 18089, 2611, 23560, + 19425, 18089, 13737, 18508, + 19425, 18089, 13737, 20100, + 19425, 18089, 13737, 20430, + 19425, 18089, 13737, 20490, + 19429, 16939, 19352, + 19445, 6779, 6430, + 19445, 6781, 19825, 18575, 2610, + 19445, 6781, 19825, 18575, 3356, + 19445, 6781, 19825, 18575, 13736, + 19445, 6793, 9956, + 19445, 9843, 18697, 17695, 15074, + 19445, 10217, 9891, 14856, + 19445, 11566, + 19445, 11567, 10641, 14625, 18392, + 19445, 11567, 10641, 18392, + 19445, 11756, + 19445, 11762, + 19445, 11905, 2610, + 19445, 11905, 3076, + 19445, 11905, 3356, + 19445, 11905, 6756, + 19445, 11905, 6778, + 19445, 11905, 8780, + 19445, 11905, 10900, + 19445, 11905, 11978, + 19445, 11905, 13450, + 19445, 11905, 13736, + 19445, 13659, 11566, + 19445, 13659, 11567, 10641, 14625, 18392, + 19445, 13659, 11567, 10641, 18392, + 19445, 14003, 19618, + 19445, 14625, 11567, 10641, 18392, + 19445, 14999, 0, + 19445, 14999, 8, + 19445, 14999, 16, + 19445, 14999, 28, + 19445, 14999, 40, + 19445, 14999, 106, + 19445, 14999, 148, + 19445, 14999, 184, + 19445, 14999, 224, + 19445, 14999, 244, + 19445, 14999, 336, + 19445, 14999, 350, + 19445, 14999, 384, + 19445, 14999, 416, + 19445, 14999, 448, + 19445, 14999, 482, + 19445, 14999, 522, + 19445, 14999, 556, + 19445, 14999, 572, + 19445, 14999, 588, + 19445, 14999, 622, + 19445, 14999, 656, + 19445, 14999, 694, + 19445, 14999, 734, + 19445, 14999, 752, + 19445, 14999, 833, 6921, 0, + 19445, 14999, 833, 6921, 16, + 19445, 14999, 833, 6921, 70, + 19445, 14999, 833, 6921, 124, + 19445, 14999, 833, 6921, 148, + 19445, 14999, 833, 6921, 350, + 19445, 14999, 833, 6921, 522, + 19445, 14999, 833, 6921, 622, + 19445, 14999, 833, 6921, 752, + 19445, 14999, 833, 6921, 1142, + 19445, 14999, 833, 6921, 2444, + 19445, 14999, 833, 6921, 2492, + 19445, 14999, 833, 6921, 2676, + 19445, 14999, 833, 6921, 3114, + 19445, 14999, 833, 6921, 3322, + 19445, 14999, 833, 6921, 3812, + 19445, 14999, 833, 6921, 7123, 40, + 19445, 14999, 833, 6921, 7123, 734, + 19445, 14999, 833, 6921, 10264, + 19445, 14999, 833, 6921, 13737, 14344, + 19445, 14999, 833, 6921, 14344, + 19445, 14999, 833, 6921, 14548, + 19445, 14999, 833, 6921, 16218, + 19445, 14999, 833, 6921, 17446, + 19445, 14999, 833, 6921, 17487, 2610, + 19445, 14999, 833, 6921, 17611, 2610, + 19445, 14999, 833, 6921, 18183, 17446, + 19445, 14999, 844, + 19445, 14999, 1044, + 19445, 14999, 1048, + 19445, 14999, 1578, + 19445, 14999, 1914, + 19445, 14999, 2122, + 19445, 14999, 3048, + 19445, 14999, 3308, + 19445, 14999, 3816, + 19445, 14999, 3852, + 19445, 14999, 9843, 8, + 19445, 14999, 9843, 16, + 19445, 14999, 9843, 40, + 19445, 14999, 9843, 148, + 19445, 14999, 9843, 224, + 19445, 14999, 9843, 244, + 19445, 14999, 9843, 266, + 19445, 14999, 9843, 334, + 19445, 14999, 9843, 336, + 19445, 14999, 9843, 350, + 19445, 14999, 9843, 522, + 19445, 14999, 9843, 622, + 19445, 14999, 9843, 656, + 19445, 14999, 9843, 752, + 19445, 14999, 9843, 844, + 19445, 14999, 9843, 1044, + 19445, 14999, 9843, 1430, + 19445, 14999, 9843, 1578, + 19445, 14999, 9843, 2866, + 19445, 14999, 9843, 3048, + 19445, 14999, 9843, 3308, + 19445, 14999, 9843, 3812, + 19445, 14999, 10217, 8, + 19445, 14999, 10217, 16, + 19445, 14999, 10217, 28, + 19445, 14999, 10217, 40, + 19445, 14999, 10217, 106, + 19445, 14999, 10217, 148, + 19445, 14999, 10217, 244, + 19445, 14999, 10217, 336, + 19445, 14999, 10217, 350, + 19445, 14999, 10217, 416, + 19445, 14999, 10217, 482, + 19445, 14999, 10217, 522, + 19445, 14999, 10217, 556, + 19445, 14999, 10217, 622, + 19445, 14999, 10217, 656, + 19445, 14999, 10217, 694, + 19445, 14999, 10217, 734, + 19445, 14999, 10217, 833, 6921, 622, + 19445, 14999, 10217, 833, 6921, 3812, + 19445, 14999, 10217, 844, + 19445, 14999, 10217, 1044, + 19445, 14999, 10217, 1254, + 19445, 14999, 10217, 1430, + 19445, 14999, 10217, 1578, + 19445, 14999, 10217, 1800, + 19445, 14999, 10217, 2460, + 19445, 14999, 10217, 3308, + 19445, 14999, 10217, 7883, 14003, 9854, + 19445, 14999, 15063, 16, + 19445, 14999, 15063, 224, + 19445, 14999, 15063, 350, + 19445, 14999, 15063, 572, + 19445, 14999, 15063, 833, 6921, 124, + 19445, 14999, 15063, 833, 6921, 622, + 19445, 14999, 15063, 833, 6921, 752, + 19445, 14999, 15063, 833, 6921, 932, + 19445, 14999, 15063, 833, 6921, 1108, + 19445, 14999, 15063, 833, 6921, 1164, + 19445, 14999, 15063, 833, 6921, 1492, + 19445, 14999, 15063, 833, 6921, 1796, + 19445, 14999, 15063, 833, 6921, 2122, + 19445, 14999, 15063, 833, 6921, 2444, + 19445, 14999, 15063, 833, 6921, 3114, + 19445, 14999, 15063, 833, 6921, 3322, + 19445, 14999, 15063, 833, 6921, 3812, + 19445, 14999, 15063, 833, 6921, 6314, + 19445, 14999, 15063, 3812, + 19445, 15063, 6793, 9956, + 19445, 15063, 11762, + 19445, 15196, + 19445, 15781, 11567, 10641, 18392, + 19445, 15811, 13659, 11567, 10641, 14625, 18392, + 19445, 17139, 11566, + 19445, 17139, 11567, 10641, 14625, 18392, + 19445, 17139, 11567, 10641, 18392, + 19445, 18016, + 19445, 18183, 11566, + 19445, 18183, 11567, 10641, 14625, 18392, + 19459, 14999, 270, + 19459, 14999, 528, + 19459, 14999, 2280, + 19459, 14999, 2536, + 19459, 14999, 3220, + 19459, 14999, 3532, + 19459, 14999, 5312, + 19459, 14999, 5818, + 19459, 14999, 7156, + 19459, 14999, 7596, + 19459, 14999, 9372, + 19459, 14999, 9486, + 19459, 14999, 9776, + 19459, 14999, 10126, + 19459, 14999, 10810, + 19459, 14999, 11424, + 19459, 14999, 12085, 270, + 19459, 14999, 12085, 2280, + 19459, 14999, 12085, 2536, + 19459, 14999, 12085, 5818, + 19459, 14999, 12085, 7596, + 19459, 14999, 12085, 9776, + 19459, 14999, 12085, 10810, + 19459, 14999, 12085, 11424, + 19459, 14999, 12085, 14978, + 19459, 14999, 12204, + 19459, 14999, 13400, + 19459, 14999, 14196, + 19459, 14999, 14546, + 19459, 14999, 14978, + 19459, 14999, 15474, + 19459, 15233, 2610, + 19459, 15233, 2611, 16502, + 19459, 15233, 3232, + 19459, 15233, 3356, + 19459, 15233, 6756, + 19459, 15233, 6778, + 19459, 15233, 13736, + 19459, 15233, 15820, + 19459, 19033, 15233, 6778, + 19461, 6718, + 19466, + 19485, 9854, + 19488, + 19499, 14999, 270, + 19499, 14999, 528, + 19499, 14999, 2280, + 19499, 14999, 2536, + 19499, 14999, 3220, + 19499, 14999, 3532, + 19499, 14999, 5312, + 19499, 14999, 5818, + 19499, 14999, 7156, + 19499, 14999, 7596, + 19499, 14999, 9372, + 19499, 14999, 9486, + 19499, 14999, 9776, + 19499, 14999, 10126, + 19499, 14999, 10810, + 19499, 14999, 11424, + 19499, 14999, 12085, 2536, + 19499, 14999, 12204, + 19499, 14999, 13400, + 19499, 14999, 14196, + 19499, 14999, 14546, + 19499, 14999, 14978, + 19499, 14999, 15474, + 19499, 15233, 2610, + 19499, 15233, 3232, + 19499, 15233, 3356, + 19499, 15233, 6756, + 19499, 15233, 6778, + 19499, 15233, 13736, + 19499, 15233, 15820, + 19499, 22867, 16408, + 19499, 23121, 16408, + 19510, + 19513, 19618, + 19515, 9778, + 19516, + 19523, 13183, 9854, + 19526, + 19528, + 19529, 10641, 3227, 3292, + 19553, 13260, + 19553, 18177, 18386, + 19557, 8320, + 19569, 15673, 1397, 15827, 18464, + 19569, 15673, 1397, 15829, 18464, + 19569, 15673, 1397, 15831, 18464, + 19569, 15673, 1397, 15833, 18464, + 19569, 15673, 1397, 15835, 18464, + 19569, 15673, 1397, 15837, 18464, + 19569, 15673, 1397, 15839, 18464, + 19569, 15673, 1397, 16433, 19430, + 19571, 8320, + 19589, 14824, + 19591, 18181, 17074, + 19593, 19466, + 19599, 8321, 316, + 19599, 8321, 14540, + 19599, 8321, 16520, + 19599, 8321, 16850, + 19599, 8321, 19482, + 19599, 8321, 20121, 3760, + 19599, 14003, 9855, 0, + 19599, 14003, 9855, 8, + 19599, 14003, 9855, 16, + 19599, 14003, 9855, 28, + 19599, 14003, 9855, 40, + 19599, 14003, 9855, 58, + 19599, 14003, 9855, 7883, 0, + 19599, 14003, 9855, 7883, 8, + 19599, 14003, 9855, 7883, 16, + 19599, 14003, 9855, 7883, 40, + 19599, 14003, 9855, 7883, 58, + 19599, 14003, 9855, 13507, 0, + 19599, 14003, 9855, 13642, + 19599, 14003, 9855, 18403, 0, + 19599, 14003, 9855, 18403, 58, + 19599, 14999, 230, + 19599, 14999, 316, + 19599, 14999, 328, + 19599, 14999, 334, + 19599, 14999, 882, + 19599, 14999, 950, + 19599, 14999, 2312, + 19599, 14999, 2536, + 19599, 14999, 2818, + 19599, 14999, 3268, + 19599, 14999, 3760, + 19599, 14999, 3806, + 19599, 14999, 5242, + 19599, 14999, 7560, + 19599, 14999, 9506, + 19599, 14999, 9746, + 19599, 14999, 10076, + 19599, 14999, 11846, + 19599, 14999, 12152, + 19599, 14999, 12514, + 19599, 14999, 17224, + 19599, 14999, 17428, + 19599, 18319, 14999, 16, + 19599, 18319, 14999, 13507, 0, + 19599, 18319, 14999, 20121, 3760, + 19599, 20877, 900, + 19599, 20877, 3089, 18288, + 19599, 20877, 10298, + 19599, 20877, 10888, + 19599, 20877, 11440, + 19599, 20877, 13284, + 19599, 20877, 14212, + 19599, 20877, 14270, + 19599, 20877, 14290, + 19599, 20877, 14328, + 19599, 20877, 16012, + 19599, 20877, 16799, 13284, + 19599, 20877, 16850, + 19599, 20877, 20396, + 19599, 20989, 8320, + 19600, + 19601, 15994, + 19604, + 19614, + 19630, + 19635, 14739, 671, 9954, + 19635, 14739, 6435, 9954, + 19635, 14739, 14999, 16948, + 19635, 14739, 19941, 16948, + 19638, + 19640, + 19643, 12274, + 19644, + 19647, 11446, + 19647, 11447, 16935, 670, + 19647, 11447, 16935, 7816, + 19649, 13655, 15672, + 19654, + 19673, 2610, + 19673, 3076, + 19673, 3356, + 19673, 6756, + 19673, 6778, + 19673, 7817, 20846, + 19673, 8780, + 19673, 9287, 9854, + 19673, 10900, + 19673, 11978, + 19673, 12740, + 19673, 13341, 20846, + 19673, 13450, + 19673, 13736, + 19673, 14647, 9854, + 19675, 3292, + 19675, 10641, 18176, + 19675, 14392, + 19677, 9855, 15868, + 19677, 9855, 16966, + 19677, 9855, 18428, + 19677, 9855, 19504, + 19677, 9855, 19506, + 19677, 11905, 2610, + 19677, 11905, 3076, + 19677, 11905, 3356, + 19677, 11905, 6756, + 19677, 11905, 6778, + 19677, 11905, 8780, + 19677, 11905, 10900, + 19677, 11905, 11978, + 19677, 11905, 13450, + 19677, 11905, 13736, + 19677, 14003, 9855, 16968, + 19677, 14003, 9855, 16980, + 19677, 14003, 9855, 18418, + 19677, 14003, 9855, 18424, + 19677, 14003, 9855, 20300, + 19677, 14003, 9855, 20302, + 19677, 14999, 0, + 19677, 14999, 8, + 19677, 14999, 16, + 19677, 14999, 28, + 19677, 14999, 40, + 19677, 14999, 66, + 19677, 14999, 106, + 19677, 14999, 124, + 19677, 14999, 148, + 19677, 14999, 214, + 19677, 14999, 224, + 19677, 14999, 244, + 19677, 14999, 266, + 19677, 14999, 336, + 19677, 14999, 350, + 19677, 14999, 384, + 19677, 14999, 416, + 19677, 14999, 448, + 19677, 14999, 522, + 19677, 14999, 556, + 19677, 14999, 572, + 19677, 14999, 588, + 19677, 14999, 622, + 19677, 14999, 680, + 19677, 14999, 694, + 19677, 14999, 718, + 19677, 14999, 734, + 19677, 14999, 752, + 19677, 14999, 932, + 19677, 14999, 1914, + 19677, 14999, 2118, + 19677, 14999, 2444, + 19677, 14999, 2556, + 19677, 14999, 2908, + 19677, 14999, 3162, + 19677, 14999, 12085, 20, + 19677, 14999, 12085, 24, + 19677, 17652, + 19677, 19015, 9855, 16978, + 19677, 19015, 9855, 18426, + 19677, 19015, 9855, 18437, 416, + 19677, 19015, 9855, 18437, 694, + 19677, 19015, 9855, 19500, + 19677, 20877, 11565, 107, 17160, + 19677, 20877, 11565, 149, 17160, + 19677, 20877, 11565, 351, 17160, + 19677, 20877, 11565, 2119, 17160, + 19677, 20877, 11565, 11638, + 19677, 20877, 11565, 13646, + 19677, 20877, 11565, 17080, + 19677, 20877, 11565, 18420, + 19678, + 19760, + 19768, + 19773, 497, 3293, 485, 12750, + 19773, 9854, + 19773, 18253, 9854, + 19773, 18514, + 19773, 18515, 10641, 9206, + 19773, 18516, + 19774, + 19777, 1397, 497, 3245, 13984, + 19777, 1397, 1834, + 19777, 1397, 2093, 505, 12748, + 19777, 1397, 5853, 20360, + 19777, 1397, 6558, + 19777, 1397, 6793, 14486, + 19777, 1397, 11928, + 19777, 1397, 12221, 635, 8358, + 19777, 1397, 12392, + 19777, 1397, 12742, + 19777, 1397, 13322, + 19777, 1397, 13632, + 19777, 1397, 13886, + 19777, 1397, 14030, + 19777, 1397, 14322, + 19777, 1397, 14454, + 19777, 1397, 14464, + 19777, 1397, 14497, 12764, + 19777, 1397, 14630, + 19777, 1397, 14720, + 19777, 1397, 14988, + 19777, 1397, 15404, + 19777, 1397, 15452, + 19777, 1397, 15962, + 19777, 1397, 16042, + 19777, 1397, 16162, + 19777, 1397, 16174, + 19777, 1397, 16258, + 19777, 1397, 16386, + 19777, 1397, 16497, 5720, + 19777, 1397, 16565, 13562, + 19777, 1397, 16580, + 19777, 1397, 16780, + 19777, 1397, 16790, + 19777, 1397, 16954, + 19777, 1397, 16988, + 19777, 1397, 17116, + 19777, 1397, 17228, + 19777, 1397, 17502, + 19777, 1397, 18032, + 19777, 1397, 18096, + 19777, 1397, 18128, + 19777, 1397, 18168, + 19777, 1397, 18538, + 19777, 1397, 18648, + 19777, 1397, 18660, + 19777, 1397, 18843, 505, 17506, + 19777, 1397, 18953, 2632, + 19777, 1397, 18998, + 19777, 1397, 19016, + 19777, 1397, 19040, + 19777, 1397, 19054, + 19777, 1397, 19230, + 19777, 1397, 19268, + 19777, 1397, 19272, + 19777, 1397, 19282, + 19777, 1397, 19283, 316, + 19777, 1397, 19298, + 19777, 1397, 19396, + 19777, 1397, 19582, + 19777, 1397, 19624, + 19777, 1397, 19926, + 19777, 1397, 19928, + 19777, 1397, 19938, + 19777, 1397, 19982, + 19777, 1397, 20112, + 19777, 1397, 20130, + 19777, 1397, 20290, + 19777, 1397, 20358, + 19777, 1397, 20524, + 19777, 1397, 20576, + 19777, 1397, 20676, + 19777, 1397, 20704, + 19777, 1397, 20852, + 19777, 1397, 20990, + 19777, 1397, 21046, + 19777, 1397, 21050, + 19777, 1397, 21052, + 19777, 1397, 21272, + 19777, 1397, 22813, 505, 19980, + 19777, 1397, 22828, + 19782, + 19788, + 19821, 19569, 15672, + 19823, 20849, 15672, + 19829, 8452, + 19850, + 19863, 15673, 1397, 828, + 19863, 15673, 1397, 1548, + 19863, 15673, 1397, 2602, + 19863, 15673, 1397, 2711, 11480, + 19863, 15673, 1397, 3263, 2626, + 19863, 15673, 1397, 3534, + 19863, 15673, 1397, 5260, + 19863, 15673, 1397, 5283, 13324, + 19863, 15673, 1397, 5283, 13998, + 19863, 15673, 1397, 5283, 17110, + 19863, 15673, 1397, 5283, 17488, + 19863, 15673, 1397, 5749, 485, 8322, + 19863, 15673, 1397, 5749, 485, 17468, + 19863, 15673, 1397, 5964, + 19863, 15673, 1397, 6746, + 19863, 15673, 1397, 7048, + 19863, 15673, 1397, 7123, 6436, + 19863, 15673, 1397, 7123, 13160, + 19863, 15673, 1397, 7310, + 19863, 15673, 1397, 7441, 2626, + 19863, 15673, 1397, 7441, 13150, + 19863, 15673, 1397, 7811, 2626, + 19863, 15673, 1397, 9515, 9694, + 19863, 15673, 1397, 9515, 15472, + 19863, 15673, 1397, 9694, + 19863, 15673, 1397, 9695, 485, 14515, 20532, + 19863, 15673, 1397, 9695, 485, 17606, + 19863, 15673, 1397, 9888, + 19863, 15673, 1397, 11480, + 19863, 15673, 1397, 11571, 15654, + 19863, 15673, 1397, 11590, + 19863, 15673, 1397, 11598, + 19863, 15673, 1397, 11649, 16826, + 19863, 15673, 1397, 11968, + 19863, 15673, 1397, 12331, 6450, + 19863, 15673, 1397, 12754, + 19863, 15673, 1397, 12888, + 19863, 15673, 1397, 12894, + 19863, 15673, 1397, 13289, 7852, + 19863, 15673, 1397, 13856, + 19863, 15673, 1397, 13890, + 19863, 15673, 1397, 14032, + 19863, 15673, 1397, 14278, + 19863, 15673, 1397, 14515, 2626, + 19863, 15673, 1397, 14515, 20532, + 19863, 15673, 1397, 14531, 485, 7440, + 19863, 15673, 1397, 14531, 485, 14514, + 19863, 15673, 1397, 14531, 485, 17784, + 19863, 15673, 1397, 15382, + 19863, 15673, 1397, 15402, + 19863, 15673, 1397, 15436, + 19863, 15673, 1397, 15568, + 19863, 15673, 1397, 15606, + 19863, 15673, 1397, 15654, + 19863, 15673, 1397, 15696, + 19863, 15673, 1397, 15978, + 19863, 15673, 1397, 15984, + 19863, 15673, 1397, 16016, + 19863, 15673, 1397, 16071, 2626, + 19863, 15673, 1397, 16080, + 19863, 15673, 1397, 16082, + 19863, 15673, 1397, 16266, + 19863, 15673, 1397, 16803, 19668, + 19863, 15673, 1397, 16803, 20930, + 19863, 15673, 1397, 16803, 20932, + 19863, 15673, 1397, 17108, + 19863, 15673, 1397, 17112, + 19863, 15673, 1397, 17113, 485, 7440, + 19863, 15673, 1397, 17113, 485, 17606, + 19863, 15673, 1397, 17113, 485, 19872, + 19863, 15673, 1397, 17169, 485, 7524, + 19863, 15673, 1397, 17285, 17396, + 19863, 15673, 1397, 17299, 13645, 17298, + 19863, 15673, 1397, 17299, 13645, 19656, + 19863, 15673, 1397, 17396, + 19863, 15673, 1397, 17484, + 19863, 15673, 1397, 17485, 485, 17606, + 19863, 15673, 1397, 17490, + 19863, 15673, 1397, 17594, + 19863, 15673, 1397, 17607, 2626, + 19863, 15673, 1397, 17712, + 19863, 15673, 1397, 17750, + 19863, 15673, 1397, 17794, + 19863, 15673, 1397, 17860, + 19863, 15673, 1397, 18479, 11598, + 19863, 15673, 1397, 18724, + 19863, 15673, 1397, 18754, + 19863, 15673, 1397, 19042, + 19863, 15673, 1397, 19416, + 19863, 15673, 1397, 19426, + 19863, 15673, 1397, 19560, + 19863, 15673, 1397, 19572, + 19863, 15673, 1397, 19574, + 19863, 15673, 1397, 19576, + 19863, 15673, 1397, 19669, 485, 9695, 485, 14514, + 19863, 15673, 1397, 19669, 485, 9695, 485, 17606, + 19863, 15673, 1397, 19669, 485, 14514, + 19863, 15673, 1397, 19669, 485, 17606, + 19863, 15673, 1397, 19826, + 19863, 15673, 1397, 19830, + 19863, 15673, 1397, 19832, + 19863, 15673, 1397, 19836, + 19863, 15673, 1397, 19884, + 19863, 15673, 1397, 19950, + 19863, 15673, 1397, 19952, + 19863, 15673, 1397, 19954, + 19863, 15673, 1397, 19956, + 19863, 15673, 1397, 19978, + 19863, 15673, 1397, 20542, + 19863, 15673, 1397, 20755, 2626, + 19863, 15673, 1397, 20874, + 19863, 15673, 1397, 20934, + 19863, 15673, 1397, 21169, 15654, + 19863, 15673, 1397, 21182, + 19863, 15673, 1397, 21186, + 19863, 15673, 1397, 21204, + 19880, + 19883, 3245, 12568, + 19897, 6718, + 19902, + 19907, 843, 7296, + 19917, 2175, 7854, + 19917, 18400, + 19921, 14262, + 19923, 92, + 19923, 12741, 9854, + 19924, + 19933, 6718, + 19943, 19819, 15672, + 19967, 13630, + 19969, 8846, + 19971, 494, + 19971, 1449, 14698, + 19971, 7461, 494, + 19971, 9855, 7171, 17259, 1216, + 19971, 9855, 13052, + 19971, 9855, 14625, 20553, 15868, + 19971, 9855, 15868, + 19971, 9855, 17218, + 19971, 9855, 17259, 20552, + 19971, 9855, 17486, + 19971, 9855, 17610, + 19971, 9855, 17652, + 19971, 9855, 18183, 20552, + 19971, 9855, 18500, + 19971, 9855, 20552, + 19971, 9855, 20553, 3356, + 19971, 9855, 20553, 13736, + 19971, 9855, 20553, 15868, + 19971, 9855, 20553, 17652, + 19971, 11395, 14262, + 19971, 11652, + 19971, 11854, + 19971, 11905, 2610, + 19971, 11905, 3076, + 19971, 11905, 3356, + 19971, 11905, 6756, + 19971, 11905, 6778, + 19971, 11905, 8780, + 19971, 11905, 10900, + 19971, 11905, 11978, + 19971, 11905, 13450, + 19971, 11905, 13736, + 19971, 12233, 14262, + 19971, 14003, 9855, 8, + 19971, 14003, 9855, 16, + 19971, 14003, 9855, 28, + 19971, 14003, 9855, 40, + 19971, 14003, 9855, 58, + 19971, 14003, 9855, 72, + 19971, 14003, 9855, 94, + 19971, 14003, 9855, 98, + 19971, 14003, 9855, 308, + 19971, 14003, 9855, 482, + 19971, 14003, 9855, 656, + 19971, 14003, 9855, 676, + 19971, 14003, 9855, 2618, + 19971, 14003, 9855, 3428, + 19971, 14003, 9855, 13507, 8, + 19971, 14003, 9855, 13507, 28, + 19971, 14003, 9855, 14435, 8, + 19971, 14003, 9855, 14435, 28, + 19971, 14003, 9855, 14435, 7883, 8, + 19971, 14003, 9855, 17493, 22, + 19971, 14003, 9855, 17493, 34, + 19971, 14003, 9855, 17493, 396, + 19971, 14003, 9855, 17493, 582, + 19971, 14003, 9855, 22911, 8, + 19971, 14625, 11854, + 19971, 14999, 0, + 19971, 14999, 8, + 19971, 14999, 16, + 19971, 14999, 28, + 19971, 14999, 40, + 19971, 14999, 58, + 19971, 14999, 72, + 19971, 14999, 94, + 19971, 14999, 98, + 19971, 14999, 106, + 19971, 14999, 124, + 19971, 14999, 148, + 19971, 14999, 224, + 19971, 14999, 244, + 19971, 14999, 266, + 19971, 14999, 308, + 19971, 14999, 336, + 19971, 14999, 350, + 19971, 14999, 384, + 19971, 14999, 416, + 19971, 14999, 448, + 19971, 14999, 482, + 19971, 14999, 522, + 19971, 14999, 556, + 19971, 14999, 572, + 19971, 14999, 588, + 19971, 14999, 622, + 19971, 14999, 656, + 19971, 14999, 676, + 19971, 14999, 680, + 19971, 14999, 734, + 19971, 14999, 752, + 19971, 14999, 904, + 19971, 14999, 932, + 19971, 14999, 1044, + 19971, 14999, 1142, + 19971, 14999, 1164, + 19971, 14999, 1482, + 19971, 14999, 1492, + 19971, 14999, 1796, + 19971, 14999, 1812, + 19971, 14999, 1914, + 19971, 14999, 2152, + 19971, 14999, 2444, + 19971, 14999, 2492, + 19971, 14999, 2556, + 19971, 14999, 2618, + 19971, 14999, 2676, + 19971, 14999, 2912, + 19971, 14999, 2956, + 19971, 14999, 3048, + 19971, 14999, 3114, + 19971, 14999, 3242, + 19971, 14999, 3322, + 19971, 14999, 3428, + 19971, 14999, 3772, + 19971, 14999, 3812, + 19971, 14999, 6306, + 19971, 14999, 6314, + 19971, 14999, 7018, + 19971, 14999, 7648, + 19971, 14999, 7874, + 19971, 14999, 8842, + 19971, 14999, 10264, + 19971, 14999, 11868, + 19971, 14999, 12277, 734, + 19971, 14999, 13507, 0, + 19971, 14999, 13507, 8, + 19971, 14999, 13507, 28, + 19971, 14999, 14435, 0, + 19971, 14999, 14435, 8, + 19971, 14999, 14435, 28, + 19971, 14999, 16449, 9956, + 19971, 14999, 16777, 1142, + 19971, 14999, 17493, 22, + 19971, 14999, 17493, 34, + 19971, 14999, 17493, 396, + 19971, 14999, 17493, 582, + 19971, 15635, 9855, 15840, + 19971, 15635, 9855, 17608, + 19971, 20166, + 19971, 20989, 9854, + 19973, 16064, + 20105, 21124, + 20127, 634, + 20127, 10641, 6779, 6431, 11392, + 20134, + 20146, + 20157, 13563, 14999, 16, + 20157, 13563, 14999, 528, + 20157, 13563, 14999, 742, + 20157, 13563, 14999, 746, + 20157, 13563, 14999, 880, + 20157, 13563, 14999, 947, 3758, + 20157, 13563, 14999, 2616, + 20157, 13563, 14999, 2630, + 20157, 13563, 14999, 3048, + 20157, 13563, 14999, 3312, + 20157, 13563, 14999, 3394, + 20157, 13563, 14999, 5872, + 20157, 13563, 14999, 6754, + 20157, 13563, 14999, 7152, + 20157, 13563, 14999, 7454, + 20157, 13563, 14999, 7584, + 20157, 13563, 14999, 9804, + 20157, 13563, 14999, 10526, + 20157, 13563, 14999, 10760, + 20157, 13563, 14999, 10778, + 20157, 13563, 14999, 10780, + 20157, 13563, 14999, 11920, + 20157, 13563, 14999, 11940, + 20157, 13563, 14999, 12118, + 20157, 13563, 14999, 12812, + 20157, 13563, 14999, 13344, + 20157, 13563, 14999, 13560, + 20157, 13563, 14999, 13563, 3758, + 20157, 13563, 14999, 13563, 3759, 10641, 10092, + 20157, 13563, 14999, 14118, + 20157, 13563, 14999, 14478, + 20157, 13563, 14999, 14594, + 20157, 13563, 14999, 15366, + 20157, 13563, 14999, 15816, + 20157, 13563, 14999, 15938, + 20157, 13563, 14999, 16444, + 20157, 13563, 14999, 16525, 7454, + 20157, 13563, 14999, 16533, 947, 3758, + 20157, 13563, 14999, 16533, 13563, 3758, + 20157, 13563, 14999, 16538, + 20157, 13563, 14999, 16724, + 20157, 13563, 14999, 16834, + 20157, 13563, 14999, 17214, + 20157, 13563, 14999, 17267, 266, + 20157, 13563, 14999, 17540, + 20157, 13563, 14999, 18227, 16834, + 20157, 13563, 14999, 20487, 0, + 20157, 16111, 14999, 16, + 20157, 16111, 14999, 528, + 20157, 16111, 14999, 742, + 20157, 16111, 14999, 746, + 20157, 16111, 14999, 880, + 20157, 16111, 14999, 947, 3758, + 20157, 16111, 14999, 2616, + 20157, 16111, 14999, 2630, + 20157, 16111, 14999, 3048, + 20157, 16111, 14999, 3312, + 20157, 16111, 14999, 3394, + 20157, 16111, 14999, 5872, + 20157, 16111, 14999, 6754, + 20157, 16111, 14999, 7152, + 20157, 16111, 14999, 7454, + 20157, 16111, 14999, 7584, + 20157, 16111, 14999, 9804, + 20157, 16111, 14999, 10526, + 20157, 16111, 14999, 10760, + 20157, 16111, 14999, 10778, + 20157, 16111, 14999, 10780, + 20157, 16111, 14999, 11920, + 20157, 16111, 14999, 11940, + 20157, 16111, 14999, 12118, + 20157, 16111, 14999, 12812, + 20157, 16111, 14999, 13344, + 20157, 16111, 14999, 13560, + 20157, 16111, 14999, 13563, 3758, + 20157, 16111, 14999, 13563, 3759, 10641, 10092, + 20157, 16111, 14999, 14118, + 20157, 16111, 14999, 14478, + 20157, 16111, 14999, 14594, + 20157, 16111, 14999, 15366, + 20157, 16111, 14999, 15816, + 20157, 16111, 14999, 15938, + 20157, 16111, 14999, 16444, + 20157, 16111, 14999, 16525, 7454, + 20157, 16111, 14999, 16533, 947, 3758, + 20157, 16111, 14999, 16533, 13563, 3758, + 20157, 16111, 14999, 16538, + 20157, 16111, 14999, 16724, + 20157, 16111, 14999, 16834, + 20157, 16111, 14999, 17214, + 20157, 16111, 14999, 17267, 266, + 20157, 16111, 14999, 17540, + 20157, 16111, 14999, 18227, 16834, + 20157, 16111, 14999, 20487, 0, + 20161, 1014, + 20168, + 20177, 13810, + 20177, 13811, 10641, 14419, 8850, + 20178, + 20181, 896, + 20181, 3189, 1912, + 20181, 7855, 19242, + 20181, 8315, 10641, 15643, 9854, + 20181, 9709, 15012, + 20181, 9709, 15014, + 20181, 9709, 15016, + 20181, 9709, 15018, + 20181, 11571, 16492, + 20181, 11571, 16916, + 20181, 17393, 12562, + 20181, 18016, + 20183, 15672, + 20193, 18172, + 20207, 9855, 897, 11392, + 20207, 9855, 1217, 11552, + 20207, 9855, 11658, + 20207, 9855, 14625, 9503, 11552, + 20207, 9855, 17486, + 20207, 9855, 17610, + 20207, 11905, 2610, + 20207, 11905, 3356, + 20207, 11905, 6778, + 20207, 11905, 13736, + 20207, 14003, 9855, 8, + 20207, 14003, 9855, 16, + 20207, 14003, 9855, 28, + 20207, 14003, 9855, 40, + 20207, 14003, 9855, 17493, 34, + 20207, 14003, 14993, 8320, + 20207, 14999, 0, + 20207, 14999, 106, + 20207, 14999, 124, + 20207, 14999, 148, + 20207, 14999, 244, + 20207, 14999, 266, + 20207, 14999, 336, + 20207, 14999, 350, + 20207, 14999, 384, + 20207, 14999, 416, + 20207, 14999, 448, + 20207, 14999, 522, + 20207, 14999, 572, + 20207, 14999, 588, + 20207, 14999, 622, + 20207, 14999, 680, + 20207, 14999, 734, + 20207, 14999, 752, + 20207, 14999, 932, + 20207, 14999, 1044, + 20207, 14999, 1142, + 20207, 14999, 1164, + 20207, 14999, 1492, + 20207, 14999, 1914, + 20207, 14999, 1952, + 20207, 14999, 2492, + 20207, 14999, 2556, + 20207, 14999, 2676, + 20207, 14999, 3048, + 20207, 14999, 3114, + 20207, 14999, 3242, + 20207, 14999, 3322, + 20207, 14999, 6314, + 20207, 14999, 10264, + 20207, 14999, 13844, + 20207, 15233, 2611, 16502, + 20207, 15233, 2611, 18744, + 20207, 15233, 3232, + 20207, 15233, 15820, + 20207, 15868, + 20207, 20877, 1216, + 20207, 20877, 11854, + 20207, 20877, 12572, + 20207, 20877, 12582, + 20207, 20877, 13563, 14486, + 20207, 20877, 14486, + 20207, 20877, 14625, 11854, + 20207, 20877, 17791, 896, + 20207, 20877, 18280, + 20233, 9855, 654, + 20233, 14999, 226, + 20233, 14999, 270, + 20233, 14999, 528, + 20233, 14999, 2280, + 20233, 14999, 2536, + 20233, 14999, 3220, + 20233, 14999, 3532, + 20233, 14999, 5312, + 20233, 14999, 5818, + 20233, 14999, 7156, + 20233, 14999, 7596, + 20233, 14999, 9372, + 20233, 14999, 9486, + 20233, 14999, 9776, + 20233, 14999, 10126, + 20233, 14999, 10680, + 20233, 14999, 10694, + 20233, 14999, 10810, + 20233, 14999, 11242, + 20233, 14999, 11424, + 20233, 14999, 11560, + 20233, 14999, 12204, + 20233, 14999, 12400, + 20233, 14999, 12468, + 20233, 14999, 13278, + 20233, 14999, 13400, + 20233, 14999, 13600, + 20233, 14999, 14196, + 20233, 14999, 14546, + 20233, 14999, 14780, + 20233, 14999, 14886, + 20233, 14999, 14978, + 20233, 14999, 15474, + 20233, 14999, 15942, + 20233, 14999, 16246, + 20233, 14999, 17358, + 20233, 15233, 2610, + 20233, 15233, 2611, 16502, + 20233, 15233, 3232, + 20233, 15233, 6756, + 20233, 15233, 15820, + 20233, 20877, 1216, + 20233, 20877, 1217, 15901, 1216, + 20233, 20877, 3357, 6430, + 20233, 20877, 7855, 14698, + 20233, 20877, 9950, + 20233, 20877, 14625, 1217, 15901, 1216, + 20233, 20877, 16408, + 20233, 20989, 8321, 11392, + 20233, 20989, 8321, 11552, + 20236, + 20238, + 20263, 15672, + 20286, + 20290, + 20312, + 20319, 5292, + 20323, 14625, 20876, + 20323, 15573, 20876, + 20325, 10651, 19618, + 20325, 14999, 270, + 20325, 14999, 528, + 20325, 14999, 826, + 20325, 14999, 830, + 20325, 14999, 928, + 20325, 14999, 1616, + 20325, 14999, 1866, + 20325, 14999, 2280, + 20325, 14999, 2536, + 20325, 14999, 2804, + 20325, 14999, 3216, + 20325, 14999, 3236, + 20325, 14999, 3530, + 20325, 14999, 3726, + 20325, 14999, 3792, + 20325, 14999, 6362, + 20325, 14999, 6924, + 20325, 14999, 7790, + 20325, 14999, 9524, + 20325, 14999, 9684, + 20325, 14999, 9722, + 20325, 14999, 9776, + 20325, 15233, 2610, + 20325, 15233, 2611, 16502, + 20325, 15233, 3232, + 20325, 15233, 3356, + 20325, 15233, 13736, + 20325, 15233, 15820, + 20331, 9854, + 20335, 9854, + 20338, + 20342, + 20347, 18177, 18386, + 20349, 12005, 634, + 20353, 9854, + 20363, 7817, 16372, + 20363, 7817, 16374, + 20366, + 20373, 859, 18997, 11476, + 20375, 3293, 15527, 14049, 11476, + 20375, 3357, 14823, 11476, + 20375, 10621, 11476, + 20375, 11476, + 20375, 11477, 635, 896, + 20375, 11477, 635, 11571, 16248, + 20375, 11477, 6785, 896, + 20375, 11477, 6785, 897, 635, 11571, 16248, + 20375, 11477, 9175, 19407, 11476, + 20375, 11477, 10641, 3265, 17462, + 20375, 11477, 10641, 3265, 19214, + 20375, 11477, 10641, 7292, + 20375, 11477, 10641, 7888, + 20375, 11477, 10641, 9287, 11552, + 20375, 11477, 10641, 10092, + 20375, 11477, 10641, 10093, 10641, 14625, 18847, 15642, + 20375, 11477, 10641, 10093, 10641, 18847, 15642, + 20375, 11477, 10641, 12537, 18775, 18906, + 20375, 11477, 10641, 13563, 18775, 18906, + 20375, 11477, 10641, 13563, 20683, 18906, + 20375, 11477, 10641, 14519, 19214, + 20375, 11477, 10641, 14623, 9952, + 20375, 11477, 10641, 14625, 18847, 15642, + 20375, 11477, 10641, 15095, 18775, 18906, + 20375, 11477, 10641, 15642, + 20375, 11477, 10641, 16891, 10092, + 20375, 11477, 10641, 18847, 15642, + 20375, 11477, 10641, 20683, 18906, + 20375, 11477, 11393, 13507, 19407, 11476, + 20375, 11477, 11393, 13759, 18386, + 20375, 11477, 11393, 14281, 12005, 634, + 20375, 11477, 11393, 17123, 13759, 18386, + 20375, 11477, 11393, 17123, 14281, 12005, 634, + 20375, 11477, 17369, 46, + 20375, 11477, 17369, 18688, + 20375, 11477, 17369, 21096, + 20375, 11571, 11476, + 20375, 11571, 16153, 14049, 11476, + 20375, 12277, 11476, + 20375, 12277, 19931, 11476, + 20375, 14049, 11476, + 20375, 14049, 11477, 6785, 10618, + 20375, 14049, 11477, 15901, 18775, 18906, + 20375, 14393, 15527, 14049, 11476, + 20375, 14555, 11476, + 20375, 14625, 6287, 11476, + 20375, 14625, 11476, + 20375, 14625, 11477, 6785, 896, + 20375, 14625, 11477, 10641, 15642, + 20375, 14625, 11477, 10641, 18847, 15642, + 20375, 14625, 19888, + 20375, 15291, 14312, + 20375, 15456, + 20375, 15781, 6287, 11476, + 20375, 15781, 11476, + 20375, 16481, 9175, 19407, 16480, + 20375, 16481, 10641, 5741, 671, 635, 896, + 20375, 16481, 10641, 5741, 671, 6785, 896, + 20375, 16481, 10641, 5741, 671, 11393, 7883, 6286, + 20375, 16481, 10641, 5741, 671, 11393, 19407, 16481, 10641, 5741, 670, + 20375, 16481, 10641, 5741, 671, 11393, 20375, 16481, 10641, 5741, 6434, + 20375, 16481, 10641, 5741, 6435, 635, 896, + 20375, 16481, 10641, 5741, 6435, 6785, 896, + 20375, 16481, 10641, 5741, 6435, 11393, 19407, 16481, 10641, 5741, 6434, + 20375, 16481, 10641, 5741, 6435, 11553, 7883, 6286, + 20375, 16481, 10641, 5741, 17462, + 20375, 16481, 10641, 5741, 19214, + 20375, 17275, 11476, + 20375, 18635, 11476, + 20375, 18775, 18906, + 20375, 19553, 11476, + 20375, 19888, + 20375, 19931, 11476, + 20375, 20377, 11476, + 20375, 20501, 11477, 6785, 896, + 20375, 20501, 11477, 10641, 10092, + 20375, 20501, 11477, 10641, 10093, 10641, 14625, 18847, 15642, + 20375, 20501, 11477, 10641, 10093, 10641, 18847, 15642, + 20375, 20501, 11477, 10641, 14625, 18847, 15642, + 20375, 20501, 11477, 10641, 18775, 19890, + 20375, 20501, 11477, 10641, 18847, 15642, + 20375, 20501, 15781, 6287, 11476, + 20375, 20545, 18583, 14049, 11476, + 20375, 20687, 11476, + 20375, 20769, 14049, 11476, + 20375, 20831, 11476, + 20375, 21089, 18583, 14049, 11476, + 20375, 21199, 14049, 11476, + 20375, 23305, 11476, + 20375, 23305, 11477, 635, 896, + 20375, 23305, 11477, 9175, 19407, 23305, 11476, + 20375, 23305, 11477, 10641, 5853, 13456, + 20375, 23305, 11477, 10641, 7883, 3265, 17462, + 20375, 23305, 11477, 10641, 7883, 3265, 19214, + 20375, 23305, 11477, 10641, 10533, 12277, 13456, + 20375, 23305, 11477, 10641, 12277, 13456, + 20375, 23305, 11477, 10641, 14625, 18847, 15642, + 20375, 23305, 11477, 10641, 14625, 20181, 15642, + 20375, 23305, 11477, 10641, 15095, 13456, + 20375, 23305, 11477, 10641, 15155, 13456, + 20375, 23305, 14555, 11476, + 20375, 23305, 15291, 14312, + 20377, 12277, 2175, 14625, 11763, 19557, 8321, 18392, + 20377, 12277, 14625, 11763, 19557, 8321, 18392, + 20377, 12277, 14625, 15811, 11763, 19557, 8321, 18392, + 20377, 20753, 18392, + 20381, 9855, 15868, + 20381, 9855, 17486, + 20381, 9855, 17610, + 20381, 9855, 20552, + 20381, 11854, + 20381, 11905, 2610, + 20381, 11905, 3076, + 20381, 11905, 3356, + 20381, 11905, 6756, + 20381, 11905, 6778, + 20381, 11905, 8780, + 20381, 11905, 10900, + 20381, 11905, 11978, + 20381, 11905, 13450, + 20381, 11905, 13736, + 20381, 14003, 9855, 8, + 20381, 14003, 9855, 16, + 20381, 14003, 9855, 28, + 20381, 14003, 9855, 40, + 20381, 14003, 9855, 58, + 20381, 14003, 9855, 72, + 20381, 14003, 9855, 94, + 20381, 14003, 9855, 184, + 20381, 14003, 9855, 308, + 20381, 14003, 9855, 498, + 20381, 14003, 9855, 676, + 20381, 14003, 9855, 17493, 22, + 20381, 14003, 9855, 17493, 34, + 20381, 14003, 9855, 17493, 396, + 20381, 14003, 9855, 17493, 582, + 20381, 14625, 11854, + 20381, 14999, 0, + 20381, 14999, 8, + 20381, 14999, 16, + 20381, 14999, 28, + 20381, 14999, 40, + 20381, 14999, 58, + 20381, 14999, 72, + 20381, 14999, 94, + 20381, 14999, 106, + 20381, 14999, 124, + 20381, 14999, 148, + 20381, 14999, 184, + 20381, 14999, 244, + 20381, 14999, 266, + 20381, 14999, 308, + 20381, 14999, 336, + 20381, 14999, 350, + 20381, 14999, 384, + 20381, 14999, 416, + 20381, 14999, 448, + 20381, 14999, 498, + 20381, 14999, 522, + 20381, 14999, 572, + 20381, 14999, 588, + 20381, 14999, 622, + 20381, 14999, 676, + 20381, 14999, 680, + 20381, 14999, 734, + 20381, 14999, 932, + 20381, 14999, 1044, + 20381, 14999, 1142, + 20381, 14999, 1164, + 20381, 14999, 1492, + 20381, 14999, 1796, + 20381, 14999, 1914, + 20381, 14999, 2152, + 20381, 14999, 2444, + 20381, 14999, 2492, + 20381, 14999, 2556, + 20381, 14999, 2676, + 20381, 14999, 3048, + 20381, 14999, 3114, + 20381, 14999, 3242, + 20381, 14999, 3322, + 20381, 14999, 6314, + 20381, 14999, 10264, + 20381, 14999, 17493, 22, + 20381, 14999, 17493, 34, + 20381, 14999, 17493, 396, + 20381, 14999, 17493, 582, + 20381, 19015, 9855, 12252, + 20387, 17075, 10641, 14393, 14496, + 20399, 9171, 968, + 20403, 485, 12398, + 20425, 13582, + 20450, + 20461, 17092, + 20466, + 20479, 6759, 497, 9296, + 20479, 13372, + 20479, 14418, + 20488, + 20508, + 20510, + 20513, 15672, + 20531, 1913, 15672, + 20541, 12580, + 20545, 18583, 14049, 20375, 11476, + 20547, 13581, 11477, 10641, 14851, 10092, + 20547, 13581, 11477, 10641, 20181, 10092, + 20561, 18098, + 20567, 15672, + 20568, + 20570, + 20579, 13630, + 20583, 634, + 20584, + 20586, + 20671, 12005, 635, 505, 19408, + 20671, 12005, 635, 505, 21096, + 20671, 17237, 12005, 635, 505, 19408, + 20671, 17237, 12005, 635, 505, 21096, + 20671, 17237, 19409, 505, 12005, 634, + 20671, 17237, 21097, 505, 12005, 634, + 20681, 634, + 20685, 8320, + 20685, 18511, 8320, + 20695, 13582, + 20723, 9786, + 20725, 13250, + 20727, 6793, 9956, + 20727, 7123, 6743, 13582, + 20727, 11762, + 20727, 12559, 10219, 8320, + 20727, 13582, + 20727, 15233, 10900, + 20727, 15451, 10219, 8320, + 20727, 16161, 8320, + 20727, 18025, 10219, 8320, + 20727, 19053, 10219, 8320, + 20727, 19371, 8320, + 20727, 19771, 7855, 6729, 19619, 15672, + 20727, 19771, 15673, 1397, 1141, 2610, + 20727, 19771, 15673, 1397, 1141, 3076, + 20727, 19771, 15673, 1397, 1141, 3232, + 20727, 19771, 15673, 1397, 1141, 3356, + 20727, 19771, 15673, 1397, 1141, 6756, + 20727, 19771, 15673, 1397, 1141, 6778, + 20727, 19771, 15673, 1397, 1141, 8780, + 20727, 19771, 15673, 1397, 1141, 11978, + 20727, 19771, 15673, 1397, 1141, 13450, + 20727, 19771, 15673, 1397, 1141, 13736, + 20727, 19771, 15673, 1397, 1141, 14638, + 20727, 19771, 15673, 1397, 1141, 15736, + 20727, 19771, 15673, 1397, 1141, 15818, + 20727, 19771, 15673, 1397, 1141, 15820, + 20727, 19771, 15673, 1397, 1141, 16400, + 20727, 19771, 15673, 1397, 1141, 17232, + 20727, 19771, 15673, 1397, 1141, 18010, + 20727, 19771, 15673, 1397, 1141, 18086, + 20727, 19771, 15673, 1397, 1141, 18362, + 20727, 19771, 15673, 1397, 1141, 18742, + 20727, 19771, 15673, 1397, 1141, 19622, + 20727, 19771, 15673, 1397, 1141, 20474, + 20727, 19771, 15673, 1397, 1141, 20492, + 20727, 19771, 15673, 1397, 1141, 20494, + 20727, 19771, 15673, 1397, 1141, 20496, + 20727, 19771, 15673, 1397, 1141, 20962, + 20727, 19771, 15673, 1397, 1141, 20964, + 20727, 19771, 15673, 1397, 1141, 20966, + 20727, 19771, 15673, 1397, 1141, 21260, + 20727, 19771, 15673, 1397, 1141, 21262, + 20727, 19771, 15673, 1397, 1141, 21264, + 20727, 19771, 15673, 1397, 2258, + 20727, 19771, 15673, 1397, 7311, 2610, + 20727, 19771, 15673, 1397, 7311, 3076, + 20727, 19771, 15673, 1397, 7311, 3232, + 20727, 19771, 15673, 1397, 7311, 3356, + 20727, 19771, 15673, 1397, 7311, 6756, + 20727, 19771, 15673, 1397, 7311, 6778, + 20727, 19771, 15673, 1397, 7311, 8780, + 20727, 19771, 15673, 1397, 7311, 10900, + 20727, 19771, 15673, 1397, 7311, 11978, + 20727, 19771, 15673, 1397, 7311, 13450, + 20727, 19771, 15673, 1397, 7311, 13736, + 20727, 19771, 15673, 1397, 7311, 14638, + 20727, 19771, 15673, 1397, 7311, 15818, + 20727, 19771, 15673, 1397, 7311, 15820, + 20727, 19771, 15673, 1397, 7311, 16400, + 20727, 19771, 15673, 1397, 7311, 17232, + 20727, 19771, 15673, 1397, 7311, 18010, + 20727, 19771, 15673, 1397, 7311, 18086, + 20727, 19771, 15673, 1397, 7311, 18362, + 20727, 19771, 15673, 1397, 7311, 18742, + 20727, 19771, 15673, 1397, 7311, 19622, + 20727, 19771, 15673, 1397, 7311, 20492, + 20727, 19771, 15673, 1397, 7311, 20496, + 20727, 19771, 15673, 1397, 7311, 20964, + 20727, 19771, 15673, 1397, 7311, 21264, + 20727, 19771, 15673, 1397, 7526, + 20727, 19771, 15673, 1397, 7528, + 20727, 19771, 15673, 1397, 11462, + 20727, 19771, 15673, 1397, 12664, + 20727, 19771, 15673, 1397, 14330, + 20727, 19771, 15673, 1397, 16540, + 20727, 19771, 15673, 1397, 16918, + 20727, 19771, 15673, 1397, 17822, + 20727, 19771, 15673, 1397, 18048, + 20727, 19771, 15673, 1397, 18376, + 20727, 19771, 15673, 1397, 19620, + 20727, 19825, 19352, + 20727, 19869, 2243, 8320, + 20727, 19869, 2611, 8320, + 20727, 19869, 3293, 8320, + 20727, 19869, 3357, 8320, + 20727, 19869, 6779, 8320, + 20727, 19869, 11969, 8320, + 20727, 19869, 12087, 8320, + 20727, 19869, 13729, 8320, + 20727, 19869, 13737, 8320, + 20727, 19869, 14393, 8320, + 20727, 19869, 14741, 8320, + 20727, 19869, 14827, 8320, + 20727, 19869, 15119, 8320, + 20727, 19869, 15507, 8320, + 20727, 19869, 16723, 8320, + 20727, 19869, 17123, 8320, + 20727, 20601, 18979, 6793, 18690, + 20727, 20601, 18979, 7817, 635, 13340, + 20727, 20601, 18979, 7817, 635, 15119, 843, 13340, + 20727, 20601, 18979, 11393, 635, 11552, + 20727, 20601, 18979, 11393, 635, 15119, 843, 11552, + 20727, 20601, 18979, 18398, + 20727, 20601, 18979, 18691, 6785, 7816, + 20727, 20601, 18979, 18691, 6785, 11392, + 20727, 20601, 18979, 18691, 6785, 11552, + 20727, 20601, 18979, 18691, 6785, 12589, 7816, + 20727, 20601, 18979, 18691, 6785, 13889, 7816, + 20727, 20601, 18979, 18691, 6785, 13889, 13340, + 20743, 6371, 15320, + 20743, 15592, + 20746, + 20749, 19869, 14284, + 20749, 19869, 19618, + 20749, 19869, 20470, + 20751, 14685, 843, 8315, 9854, + 20752, + 20765, 6752, + 20765, 15667, 9854, + 20765, 15667, 9855, 10641, 6430, + 20765, 17631, 18033, 9854, + 20767, 20197, 19516, + 20769, 14049, 20375, 11476, + 20779, 11742, + 20805, 6718, + 20827, 14033, 15672, + 20838, + 20849, 9854, + 20857, 6718, + 20858, + 20877, 13582, + 20879, 9854, + 20887, 18978, + 20902, + 20907, 15134, + 20910, + 20915, 829, 5843, 13563, 19594, + 20915, 829, 9967, 13563, 19594, + 20915, 829, 16079, 2632, + 20915, 829, 17313, 316, + 20915, 1337, 10638, + 20915, 1337, 11577, 15572, + 20915, 1337, 11577, 18336, + 20915, 2141, 12589, 9175, 13888, + 20915, 2141, 13889, 9175, 12588, + 20915, 2969, 15572, + 20915, 2969, 16064, + 20915, 2969, 18336, + 20915, 6556, + 20915, 6605, 7123, 9170, + 20915, 6605, 7123, 14496, + 20915, 6605, 9170, + 20915, 6605, 10633, 9170, + 20915, 6605, 14496, + 20915, 6605, 18632, + 20915, 6605, 18859, 18332, + 20915, 6719, 19073, 18477, 8851, 671, 505, 6434, + 20915, 6719, 19073, 18477, 8851, 671, 505, 6435, 17376, + 20915, 6719, 19073, 18477, 8851, 16421, 17376, + 20915, 6743, 20242, + 20915, 6743, 20244, + 20915, 6743, 20246, + 20915, 6743, 20248, + 20915, 6743, 20250, + 20915, 6793, 9956, + 20915, 7118, + 20915, 7138, + 20915, 7139, 2918, + 20915, 7139, 18333, 14486, + 20915, 7139, 23503, 10190, + 20915, 7139, 23503, 11782, + 20915, 7139, 23503, 18652, + 20915, 7139, 23533, 11782, + 20915, 7139, 23533, 18652, + 20915, 7851, 18232, + 20915, 7851, 18234, + 20915, 7851, 18236, + 20915, 7851, 18238, + 20915, 7851, 18240, + 20915, 7851, 18242, + 20915, 7851, 18244, + 20915, 7851, 20564, + 20915, 7863, 17069, 18758, + 20915, 8694, + 20915, 8851, 16174, + 20915, 8851, 16852, + 20915, 8851, 17514, + 20915, 8851, 18862, + 20915, 11605, 15572, + 20915, 11605, 16064, + 20915, 11605, 18336, + 20915, 11756, + 20915, 11762, + 20915, 12093, 12537, 15572, + 20915, 12093, 12537, 18336, + 20915, 12093, 13563, 15572, + 20915, 12093, 13563, 18336, + 20915, 12093, 20390, + 20915, 12229, 15572, + 20915, 12229, 16064, + 20915, 12229, 18336, + 20915, 12765, 7678, + 20915, 12765, 7679, 16420, + 20915, 12765, 7679, 18860, + 20915, 12765, 9171, 9172, + 20915, 12765, 9171, 9173, 10764, + 20915, 12765, 9171, 9173, 18860, + 20915, 12765, 9171, 14486, + 20915, 12765, 9171, 16420, + 20915, 12765, 9171, 18860, + 20915, 12765, 9171, 19566, + 20915, 12765, 9171, 19567, 10764, + 20915, 12765, 9171, 19567, 18860, + 20915, 12765, 12122, + 20915, 12765, 12123, 9170, + 20915, 12765, 12123, 18860, + 20915, 12765, 13568, + 20915, 12765, 13569, 9170, + 20915, 12765, 13569, 18860, + 20915, 12765, 13708, + 20915, 12765, 13709, 15652, + 20915, 12765, 13709, 16420, + 20915, 12765, 14497, 16174, + 20915, 12765, 14497, 16420, + 20915, 12765, 14497, 16852, + 20915, 12765, 16184, + 20915, 12765, 18863, 14624, + 20915, 12765, 18863, 15572, + 20915, 13698, + 20915, 13699, 497, 7862, + 20915, 13699, 497, 7863, 18332, + 20915, 13699, 497, 15776, + 20915, 13699, 497, 15777, 18332, + 20915, 13699, 5839, 7862, + 20915, 13699, 18332, + 20915, 13709, 14467, 2174, + 20915, 13709, 14467, 7170, + 20915, 13709, 14467, 15118, + 20915, 13803, 15572, + 20915, 13803, 16064, + 20915, 13803, 18336, + 20915, 13889, 5851, 17377, 6785, 1637, 14892, + 20915, 14405, 14654, + 20915, 14405, 14868, + 20915, 14467, 15400, + 20915, 14467, 15652, + 20915, 14467, 16852, + 20915, 14629, 18045, 671, 16852, + 20915, 14629, 18045, 6435, 16852, + 20915, 14629, 18045, 16853, 670, + 20915, 14629, 18045, 16853, 6434, + 20915, 14700, + 20915, 15639, 15572, + 20915, 15639, 16064, + 20915, 15639, 18336, + 20915, 15777, 3265, 16065, 7862, + 20915, 15777, 3265, 18765, 14875, 12764, + 20915, 15777, 12769, 15971, 11696, + 20915, 15777, 14455, 14875, 12764, + 20915, 15777, 14455, 18647, 2632, + 20915, 15777, 14875, 12765, 17114, + 20915, 15777, 16719, 7862, + 20915, 15777, 18647, 2633, 1356, + 20915, 16343, 6724, + 20915, 16343, 9880, + 20915, 16343, 12031, 13159, 10192, + 20915, 16343, 13708, + 20915, 16343, 16454, + 20915, 16343, 17114, + 20915, 16343, 18907, 12536, + 20915, 16343, 18907, 13562, + 20915, 16343, 21210, + 20915, 16343, 21211, 20526, + 20915, 17279, 12093, 20526, + 20915, 17279, 12537, 15572, + 20915, 17279, 12537, 18336, + 20915, 17279, 13563, 15572, + 20915, 17279, 13563, 18336, + 20915, 17279, 20390, + 20915, 17317, 16064, + 20915, 17317, 17322, + 20915, 18045, 18653, 670, + 20915, 18045, 18653, 6434, + 20915, 18045, 18653, 16852, + 20915, 18081, 16174, + 20915, 18081, 16852, + 20915, 18081, 18860, + 20915, 18122, + 20915, 18123, 469, 13738, + 20915, 18123, 6757, 16403, 15612, + 20915, 18123, 6757, 16403, 15613, 9170, + 20915, 18123, 9170, + 20915, 18123, 9171, 469, 13738, + 20915, 18123, 9171, 13739, 9844, + 20915, 18123, 9171, 13739, 16420, + 20915, 18123, 12388, + 20915, 18123, 12389, 9503, 15030, + 20915, 18123, 12389, 13738, + 20915, 18123, 12389, 13739, 9170, + 20915, 18123, 13739, 9844, + 20915, 18123, 13739, 16420, + 20915, 18123, 15119, 9503, 15030, + 20915, 18253, 7139, 8694, + 20915, 18253, 11890, + 20915, 18253, 12565, 14584, + 20915, 18253, 13798, + 20915, 18253, 14054, + 20915, 18253, 14830, + 20915, 18551, 20242, + 20915, 18551, 20244, + 20915, 18551, 20246, + 20915, 18551, 20248, + 20915, 18551, 20250, + 20915, 18551, 20252, + 20915, 18551, 20254, + 20915, 18551, 20256, + 20915, 18551, 20790, + 20915, 18551, 20792, + 20915, 18551, 20794, + 20915, 18551, 20796, + 20915, 18551, 20798, + 20915, 18551, 20800, + 20915, 18551, 20802, + 20915, 18595, 1637, 13590, + 20915, 18595, 1637, 19534, + 20915, 18595, 17377, 6785, 14024, + 20915, 19251, 670, + 20915, 19251, 6434, + 20915, 19251, 20144, + 20915, 19312, + 20915, 19313, 469, 13738, + 20915, 19313, 6779, 16403, 19010, + 20915, 19313, 12389, 13739, 11783, 13739, 14874, + 20915, 19313, 13739, 9844, + 20915, 19313, 13739, 16420, + 20915, 19313, 15119, 9503, 15031, 19010, + 20915, 19313, 15119, 9503, 15031, 19011, 9844, + 20915, 19314, + 20915, 19315, 6779, 16403, 19011, 5814, + 20915, 19315, 7142, + 20915, 19315, 9503, 670, + 20915, 19315, 9503, 6434, + 20915, 19315, 9503, 12388, + 20915, 19315, 9503, 13738, + 20915, 19315, 9503, 15030, + 20915, 19315, 9503, 15118, + 20915, 19315, 9503, 15119, 15423, 18214, + 20915, 19315, 9503, 15119, 19010, + 20915, 19315, 9503, 15423, 16586, + 20915, 19315, 12388, + 20915, 19315, 12389, 671, 15119, 14844, + 20915, 19315, 12389, 671, 15119, 14845, 13739, 9844, + 20915, 19315, 12389, 671, 15119, 14845, 13739, 19010, + 20915, 19315, 12389, 5814, + 20915, 19315, 12389, 5815, 9175, 15118, + 20915, 19315, 12389, 9503, 15030, + 20915, 19315, 12389, 13739, 7292, + 20915, 19315, 12389, 13739, 9844, + 20915, 19315, 12389, 13739, 9845, 5865, 5814, + 20915, 19315, 12389, 13739, 9845, 12389, 5814, + 20915, 19315, 12389, 13739, 9845, 12389, 12282, + 20915, 19315, 12389, 13739, 9845, 13739, 5814, + 20915, 19315, 12389, 13739, 9845, 13739, 17838, + 20915, 19315, 12389, 13739, 9845, 13739, 19010, + 20915, 19315, 12389, 13739, 11783, 13739, 13882, + 20915, 19315, 12389, 13739, 11783, 13739, 14874, + 20915, 19315, 12389, 13739, 14289, 317, 15119, 670, + 20915, 19315, 12389, 13739, 14289, 2633, 15119, 670, + 20915, 19315, 12389, 13739, 14486, + 20915, 19315, 12389, 13739, 14535, 15119, 670, + 20915, 19315, 12389, 13739, 14851, 15119, 670, + 20915, 19315, 12389, 13739, 14851, 15119, 14844, + 20915, 19315, 12389, 13739, 16153, 15119, 670, + 20915, 19315, 12389, 13739, 16421, 12389, 5814, + 20915, 19315, 12389, 13739, 16421, 12389, 18652, + 20915, 19315, 12389, 13739, 17800, + 20915, 19315, 12389, 14534, + 20915, 19315, 12389, 14844, + 20915, 19315, 12389, 14845, 2174, + 20915, 19315, 12389, 14845, 15119, 670, + 20915, 19315, 12389, 14845, 15119, 671, 13739, 9844, + 20915, 19315, 12389, 15118, + 20915, 19315, 12389, 15119, 671, 15613, 13739, 16420, + 20915, 19315, 12389, 15119, 5814, + 20915, 19315, 12389, 15119, 5815, 13739, 18652, + 20915, 19315, 12389, 15119, 9502, + 20915, 19315, 12389, 15119, 9503, 5814, + 20915, 19315, 12389, 15119, 9503, 19010, + 20915, 19315, 12389, 15119, 11773, 15030, + 20915, 19315, 12389, 15119, 13738, + 20915, 19315, 12389, 15119, 13739, 5814, + 20915, 19315, 12389, 15119, 13739, 14288, + 20915, 19315, 12389, 15119, 13739, 14289, 2632, + 20915, 19315, 12389, 15119, 13739, 14534, + 20915, 19315, 12389, 15119, 13739, 14844, + 20915, 19315, 12389, 15119, 13739, 14850, + 20915, 19315, 12389, 15119, 13739, 16152, + 20915, 19315, 12389, 15119, 13739, 19011, 14844, + 20915, 19315, 12389, 15119, 14844, + 20915, 19315, 12389, 15119, 14845, 15613, 13739, 9844, + 20915, 19315, 12389, 15119, 15030, + 20915, 19315, 12389, 15119, 15423, 18214, + 20915, 19315, 12389, 15119, 16196, + 20915, 19315, 12389, 15119, 16197, 13739, 9844, + 20915, 19315, 12389, 15119, 18653, 13739, 5814, + 20915, 19315, 12389, 15119, 19010, + 20915, 19315, 12389, 15119, 19011, 12389, 5814, + 20915, 19315, 12389, 15119, 19011, 13739, 9844, + 20915, 19315, 12389, 15119, 19011, 13739, 9845, 5814, + 20915, 19315, 12389, 15119, 19011, 13739, 9845, 19010, + 20915, 19315, 12389, 15119, 19011, 13739, 16420, + 20915, 19315, 12389, 15119, 19011, 14534, + 20915, 19315, 12389, 15119, 19011, 14535, 13739, 16420, + 20915, 19315, 12389, 15119, 19011, 14844, + 20915, 19315, 12389, 15119, 19011, 14845, 13739, 9844, + 20915, 19315, 12389, 15119, 19011, 15119, 5814, + 20915, 19315, 12389, 15423, 16586, + 20915, 19315, 13738, + 20915, 19315, 13739, 7142, + 20915, 19315, 13739, 9175, 3357, 16402, + 20915, 19315, 13739, 9175, 6779, 15423, 18214, + 20915, 19315, 13739, 9845, 5814, + 20915, 19315, 13739, 9845, 17838, + 20915, 19315, 13739, 9845, 19010, + 20915, 19315, 13739, 13883, 3357, 16402, + 20915, 19315, 13739, 13883, 6779, 16402, + 20915, 19315, 13739, 13883, 12389, 5814, + 20915, 19315, 13739, 13883, 13737, 16402, + 20915, 19315, 13739, 13883, 15031, 670, + 20915, 19315, 13739, 16065, 9503, 15030, + 20915, 19315, 13739, 16065, 12389, 15118, + 20915, 19315, 13739, 16065, 12389, 15119, 18652, + 20915, 19315, 13739, 16065, 15119, 9502, + 20915, 19315, 13739, 16420, + 20915, 19315, 15031, 670, + 20915, 19315, 15031, 5814, + 20915, 19315, 15031, 6434, + 20915, 19315, 15031, 6435, 15273, 16152, + 20915, 19315, 15031, 6435, 15449, 14536, + 20915, 19315, 15031, 6435, 15449, 18652, + 20915, 19315, 15031, 12388, + 20915, 19315, 15031, 12389, 13738, + 20915, 19315, 15031, 13738, + 20915, 19315, 15031, 15423, 16586, + 20915, 19315, 15031, 17387, 13738, + 20915, 19315, 15119, 670, + 20915, 19315, 15119, 671, 13739, 9844, + 20915, 19315, 15119, 5815, 9175, 12388, + 20915, 19315, 15119, 6434, + 20915, 19315, 15119, 9503, 15030, + 20915, 19315, 15119, 13739, 14289, 2633, 12389, 670, + 20915, 19315, 15119, 13739, 14289, 2633, 12389, 16196, + 20915, 19315, 15119, 13739, 14289, 12389, 670, + 20915, 19315, 15119, 13739, 14535, 12389, 670, + 20915, 19315, 15119, 13739, 14851, 12389, 670, + 20915, 19315, 15119, 13739, 15030, + 20915, 19315, 15119, 13739, 16153, 12389, 670, + 20915, 19315, 15119, 13739, 16153, 12389, 14844, + 20915, 19315, 15119, 15030, + 20915, 19315, 15119, 15423, 16586, + 20915, 19316, + 20915, 19317, 6757, 16403, 15612, + 20915, 19317, 6757, 16403, 15613, 5814, + 20915, 19317, 6757, 16403, 15613, 6779, 5814, + 20915, 19317, 6757, 16403, 15613, 13739, 16420, + 20915, 19317, 6757, 16403, 15613, 14844, + 20915, 19317, 6757, 16403, 15613, 14845, 469, 13738, + 20915, 19317, 6757, 16403, 15613, 14845, 13739, 9844, + 20915, 19317, 6779, 16402, + 20915, 19317, 6779, 16403, 5814, + 20915, 19317, 6779, 16403, 14844, + 20915, 19317, 6779, 16403, 19010, + 20915, 19317, 6779, 16403, 19011, 13592, + 20915, 19317, 7142, + 20915, 19317, 7143, 6757, 16403, 15612, + 20915, 19317, 7143, 6757, 16403, 15613, 5814, + 20915, 19317, 7143, 6757, 16403, 15613, 6779, 5814, + 20915, 19317, 7143, 13739, 9844, + 20915, 19317, 13593, 12389, 13739, 9844, + 20915, 19317, 13593, 14454, + 20915, 19317, 13593, 14455, 13739, 9844, + 20915, 19317, 13593, 14455, 13739, 9845, 5814, + 20915, 19317, 13593, 15030, + 20915, 19317, 13739, 5814, + 20915, 19317, 13739, 9844, + 20915, 19317, 13739, 16420, + 20915, 19317, 16065, 9209, 16382, + 20915, 19318, + 20915, 19319, 9503, 13738, + 20915, 19319, 12389, 9503, 15031, 316, + 20915, 19319, 12389, 9503, 15031, 2632, + 20915, 19319, 12389, 9503, 15031, 13882, + 20915, 19319, 15119, 9503, 15031, 19010, + 20915, 19319, 15119, 9503, 15031, 19011, 316, + 20915, 19319, 15119, 9503, 15031, 19011, 2632, + 20915, 19319, 15119, 13738, + 20915, 19319, 17800, + 20915, 19320, + 20915, 19321, 469, 13738, + 20915, 19321, 6757, 16403, 15612, + 20915, 19321, 9503, 15030, + 20915, 19321, 12388, + 20915, 19321, 13739, 9844, + 20915, 19321, 13739, 16420, + 20915, 19321, 15031, 670, + 20915, 19614, + 20915, 19841, 18595, 1637, 8462, + 20915, 20128, + 20915, 20143, 18595, 1637, 8462, + 20915, 20162, + 20915, 20163, 9503, 6435, 15119, 13739, 12389, 11772, + 20915, 20163, 9503, 15030, + 20915, 20163, 12388, + 20915, 20163, 12389, 9503, 15030, + 20915, 20163, 12389, 9503, 15031, 2632, + 20915, 20163, 12389, 13738, + 20915, 20163, 12389, 13739, 316, + 20915, 20163, 12389, 13739, 2632, + 20915, 20163, 12389, 15119, 9502, + 20915, 20163, 12389, 15119, 15030, + 20915, 20163, 15031, 670, + 20915, 20163, 15031, 12388, + 20915, 20163, 15031, 12389, 13739, 12389, 13738, + 20915, 20163, 15031, 12389, 13739, 12389, 13739, 2632, + 20915, 20163, 15119, 9503, 15030, + 20915, 20163, 15119, 9503, 15031, 316, + 20915, 20163, 15119, 9503, 15031, 2632, + 20915, 20164, + 20915, 20165, 469, 13738, + 20915, 20165, 6757, 16403, 15613, 9170, + 20915, 20165, 6779, 16403, 19010, + 20915, 20165, 9170, + 20915, 20165, 9171, 469, 13738, + 20915, 20165, 9171, 13739, 9844, + 20915, 20165, 9171, 13739, 16420, + 20915, 20165, 9502, + 20915, 20165, 9503, 6435, 12389, 13739, 7293, 15118, + 20915, 20165, 12388, + 20915, 20165, 12389, 9503, 15030, + 20915, 20165, 12389, 13738, + 20915, 20165, 12389, 13739, 9170, + 20915, 20165, 12389, 13739, 9844, + 20915, 20165, 12389, 13739, 12536, + 20915, 20165, 12389, 13739, 13562, + 20915, 20165, 12389, 14844, + 20915, 20165, 12389, 15119, 9502, + 20915, 20165, 12389, 15119, 9503, 19010, + 20915, 20165, 12389, 15119, 15030, + 20915, 20165, 13562, + 20915, 20165, 13739, 9844, + 20915, 20165, 13739, 9845, 18765, 12388, + 20915, 20165, 13739, 16065, 15119, 9502, + 20915, 20165, 15030, + 20915, 20165, 15031, 12388, + 20915, 20165, 15031, 12389, 13738, + 20915, 20165, 15031, 13738, + 20915, 20165, 15118, + 20915, 20165, 15119, 9503, 15030, + 20915, 20708, + 20915, 20709, 9503, 15030, + 20915, 20709, 12388, + 20915, 20709, 12389, 5814, + 20915, 20709, 12389, 9503, 15030, + 20915, 20709, 12389, 12282, + 20915, 20709, 12389, 15118, + 20915, 20709, 12389, 15119, 9502, + 20915, 20709, 12389, 15119, 11773, 15030, + 20915, 20709, 12389, 15119, 13738, + 20915, 20709, 12389, 15119, 15030, + 20915, 20709, 12389, 15119, 16196, + 20915, 20709, 15031, 670, + 20915, 20709, 15031, 12388, + 20915, 20709, 15119, 670, + 20915, 20709, 15119, 9503, 15030, + 20915, 20709, 15119, 9503, 15031, 5814, + 20915, 20846, + 20915, 22836, + 20915, 22837, 9170, + 20915, 22837, 12389, 9503, 15031, 496, + 20915, 22837, 15119, 9503, 15031, 496, + 20915, 23109, 671, 6435, 12536, + 20915, 23109, 671, 6435, 13562, + 20915, 23109, 671, 6435, 20527, 12536, + 20915, 23109, 671, 6435, 20527, 13562, + 20915, 23109, 671, 20390, + 20915, 23109, 6435, 20390, + 20915, 23109, 9845, 635, 9845, 18566, + 20915, 23303, 14537, 5812, + 20915, 23303, 18653, 17300, + 20915, 23441, 18818, + 20915, 23443, 863, 15605, 14624, + 20915, 23443, 863, 15605, 15572, + 20915, 23443, 863, 15605, 15780, + 20915, 23443, 17198, + 20915, 23443, 23519, 14624, + 20915, 23443, 23519, 15572, + 20915, 23443, 23519, 20526, + 20915, 23443, 23545, 14624, + 20915, 23443, 23545, 15572, + 20915, 23443, 23545, 20526, + 20915, 23453, 14536, + 20915, 23453, 17752, + 20915, 23453, 18652, + 20915, 23453, 18653, 14624, + 20915, 23453, 18653, 20526, + 20915, 23461, 5307, 12536, + 20915, 23461, 5307, 13562, + 20915, 23461, 5307, 15094, + 20915, 23461, 5307, 16700, + 20915, 23461, 16065, 5307, 12536, + 20915, 23461, 16065, 5307, 13562, + 20915, 23461, 16065, 5307, 15094, + 20915, 23461, 16065, 5307, 16700, + 20915, 23461, 16065, 17389, 12536, + 20915, 23461, 16065, 17389, 13562, + 20915, 23461, 16065, 17389, 15094, + 20915, 23461, 16065, 17389, 16700, + 20915, 23461, 17389, 12536, + 20915, 23461, 17389, 13562, + 20915, 23461, 17389, 15094, + 20915, 23461, 17389, 16700, + 20915, 23487, 17198, + 20915, 23487, 23519, 14624, + 20915, 23487, 23519, 15572, + 20915, 23487, 23519, 20526, + 20915, 23487, 23545, 14624, + 20915, 23487, 23545, 15572, + 20915, 23487, 23545, 20526, + 20915, 23493, 14536, + 20915, 23493, 18652, + 20915, 23493, 18653, 14624, + 20915, 23493, 18653, 20526, + 20915, 23499, 13582, + 20915, 23503, 863, 14487, 13563, 14624, + 20915, 23503, 863, 14487, 13563, 15572, + 20915, 23503, 863, 14487, 15095, 14624, + 20915, 23503, 863, 14487, 15095, 15572, + 20915, 23503, 969, 12536, + 20915, 23503, 969, 13562, + 20915, 23503, 969, 15094, + 20915, 23503, 1786, + 20915, 23503, 5813, 12536, + 20915, 23503, 5813, 13562, + 20915, 23503, 5813, 15094, + 20915, 23503, 7321, 12536, + 20915, 23503, 7321, 13562, + 20915, 23503, 7321, 15094, + 20915, 23503, 7321, 16495, 11704, + 20915, 23503, 7321, 16495, 12121, 10618, + 20915, 23503, 7889, 12536, + 20915, 23503, 7889, 13562, + 20915, 23503, 7889, 13563, 14624, + 20915, 23503, 7889, 15094, + 20915, 23503, 7889, 16495, 11704, + 20915, 23503, 7889, 16495, 12121, 10618, + 20915, 23503, 10621, 11783, 14625, 12536, + 20915, 23503, 10621, 11783, 14625, 13562, + 20915, 23503, 10621, 11783, 14625, 15094, + 20915, 23503, 10621, 11783, 15781, 12536, + 20915, 23503, 10621, 11783, 15781, 13562, + 20915, 23503, 10621, 11783, 15781, 15094, + 20915, 23503, 10621, 16495, 11704, + 20915, 23503, 10621, 16495, 12121, 10618, + 20915, 23503, 10621, 17839, 9219, 12536, + 20915, 23503, 10621, 17839, 9219, 13562, + 20915, 23503, 10621, 17839, 9219, 15094, + 20915, 23503, 11695, 12536, + 20915, 23503, 11695, 13562, + 20915, 23503, 11695, 15094, + 20915, 23503, 11772, + 20915, 23503, 11783, 10155, 18652, + 20915, 23503, 11783, 16495, 11704, + 20915, 23503, 11783, 16495, 12121, 10618, + 20915, 23503, 11783, 17087, 12536, + 20915, 23503, 11783, 17087, 13562, + 20915, 23503, 11783, 17087, 15094, + 20915, 23503, 11783, 17087, 16700, + 20915, 23503, 11783, 20707, 12536, + 20915, 23503, 11783, 20707, 13562, + 20915, 23503, 11783, 20707, 15094, + 20915, 23503, 11783, 20707, 16700, + 20915, 23503, 11783, 22943, 14487, 13562, + 20915, 23503, 11783, 22943, 14487, 15094, + 20915, 23503, 13203, 12536, + 20915, 23503, 13203, 13562, + 20915, 23503, 13203, 15094, + 20915, 23503, 14071, 14487, 12121, 14624, + 20915, 23503, 14071, 14487, 12121, 15572, + 20915, 23503, 14519, 12536, + 20915, 23503, 14519, 13562, + 20915, 23503, 14519, 15094, + 20915, 23503, 14519, 18550, + 20915, 23503, 14537, 11773, 13562, + 20915, 23503, 14537, 11773, 15094, + 20915, 23503, 14625, 14071, 6762, + 20915, 23503, 14625, 18652, + 20915, 23503, 14625, 20526, + 20915, 23503, 14625, 20527, 14071, 6762, + 20915, 23503, 14701, 16155, 14624, + 20915, 23503, 14701, 16155, 15572, + 20915, 23503, 14701, 16174, + 20915, 23503, 15573, 14071, 6762, + 20915, 23503, 15573, 18653, 12536, + 20915, 23503, 15573, 18653, 13562, + 20915, 23503, 15573, 18653, 15094, + 20915, 23503, 15573, 18653, 16700, + 20915, 23503, 15781, 14071, 6762, + 20915, 23503, 15781, 18653, 18332, + 20915, 23503, 15781, 20526, + 20915, 23503, 15781, 20527, 14071, 6762, + 20915, 23503, 15945, 12536, + 20915, 23503, 15945, 13562, + 20915, 23503, 15945, 15094, + 20915, 23503, 17198, + 20915, 23519, 14624, + 20915, 23519, 14625, 16495, 11704, + 20915, 23519, 14625, 16495, 12121, 10618, + 20915, 23519, 15572, + 20915, 23519, 15573, 16495, 11704, + 20915, 23519, 15573, 16495, 12121, 10618, + 20915, 23519, 18890, + 20915, 23519, 20527, 16495, 11704, + 20915, 23519, 20527, 16495, 12121, 10618, + 20915, 23531, 13582, + 20915, 23533, 863, 14487, 16495, 10619, 12537, 14624, + 20915, 23533, 863, 14487, 16495, 10619, 12537, 15572, + 20915, 23533, 863, 14487, 16495, 10619, 13563, 14624, + 20915, 23533, 863, 14487, 16495, 10619, 13563, 15572, + 20915, 23533, 863, 14487, 16495, 10619, 15095, 14624, + 20915, 23533, 863, 14487, 16495, 10619, 15095, 15572, + 20915, 23533, 969, 12536, + 20915, 23533, 969, 13562, + 20915, 23533, 969, 15094, + 20915, 23533, 1786, + 20915, 23533, 5812, + 20915, 23533, 7321, 13562, + 20915, 23533, 7321, 16495, 12095, 12537, 14624, + 20915, 23533, 7321, 16495, 12095, 13563, 14624, + 20915, 23533, 7321, 16495, 12095, 15781, 12537, 15780, + 20915, 23533, 7321, 16495, 12095, 15781, 13563, 15780, + 20915, 23533, 7321, 16495, 16123, 12537, 14624, + 20915, 23533, 7321, 16495, 16123, 12537, 15780, + 20915, 23533, 7321, 16495, 16123, 13563, 14624, + 20915, 23533, 7321, 16495, 16123, 13563, 15780, + 20915, 23533, 7889, 13562, + 20915, 23533, 7889, 16495, 12095, 12537, 14624, + 20915, 23533, 7889, 16495, 12095, 12537, 15572, + 20915, 23533, 7889, 16495, 12095, 13563, 14624, + 20915, 23533, 7889, 16495, 12095, 13563, 15572, + 20915, 23533, 7889, 16495, 16123, 12537, 14624, + 20915, 23533, 7889, 16495, 16123, 12537, 15572, + 20915, 23533, 7889, 16495, 16123, 13563, 14624, + 20915, 23533, 7889, 16495, 16123, 13563, 15572, + 20915, 23533, 10621, 12536, + 20915, 23533, 10621, 13562, + 20915, 23533, 10621, 13572, + 20915, 23533, 10621, 16495, 12095, 12536, + 20915, 23533, 10621, 16495, 12095, 13562, + 20915, 23533, 10621, 16495, 16123, 12536, + 20915, 23533, 10621, 16495, 16123, 13562, + 20915, 23533, 11694, + 20915, 23533, 11772, + 20915, 23533, 11783, 12536, + 20915, 23533, 11783, 13562, + 20915, 23533, 11783, 15094, + 20915, 23533, 11783, 16495, 12095, 12536, + 20915, 23533, 11783, 16495, 12095, 13562, + 20915, 23533, 11783, 16495, 16123, 12536, + 20915, 23533, 11783, 16495, 16123, 13562, + 20915, 23533, 11783, 16700, + 20915, 23533, 11783, 17770, + 20915, 23533, 13203, 12536, + 20915, 23533, 13203, 13562, + 20915, 23533, 13203, 15094, + 20915, 23533, 14071, 14487, 16495, 10619, 14624, + 20915, 23533, 14071, 14487, 16495, 10619, 15572, + 20915, 23533, 14519, 12536, + 20915, 23533, 14519, 13562, + 20915, 23533, 14519, 15094, + 20915, 23533, 14625, 14071, 6762, + 20915, 23533, 14625, 18652, + 20915, 23533, 14625, 20526, + 20915, 23533, 14625, 20527, 14071, 6762, + 20915, 23533, 14701, 16155, 16495, 10619, 14624, + 20915, 23533, 14701, 16155, 16495, 10619, 15572, + 20915, 23533, 14701, 16174, + 20915, 23533, 15573, 14071, 6762, + 20915, 23533, 15573, 18653, 12536, + 20915, 23533, 15573, 18653, 13562, + 20915, 23533, 15573, 18653, 15094, + 20915, 23533, 15573, 18653, 16700, + 20915, 23533, 15781, 14071, 6762, + 20915, 23533, 15781, 18653, 18332, + 20915, 23533, 15781, 20527, 14071, 6762, + 20915, 23533, 15781, 20527, 18332, + 20915, 23533, 15945, 12536, + 20915, 23533, 15945, 13562, + 20915, 23533, 15945, 15094, + 20915, 23533, 17199, 18430, + 20915, 23545, 14624, + 20915, 23545, 14625, 16495, 12094, + 20915, 23545, 14625, 16495, 16122, + 20915, 23545, 15572, + 20915, 23545, 15573, 16495, 12094, + 20915, 23545, 15573, 16495, 16122, + 20915, 23545, 20526, + 20915, 23545, 20527, 16495, 12094, + 20915, 23545, 20527, 16495, 16122, + 20924, + 20937, 2610, + 20937, 3076, + 20937, 3356, + 20937, 6756, + 20937, 6778, + 20937, 7817, 20846, + 20937, 8780, + 20937, 9287, 9854, + 20937, 10900, + 20937, 11978, + 20937, 12541, 13563, 14999, 16, + 20937, 12541, 13563, 14999, 26, + 20937, 12740, + 20937, 13341, 20846, + 20937, 13450, + 20937, 13736, + 20937, 14647, 9854, + 20948, + 20959, 21124, + 20971, 9854, + 20973, 2897, 18774, + 20973, 13563, 2897, 18774, + 20973, 13563, 17588, + 20973, 17588, + 20973, 18309, 17588, + 20973, 18775, 10641, 7817, 7123, 11570, + 20973, 18775, 10641, 13341, 7123, 11570, + 20977, 6718, + 20980, + 20983, 18019, 18098, + 20985, 12973, 6561, 5741, 11476, + 20985, 12973, 6561, 10533, 12277, 5741, 11476, + 20985, 12973, 6561, 12277, 5741, 11476, + 20985, 12973, 6561, 12563, 5741, 11476, + 20985, 12973, 6561, 15095, 5741, 11476, + 20985, 12973, 10629, 5741, 11476, + 20985, 12973, 10629, 10533, 12277, 5741, 11476, + 20985, 12973, 10629, 12277, 5741, 11476, + 20985, 12973, 10629, 12563, 5741, 11476, + 20985, 12973, 10629, 15095, 5741, 11476, + 20985, 13581, 6561, 5741, 11476, + 20985, 13581, 6561, 10533, 12277, 5741, 11476, + 20985, 13581, 6561, 12277, 5741, 11476, + 20985, 13581, 6561, 12563, 5741, 11476, + 20985, 13581, 6561, 15095, 5741, 11476, + 20985, 13581, 10629, 5741, 11476, + 20985, 13581, 10629, 10533, 12277, 5741, 11476, + 20985, 13581, 10629, 12277, 5741, 11476, + 20985, 13581, 10629, 12563, 5741, 11476, + 20985, 13581, 10629, 15095, 5741, 11476, + 20985, 17463, 5741, 11476, + 20985, 17463, 10533, 12277, 5741, 11476, + 20985, 17463, 12277, 5741, 11476, + 20985, 17463, 12563, 5741, 11476, + 20985, 17463, 15095, 5741, 11476, + 20985, 19215, 5741, 11476, + 20985, 19215, 10533, 12277, 5741, 11476, + 20985, 19215, 12277, 5741, 11476, + 20985, 19215, 12563, 5741, 11476, + 20985, 19215, 15095, 5741, 11476, + 20985, 19407, 5741, 11476, + 20985, 19407, 10533, 12277, 5741, 11476, + 20985, 19407, 12277, 5741, 11476, + 20985, 19407, 12563, 5741, 11476, + 20985, 19407, 15095, 5741, 11476, + 20985, 20375, 5741, 11476, + 20985, 20375, 10533, 12277, 5741, 11476, + 20985, 20375, 12277, 5741, 11476, + 20985, 20375, 12563, 5741, 11476, + 20985, 20375, 15095, 5741, 11476, + 20994, + 20997, 505, 19020, + 21003, 2671, 3233, 18745, 9854, + 21003, 2671, 12739, 9854, + 21003, 6113, 9520, + 21003, 11905, 2610, + 21003, 11905, 3076, + 21003, 11905, 3356, + 21003, 11905, 6756, + 21003, 11905, 6778, + 21003, 11905, 8780, + 21003, 11905, 10900, + 21003, 11905, 11978, + 21003, 11905, 13450, + 21003, 11905, 13736, + 21003, 14741, 9520, + 21009, 15673, 1397, 15848, + 21023, 16111, 4, + 21023, 16111, 14, + 21023, 16111, 16, + 21023, 16111, 34, + 21023, 16111, 50, + 21033, 46, + 21039, 9854, + 21039, 15908, + 21044, + 21061, 987, 18527, 6718, + 21061, 6718, + 21079, 18334, + 21083, 11571, 14486, + 21083, 11571, 15620, + 21083, 11571, 16248, + 21083, 14049, 14486, + 21083, 14049, 15620, + 21083, 14049, 16248, + 21084, + 21087, 5719, 11706, + 21089, 18583, 14049, 20375, 11476, + 21097, 505, 12005, 634, + 21097, 505, 17237, 12005, 634, + 21097, 505, 17237, 12005, 635, 10641, 1217, 11392, + 21097, 505, 17237, 12005, 635, 10641, 1217, 11393, 7816, + 21097, 505, 17237, 12005, 635, 10641, 1217, 14874, + 21097, 505, 19408, + 21097, 505, 20127, 634, + 21097, 505, 20536, + 21097, 843, 2511, 20536, + 21097, 843, 20917, 2511, 12005, 634, + 21097, 987, 2511, 12005, 634, + 21097, 987, 2511, 20127, 634, + 21097, 9175, 12005, 634, + 21097, 9854, + 21097, 10641, 1216, + 21097, 10641, 14487, 14874, + 21097, 10641, 18511, 8321, 11392, + 21097, 11393, 17223, 505, 12004, + 21097, 11393, 17223, 11393, 19408, + 21097, 11393, 17237, 12005, 11393, 19409, 11393, 17237, 12004, + 21097, 11393, 19409, 11393, 20671, 12004, + 21097, 11393, 20375, 11476, + 21097, 11393, 20671, 12005, 11393, 19408, + 21097, 12005, 635, 505, 19408, + 21097, 14373, 19408, + 21097, 14497, 123, 11782, + 21097, 14497, 123, 11783, 11393, 17237, 12004, + 21097, 20833, 19408, + 21103, 15134, + 21110, + 21112, + 21124, + 21125, 10641, 1216, + 21125, 10641, 16727, 842, + 21125, 10641, 16946, + 21125, 11393, 897, 11393, 13884, + 21125, 11393, 13884, + 21125, 14373, 843, 14889, 10641, 21124, + 21147, 5853, 537, 15672, + 21147, 5853, 2681, 15672, + 21147, 5853, 2915, 15672, + 21147, 5853, 11905, 2610, + 21147, 5853, 11905, 3076, + 21147, 5853, 11905, 3356, + 21147, 5853, 11905, 6756, + 21147, 5853, 11905, 6778, + 21147, 5853, 11905, 8780, + 21147, 5853, 11905, 10900, + 21147, 5853, 11905, 11978, + 21147, 5853, 11905, 13450, + 21147, 5853, 11905, 13736, + 21147, 5853, 12435, 15672, + 21147, 5853, 12802, + 21147, 5853, 13563, 0, + 21147, 5853, 13563, 2, + 21147, 5853, 13563, 4, + 21147, 5853, 13563, 6, + 21147, 5853, 13563, 8, + 21147, 5853, 13563, 10, + 21147, 5853, 13563, 12, + 21147, 5853, 13563, 14, + 21147, 5853, 13563, 16, + 21147, 5853, 13563, 18, + 21147, 5853, 13563, 20, + 21147, 5853, 13563, 22, + 21147, 5853, 13563, 24, + 21147, 5853, 13563, 26, + 21147, 5853, 13563, 28, + 21147, 5853, 13563, 30, + 21147, 5853, 13563, 32, + 21147, 5853, 13563, 34, + 21147, 5853, 13563, 36, + 21147, 5853, 13563, 38, + 21147, 5853, 13563, 40, + 21147, 5853, 13563, 42, + 21147, 5853, 13563, 44, + 21147, 5853, 13563, 46, + 21147, 5853, 13563, 48, + 21147, 5853, 13563, 50, + 21147, 5853, 13563, 440, + 21147, 5853, 13563, 472, + 21147, 5853, 13563, 536, + 21147, 5853, 13563, 724, + 21147, 5853, 13563, 1048, + 21147, 5853, 13563, 1326, + 21147, 5853, 13563, 2680, + 21147, 5853, 13563, 2722, + 21147, 5853, 13563, 2914, + 21147, 5853, 13563, 3216, + 21147, 5853, 13563, 5816, + 21147, 5853, 13563, 7438, + 21147, 5853, 13563, 10902, + 21147, 5853, 13563, 11436, + 21147, 5853, 13563, 11888, + 21147, 5853, 13563, 12085, 13530, + 21147, 5853, 13563, 12156, + 21147, 5853, 13563, 12434, + 21147, 5853, 13563, 12528, + 21147, 5853, 13563, 13144, + 21147, 5853, 13563, 13530, + 21147, 5853, 13563, 13718, + 21147, 5853, 13563, 16252, + 21147, 5853, 13563, 16376, + 21147, 5853, 13563, 16926, + 21147, 5853, 13563, 17460, + 21147, 5853, 13719, 15672, + 21147, 5853, 14883, 537, 15672, + 21147, 5853, 14883, 2681, 15672, + 21147, 5853, 14883, 2915, 15672, + 21147, 5853, 14883, 12435, 15672, + 21147, 5853, 14883, 12802, + 21147, 5853, 14883, 13563, 0, + 21147, 5853, 14883, 13563, 2, + 21147, 5853, 14883, 13563, 4, + 21147, 5853, 14883, 13563, 6, + 21147, 5853, 14883, 13563, 8, + 21147, 5853, 14883, 13563, 10, + 21147, 5853, 14883, 13563, 12, + 21147, 5853, 14883, 13563, 14, + 21147, 5853, 14883, 13563, 16, + 21147, 5853, 14883, 13563, 18, + 21147, 5853, 14883, 13563, 20, + 21147, 5853, 14883, 13563, 22, + 21147, 5853, 14883, 13563, 24, + 21147, 5853, 14883, 13563, 26, + 21147, 5853, 14883, 13563, 28, + 21147, 5853, 14883, 13563, 30, + 21147, 5853, 14883, 13563, 32, + 21147, 5853, 14883, 13563, 34, + 21147, 5853, 14883, 13563, 36, + 21147, 5853, 14883, 13563, 38, + 21147, 5853, 14883, 13563, 40, + 21147, 5853, 14883, 13563, 42, + 21147, 5853, 14883, 13563, 44, + 21147, 5853, 14883, 13563, 46, + 21147, 5853, 14883, 13563, 48, + 21147, 5853, 14883, 13563, 50, + 21147, 5853, 14883, 13563, 440, + 21147, 5853, 14883, 13563, 472, + 21147, 5853, 14883, 13563, 536, + 21147, 5853, 14883, 13563, 724, + 21147, 5853, 14883, 13563, 1048, + 21147, 5853, 14883, 13563, 1326, + 21147, 5853, 14883, 13563, 2680, + 21147, 5853, 14883, 13563, 2722, + 21147, 5853, 14883, 13563, 2914, + 21147, 5853, 14883, 13563, 3216, + 21147, 5853, 14883, 13563, 5816, + 21147, 5853, 14883, 13563, 7438, + 21147, 5853, 14883, 13563, 10902, + 21147, 5853, 14883, 13563, 11436, + 21147, 5853, 14883, 13563, 11888, + 21147, 5853, 14883, 13563, 12085, 13530, + 21147, 5853, 14883, 13563, 12156, + 21147, 5853, 14883, 13563, 12434, + 21147, 5853, 14883, 13563, 12528, + 21147, 5853, 14883, 13563, 13144, + 21147, 5853, 14883, 13563, 13530, + 21147, 5853, 14883, 13563, 13718, + 21147, 5853, 14883, 13563, 16376, + 21147, 5853, 14883, 13563, 16926, + 21147, 5853, 14883, 13563, 17460, + 21147, 5853, 14883, 13719, 15672, + 21147, 5853, 14883, 16111, 0, + 21147, 5853, 14883, 16111, 2, + 21147, 5853, 14883, 16111, 4, + 21147, 5853, 14883, 16111, 6, + 21147, 5853, 14883, 16111, 8, + 21147, 5853, 14883, 16111, 10, + 21147, 5853, 14883, 16111, 12, + 21147, 5853, 14883, 16111, 14, + 21147, 5853, 14883, 16111, 16, + 21147, 5853, 14883, 16111, 18, + 21147, 5853, 14883, 16111, 20, + 21147, 5853, 14883, 16111, 22, + 21147, 5853, 14883, 16111, 24, + 21147, 5853, 14883, 16111, 26, + 21147, 5853, 14883, 16111, 28, + 21147, 5853, 14883, 16111, 30, + 21147, 5853, 14883, 16111, 32, + 21147, 5853, 14883, 16111, 34, + 21147, 5853, 14883, 16111, 36, + 21147, 5853, 14883, 16111, 38, + 21147, 5853, 14883, 16111, 40, + 21147, 5853, 14883, 16111, 42, + 21147, 5853, 14883, 16111, 44, + 21147, 5853, 14883, 16111, 46, + 21147, 5853, 14883, 16111, 48, + 21147, 5853, 14883, 16111, 50, + 21147, 5853, 14883, 16111, 440, + 21147, 5853, 14883, 16111, 472, + 21147, 5853, 14883, 16111, 536, + 21147, 5853, 14883, 16111, 724, + 21147, 5853, 14883, 16111, 1048, + 21147, 5853, 14883, 16111, 1326, + 21147, 5853, 14883, 16111, 2680, + 21147, 5853, 14883, 16111, 2722, + 21147, 5853, 14883, 16111, 2914, + 21147, 5853, 14883, 16111, 3216, + 21147, 5853, 14883, 16111, 5816, + 21147, 5853, 14883, 16111, 7438, + 21147, 5853, 14883, 16111, 10902, + 21147, 5853, 14883, 16111, 11436, + 21147, 5853, 14883, 16111, 11888, + 21147, 5853, 14883, 16111, 12156, + 21147, 5853, 14883, 16111, 12434, + 21147, 5853, 14883, 16111, 12528, + 21147, 5853, 14883, 16111, 13144, + 21147, 5853, 14883, 16111, 13530, + 21147, 5853, 14883, 16111, 13718, + 21147, 5853, 14883, 16111, 13719, 15672, + 21147, 5853, 14883, 16111, 16376, + 21147, 5853, 14883, 16111, 16926, + 21147, 5853, 14883, 16111, 17460, + 21147, 5853, 14883, 16377, 15672, + 21147, 5853, 14883, 16987, 21048, + 21147, 5853, 15501, 13563, 0, + 21147, 5853, 15501, 13563, 2, + 21147, 5853, 15501, 13563, 4, + 21147, 5853, 15501, 13563, 6, + 21147, 5853, 15501, 13563, 8, + 21147, 5853, 15501, 13563, 10, + 21147, 5853, 15501, 13563, 12, + 21147, 5853, 15501, 13563, 14, + 21147, 5853, 15501, 13563, 16, + 21147, 5853, 15501, 13563, 18, + 21147, 5853, 15501, 13563, 20, + 21147, 5853, 15501, 13563, 22, + 21147, 5853, 15501, 13563, 24, + 21147, 5853, 15501, 13563, 26, + 21147, 5853, 15501, 13563, 28, + 21147, 5853, 15501, 13563, 30, + 21147, 5853, 15501, 13563, 32, + 21147, 5853, 15501, 13563, 34, + 21147, 5853, 15501, 13563, 36, + 21147, 5853, 15501, 13563, 38, + 21147, 5853, 15501, 13563, 40, + 21147, 5853, 15501, 13563, 42, + 21147, 5853, 15501, 13563, 44, + 21147, 5853, 15501, 13563, 46, + 21147, 5853, 15501, 13563, 48, + 21147, 5853, 15501, 13563, 50, + 21147, 5853, 15501, 16111, 0, + 21147, 5853, 15501, 16111, 2, + 21147, 5853, 15501, 16111, 4, + 21147, 5853, 15501, 16111, 6, + 21147, 5853, 15501, 16111, 8, + 21147, 5853, 15501, 16111, 10, + 21147, 5853, 15501, 16111, 12, + 21147, 5853, 15501, 16111, 14, + 21147, 5853, 15501, 16111, 16, + 21147, 5853, 15501, 16111, 18, + 21147, 5853, 15501, 16111, 20, + 21147, 5853, 15501, 16111, 22, + 21147, 5853, 15501, 16111, 24, + 21147, 5853, 15501, 16111, 26, + 21147, 5853, 15501, 16111, 28, + 21147, 5853, 15501, 16111, 30, + 21147, 5853, 15501, 16111, 32, + 21147, 5853, 15501, 16111, 34, + 21147, 5853, 15501, 16111, 36, + 21147, 5853, 15501, 16111, 38, + 21147, 5853, 15501, 16111, 40, + 21147, 5853, 15501, 16111, 42, + 21147, 5853, 15501, 16111, 44, + 21147, 5853, 15501, 16111, 46, + 21147, 5853, 15501, 16111, 48, + 21147, 5853, 15501, 16111, 50, + 21147, 5853, 16111, 0, + 21147, 5853, 16111, 2, + 21147, 5853, 16111, 4, + 21147, 5853, 16111, 6, + 21147, 5853, 16111, 8, + 21147, 5853, 16111, 10, + 21147, 5853, 16111, 12, + 21147, 5853, 16111, 14, + 21147, 5853, 16111, 16, + 21147, 5853, 16111, 18, + 21147, 5853, 16111, 20, + 21147, 5853, 16111, 22, + 21147, 5853, 16111, 24, + 21147, 5853, 16111, 26, + 21147, 5853, 16111, 28, + 21147, 5853, 16111, 30, + 21147, 5853, 16111, 32, + 21147, 5853, 16111, 34, + 21147, 5853, 16111, 36, + 21147, 5853, 16111, 38, + 21147, 5853, 16111, 40, + 21147, 5853, 16111, 42, + 21147, 5853, 16111, 44, + 21147, 5853, 16111, 46, + 21147, 5853, 16111, 48, + 21147, 5853, 16111, 50, + 21147, 5853, 16111, 440, + 21147, 5853, 16111, 472, + 21147, 5853, 16111, 536, + 21147, 5853, 16111, 724, + 21147, 5853, 16111, 1048, + 21147, 5853, 16111, 1326, + 21147, 5853, 16111, 2680, + 21147, 5853, 16111, 2722, + 21147, 5853, 16111, 2914, + 21147, 5853, 16111, 3216, + 21147, 5853, 16111, 5816, + 21147, 5853, 16111, 7438, + 21147, 5853, 16111, 10902, + 21147, 5853, 16111, 11436, + 21147, 5853, 16111, 11888, + 21147, 5853, 16111, 12156, + 21147, 5853, 16111, 12434, + 21147, 5853, 16111, 12528, + 21147, 5853, 16111, 13144, + 21147, 5853, 16111, 13530, + 21147, 5853, 16111, 13718, + 21147, 5853, 16111, 13719, 15672, + 21147, 5853, 16111, 16252, + 21147, 5853, 16111, 16376, + 21147, 5853, 16111, 16926, + 21147, 5853, 16111, 17460, + 21147, 5853, 16377, 15672, + 21147, 5853, 16423, 13563, 0, + 21147, 5853, 16423, 13563, 2, + 21147, 5853, 16423, 13563, 4, + 21147, 5853, 16423, 13563, 6, + 21147, 5853, 16423, 13563, 8, + 21147, 5853, 16423, 13563, 10, + 21147, 5853, 16423, 13563, 12, + 21147, 5853, 16423, 13563, 14, + 21147, 5853, 16423, 13563, 16, + 21147, 5853, 16423, 13563, 18, + 21147, 5853, 16423, 13563, 20, + 21147, 5853, 16423, 13563, 22, + 21147, 5853, 16423, 13563, 24, + 21147, 5853, 16423, 13563, 26, + 21147, 5853, 16423, 13563, 28, + 21147, 5853, 16423, 13563, 30, + 21147, 5853, 16423, 13563, 32, + 21147, 5853, 16423, 13563, 34, + 21147, 5853, 16423, 13563, 36, + 21147, 5853, 16423, 13563, 38, + 21147, 5853, 16423, 13563, 40, + 21147, 5853, 16423, 13563, 42, + 21147, 5853, 16423, 13563, 44, + 21147, 5853, 16423, 13563, 46, + 21147, 5853, 16423, 13563, 48, + 21147, 5853, 16423, 13563, 50, + 21147, 5853, 16423, 16111, 0, + 21147, 5853, 16423, 16111, 2, + 21147, 5853, 16423, 16111, 4, + 21147, 5853, 16423, 16111, 6, + 21147, 5853, 16423, 16111, 8, + 21147, 5853, 16423, 16111, 10, + 21147, 5853, 16423, 16111, 12, + 21147, 5853, 16423, 16111, 14, + 21147, 5853, 16423, 16111, 16, + 21147, 5853, 16423, 16111, 18, + 21147, 5853, 16423, 16111, 20, + 21147, 5853, 16423, 16111, 22, + 21147, 5853, 16423, 16111, 24, + 21147, 5853, 16423, 16111, 26, + 21147, 5853, 16423, 16111, 28, + 21147, 5853, 16423, 16111, 30, + 21147, 5853, 16423, 16111, 32, + 21147, 5853, 16423, 16111, 34, + 21147, 5853, 16423, 16111, 36, + 21147, 5853, 16423, 16111, 38, + 21147, 5853, 16423, 16111, 40, + 21147, 5853, 16423, 16111, 42, + 21147, 5853, 16423, 16111, 44, + 21147, 5853, 16423, 16111, 46, + 21147, 5853, 16423, 16111, 48, + 21147, 5853, 16423, 16111, 50, + 21147, 5853, 16987, 21048, + 21147, 7817, 11447, 16088, + 21147, 7817, 14049, 15621, 16088, + 21147, 7817, 14049, 18763, 13483, 16088, + 21147, 7817, 14625, 11447, 16088, + 21147, 7817, 19267, 20846, + 21147, 13341, 11447, 16088, + 21147, 13341, 14049, 15621, 16088, + 21147, 13341, 14049, 18763, 13483, 16088, + 21147, 13341, 14625, 11447, 16088, + 21147, 13341, 19267, 20846, + 21147, 14883, 537, 15672, + 21147, 14883, 2681, 15672, + 21147, 14883, 2915, 15672, + 21147, 14883, 12435, 15672, + 21147, 14883, 12802, + 21147, 14883, 13563, 0, + 21147, 14883, 13563, 2, + 21147, 14883, 13563, 4, + 21147, 14883, 13563, 6, + 21147, 14883, 13563, 8, + 21147, 14883, 13563, 10, + 21147, 14883, 13563, 12, + 21147, 14883, 13563, 16, + 21147, 14883, 13563, 18, + 21147, 14883, 13563, 20, + 21147, 14883, 13563, 22, + 21147, 14883, 13563, 24, + 21147, 14883, 13563, 26, + 21147, 14883, 13563, 28, + 21147, 14883, 13563, 30, + 21147, 14883, 13563, 32, + 21147, 14883, 13563, 34, + 21147, 14883, 13563, 36, + 21147, 14883, 13563, 38, + 21147, 14883, 13563, 40, + 21147, 14883, 13563, 42, + 21147, 14883, 13563, 44, + 21147, 14883, 13563, 46, + 21147, 14883, 13563, 48, + 21147, 14883, 13563, 50, + 21147, 14883, 13563, 440, + 21147, 14883, 13563, 472, + 21147, 14883, 13563, 536, + 21147, 14883, 13563, 724, + 21147, 14883, 13563, 1048, + 21147, 14883, 13563, 1326, + 21147, 14883, 13563, 2680, + 21147, 14883, 13563, 2722, + 21147, 14883, 13563, 2914, + 21147, 14883, 13563, 3216, + 21147, 14883, 13563, 5816, + 21147, 14883, 13563, 7438, + 21147, 14883, 13563, 10902, + 21147, 14883, 13563, 11436, + 21147, 14883, 13563, 11888, + 21147, 14883, 13563, 12085, 13530, + 21147, 14883, 13563, 12156, + 21147, 14883, 13563, 12434, + 21147, 14883, 13563, 12528, + 21147, 14883, 13563, 13144, + 21147, 14883, 13563, 13530, + 21147, 14883, 13563, 13718, + 21147, 14883, 13563, 16279, 16, + 21147, 14883, 13563, 16279, 18, + 21147, 14883, 13563, 16376, + 21147, 14883, 13563, 16926, + 21147, 14883, 13563, 17460, + 21147, 14883, 13719, 15672, + 21147, 14883, 16111, 0, + 21147, 14883, 16111, 2, + 21147, 14883, 16111, 4, + 21147, 14883, 16111, 6, + 21147, 14883, 16111, 8, + 21147, 14883, 16111, 10, + 21147, 14883, 16111, 12, + 21147, 14883, 16111, 14, + 21147, 14883, 16111, 16, + 21147, 14883, 16111, 18, + 21147, 14883, 16111, 20, + 21147, 14883, 16111, 22, + 21147, 14883, 16111, 24, + 21147, 14883, 16111, 26, + 21147, 14883, 16111, 28, + 21147, 14883, 16111, 30, + 21147, 14883, 16111, 32, + 21147, 14883, 16111, 34, + 21147, 14883, 16111, 36, + 21147, 14883, 16111, 38, + 21147, 14883, 16111, 40, + 21147, 14883, 16111, 42, + 21147, 14883, 16111, 44, + 21147, 14883, 16111, 46, + 21147, 14883, 16111, 48, + 21147, 14883, 16111, 50, + 21147, 14883, 16111, 440, + 21147, 14883, 16111, 472, + 21147, 14883, 16111, 536, + 21147, 14883, 16111, 724, + 21147, 14883, 16111, 1048, + 21147, 14883, 16111, 1326, + 21147, 14883, 16111, 2680, + 21147, 14883, 16111, 2722, + 21147, 14883, 16111, 2914, + 21147, 14883, 16111, 3216, + 21147, 14883, 16111, 5816, + 21147, 14883, 16111, 7438, + 21147, 14883, 16111, 10902, + 21147, 14883, 16111, 11436, + 21147, 14883, 16111, 11888, + 21147, 14883, 16111, 12156, + 21147, 14883, 16111, 12434, + 21147, 14883, 16111, 12528, + 21147, 14883, 16111, 13144, + 21147, 14883, 16111, 13530, + 21147, 14883, 16111, 13718, + 21147, 14883, 16111, 13719, 15672, + 21147, 14883, 16111, 16376, + 21147, 14883, 16111, 16926, + 21147, 14883, 16111, 17460, + 21147, 14883, 16377, 15672, + 21147, 14883, 16987, 21048, + 21147, 15451, 17838, + 21147, 15501, 13563, 0, + 21147, 15501, 13563, 2, + 21147, 15501, 13563, 4, + 21147, 15501, 13563, 6, + 21147, 15501, 13563, 10, + 21147, 15501, 13563, 14, + 21147, 15501, 13563, 16, + 21147, 15501, 13563, 18, + 21147, 15501, 13563, 20, + 21147, 15501, 13563, 22, + 21147, 15501, 13563, 24, + 21147, 15501, 13563, 26, + 21147, 15501, 13563, 30, + 21147, 15501, 13563, 32, + 21147, 15501, 13563, 34, + 21147, 15501, 13563, 36, + 21147, 15501, 13563, 38, + 21147, 15501, 13563, 40, + 21147, 15501, 13563, 42, + 21147, 15501, 13563, 44, + 21147, 15501, 13563, 46, + 21147, 15501, 13563, 48, + 21147, 15501, 13563, 50, + 21147, 15501, 16111, 0, + 21147, 15501, 16111, 4, + 21147, 15501, 16111, 6, + 21147, 15501, 16111, 12, + 21147, 15501, 16111, 18, + 21147, 15501, 16111, 20, + 21147, 15501, 16111, 26, + 21147, 15501, 16111, 28, + 21147, 15501, 16111, 30, + 21147, 15501, 16111, 32, + 21147, 15501, 16111, 36, + 21147, 15501, 16111, 38, + 21147, 15501, 16111, 40, + 21147, 15501, 16111, 42, + 21147, 15501, 16111, 44, + 21147, 15501, 16111, 46, + 21147, 15501, 16111, 48, + 21147, 15501, 16111, 50, + 21147, 16389, 17838, + 21147, 16423, 13563, 0, + 21147, 16423, 13563, 2, + 21147, 16423, 13563, 4, + 21147, 16423, 13563, 6, + 21147, 16423, 13563, 8, + 21147, 16423, 13563, 10, + 21147, 16423, 13563, 12, + 21147, 16423, 13563, 14, + 21147, 16423, 13563, 16, + 21147, 16423, 13563, 18, + 21147, 16423, 13563, 20, + 21147, 16423, 13563, 22, + 21147, 16423, 13563, 24, + 21147, 16423, 13563, 26, + 21147, 16423, 13563, 28, + 21147, 16423, 13563, 30, + 21147, 16423, 13563, 32, + 21147, 16423, 13563, 34, + 21147, 16423, 13563, 36, + 21147, 16423, 13563, 38, + 21147, 16423, 13563, 40, + 21147, 16423, 13563, 42, + 21147, 16423, 13563, 44, + 21147, 16423, 13563, 46, + 21147, 16423, 13563, 48, + 21147, 16423, 13563, 50, + 21147, 16423, 16111, 0, + 21147, 16423, 16111, 2, + 21147, 16423, 16111, 6, + 21147, 16423, 16111, 8, + 21147, 16423, 16111, 10, + 21147, 16423, 16111, 12, + 21147, 16423, 16111, 18, + 21147, 16423, 16111, 20, + 21147, 16423, 16111, 22, + 21147, 16423, 16111, 24, + 21147, 16423, 16111, 26, + 21147, 16423, 16111, 28, + 21147, 16423, 16111, 30, + 21147, 16423, 16111, 32, + 21147, 16423, 16111, 36, + 21147, 16423, 16111, 38, + 21147, 16423, 16111, 40, + 21147, 16423, 16111, 42, + 21147, 16423, 16111, 44, + 21147, 16423, 16111, 46, + 21147, 16423, 16111, 48, + 21147, 19451, 11905, 2610, + 21147, 19451, 11905, 3076, + 21147, 19451, 11905, 3356, + 21147, 19451, 11905, 6756, + 21147, 19451, 11905, 6778, + 21147, 19451, 11905, 8780, + 21147, 19451, 11905, 10900, + 21147, 19451, 11905, 11978, + 21147, 19451, 11905, 13450, + 21147, 19451, 11905, 13736, + 21147, 19451, 13563, 0, + 21147, 19451, 13563, 2, + 21147, 19451, 13563, 4, + 21147, 19451, 13563, 6, + 21147, 19451, 13563, 8, + 21147, 19451, 13563, 10, + 21147, 19451, 13563, 12, + 21147, 19451, 13563, 14, + 21147, 19451, 13563, 16, + 21147, 19451, 13563, 18, + 21147, 19451, 13563, 20, + 21147, 19451, 13563, 22, + 21147, 19451, 13563, 24, + 21147, 19451, 13563, 26, + 21147, 19451, 13563, 28, + 21147, 19451, 13563, 30, + 21147, 19451, 13563, 32, + 21147, 19451, 13563, 34, + 21147, 19451, 13563, 36, + 21147, 19451, 13563, 38, + 21147, 19451, 13563, 40, + 21147, 19451, 13563, 42, + 21147, 19451, 13563, 44, + 21147, 19451, 13563, 46, + 21147, 19451, 13563, 48, + 21147, 19451, 13563, 50, + 21147, 19451, 16111, 0, + 21147, 19451, 16111, 2, + 21147, 19451, 16111, 4, + 21147, 19451, 16111, 6, + 21147, 19451, 16111, 8, + 21147, 19451, 16111, 10, + 21147, 19451, 16111, 12, + 21147, 19451, 16111, 14, + 21147, 19451, 16111, 16, + 21147, 19451, 16111, 18, + 21147, 19451, 16111, 20, + 21147, 19451, 16111, 22, + 21147, 19451, 16111, 24, + 21147, 19451, 16111, 26, + 21147, 19451, 16111, 28, + 21147, 19451, 16111, 30, + 21147, 19451, 16111, 32, + 21147, 19451, 16111, 34, + 21147, 19451, 16111, 36, + 21147, 19451, 16111, 38, + 21147, 19451, 16111, 40, + 21147, 19451, 16111, 42, + 21147, 19451, 16111, 44, + 21147, 19451, 16111, 46, + 21147, 19451, 16111, 48, + 21147, 19451, 16111, 50, + 21147, 20377, 5853, 537, 15672, + 21147, 20377, 5853, 2681, 15672, + 21147, 20377, 5853, 2915, 15672, + 21147, 20377, 5853, 11905, 2610, + 21147, 20377, 5853, 11905, 3076, + 21147, 20377, 5853, 11905, 3356, + 21147, 20377, 5853, 11905, 6756, + 21147, 20377, 5853, 11905, 6778, + 21147, 20377, 5853, 11905, 8780, + 21147, 20377, 5853, 11905, 10900, + 21147, 20377, 5853, 11905, 11978, + 21147, 20377, 5853, 11905, 13450, + 21147, 20377, 5853, 11905, 13736, + 21147, 20377, 5853, 12435, 15672, + 21147, 20377, 5853, 12802, + 21147, 20377, 5853, 13563, 0, + 21147, 20377, 5853, 13563, 2, + 21147, 20377, 5853, 13563, 4, + 21147, 20377, 5853, 13563, 6, + 21147, 20377, 5853, 13563, 8, + 21147, 20377, 5853, 13563, 10, + 21147, 20377, 5853, 13563, 12, + 21147, 20377, 5853, 13563, 14, + 21147, 20377, 5853, 13563, 16, + 21147, 20377, 5853, 13563, 18, + 21147, 20377, 5853, 13563, 20, + 21147, 20377, 5853, 13563, 22, + 21147, 20377, 5853, 13563, 24, + 21147, 20377, 5853, 13563, 26, + 21147, 20377, 5853, 13563, 28, + 21147, 20377, 5853, 13563, 30, + 21147, 20377, 5853, 13563, 32, + 21147, 20377, 5853, 13563, 34, + 21147, 20377, 5853, 13563, 36, + 21147, 20377, 5853, 13563, 38, + 21147, 20377, 5853, 13563, 40, + 21147, 20377, 5853, 13563, 42, + 21147, 20377, 5853, 13563, 44, + 21147, 20377, 5853, 13563, 46, + 21147, 20377, 5853, 13563, 48, + 21147, 20377, 5853, 13563, 50, + 21147, 20377, 5853, 13563, 440, + 21147, 20377, 5853, 13563, 472, + 21147, 20377, 5853, 13563, 536, + 21147, 20377, 5853, 13563, 724, + 21147, 20377, 5853, 13563, 1048, + 21147, 20377, 5853, 13563, 1326, + 21147, 20377, 5853, 13563, 2680, + 21147, 20377, 5853, 13563, 2722, + 21147, 20377, 5853, 13563, 2914, + 21147, 20377, 5853, 13563, 3216, + 21147, 20377, 5853, 13563, 5816, + 21147, 20377, 5853, 13563, 7438, + 21147, 20377, 5853, 13563, 10902, + 21147, 20377, 5853, 13563, 11436, + 21147, 20377, 5853, 13563, 11888, + 21147, 20377, 5853, 13563, 12085, 13530, + 21147, 20377, 5853, 13563, 12156, + 21147, 20377, 5853, 13563, 12434, + 21147, 20377, 5853, 13563, 12528, + 21147, 20377, 5853, 13563, 13144, + 21147, 20377, 5853, 13563, 13530, + 21147, 20377, 5853, 13563, 13718, + 21147, 20377, 5853, 13563, 16376, + 21147, 20377, 5853, 13563, 16926, + 21147, 20377, 5853, 13563, 17460, + 21147, 20377, 5853, 13719, 15672, + 21147, 20377, 5853, 14883, 537, 15672, + 21147, 20377, 5853, 14883, 2681, 15672, + 21147, 20377, 5853, 14883, 2915, 15672, + 21147, 20377, 5853, 14883, 12435, 15672, + 21147, 20377, 5853, 14883, 12802, + 21147, 20377, 5853, 14883, 13563, 0, + 21147, 20377, 5853, 14883, 13563, 2, + 21147, 20377, 5853, 14883, 13563, 4, + 21147, 20377, 5853, 14883, 13563, 6, + 21147, 20377, 5853, 14883, 13563, 8, + 21147, 20377, 5853, 14883, 13563, 10, + 21147, 20377, 5853, 14883, 13563, 12, + 21147, 20377, 5853, 14883, 13563, 14, + 21147, 20377, 5853, 14883, 13563, 16, + 21147, 20377, 5853, 14883, 13563, 18, + 21147, 20377, 5853, 14883, 13563, 20, + 21147, 20377, 5853, 14883, 13563, 22, + 21147, 20377, 5853, 14883, 13563, 24, + 21147, 20377, 5853, 14883, 13563, 26, + 21147, 20377, 5853, 14883, 13563, 28, + 21147, 20377, 5853, 14883, 13563, 30, + 21147, 20377, 5853, 14883, 13563, 32, + 21147, 20377, 5853, 14883, 13563, 34, + 21147, 20377, 5853, 14883, 13563, 36, + 21147, 20377, 5853, 14883, 13563, 38, + 21147, 20377, 5853, 14883, 13563, 40, + 21147, 20377, 5853, 14883, 13563, 42, + 21147, 20377, 5853, 14883, 13563, 44, + 21147, 20377, 5853, 14883, 13563, 46, + 21147, 20377, 5853, 14883, 13563, 48, + 21147, 20377, 5853, 14883, 13563, 50, + 21147, 20377, 5853, 14883, 13563, 440, + 21147, 20377, 5853, 14883, 13563, 472, + 21147, 20377, 5853, 14883, 13563, 536, + 21147, 20377, 5853, 14883, 13563, 724, + 21147, 20377, 5853, 14883, 13563, 1048, + 21147, 20377, 5853, 14883, 13563, 1326, + 21147, 20377, 5853, 14883, 13563, 2680, + 21147, 20377, 5853, 14883, 13563, 2722, + 21147, 20377, 5853, 14883, 13563, 2914, + 21147, 20377, 5853, 14883, 13563, 3216, + 21147, 20377, 5853, 14883, 13563, 5816, + 21147, 20377, 5853, 14883, 13563, 7438, + 21147, 20377, 5853, 14883, 13563, 10902, + 21147, 20377, 5853, 14883, 13563, 11436, + 21147, 20377, 5853, 14883, 13563, 11888, + 21147, 20377, 5853, 14883, 13563, 12085, 13530, + 21147, 20377, 5853, 14883, 13563, 12156, + 21147, 20377, 5853, 14883, 13563, 12434, + 21147, 20377, 5853, 14883, 13563, 12528, + 21147, 20377, 5853, 14883, 13563, 13144, + 21147, 20377, 5853, 14883, 13563, 13530, + 21147, 20377, 5853, 14883, 13563, 13718, + 21147, 20377, 5853, 14883, 13563, 16376, + 21147, 20377, 5853, 14883, 13563, 16926, + 21147, 20377, 5853, 14883, 13563, 17460, + 21147, 20377, 5853, 14883, 13719, 15672, + 21147, 20377, 5853, 14883, 16111, 0, + 21147, 20377, 5853, 14883, 16111, 2, + 21147, 20377, 5853, 14883, 16111, 4, + 21147, 20377, 5853, 14883, 16111, 6, + 21147, 20377, 5853, 14883, 16111, 8, + 21147, 20377, 5853, 14883, 16111, 10, + 21147, 20377, 5853, 14883, 16111, 12, + 21147, 20377, 5853, 14883, 16111, 14, + 21147, 20377, 5853, 14883, 16111, 16, + 21147, 20377, 5853, 14883, 16111, 18, + 21147, 20377, 5853, 14883, 16111, 20, + 21147, 20377, 5853, 14883, 16111, 22, + 21147, 20377, 5853, 14883, 16111, 24, + 21147, 20377, 5853, 14883, 16111, 26, + 21147, 20377, 5853, 14883, 16111, 28, + 21147, 20377, 5853, 14883, 16111, 30, + 21147, 20377, 5853, 14883, 16111, 32, + 21147, 20377, 5853, 14883, 16111, 34, + 21147, 20377, 5853, 14883, 16111, 36, + 21147, 20377, 5853, 14883, 16111, 38, + 21147, 20377, 5853, 14883, 16111, 40, + 21147, 20377, 5853, 14883, 16111, 42, + 21147, 20377, 5853, 14883, 16111, 44, + 21147, 20377, 5853, 14883, 16111, 46, + 21147, 20377, 5853, 14883, 16111, 48, + 21147, 20377, 5853, 14883, 16111, 50, + 21147, 20377, 5853, 14883, 16111, 440, + 21147, 20377, 5853, 14883, 16111, 472, + 21147, 20377, 5853, 14883, 16111, 536, + 21147, 20377, 5853, 14883, 16111, 724, + 21147, 20377, 5853, 14883, 16111, 1048, + 21147, 20377, 5853, 14883, 16111, 1326, + 21147, 20377, 5853, 14883, 16111, 2680, + 21147, 20377, 5853, 14883, 16111, 2722, + 21147, 20377, 5853, 14883, 16111, 2914, + 21147, 20377, 5853, 14883, 16111, 3216, + 21147, 20377, 5853, 14883, 16111, 5816, + 21147, 20377, 5853, 14883, 16111, 7438, + 21147, 20377, 5853, 14883, 16111, 10902, + 21147, 20377, 5853, 14883, 16111, 11436, + 21147, 20377, 5853, 14883, 16111, 11888, + 21147, 20377, 5853, 14883, 16111, 12156, + 21147, 20377, 5853, 14883, 16111, 12434, + 21147, 20377, 5853, 14883, 16111, 12528, + 21147, 20377, 5853, 14883, 16111, 13144, + 21147, 20377, 5853, 14883, 16111, 13530, + 21147, 20377, 5853, 14883, 16111, 13718, + 21147, 20377, 5853, 14883, 16111, 13719, 15672, + 21147, 20377, 5853, 14883, 16111, 16376, + 21147, 20377, 5853, 14883, 16111, 16926, + 21147, 20377, 5853, 14883, 16111, 17460, + 21147, 20377, 5853, 14883, 16377, 15672, + 21147, 20377, 5853, 14883, 16987, 21048, + 21147, 20377, 5853, 16111, 0, + 21147, 20377, 5853, 16111, 2, + 21147, 20377, 5853, 16111, 4, + 21147, 20377, 5853, 16111, 6, + 21147, 20377, 5853, 16111, 8, + 21147, 20377, 5853, 16111, 10, + 21147, 20377, 5853, 16111, 12, + 21147, 20377, 5853, 16111, 14, + 21147, 20377, 5853, 16111, 16, + 21147, 20377, 5853, 16111, 18, + 21147, 20377, 5853, 16111, 20, + 21147, 20377, 5853, 16111, 22, + 21147, 20377, 5853, 16111, 24, + 21147, 20377, 5853, 16111, 26, + 21147, 20377, 5853, 16111, 28, + 21147, 20377, 5853, 16111, 30, + 21147, 20377, 5853, 16111, 32, + 21147, 20377, 5853, 16111, 34, + 21147, 20377, 5853, 16111, 36, + 21147, 20377, 5853, 16111, 38, + 21147, 20377, 5853, 16111, 40, + 21147, 20377, 5853, 16111, 42, + 21147, 20377, 5853, 16111, 44, + 21147, 20377, 5853, 16111, 46, + 21147, 20377, 5853, 16111, 48, + 21147, 20377, 5853, 16111, 50, + 21147, 20377, 5853, 16111, 440, + 21147, 20377, 5853, 16111, 472, + 21147, 20377, 5853, 16111, 536, + 21147, 20377, 5853, 16111, 724, + 21147, 20377, 5853, 16111, 1048, + 21147, 20377, 5853, 16111, 1326, + 21147, 20377, 5853, 16111, 2680, + 21147, 20377, 5853, 16111, 2722, + 21147, 20377, 5853, 16111, 2914, + 21147, 20377, 5853, 16111, 3216, + 21147, 20377, 5853, 16111, 5816, + 21147, 20377, 5853, 16111, 7438, + 21147, 20377, 5853, 16111, 10902, + 21147, 20377, 5853, 16111, 11436, + 21147, 20377, 5853, 16111, 11888, + 21147, 20377, 5853, 16111, 12156, + 21147, 20377, 5853, 16111, 12434, + 21147, 20377, 5853, 16111, 12528, + 21147, 20377, 5853, 16111, 13144, + 21147, 20377, 5853, 16111, 13530, + 21147, 20377, 5853, 16111, 13718, + 21147, 20377, 5853, 16111, 13719, 15672, + 21147, 20377, 5853, 16111, 16376, + 21147, 20377, 5853, 16111, 16926, + 21147, 20377, 5853, 16111, 17460, + 21147, 20377, 5853, 16377, 15672, + 21147, 20377, 5853, 16987, 21048, + 21147, 20377, 11905, 2610, + 21147, 20377, 11905, 3076, + 21147, 20377, 11905, 3356, + 21147, 20377, 11905, 6756, + 21147, 20377, 11905, 6778, + 21147, 20377, 11905, 8780, + 21147, 20377, 11905, 10900, + 21147, 20377, 11905, 11978, + 21147, 20377, 11905, 13450, + 21147, 20377, 11905, 13736, + 21147, 20377, 13563, 0, + 21147, 20377, 13563, 2, + 21147, 20377, 13563, 4, + 21147, 20377, 13563, 6, + 21147, 20377, 13563, 8, + 21147, 20377, 13563, 10, + 21147, 20377, 13563, 12, + 21147, 20377, 13563, 14, + 21147, 20377, 13563, 16, + 21147, 20377, 13563, 18, + 21147, 20377, 13563, 20, + 21147, 20377, 13563, 22, + 21147, 20377, 13563, 24, + 21147, 20377, 13563, 26, + 21147, 20377, 13563, 28, + 21147, 20377, 13563, 30, + 21147, 20377, 13563, 32, + 21147, 20377, 13563, 34, + 21147, 20377, 13563, 36, + 21147, 20377, 13563, 38, + 21147, 20377, 13563, 40, + 21147, 20377, 13563, 42, + 21147, 20377, 13563, 44, + 21147, 20377, 13563, 46, + 21147, 20377, 13563, 48, + 21147, 20377, 13563, 50, + 21147, 20377, 14883, 13563, 0, + 21147, 20377, 14883, 13563, 2, + 21147, 20377, 14883, 13563, 4, + 21147, 20377, 14883, 13563, 6, + 21147, 20377, 14883, 13563, 8, + 21147, 20377, 14883, 13563, 10, + 21147, 20377, 14883, 13563, 12, + 21147, 20377, 14883, 13563, 14, + 21147, 20377, 14883, 13563, 16, + 21147, 20377, 14883, 13563, 18, + 21147, 20377, 14883, 13563, 20, + 21147, 20377, 14883, 13563, 22, + 21147, 20377, 14883, 13563, 24, + 21147, 20377, 14883, 13563, 26, + 21147, 20377, 14883, 13563, 28, + 21147, 20377, 14883, 13563, 30, + 21147, 20377, 14883, 13563, 32, + 21147, 20377, 14883, 13563, 34, + 21147, 20377, 14883, 13563, 36, + 21147, 20377, 14883, 13563, 38, + 21147, 20377, 14883, 13563, 40, + 21147, 20377, 14883, 13563, 42, + 21147, 20377, 14883, 13563, 44, + 21147, 20377, 14883, 13563, 46, + 21147, 20377, 14883, 13563, 48, + 21147, 20377, 14883, 13563, 50, + 21147, 20377, 14883, 16111, 0, + 21147, 20377, 14883, 16111, 2, + 21147, 20377, 14883, 16111, 4, + 21147, 20377, 14883, 16111, 6, + 21147, 20377, 14883, 16111, 8, + 21147, 20377, 14883, 16111, 10, + 21147, 20377, 14883, 16111, 12, + 21147, 20377, 14883, 16111, 14, + 21147, 20377, 14883, 16111, 16, + 21147, 20377, 14883, 16111, 18, + 21147, 20377, 14883, 16111, 20, + 21147, 20377, 14883, 16111, 22, + 21147, 20377, 14883, 16111, 24, + 21147, 20377, 14883, 16111, 26, + 21147, 20377, 14883, 16111, 28, + 21147, 20377, 14883, 16111, 30, + 21147, 20377, 14883, 16111, 32, + 21147, 20377, 14883, 16111, 34, + 21147, 20377, 14883, 16111, 36, + 21147, 20377, 14883, 16111, 38, + 21147, 20377, 14883, 16111, 40, + 21147, 20377, 14883, 16111, 42, + 21147, 20377, 14883, 16111, 44, + 21147, 20377, 14883, 16111, 46, + 21147, 20377, 14883, 16111, 48, + 21147, 20377, 14883, 16111, 50, + 21147, 20377, 16111, 0, + 21147, 20377, 16111, 2, + 21147, 20377, 16111, 4, + 21147, 20377, 16111, 6, + 21147, 20377, 16111, 8, + 21147, 20377, 16111, 10, + 21147, 20377, 16111, 12, + 21147, 20377, 16111, 14, + 21147, 20377, 16111, 16, + 21147, 20377, 16111, 18, + 21147, 20377, 16111, 20, + 21147, 20377, 16111, 22, + 21147, 20377, 16111, 24, + 21147, 20377, 16111, 26, + 21147, 20377, 16111, 28, + 21147, 20377, 16111, 30, + 21147, 20377, 16111, 32, + 21147, 20377, 16111, 34, + 21147, 20377, 16111, 36, + 21147, 20377, 16111, 38, + 21147, 20377, 16111, 40, + 21147, 20377, 16111, 42, + 21147, 20377, 16111, 44, + 21147, 20377, 16111, 46, + 21147, 20377, 16111, 48, + 21147, 20377, 16111, 50, + 21147, 22819, 11905, 2610, + 21147, 22819, 11905, 3076, + 21147, 22819, 11905, 3356, + 21147, 22819, 11905, 6756, + 21147, 22819, 11905, 6778, + 21147, 22819, 11905, 8780, + 21147, 22819, 11905, 10900, + 21147, 22819, 11905, 11978, + 21147, 22819, 11905, 13450, + 21147, 22819, 11905, 13736, + 21147, 22819, 13563, 0, + 21147, 22819, 13563, 2, + 21147, 22819, 13563, 4, + 21147, 22819, 13563, 6, + 21147, 22819, 13563, 8, + 21147, 22819, 13563, 10, + 21147, 22819, 13563, 12, + 21147, 22819, 13563, 14, + 21147, 22819, 13563, 16, + 21147, 22819, 13563, 18, + 21147, 22819, 13563, 20, + 21147, 22819, 13563, 22, + 21147, 22819, 13563, 24, + 21147, 22819, 13563, 26, + 21147, 22819, 13563, 28, + 21147, 22819, 13563, 30, + 21147, 22819, 13563, 32, + 21147, 22819, 13563, 34, + 21147, 22819, 13563, 36, + 21147, 22819, 13563, 38, + 21147, 22819, 13563, 40, + 21147, 22819, 13563, 42, + 21147, 22819, 13563, 44, + 21147, 22819, 13563, 46, + 21147, 22819, 13563, 48, + 21147, 22819, 13563, 50, + 21147, 22819, 16111, 0, + 21147, 22819, 16111, 2, + 21147, 22819, 16111, 6, + 21147, 22819, 16111, 8, + 21147, 22819, 16111, 10, + 21147, 22819, 16111, 12, + 21147, 22819, 16111, 16, + 21147, 22819, 16111, 18, + 21147, 22819, 16111, 20, + 21147, 22819, 16111, 22, + 21147, 22819, 16111, 24, + 21147, 22819, 16111, 28, + 21147, 22819, 16111, 36, + 21147, 22819, 16111, 38, + 21147, 22819, 16111, 40, + 21147, 22819, 16111, 42, + 21147, 22819, 16111, 44, + 21147, 22819, 16111, 46, + 21147, 22819, 16111, 48, + 21165, 14856, + 21177, 10096, + 21179, 6777, 1397, 18847, 201, 6286, + 21179, 6777, 1397, 18847, 203, 6286, + 21179, 6777, 1397, 18847, 2175, 7854, + 21179, 6777, 1397, 18847, 3357, 1217, 14984, + 21179, 6777, 1397, 18847, 7817, 11447, 16088, + 21179, 6777, 1397, 18847, 7817, 11571, 20217, 16088, + 21179, 6777, 1397, 18847, 7817, 11779, 16088, + 21179, 6777, 1397, 18847, 7817, 14049, 14519, 16088, + 21179, 6777, 1397, 18847, 7817, 14049, 20217, 16088, + 21179, 6777, 1397, 18847, 7817, 14519, 16088, + 21179, 6777, 1397, 18847, 7817, 14625, 11447, 16088, + 21179, 6777, 1397, 18847, 7817, 15621, 16088, + 21179, 6777, 1397, 18847, 7817, 18763, 13483, 16088, + 21179, 6777, 1397, 18847, 7817, 20846, + 21179, 6777, 1397, 18847, 10623, 2175, 7854, + 21179, 6777, 1397, 18847, 11756, + 21179, 6777, 1397, 18847, 11762, + 21179, 6777, 1397, 18847, 13341, 11447, 16088, + 21179, 6777, 1397, 18847, 13341, 11571, 20217, 16088, + 21179, 6777, 1397, 18847, 13341, 11779, 16088, + 21179, 6777, 1397, 18847, 13341, 14049, 14519, 16088, + 21179, 6777, 1397, 18847, 13341, 14049, 20217, 16088, + 21179, 6777, 1397, 18847, 13341, 14049, 20217, 16092, + 21179, 6777, 1397, 18847, 13341, 14519, 16088, + 21179, 6777, 1397, 18847, 13341, 14625, 11447, 16088, + 21179, 6777, 1397, 18847, 13341, 15621, 16088, + 21179, 6777, 1397, 18847, 13341, 18763, 13483, 16088, + 21179, 6777, 1397, 18847, 13341, 20846, + 21179, 6777, 1397, 18847, 18511, 8320, + 21179, 6777, 1397, 18847, 19614, + 21179, 6777, 1397, 18847, 20181, 18016, + 21179, 6777, 1397, 18847, 20685, 8320, + 21179, 6777, 1397, 18847, 20727, 6793, 9956, + 21179, 6777, 1397, 18847, 20727, 11762, + 21181, 634, + 21189, 17476, + 21195, 6752, + 21195, 15667, 9854, + 21195, 15667, 9855, 10641, 6430, + 21195, 17631, 18033, 9854, + 21197, 20197, 19516, + 21199, 14049, 20375, 11476, + 21202, + 21231, 6793, 9956, + 21234, + 21245, 13582, + 21248, + 21269, 20375, 11476, + 21275, 6718, + 21279, 3293, 20385, 11476, + 21279, 9171, 14487, 11476, + 21279, 14497, 14487, 11476, + 21279, 14753, 14487, 11476, + 21279, 16179, 18176, + 21279, 19215, 843, 17463, 9171, 14487, 14312, + 21279, 20744, + 21279, 23305, 3293, 18825, 11476, + 21279, 23305, 7817, 18825, 11476, + 21279, 23305, 9171, 14487, 11476, + 21279, 23305, 13341, 18825, 11476, + 21279, 23305, 14393, 18825, 11476, + 21281, 987, 2511, 17585, 12005, 634, + 21281, 12005, 505, 12005, 634, + 21281, 12005, 634, + 21281, 12005, 635, 505, 3245, 12383, 484, + 22815, 19819, 15672, + 22819, 12787, 19674, + 22819, 13563, 536, + 22819, 13563, 12156, + 22819, 14883, 13563, 6, + 22819, 14883, 13563, 8, + 22819, 14883, 13563, 16, + 22819, 14883, 13563, 18, + 22819, 14883, 16111, 6, + 22819, 16111, 4, + 22819, 16111, 14, + 22819, 16111, 26, + 22819, 16111, 30, + 22819, 16111, 32, + 22819, 16111, 34, + 22819, 16111, 50, + 22819, 16111, 536, + 22819, 16111, 12156, + 22821, 2897, 18774, + 22821, 13563, 2897, 18774, + 22821, 18775, 10641, 7817, 7123, 11570, + 22821, 18775, 10641, 13341, 7123, 11570, + 22831, 9854, + 22835, 12005, 634, + 22835, 20127, 634, + 22849, 16957, 14999, 270, + 22849, 16957, 14999, 528, + 22849, 16957, 14999, 2536, + 22849, 16957, 14999, 3220, + 22849, 16957, 14999, 5818, + 22849, 16957, 14999, 7156, + 22849, 16957, 14999, 7596, + 22849, 16957, 14999, 9776, + 22849, 16957, 14999, 10126, + 22849, 16957, 14999, 10810, + 22849, 16957, 14999, 11424, + 22849, 16957, 14999, 12204, + 22849, 16957, 14999, 13400, + 22849, 16957, 14999, 14196, + 22849, 16957, 14999, 14546, + 22849, 16957, 14999, 14978, + 22849, 16957, 14999, 15474, + 22849, 16957, 14999, 18300, + 22849, 16957, 14999, 22956, + 22849, 16957, 15233, 2610, + 22849, 16957, 15233, 2611, 16502, + 22849, 16957, 15233, 2611, 18744, + 22849, 16957, 15233, 3232, + 22849, 16957, 15233, 3356, + 22849, 16957, 15233, 6778, + 22849, 16957, 15233, 13736, + 22849, 16957, 15233, 15820, + 22849, 18435, 14999, 270, + 22849, 18435, 14999, 528, + 22849, 18435, 14999, 2280, + 22849, 18435, 14999, 2536, + 22849, 18435, 14999, 3220, + 22849, 18435, 14999, 3532, + 22849, 18435, 14999, 5312, + 22849, 18435, 14999, 5818, + 22849, 18435, 14999, 7156, + 22849, 18435, 14999, 7596, + 22849, 18435, 14999, 9372, + 22849, 18435, 14999, 9486, + 22849, 18435, 14999, 9776, + 22849, 18435, 14999, 10126, + 22849, 18435, 14999, 10810, + 22849, 18435, 14999, 11424, + 22849, 18435, 14999, 12204, + 22849, 18435, 14999, 13400, + 22849, 18435, 14999, 14196, + 22849, 18435, 14999, 14546, + 22849, 18435, 14999, 14978, + 22849, 18435, 14999, 15474, + 22849, 18435, 15233, 2610, + 22849, 18435, 15233, 2611, 16502, + 22849, 18435, 15233, 2611, 18744, + 22849, 18435, 15233, 3232, + 22849, 18435, 15233, 3356, + 22849, 18435, 15233, 6778, + 22849, 18435, 15233, 13736, + 22849, 18435, 15233, 15820, + 22867, 11447, 16088, + 22867, 14537, 11447, 16088, + 22867, 14625, 11447, 19557, 8320, + 22867, 20229, 12212, + 22869, 8320, + 22869, 16534, + 22869, 18404, + 22869, 19224, + 22875, 9854, + 22885, 20375, 11476, + 22891, 11905, 2610, + 22891, 11905, 3076, + 22891, 11905, 3356, + 22891, 11905, 6756, + 22891, 11905, 6778, + 22891, 11905, 8780, + 22891, 11905, 11978, + 22891, 11905, 13450, + 22891, 11905, 13736, + 22891, 12541, 13563, 14999, 0, + 22891, 12541, 13563, 14999, 2, + 22891, 12541, 13563, 14999, 4, + 22891, 12541, 13563, 14999, 6, + 22891, 12541, 13563, 14999, 8, + 22891, 12541, 13563, 14999, 10, + 22891, 12541, 13563, 14999, 12, + 22891, 12541, 13563, 14999, 14, + 22891, 12541, 13563, 14999, 16, + 22891, 12541, 13563, 14999, 18, + 22891, 12541, 13563, 14999, 20, + 22891, 12541, 13563, 14999, 22, + 22891, 12541, 13563, 14999, 24, + 22891, 12541, 13563, 14999, 26, + 22891, 12541, 13563, 14999, 28, + 22891, 12541, 13563, 14999, 30, + 22891, 12541, 13563, 14999, 32, + 22891, 12541, 13563, 14999, 34, + 22891, 12541, 13563, 14999, 36, + 22891, 12541, 13563, 14999, 38, + 22891, 12541, 13563, 14999, 40, + 22891, 12541, 13563, 14999, 42, + 22891, 12541, 13563, 14999, 44, + 22891, 12541, 13563, 14999, 46, + 22891, 12541, 13563, 14999, 48, + 22891, 12541, 13563, 14999, 50, + 22891, 12541, 16111, 14999, 0, + 22891, 12541, 16111, 14999, 2, + 22891, 12541, 16111, 14999, 4, + 22891, 12541, 16111, 14999, 6, + 22891, 12541, 16111, 14999, 8, + 22891, 12541, 16111, 14999, 10, + 22891, 12541, 16111, 14999, 12, + 22891, 12541, 16111, 14999, 14, + 22891, 12541, 16111, 14999, 16, + 22891, 12541, 16111, 14999, 18, + 22891, 12541, 16111, 14999, 20, + 22891, 12541, 16111, 14999, 22, + 22891, 12541, 16111, 14999, 24, + 22891, 12541, 16111, 14999, 26, + 22891, 12541, 16111, 14999, 28, + 22891, 12541, 16111, 14999, 30, + 22891, 12541, 16111, 14999, 32, + 22891, 12541, 16111, 14999, 34, + 22891, 12541, 16111, 14999, 36, + 22891, 12541, 16111, 14999, 38, + 22891, 12541, 16111, 14999, 40, + 22891, 12541, 16111, 14999, 42, + 22891, 12541, 16111, 14999, 44, + 22891, 12541, 16111, 14999, 46, + 22891, 12541, 16111, 14999, 48, + 22891, 12541, 16111, 14999, 50, + 22891, 14819, 9866, + 22891, 14819, 9867, 0, + 22891, 14819, 11732, + 22891, 14819, 11733, 0, + 22891, 14819, 11733, 40, + 22891, 14819, 12280, + 22891, 14819, 12281, 0, + 22891, 14819, 12376, + 22891, 14819, 12377, 0, + 22891, 14819, 12732, + 22891, 14819, 12733, 0, + 22891, 14819, 12886, + 22891, 14819, 12887, 0, + 22891, 14819, 13232, + 22891, 14819, 13233, 0, + 22891, 14819, 13336, + 22891, 14819, 13337, 0, + 22891, 14819, 14944, + 22891, 14819, 14945, 0, + 22891, 14819, 15748, + 22891, 14819, 15749, 0, + 22891, 14819, 16142, + 22891, 14819, 16143, 0, + 22891, 14819, 16576, + 22891, 14819, 16577, 0, + 22891, 14819, 17024, + 22891, 14819, 17025, 0, + 22891, 14819, 17362, + 22891, 14819, 17363, 0, + 22891, 14955, 18979, 29, 286, + 22891, 14955, 18979, 13136, + 22891, 15233, 3232, + 22891, 15233, 14638, + 22891, 15233, 15818, + 22891, 15233, 15820, + 22891, 15233, 16400, + 22891, 15233, 17232, + 22891, 15233, 18010, + 22891, 15233, 18086, + 22891, 15233, 18362, + 22891, 15233, 18742, + 22891, 15233, 19622, + 22891, 19341, 2610, + 22891, 19341, 3076, + 22891, 19341, 3136, + 22891, 19341, 3232, + 22891, 19341, 3356, + 22891, 19341, 5962, + 22891, 19341, 6746, + 22891, 19341, 6756, + 22891, 19341, 6778, + 22891, 19341, 7134, + 22891, 19341, 8460, + 22891, 19341, 8596, + 22891, 19341, 8780, + 22891, 19341, 9488, + 22891, 19341, 9720, + 22891, 19341, 10644, + 22891, 19341, 11968, + 22891, 19341, 11978, + 22891, 19341, 12518, + 22891, 19341, 12700, + 22891, 19341, 13322, + 22891, 19341, 13450, + 22891, 19341, 13626, + 22891, 19341, 13634, + 22891, 19341, 13736, + 22891, 19341, 14032, + 22891, 19341, 17250, + 22891, 19341, 17264, + 22891, 19341, 17596, + 22891, 19341, 18052, + 22891, 19341, 18536, + 22891, 19341, 19258, + 22891, 19341, 19578, + 22891, 19341, 19680, + 22891, 19341, 20116, + 22891, 19341, 22978, + 22894, + 22895, 10641, 36, + 22925, 8320, + 22925, 16534, + 22925, 18404, + 22925, 19224, + 22931, 15134, + 22938, + 22952, + 22971, 12005, 634, + 22973, 17642, + 22983, 6718, + 23096, + 23111, 46, + 23111, 9854, + 23111, 9855, 317, 7817, 7123, 14486, + 23111, 9855, 317, 13341, 7123, 14486, + 23111, 9855, 317, 14625, 14486, + 23111, 9855, 317, 18774, + 23111, 9855, 10641, 1217, 11392, + 23111, 9855, 10641, 18836, + 23121, 11447, 16088, + 23121, 14537, 11447, 16088, + 23121, 14625, 11447, 19557, 8320, + 23121, 20229, 12212, + 23124, + 23255, 12973, 6561, 11476, + 23255, 13581, 6561, 11476, + 23255, 20375, 11476, + 23299, 20375, 11476, + 23301, 17642, + 23305, 20375, 11476, + 23307, 20375, 11476, + 23313, 11430, + 23459, 14625, 14856, + 23459, 15873, 13579, 8320, + 23459, 19545, 13579, 8320, + 23459, 20909, 13579, 8320, + 23483, 15672, + 23505, 17588, + 23507, 13183, 15672, + 23535, 14809, 15672, + 23535, 14967, 15672, + 23557, 15672, + 23563, 15672, +}; +static const struct { uint16_t index; uint32_t name:24; } +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +__attribute__((__packed__)) +#endif +unicode_name_to_index[29282] = { + { 0x1CA1, 0 }, + { 0x2526, 4 }, + { 0x1EB0, 7 }, + { 0x1E88, 12 }, + { 0x24E1, 16 }, + { 0x24E3, 21 }, + { 0x24DB, 26 }, + { 0x24DC, 29 }, + { 0x25BF, 33 }, + { 0x24E2, 37 }, + { 0x24E4, 42 }, + { 0x25BE, 47 }, + { 0x257A, 51 }, + { 0x257B, 55 }, + { 0x2579, 59 }, + { 0x2598, 63 }, + { 0x1F6F, 67 }, + { 0x6FEA, 69 }, + { 0x1BC8, 73 }, + { 0x1BB5, 75 }, + { 0x1BB7, 77 }, + { 0x1BC7, 79 }, + { 0x1BB4, 81 }, + { 0x1BB6, 83 }, + { 0x6E59, 85 }, + { 0x222E, 90 }, + { 0x6FE6, 92 }, + { 0x6E30, 95 }, + { 0x6EAD, 98 }, + { 0x6FE8, 100 }, + { 0x6FEE, 103 }, + { 0x6FF2, 105 }, + { 0x6D87, 107 }, + { 0x188E, 110 }, + { 0x1893, 114 }, + { 0x1867, 117 }, + { 0x186C, 121 }, + { 0x1868, 125 }, + { 0x186B, 129 }, + { 0x186A, 133 }, + { 0x186F, 137 }, + { 0x1866, 141 }, + { 0x186E, 145 }, + { 0x186D, 149 }, + { 0x1869, 153 }, + { 0x1891, 157 }, + { 0x1872, 160 }, + { 0x1874, 164 }, + { 0x1871, 168 }, + { 0x1887, 172 }, + { 0x1885, 176 }, + { 0x187C, 180 }, + { 0x187E, 184 }, + { 0x187B, 188 }, + { 0x1870, 192 }, + { 0x1884, 196 }, + { 0x187A, 200 }, + { 0x1889, 204 }, + { 0x187F, 208 }, + { 0x188B, 212 }, + { 0x188D, 216 }, + { 0x188C, 220 }, + { 0x1880, 224 }, + { 0x1881, 228 }, + { 0x1883, 232 }, + { 0x1877, 236 }, + { 0x1876, 240 }, + { 0x1878, 244 }, + { 0x1879, 248 }, + { 0x1873, 252 }, + { 0x1886, 256 }, + { 0x1888, 260 }, + { 0x187D, 264 }, + { 0x1875, 268 }, + { 0x188A, 272 }, + { 0x1882, 276 }, + { 0x188F, 280 }, + { 0x1892, 284 }, + { 0x1890, 287 }, + { 0x1895, 291 }, + { 0x1894, 296 }, + { 0x6E84, 300 }, + { 0x6E56, 302 }, + { 0x2321, 311 }, + { 0x6D3D, 315 }, + { 0x0000, 316 }, + { 0x24AB, 317 }, + { 0x24A7, 324 }, + { 0x24A6, 331 }, + { 0x24A9, 338 }, + { 0x1D1E, 345 }, + { 0x1D31, 348 }, + { 0x2667, 353 }, + { 0x1D7C, 357 }, + { 0x1D5E, 361 }, + { 0x7138, 365 }, + { 0x26BF, 369 }, + { 0x24D8, 373 }, + { 0x1E2E, 376 }, + { 0x2339, 378 }, + { 0x2517, 383 }, + { 0x1E79, 387 }, + { 0x1E8C, 391 }, + { 0x270F, 393 }, + { 0x1EAD, 399 }, + { 0x1C14, 405 }, + { 0x3367, 406 }, + { 0x3364, 409 }, + { 0x334C, 412 }, + { 0x335E, 415 }, + { 0x3371, 418 }, + { 0x333C, 421 }, + { 0x3343, 424 }, + { 0x3354, 427 }, + { 0x3353, 430 }, + { 0x3363, 433 }, + { 0x3348, 436 }, + { 0x335D, 439 }, + { 0x3350, 442 }, + { 0x336E, 445 }, + { 0x3369, 448 }, + { 0x333F, 451 }, + { 0x334E, 454 }, + { 0x3342, 457 }, + { 0x3361, 460 }, + { 0x3358, 463 }, + { 0x3360, 466 }, + { 0x333D, 469 }, + { 0x3366, 472 }, + { 0x3345, 475 }, + { 0x3347, 478 }, + { 0x3349, 481 }, + { 0x3357, 484 }, + { 0x333B, 487 }, + { 0x335B, 490 }, + { 0x3340, 493 }, + { 0x334B, 496 }, + { 0x335C, 499 }, + { 0x335A, 502 }, + { 0x3359, 505 }, + { 0x3356, 508 }, + { 0x334D, 511 }, + { 0x336C, 514 }, + { 0x3346, 517 }, + { 0x3368, 520 }, + { 0x334F, 523 }, + { 0x3341, 526 }, + { 0x3351, 529 }, + { 0x3344, 532 }, + { 0x336A, 535 }, + { 0x334A, 538 }, + { 0x3362, 541 }, + { 0x3355, 544 }, + { 0x3370, 547 }, + { 0x333E, 550 }, + { 0x3352, 553 }, + { 0x335F, 556 }, + { 0x336B, 559 }, + { 0x336D, 562 }, + { 0x3365, 565 }, + { 0x336F, 568 }, + { 0x2EB8, 571 }, + { 0x2EC2, 574 }, + { 0x2EB0, 577 }, + { 0x2EBF, 580 }, + { 0x2EB9, 583 }, + { 0x2EB6, 586 }, + { 0x2EB7, 589 }, + { 0x2ECE, 592 }, + { 0x2ED8, 595 }, + { 0x2EC6, 598 }, + { 0x2ED5, 601 }, + { 0x2EDC, 604 }, + { 0x2EE2, 607 }, + { 0x3166, 610 }, + { 0x3170, 613 }, + { 0x315E, 616 }, + { 0x316D, 619 }, + { 0x3174, 622 }, + { 0x317A, 625 }, + { 0x2FB7, 628 }, + { 0x2FC0, 631 }, + { 0x2FB0, 634 }, + { 0x2FBD, 637 }, + { 0x2FC4, 640 }, + { 0x2EC1, 643 }, + { 0x2F81, 646 }, + { 0x2F7D, 649 }, + { 0x2F84, 652 }, + { 0x2F88, 655 }, + { 0x2F8E, 658 }, + { 0x3092, 661 }, + { 0x309E, 664 }, + { 0x308A, 667 }, + { 0x309A, 670 }, + { 0x30A2, 673 }, + { 0x3121, 676 }, + { 0x312C, 679 }, + { 0x3129, 682 }, + { 0x2EB4, 685 }, + { 0x2EB1, 688 }, + { 0x2EAE, 691 }, + { 0x2EAF, 694 }, + { 0x3290, 697 }, + { 0x329C, 700 }, + { 0x32A0, 703 }, + { 0x32A6, 706 }, + { 0x30AF, 709 }, + { 0x30BA, 712 }, + { 0x30A8, 715 }, + { 0x30B6, 718 }, + { 0x30BE, 721 }, + { 0x306F, 724 }, + { 0x307A, 727 }, + { 0x3067, 730 }, + { 0x3077, 733 }, + { 0x307E, 736 }, + { 0x3084, 739 }, + { 0x2F65, 742 }, + { 0x2F70, 745 }, + { 0x2F5E, 748 }, + { 0x2F6D, 751 }, + { 0x2F73, 754 }, + { 0x2F79, 757 }, + { 0x3033, 760 }, + { 0x303D, 763 }, + { 0x302D, 766 }, + { 0x303A, 769 }, + { 0x3041, 772 }, + { 0x2EC0, 775 }, + { 0x2EBD, 778 }, + { 0x2EBE, 781 }, + { 0x2EEF, 784 }, + { 0x2EE8, 787 }, + { 0x2EF6, 790 }, + { 0x2EFA, 793 }, + { 0x2F00, 796 }, + { 0x32AC, 799 }, + { 0x32B8, 802 }, + { 0x32BC, 805 }, + { 0x32C2, 808 }, + { 0x3276, 811 }, + { 0x3280, 814 }, + { 0x327D, 817 }, + { 0x3284, 820 }, + { 0x328A, 823 }, + { 0x31C0, 826 }, + { 0x31CA, 829 }, + { 0x31B9, 832 }, + { 0x31C7, 835 }, + { 0x31CE, 838 }, + { 0x31D4, 841 }, + { 0x2FD1, 844 }, + { 0x2FDC, 847 }, + { 0x2FCA, 850 }, + { 0x2FD9, 853 }, + { 0x2FE0, 856 }, + { 0x2EBB, 859 }, + { 0x2F9A, 862 }, + { 0x2F92, 865 }, + { 0x2F9E, 868 }, + { 0x2FA4, 871 }, + { 0x2FAA, 874 }, + { 0x3130, 877 }, + { 0x3139, 880 }, + { 0x3136, 883 }, + { 0x2EC3, 886 }, + { 0x330D, 889 }, + { 0x3317, 892 }, + { 0x331B, 895 }, + { 0x3321, 898 }, + { 0x332D, 901 }, + { 0x3331, 904 }, + { 0x3337, 907 }, + { 0x3144, 910 }, + { 0x314E, 913 }, + { 0x313D, 916 }, + { 0x314B, 919 }, + { 0x3152, 922 }, + { 0x3158, 925 }, + { 0x2ECF, 928 }, + { 0x2ECC, 931 }, + { 0x2ECD, 934 }, + { 0x2F0E, 937 }, + { 0x2F18, 940 }, + { 0x2F06, 943 }, + { 0x2F15, 946 }, + { 0x2F1C, 949 }, + { 0x2F22, 952 }, + { 0x2ED9, 955 }, + { 0x2ED7, 958 }, + { 0x2ECA, 961 }, + { 0x2EC7, 964 }, + { 0x2EC4, 967 }, + { 0x2EC5, 970 }, + { 0x2ED6, 973 }, + { 0x2ED3, 976 }, + { 0x2ED4, 979 }, + { 0x2ED1, 982 }, + { 0x2EDD, 985 }, + { 0x2EDF, 988 }, + { 0x2EDA, 991 }, + { 0x2EDB, 994 }, + { 0x2EE3, 997 }, + { 0x2EE5, 1000 }, + { 0x2EE0, 1003 }, + { 0x2EE1, 1006 }, + { 0x3167, 1009 }, + { 0x3164, 1012 }, + { 0x3165, 1015 }, + { 0x3171, 1018 }, + { 0x316F, 1021 }, + { 0x3211, 1024 }, + { 0x321D, 1027 }, + { 0x3219, 1030 }, + { 0x3220, 1033 }, + { 0x3226, 1036 }, + { 0x3162, 1039 }, + { 0x315F, 1042 }, + { 0x315C, 1045 }, + { 0x315D, 1048 }, + { 0x316E, 1051 }, + { 0x316B, 1054 }, + { 0x316C, 1057 }, + { 0x3169, 1060 }, + { 0x3175, 1063 }, + { 0x3177, 1066 }, + { 0x3172, 1069 }, + { 0x3173, 1072 }, + { 0x317B, 1075 }, + { 0x317D, 1078 }, + { 0x3178, 1081 }, + { 0x3179, 1084 }, + { 0x2FB8, 1087 }, + { 0x2FB5, 1090 }, + { 0x2FB6, 1093 }, + { 0x2FED, 1096 }, + { 0x2FF7, 1099 }, + { 0x2FE6, 1102 }, + { 0x2FF4, 1105 }, + { 0x2FFB, 1108 }, + { 0x2FC1, 1111 }, + { 0x2FBF, 1114 }, + { 0x2FB3, 1117 }, + { 0x2FB1, 1120 }, + { 0x2FAE, 1123 }, + { 0x2FAF, 1126 }, + { 0x2FBE, 1129 }, + { 0x2FBB, 1132 }, + { 0x2FBC, 1135 }, + { 0x2FBA, 1138 }, + { 0x2FC5, 1141 }, + { 0x2FC7, 1144 }, + { 0x2FC2, 1147 }, + { 0x2FC3, 1150 }, + { 0x2F82, 1153 }, + { 0x2F7F, 1156 }, + { 0x2F80, 1159 }, + { 0x2F7E, 1162 }, + { 0x2F7B, 1165 }, + { 0x2F7C, 1168 }, + { 0x2F85, 1171 }, + { 0x2F83, 1174 }, + { 0x2F89, 1177 }, + { 0x2F8B, 1180 }, + { 0x2F86, 1183 }, + { 0x2F87, 1186 }, + { 0x2F8F, 1189 }, + { 0x2F8C, 1192 }, + { 0x2F8D, 1195 }, + { 0x3093, 1198 }, + { 0x3090, 1201 }, + { 0x3091, 1204 }, + { 0x309F, 1207 }, + { 0x309C, 1210 }, + { 0x309D, 1213 }, + { 0x30CA, 1216 }, + { 0x30D6, 1219 }, + { 0x30C4, 1222 }, + { 0x30D2, 1225 }, + { 0x30DA, 1228 }, + { 0x308E, 1231 }, + { 0x308B, 1234 }, + { 0x3088, 1237 }, + { 0x3089, 1240 }, + { 0x309B, 1243 }, + { 0x3098, 1246 }, + { 0x3099, 1249 }, + { 0x3096, 1252 }, + { 0x30A3, 1255 }, + { 0x30A5, 1258 }, + { 0x30A0, 1261 }, + { 0x30A1, 1264 }, + { 0x3122, 1267 }, + { 0x311F, 1270 }, + { 0x3120, 1273 }, + { 0x312D, 1276 }, + { 0x312B, 1279 }, + { 0x311E, 1282 }, + { 0x311C, 1285 }, + { 0x304E, 1288 }, + { 0x3057, 1291 }, + { 0x3047, 1294 }, + { 0x3054, 1297 }, + { 0x305B, 1300 }, + { 0x3061, 1303 }, + { 0x2F48, 1306 }, + { 0x2F41, 1309 }, + { 0x2F4F, 1312 }, + { 0x2F53, 1315 }, + { 0x2F58, 1318 }, + { 0x3020, 1321 }, + { 0x3028, 1324 }, + { 0x3018, 1327 }, + { 0x312A, 1330 }, + { 0x3127, 1333 }, + { 0x3128, 1336 }, + { 0x3125, 1339 }, + { 0x30FE, 1342 }, + { 0x3109, 1345 }, + { 0x30F6, 1348 }, + { 0x3106, 1351 }, + { 0x2EB5, 1354 }, + { 0x2EB2, 1357 }, + { 0x2EB3, 1360 }, + { 0x3294, 1363 }, + { 0x3291, 1366 }, + { 0x328E, 1369 }, + { 0x328F, 1372 }, + { 0x32C8, 1375 }, + { 0x32D3, 1378 }, + { 0x32D7, 1381 }, + { 0x32DD, 1384 }, + { 0x329D, 1387 }, + { 0x329A, 1390 }, + { 0x329B, 1393 }, + { 0x3298, 1396 }, + { 0x32A1, 1399 }, + { 0x32A3, 1402 }, + { 0x329E, 1405 }, + { 0x329F, 1408 }, + { 0x32A7, 1411 }, + { 0x32A9, 1414 }, + { 0x32A4, 1417 }, + { 0x32A5, 1420 }, + { 0x30B0, 1423 }, + { 0x30AD, 1426 }, + { 0x30AE, 1429 }, + { 0x30BB, 1432 }, + { 0x30B8, 1435 }, + { 0x30B9, 1438 }, + { 0x30AB, 1441 }, + { 0x30A9, 1444 }, + { 0x30A6, 1447 }, + { 0x30A7, 1450 }, + { 0x30B7, 1453 }, + { 0x30B4, 1456 }, + { 0x30B5, 1459 }, + { 0x30B2, 1462 }, + { 0x30BF, 1465 }, + { 0x30C1, 1468 }, + { 0x30BC, 1471 }, + { 0x30BD, 1474 }, + { 0x3070, 1477 }, + { 0x306D, 1480 }, + { 0x306E, 1483 }, + { 0x307B, 1486 }, + { 0x3079, 1489 }, + { 0x306B, 1492 }, + { 0x3068, 1495 }, + { 0x3065, 1498 }, + { 0x3066, 1501 }, + { 0x3078, 1504 }, + { 0x3075, 1507 }, + { 0x3076, 1510 }, + { 0x3073, 1513 }, + { 0x307F, 1516 }, + { 0x3081, 1519 }, + { 0x307C, 1522 }, + { 0x307D, 1525 }, + { 0x3085, 1528 }, + { 0x3087, 1531 }, + { 0x3082, 1534 }, + { 0x3083, 1537 }, + { 0x2F66, 1540 }, + { 0x2F63, 1543 }, + { 0x2F64, 1546 }, + { 0x2F6F, 1549 }, + { 0x30E2, 1552 }, + { 0x30EC, 1555 }, + { 0x30E9, 1558 }, + { 0x30F0, 1561 }, + { 0x2F61, 1564 }, + { 0x2F5F, 1567 }, + { 0x2F5C, 1570 }, + { 0x2F5D, 1573 }, + { 0x2F6E, 1576 }, + { 0x2F6B, 1579 }, + { 0x2F6C, 1582 }, + { 0x2F69, 1585 }, + { 0x2F74, 1588 }, + { 0x2F76, 1591 }, + { 0x2F71, 1594 }, + { 0x2F72, 1597 }, + { 0x2F7A, 1600 }, + { 0x2F77, 1603 }, + { 0x2F78, 1606 }, + { 0x3034, 1609 }, + { 0x3032, 1612 }, + { 0x2F2D, 1615 }, + { 0x2F26, 1618 }, + { 0x2F31, 1621 }, + { 0x2F35, 1624 }, + { 0x2F3B, 1627 }, + { 0x3007, 1630 }, + { 0x300E, 1633 }, + { 0x3001, 1636 }, + { 0x300B, 1639 }, + { 0x3012, 1642 }, + { 0x303E, 1645 }, + { 0x303C, 1648 }, + { 0x3110, 1651 }, + { 0x311A, 1654 }, + { 0x3117, 1657 }, + { 0x3030, 1660 }, + { 0x302E, 1663 }, + { 0x302B, 1666 }, + { 0x302C, 1669 }, + { 0x32E1, 1672 }, + { 0x32EB, 1675 }, + { 0x32EE, 1678 }, + { 0x32F4, 1681 }, + { 0x303B, 1684 }, + { 0x3038, 1687 }, + { 0x3039, 1690 }, + { 0x3244, 1693 }, + { 0x324B, 1696 }, + { 0x3247, 1699 }, + { 0x324F, 1702 }, + { 0x3255, 1705 }, + { 0x3036, 1708 }, + { 0x3042, 1711 }, + { 0x3044, 1714 }, + { 0x303F, 1717 }, + { 0x3040, 1720 }, + { 0x32FA, 1723 }, + { 0x3305, 1726 }, + { 0x3309, 1729 }, + { 0x31A4, 1732 }, + { 0x31AB, 1735 }, + { 0x319D, 1738 }, + { 0x31AD, 1741 }, + { 0x31B3, 1744 }, + { 0x2EF0, 1747 }, + { 0x2EED, 1750 }, + { 0x2EEE, 1753 }, + { 0x2EEB, 1756 }, + { 0x2EE9, 1759 }, + { 0x2EE6, 1762 }, + { 0x2EE7, 1765 }, + { 0x2EF7, 1768 }, + { 0x2EF4, 1771 }, + { 0x2EF5, 1774 }, + { 0x2EF2, 1777 }, + { 0x2EFB, 1780 }, + { 0x2EFD, 1783 }, + { 0x2EF8, 1786 }, + { 0x2EF9, 1789 }, + { 0x2F01, 1792 }, + { 0x2F03, 1795 }, + { 0x2EFE, 1798 }, + { 0x2EFF, 1801 }, + { 0x32B0, 1804 }, + { 0x32AD, 1807 }, + { 0x32AA, 1810 }, + { 0x32AB, 1813 }, + { 0x32B9, 1816 }, + { 0x32B6, 1819 }, + { 0x32B7, 1822 }, + { 0x32B4, 1825 }, + { 0x32BD, 1828 }, + { 0x32BF, 1831 }, + { 0x32BA, 1834 }, + { 0x32BB, 1837 }, + { 0x32C3, 1840 }, + { 0x32C5, 1843 }, + { 0x32C0, 1846 }, + { 0x32C1, 1849 }, + { 0x3277, 1852 }, + { 0x3274, 1855 }, + { 0x3275, 1858 }, + { 0x3281, 1861 }, + { 0x327F, 1864 }, + { 0x327E, 1867 }, + { 0x327B, 1870 }, + { 0x327C, 1873 }, + { 0x322B, 1876 }, + { 0x3234, 1879 }, + { 0x3230, 1882 }, + { 0x3238, 1885 }, + { 0x323E, 1888 }, + { 0x3279, 1891 }, + { 0x3285, 1894 }, + { 0x3287, 1897 }, + { 0x3282, 1900 }, + { 0x3283, 1903 }, + { 0x328B, 1906 }, + { 0x328D, 1909 }, + { 0x3288, 1912 }, + { 0x3289, 1915 }, + { 0x31C1, 1918 }, + { 0x31BE, 1921 }, + { 0x31BF, 1924 }, + { 0x31CB, 1927 }, + { 0x31C9, 1930 }, + { 0x325B, 1933 }, + { 0x3266, 1936 }, + { 0x3262, 1939 }, + { 0x326A, 1942 }, + { 0x3270, 1945 }, + { 0x31BC, 1948 }, + { 0x31BA, 1951 }, + { 0x31B7, 1954 }, + { 0x31B8, 1957 }, + { 0x31C8, 1960 }, + { 0x31C5, 1963 }, + { 0x31C6, 1966 }, + { 0x31E1, 1969 }, + { 0x31E8, 1972 }, + { 0x31DA, 1975 }, + { 0x31E5, 1978 }, + { 0x31EC, 1981 }, + { 0x31F0, 1984 }, + { 0x31C3, 1987 }, + { 0x31CF, 1990 }, + { 0x31D1, 1993 }, + { 0x31CC, 1996 }, + { 0x31CD, 1999 }, + { 0x31D5, 2002 }, + { 0x31D7, 2005 }, + { 0x31D2, 2008 }, + { 0x31D3, 2011 }, + { 0x2FD2, 2014 }, + { 0x2FCF, 2017 }, + { 0x2FD0, 2020 }, + { 0x2FDD, 2023 }, + { 0x2FDB, 2026 }, + { 0x2FCD, 2029 }, + { 0x2FCB, 2032 }, + { 0x2FC8, 2035 }, + { 0x2FC9, 2038 }, + { 0x2FDA, 2041 }, + { 0x2FD7, 2044 }, + { 0x2FD8, 2047 }, + { 0x2FD5, 2050 }, + { 0x2FE1, 2053 }, + { 0x2FE3, 2056 }, + { 0x2FDE, 2059 }, + { 0x2FDF, 2062 }, + { 0x2EBC, 2065 }, + { 0x2EBA, 2068 }, + { 0x2F9B, 2071 }, + { 0x2F98, 2074 }, + { 0x2F99, 2077 }, + { 0x2FA1, 2080 }, + { 0x2FA0, 2083 }, + { 0x2F96, 2086 }, + { 0x2F93, 2089 }, + { 0x2F90, 2092 }, + { 0x2F91, 2095 }, + { 0x2F9F, 2098 }, + { 0x2F9C, 2101 }, + { 0x2F9D, 2104 }, + { 0x2FA5, 2107 }, + { 0x2FA7, 2110 }, + { 0x2FA2, 2113 }, + { 0x2FA3, 2116 }, + { 0x2FAB, 2119 }, + { 0x2FAD, 2122 }, + { 0x2FA8, 2125 }, + { 0x2FA9, 2128 }, + { 0x3131, 2131 }, + { 0x312E, 2134 }, + { 0x312F, 2137 }, + { 0x313A, 2140 }, + { 0x3138, 2143 }, + { 0x3137, 2146 }, + { 0x3135, 2149 }, + { 0x3133, 2152 }, + { 0x3311, 2155 }, + { 0x330E, 2158 }, + { 0x330B, 2161 }, + { 0x330C, 2164 }, + { 0x3318, 2167 }, + { 0x3315, 2170 }, + { 0x3316, 2173 }, + { 0x3314, 2176 }, + { 0x331C, 2179 }, + { 0x331E, 2182 }, + { 0x3319, 2185 }, + { 0x331A, 2188 }, + { 0x3325, 2191 }, + { 0x3322, 2194 }, + { 0x331F, 2197 }, + { 0x3320, 2200 }, + { 0x332E, 2203 }, + { 0x332B, 2206 }, + { 0x332C, 2209 }, + { 0x3329, 2212 }, + { 0x3332, 2215 }, + { 0x3334, 2218 }, + { 0x332F, 2221 }, + { 0x3330, 2224 }, + { 0x3338, 2227 }, + { 0x333A, 2230 }, + { 0x3335, 2233 }, + { 0x3336, 2236 }, + { 0x3145, 2239 }, + { 0x3142, 2242 }, + { 0x3143, 2245 }, + { 0x314F, 2248 }, + { 0x314D, 2251 }, + { 0x31F6, 2254 }, + { 0x3201, 2257 }, + { 0x31FD, 2260 }, + { 0x3205, 2263 }, + { 0x320B, 2266 }, + { 0x3140, 2269 }, + { 0x313E, 2272 }, + { 0x313B, 2275 }, + { 0x313C, 2278 }, + { 0x314C, 2281 }, + { 0x3149, 2284 }, + { 0x314A, 2287 }, + { 0x3147, 2290 }, + { 0x3153, 2293 }, + { 0x3155, 2296 }, + { 0x3150, 2299 }, + { 0x3151, 2302 }, + { 0x3159, 2305 }, + { 0x315B, 2308 }, + { 0x3156, 2311 }, + { 0x3157, 2314 }, + { 0x3188, 2317 }, + { 0x318E, 2320 }, + { 0x3180, 2323 }, + { 0x318B, 2326 }, + { 0x3191, 2329 }, + { 0x3197, 2332 }, + { 0x2F0F, 2335 }, + { 0x2F0C, 2338 }, + { 0x2F0D, 2341 }, + { 0x2F19, 2344 }, + { 0x2F17, 2347 }, + { 0x2F0A, 2350 }, + { 0x2F07, 2353 }, + { 0x2F04, 2356 }, + { 0x2F05, 2359 }, + { 0x2F16, 2362 }, + { 0x2F13, 2365 }, + { 0x2F14, 2368 }, + { 0x2F11, 2371 }, + { 0x2F1D, 2374 }, + { 0x2F1F, 2377 }, + { 0x2F1A, 2380 }, + { 0x2F1B, 2383 }, + { 0x2F23, 2386 }, + { 0x2F20, 2389 }, + { 0x2F21, 2392 }, + { 0x2ECB, 2395 }, + { 0x2EC8, 2398 }, + { 0x2EC9, 2401 }, + { 0x2ED2, 2404 }, + { 0x2ED0, 2407 }, + { 0x2EDE, 2410 }, + { 0x2EE4, 2413 }, + { 0x3212, 2416 }, + { 0x320F, 2419 }, + { 0x3210, 2422 }, + { 0x321E, 2425 }, + { 0x321B, 2428 }, + { 0x321C, 2431 }, + { 0x321A, 2434 }, + { 0x3217, 2437 }, + { 0x3218, 2440 }, + { 0x3215, 2443 }, + { 0x3221, 2446 }, + { 0x3223, 2449 }, + { 0x321F, 2452 }, + { 0x3227, 2455 }, + { 0x3229, 2458 }, + { 0x3224, 2461 }, + { 0x3225, 2464 }, + { 0x3163, 2467 }, + { 0x3160, 2470 }, + { 0x3161, 2473 }, + { 0x316A, 2476 }, + { 0x3168, 2479 }, + { 0x3176, 2482 }, + { 0x317C, 2485 }, + { 0x2FEE, 2488 }, + { 0x2FEB, 2491 }, + { 0x2FEC, 2494 }, + { 0x2FF8, 2497 }, + { 0x2FF6, 2500 }, + { 0x2FE9, 2503 }, + { 0x2FE7, 2506 }, + { 0x2FE4, 2509 }, + { 0x2FE5, 2512 }, + { 0x2FF5, 2515 }, + { 0x2FF2, 2518 }, + { 0x2FF3, 2521 }, + { 0x2FF0, 2524 }, + { 0x2FFC, 2527 }, + { 0x2FFE, 2530 }, + { 0x2FF9, 2533 }, + { 0x2FFA, 2536 }, + { 0x2FB4, 2539 }, + { 0x2FB2, 2542 }, + { 0x2FB9, 2545 }, + { 0x2FC6, 2548 }, + { 0x2F8A, 2551 }, + { 0x30CB, 2554 }, + { 0x30C8, 2557 }, + { 0x30C9, 2560 }, + { 0x30D7, 2563 }, + { 0x30D4, 2566 }, + { 0x30D5, 2569 }, + { 0x30C6, 2572 }, + { 0x30C2, 2575 }, + { 0x30C3, 2578 }, + { 0x30D3, 2581 }, + { 0x30D0, 2584 }, + { 0x30D1, 2587 }, + { 0x30CE, 2590 }, + { 0x30DB, 2593 }, + { 0x30DD, 2596 }, + { 0x30D8, 2599 }, + { 0x30D9, 2602 }, + { 0x308F, 2605 }, + { 0x308C, 2608 }, + { 0x308D, 2611 }, + { 0x3097, 2614 }, + { 0x3094, 2617 }, + { 0x3095, 2620 }, + { 0x30A4, 2623 }, + { 0x311D, 2626 }, + { 0x304F, 2629 }, + { 0x304C, 2632 }, + { 0x304D, 2635 }, + { 0x3058, 2638 }, + { 0x3056, 2641 }, + { 0x304A, 2644 }, + { 0x3048, 2647 }, + { 0x3045, 2650 }, + { 0x3046, 2653 }, + { 0x3055, 2656 }, + { 0x3053, 2659 }, + { 0x3051, 2662 }, + { 0x305C, 2665 }, + { 0x305E, 2668 }, + { 0x3059, 2671 }, + { 0x305A, 2674 }, + { 0x3062, 2677 }, + { 0x3064, 2680 }, + { 0x305F, 2683 }, + { 0x3060, 2686 }, + { 0x2F49, 2689 }, + { 0x2F46, 2692 }, + { 0x2F47, 2695 }, + { 0x2F44, 2698 }, + { 0x2F42, 2701 }, + { 0x2F3F, 2704 }, + { 0x2F40, 2707 }, + { 0x2F50, 2710 }, + { 0x2F4D, 2713 }, + { 0x2F4E, 2716 }, + { 0x2F4B, 2719 }, + { 0x2F54, 2722 }, + { 0x2F56, 2725 }, + { 0x2F51, 2728 }, + { 0x2F52, 2731 }, + { 0x2F59, 2734 }, + { 0x2F5B, 2737 }, + { 0x2F57, 2740 }, + { 0x3021, 2743 }, + { 0x301E, 2746 }, + { 0x301F, 2749 }, + { 0x3029, 2752 }, + { 0x3027, 2755 }, + { 0x301C, 2758 }, + { 0x3019, 2761 }, + { 0x3016, 2764 }, + { 0x3017, 2767 }, + { 0x3026, 2770 }, + { 0x3024, 2773 }, + { 0x3025, 2776 }, + { 0x3023, 2779 }, + { 0x302A, 2782 }, + { 0x3126, 2785 }, + { 0x3123, 2788 }, + { 0x3124, 2791 }, + { 0x30FF, 2794 }, + { 0x30FC, 2797 }, + { 0x30FD, 2800 }, + { 0x310A, 2803 }, + { 0x3108, 2806 }, + { 0x30FA, 2809 }, + { 0x30F7, 2812 }, + { 0x30F4, 2815 }, + { 0x30F5, 2818 }, + { 0x3107, 2821 }, + { 0x3104, 2824 }, + { 0x3105, 2827 }, + { 0x3102, 2830 }, + { 0x3295, 2833 }, + { 0x3292, 2836 }, + { 0x3293, 2839 }, + { 0x32CC, 2842 }, + { 0x32C9, 2845 }, + { 0x32C6, 2848 }, + { 0x32C7, 2851 }, + { 0x32D4, 2854 }, + { 0x32D1, 2857 }, + { 0x32D2, 2860 }, + { 0x32CF, 2863 }, + { 0x32D8, 2866 }, + { 0x32DA, 2869 }, + { 0x32D5, 2872 }, + { 0x32D6, 2875 }, + { 0x32DE, 2878 }, + { 0x32DB, 2881 }, + { 0x32DC, 2884 }, + { 0x3299, 2887 }, + { 0x3296, 2890 }, + { 0x3297, 2893 }, + { 0x32A2, 2896 }, + { 0x32A8, 2899 }, + { 0x30AC, 2902 }, + { 0x30AA, 2905 }, + { 0x30B3, 2908 }, + { 0x30B1, 2911 }, + { 0x30C0, 2914 }, + { 0x306C, 2917 }, + { 0x3069, 2920 }, + { 0x306A, 2923 }, + { 0x3074, 2926 }, + { 0x3071, 2929 }, + { 0x3072, 2932 }, + { 0x3080, 2935 }, + { 0x3086, 2938 }, + { 0x30E3, 2941 }, + { 0x30E0, 2944 }, + { 0x30E1, 2947 }, + { 0x30ED, 2950 }, + { 0x30EB, 2953 }, + { 0x30DF, 2956 }, + { 0x30EA, 2959 }, + { 0x30E7, 2962 }, + { 0x30E8, 2965 }, + { 0x30E5, 2968 }, + { 0x30F1, 2971 }, + { 0x30F3, 2974 }, + { 0x30EE, 2977 }, + { 0x30EF, 2980 }, + { 0x2F62, 2983 }, + { 0x2F60, 2986 }, + { 0x2F6A, 2989 }, + { 0x2F67, 2992 }, + { 0x2F68, 2995 }, + { 0x2F75, 2998 }, + { 0x2F2E, 3001 }, + { 0x2F2B, 3004 }, + { 0x2F2C, 3007 }, + { 0x2F29, 3010 }, + { 0x2F27, 3013 }, + { 0x2F24, 3016 }, + { 0x2F25, 3019 }, + { 0x2F32, 3022 }, + { 0x2F2F, 3025 }, + { 0x2F30, 3028 }, + { 0x2F36, 3031 }, + { 0x2F38, 3034 }, + { 0x2F33, 3037 }, + { 0x2F34, 3040 }, + { 0x2F3C, 3043 }, + { 0x2F3E, 3046 }, + { 0x2F39, 3049 }, + { 0x2F3A, 3052 }, + { 0x3008, 3055 }, + { 0x3005, 3058 }, + { 0x3006, 3061 }, + { 0x300F, 3064 }, + { 0x300D, 3067 }, + { 0x3004, 3070 }, + { 0x3002, 3073 }, + { 0x2FFF, 3076 }, + { 0x3000, 3079 }, + { 0x300C, 3082 }, + { 0x3009, 3085 }, + { 0x300A, 3088 }, + { 0x3013, 3091 }, + { 0x3015, 3094 }, + { 0x3010, 3097 }, + { 0x3011, 3100 }, + { 0x3111, 3103 }, + { 0x310E, 3106 }, + { 0x310F, 3109 }, + { 0x311B, 3112 }, + { 0x3119, 3115 }, + { 0x310C, 3118 }, + { 0x3118, 3121 }, + { 0x3115, 3124 }, + { 0x3116, 3127 }, + { 0x3114, 3130 }, + { 0x3031, 3133 }, + { 0x302F, 3136 }, + { 0x32E5, 3139 }, + { 0x32E2, 3142 }, + { 0x32DF, 3145 }, + { 0x32E0, 3148 }, + { 0x32EC, 3151 }, + { 0x32E9, 3154 }, + { 0x32EA, 3157 }, + { 0x32E8, 3160 }, + { 0x32EF, 3163 }, + { 0x32F1, 3166 }, + { 0x32ED, 3169 }, + { 0x32F5, 3172 }, + { 0x32F7, 3175 }, + { 0x32F2, 3178 }, + { 0x32F3, 3181 }, + { 0x3245, 3184 }, + { 0x3242, 3187 }, + { 0x3243, 3190 }, + { 0x324C, 3193 }, + { 0x3249, 3196 }, + { 0x324A, 3199 }, + { 0x3248, 3202 }, + { 0x3246, 3205 }, + { 0x3250, 3208 }, + { 0x3252, 3211 }, + { 0x324D, 3214 }, + { 0x324E, 3217 }, + { 0x3256, 3220 }, + { 0x3258, 3223 }, + { 0x3253, 3226 }, + { 0x3254, 3229 }, + { 0x3037, 3232 }, + { 0x3035, 3235 }, + { 0x3043, 3238 }, + { 0x32FE, 3241 }, + { 0x32FB, 3244 }, + { 0x32F8, 3247 }, + { 0x32F9, 3250 }, + { 0x3306, 3253 }, + { 0x3303, 3256 }, + { 0x3304, 3259 }, + { 0x3301, 3262 }, + { 0x330A, 3265 }, + { 0x3307, 3268 }, + { 0x3308, 3271 }, + { 0x31A5, 3274 }, + { 0x31A2, 3277 }, + { 0x31A3, 3280 }, + { 0x31AA, 3283 }, + { 0x31A0, 3286 }, + { 0x319E, 3289 }, + { 0x319B, 3292 }, + { 0x319C, 3295 }, + { 0x31A9, 3298 }, + { 0x31A8, 3301 }, + { 0x31A7, 3304 }, + { 0x31AE, 3307 }, + { 0x31B0, 3310 }, + { 0x31AC, 3313 }, + { 0x31B4, 3316 }, + { 0x31B6, 3319 }, + { 0x31B1, 3322 }, + { 0x31B2, 3325 }, + { 0x2EEC, 3328 }, + { 0x2EEA, 3331 }, + { 0x2EF3, 3334 }, + { 0x2EF1, 3337 }, + { 0x2EFC, 3340 }, + { 0x2F02, 3343 }, + { 0x32B1, 3346 }, + { 0x32AE, 3349 }, + { 0x32AF, 3352 }, + { 0x32B5, 3355 }, + { 0x32B2, 3358 }, + { 0x32B3, 3361 }, + { 0x32BE, 3364 }, + { 0x32C4, 3367 }, + { 0x322A, 3370 }, + { 0x3235, 3373 }, + { 0x3232, 3376 }, + { 0x3233, 3379 }, + { 0x3231, 3382 }, + { 0x322E, 3385 }, + { 0x322F, 3388 }, + { 0x322D, 3391 }, + { 0x3239, 3394 }, + { 0x323B, 3397 }, + { 0x3236, 3400 }, + { 0x3237, 3403 }, + { 0x323F, 3406 }, + { 0x3241, 3409 }, + { 0x323C, 3412 }, + { 0x323D, 3415 }, + { 0x327A, 3418 }, + { 0x3278, 3421 }, + { 0x3286, 3424 }, + { 0x328C, 3427 }, + { 0x325C, 3430 }, + { 0x3259, 3433 }, + { 0x325A, 3436 }, + { 0x3267, 3439 }, + { 0x3264, 3442 }, + { 0x3265, 3445 }, + { 0x3263, 3448 }, + { 0x3260, 3451 }, + { 0x3261, 3454 }, + { 0x325E, 3457 }, + { 0x326B, 3460 }, + { 0x326D, 3463 }, + { 0x3268, 3466 }, + { 0x3269, 3469 }, + { 0x3271, 3472 }, + { 0x3273, 3475 }, + { 0x326E, 3478 }, + { 0x326F, 3481 }, + { 0x31BD, 3484 }, + { 0x31BB, 3487 }, + { 0x31E2, 3490 }, + { 0x31DF, 3493 }, + { 0x31E0, 3496 }, + { 0x31E9, 3499 }, + { 0x31E7, 3502 }, + { 0x31DD, 3505 }, + { 0x31DB, 3508 }, + { 0x31D8, 3511 }, + { 0x31D9, 3514 }, + { 0x31E6, 3517 }, + { 0x31E3, 3520 }, + { 0x31E4, 3523 }, + { 0x31ED, 3526 }, + { 0x31EA, 3529 }, + { 0x31EB, 3532 }, + { 0x31F1, 3535 }, + { 0x31F3, 3538 }, + { 0x31EE, 3541 }, + { 0x31EF, 3544 }, + { 0x31C4, 3547 }, + { 0x31C2, 3550 }, + { 0x31D0, 3553 }, + { 0x31D6, 3556 }, + { 0x2FCE, 3559 }, + { 0x2FCC, 3562 }, + { 0x2FD6, 3565 }, + { 0x2FD3, 3568 }, + { 0x2FD4, 3571 }, + { 0x2FE2, 3574 }, + { 0x2F97, 3577 }, + { 0x2F94, 3580 }, + { 0x2F95, 3583 }, + { 0x2FA6, 3586 }, + { 0x2FAC, 3589 }, + { 0x3134, 3592 }, + { 0x3132, 3595 }, + { 0x3312, 3598 }, + { 0x330F, 3601 }, + { 0x3310, 3604 }, + { 0x3313, 3607 }, + { 0x331D, 3610 }, + { 0x3326, 3613 }, + { 0x3323, 3616 }, + { 0x3324, 3619 }, + { 0x332A, 3622 }, + { 0x3327, 3625 }, + { 0x3328, 3628 }, + { 0x3333, 3631 }, + { 0x3339, 3634 }, + { 0x31F7, 3637 }, + { 0x31F4, 3640 }, + { 0x31F5, 3643 }, + { 0x3202, 3646 }, + { 0x31FF, 3649 }, + { 0x3200, 3652 }, + { 0x31FE, 3655 }, + { 0x31FB, 3658 }, + { 0x31FC, 3661 }, + { 0x31F9, 3664 }, + { 0x3206, 3667 }, + { 0x3208, 3670 }, + { 0x3203, 3673 }, + { 0x3204, 3676 }, + { 0x320C, 3679 }, + { 0x320E, 3682 }, + { 0x3209, 3685 }, + { 0x320A, 3688 }, + { 0x3141, 3691 }, + { 0x313F, 3694 }, + { 0x3148, 3697 }, + { 0x3146, 3700 }, + { 0x3154, 3703 }, + { 0x315A, 3706 }, + { 0x3189, 3709 }, + { 0x3186, 3712 }, + { 0x3187, 3715 }, + { 0x318F, 3718 }, + { 0x318D, 3721 }, + { 0x3184, 3724 }, + { 0x3181, 3727 }, + { 0x317E, 3730 }, + { 0x317F, 3733 }, + { 0x318C, 3736 }, + { 0x318A, 3739 }, + { 0x3192, 3742 }, + { 0x3194, 3745 }, + { 0x3190, 3748 }, + { 0x3198, 3751 }, + { 0x319A, 3754 }, + { 0x3195, 3757 }, + { 0x3196, 3760 }, + { 0x2F0B, 3763 }, + { 0x2F08, 3766 }, + { 0x2F09, 3769 }, + { 0x2F12, 3772 }, + { 0x2F10, 3775 }, + { 0x2F1E, 3778 }, + { 0x3216, 3781 }, + { 0x3213, 3784 }, + { 0x3214, 3787 }, + { 0x3222, 3790 }, + { 0x3228, 3793 }, + { 0x2FEA, 3796 }, + { 0x2FE8, 3799 }, + { 0x2FF1, 3802 }, + { 0x2FEF, 3805 }, + { 0x2FFD, 3808 }, + { 0x30C7, 3811 }, + { 0x30C5, 3814 }, + { 0x30CF, 3817 }, + { 0x30CC, 3820 }, + { 0x30CD, 3823 }, + { 0x30DC, 3826 }, + { 0x304B, 3829 }, + { 0x3049, 3832 }, + { 0x3052, 3835 }, + { 0x3050, 3838 }, + { 0x305D, 3841 }, + { 0x3063, 3844 }, + { 0x2F45, 3847 }, + { 0x2F43, 3850 }, + { 0x2F4C, 3853 }, + { 0x2F4A, 3856 }, + { 0x2F55, 3859 }, + { 0x2F5A, 3862 }, + { 0x301D, 3865 }, + { 0x301A, 3868 }, + { 0x301B, 3871 }, + { 0x3022, 3874 }, + { 0x30FB, 3877 }, + { 0x30F8, 3880 }, + { 0x30F9, 3883 }, + { 0x3103, 3886 }, + { 0x3100, 3889 }, + { 0x3101, 3892 }, + { 0x32CD, 3895 }, + { 0x32CA, 3898 }, + { 0x32CB, 3901 }, + { 0x32D0, 3904 }, + { 0x32CE, 3907 }, + { 0x32D9, 3910 }, + { 0x30DE, 3913 }, + { 0x30E6, 3916 }, + { 0x30E4, 3919 }, + { 0x30F2, 3922 }, + { 0x2F2A, 3925 }, + { 0x2F28, 3928 }, + { 0x2F37, 3931 }, + { 0x2F3D, 3934 }, + { 0x3003, 3937 }, + { 0x3014, 3940 }, + { 0x310D, 3943 }, + { 0x310B, 3946 }, + { 0x3112, 3949 }, + { 0x3113, 3952 }, + { 0x32E6, 3955 }, + { 0x32E3, 3958 }, + { 0x32E4, 3961 }, + { 0x32E7, 3964 }, + { 0x32F0, 3967 }, + { 0x32F6, 3970 }, + { 0x3251, 3973 }, + { 0x3257, 3976 }, + { 0x32FF, 3979 }, + { 0x32FC, 3982 }, + { 0x32FD, 3985 }, + { 0x3302, 3988 }, + { 0x3300, 3991 }, + { 0x31A1, 3994 }, + { 0x319F, 3997 }, + { 0x31A6, 4000 }, + { 0x31AF, 4003 }, + { 0x31B5, 4006 }, + { 0x322C, 4009 }, + { 0x323A, 4012 }, + { 0x3240, 4015 }, + { 0x325F, 4018 }, + { 0x325D, 4021 }, + { 0x326C, 4024 }, + { 0x3272, 4027 }, + { 0x31DE, 4030 }, + { 0x31DC, 4033 }, + { 0x31F2, 4036 }, + { 0x31FA, 4039 }, + { 0x31F8, 4042 }, + { 0x3207, 4045 }, + { 0x320D, 4048 }, + { 0x3185, 4051 }, + { 0x3182, 4054 }, + { 0x3183, 4057 }, + { 0x3193, 4060 }, + { 0x3199, 4063 }, + { 0x2EC3, 4066 }, + { 0x2186, 4070 }, + { 0x1DD5, 4072 }, + { 0x1EB7, 4075 }, + { 0x05B2, 4077 }, + { 0x232B, 4078 }, + { 0x6D57, 4081 }, + { 0x1EE6, 4082 }, + { 0x1EDE, 4088 }, + { 0x1EDA, 4094 }, + { 0x1EEA, 4100 }, + { 0x1EFB, 4106 }, + { 0x1EDB, 4112 }, + { 0x1EF4, 4117 }, + { 0x1EEB, 4122 }, + { 0x1EE4, 4127 }, + { 0x1EED, 4132 }, + { 0x1EFD, 4137 }, + { 0x1EEF, 4141 }, + { 0x1ED7, 4147 }, + { 0x1ED3, 4153 }, + { 0x1EFA, 4159 }, + { 0x1EFC, 4165 }, + { 0x1F01, 4169 }, + { 0x1EF0, 4174 }, + { 0x1F1E, 4180 }, + { 0x1EDC, 4184 }, + { 0x1EDD, 4190 }, + { 0x1EC4, 4195 }, + { 0x1EF8, 4200 }, + { 0x1ED5, 4206 }, + { 0x1EE9, 4212 }, + { 0x1ED6, 4217 }, + { 0x1EC1, 4222 }, + { 0x1ECA, 4227 }, + { 0x1EC5, 4232 }, + { 0x1EC2, 4237 }, + { 0x1EC3, 4242 }, + { 0x1ED9, 4247 }, + { 0x1EF9, 4253 }, + { 0x1ECB, 4258 }, + { 0x1EE0, 4263 }, + { 0x1ED0, 4269 }, + { 0x1ECC, 4275 }, + { 0x1ED1, 4280 }, + { 0x1ECD, 4286 }, + { 0x1EEC, 4291 }, + { 0x1F03, 4296 }, + { 0x1EFF, 4300 }, + { 0x1EF3, 4305 }, + { 0x1ED4, 4310 }, + { 0x1EE2, 4315 }, + { 0x1EFE, 4320 }, + { 0x1F02, 4324 }, + { 0x1EE7, 4329 }, + { 0x1EE1, 4334 }, + { 0x1EC8, 4339 }, + { 0x1EF6, 4344 }, + { 0x1EF1, 4349 }, + { 0x1EF5, 4354 }, + { 0x1EC7, 4358 }, + { 0x1EE8, 4363 }, + { 0x1EC6, 4368 }, + { 0x1EE5, 4373 }, + { 0x1ED2, 4378 }, + { 0x1EEE, 4383 }, + { 0x1EBF, 4388 }, + { 0x1EC0, 4392 }, + { 0x1EE3, 4397 }, + { 0x1F00, 4402 }, + { 0x1ED8, 4407 }, + { 0x1EC9, 4412 }, + { 0x1EDF, 4417 }, + { 0x1ECE, 4422 }, + { 0x1EF7, 4427 }, + { 0x1ECF, 4432 }, + { 0x1EF2, 4437 }, + { 0x1E9B, 4442 }, + { 0x6E05, 4443 }, + { 0x71C5, 4445 }, + { 0x700A, 4446 }, + { 0x1CC3, 4447 }, + { 0x2553, 4449 }, + { 0x2552, 4452 }, + { 0x3D8A, 4454 }, + { 0x6D34, 4455 }, + { 0x209A, 4458 }, + { 0x2080, 4466 }, + { 0x2074, 4474 }, + { 0x2078, 4481 }, + { 0x2070, 4489 }, + { 0x2092, 4496 }, + { 0x20A2, 4503 }, + { 0x2084, 4511 }, + { 0x2073, 4519 }, + { 0x207C, 4526 }, + { 0x206F, 4534 }, + { 0x2091, 4541 }, + { 0x20B6, 4548 }, + { 0x20B3, 4555 }, + { 0x20C2, 4562 }, + { 0x20B5, 4569 }, + { 0x20B2, 4576 }, + { 0x20C1, 4583 }, + { 0x209B, 4590 }, + { 0x2081, 4598 }, + { 0x206C, 4606 }, + { 0x2079, 4613 }, + { 0x2068, 4621 }, + { 0x208A, 4628 }, + { 0x20A1, 4635 }, + { 0x2083, 4643 }, + { 0x206B, 4651 }, + { 0x207B, 4658 }, + { 0x2067, 4666 }, + { 0x2089, 4673 }, + { 0x20B0, 4680 }, + { 0x20AD, 4687 }, + { 0x20BF, 4694 }, + { 0x20AF, 4701 }, + { 0x20AC, 4708 }, + { 0x20BE, 4715 }, + { 0x209D, 4722 }, + { 0x209F, 4731 }, + { 0x208F, 4740 }, + { 0x2087, 4748 }, + { 0x2097, 4756 }, + { 0x2094, 4764 }, + { 0x208C, 4772 }, + { 0x20A4, 4780 }, + { 0x20D3, 4788 }, + { 0x2075, 4792 }, + { 0x20D9, 4798 }, + { 0x2071, 4805 }, + { 0x2095, 4811 }, + { 0x20D5, 4817 }, + { 0x206D, 4821 }, + { 0x2069, 4827 }, + { 0x208D, 4833 }, + { 0x20D2, 4839 }, + { 0x20D8, 4843 }, + { 0x20D4, 4850 }, + { 0x20A9, 4854 }, + { 0x20A7, 4860 }, + { 0x2061, 4866 }, + { 0x205F, 4872 }, + { 0x205D, 4878 }, + { 0x2085, 4882 }, + { 0x207D, 4888 }, + { 0x20A5, 4894 }, + { 0x2065, 4900 }, + { 0x2063, 4906 }, + { 0x205B, 4912 }, + { 0x20CF, 4916 }, + { 0x2072, 4920 }, + { 0x20D7, 4926 }, + { 0x206E, 4933 }, + { 0x208E, 4939 }, + { 0x20C9, 4945 }, + { 0x20CA, 4952 }, + { 0x20C8, 4959 }, + { 0x20C7, 4966 }, + { 0x20D1, 4973 }, + { 0x206A, 4977 }, + { 0x2066, 4983 }, + { 0x2086, 4989 }, + { 0x20CE, 4995 }, + { 0x20D6, 4999 }, + { 0x20D0, 5006 }, + { 0x20A8, 5010 }, + { 0x20A6, 5016 }, + { 0x2060, 5022 }, + { 0x205E, 5028 }, + { 0x20CD, 5034 }, + { 0x20CC, 5039 }, + { 0x20CB, 5048 }, + { 0x205C, 5057 }, + { 0x207E, 5061 }, + { 0x2076, 5067 }, + { 0x2096, 5073 }, + { 0x2064, 5079 }, + { 0x2062, 5085 }, + { 0x205A, 5091 }, + { 0x209E, 5095 }, + { 0x20A0, 5104 }, + { 0x2090, 5113 }, + { 0x2088, 5121 }, + { 0x2098, 5129 }, + { 0x2093, 5137 }, + { 0x208B, 5145 }, + { 0x20A3, 5153 }, + { 0x20B7, 5161 }, + { 0x20B4, 5167 }, + { 0x20C3, 5173 }, + { 0x20B1, 5179 }, + { 0x20AE, 5185 }, + { 0x20C0, 5191 }, + { 0x20AB, 5197 }, + { 0x20BD, 5201 }, + { 0x20BA, 5207 }, + { 0x20C6, 5213 }, + { 0x20AA, 5219 }, + { 0x2082, 5223 }, + { 0x207A, 5230 }, + { 0x209C, 5237 }, + { 0x207F, 5244 }, + { 0x2077, 5251 }, + { 0x2099, 5258 }, + { 0x20BC, 5265 }, + { 0x20B9, 5272 }, + { 0x20C5, 5279 }, + { 0x20BB, 5286 }, + { 0x20B8, 5293 }, + { 0x20C4, 5300 }, + { 0x6DA1, 5307 }, + { 0x6D56, 5308 }, + { 0x6FC7, 5309 }, + { 0x6FCA, 5310 }, + { 0x222A, 5312 }, + { 0x6D43, 5314 }, + { 0x6D6C, 5315 }, + { 0x6F77, 5317 }, + { 0x6F74, 5322 }, + { 0x030E, 5328 }, + { 0x2181, 5329 }, + { 0x2C50, 5331 }, + { 0x2C4C, 5334 }, + { 0x2C4B, 5337 }, + { 0x2C4E, 5340 }, + { 0x2C5F, 5343 }, + { 0x2C4D, 5346 }, + { 0x2C3C, 5349 }, + { 0x2C52, 5352 }, + { 0x2C43, 5355 }, + { 0x2C51, 5358 }, + { 0x2C57, 5361 }, + { 0x2C5E, 5364 }, + { 0x2C58, 5367 }, + { 0x2C56, 5370 }, + { 0x2C4F, 5373 }, + { 0x2C55, 5376 }, + { 0x2C40, 5379 }, + { 0x2C53, 5382 }, + { 0x2C59, 5385 }, + { 0x2C3D, 5388 }, + { 0x2C3E, 5391 }, + { 0x2C3F, 5394 }, + { 0x2C42, 5397 }, + { 0x2C46, 5400 }, + { 0x2C49, 5403 }, + { 0x2C41, 5406 }, + { 0x2C5B, 5409 }, + { 0x2C54, 5412 }, + { 0x2C5A, 5415 }, + { 0x2C48, 5418 }, + { 0x2C5C, 5421 }, + { 0x2C44, 5424 }, + { 0x2C47, 5427 }, + { 0x2C4A, 5430 }, + { 0x2C45, 5433 }, + { 0x2C5D, 5436 }, + { 0x293E, 5439 }, + { 0x295E, 5442 }, + { 0x295F, 5445 }, + { 0x2994, 5448 }, + { 0x2995, 5452 }, + { 0x2996, 5456 }, + { 0x296F, 5460 }, + { 0x2962, 5463 }, + { 0x2968, 5466 }, + { 0x2969, 5470 }, + { 0x296B, 5474 }, + { 0x296A, 5478 }, + { 0x2970, 5482 }, + { 0x295B, 5485 }, + { 0x295C, 5489 }, + { 0x296E, 5493 }, + { 0x2951, 5496 }, + { 0x2953, 5499 }, + { 0x298F, 5502 }, + { 0x2961, 5505 }, + { 0x299A, 5510 }, + { 0x2986, 5513 }, + { 0x295A, 5516 }, + { 0x2981, 5519 }, + { 0x2950, 5522 }, + { 0x2998, 5525 }, + { 0x297E, 5528 }, + { 0x2960, 5531 }, + { 0x2946, 5534 }, + { 0x2947, 5538 }, + { 0x2949, 5542 }, + { 0x2948, 5546 }, + { 0x2988, 5550 }, + { 0x2989, 5554 }, + { 0x2973, 5558 }, + { 0x296C, 5561 }, + { 0x2954, 5564 }, + { 0x298E, 5567 }, + { 0x2943, 5570 }, + { 0x2966, 5573 }, + { 0x2984, 5576 }, + { 0x2985, 5580 }, + { 0x297A, 5584 }, + { 0x297B, 5588 }, + { 0x2971, 5592 }, + { 0x2972, 5596 }, + { 0x2952, 5600 }, + { 0x2939, 5603 }, + { 0x2955, 5606 }, + { 0x299B, 5609 }, + { 0x2975, 5612 }, + { 0x2976, 5616 }, + { 0x2977, 5620 }, + { 0x294E, 5624 }, + { 0x294F, 5628 }, + { 0x2940, 5632 }, + { 0x2941, 5636 }, + { 0x298C, 5640 }, + { 0x298D, 5644 }, + { 0x296D, 5648 }, + { 0x2944, 5651 }, + { 0x2945, 5655 }, + { 0x294A, 5659 }, + { 0x294C, 5662 }, + { 0x294D, 5666 }, + { 0x293F, 5670 }, + { 0x2978, 5673 }, + { 0x2958, 5676 }, + { 0x2959, 5680 }, + { 0x2965, 5684 }, + { 0x2974, 5687 }, + { 0x2956, 5690 }, + { 0x293D, 5693 }, + { 0x2938, 5696 }, + { 0x293A, 5699 }, + { 0x293B, 5703 }, + { 0x293C, 5707 }, + { 0x2963, 5711 }, + { 0x2964, 5715 }, + { 0x294B, 5719 }, + { 0x29A8, 5722 }, + { 0x2979, 5725 }, + { 0x2957, 5728 }, + { 0x2942, 5731 }, + { 0x295D, 5734 }, + { 0x297D, 5740 }, + { 0x2983, 5744 }, + { 0x299F, 5748 }, + { 0x29A0, 5752 }, + { 0x2997, 5756 }, + { 0x2993, 5760 }, + { 0x297C, 5764 }, + { 0x299D, 5768 }, + { 0x2982, 5772 }, + { 0x29A3, 5776 }, + { 0x299C, 5780 }, + { 0x29A1, 5784 }, + { 0x298B, 5788 }, + { 0x2987, 5792 }, + { 0x2991, 5796 }, + { 0x298A, 5800 }, + { 0x299E, 5804 }, + { 0x2967, 5808 }, + { 0x2992, 5812 }, + { 0x2999, 5816 }, + { 0x2980, 5820 }, + { 0x29A5, 5824 }, + { 0x29A7, 5828 }, + { 0x297F, 5832 }, + { 0x2990, 5836 }, + { 0x29AA, 5841 }, + { 0x29A2, 5845 }, + { 0x29A4, 5849 }, + { 0x29A6, 5853 }, + { 0x29A9, 5857 }, + { 0x3A08, 5861 }, + { 0x3A09, 5864 }, + { 0x3A0A, 5867 }, + { 0x3A0B, 5870 }, + { 0x3A0C, 5873 }, + { 0x6D3F, 5876 }, + { 0x6D69, 5877 }, + { 0x2258, 5879 }, + { 0x21DA, 5883 }, + { 0x21DB, 5885 }, + { 0x21DC, 5887 }, + { 0x21DD, 5889 }, + { 0x21DE, 5891 }, + { 0x21DF, 5893 }, + { 0x6D50, 5895 }, + { 0x6D71, 5896 }, + { 0x1D9D, 5898 }, + { 0x0298, 5900 }, + { 0x1DC1, 5902 }, + { 0x1E4E, 5904 }, + { 0x6DFB, 5906 }, + { 0x6D7D, 5907 }, + { 0x6C79, 5908 }, + { 0x6C78, 5911 }, + { 0x71B9, 5914 }, + { 0x1D97, 5915 }, + { 0x6E55, 5918 }, + { 0x6D7C, 5923 }, + { 0x6EF2, 5924 }, + { 0x6E1B, 5926 }, + { 0x6C66, 5928 }, + { 0x1D89, 5929 }, + { 0x71C8, 5931 }, + { 0x1C1B, 5933 }, + { 0x6DC9, 5934 }, + { 0x6C68, 5936 }, + { 0x6C71, 5938 }, + { 0x21C2, 5940 }, + { 0x216F, 5942 }, + { 0x6CA3, 5944 }, + { 0x2252, 5946 }, + { 0x6D0D, 5948 }, + { 0x6DBA, 5953 }, + { 0x6E4C, 5954 }, + { 0x1C5A, 5955 }, + { 0x0C60, 5957 }, + { 0x0C5F, 5960 }, + { 0x0C4E, 5963 }, + { 0x0C4F, 5966 }, + { 0x0C51, 5970 }, + { 0x0C50, 5974 }, + { 0x0C52, 5978 }, + { 0x0C56, 5982 }, + { 0x0C5B, 5985 }, + { 0x0C57, 5988 }, + { 0x0C5A, 5991 }, + { 0x0C59, 5994 }, + { 0x0C5E, 5997 }, + { 0x0C55, 6000 }, + { 0x0C5D, 6003 }, + { 0x0C5C, 6006 }, + { 0x0C58, 6009 }, + { 0x0C3C, 6012 }, + { 0x0C49, 6016 }, + { 0x0C40, 6020 }, + { 0x0C4B, 6024 }, + { 0x0C44, 6028 }, + { 0x0C42, 6032 }, + { 0x0C3E, 6036 }, + { 0x0C4D, 6040 }, + { 0x0C3F, 6044 }, + { 0x0C4C, 6048 }, + { 0x0C4A, 6052 }, + { 0x0C41, 6056 }, + { 0x0C45, 6060 }, + { 0x0C43, 6064 }, + { 0x0C3D, 6068 }, + { 0x0C46, 6073 }, + { 0x0C39, 6078 }, + { 0x0C2C, 6081 }, + { 0x0C24, 6084 }, + { 0x0C27, 6087 }, + { 0x0C31, 6090 }, + { 0x0C2F, 6094 }, + { 0x0C2F, 6098 }, + { 0x0C31, 6102 }, + { 0x0C3A, 6106 }, + { 0x0C38, 6110 }, + { 0x0C20, 6114 }, + { 0x0C35, 6117 }, + { 0x0C34, 6120 }, + { 0x0C35, 6124 }, + { 0x0C32, 6128 }, + { 0x0C2B, 6131 }, + { 0x0C2D, 6134 }, + { 0x0C34, 6137 }, + { 0x0C25, 6140 }, + { 0x0C37, 6144 }, + { 0x0C28, 6148 }, + { 0x0C36, 6151 }, + { 0x0C33, 6154 }, + { 0x0C22, 6157 }, + { 0x0C21, 6161 }, + { 0x0C23, 6165 }, + { 0x0C26, 6168 }, + { 0x0C30, 6171 }, + { 0x0C2E, 6175 }, + { 0x0C2A, 6179 }, + { 0x0C29, 6183 }, + { 0x0C61, 6187 }, + { 0x0C62, 6191 }, + { 0x0C3B, 6195 }, + { 0x0C54, 6197 }, + { 0x0C47, 6199 }, + { 0x0C48, 6203 }, + { 0x0C53, 6207 }, + { 0x21A6, 6210 }, + { 0x003F, 6211 }, + { 0x2AAC, 6213 }, + { 0x1C02, 6218 }, + { 0x6E40, 6220 }, + { 0x1BDE, 6223 }, + { 0x1C19, 6224 }, + { 0x1BC2, 6225 }, + { 0x1BE1, 6226 }, + { 0x6DA3, 6227 }, + { 0x7199, 6228 }, + { 0x6EAF, 6231 }, + { 0x6DA6, 6236 }, + { 0x6DAD, 6241 }, + { 0x6DAE, 6246 }, + { 0x6EB5, 6249 }, + { 0x2249, 6251 }, + { 0x5ABC, 6255 }, + { 0x5AB3, 6257 }, + { 0x5AB8, 6260 }, + { 0x5AB4, 6263 }, + { 0x5AB7, 6266 }, + { 0x5AB6, 6269 }, + { 0x5ABB, 6272 }, + { 0x5AB2, 6275 }, + { 0x5ABA, 6278 }, + { 0x5AB9, 6281 }, + { 0x5AB5, 6284 }, + { 0x5ABD, 6287 }, + { 0x5A99, 6290 }, + { 0x5AAB, 6293 }, + { 0x5AA5, 6296 }, + { 0x5A97, 6299 }, + { 0x5A98, 6302 }, + { 0x5AA9, 6305 }, + { 0x5AAC, 6308 }, + { 0x5AAE, 6311 }, + { 0x5AA0, 6314 }, + { 0x5AA4, 6317 }, + { 0x5AA3, 6320 }, + { 0x5AB0, 6323 }, + { 0x5AA6, 6326 }, + { 0x5A93, 6329 }, + { 0x5AAA, 6332 }, + { 0x5A95, 6335 }, + { 0x5A9E, 6338 }, + { 0x5A9D, 6341 }, + { 0x5AAF, 6344 }, + { 0x5A9C, 6347 }, + { 0x5AAD, 6350 }, + { 0x5A96, 6353 }, + { 0x5A94, 6356 }, + { 0x5AA2, 6359 }, + { 0x5A9A, 6362 }, + { 0x5AA7, 6365 }, + { 0x5AB1, 6368 }, + { 0x5A9B, 6371 }, + { 0x5AA1, 6374 }, + { 0x5AA8, 6377 }, + { 0x5A9F, 6380 }, + { 0x14D1, 6383 }, + { 0x165D, 6384 }, + { 0x165E, 6389 }, + { 0x165C, 6394 }, + { 0x1650, 6400 }, + { 0x1651, 6405 }, + { 0x1653, 6410 }, + { 0x1658, 6415 }, + { 0x1654, 6420 }, + { 0x1657, 6425 }, + { 0x1656, 6430 }, + { 0x165B, 6435 }, + { 0x1652, 6440 }, + { 0x165A, 6445 }, + { 0x1659, 6450 }, + { 0x1655, 6455 }, + { 0x163D, 6460 }, + { 0x163F, 6466 }, + { 0x163B, 6472 }, + { 0x1639, 6478 }, + { 0x163E, 6484 }, + { 0x1642, 6490 }, + { 0x163A, 6496 }, + { 0x1648, 6502 }, + { 0x1640, 6508 }, + { 0x1645, 6514 }, + { 0x1641, 6520 }, + { 0x163C, 6526 }, + { 0x1644, 6532 }, + { 0x1643, 6538 }, + { 0x1646, 6544 }, + { 0x1647, 6550 }, + { 0x1638, 6556 }, + { 0x1631, 6563 }, + { 0x1630, 6569 }, + { 0x1629, 6575 }, + { 0x162F, 6581 }, + { 0x1611, 6587 }, + { 0x162B, 6593 }, + { 0x1625, 6599 }, + { 0x161F, 6605 }, + { 0x1623, 6611 }, + { 0x160D, 6617 }, + { 0x1618, 6623 }, + { 0x161D, 6629 }, + { 0x162A, 6635 }, + { 0x1612, 6641 }, + { 0x1619, 6647 }, + { 0x1634, 6653 }, + { 0x1613, 6659 }, + { 0x1624, 6665 }, + { 0x1637, 6671 }, + { 0x161E, 6677 }, + { 0x1617, 6683 }, + { 0x1635, 6689 }, + { 0x162E, 6695 }, + { 0x162D, 6701 }, + { 0x1626, 6707 }, + { 0x162C, 6713 }, + { 0x160E, 6719 }, + { 0x1628, 6725 }, + { 0x1622, 6731 }, + { 0x161C, 6737 }, + { 0x1620, 6743 }, + { 0x160C, 6749 }, + { 0x1615, 6755 }, + { 0x161A, 6761 }, + { 0x1627, 6767 }, + { 0x160F, 6773 }, + { 0x1616, 6779 }, + { 0x1632, 6785 }, + { 0x1610, 6791 }, + { 0x1621, 6797 }, + { 0x1636, 6803 }, + { 0x161B, 6809 }, + { 0x1614, 6815 }, + { 0x1633, 6821 }, + { 0x164F, 6827 }, + { 0x164E, 6833 }, + { 0x164D, 6839 }, + { 0x164C, 6845 }, + { 0x164B, 6851 }, + { 0x1649, 6857 }, + { 0x164A, 6863 }, + { 0x6C55, 6869 }, + { 0x6C4C, 6873 }, + { 0x1C57, 6876 }, + { 0x0779, 6879 }, + { 0x0778, 6883 }, + { 0x077C, 6887 }, + { 0x0745, 6889 }, + { 0x074A, 6892 }, + { 0x0746, 6895 }, + { 0x0749, 6898 }, + { 0x0748, 6901 }, + { 0x074D, 6904 }, + { 0x0744, 6907 }, + { 0x074C, 6910 }, + { 0x074B, 6913 }, + { 0x0747, 6916 }, + { 0x074E, 6919 }, + { 0x0751, 6922 }, + { 0x0750, 6925 }, + { 0x0756, 6928 }, + { 0x0754, 6931 }, + { 0x0752, 6934 }, + { 0x0757, 6937 }, + { 0x075C, 6940 }, + { 0x074F, 6943 }, + { 0x0761, 6946 }, + { 0x0768, 6949 }, + { 0x075A, 6952 }, + { 0x0762, 6955 }, + { 0x0763, 6958 }, + { 0x0765, 6961 }, + { 0x0767, 6964 }, + { 0x0764, 6967 }, + { 0x0753, 6971 }, + { 0x0758, 6974 }, + { 0x075D, 6977 }, + { 0x075F, 6980 }, + { 0x0759, 6983 }, + { 0x0769, 6986 }, + { 0x076A, 6989 }, + { 0x075B, 6992 }, + { 0x0760, 6995 }, + { 0x0766, 6998 }, + { 0x076B, 7001 }, + { 0x075E, 7005 }, + { 0x076C, 7008 }, + { 0x076E, 7012 }, + { 0x076D, 7016 }, + { 0x0755, 7020 }, + { 0x077A, 7023 }, + { 0x077B, 7027 }, + { 0x0774, 7030 }, + { 0x0773, 7035 }, + { 0x0775, 7040 }, + { 0x0772, 7045 }, + { 0x0770, 7050 }, + { 0x076F, 7055 }, + { 0x0771, 7060 }, + { 0x0777, 7065 }, + { 0x0776, 7070 }, + { 0x077E, 7074 }, + { 0x077D, 7076 }, + { 0x1E46, 7079 }, + { 0x1E0D, 7080 }, + { 0x1E0E, 7084 }, + { 0x1D92, 7088 }, + { 0x006B, 7092 }, + { 0x1E36, 7094 }, + { 0x1F04, 7096 }, + { 0x1DE9, 7099 }, + { 0x1DCA, 7102 }, + { 0x1DD2, 7104 }, + { 0x1E73, 7108 }, + { 0x1E75, 7112 }, + { 0x1E6B, 7119 }, + { 0x1E6C, 7126 }, + { 0x1DAF, 7133 }, + { 0x1DEB, 7136 }, + { 0x1DF7, 7139 }, + { 0x1DF6, 7141 }, + { 0x1DF8, 7144 }, + { 0x1DCD, 7146 }, + { 0x6E64, 7150 }, + { 0x1FB4, 7153 }, + { 0x1FB3, 7156 }, + { 0x1FB7, 7159 }, + { 0x1FB1, 7161 }, + { 0x1FAF, 7163 }, + { 0x1FB0, 7165 }, + { 0x1FB6, 7167 }, + { 0x1FB5, 7171 }, + { 0x1FB9, 7175 }, + { 0x1FB8, 7178 }, + { 0x1FB2, 7182 }, + { 0x1CB3, 7185 }, + { 0x7010, 7187 }, + { 0x6F18, 7189 }, + { 0x45AB, 7191 }, + { 0x45A1, 7196 }, + { 0x45AC, 7201 }, + { 0x45AE, 7206 }, + { 0x45A9, 7211 }, + { 0x459B, 7216 }, + { 0x4599, 7221 }, + { 0x45A4, 7226 }, + { 0x459A, 7231 }, + { 0x459D, 7236 }, + { 0x45A0, 7241 }, + { 0x45A7, 7246 }, + { 0x45B0, 7251 }, + { 0x45A2, 7256 }, + { 0x459E, 7261 }, + { 0x45B3, 7266 }, + { 0x45B5, 7271 }, + { 0x45AA, 7276 }, + { 0x45A3, 7281 }, + { 0x459F, 7286 }, + { 0x45A8, 7291 }, + { 0x45AD, 7296 }, + { 0x45A6, 7301 }, + { 0x459C, 7306 }, + { 0x45A5, 7311 }, + { 0x45B2, 7316 }, + { 0x45B4, 7321 }, + { 0x45B1, 7326 }, + { 0x45AF, 7331 }, + { 0x45B6, 7336 }, + { 0x45B7, 7341 }, + { 0x45B8, 7346 }, + { 0x4589, 7351 }, + { 0x4579, 7356 }, + { 0x458B, 7361 }, + { 0x457C, 7366 }, + { 0x4585, 7371 }, + { 0x4583, 7376 }, + { 0x4582, 7381 }, + { 0x457E, 7386 }, + { 0x458A, 7391 }, + { 0x4581, 7396 }, + { 0x457B, 7401 }, + { 0x4584, 7406 }, + { 0x457D, 7411 }, + { 0x4580, 7416 }, + { 0x457F, 7421 }, + { 0x4590, 7426 }, + { 0x4594, 7431 }, + { 0x4593, 7436 }, + { 0x4591, 7441 }, + { 0x458F, 7446 }, + { 0x458D, 7451 }, + { 0x4586, 7456 }, + { 0x4587, 7461 }, + { 0x4595, 7466 }, + { 0x458E, 7471 }, + { 0x458C, 7476 }, + { 0x457A, 7481 }, + { 0x4588, 7486 }, + { 0x4592, 7491 }, + { 0x4596, 7496 }, + { 0x4597, 7501 }, + { 0x4598, 7506 }, + { 0x4071, 7511 }, + { 0x4075, 7515 }, + { 0x407A, 7519 }, + { 0x4080, 7523 }, + { 0x4087, 7527 }, + { 0x4072, 7531 }, + { 0x4074, 7535 }, + { 0x408B, 7539 }, + { 0x407C, 7543 }, + { 0x407D, 7547 }, + { 0x407E, 7551 }, + { 0x4084, 7555 }, + { 0x4085, 7559 }, + { 0x4078, 7563 }, + { 0x408E, 7567 }, + { 0x407B, 7571 }, + { 0x4073, 7575 }, + { 0x4083, 7579 }, + { 0x4081, 7583 }, + { 0x4086, 7587 }, + { 0x408F, 7591 }, + { 0x4076, 7595 }, + { 0x4077, 7599 }, + { 0x408D, 7603 }, + { 0x4088, 7607 }, + { 0x408C, 7611 }, + { 0x407F, 7615 }, + { 0x4090, 7619 }, + { 0x408A, 7623 }, + { 0x4089, 7627 }, + { 0x4082, 7631 }, + { 0x4079, 7635 }, + { 0x4091, 7639 }, + { 0x4093, 7643 }, + { 0x4092, 7647 }, + { 0x4094, 7651 }, + { 0x40B4, 7655 }, + { 0x40B9, 7659 }, + { 0x40C9, 7663 }, + { 0x40C3, 7667 }, + { 0x40B0, 7671 }, + { 0x40CB, 7675 }, + { 0x40CC, 7679 }, + { 0x40D5, 7683 }, + { 0x40D2, 7687 }, + { 0x40CA, 7691 }, + { 0x40D4, 7695 }, + { 0x40D3, 7699 }, + { 0x40B1, 7703 }, + { 0x40B3, 7707 }, + { 0x40B2, 7711 }, + { 0x40BB, 7715 }, + { 0x40C0, 7719 }, + { 0x40C1, 7723 }, + { 0x40C2, 7727 }, + { 0x40CE, 7731 }, + { 0x40D1, 7735 }, + { 0x40CF, 7739 }, + { 0x40C7, 7743 }, + { 0x40BA, 7747 }, + { 0x40BF, 7751 }, + { 0x40CD, 7755 }, + { 0x40BE, 7759 }, + { 0x40D0, 7763 }, + { 0x40C8, 7767 }, + { 0x40B7, 7771 }, + { 0x40B5, 7775 }, + { 0x40C4, 7779 }, + { 0x40B6, 7783 }, + { 0x40B8, 7787 }, + { 0x40BC, 7791 }, + { 0x40BD, 7795 }, + { 0x40C5, 7799 }, + { 0x40C6, 7803 }, + { 0x467F, 7807 }, + { 0x4682, 7812 }, + { 0x4685, 7817 }, + { 0x4688, 7822 }, + { 0x4690, 7827 }, + { 0x468C, 7832 }, + { 0x469D, 7837 }, + { 0x46A2, 7842 }, + { 0x46B3, 7847 }, + { 0x46B9, 7852 }, + { 0x46BC, 7857 }, + { 0x46C2, 7862 }, + { 0x4695, 7867 }, + { 0x46B1, 7872 }, + { 0x46A1, 7877 }, + { 0x46AE, 7882 }, + { 0x4693, 7887 }, + { 0x46B0, 7892 }, + { 0x46B5, 7897 }, + { 0x4686, 7902 }, + { 0x46AF, 7907 }, + { 0x46B7, 7912 }, + { 0x46C6, 7917 }, + { 0x468A, 7922 }, + { 0x4692, 7927 }, + { 0x468E, 7932 }, + { 0x4699, 7937 }, + { 0x469F, 7942 }, + { 0x46A3, 7947 }, + { 0x46BB, 7952 }, + { 0x46BD, 7957 }, + { 0x46C4, 7962 }, + { 0x4697, 7967 }, + { 0x46BE, 7972 }, + { 0x46A0, 7977 }, + { 0x46A7, 7982 }, + { 0x46AC, 7987 }, + { 0x46A5, 7992 }, + { 0x46A9, 7997 }, + { 0x46C0, 8002 }, + { 0x469B, 8007 }, + { 0x46C7, 8012 }, + { 0x4680, 8017 }, + { 0x4684, 8022 }, + { 0x4683, 8027 }, + { 0x4689, 8032 }, + { 0x4691, 8037 }, + { 0x4681, 8042 }, + { 0x468D, 8047 }, + { 0x469E, 8052 }, + { 0x46B4, 8057 }, + { 0x46BA, 8062 }, + { 0x46C3, 8067 }, + { 0x4696, 8072 }, + { 0x46B2, 8077 }, + { 0x4694, 8082 }, + { 0x46B6, 8087 }, + { 0x4687, 8092 }, + { 0x46B8, 8097 }, + { 0x468B, 8102 }, + { 0x468F, 8107 }, + { 0x469A, 8112 }, + { 0x46A4, 8117 }, + { 0x46C5, 8122 }, + { 0x4698, 8127 }, + { 0x46AB, 8132 }, + { 0x46BF, 8137 }, + { 0x46A8, 8142 }, + { 0x46A6, 8147 }, + { 0x46AA, 8152 }, + { 0x46C1, 8157 }, + { 0x469C, 8162 }, + { 0x46AD, 8167 }, + { 0x40FA, 8172 }, + { 0x40FB, 8176 }, + { 0x40FC, 8180 }, + { 0x410C, 8184 }, + { 0x4102, 8188 }, + { 0x4107, 8192 }, + { 0x4108, 8196 }, + { 0x4109, 8200 }, + { 0x410D, 8204 }, + { 0x40FF, 8208 }, + { 0x4100, 8212 }, + { 0x411D, 8216 }, + { 0x4103, 8220 }, + { 0x4104, 8224 }, + { 0x40FD, 8228 }, + { 0x40FE, 8232 }, + { 0x4118, 8236 }, + { 0x4110, 8240 }, + { 0x4111, 8244 }, + { 0x4112, 8248 }, + { 0x410E, 8252 }, + { 0x410F, 8256 }, + { 0x410B, 8260 }, + { 0x4116, 8264 }, + { 0x4117, 8268 }, + { 0x4119, 8272 }, + { 0x4105, 8276 }, + { 0x4106, 8280 }, + { 0x4114, 8284 }, + { 0x4115, 8288 }, + { 0x4101, 8292 }, + { 0x4113, 8296 }, + { 0x411A, 8300 }, + { 0x411B, 8304 }, + { 0x411C, 8308 }, + { 0x410A, 8312 }, + { 0x4124, 8316 }, + { 0x4125, 8320 }, + { 0x4122, 8324 }, + { 0x411E, 8328 }, + { 0x4123, 8332 }, + { 0x411F, 8336 }, + { 0x4120, 8340 }, + { 0x4121, 8344 }, + { 0x4126, 8348 }, + { 0x4127, 8352 }, + { 0x4129, 8356 }, + { 0x4128, 8360 }, + { 0x412A, 8364 }, + { 0x412B, 8368 }, + { 0x6EEE, 8372 }, + { 0x46FB, 8375 }, + { 0x4704, 8380 }, + { 0x470B, 8385 }, + { 0x4716, 8390 }, + { 0x4725, 8395 }, + { 0x46FC, 8400 }, + { 0x470F, 8405 }, + { 0x46FD, 8410 }, + { 0x46FF, 8415 }, + { 0x4702, 8420 }, + { 0x4706, 8425 }, + { 0x4707, 8430 }, + { 0x4708, 8435 }, + { 0x470A, 8440 }, + { 0x470D, 8445 }, + { 0x470E, 8450 }, + { 0x4711, 8455 }, + { 0x4713, 8460 }, + { 0x4714, 8465 }, + { 0x471B, 8470 }, + { 0x471D, 8475 }, + { 0x471F, 8480 }, + { 0x4721, 8485 }, + { 0x4729, 8490 }, + { 0x472A, 8495 }, + { 0x470C, 8500 }, + { 0x4717, 8505 }, + { 0x472D, 8510 }, + { 0x4726, 8515 }, + { 0x46FE, 8520 }, + { 0x4703, 8525 }, + { 0x4724, 8530 }, + { 0x4701, 8535 }, + { 0x4709, 8540 }, + { 0x4712, 8545 }, + { 0x471C, 8550 }, + { 0x4700, 8555 }, + { 0x4722, 8560 }, + { 0x4715, 8565 }, + { 0x4720, 8570 }, + { 0x4723, 8575 }, + { 0x472B, 8580 }, + { 0x471A, 8585 }, + { 0x4710, 8590 }, + { 0x4705, 8595 }, + { 0x471E, 8601 }, + { 0x4719, 8607 }, + { 0x4728, 8613 }, + { 0x472C, 8619 }, + { 0x4718, 8625 }, + { 0x4727, 8631 }, + { 0x472E, 8637 }, + { 0x4732, 8641 }, + { 0x4733, 8646 }, + { 0x4730, 8651 }, + { 0x472F, 8655 }, + { 0x4731, 8659 }, + { 0x46C8, 8663 }, + { 0x46D1, 8668 }, + { 0x46D8, 8673 }, + { 0x46E3, 8678 }, + { 0x46F2, 8683 }, + { 0x46C9, 8688 }, + { 0x46DC, 8693 }, + { 0x46CA, 8698 }, + { 0x46CC, 8703 }, + { 0x46CF, 8708 }, + { 0x46D3, 8713 }, + { 0x46D4, 8718 }, + { 0x46D5, 8723 }, + { 0x46D7, 8728 }, + { 0x46DA, 8733 }, + { 0x46DB, 8738 }, + { 0x46DE, 8743 }, + { 0x46E0, 8748 }, + { 0x46E1, 8753 }, + { 0x46E8, 8758 }, + { 0x46EA, 8763 }, + { 0x46EC, 8768 }, + { 0x46EE, 8773 }, + { 0x46F6, 8778 }, + { 0x46F7, 8783 }, + { 0x46D9, 8788 }, + { 0x46E4, 8793 }, + { 0x46FA, 8798 }, + { 0x46F3, 8803 }, + { 0x46CB, 8808 }, + { 0x46D0, 8813 }, + { 0x46F1, 8818 }, + { 0x46CE, 8823 }, + { 0x46D6, 8828 }, + { 0x46DF, 8833 }, + { 0x46E9, 8838 }, + { 0x46CD, 8843 }, + { 0x46EF, 8848 }, + { 0x46E2, 8853 }, + { 0x46ED, 8858 }, + { 0x46F0, 8863 }, + { 0x46F8, 8868 }, + { 0x46E7, 8873 }, + { 0x46DD, 8878 }, + { 0x46D2, 8883 }, + { 0x46EB, 8889 }, + { 0x46E6, 8895 }, + { 0x46F5, 8901 }, + { 0x46F9, 8907 }, + { 0x46E5, 8913 }, + { 0x46F4, 8919 }, + { 0x291E, 8925 }, + { 0x1BD8, 8931 }, + { 0x6EEA, 8934 }, + { 0x71C7, 8937 }, + { 0x4C49, 8938 }, + { 0x4C4A, 8943 }, + { 0x4C4B, 8948 }, + { 0x4C4C, 8953 }, + { 0x4C4D, 8958 }, + { 0x4C40, 8963 }, + { 0x4C41, 8968 }, + { 0x4C38, 8973 }, + { 0x4C47, 8978 }, + { 0x4C3D, 8983 }, + { 0x4C3C, 8988 }, + { 0x4C4F, 8993 }, + { 0x4C35, 8998 }, + { 0x4C36, 9003 }, + { 0x4C37, 9008 }, + { 0x4C44, 9013 }, + { 0x4C34, 9018 }, + { 0x4C46, 9023 }, + { 0x4C3F, 9028 }, + { 0x4C42, 9033 }, + { 0x4C4E, 9038 }, + { 0x4C3A, 9043 }, + { 0x4C39, 9048 }, + { 0x4C48, 9053 }, + { 0x4C3E, 9058 }, + { 0x4C3B, 9063 }, + { 0x4C45, 9068 }, + { 0x4C43, 9073 }, + { 0x4C51, 9078 }, + { 0x4C55, 9084 }, + { 0x4C53, 9090 }, + { 0x4C54, 9096 }, + { 0x4C50, 9102 }, + { 0x4C52, 9108 }, + { 0x4C56, 9114 }, + { 0x4C58, 9120 }, + { 0x4C57, 9126 }, + { 0x4C5A, 9132 }, + { 0x4C59, 9137 }, + { 0x4C5C, 9143 }, + { 0x4C5D, 9150 }, + { 0x4C60, 9156 }, + { 0x4C5F, 9161 }, + { 0x4C61, 9167 }, + { 0x4C62, 9174 }, + { 0x4C5B, 9180 }, + { 0x4C5E, 9186 }, + { 0x4C69, 9193 }, + { 0x4C6C, 9198 }, + { 0x4C64, 9204 }, + { 0x4C63, 9210 }, + { 0x4C65, 9215 }, + { 0x4C66, 9222 }, + { 0x4C68, 9228 }, + { 0x4C67, 9233 }, + { 0x4C6A, 9239 }, + { 0x4C6B, 9246 }, + { 0x6D79, 9252 }, + { 0x1BE0, 9254 }, + { 0x1C1C, 9255 }, + { 0x6EC1, 9256 }, + { 0x1BE5, 9260 }, + { 0x1CD9, 9264 }, + { 0x1BE4, 9266 }, + { 0x6D51, 9269 }, + { 0x6D72, 9270 }, + { 0x6D78, 9272 }, + { 0x1C1C, 9274 }, + { 0x1BE0, 9277 }, + { 0x6CAD, 9280 }, + { 0x6FE9, 9283 }, + { 0x6D4A, 9289 }, + { 0x6D3B, 9290 }, + { 0x6C89, 9291 }, + { 0x1BDF, 9293 }, + { 0x1C1A, 9294 }, + { 0x1BC3, 9295 }, + { 0x1BE2, 9296 }, + { 0x1D9F, 9297 }, + { 0x006C, 9299 }, + { 0x6E6A, 9300 }, + { 0x2290, 9306 }, + { 0x70E3, 9310 }, + { 0x2298, 9314 }, + { 0x6CFA, 9320 }, + { 0x2163, 9324 }, + { 0x6C59, 9325 }, + { 0x221F, 9328 }, + { 0x7211, 9331 }, + { 0x71E0, 9334 }, + { 0x722D, 9337 }, + { 0x720D, 9341 }, + { 0x71DA, 9345 }, + { 0x71DD, 9348 }, + { 0x71EC, 9351 }, + { 0x71DE, 9353 }, + { 0x71E3, 9355 }, + { 0x71E8, 9358 }, + { 0x71E4, 9361 }, + { 0x71E7, 9364 }, + { 0x71E6, 9367 }, + { 0x71EB, 9370 }, + { 0x71E2, 9373 }, + { 0x71EA, 9376 }, + { 0x71E9, 9379 }, + { 0x71E5, 9382 }, + { 0x7212, 9385 }, + { 0x7213, 9388 }, + { 0x7214, 9393 }, + { 0x7215, 9398 }, + { 0x7216, 9403 }, + { 0x7217, 9408 }, + { 0x7218, 9413 }, + { 0x7219, 9418 }, + { 0x721A, 9423 }, + { 0x721B, 9428 }, + { 0x721C, 9433 }, + { 0x721D, 9438 }, + { 0x721E, 9443 }, + { 0x721F, 9448 }, + { 0x7220, 9453 }, + { 0x7221, 9458 }, + { 0x7222, 9463 }, + { 0x7223, 9468 }, + { 0x7224, 9473 }, + { 0x7225, 9478 }, + { 0x7226, 9483 }, + { 0x7227, 9488 }, + { 0x7228, 9493 }, + { 0x7229, 9498 }, + { 0x722A, 9503 }, + { 0x722B, 9508 }, + { 0x722C, 9513 }, + { 0x71F3, 9518 }, + { 0x71F4, 9523 }, + { 0x71F5, 9528 }, + { 0x71F6, 9533 }, + { 0x71F7, 9538 }, + { 0x71F8, 9543 }, + { 0x71F9, 9548 }, + { 0x71FA, 9553 }, + { 0x71FB, 9558 }, + { 0x71FC, 9563 }, + { 0x71FD, 9568 }, + { 0x71FE, 9573 }, + { 0x71FF, 9578 }, + { 0x7200, 9583 }, + { 0x7201, 9588 }, + { 0x7202, 9593 }, + { 0x7203, 9598 }, + { 0x7204, 9603 }, + { 0x7205, 9608 }, + { 0x7206, 9613 }, + { 0x7207, 9618 }, + { 0x7208, 9623 }, + { 0x7209, 9628 }, + { 0x720A, 9633 }, + { 0x720B, 9638 }, + { 0x720C, 9643 }, + { 0x722F, 9648 }, + { 0x720F, 9652 }, + { 0x71DB, 9656 }, + { 0x71D2, 9659 }, + { 0x7230, 9661 }, + { 0x71D6, 9663 }, + { 0x71EF, 9666 }, + { 0x71D5, 9669 }, + { 0x71D7, 9672 }, + { 0x720E, 9675 }, + { 0x71E1, 9678 }, + { 0x71DC, 9680 }, + { 0x71F1, 9682 }, + { 0x722E, 9685 }, + { 0x71D8, 9688 }, + { 0x71EE, 9690 }, + { 0x71D4, 9693 }, + { 0x71ED, 9696 }, + { 0x71D9, 9698 }, + { 0x7210, 9700 }, + { 0x71F2, 9703 }, + { 0x71D3, 9706 }, + { 0x71F0, 9709 }, + { 0x71DF, 9712 }, + { 0x15FC, 9714 }, + { 0x1604, 9718 }, + { 0x15FD, 9722 }, + { 0x1602, 9726 }, + { 0x1600, 9730 }, + { 0x1606, 9734 }, + { 0x15FE, 9738 }, + { 0x15FF, 9742 }, + { 0x15F5, 9746 }, + { 0x15F7, 9750 }, + { 0x15E9, 9754 }, + { 0x15F1, 9758 }, + { 0x15F4, 9762 }, + { 0x15FB, 9766 }, + { 0x1601, 9770 }, + { 0x15F2, 9774 }, + { 0x15F8, 9778 }, + { 0x15ED, 9782 }, + { 0x15EF, 9786 }, + { 0x1603, 9790 }, + { 0x15F6, 9794 }, + { 0x15EA, 9798 }, + { 0x15EE, 9802 }, + { 0x1605, 9806 }, + { 0x15F9, 9810 }, + { 0x15EB, 9814 }, + { 0x15F3, 9818 }, + { 0x15F0, 9822 }, + { 0x15EC, 9826 }, + { 0x15FA, 9830 }, + { 0x1607, 9834 }, + { 0x1608, 9838 }, + { 0x1609, 9842 }, + { 0x160A, 9846 }, + { 0x160B, 9850 }, + { 0x16FB, 9854 }, + { 0x1700, 9859 }, + { 0x16FC, 9864 }, + { 0x16FF, 9869 }, + { 0x16FE, 9874 }, + { 0x1703, 9879 }, + { 0x16FA, 9884 }, + { 0x1702, 9889 }, + { 0x1701, 9894 }, + { 0x16FD, 9899 }, + { 0x16F6, 9904 }, + { 0x1712, 9909 }, + { 0x16F7, 9913 }, + { 0x16F0, 9918 }, + { 0x16D5, 9923 }, + { 0x1715, 9929 }, + { 0x171A, 9934 }, + { 0x1716, 9938 }, + { 0x1711, 9942 }, + { 0x171B, 9946 }, + { 0x16F3, 9950 }, + { 0x16F4, 9955 }, + { 0x16F5, 9960 }, + { 0x16DC, 9965 }, + { 0x1710, 9969 }, + { 0x170E, 9973 }, + { 0x1713, 9977 }, + { 0x16F1, 9981 }, + { 0x16F2, 9985 }, + { 0x1717, 9989 }, + { 0x1718, 9993 }, + { 0x1714, 9997 }, + { 0x16F8, 10003 }, + { 0x170F, 10008 }, + { 0x1719, 10012 }, + { 0x1705, 10016 }, + { 0x170A, 10021 }, + { 0x1706, 10026 }, + { 0x1709, 10031 }, + { 0x1708, 10036 }, + { 0x170D, 10041 }, + { 0x1704, 10046 }, + { 0x170C, 10051 }, + { 0x170B, 10056 }, + { 0x1707, 10061 }, + { 0x16DD, 10066 }, + { 0x16EA, 10071 }, + { 0x16E1, 10076 }, + { 0x16E7, 10081 }, + { 0x16E5, 10086 }, + { 0x16DF, 10091 }, + { 0x16EB, 10096 }, + { 0x16ED, 10101 }, + { 0x16E2, 10106 }, + { 0x16EF, 10111 }, + { 0x16E8, 10117 }, + { 0x16EC, 10123 }, + { 0x16E9, 10128 }, + { 0x16E3, 10133 }, + { 0x16E6, 10138 }, + { 0x16DE, 10143 }, + { 0x16E4, 10149 }, + { 0x16E0, 10154 }, + { 0x16EE, 10160 }, + { 0x16C8, 10166 }, + { 0x16CA, 10170 }, + { 0x16CC, 10174 }, + { 0x16B4, 10178 }, + { 0x16AC, 10182 }, + { 0x16CE, 10186 }, + { 0x16CB, 10190 }, + { 0x16C0, 10194 }, + { 0x16BB, 10198 }, + { 0x16B3, 10202 }, + { 0x16CF, 10206 }, + { 0x16BE, 10210 }, + { 0x16CD, 10214 }, + { 0x16C2, 10218 }, + { 0x16D0, 10222 }, + { 0x16C7, 10226 }, + { 0x16A6, 10230 }, + { 0x16B9, 10235 }, + { 0x16C9, 10240 }, + { 0x16A0, 10245 }, + { 0x16B8, 10250 }, + { 0x16A7, 10255 }, + { 0x16B1, 10260 }, + { 0x16BC, 10265 }, + { 0x16A8, 10270 }, + { 0x16A2, 10275 }, + { 0x16A1, 10280 }, + { 0x16BA, 10285 }, + { 0x16B2, 10290 }, + { 0x16AD, 10295 }, + { 0x16C1, 10300 }, + { 0x16A3, 10304 }, + { 0x16A9, 10308 }, + { 0x16BF, 10312 }, + { 0x16A4, 10316 }, + { 0x16B7, 10321 }, + { 0x16C6, 10326 }, + { 0x169D, 10331 }, + { 0x16B5, 10336 }, + { 0x16C5, 10341 }, + { 0x16AF, 10346 }, + { 0x16BD, 10351 }, + { 0x16A5, 10356 }, + { 0x169E, 10361 }, + { 0x169F, 10366 }, + { 0x16B6, 10371 }, + { 0x16C3, 10376 }, + { 0x16C4, 10381 }, + { 0x16B0, 10386 }, + { 0x16AB, 10391 }, + { 0x16AE, 10396 }, + { 0x16AA, 10400 }, + { 0x16D1, 10404 }, + { 0x16F9, 10409 }, + { 0x16DA, 10414 }, + { 0x16D4, 10419 }, + { 0x16D9, 10426 }, + { 0x16DB, 10431 }, + { 0x16D7, 10436 }, + { 0x16D8, 10442 }, + { 0x16D6, 10451 }, + { 0x16D3, 10457 }, + { 0x16D2, 10463 }, + { 0x38B3, 10469 }, + { 0x38BA, 10473 }, + { 0x38C2, 10477 }, + { 0x38C4, 10482 }, + { 0x38C5, 10487 }, + { 0x38C3, 10492 }, + { 0x38B8, 10497 }, + { 0x38B5, 10501 }, + { 0x38B9, 10505 }, + { 0x38B7, 10509 }, + { 0x38B4, 10513 }, + { 0x38C1, 10517 }, + { 0x38C0, 10521 }, + { 0x38BF, 10525 }, + { 0x38BB, 10529 }, + { 0x38BD, 10533 }, + { 0x38B6, 10537 }, + { 0x38BE, 10541 }, + { 0x38BC, 10545 }, + { 0x38B1, 10549 }, + { 0x389D, 10554 }, + { 0x388D, 10559 }, + { 0x3895, 10564 }, + { 0x38A3, 10569 }, + { 0x3889, 10574 }, + { 0x38AF, 10579 }, + { 0x3883, 10584 }, + { 0x38AB, 10589 }, + { 0x38A5, 10594 }, + { 0x389B, 10599 }, + { 0x389F, 10604 }, + { 0x38A9, 10609 }, + { 0x3891, 10614 }, + { 0x3897, 10619 }, + { 0x38AD, 10624 }, + { 0x38A7, 10629 }, + { 0x388F, 10634 }, + { 0x3885, 10639 }, + { 0x388B, 10644 }, + { 0x3893, 10649 }, + { 0x38A1, 10654 }, + { 0x3899, 10659 }, + { 0x3887, 10664 }, + { 0x38B2, 10669 }, + { 0x389E, 10674 }, + { 0x388E, 10679 }, + { 0x3896, 10684 }, + { 0x38A4, 10689 }, + { 0x388A, 10694 }, + { 0x38B0, 10699 }, + { 0x3884, 10704 }, + { 0x38AC, 10709 }, + { 0x38A6, 10714 }, + { 0x389C, 10719 }, + { 0x38A0, 10724 }, + { 0x38AA, 10729 }, + { 0x3892, 10734 }, + { 0x3898, 10739 }, + { 0x38AE, 10744 }, + { 0x38A8, 10749 }, + { 0x3890, 10754 }, + { 0x3886, 10759 }, + { 0x388C, 10764 }, + { 0x3894, 10769 }, + { 0x38A2, 10774 }, + { 0x389A, 10779 }, + { 0x3888, 10784 }, + { 0x38C9, 10789 }, + { 0x38CA, 10794 }, + { 0x38C6, 10799 }, + { 0x38C8, 10803 }, + { 0x38C7, 10807 }, + { 0x2537, 10811 }, + { 0x2496, 10814 }, + { 0x2494, 10820 }, + { 0x2497, 10824 }, + { 0x6CE4, 10830 }, + { 0x271C, 10832 }, + { 0x292C, 10836 }, + { 0x1EA9, 10840 }, + { 0x1E98, 10843 }, + { 0x2915, 10846 }, + { 0x1EA5, 10850 }, + { 0x6E58, 10853 }, + { 0x1F67, 10858 }, + { 0x1E97, 10861 }, + { 0x2916, 10864 }, + { 0x1EA6, 10868 }, + { 0x1F3D, 10871 }, + { 0x1F69, 10874 }, + { 0x1F65, 10878 }, + { 0x1BD9, 10880 }, + { 0x1C0E, 10883 }, + { 0x6DA7, 10886 }, + { 0x291D, 10890 }, + { 0x6DA8, 10896 }, + { 0x6EEB, 10900 }, + { 0x6DD0, 10903 }, + { 0x2523, 10905 }, + { 0x6F25, 10908 }, + { 0x2562, 10911 }, + { 0x2561, 10915 }, + { 0x1C05, 10919 }, + { 0x25CF, 10923 }, + { 0x25B0, 10927 }, + { 0x25AF, 10931 }, + { 0x34B0, 10935 }, + { 0x34AF, 10938 }, + { 0x34C3, 10940 }, + { 0x34C8, 10943 }, + { 0x34C4, 10946 }, + { 0x34C7, 10949 }, + { 0x34C6, 10952 }, + { 0x34CB, 10955 }, + { 0x34C2, 10958 }, + { 0x34CA, 10961 }, + { 0x34C9, 10964 }, + { 0x34C5, 10967 }, + { 0x34BA, 10970 }, + { 0x34B8, 10973 }, + { 0x34BB, 10976 }, + { 0x34B9, 10979 }, + { 0x34BC, 10982 }, + { 0x34C0, 10985 }, + { 0x34C1, 10988 }, + { 0x34BE, 10991 }, + { 0x34B7, 10994 }, + { 0x34BF, 10997 }, + { 0x34BD, 11000 }, + { 0x34B5, 11003 }, + { 0x34B6, 11006 }, + { 0x34B1, 11009 }, + { 0x33EB, 11012 }, + { 0x3483, 11015 }, + { 0x33C6, 11018 }, + { 0x345C, 11021 }, + { 0x3437, 11024 }, + { 0x33EC, 11027 }, + { 0x33F4, 11030 }, + { 0x348C, 11033 }, + { 0x33CE, 11036 }, + { 0x3465, 11039 }, + { 0x343F, 11042 }, + { 0x3408, 11045 }, + { 0x34A1, 11048 }, + { 0x33E1, 11051 }, + { 0x3479, 11054 }, + { 0x3452, 11057 }, + { 0x3402, 11060 }, + { 0x349B, 11063 }, + { 0x33DB, 11066 }, + { 0x3473, 11069 }, + { 0x344C, 11072 }, + { 0x33A2, 11075 }, + { 0x3484, 11078 }, + { 0x33FA, 11081 }, + { 0x3493, 11084 }, + { 0x33D3, 11087 }, + { 0x346B, 11090 }, + { 0x3444, 11093 }, + { 0x340F, 11096 }, + { 0x34A8, 11099 }, + { 0x33E7, 11102 }, + { 0x347F, 11105 }, + { 0x3458, 11108 }, + { 0x33EE, 11111 }, + { 0x3486, 11114 }, + { 0x33C8, 11117 }, + { 0x345F, 11120 }, + { 0x3439, 11123 }, + { 0x33C7, 11126 }, + { 0x3409, 11129 }, + { 0x34A2, 11132 }, + { 0x33E2, 11135 }, + { 0x347A, 11138 }, + { 0x3453, 11141 }, + { 0x340C, 11144 }, + { 0x34A5, 11147 }, + { 0x33E5, 11150 }, + { 0x347D, 11153 }, + { 0x3456, 11156 }, + { 0x3400, 11159 }, + { 0x3499, 11162 }, + { 0x33D9, 11165 }, + { 0x3471, 11168 }, + { 0x344A, 11171 }, + { 0x3410, 11174 }, + { 0x34AA, 11177 }, + { 0x33E8, 11180 }, + { 0x3480, 11183 }, + { 0x3459, 11186 }, + { 0x3411, 11189 }, + { 0x34AB, 11192 }, + { 0x34AD, 11195 }, + { 0x33E9, 11198 }, + { 0x3481, 11201 }, + { 0x345A, 11204 }, + { 0x345D, 11207 }, + { 0x3413, 11210 }, + { 0x33F2, 11213 }, + { 0x348A, 11216 }, + { 0x33CC, 11219 }, + { 0x3463, 11222 }, + { 0x343D, 11225 }, + { 0x3401, 11228 }, + { 0x349A, 11231 }, + { 0x33DA, 11234 }, + { 0x3472, 11237 }, + { 0x344B, 11240 }, + { 0x3404, 11243 }, + { 0x349D, 11246 }, + { 0x33DD, 11249 }, + { 0x3475, 11252 }, + { 0x344E, 11255 }, + { 0x33FC, 11258 }, + { 0x3495, 11261 }, + { 0x33D5, 11264 }, + { 0x346D, 11267 }, + { 0x3446, 11270 }, + { 0x3438, 11273 }, + { 0x33FB, 11276 }, + { 0x3494, 11279 }, + { 0x33D4, 11282 }, + { 0x346C, 11285 }, + { 0x3445, 11288 }, + { 0x33F0, 11291 }, + { 0x3488, 11294 }, + { 0x33CA, 11297 }, + { 0x3461, 11300 }, + { 0x343B, 11303 }, + { 0x340B, 11306 }, + { 0x34A4, 11309 }, + { 0x33E4, 11312 }, + { 0x347C, 11315 }, + { 0x3455, 11318 }, + { 0x3406, 11321 }, + { 0x349F, 11324 }, + { 0x33DF, 11327 }, + { 0x3477, 11330 }, + { 0x3450, 11333 }, + { 0x33A9, 11336 }, + { 0x33F3, 11339 }, + { 0x348B, 11342 }, + { 0x33CD, 11345 }, + { 0x3464, 11348 }, + { 0x343E, 11351 }, + { 0x341A, 11354 }, + { 0x33BC, 11357 }, + { 0x342D, 11360 }, + { 0x33B6, 11363 }, + { 0x33FE, 11366 }, + { 0x3497, 11369 }, + { 0x33D7, 11372 }, + { 0x346F, 11375 }, + { 0x3448, 11378 }, + { 0x3427, 11381 }, + { 0x33A3, 11384 }, + { 0x33AE, 11387 }, + { 0x341F, 11390 }, + { 0x33F9, 11393 }, + { 0x3491, 11396 }, + { 0x33D2, 11399 }, + { 0x3469, 11402 }, + { 0x3443, 11405 }, + { 0x33C2, 11408 }, + { 0x34A9, 11411 }, + { 0x3433, 11414 }, + { 0x33EF, 11417 }, + { 0x33A4, 11420 }, + { 0x3487, 11423 }, + { 0x33C9, 11426 }, + { 0x3460, 11429 }, + { 0x3415, 11432 }, + { 0x343A, 11435 }, + { 0x33BD, 11438 }, + { 0x342E, 11441 }, + { 0x340D, 11444 }, + { 0x33C0, 11447 }, + { 0x3431, 11450 }, + { 0x33F6, 11453 }, + { 0x348E, 11456 }, + { 0x33D0, 11459 }, + { 0x3467, 11462 }, + { 0x3441, 11465 }, + { 0x33B4, 11468 }, + { 0x3425, 11471 }, + { 0x33F5, 11474 }, + { 0x348D, 11477 }, + { 0x33CF, 11480 }, + { 0x3466, 11483 }, + { 0x3440, 11486 }, + { 0x33C3, 11489 }, + { 0x3434, 11492 }, + { 0x3403, 11495 }, + { 0x349C, 11498 }, + { 0x33DC, 11501 }, + { 0x3474, 11504 }, + { 0x344D, 11507 }, + { 0x33C4, 11510 }, + { 0x340A, 11513 }, + { 0x34A3, 11516 }, + { 0x33E3, 11519 }, + { 0x347B, 11522 }, + { 0x3454, 11525 }, + { 0x3435, 11528 }, + { 0x3412, 11531 }, + { 0x34AC, 11534 }, + { 0x33EA, 11537 }, + { 0x3482, 11540 }, + { 0x345B, 11543 }, + { 0x3414, 11546 }, + { 0x33A7, 11549 }, + { 0x3418, 11552 }, + { 0x33B5, 11555 }, + { 0x3426, 11558 }, + { 0x33B8, 11561 }, + { 0x3405, 11564 }, + { 0x349E, 11567 }, + { 0x33DE, 11570 }, + { 0x3476, 11573 }, + { 0x344F, 11576 }, + { 0x3429, 11579 }, + { 0x33B0, 11582 }, + { 0x33FD, 11585 }, + { 0x3496, 11588 }, + { 0x33D6, 11591 }, + { 0x346E, 11594 }, + { 0x3447, 11597 }, + { 0x3421, 11600 }, + { 0x33AF, 11603 }, + { 0x3420, 11606 }, + { 0x33F1, 11609 }, + { 0x33A5, 11612 }, + { 0x3489, 11615 }, + { 0x33CB, 11618 }, + { 0x3462, 11621 }, + { 0x3416, 11624 }, + { 0x343C, 11627 }, + { 0x33BF, 11630 }, + { 0x3430, 11633 }, + { 0x33BA, 11636 }, + { 0x3407, 11639 }, + { 0x34A0, 11642 }, + { 0x33E0, 11645 }, + { 0x3478, 11648 }, + { 0x3451, 11651 }, + { 0x342B, 11654 }, + { 0x33A8, 11657 }, + { 0x3419, 11660 }, + { 0x33B2, 11663 }, + { 0x33FF, 11666 }, + { 0x3498, 11669 }, + { 0x33D8, 11672 }, + { 0x3470, 11675 }, + { 0x3449, 11678 }, + { 0x3423, 11681 }, + { 0x33AD, 11684 }, + { 0x3492, 11687 }, + { 0x346A, 11690 }, + { 0x341E, 11693 }, + { 0x33F7, 11696 }, + { 0x33AB, 11699 }, + { 0x348F, 11702 }, + { 0x341C, 11705 }, + { 0x33AA, 11708 }, + { 0x341B, 11711 }, + { 0x33F8, 11714 }, + { 0x3490, 11717 }, + { 0x33D1, 11720 }, + { 0x3468, 11723 }, + { 0x3442, 11726 }, + { 0x33B7, 11729 }, + { 0x3428, 11732 }, + { 0x33ED, 11735 }, + { 0x3485, 11738 }, + { 0x340E, 11741 }, + { 0x34A6, 11744 }, + { 0x33E6, 11747 }, + { 0x347E, 11750 }, + { 0x3457, 11753 }, + { 0x345E, 11756 }, + { 0x33BE, 11759 }, + { 0x342F, 11762 }, + { 0x33C5, 11765 }, + { 0x3436, 11768 }, + { 0x33B9, 11771 }, + { 0x342A, 11774 }, + { 0x33B1, 11777 }, + { 0x3422, 11780 }, + { 0x33A6, 11783 }, + { 0x3417, 11786 }, + { 0x33BB, 11789 }, + { 0x342C, 11792 }, + { 0x33B3, 11795 }, + { 0x3424, 11798 }, + { 0x33AC, 11801 }, + { 0x341D, 11804 }, + { 0x34CD, 11807 }, + { 0x34B2, 11811 }, + { 0x34B3, 11815 }, + { 0x34CC, 11819 }, + { 0x34B4, 11823 }, + { 0x33C1, 11827 }, + { 0x34A7, 11830 }, + { 0x3432, 11833 }, + { 0x34AE, 11836 }, + { 0x1C56, 11839 }, + { 0x1E44, 11841 }, + { 0x0064, 11842 }, + { 0x2189, 11844 }, + { 0x1BC1, 11846 }, + { 0x4BDE, 11847 }, + { 0x4BDC, 11850 }, + { 0x4BCF, 11854 }, + { 0x4BDD, 11857 }, + { 0x4BD1, 11860 }, + { 0x4BD6, 11863 }, + { 0x4BD2, 11866 }, + { 0x4BD5, 11869 }, + { 0x4BD4, 11872 }, + { 0x4BD9, 11875 }, + { 0x4BD0, 11878 }, + { 0x4BD8, 11881 }, + { 0x4BD7, 11884 }, + { 0x4BD3, 11887 }, + { 0x4BC4, 11890 }, + { 0x4BCA, 11894 }, + { 0x4BC6, 11898 }, + { 0x4BCC, 11902 }, + { 0x4BC8, 11906 }, + { 0x4BC5, 11910 }, + { 0x4BCD, 11914 }, + { 0x4BCE, 11918 }, + { 0x4BCB, 11922 }, + { 0x4BC7, 11926 }, + { 0x4BC9, 11930 }, + { 0x4BB9, 11934 }, + { 0x4BAF, 11937 }, + { 0x4BBA, 11940 }, + { 0x4BBC, 11943 }, + { 0x4BB8, 11946 }, + { 0x4BB1, 11949 }, + { 0x4BA7, 11952 }, + { 0x4BB5, 11955 }, + { 0x4BB0, 11958 }, + { 0x4BAA, 11961 }, + { 0x4BAD, 11964 }, + { 0x4BB4, 11967 }, + { 0x4BB6, 11970 }, + { 0x4BAB, 11973 }, + { 0x4BBF, 11976 }, + { 0x4BB2, 11979 }, + { 0x4BBB, 11982 }, + { 0x4BBE, 11985 }, + { 0x4BC0, 11988 }, + { 0x4BA8, 11991 }, + { 0x4BA9, 11994 }, + { 0x4BB7, 11997 }, + { 0x4BAE, 12000 }, + { 0x4BB3, 12003 }, + { 0x4BBD, 12006 }, + { 0x4BAC, 12010 }, + { 0x4BDA, 12014 }, + { 0x4BDB, 12017 }, + { 0x4BDF, 12020 }, + { 0x4BC1, 12023 }, + { 0x4BC2, 12028 }, + { 0x4BC3, 12033 }, + { 0x1CC2, 12039 }, + { 0x217F, 12041 }, + { 0x21F5, 12042 }, + { 0x6DB1, 12044 }, + { 0x6DB7, 12045 }, + { 0x6D5F, 12047 }, + { 0x6CB7, 12049 }, + { 0x6FF7, 12051 }, + { 0x6EBD, 12053 }, + { 0x6E54, 12056 }, + { 0x6D21, 12061 }, + { 0x6FFB, 12062 }, + { 0x6D76, 12063 }, + { 0x6CB5, 12065 }, + { 0x6E4F, 12067 }, + { 0x6E50, 12068 }, + { 0x1F07, 12072 }, + { 0x26B8, 12074 }, + { 0x6D61, 12081 }, + { 0x6E13, 12082 }, + { 0x6DD4, 12084 }, + { 0x6D52, 12086 }, + { 0x70CD, 12087 }, + { 0x70C7, 12091 }, + { 0x70D3, 12095 }, + { 0x70BA, 12099 }, + { 0x709C, 12102 }, + { 0x70A6, 12105 }, + { 0x70C1, 12108 }, + { 0x6DDE, 12110 }, + { 0x6EA9, 12111 }, + { 0x6E8A, 12112 }, + { 0x7004, 12115 }, + { 0x6D9F, 12117 }, + { 0x3D8A, 12120 }, + { 0x1C93, 12123 }, + { 0x7188, 12125 }, + { 0x6EFE, 12128 }, + { 0x6E02, 12131 }, + { 0x6EFD, 12133 }, + { 0x1C92, 12136 }, + { 0x6CCA, 12138 }, + { 0x1C62, 12140 }, + { 0x0061, 12142 }, + { 0x3856, 12144 }, + { 0x385B, 12147 }, + { 0x3857, 12150 }, + { 0x385A, 12153 }, + { 0x3859, 12156 }, + { 0x385E, 12159 }, + { 0x3855, 12162 }, + { 0x385D, 12165 }, + { 0x385C, 12168 }, + { 0x3858, 12171 }, + { 0x383A, 12174 }, + { 0x383F, 12178 }, + { 0x383D, 12182 }, + { 0x3839, 12186 }, + { 0x3840, 12190 }, + { 0x3841, 12194 }, + { 0x383C, 12198 }, + { 0x383B, 12202 }, + { 0x383E, 12206 }, + { 0x3842, 12210 }, + { 0x3810, 12214 }, + { 0x3813, 12217 }, + { 0x3811, 12220 }, + { 0x3815, 12223 }, + { 0x3812, 12226 }, + { 0x3814, 12229 }, + { 0x382D, 12232 }, + { 0x3825, 12235 }, + { 0x3818, 12238 }, + { 0x3838, 12241 }, + { 0x381E, 12244 }, + { 0x3816, 12247 }, + { 0x3834, 12250 }, + { 0x3830, 12253 }, + { 0x3828, 12256 }, + { 0x382A, 12259 }, + { 0x3833, 12262 }, + { 0x3837, 12265 }, + { 0x3823, 12268 }, + { 0x3835, 12271 }, + { 0x3832, 12274 }, + { 0x3831, 12277 }, + { 0x382E, 12280 }, + { 0x381C, 12283 }, + { 0x3829, 12286 }, + { 0x3826, 12289 }, + { 0x3819, 12292 }, + { 0x381F, 12295 }, + { 0x3817, 12298 }, + { 0x382F, 12301 }, + { 0x381B, 12304 }, + { 0x3821, 12307 }, + { 0x3827, 12310 }, + { 0x382C, 12313 }, + { 0x382B, 12316 }, + { 0x3836, 12319 }, + { 0x3824, 12322 }, + { 0x381D, 12325 }, + { 0x381A, 12328 }, + { 0x3822, 12331 }, + { 0x3820, 12334 }, + { 0x3848, 12337 }, + { 0x3847, 12341 }, + { 0x3851, 12345 }, + { 0x384D, 12349 }, + { 0x384E, 12353 }, + { 0x3850, 12357 }, + { 0x384C, 12361 }, + { 0x384F, 12365 }, + { 0x384B, 12369 }, + { 0x3849, 12373 }, + { 0x3852, 12377 }, + { 0x3845, 12381 }, + { 0x3844, 12385 }, + { 0x3846, 12389 }, + { 0x3843, 12393 }, + { 0x3854, 12397 }, + { 0x3853, 12402 }, + { 0x384A, 12407 }, + { 0x3860, 12412 }, + { 0x3861, 12415 }, + { 0x385F, 12419 }, + { 0x3862, 12422 }, + { 0x71BE, 12426 }, + { 0x1DA4, 12427 }, + { 0x20ED, 12429 }, + { 0x6EB1, 12431 }, + { 0x2936, 12433 }, + { 0x6DE3, 12437 }, + { 0x71CA, 12439 }, + { 0x1E37, 12440 }, + { 0x1E35, 12443 }, + { 0x1DAD, 12446 }, + { 0x2648, 12449 }, + { 0x1D95, 12456 }, + { 0x1E74, 12461 }, + { 0x1E76, 12467 }, + { 0x1E09, 12475 }, + { 0x1E69, 12478 }, + { 0x1E0A, 12483 }, + { 0x1E6A, 12486 }, + { 0x1C58, 12491 }, + { 0x6FE5, 12493 }, + { 0x6E85, 12494 }, + { 0x24D9, 12497 }, + { 0x1E2D, 12500 }, + { 0x264B, 12502 }, + { 0x1E7A, 12507 }, + { 0x1E8D, 12511 }, + { 0x71A4, 12513 }, + { 0x71C4, 12516 }, + { 0x21CB, 12517 }, + { 0x1C59, 12520 }, + { 0x6D7B, 12522 }, + { 0x7194, 12523 }, + { 0x6F80, 12525 }, + { 0x6F81, 12530 }, + { 0x6F4E, 12534 }, + { 0x6F5F, 12538 }, + { 0x6F69, 12543 }, + { 0x6F6B, 12547 }, + { 0x6F3D, 12554 }, + { 0x718E, 12559 }, + { 0x6F72, 12563 }, + { 0x6F7F, 12567 }, + { 0x6F56, 12571 }, + { 0x6F57, 12575 }, + { 0x6F58, 12582 }, + { 0x7181, 12589 }, + { 0x7184, 12592 }, + { 0x6DC1, 12595 }, + { 0x6F71, 12597 }, + { 0x6F53, 12600 }, + { 0x6F46, 12604 }, + { 0x6F6C, 12608 }, + { 0x6DFC, 12612 }, + { 0x6EFF, 12614 }, + { 0x6CD9, 12616 }, + { 0x6E38, 12618 }, + { 0x6E60, 12620 }, + { 0x6FCD, 12621 }, + { 0x6D5A, 12623 }, + { 0x6CA0, 12624 }, + { 0x2920, 12629 }, + { 0x1C0D, 12632 }, + { 0x224D, 12635 }, + { 0x6CAF, 12638 }, + { 0x6CB8, 12641 }, + { 0x1C0F, 12646 }, + { 0x1C0C, 12649 }, + { 0x6C7B, 12652 }, + { 0x26EC, 12655 }, + { 0x70DC, 12660 }, + { 0x227F, 12664 }, + { 0x227D, 12667 }, + { 0x227C, 12670 }, + { 0x6D73, 12673 }, + { 0x2257, 12675 }, + { 0x6C58, 12677 }, + { 0x6C50, 12681 }, + { 0x000E, 12684 }, + { 0x20E2, 12686 }, + { 0x2331, 12688 }, + { 0x1F64, 12691 }, + { 0x14CE, 12692 }, + { 0x14CF, 12693 }, + { 0x14D0, 12694 }, + { 0x6CED, 12695 }, + { 0x21F3, 12697 }, + { 0x2248, 12698 }, + { 0x2247, 12701 }, + { 0x2AA0, 12704 }, + { 0x6DA2, 12706 }, + { 0x71A8, 12707 }, + { 0x6D4B, 12709 }, + { 0x1BBE, 12710 }, + { 0x718D, 12712 }, + { 0x6EEF, 12719 }, + { 0x1F11, 12721 }, + { 0x6C7A, 12723 }, + { 0x21FB, 12724 }, + { 0x6E41, 12727 }, + { 0x6EAE, 12730 }, + { 0x2577, 12731 }, + { 0x220F, 12732 }, + { 0x6DCA, 12733 }, + { 0x6DC6, 12734 }, + { 0x6D59, 12736 }, + { 0x1C6B, 12738 }, + { 0x2198, 12740 }, + { 0x6C57, 12743 }, + { 0x6C52, 12748 }, + { 0x6C7E, 12752 }, + { 0x2335, 12756 }, + { 0x2334, 12760 }, + { 0x24ED, 12765 }, + { 0x290F, 12769 }, + { 0x20E9, 12773 }, + { 0x20E8, 12777 }, + { 0x24A8, 12781 }, + { 0x24A4, 12788 }, + { 0x24A5, 12795 }, + { 0x24AA, 12802 }, + { 0x24D6, 12809 }, + { 0x20E5, 12812 }, + { 0x2130, 12816 }, + { 0x20E6, 12820 }, + { 0x6EB6, 12823 }, + { 0x1E2C, 12827 }, + { 0x6F29, 12829 }, + { 0x2A95, 12832 }, + { 0x24EB, 12835 }, + { 0x268A, 12840 }, + { 0x268C, 12845 }, + { 0x24F1, 12850 }, + { 0x2A9D, 12855 }, + { 0x005B, 12859 }, + { 0x1F32, 12862 }, + { 0x1F30, 12867 }, + { 0x1F31, 12872 }, + { 0x1E93, 12877 }, + { 0x232F, 12879 }, + { 0x1D36, 12882 }, + { 0x1D1D, 12886 }, + { 0x1D85, 12889 }, + { 0x1D37, 12896 }, + { 0x1D82, 12901 }, + { 0x24A2, 12907 }, + { 0x2666, 12913 }, + { 0x265E, 12917 }, + { 0x1D5D, 12921 }, + { 0x1D57, 12925 }, + { 0x245E, 12931 }, + { 0x7137, 12938 }, + { 0x1D88, 12942 }, + { 0x26BE, 12946 }, + { 0x20E3, 12950 }, + { 0x20E7, 12954 }, + { 0x20E4, 12958 }, + { 0x24DD, 12962 }, + { 0x2A9B, 12966 }, + { 0x2AA7, 12970 }, + { 0x2AA5, 12974 }, + { 0x2AA3, 12979 }, + { 0x24DF, 12983 }, + { 0x2236, 12986 }, + { 0x2A99, 12989 }, + { 0x28F7, 12992 }, + { 0x2A97, 12996 }, + { 0x2534, 13000 }, + { 0x1BD0, 13004 }, + { 0x291B, 13008 }, + { 0x1E52, 13011 }, + { 0x28FF, 13016 }, + { 0x1BCC, 13020 }, + { 0x6F23, 13024 }, + { 0x003B, 13027 }, + { 0x24E7, 13030 }, + { 0x24E9, 13038 }, + { 0x1BF9, 13046 }, + { 0x24E5, 13051 }, + { 0x1F2C, 13056 }, + { 0x1F2A, 13061 }, + { 0x1F2B, 13066 }, + { 0x2532, 13070 }, + { 0x1E91, 13073 }, + { 0x7000, 13075 }, + { 0x6F27, 13077 }, + { 0x6EC9, 13080 }, + { 0x2336, 13083 }, + { 0x231F, 13085 }, + { 0x2919, 13089 }, + { 0x2AA1, 13093 }, + { 0x2529, 13097 }, + { 0x2913, 13102 }, + { 0x1F41, 13107 }, + { 0x1E54, 13111 }, + { 0x0008, 13114 }, + { 0x1F26, 13116 }, + { 0x1F24, 13120 }, + { 0x1F25, 13124 }, + { 0x28F5, 13127 }, + { 0x28FC, 13130 }, + { 0x1BDC, 13133 }, + { 0x256E, 13135 }, + { 0x256C, 13141 }, + { 0x256D, 13148 }, + { 0x6E52, 13155 }, + { 0x71BF, 13157 }, + { 0x6F1D, 13159 }, + { 0x1C51, 13160 }, + { 0x3390, 13162 }, + { 0x3392, 13165 }, + { 0x3394, 13168 }, + { 0x3395, 13171 }, + { 0x3396, 13174 }, + { 0x3391, 13177 }, + { 0x3372, 13180 }, + { 0x337C, 13183 }, + { 0x3375, 13186 }, + { 0x3393, 13189 }, + { 0x338B, 13192 }, + { 0x3378, 13195 }, + { 0x3388, 13198 }, + { 0x337B, 13201 }, + { 0x3379, 13204 }, + { 0x3383, 13207 }, + { 0x3381, 13210 }, + { 0x3382, 13213 }, + { 0x3399, 13216 }, + { 0x3373, 13219 }, + { 0x3384, 13222 }, + { 0x3376, 13225 }, + { 0x3397, 13228 }, + { 0x3398, 13231 }, + { 0x338C, 13234 }, + { 0x3389, 13237 }, + { 0x338E, 13240 }, + { 0x3386, 13243 }, + { 0x337D, 13246 }, + { 0x337E, 13249 }, + { 0x338F, 13252 }, + { 0x338A, 13255 }, + { 0x337A, 13258 }, + { 0x3387, 13261 }, + { 0x3374, 13264 }, + { 0x338D, 13267 }, + { 0x3377, 13270 }, + { 0x337F, 13273 }, + { 0x3385, 13276 }, + { 0x339B, 13279 }, + { 0x339D, 13284 }, + { 0x339E, 13289 }, + { 0x339A, 13294 }, + { 0x339C, 13299 }, + { 0x339F, 13304 }, + { 0x3380, 13309 }, + { 0x33A1, 13312 }, + { 0x33A0, 13316 }, + { 0x6E4D, 13319 }, + { 0x6E4A, 13320 }, + { 0x2640, 13324 }, + { 0x2338, 13332 }, + { 0x2351, 13335 }, + { 0x2354, 13339 }, + { 0x2337, 13344 }, + { 0x2326, 13347 }, + { 0x234F, 13349 }, + { 0x2355, 13352 }, + { 0x2352, 13357 }, + { 0x2357, 13361 }, + { 0x268D, 13367 }, + { 0x2350, 13371 }, + { 0x2356, 13374 }, + { 0x2353, 13379 }, + { 0x2358, 13383 }, + { 0x2359, 13389 }, + { 0x6D24, 13393 }, + { 0x6DC7, 13395 }, + { 0x21FF, 13397 }, + { 0x219C, 13401 }, + { 0x2201, 13403 }, + { 0x2200, 13411 }, + { 0x6D99, 13415 }, + { 0x2AC9, 13417 }, + { 0x6C91, 13419 }, + { 0x6E18, 13422 }, + { 0x6FF4, 13423 }, + { 0x5BA8, 13425 }, + { 0x5BA9, 13429 }, + { 0x5BA7, 13433 }, + { 0x5BD6, 13436 }, + { 0x5BD7, 13440 }, + { 0x5BD8, 13443 }, + { 0x5BD5, 13446 }, + { 0x5BAA, 13449 }, + { 0x5BB3, 13453 }, + { 0x5BB7, 13457 }, + { 0x5BD3, 13461 }, + { 0x5BAF, 13465 }, + { 0x5BC0, 13469 }, + { 0x5BB2, 13473 }, + { 0x5BC7, 13477 }, + { 0x5BAB, 13481 }, + { 0x5BC9, 13485 }, + { 0x5BCF, 13489 }, + { 0x5BAD, 13493 }, + { 0x5BD1, 13497 }, + { 0x5BD0, 13501 }, + { 0x5BB4, 13505 }, + { 0x5BCD, 13509 }, + { 0x5BB8, 13513 }, + { 0x5BBC, 13517 }, + { 0x5BBD, 13521 }, + { 0x5BBB, 13525 }, + { 0x5BBE, 13529 }, + { 0x5BD4, 13533 }, + { 0x5BB0, 13537 }, + { 0x5BD2, 13541 }, + { 0x5BC1, 13545 }, + { 0x5BC4, 13549 }, + { 0x5BB1, 13553 }, + { 0x5BC8, 13557 }, + { 0x5BCA, 13561 }, + { 0x5BAC, 13565 }, + { 0x5BAE, 13569 }, + { 0x5BB5, 13573 }, + { 0x5BCB, 13577 }, + { 0x5BB9, 13581 }, + { 0x5BBF, 13585 }, + { 0x5BB6, 13589 }, + { 0x5BC2, 13593 }, + { 0x5BC5, 13597 }, + { 0x5BC6, 13601 }, + { 0x5BBA, 13605 }, + { 0x5BC3, 13609 }, + { 0x5BCE, 13613 }, + { 0x5BCC, 13618 }, + { 0x5BA4, 13623 }, + { 0x5B62, 13626 }, + { 0x5B6C, 13629 }, + { 0x5B68, 13632 }, + { 0x5B80, 13635 }, + { 0x5B87, 13638 }, + { 0x5B7F, 13641 }, + { 0x5B77, 13644 }, + { 0x5B65, 13647 }, + { 0x5B71, 13650 }, + { 0x5B61, 13653 }, + { 0x5B82, 13656 }, + { 0x5B9B, 13659 }, + { 0x5B6B, 13662 }, + { 0x5B69, 13665 }, + { 0x5BA3, 13668 }, + { 0x5B88, 13671 }, + { 0x5B81, 13674 }, + { 0x5B63, 13678 }, + { 0x5B6E, 13682 }, + { 0x5B73, 13686 }, + { 0x5B9A, 13690 }, + { 0x5B6D, 13694 }, + { 0x5B92, 13698 }, + { 0x5B91, 13702 }, + { 0x5B9C, 13706 }, + { 0x5B70, 13709 }, + { 0x5B99, 13712 }, + { 0x5B89, 13715 }, + { 0x5BA5, 13718 }, + { 0x5B79, 13721 }, + { 0x5B78, 13724 }, + { 0x5B66, 13727 }, + { 0x5B84, 13730 }, + { 0x5B72, 13733 }, + { 0x5B75, 13736 }, + { 0x5B8D, 13739 }, + { 0x5B64, 13742 }, + { 0x5B83, 13745 }, + { 0x5B94, 13748 }, + { 0x5B95, 13751 }, + { 0x5B98, 13754 }, + { 0x5B6F, 13757 }, + { 0x5B6A, 13760 }, + { 0x5B96, 13763 }, + { 0x5B9D, 13766 }, + { 0x5B9E, 13769 }, + { 0x5B7C, 13772 }, + { 0x5B90, 13775 }, + { 0x5B8C, 13778 }, + { 0x5B8A, 13781 }, + { 0x5B7A, 13784 }, + { 0x5B85, 13787 }, + { 0x5B76, 13790 }, + { 0x5B8E, 13793 }, + { 0x5B7B, 13796 }, + { 0x5B8F, 13799 }, + { 0x5B8B, 13802 }, + { 0x5B97, 13805 }, + { 0x5B9F, 13808 }, + { 0x5BA1, 13811 }, + { 0x5B7E, 13814 }, + { 0x5B7D, 13817 }, + { 0x5BA2, 13820 }, + { 0x5BD9, 13823 }, + { 0x5BDA, 13826 }, + { 0x5BDB, 13829 }, + { 0x5BDC, 13832 }, + { 0x5BDD, 13835 }, + { 0x5BDE, 13838 }, + { 0x5BDF, 13841 }, + { 0x5B67, 13844 }, + { 0x5B74, 13848 }, + { 0x5B86, 13852 }, + { 0x5BA0, 13856 }, + { 0x5B93, 13860 }, + { 0x5BE0, 13864 }, + { 0x5BE1, 13868 }, + { 0x5BE2, 13872 }, + { 0x5BE3, 13876 }, + { 0x5BE4, 13880 }, + { 0x5BE5, 13884 }, + { 0x5BA6, 13888 }, + { 0x1FB7, 13891 }, + { 0x1FB8, 13895 }, + { 0x1C52, 13898 }, + { 0x2559, 13900 }, + { 0x1C13, 13901 }, + { 0x4B4D, 13902 }, + { 0x4B48, 13905 }, + { 0x4B47, 13908 }, + { 0x4B46, 13911 }, + { 0x4B49, 13914 }, + { 0x4B4A, 13917 }, + { 0x4B4F, 13919 }, + { 0x4B54, 13922 }, + { 0x4B50, 13925 }, + { 0x4B53, 13928 }, + { 0x4B52, 13931 }, + { 0x4B57, 13934 }, + { 0x4B4E, 13937 }, + { 0x4B56, 13940 }, + { 0x4B55, 13943 }, + { 0x4B51, 13946 }, + { 0x4B42, 13949 }, + { 0x4B3A, 13953 }, + { 0x4B44, 13957 }, + { 0x4B3C, 13961 }, + { 0x4B39, 13965 }, + { 0x4B43, 13969 }, + { 0x4B45, 13973 }, + { 0x4B3B, 13977 }, + { 0x4B3D, 13981 }, + { 0x4B40, 13985 }, + { 0x4B3E, 13990 }, + { 0x4B41, 13995 }, + { 0x4B3F, 14000 }, + { 0x4B4B, 14005 }, + { 0x4B09, 14008 }, + { 0x4B13, 14011 }, + { 0x4B0B, 14014 }, + { 0x4B15, 14017 }, + { 0x4B0D, 14020 }, + { 0x4B0A, 14023 }, + { 0x4B14, 14026 }, + { 0x4B16, 14029 }, + { 0x4B2D, 14032 }, + { 0x4B1C, 14035 }, + { 0x4B28, 14038 }, + { 0x4B19, 14041 }, + { 0x4B37, 14044 }, + { 0x4B0C, 14047 }, + { 0x4B1E, 14050 }, + { 0x4B17, 14053 }, + { 0x4B32, 14056 }, + { 0x4B2F, 14059 }, + { 0x4B2A, 14062 }, + { 0x4B2B, 14065 }, + { 0x4B31, 14068 }, + { 0x4B36, 14071 }, + { 0x4B26, 14074 }, + { 0x4B0E, 14077 }, + { 0x4B33, 14080 }, + { 0x4B30, 14083 }, + { 0x4B2E, 14086 }, + { 0x4B1D, 14089 }, + { 0x4B23, 14092 }, + { 0x4B29, 14095 }, + { 0x4B1A, 14098 }, + { 0x4B1F, 14101 }, + { 0x4B18, 14104 }, + { 0x4B38, 14107 }, + { 0x4B1B, 14110 }, + { 0x4B25, 14113 }, + { 0x4B20, 14116 }, + { 0x4B2C, 14119 }, + { 0x4B34, 14122 }, + { 0x4B35, 14125 }, + { 0x4B27, 14128 }, + { 0x4B21, 14131 }, + { 0x4B24, 14134 }, + { 0x4B22, 14137 }, + { 0x4B11, 14140 }, + { 0x4B0F, 14144 }, + { 0x4B12, 14148 }, + { 0x4B10, 14152 }, + { 0x4B4C, 14156 }, + { 0x6F2B, 14159 }, + { 0x6CCC, 14161 }, + { 0x1DF3, 14164 }, + { 0x1DF4, 14166 }, + { 0x6DC0, 14168 }, + { 0x6E16, 14170 }, + { 0x1E45, 14172 }, + { 0x005F, 14173 }, + { 0x7182, 14174 }, + { 0x4A48, 14176 }, + { 0x4A4D, 14178 }, + { 0x4A47, 14181 }, + { 0x4A45, 14185 }, + { 0x4A41, 14188 }, + { 0x4A44, 14191 }, + { 0x4A43, 14194 }, + { 0x4A46, 14197 }, + { 0x4A42, 14200 }, + { 0x4A4C, 14203 }, + { 0x4A4A, 14205 }, + { 0x4A50, 14207 }, + { 0x4A55, 14210 }, + { 0x4A51, 14213 }, + { 0x4A54, 14216 }, + { 0x4A53, 14219 }, + { 0x4A58, 14222 }, + { 0x4A4F, 14225 }, + { 0x4A57, 14228 }, + { 0x4A56, 14231 }, + { 0x4A52, 14234 }, + { 0x4A3D, 14237 }, + { 0x4A35, 14241 }, + { 0x4A3F, 14245 }, + { 0x4A37, 14249 }, + { 0x4A34, 14253 }, + { 0x4A3E, 14257 }, + { 0x4A40, 14261 }, + { 0x4A36, 14265 }, + { 0x4A38, 14269 }, + { 0x4A3B, 14273 }, + { 0x4A39, 14278 }, + { 0x4A3C, 14283 }, + { 0x4A3A, 14288 }, + { 0x4A4B, 14293 }, + { 0x49FF, 14296 }, + { 0x4A09, 14299 }, + { 0x4A01, 14302 }, + { 0x4A0B, 14305 }, + { 0x4A03, 14308 }, + { 0x4A00, 14311 }, + { 0x4A0A, 14314 }, + { 0x4A0C, 14317 }, + { 0x4A26, 14320 }, + { 0x4A13, 14323 }, + { 0x4A20, 14326 }, + { 0x4A0F, 14329 }, + { 0x4A33, 14332 }, + { 0x4A02, 14335 }, + { 0x4A15, 14338 }, + { 0x4A0D, 14341 }, + { 0x4A2D, 14344 }, + { 0x4A28, 14347 }, + { 0x4A22, 14350 }, + { 0x4A24, 14353 }, + { 0x4A2B, 14356 }, + { 0x4A32, 14359 }, + { 0x4A1E, 14362 }, + { 0x4A04, 14365 }, + { 0x4A2F, 14368 }, + { 0x4A2A, 14371 }, + { 0x4A27, 14374 }, + { 0x4A14, 14377 }, + { 0x4A1B, 14380 }, + { 0x4A21, 14383 }, + { 0x4A10, 14386 }, + { 0x4A16, 14389 }, + { 0x4A0E, 14392 }, + { 0x4A2E, 14395 }, + { 0x4A29, 14398 }, + { 0x4A11, 14401 }, + { 0x4A23, 14404 }, + { 0x4A1D, 14407 }, + { 0x4A17, 14410 }, + { 0x4A25, 14413 }, + { 0x4A2C, 14416 }, + { 0x4A30, 14419 }, + { 0x4A31, 14422 }, + { 0x4A1F, 14425 }, + { 0x4A19, 14428 }, + { 0x4A1C, 14431 }, + { 0x4A12, 14434 }, + { 0x4A18, 14437 }, + { 0x4A1A, 14440 }, + { 0x4A07, 14443 }, + { 0x4A05, 14447 }, + { 0x4A08, 14451 }, + { 0x4A06, 14455 }, + { 0x4A49, 14459 }, + { 0x4A5A, 14461 }, + { 0x4A59, 14464 }, + { 0x4A4E, 14467 }, + { 0x1F21, 14470 }, + { 0x6D7E, 14472 }, + { 0x6F03, 14473 }, + { 0x6F05, 14474 }, + { 0x6F04, 14476 }, + { 0x6C9D, 14478 }, + { 0x1FAB, 14479 }, + { 0x6E11, 14481 }, + { 0x6DFD, 14483 }, + { 0x6E4E, 14486 }, + { 0x6D8B, 14488 }, + { 0x2285, 14491 }, + { 0x2275, 14495 }, + { 0x228C, 14498 }, + { 0x2296, 14501 }, + { 0x6EFC, 14505 }, + { 0x231D, 14507 }, + { 0x6E27, 14509 }, + { 0x6E28, 14514 }, + { 0x231E, 14519 }, + { 0x6F0A, 14521 }, + { 0x6DFE, 14522 }, + { 0x6F1A, 14525 }, + { 0x6DFF, 14529 }, + { 0x6C6F, 14532 }, + { 0x290C, 14534 }, + { 0x2ACA, 14536 }, + { 0x6C8B, 14539 }, + { 0x1C5E, 14540 }, + { 0x2229, 14542 }, + { 0x6DE4, 14543 }, + { 0x6DC5, 14546 }, + { 0x6CC8, 14547 }, + { 0x000B, 14549 }, + { 0x2587, 14551 }, + { 0x2588, 14557 }, + { 0x2593, 14563 }, + { 0x257F, 14567 }, + { 0x2582, 14572 }, + { 0x257C, 14577 }, + { 0x257E, 14583 }, + { 0x2580, 14588 }, + { 0x2581, 14593 }, + { 0x257D, 14598 }, + { 0x25CC, 14604 }, + { 0x2220, 14609 }, + { 0x3CA8, 14610 }, + { 0x6C94, 14612 }, + { 0x6C93, 14614 }, + { 0x6DC8, 14616 }, + { 0x1DDF, 14617 }, + { 0x0299, 14621 }, + { 0x1DE0, 14623 }, + { 0x2923, 14626 }, + { 0x1DA1, 14628 }, + { 0x6C74, 14630 }, + { 0x4734, 14631 }, + { 0x4739, 14634 }, + { 0x4735, 14637 }, + { 0x4738, 14640 }, + { 0x4737, 14643 }, + { 0x473C, 14646 }, + { 0x473B, 14649 }, + { 0x473A, 14652 }, + { 0x4736, 14655 }, + { 0x4746, 14658 }, + { 0x474B, 14662 }, + { 0x473D, 14666 }, + { 0x4747, 14669 }, + { 0x474A, 14673 }, + { 0x4749, 14677 }, + { 0x474E, 14681 }, + { 0x474D, 14685 }, + { 0x4741, 14689 }, + { 0x4740, 14692 }, + { 0x474C, 14695 }, + { 0x4742, 14699 }, + { 0x4748, 14702 }, + { 0x4744, 14706 }, + { 0x4745, 14709 }, + { 0x473F, 14712 }, + { 0x473E, 14715 }, + { 0x4743, 14718 }, + { 0x474F, 14721 }, + { 0x4751, 14725 }, + { 0x4750, 14729 }, + { 0x4752, 14733 }, + { 0x6CB1, 14737 }, + { 0x6DF5, 14741 }, + { 0x6FDD, 14742 }, + { 0x7187, 14743 }, + { 0x1DC8, 14747 }, + { 0x6CEB, 14749 }, + { 0x6D0F, 14751 }, + { 0x6CA1, 14754 }, + { 0x6EE7, 14757 }, + { 0x006C, 14761 }, + { 0x6E57, 14763 }, + { 0x481C, 14768 }, + { 0x4821, 14772 }, + { 0x481D, 14776 }, + { 0x4820, 14780 }, + { 0x481F, 14784 }, + { 0x4824, 14788 }, + { 0x481B, 14792 }, + { 0x4823, 14796 }, + { 0x4822, 14800 }, + { 0x481E, 14804 }, + { 0x4814, 14808 }, + { 0x4819, 14812 }, + { 0x4816, 14816 }, + { 0x4818, 14820 }, + { 0x4817, 14824 }, + { 0x4804, 14828 }, + { 0x4805, 14832 }, + { 0x4806, 14836 }, + { 0x4815, 14840 }, + { 0x4807, 14844 }, + { 0x4810, 14848 }, + { 0x4812, 14852 }, + { 0x4811, 14856 }, + { 0x480A, 14860 }, + { 0x481A, 14864 }, + { 0x4808, 14868 }, + { 0x480B, 14872 }, + { 0x480D, 14876 }, + { 0x480F, 14880 }, + { 0x4802, 14884 }, + { 0x4803, 14888 }, + { 0x480C, 14892 }, + { 0x480E, 14896 }, + { 0x4809, 14900 }, + { 0x4813, 14904 }, + { 0x227B, 14908 }, + { 0x2184, 14911 }, + { 0x1DE4, 14914 }, + { 0x1E4F, 14916 }, + { 0x6C69, 14918 }, + { 0x2261, 14919 }, + { 0x6EE8, 14921 }, + { 0x6FD0, 14923 }, + { 0x2254, 14924 }, + { 0x0C15, 14925 }, + { 0x0C1A, 14928 }, + { 0x0C16, 14931 }, + { 0x0C19, 14934 }, + { 0x0C18, 14937 }, + { 0x0C1D, 14940 }, + { 0x0C14, 14943 }, + { 0x0C1C, 14946 }, + { 0x0C1B, 14949 }, + { 0x0C17, 14952 }, + { 0x0C03, 14955 }, + { 0x0BF5, 14959 }, + { 0x0BE2, 14963 }, + { 0x0BDC, 14967 }, + { 0x0BD6, 14971 }, + { 0x0BE5, 14975 }, + { 0x0BE7, 14979 }, + { 0x0BF3, 14983 }, + { 0x0BF6, 14987 }, + { 0x0BC9, 14991 }, + { 0x0BED, 14995 }, + { 0x0BF4, 14999 }, + { 0x0BEE, 15003 }, + { 0x0BE9, 15006 }, + { 0x0BE1, 15010 }, + { 0x0BDB, 15014 }, + { 0x0BE3, 15018 }, + { 0x0BEB, 15022 }, + { 0x0BEC, 15026 }, + { 0x0BD3, 15029 }, + { 0x0BF2, 15033 }, + { 0x0BF1, 15037 }, + { 0x0BF0, 15041 }, + { 0x0BDD, 15045 }, + { 0x0BD7, 15049 }, + { 0x0BEF, 15053 }, + { 0x0BEA, 15057 }, + { 0x0BD5, 15061 }, + { 0x0BD0, 15065 }, + { 0x0BD4, 15069 }, + { 0x0BD2, 15073 }, + { 0x0BD1, 15077 }, + { 0x0BCA, 15081 }, + { 0x0BCD, 15085 }, + { 0x0BCB, 15089 }, + { 0x0BCC, 15093 }, + { 0x0BCE, 15097 }, + { 0x0C0C, 15101 }, + { 0x0C0D, 15105 }, + { 0x0C0E, 15109 }, + { 0x0C0F, 15113 }, + { 0x0BF9, 15117 }, + { 0x0BCF, 15121 }, + { 0x0BE6, 15125 }, + { 0x0BE4, 15129 }, + { 0x0BE8, 15133 }, + { 0x0BD8, 15137 }, + { 0x0BE0, 15141 }, + { 0x0BDE, 15145 }, + { 0x0BDF, 15149 }, + { 0x0BDA, 15153 }, + { 0x0BD9, 15157 }, + { 0x0BF8, 15161 }, + { 0x0C04, 15165 }, + { 0x0BFC, 15169 }, + { 0x0C06, 15173 }, + { 0x0C00, 15177 }, + { 0x0BFA, 15181 }, + { 0x0C05, 15185 }, + { 0x0C07, 15189 }, + { 0x0C08, 15194 }, + { 0x0BFB, 15199 }, + { 0x0BFD, 15203 }, + { 0x0BFE, 15207 }, + { 0x0C01, 15211 }, + { 0x0BFF, 15215 }, + { 0x0C1F, 15219 }, + { 0x0C13, 15222 }, + { 0x0C02, 15225 }, + { 0x0C0A, 15228 }, + { 0x0C11, 15231 }, + { 0x0C12, 15234 }, + { 0x0C0B, 15237 }, + { 0x0BF7, 15240 }, + { 0x0C1E, 15243 }, + { 0x0C09, 15246 }, + { 0x0C10, 15249 }, + { 0x70B7, 15252 }, + { 0x1BBD, 15255 }, + { 0x70BE, 15257 }, + { 0x2558, 15259 }, + { 0x4623, 15260 }, + { 0x6FC5, 15267 }, + { 0x6FC6, 15268 }, + { 0x1E31, 15270 }, + { 0x1F15, 15271 }, + { 0x70BB, 15273 }, + { 0x1E61, 15277 }, + { 0x1E62, 15280 }, + { 0x70CF, 15283 }, + { 0x70C9, 15288 }, + { 0x70D5, 15293 }, + { 0x70E6, 15298 }, + { 0x70BC, 15304 }, + { 0x709E, 15308 }, + { 0x70A8, 15312 }, + { 0x6FB8, 15316 }, + { 0x70C3, 15320 }, + { 0x6FB7, 15323 }, + { 0x2AA9, 15326 }, + { 0x2699, 15328 }, + { 0x248D, 15333 }, + { 0x3CE3, 15338 }, + { 0x2ABD, 15341 }, + { 0x1E90, 15343 }, + { 0x3CDF, 15345 }, + { 0x21CA, 15347 }, + { 0x6CCB, 15350 }, + { 0x6C67, 15352 }, + { 0x6CB2, 15355 }, + { 0x6D75, 15357 }, + { 0x1C14, 15359 }, + { 0x2924, 15361 }, + { 0x1BBF, 15365 }, + { 0x1BC1, 15368 }, + { 0x3D8A, 15371 }, + { 0x1BC0, 15375 }, + { 0x1BC0, 15378 }, + { 0x1BBF, 15379 }, + { 0x24F9, 15380 }, + { 0x0073, 15382 }, + { 0x69BE, 15384 }, + { 0x69C6, 15387 }, + { 0x69CB, 15390 }, + { 0x69C7, 15393 }, + { 0x69CA, 15396 }, + { 0x69C9, 15399 }, + { 0x69CE, 15402 }, + { 0x69C5, 15405 }, + { 0x69CD, 15408 }, + { 0x69CC, 15411 }, + { 0x69C8, 15414 }, + { 0x69C1, 15417 }, + { 0x69C4, 15419 }, + { 0x69A5, 15421 }, + { 0x69A7, 15425 }, + { 0x69A8, 15429 }, + { 0x69AF, 15433 }, + { 0x69A0, 15437 }, + { 0x69A6, 15441 }, + { 0x69B4, 15445 }, + { 0x69B2, 15449 }, + { 0x69A2, 15453 }, + { 0x69A4, 15457 }, + { 0x69B6, 15461 }, + { 0x69B8, 15465 }, + { 0x69AE, 15469 }, + { 0x69A3, 15473 }, + { 0x69B1, 15477 }, + { 0x69A9, 15481 }, + { 0x69BA, 15485 }, + { 0x69AD, 15489 }, + { 0x69B9, 15493 }, + { 0x69BC, 15497 }, + { 0x69B7, 15501 }, + { 0x69AC, 15505 }, + { 0x69B5, 15509 }, + { 0x69BD, 15513 }, + { 0x69AB, 15517 }, + { 0x69AA, 15521 }, + { 0x69BB, 15525 }, + { 0x699C, 15529 }, + { 0x69B0, 15533 }, + { 0x699E, 15537 }, + { 0x699F, 15541 }, + { 0x69B3, 15545 }, + { 0x699D, 15549 }, + { 0x69A1, 15553 }, + { 0x69BF, 15557 }, + { 0x6983, 15560 }, + { 0x6985, 15564 }, + { 0x6986, 15568 }, + { 0x698D, 15572 }, + { 0x697E, 15576 }, + { 0x6984, 15580 }, + { 0x6992, 15584 }, + { 0x6990, 15588 }, + { 0x6980, 15592 }, + { 0x6982, 15596 }, + { 0x6994, 15600 }, + { 0x6996, 15604 }, + { 0x698C, 15608 }, + { 0x6981, 15612 }, + { 0x698F, 15616 }, + { 0x6987, 15620 }, + { 0x6998, 15624 }, + { 0x698B, 15628 }, + { 0x6997, 15632 }, + { 0x699A, 15636 }, + { 0x6995, 15640 }, + { 0x698A, 15644 }, + { 0x6993, 15648 }, + { 0x699B, 15652 }, + { 0x6989, 15656 }, + { 0x6988, 15660 }, + { 0x6999, 15664 }, + { 0x697A, 15668 }, + { 0x698E, 15672 }, + { 0x697C, 15676 }, + { 0x697D, 15680 }, + { 0x6991, 15684 }, + { 0x697B, 15688 }, + { 0x697F, 15692 }, + { 0x69D0, 15696 }, + { 0x69CF, 15700 }, + { 0x69C3, 15704 }, + { 0x69C2, 15708 }, + { 0x69C0, 15711 }, + { 0x1F79, 15714 }, + { 0x6DB9, 15716 }, + { 0x6DDD, 15718 }, + { 0x1DA9, 15720 }, + { 0x24F8, 15721 }, + { 0x24FE, 15725 }, + { 0x6F5B, 15728 }, + { 0x21A2, 15730 }, + { 0x2490, 15731 }, + { 0x2491, 15737 }, + { 0x248E, 15743 }, + { 0x248F, 15749 }, + { 0x71B2, 15755 }, + { 0x3581, 15756 }, + { 0x3582, 15759 }, + { 0x3583, 15761 }, + { 0x352E, 15763 }, + { 0x3537, 15766 }, + { 0x3541, 15769 }, + { 0x3535, 15772 }, + { 0x3530, 15775 }, + { 0x3532, 15778 }, + { 0x3566, 15781 }, + { 0x352F, 15784 }, + { 0x3573, 15787 }, + { 0x356D, 15790 }, + { 0x3531, 15793 }, + { 0x3538, 15796 }, + { 0x356A, 15799 }, + { 0x355B, 15802 }, + { 0x3571, 15805 }, + { 0x355C, 15808 }, + { 0x3574, 15811 }, + { 0x3543, 15814 }, + { 0x3569, 15817 }, + { 0x355D, 15820 }, + { 0x354B, 15823 }, + { 0x3539, 15826 }, + { 0x356B, 15829 }, + { 0x355A, 15832 }, + { 0x3545, 15835 }, + { 0x3572, 15838 }, + { 0x3568, 15841 }, + { 0x3550, 15844 }, + { 0x3559, 15847 }, + { 0x3567, 15850 }, + { 0x3560, 15853 }, + { 0x3549, 15856 }, + { 0x3577, 15859 }, + { 0x356C, 15862 }, + { 0x3570, 15865 }, + { 0x3563, 15868 }, + { 0x3536, 15871 }, + { 0x3558, 15874 }, + { 0x3556, 15877 }, + { 0x355F, 15880 }, + { 0x3533, 15883 }, + { 0x356F, 15886 }, + { 0x353A, 15889 }, + { 0x3564, 15892 }, + { 0x354E, 15895 }, + { 0x3542, 15898 }, + { 0x353E, 15901 }, + { 0x3534, 15904 }, + { 0x3578, 15907 }, + { 0x3576, 15910 }, + { 0x3557, 15913 }, + { 0x354D, 15916 }, + { 0x354F, 15919 }, + { 0x3552, 15922 }, + { 0x3548, 15925 }, + { 0x3575, 15928 }, + { 0x356E, 15931 }, + { 0x353F, 15934 }, + { 0x3562, 15937 }, + { 0x3554, 15940 }, + { 0x3551, 15943 }, + { 0x3555, 15946 }, + { 0x3579, 15949 }, + { 0x354A, 15952 }, + { 0x3553, 15955 }, + { 0x3565, 15958 }, + { 0x355E, 15961 }, + { 0x353B, 15964 }, + { 0x3547, 15967 }, + { 0x3544, 15970 }, + { 0x357C, 15973 }, + { 0x353C, 15976 }, + { 0x353D, 15979 }, + { 0x3540, 15982 }, + { 0x354C, 15985 }, + { 0x357A, 15988 }, + { 0x3546, 15991 }, + { 0x357B, 15994 }, + { 0x357D, 15997 }, + { 0x3561, 16000 }, + { 0x587A, 16003 }, + { 0x58AD, 16009 }, + { 0x5882, 16013 }, + { 0x5866, 16018 }, + { 0x58AA, 16023 }, + { 0x588D, 16027 }, + { 0x5872, 16031 }, + { 0x5897, 16036 }, + { 0x5878, 16041 }, + { 0x585E, 16046 }, + { 0x58AF, 16051 }, + { 0x5883, 16055 }, + { 0x58AE, 16060 }, + { 0x58A9, 16064 }, + { 0x5861, 16068 }, + { 0x5884, 16073 }, + { 0x5864, 16077 }, + { 0x5863, 16084 }, + { 0x585D, 16091 }, + { 0x585C, 16097 }, + { 0x5887, 16103 }, + { 0x5894, 16107 }, + { 0x5896, 16111 }, + { 0x58A5, 16115 }, + { 0x586F, 16119 }, + { 0x58AC, 16123 }, + { 0x5893, 16127 }, + { 0x5881, 16131 }, + { 0x5895, 16135 }, + { 0x588F, 16139 }, + { 0x58A8, 16143 }, + { 0x58B0, 16147 }, + { 0x5886, 16151 }, + { 0x58A1, 16155 }, + { 0x58AB, 16159 }, + { 0x5899, 16163 }, + { 0x5873, 16167 }, + { 0x587C, 16172 }, + { 0x58A3, 16177 }, + { 0x589B, 16181 }, + { 0x5879, 16186 }, + { 0x58A6, 16191 }, + { 0x589A, 16195 }, + { 0x5891, 16201 }, + { 0x587D, 16205 }, + { 0x5860, 16209 }, + { 0x585B, 16214 }, + { 0x5871, 16219 }, + { 0x5889, 16223 }, + { 0x58A0, 16227 }, + { 0x589F, 16231 }, + { 0x585A, 16235 }, + { 0x5888, 16240 }, + { 0x5892, 16244 }, + { 0x588C, 16248 }, + { 0x58A2, 16252 }, + { 0x587E, 16256 }, + { 0x5867, 16260 }, + { 0x586E, 16264 }, + { 0x58A7, 16268 }, + { 0x589C, 16272 }, + { 0x5875, 16276 }, + { 0x5862, 16280 }, + { 0x5898, 16286 }, + { 0x588A, 16290 }, + { 0x58A4, 16294 }, + { 0x5874, 16298 }, + { 0x5869, 16302 }, + { 0x5890, 16306 }, + { 0x5880, 16310 }, + { 0x589D, 16314 }, + { 0x586C, 16318 }, + { 0x5877, 16322 }, + { 0x586B, 16326 }, + { 0x589E, 16330 }, + { 0x5885, 16334 }, + { 0x5868, 16338 }, + { 0x5876, 16342 }, + { 0x588B, 16346 }, + { 0x586D, 16350 }, + { 0x5865, 16354 }, + { 0x586A, 16358 }, + { 0x5870, 16362 }, + { 0x585F, 16366 }, + { 0x587B, 16370 }, + { 0x587F, 16374 }, + { 0x588E, 16378 }, + { 0x58E6, 16382 }, + { 0x58E2, 16386 }, + { 0x58E1, 16391 }, + { 0x58C2, 16396 }, + { 0x58B2, 16401 }, + { 0x58DF, 16406 }, + { 0x58BA, 16410 }, + { 0x58E7, 16414 }, + { 0x58BD, 16418 }, + { 0x58E3, 16424 }, + { 0x58B5, 16428 }, + { 0x58B6, 16433 }, + { 0x58BF, 16438 }, + { 0x58C7, 16443 }, + { 0x58C1, 16448 }, + { 0x58B4, 16452 }, + { 0x58D7, 16457 }, + { 0x58DD, 16461 }, + { 0x58C6, 16465 }, + { 0x58D3, 16470 }, + { 0x58DC, 16474 }, + { 0x58C5, 16479 }, + { 0x58E8, 16484 }, + { 0x58E5, 16488 }, + { 0x58C3, 16492 }, + { 0x58B3, 16497 }, + { 0x58D2, 16501 }, + { 0x58CD, 16505 }, + { 0x58BC, 16509 }, + { 0x58B7, 16514 }, + { 0x58DE, 16518 }, + { 0x58CF, 16522 }, + { 0x58BE, 16527 }, + { 0x58CC, 16532 }, + { 0x58D0, 16536 }, + { 0x58E0, 16540 }, + { 0x58C8, 16544 }, + { 0x58CB, 16548 }, + { 0x58D8, 16552 }, + { 0x58D6, 16556 }, + { 0x58E4, 16560 }, + { 0x58D4, 16564 }, + { 0x58D5, 16568 }, + { 0x58B1, 16573 }, + { 0x58BB, 16577 }, + { 0x58B8, 16581 }, + { 0x58CA, 16585 }, + { 0x58B9, 16589 }, + { 0x58CE, 16593 }, + { 0x58DA, 16598 }, + { 0x58DB, 16602 }, + { 0x58D1, 16606 }, + { 0x58C9, 16610 }, + { 0x58D9, 16614 }, + { 0x58C4, 16618 }, + { 0x58C0, 16622 }, + { 0x5927, 16626 }, + { 0x5932, 16630 }, + { 0x590D, 16635 }, + { 0x591D, 16640 }, + { 0x58FC, 16644 }, + { 0x5916, 16649 }, + { 0x5903, 16653 }, + { 0x5943, 16657 }, + { 0x5944, 16662 }, + { 0x5923, 16667 }, + { 0x5928, 16671 }, + { 0x591F, 16675 }, + { 0x5910, 16679 }, + { 0x5947, 16683 }, + { 0x5937, 16687 }, + { 0x5946, 16691 }, + { 0x5918, 16695 }, + { 0x58F4, 16699 }, + { 0x58EA, 16704 }, + { 0x5949, 16708 }, + { 0x5948, 16712 }, + { 0x594A, 16716 }, + { 0x592B, 16720 }, + { 0x5933, 16724 }, + { 0x58EB, 16728 }, + { 0x591A, 16732 }, + { 0x58FA, 16736 }, + { 0x593C, 16740 }, + { 0x592F, 16744 }, + { 0x593D, 16749 }, + { 0x58F8, 16754 }, + { 0x5900, 16759 }, + { 0x58FE, 16763 }, + { 0x5940, 16767 }, + { 0x5941, 16771 }, + { 0x5931, 16775 }, + { 0x5934, 16779 }, + { 0x5945, 16783 }, + { 0x5924, 16787 }, + { 0x592A, 16791 }, + { 0x5929, 16795 }, + { 0x592D, 16799 }, + { 0x5930, 16803 }, + { 0x590E, 16807 }, + { 0x592E, 16811 }, + { 0x58F3, 16815 }, + { 0x5904, 16821 }, + { 0x5942, 16825 }, + { 0x5908, 16829 }, + { 0x590B, 16834 }, + { 0x5901, 16838 }, + { 0x58F2, 16842 }, + { 0x5925, 16846 }, + { 0x58F5, 16850 }, + { 0x593B, 16854 }, + { 0x5917, 16858 }, + { 0x5905, 16862 }, + { 0x58ED, 16866 }, + { 0x5915, 16870 }, + { 0x58EF, 16874 }, + { 0x58E9, 16878 }, + { 0x591E, 16883 }, + { 0x593F, 16887 }, + { 0x5907, 16891 }, + { 0x5919, 16895 }, + { 0x5921, 16899 }, + { 0x58FD, 16904 }, + { 0x5935, 16908 }, + { 0x5909, 16912 }, + { 0x593E, 16916 }, + { 0x58F0, 16920 }, + { 0x58FB, 16924 }, + { 0x5902, 16928 }, + { 0x5938, 16932 }, + { 0x5939, 16936 }, + { 0x591C, 16940 }, + { 0x5926, 16944 }, + { 0x58F7, 16948 }, + { 0x590F, 16952 }, + { 0x5922, 16956 }, + { 0x5936, 16960 }, + { 0x593A, 16964 }, + { 0x5912, 16968 }, + { 0x590A, 16972 }, + { 0x592C, 16977 }, + { 0x58FF, 16981 }, + { 0x58F6, 16985 }, + { 0x5906, 16989 }, + { 0x5914, 16993 }, + { 0x5920, 16997 }, + { 0x58F1, 17001 }, + { 0x5911, 17005 }, + { 0x590C, 17009 }, + { 0x5913, 17013 }, + { 0x591B, 17017 }, + { 0x58EC, 17021 }, + { 0x58EE, 17025 }, + { 0x58F9, 17029 }, + { 0x59AB, 17033 }, + { 0x59A3, 17037 }, + { 0x59AD, 17041 }, + { 0x59B5, 17045 }, + { 0x59B1, 17049 }, + { 0x59BB, 17053 }, + { 0x596B, 17057 }, + { 0x59BF, 17061 }, + { 0x595E, 17065 }, + { 0x5994, 17069 }, + { 0x5999, 17073 }, + { 0x598A, 17077 }, + { 0x59B9, 17081 }, + { 0x5978, 17085 }, + { 0x5977, 17089 }, + { 0x594D, 17093 }, + { 0x59A7, 17097 }, + { 0x598F, 17101 }, + { 0x59B4, 17105 }, + { 0x5987, 17109 }, + { 0x59B7, 17113 }, + { 0x59A4, 17117 }, + { 0x59BA, 17122 }, + { 0x59A8, 17127 }, + { 0x5961, 17131 }, + { 0x59BE, 17135 }, + { 0x59B2, 17139 }, + { 0x597E, 17143 }, + { 0x595D, 17147 }, + { 0x59AC, 17151 }, + { 0x59A5, 17155 }, + { 0x59A6, 17159 }, + { 0x594C, 17163 }, + { 0x5967, 17167 }, + { 0x596C, 17171 }, + { 0x5980, 17175 }, + { 0x5986, 17179 }, + { 0x5960, 17183 }, + { 0x59B0, 17187 }, + { 0x599E, 17191 }, + { 0x5950, 17195 }, + { 0x597A, 17199 }, + { 0x59BD, 17203 }, + { 0x594B, 17208 }, + { 0x5998, 17212 }, + { 0x5965, 17216 }, + { 0x594E, 17220 }, + { 0x5973, 17224 }, + { 0x59B8, 17228 }, + { 0x5991, 17232 }, + { 0x596F, 17236 }, + { 0x5972, 17240 }, + { 0x595C, 17244 }, + { 0x599A, 17248 }, + { 0x59B3, 17252 }, + { 0x59BC, 17256 }, + { 0x5954, 17260 }, + { 0x597C, 17264 }, + { 0x5989, 17268 }, + { 0x5975, 17272 }, + { 0x5981, 17276 }, + { 0x5957, 17280 }, + { 0x59AE, 17284 }, + { 0x59B6, 17288 }, + { 0x5993, 17292 }, + { 0x599B, 17296 }, + { 0x595A, 17300 }, + { 0x5997, 17304 }, + { 0x598E, 17308 }, + { 0x5990, 17312 }, + { 0x5969, 17316 }, + { 0x597B, 17321 }, + { 0x59A9, 17325 }, + { 0x59AA, 17329 }, + { 0x5962, 17333 }, + { 0x598C, 17337 }, + { 0x5963, 17341 }, + { 0x599D, 17345 }, + { 0x5958, 17349 }, + { 0x5956, 17353 }, + { 0x5951, 17357 }, + { 0x594F, 17361 }, + { 0x59A1, 17365 }, + { 0x5952, 17369 }, + { 0x59A0, 17373 }, + { 0x5992, 17377 }, + { 0x59AF, 17381 }, + { 0x5982, 17385 }, + { 0x5955, 17389 }, + { 0x597F, 17393 }, + { 0x59A2, 17397 }, + { 0x5971, 17401 }, + { 0x5984, 17405 }, + { 0x5974, 17409 }, + { 0x5976, 17413 }, + { 0x598B, 17417 }, + { 0x5995, 17421 }, + { 0x599F, 17425 }, + { 0x5996, 17429 }, + { 0x596D, 17433 }, + { 0x5979, 17437 }, + { 0x5985, 17441 }, + { 0x5988, 17445 }, + { 0x5966, 17449 }, + { 0x595B, 17453 }, + { 0x597D, 17457 }, + { 0x599C, 17461 }, + { 0x5964, 17465 }, + { 0x5970, 17469 }, + { 0x598D, 17473 }, + { 0x596A, 17477 }, + { 0x5968, 17481 }, + { 0x595F, 17485 }, + { 0x5953, 17489 }, + { 0x5983, 17493 }, + { 0x596E, 17497 }, + { 0x5959, 17501 }, + { 0x5A2F, 17505 }, + { 0x5A32, 17509 }, + { 0x5A31, 17513 }, + { 0x5A15, 17517 }, + { 0x5A22, 17521 }, + { 0x5A2C, 17526 }, + { 0x5A4F, 17531 }, + { 0x5A58, 17536 }, + { 0x5A53, 17540 }, + { 0x5A47, 17544 }, + { 0x5A55, 17548 }, + { 0x5A48, 17552 }, + { 0x5A50, 17556 }, + { 0x5A2B, 17560 }, + { 0x5A34, 17565 }, + { 0x5A51, 17570 }, + { 0x59F2, 17574 }, + { 0x59FA, 17578 }, + { 0x5A5B, 17582 }, + { 0x5A45, 17586 }, + { 0x5A2D, 17590 }, + { 0x5A0E, 17594 }, + { 0x5A11, 17598 }, + { 0x5A26, 17602 }, + { 0x59C3, 17606 }, + { 0x5A33, 17610 }, + { 0x59D5, 17614 }, + { 0x5A52, 17618 }, + { 0x5A12, 17622 }, + { 0x59E5, 17626 }, + { 0x5A56, 17630 }, + { 0x5A54, 17634 }, + { 0x5A59, 17638 }, + { 0x5A23, 17642 }, + { 0x5A1F, 17646 }, + { 0x5A4C, 17650 }, + { 0x5A1A, 17654 }, + { 0x5A07, 17659 }, + { 0x59C6, 17664 }, + { 0x5A43, 17668 }, + { 0x59EB, 17672 }, + { 0x5A4A, 17676 }, + { 0x59C8, 17680 }, + { 0x59DF, 17684 }, + { 0x59D0, 17688 }, + { 0x59EA, 17692 }, + { 0x5A4D, 17696 }, + { 0x59C7, 17700 }, + { 0x5A35, 17704 }, + { 0x59CC, 17708 }, + { 0x5A36, 17712 }, + { 0x5A5A, 17716 }, + { 0x5A57, 17720 }, + { 0x59D3, 17724 }, + { 0x5A30, 17728 }, + { 0x5A04, 17732 }, + { 0x5A46, 17736 }, + { 0x59C4, 17740 }, + { 0x5A44, 17744 }, + { 0x59CF, 17748 }, + { 0x5A06, 17752 }, + { 0x5A08, 17756 }, + { 0x5A3D, 17760 }, + { 0x5A3C, 17765 }, + { 0x5A3F, 17770 }, + { 0x5A3E, 17774 }, + { 0x5A1E, 17778 }, + { 0x5A03, 17782 }, + { 0x5A14, 17786 }, + { 0x5A5C, 17790 }, + { 0x5A40, 17794 }, + { 0x5A05, 17798 }, + { 0x59D4, 17802 }, + { 0x59F9, 17806 }, + { 0x59C5, 17810 }, + { 0x59E6, 17814 }, + { 0x59D8, 17818 }, + { 0x5A00, 17822 }, + { 0x59E1, 17826 }, + { 0x5A1D, 17830 }, + { 0x5A20, 17834 }, + { 0x5A37, 17838 }, + { 0x59EC, 17844 }, + { 0x59C0, 17849 }, + { 0x59E8, 17853 }, + { 0x59CA, 17857 }, + { 0x59CD, 17861 }, + { 0x59D7, 17865 }, + { 0x59DA, 17869 }, + { 0x5A2E, 17873 }, + { 0x5A42, 17877 }, + { 0x5A02, 17882 }, + { 0x5A28, 17886 }, + { 0x5A16, 17890 }, + { 0x5A01, 17894 }, + { 0x5A1B, 17898 }, + { 0x59D2, 17902 }, + { 0x59DE, 17906 }, + { 0x5A17, 17910 }, + { 0x5A41, 17914 }, + { 0x5A27, 17918 }, + { 0x5A1C, 17922 }, + { 0x59CB, 17926 }, + { 0x5A24, 17930 }, + { 0x5A49, 17934 }, + { 0x5A38, 17938 }, + { 0x5A4E, 17942 }, + { 0x59FB, 17946 }, + { 0x59E9, 17950 }, + { 0x59C1, 17955 }, + { 0x59F0, 17959 }, + { 0x59F8, 17963 }, + { 0x5A18, 17967 }, + { 0x5A39, 17971 }, + { 0x59EE, 17975 }, + { 0x5A0C, 17979 }, + { 0x5A0F, 17983 }, + { 0x59EF, 17987 }, + { 0x59E2, 17991 }, + { 0x59F4, 17995 }, + { 0x59CE, 17999 }, + { 0x59C2, 18003 }, + { 0x5A09, 18007 }, + { 0x59FF, 18011 }, + { 0x5A0A, 18015 }, + { 0x5A2A, 18019 }, + { 0x5A25, 18023 }, + { 0x5A10, 18027 }, + { 0x5A3A, 18031 }, + { 0x59DD, 18035 }, + { 0x59DB, 18039 }, + { 0x5A0B, 18043 }, + { 0x59F5, 18047 }, + { 0x59F3, 18051 }, + { 0x59F7, 18055 }, + { 0x59F1, 18059 }, + { 0x5A3B, 18063 }, + { 0x5A21, 18067 }, + { 0x5A0D, 18071 }, + { 0x59D9, 18075 }, + { 0x5A4B, 18079 }, + { 0x59D6, 18083 }, + { 0x59C9, 18087 }, + { 0x59DC, 18091 }, + { 0x59F6, 18095 }, + { 0x5A29, 18099 }, + { 0x59FC, 18103 }, + { 0x59E7, 18107 }, + { 0x5A19, 18111 }, + { 0x59E0, 18115 }, + { 0x5A13, 18119 }, + { 0x59E4, 18123 }, + { 0x59FE, 18127 }, + { 0x59FD, 18131 }, + { 0x59D1, 18135 }, + { 0x59E3, 18139 }, + { 0x59ED, 18143 }, + { 0x5A6B, 18148 }, + { 0x5A5E, 18152 }, + { 0x5A60, 18156 }, + { 0x5A5D, 18160 }, + { 0x5A89, 18164 }, + { 0x5A5F, 18168 }, + { 0x5A64, 18172 }, + { 0x5A87, 18176 }, + { 0x5A8C, 18180 }, + { 0x5A8D, 18184 }, + { 0x5A7E, 18188 }, + { 0x5A73, 18192 }, + { 0x5A7D, 18196 }, + { 0x5A6E, 18200 }, + { 0x5A86, 18204 }, + { 0x5A77, 18208 }, + { 0x5A85, 18212 }, + { 0x5A80, 18216 }, + { 0x5A71, 18220 }, + { 0x5A90, 18224 }, + { 0x5A88, 18228 }, + { 0x5A63, 18232 }, + { 0x5A7C, 18236 }, + { 0x5A61, 18240 }, + { 0x5A8B, 18244 }, + { 0x5A65, 18248 }, + { 0x5A83, 18252 }, + { 0x5A76, 18256 }, + { 0x5A6C, 18260 }, + { 0x5A68, 18264 }, + { 0x5A62, 18268 }, + { 0x5A8F, 18272 }, + { 0x5A7B, 18276 }, + { 0x5A75, 18280 }, + { 0x5A70, 18284 }, + { 0x5A8E, 18288 }, + { 0x5A8A, 18292 }, + { 0x5A69, 18296 }, + { 0x5A82, 18300 }, + { 0x5A78, 18304 }, + { 0x5A7A, 18308 }, + { 0x5A72, 18312 }, + { 0x5A79, 18316 }, + { 0x5A84, 18320 }, + { 0x5A7F, 18324 }, + { 0x5A66, 18328 }, + { 0x5A6F, 18332 }, + { 0x5A6D, 18336 }, + { 0x5A92, 18340 }, + { 0x5A67, 18344 }, + { 0x5A6A, 18348 }, + { 0x5A74, 18352 }, + { 0x5A91, 18356 }, + { 0x5A81, 18360 }, + { 0x3580, 18364 }, + { 0x3585, 18366 }, + { 0x357E, 18369 }, + { 0x357F, 18373 }, + { 0x3584, 18377 }, + { 0x5AE1, 18379 }, + { 0x5AD5, 18383 }, + { 0x5ADA, 18387 }, + { 0x5ADB, 18391 }, + { 0x5AD6, 18395 }, + { 0x5AD8, 18399 }, + { 0x5AD0, 18403 }, + { 0x5ACD, 18407 }, + { 0x5ACC, 18411 }, + { 0x5AD9, 18415 }, + { 0x5AC1, 18419 }, + { 0x5AC7, 18423 }, + { 0x5ABF, 18427 }, + { 0x5AD7, 18431 }, + { 0x5AD3, 18435 }, + { 0x5AC0, 18439 }, + { 0x5ACF, 18443 }, + { 0x5AD1, 18447 }, + { 0x5AC9, 18451 }, + { 0x5ACA, 18455 }, + { 0x5AC4, 18459 }, + { 0x5ACB, 18463 }, + { 0x5AC2, 18467 }, + { 0x5ACE, 18471 }, + { 0x5AC3, 18475 }, + { 0x5AC5, 18479 }, + { 0x5ABE, 18483 }, + { 0x5AC8, 18487 }, + { 0x5AC6, 18491 }, + { 0x5AD2, 18495 }, + { 0x5AD4, 18499 }, + { 0x5ADD, 18503 }, + { 0x5ADE, 18508 }, + { 0x5ADC, 18513 }, + { 0x5ADF, 18518 }, + { 0x5AE0, 18523 }, + { 0x180A, 18528 }, + { 0x180B, 18531 }, + { 0x180E, 18535 }, + { 0x1810, 18539 }, + { 0x1812, 18543 }, + { 0x1813, 18547 }, + { 0x180D, 18554 }, + { 0x180F, 18558 }, + { 0x1811, 18563 }, + { 0x180C, 18568 }, + { 0x17E4, 18573 }, + { 0x1808, 18576 }, + { 0x1809, 18579 }, + { 0x17E9, 18582 }, + { 0x1805, 18585 }, + { 0x17F5, 18588 }, + { 0x17F2, 18591 }, + { 0x17E6, 18594 }, + { 0x17F4, 18597 }, + { 0x1802, 18600 }, + { 0x17F8, 18603 }, + { 0x17ED, 18606 }, + { 0x17EB, 18609 }, + { 0x17F6, 18612 }, + { 0x17FC, 18615 }, + { 0x17EF, 18618 }, + { 0x17FF, 18621 }, + { 0x1807, 18624 }, + { 0x1806, 18627 }, + { 0x1801, 18630 }, + { 0x1804, 18633 }, + { 0x17EA, 18636 }, + { 0x17F1, 18640 }, + { 0x17FB, 18644 }, + { 0x17FA, 18648 }, + { 0x17E8, 18652 }, + { 0x17EE, 18656 }, + { 0x17FE, 18660 }, + { 0x17E5, 18664 }, + { 0x17F3, 18668 }, + { 0x17E7, 18672 }, + { 0x1803, 18676 }, + { 0x17F9, 18680 }, + { 0x17EC, 18684 }, + { 0x17F7, 18688 }, + { 0x17FD, 18692 }, + { 0x17F0, 18696 }, + { 0x1800, 18700 }, + { 0x1818, 18704 }, + { 0x181A, 18709 }, + { 0x181B, 18713 }, + { 0x1819, 18717 }, + { 0x1816, 18721 }, + { 0x1815, 18723 }, + { 0x1814, 18727 }, + { 0x1817, 18731 }, + { 0x6D11, 18733 }, + { 0x6CAC, 18736 }, + { 0x6EDD, 18738 }, + { 0x226C, 18743 }, + { 0x215A, 18745 }, + { 0x21BD, 18749 }, + { 0x6EDE, 18752 }, + { 0x21EB, 18757 }, + { 0x2280, 18759 }, + { 0x6EE5, 18763 }, + { 0x2232, 18768 }, + { 0x2174, 18772 }, + { 0x6ED7, 18776 }, + { 0x2212, 18781 }, + { 0x215F, 18784 }, + { 0x70A2, 18786 }, + { 0x70AD, 18789 }, + { 0x70B3, 18792 }, + { 0x2677, 18795 }, + { 0x70AE, 18799 }, + { 0x70B4, 18803 }, + { 0x21B4, 18807 }, + { 0x21B9, 18810 }, + { 0x21B6, 18813 }, + { 0x21B5, 18816 }, + { 0x21B7, 18819 }, + { 0x21B8, 18822 }, + { 0x2242, 18825 }, + { 0x6EDF, 18829 }, + { 0x21BF, 18831 }, + { 0x267E, 18834 }, + { 0x2675, 18837 }, + { 0x213D, 18840 }, + { 0x213C, 18844 }, + { 0x2175, 18848 }, + { 0x6ED8, 18852 }, + { 0x2171, 18857 }, + { 0x6EAC, 18860 }, + { 0x26AB, 18864 }, + { 0x2104, 18867 }, + { 0x2683, 18870 }, + { 0x2684, 18873 }, + { 0x21BA, 18876 }, + { 0x2239, 18879 }, + { 0x213E, 18881 }, + { 0x213F, 18885 }, + { 0x252D, 18889 }, + { 0x2286, 18891 }, + { 0x2129, 18895 }, + { 0x1F83, 18897 }, + { 0x21E3, 18901 }, + { 0x2547, 18907 }, + { 0x21E2, 18912 }, + { 0x2700, 18918 }, + { 0x2701, 18924 }, + { 0x26FE, 18930 }, + { 0x26FF, 18936 }, + { 0x2702, 18942 }, + { 0x2704, 18948 }, + { 0x2703, 18954 }, + { 0x2705, 18960 }, + { 0x6EFA, 18966 }, + { 0x2158, 18968 }, + { 0x70AF, 18972 }, + { 0x70B5, 18976 }, + { 0x2156, 18980 }, + { 0x267F, 18983 }, + { 0x2681, 18986 }, + { 0x1F7F, 18989 }, + { 0x2718, 18993 }, + { 0x1F80, 18998 }, + { 0x2719, 19002 }, + { 0x1F7D, 19007 }, + { 0x271A, 19011 }, + { 0x1F7E, 19016 }, + { 0x271B, 19020 }, + { 0x225A, 19025 }, + { 0x20FA, 19028 }, + { 0x1F82, 19030 }, + { 0x6E6D, 19034 }, + { 0x2713, 19037 }, + { 0x2120, 19040 }, + { 0x21C0, 19042 }, + { 0x2544, 19045 }, + { 0x22B0, 19050 }, + { 0x2714, 19055 }, + { 0x6C5D, 19058 }, + { 0x267C, 19060 }, + { 0x2545, 19062 }, + { 0x2717, 19064 }, + { 0x6D2D, 19066 }, + { 0x6EC3, 19068 }, + { 0x6D31, 19070 }, + { 0x2195, 19072 }, + { 0x2221, 19075 }, + { 0x2230, 19077 }, + { 0x26F3, 19082 }, + { 0x221C, 19086 }, + { 0x221D, 19089 }, + { 0x2299, 19092 }, + { 0x2679, 19094 }, + { 0x22AD, 19096 }, + { 0x225C, 19100 }, + { 0x709A, 19102 }, + { 0x70A3, 19106 }, + { 0x2688, 19110 }, + { 0x2108, 19113 }, + { 0x26F5, 19116 }, + { 0x2531, 19120 }, + { 0x1C00, 19122 }, + { 0x26F2, 19125 }, + { 0x2106, 19129 }, + { 0x2168, 19131 }, + { 0x6EBA, 19133 }, + { 0x21D5, 19136 }, + { 0x2686, 19140 }, + { 0x22FB, 19143 }, + { 0x1C01, 19146 }, + { 0x22FE, 19149 }, + { 0x26F4, 19152 }, + { 0x210E, 19156 }, + { 0x1F74, 19160 }, + { 0x210C, 19164 }, + { 0x7097, 19167 }, + { 0x2118, 19172 }, + { 0x1F75, 19176 }, + { 0x2116, 19180 }, + { 0x7099, 19183 }, + { 0x211C, 19188 }, + { 0x1F73, 19192 }, + { 0x1F77, 19196 }, + { 0x211E, 19203 }, + { 0x211A, 19206 }, + { 0x7096, 19209 }, + { 0x210A, 19214 }, + { 0x2112, 19216 }, + { 0x1F72, 19220 }, + { 0x1F76, 19224 }, + { 0x2114, 19231 }, + { 0x26AD, 19234 }, + { 0x2110, 19237 }, + { 0x1F78, 19240 }, + { 0x7098, 19247 }, + { 0x1FAA, 19252 }, + { 0x6E15, 19254 }, + { 0x6C99, 19255 }, + { 0x0297, 19256 }, + { 0x6DAB, 19257 }, + { 0x143D, 19260 }, + { 0x143E, 19264 }, + { 0x142B, 19268 }, + { 0x142C, 19271 }, + { 0x142D, 19274 }, + { 0x1435, 19277 }, + { 0x1432, 19280 }, + { 0x142F, 19283 }, + { 0x143C, 19286 }, + { 0x142E, 19289 }, + { 0x1439, 19292 }, + { 0x1436, 19295 }, + { 0x1433, 19298 }, + { 0x1434, 19301 }, + { 0x1438, 19304 }, + { 0x143B, 19307 }, + { 0x1431, 19310 }, + { 0x143A, 19313 }, + { 0x1437, 19316 }, + { 0x1430, 19319 }, + { 0x6DA0, 19322 }, + { 0x6CA7, 19325 }, + { 0x7021, 19326 }, + { 0x1BEC, 19327 }, + { 0x1BF5, 19328 }, + { 0x0286, 19331 }, + { 0x220D, 19332 }, + { 0x6E03, 19333 }, + { 0x6DF4, 19337 }, + { 0x6E04, 19344 }, + { 0x226D, 19348 }, + { 0x1F23, 19350 }, + { 0x6E8B, 19353 }, + { 0x6E90, 19357 }, + { 0x6E94, 19361 }, + { 0x6E8C, 19365 }, + { 0x6E8F, 19369 }, + { 0x6E8E, 19373 }, + { 0x6E93, 19377 }, + { 0x6E92, 19381 }, + { 0x6E91, 19385 }, + { 0x6E8D, 19389 }, + { 0x6E95, 19393 }, + { 0x6E96, 19397 }, + { 0x6E97, 19401 }, + { 0x6E9C, 19404 }, + { 0x6EA0, 19407 }, + { 0x6E98, 19410 }, + { 0x6E9B, 19413 }, + { 0x6E9A, 19416 }, + { 0x6E9F, 19419 }, + { 0x6E9E, 19422 }, + { 0x6E9D, 19425 }, + { 0x6E99, 19428 }, + { 0x6EA1, 19431 }, + { 0x6EA2, 19434 }, + { 0x1C04, 19437 }, + { 0x215B, 19439 }, + { 0x6C62, 19440 }, + { 0x6C63, 19443 }, + { 0x6C65, 19446 }, + { 0x6C64, 19449 }, + { 0x718F, 19452 }, + { 0x001A, 19454 }, + { 0x1C4E, 19455 }, + { 0x1DDD, 19457 }, + { 0x215E, 19459 }, + { 0x000C, 19460 }, + { 0x7006, 19461 }, + { 0x2182, 19464 }, + { 0x2183, 19467 }, + { 0x22A6, 19470 }, + { 0x6E7D, 19472 }, + { 0x6E7C, 19474 }, + { 0x6D8C, 19479 }, + { 0x230A, 19480 }, + { 0x1F33, 19482 }, + { 0x1E57, 19485 }, + { 0x1E58, 19488 }, + { 0x6C96, 19491 }, + { 0x1CC5, 19494 }, + { 0x6C9C, 19496 }, + { 0x1DE5, 19497 }, + { 0x0011, 19500 }, + { 0x1FE2, 19502 }, + { 0x6B44, 19506 }, + { 0x0016, 19509 }, + { 0x1FE7, 19511 }, + { 0x6B49, 19515 }, + { 0x0012, 19518 }, + { 0x1FE3, 19520 }, + { 0x6B45, 19524 }, + { 0x0015, 19527 }, + { 0x1FE6, 19529 }, + { 0x6B48, 19533 }, + { 0x0014, 19536 }, + { 0x1FE5, 19538 }, + { 0x6B47, 19542 }, + { 0x0019, 19545 }, + { 0x1FEA, 19547 }, + { 0x6B4C, 19551 }, + { 0x0010, 19554 }, + { 0x6B42, 19556 }, + { 0x6B43, 19560 }, + { 0x0018, 19563 }, + { 0x1FE9, 19565 }, + { 0x6B4B, 19569 }, + { 0x0017, 19572 }, + { 0x1FE8, 19574 }, + { 0x6B4A, 19578 }, + { 0x0013, 19581 }, + { 0x1FE4, 19583 }, + { 0x6B46, 19587 }, + { 0x2A90, 19590 }, + { 0x6F70, 19592 }, + { 0x6DE6, 19594 }, + { 0x6D92, 19596 }, + { 0x2234, 19597 }, + { 0x71C3, 19600 }, + { 0x219B, 19601 }, + { 0x6C49, 19602 }, + { 0x6C48, 19605 }, + { 0x6C4A, 19608 }, + { 0x1F63, 19611 }, + { 0x228D, 19613 }, + { 0x228E, 19616 }, + { 0x228F, 19620 }, + { 0x2291, 19624 }, + { 0x229B, 19629 }, + { 0x22A4, 19634 }, + { 0x1F58, 19638 }, + { 0x6D37, 19640 }, + { 0x6D38, 19644 }, + { 0x6D39, 19648 }, + { 0x6D3A, 19652 }, + { 0x6D36, 19656 }, + { 0x1D8E, 19660 }, + { 0x250E, 19662 }, + { 0x250D, 19668 }, + { 0x250C, 19674 }, + { 0x250B, 19680 }, + { 0x6F00, 19684 }, + { 0x6F02, 19686 }, + { 0x6F01, 19689 }, + { 0x6F07, 19692 }, + { 0x6F08, 19694 }, + { 0x6F06, 19696 }, + { 0x1F0F, 19698 }, + { 0x1DE6, 19700 }, + { 0x1E67, 19704 }, + { 0x1E68, 19708 }, + { 0x1E65, 19712 }, + { 0x1E66, 19716 }, + { 0x1E5E, 19720 }, + { 0x1EB4, 19724 }, + { 0x1EAF, 19728 }, + { 0x1C94, 19732 }, + { 0x2185, 19734 }, + { 0x224E, 19736 }, + { 0x6D0C, 19737 }, + { 0x71AA, 19742 }, + { 0x1C1B, 19745 }, + { 0x2197, 19748 }, + { 0x6C56, 19751 }, + { 0x6C4E, 19756 }, + { 0x6C3C, 19760 }, + { 0x6EF9, 19761 }, + { 0x6EF8, 19765 }, + { 0x6EF7, 19768 }, + { 0x6C9F, 19771 }, + { 0x1EAB, 19773 }, + { 0x6DB6, 19774 }, + { 0x1CC4, 19775 }, + { 0x7005, 19777 }, + { 0x71BA, 19779 }, + { 0x6C4B, 19782 }, + { 0x0040, 19785 }, + { 0x038C, 19787 }, + { 0x0340, 19790 }, + { 0x038D, 19793 }, + { 0x3FB2, 19796 }, + { 0x3FB3, 19800 }, + { 0x3FC8, 19806 }, + { 0x038B, 19810 }, + { 0x03B2, 19813 }, + { 0x03A7, 19818 }, + { 0x3FBA, 19821 }, + { 0x3FB4, 19825 }, + { 0x0386, 19829 }, + { 0x3FBD, 19832 }, + { 0x3FBC, 19836 }, + { 0x3FB9, 19840 }, + { 0x1BB2, 19843 }, + { 0x3FB6, 19845 }, + { 0x3FC7, 19848 }, + { 0x1BB3, 19851 }, + { 0x1B96, 19853 }, + { 0x1B95, 19857 }, + { 0x1B97, 19861 }, + { 0x03A6, 19865 }, + { 0x3FC0, 19868 }, + { 0x0334, 19871 }, + { 0x1B7B, 19875 }, + { 0x1B89, 19877 }, + { 0x1B88, 19881 }, + { 0x1B8A, 19885 }, + { 0x0339, 19889 }, + { 0x0372, 19895 }, + { 0x0373, 19899 }, + { 0x0376, 19903 }, + { 0x0374, 19907 }, + { 0x037D, 19911 }, + { 0x036D, 19915 }, + { 0x1B34, 19919 }, + { 0x1B80, 19925 }, + { 0x1AE8, 19933 }, + { 0x1AEC, 19939 }, + { 0x1B52, 19947 }, + { 0x1AEA, 19957 }, + { 0x1B50, 19965 }, + { 0x1AEE, 19975 }, + { 0x1B54, 19983 }, + { 0x1B4E, 19993 }, + { 0x1AE7, 20001 }, + { 0x1AEB, 20007 }, + { 0x1B51, 20015 }, + { 0x1AE9, 20025 }, + { 0x1B4F, 20033 }, + { 0x1AED, 20043 }, + { 0x1B53, 20051 }, + { 0x1B4D, 20061 }, + { 0x0364, 20069 }, + { 0x1B33, 20075 }, + { 0x1B7E, 20081 }, + { 0x1B81, 20089 }, + { 0x1B82, 20095 }, + { 0x1B7F, 20103 }, + { 0x037C, 20109 }, + { 0x037E, 20113 }, + { 0x0377, 20117 }, + { 0x1B9D, 20121 }, + { 0x1B9C, 20127 }, + { 0x03B1, 20133 }, + { 0x03AE, 20137 }, + { 0x037A, 20141 }, + { 0x0368, 20145 }, + { 0x0330, 20149 }, + { 0x036F, 20153 }, + { 0x1B36, 20157 }, + { 0x1AF8, 20163 }, + { 0x1AFC, 20169 }, + { 0x1AFA, 20177 }, + { 0x1AFE, 20185 }, + { 0x1AF7, 20193 }, + { 0x1AFB, 20199 }, + { 0x1AF9, 20207 }, + { 0x1AFD, 20215 }, + { 0x0365, 20223 }, + { 0x1B35, 20229 }, + { 0x1B8C, 20235 }, + { 0x1B8B, 20241 }, + { 0x0380, 20247 }, + { 0x1B8E, 20253 }, + { 0x0347, 20261 }, + { 0x1B8D, 20269 }, + { 0x1B90, 20277 }, + { 0x1B8F, 20285 }, + { 0x036C, 20291 }, + { 0x0367, 20295 }, + { 0x1B30, 20299 }, + { 0x1B71, 20305 }, + { 0x1ACC, 20313 }, + { 0x1AD0, 20319 }, + { 0x1B42, 20327 }, + { 0x1ACE, 20337 }, + { 0x1B40, 20345 }, + { 0x1AD2, 20355 }, + { 0x1B44, 20363 }, + { 0x1B3E, 20373 }, + { 0x1ACB, 20381 }, + { 0x1ACF, 20387 }, + { 0x1B41, 20395 }, + { 0x1ACD, 20405 }, + { 0x1B3F, 20413 }, + { 0x1AD1, 20423 }, + { 0x1B43, 20431 }, + { 0x1B3D, 20441 }, + { 0x0362, 20449 }, + { 0x1B2F, 20455 }, + { 0x1B6F, 20461 }, + { 0x1B6E, 20469 }, + { 0x1B6D, 20475 }, + { 0x1B72, 20481 }, + { 0x1B73, 20487 }, + { 0x1B70, 20495 }, + { 0x036A, 20501 }, + { 0x0378, 20505 }, + { 0x0369, 20510 }, + { 0x0370, 20514 }, + { 0x0395, 20518 }, + { 0x0371, 20522 }, + { 0x037F, 20526 }, + { 0x1B3C, 20530 }, + { 0x1BAA, 20536 }, + { 0x1B20, 20544 }, + { 0x1B24, 20550 }, + { 0x1B62, 20558 }, + { 0x1B22, 20568 }, + { 0x1B60, 20576 }, + { 0x1B26, 20586 }, + { 0x1B64, 20594 }, + { 0x1B5E, 20604 }, + { 0x1B1F, 20612 }, + { 0x1B23, 20618 }, + { 0x1B61, 20626 }, + { 0x1B21, 20636 }, + { 0x1B5F, 20644 }, + { 0x1B25, 20654 }, + { 0x1B63, 20662 }, + { 0x1B5D, 20672 }, + { 0x0384, 20680 }, + { 0x1B3B, 20686 }, + { 0x1BA8, 20692 }, + { 0x1BAB, 20700 }, + { 0x1BAC, 20706 }, + { 0x1BA9, 20714 }, + { 0x0397, 20720 }, + { 0x0379, 20724 }, + { 0x036E, 20728 }, + { 0x0391, 20732 }, + { 0x038F, 20736 }, + { 0x0332, 20741 }, + { 0x0393, 20746 }, + { 0x036B, 20750 }, + { 0x1B32, 20754 }, + { 0x1ADC, 20760 }, + { 0x1AE0, 20766 }, + { 0x1ADE, 20774 }, + { 0x1ADB, 20782 }, + { 0x1ADF, 20788 }, + { 0x1ADD, 20796 }, + { 0x0363, 20804 }, + { 0x1B31, 20810 }, + { 0x0375, 20816 }, + { 0x1B38, 20820 }, + { 0x1B08, 20826 }, + { 0x1B0C, 20832 }, + { 0x1B0A, 20840 }, + { 0x1B07, 20848 }, + { 0x1B0B, 20854 }, + { 0x1B09, 20862 }, + { 0x0382, 20870 }, + { 0x1B37, 20876 }, + { 0x037B, 20882 }, + { 0x1B3A, 20886 }, + { 0x1B14, 20892 }, + { 0x1B18, 20898 }, + { 0x1B16, 20906 }, + { 0x1B1A, 20914 }, + { 0x1B13, 20922 }, + { 0x1B17, 20928 }, + { 0x1B15, 20936 }, + { 0x1B19, 20944 }, + { 0x0383, 20952 }, + { 0x1B39, 20958 }, + { 0x1B99, 20964 }, + { 0x1B98, 20970 }, + { 0x0381, 20976 }, + { 0x1B9B, 20982 }, + { 0x0366, 20990 }, + { 0x1B9A, 20998 }, + { 0x1B9F, 21006 }, + { 0x1B9E, 21014 }, + { 0x0336, 21020 }, + { 0x033A, 21025 }, + { 0x0338, 21032 }, + { 0x0387, 21038 }, + { 0x3FBB, 21041 }, + { 0x3FB5, 21045 }, + { 0x033D, 21049 }, + { 0x1BA7, 21051 }, + { 0x614C, 21053 }, + { 0x614D, 21057 }, + { 0x614E, 21061 }, + { 0x614F, 21065 }, + { 0x6150, 21069 }, + { 0x6151, 21073 }, + { 0x6152, 21077 }, + { 0x6153, 21081 }, + { 0x6154, 21085 }, + { 0x6155, 21089 }, + { 0x6156, 21093 }, + { 0x6157, 21097 }, + { 0x6158, 21101 }, + { 0x6159, 21105 }, + { 0x615A, 21109 }, + { 0x615B, 21113 }, + { 0x615C, 21117 }, + { 0x615D, 21121 }, + { 0x615E, 21125 }, + { 0x615F, 21129 }, + { 0x6160, 21133 }, + { 0x6161, 21137 }, + { 0x6162, 21141 }, + { 0x6163, 21145 }, + { 0x6164, 21149 }, + { 0x6165, 21153 }, + { 0x6166, 21157 }, + { 0x6167, 21161 }, + { 0x6168, 21165 }, + { 0x3FC4, 21169 }, + { 0x3FC3, 21172 }, + { 0x3FC5, 21175 }, + { 0x03A9, 21178 }, + { 0x0394, 21181 }, + { 0x0396, 21184 }, + { 0x18F8, 21187 }, + { 0x18FA, 21192 }, + { 0x18F9, 21197 }, + { 0x18F6, 21202 }, + { 0x18F7, 21207 }, + { 0x3937, 21212 }, + { 0x0390, 21217 }, + { 0x038E, 21220 }, + { 0x0392, 21224 }, + { 0x03A8, 21227 }, + { 0x03AB, 21231 }, + { 0x3FC1, 21235 }, + { 0x3FD8, 21238 }, + { 0x3FB7, 21242 }, + { 0x3FC2, 21245 }, + { 0x0385, 21248 }, + { 0x03AA, 21252 }, + { 0x03B4, 21256 }, + { 0x0353, 21262 }, + { 0x0354, 21266 }, + { 0x0357, 21270 }, + { 0x0355, 21274 }, + { 0x035D, 21278 }, + { 0x034E, 21282 }, + { 0x1B86, 21286 }, + { 0x1AF0, 21292 }, + { 0x1AF4, 21298 }, + { 0x1B5A, 21306 }, + { 0x1AF2, 21316 }, + { 0x1B58, 21324 }, + { 0x1AF6, 21334 }, + { 0x1B5C, 21342 }, + { 0x1B56, 21352 }, + { 0x1AEF, 21360 }, + { 0x1AF3, 21366 }, + { 0x1B59, 21374 }, + { 0x1AF1, 21384 }, + { 0x1B57, 21392 }, + { 0x1AF5, 21402 }, + { 0x1B5B, 21410 }, + { 0x1B55, 21420 }, + { 0x0342, 21428 }, + { 0x1B85, 21434 }, + { 0x1B87, 21440 }, + { 0x035C, 21446 }, + { 0x035E, 21450 }, + { 0x0358, 21454 }, + { 0x1BA4, 21458 }, + { 0x03B0, 21464 }, + { 0x03AD, 21468 }, + { 0x035A, 21472 }, + { 0x033C, 21476 }, + { 0x0349, 21480 }, + { 0x032F, 21484 }, + { 0x0350, 21488 }, + { 0x1B94, 21492 }, + { 0x1B00, 21498 }, + { 0x1B04, 21504 }, + { 0x1B02, 21512 }, + { 0x1B06, 21520 }, + { 0x1AFF, 21528 }, + { 0x1B03, 21534 }, + { 0x1B01, 21542 }, + { 0x1B05, 21550 }, + { 0x0343, 21558 }, + { 0x1B93, 21564 }, + { 0x1B92, 21570 }, + { 0x1B91, 21576 }, + { 0x0360, 21582 }, + { 0x034D, 21588 }, + { 0x0348, 21592 }, + { 0x1B77, 21596 }, + { 0x1AD4, 21602 }, + { 0x1AD8, 21608 }, + { 0x1B4A, 21616 }, + { 0x1AD6, 21626 }, + { 0x1B48, 21634 }, + { 0x1ADA, 21644 }, + { 0x1B4C, 21652 }, + { 0x1B46, 21662 }, + { 0x1AD3, 21670 }, + { 0x1AD7, 21676 }, + { 0x1B49, 21684 }, + { 0x1AD5, 21694 }, + { 0x1B47, 21702 }, + { 0x1AD9, 21712 }, + { 0x1B4B, 21720 }, + { 0x1B45, 21730 }, + { 0x033F, 21738 }, + { 0x1B76, 21744 }, + { 0x1B75, 21750 }, + { 0x1B74, 21756 }, + { 0x1B78, 21762 }, + { 0x034B, 21768 }, + { 0x034A, 21772 }, + { 0x0351, 21776 }, + { 0x0352, 21780 }, + { 0x035F, 21784 }, + { 0x1BB0, 21788 }, + { 0x1B28, 21794 }, + { 0x1B2C, 21800 }, + { 0x1B6A, 21808 }, + { 0x1B2A, 21818 }, + { 0x1B68, 21826 }, + { 0x1B2E, 21836 }, + { 0x1B6C, 21844 }, + { 0x1B66, 21854 }, + { 0x1B27, 21862 }, + { 0x1B2B, 21868 }, + { 0x1B69, 21876 }, + { 0x1B29, 21886 }, + { 0x1B67, 21894 }, + { 0x1B2D, 21904 }, + { 0x1B6B, 21912 }, + { 0x1B65, 21922 }, + { 0x0346, 21930 }, + { 0x1BAF, 21936 }, + { 0x1BB1, 21942 }, + { 0x0359, 21948 }, + { 0x034F, 21952 }, + { 0x0331, 21956 }, + { 0x034C, 21961 }, + { 0x1B84, 21965 }, + { 0x1AE2, 21971 }, + { 0x1AE6, 21977 }, + { 0x1AE4, 21985 }, + { 0x1AE1, 21993 }, + { 0x1AE5, 21999 }, + { 0x1AE3, 22007 }, + { 0x0341, 22015 }, + { 0x1B83, 22021 }, + { 0x0356, 22027 }, + { 0x1BAE, 22031 }, + { 0x1B0E, 22037 }, + { 0x1B12, 22043 }, + { 0x1B10, 22051 }, + { 0x1B0D, 22059 }, + { 0x1B11, 22065 }, + { 0x1B0F, 22073 }, + { 0x0344, 22081 }, + { 0x1BAD, 22087 }, + { 0x035B, 22093 }, + { 0x1BA3, 22097 }, + { 0x1B1B, 22103 }, + { 0x1B1D, 22109 }, + { 0x1B1C, 22117 }, + { 0x1B1E, 22125 }, + { 0x0345, 22133 }, + { 0x1BA2, 22139 }, + { 0x1BA1, 22145 }, + { 0x1BA0, 22151 }, + { 0x0361, 22157 }, + { 0x0335, 22163 }, + { 0x03AF, 22168 }, + { 0x03B5, 22173 }, + { 0x03B3, 22180 }, + { 0x3FB8, 22186 }, + { 0x1B79, 22189 }, + { 0x3FBF, 22191 }, + { 0x6191, 22195 }, + { 0x0333, 22198 }, + { 0x0388, 22201 }, + { 0x0389, 22206 }, + { 0x038A, 22213 }, + { 0x3FBE, 22220 }, + { 0x033B, 22223 }, + { 0x03AC, 22226 }, + { 0x3FC9, 22231 }, + { 0x3FC6, 22234 }, + { 0x1BA6, 22238 }, + { 0x1BA5, 22242 }, + { 0x1B7D, 22246 }, + { 0x033E, 22250 }, + { 0x3FCA, 22253 }, + { 0x193A, 22256 }, + { 0x1939, 22261 }, + { 0x1938, 22266 }, + { 0x1936, 22271 }, + { 0x1937, 22276 }, + { 0x3F7E, 22281 }, + { 0x3F7F, 22286 }, + { 0x3F8F, 22291 }, + { 0x3F88, 22297 }, + { 0x3F7D, 22303 }, + { 0x3F91, 22308 }, + { 0x3F8A, 22314 }, + { 0x3F94, 22320 }, + { 0x3F8D, 22325 }, + { 0x3F86, 22330 }, + { 0x3F92, 22335 }, + { 0x3F80, 22341 }, + { 0x3F82, 22345 }, + { 0x3F90, 22350 }, + { 0x3F89, 22356 }, + { 0x3F8C, 22362 }, + { 0x3F85, 22367 }, + { 0x3F83, 22372 }, + { 0x3F8B, 22377 }, + { 0x3F81, 22383 }, + { 0x3F8E, 22387 }, + { 0x3F87, 22392 }, + { 0x3F84, 22397 }, + { 0x3F93, 22402 }, + { 0x3FAD, 22408 }, + { 0x3FB0, 22413 }, + { 0x3F95, 22418 }, + { 0x3F9A, 22423 }, + { 0x3FB1, 22428 }, + { 0x3F96, 22433 }, + { 0x3FA7, 22437 }, + { 0x3FAE, 22442 }, + { 0x3FA1, 22447 }, + { 0x3F99, 22451 }, + { 0x3FAB, 22455 }, + { 0x3FAF, 22460 }, + { 0x3FA6, 22465 }, + { 0x3FA8, 22469 }, + { 0x3FA2, 22474 }, + { 0x3FAC, 22478 }, + { 0x3FA0, 22483 }, + { 0x3F98, 22487 }, + { 0x3F9B, 22491 }, + { 0x3FA9, 22496 }, + { 0x3F97, 22501 }, + { 0x3F9F, 22505 }, + { 0x3FA5, 22509 }, + { 0x3F9D, 22513 }, + { 0x3F9E, 22517 }, + { 0x3F9C, 22523 }, + { 0x3FAA, 22527 }, + { 0x3FA3, 22532 }, + { 0x3FA4, 22536 }, + { 0x1B7C, 22542 }, + { 0x6169, 22544 }, + { 0x616A, 22548 }, + { 0x616B, 22552 }, + { 0x616C, 22556 }, + { 0x616D, 22560 }, + { 0x616E, 22564 }, + { 0x616F, 22568 }, + { 0x6170, 22572 }, + { 0x6171, 22576 }, + { 0x6172, 22580 }, + { 0x6173, 22584 }, + { 0x6174, 22588 }, + { 0x6175, 22592 }, + { 0x6176, 22596 }, + { 0x6177, 22600 }, + { 0x6178, 22604 }, + { 0x6179, 22608 }, + { 0x617A, 22612 }, + { 0x617B, 22616 }, + { 0x617C, 22620 }, + { 0x617D, 22624 }, + { 0x617E, 22628 }, + { 0x617F, 22632 }, + { 0x6180, 22636 }, + { 0x6181, 22640 }, + { 0x6182, 22644 }, + { 0x6183, 22648 }, + { 0x6184, 22652 }, + { 0x6185, 22656 }, + { 0x6186, 22660 }, + { 0x6187, 22664 }, + { 0x6188, 22668 }, + { 0x6189, 22672 }, + { 0x618A, 22676 }, + { 0x618B, 22680 }, + { 0x618C, 22684 }, + { 0x618D, 22688 }, + { 0x0337, 22692 }, + { 0x1B7A, 22694 }, + { 0x6E12, 22696 }, + { 0x6C8A, 22698 }, + { 0x6DD5, 22700 }, + { 0x71B6, 22702 }, + { 0x6F86, 22704 }, + { 0x6CCF, 22709 }, + { 0x6DD3, 22715 }, + { 0x6DD8, 22718 }, + { 0x6DDA, 22721 }, + { 0x22BA, 22723 }, + { 0x22B9, 22730 }, + { 0x70CE, 22737 }, + { 0x70E2, 22741 }, + { 0x70C8, 22746 }, + { 0x70E0, 22750 }, + { 0x227E, 22755 }, + { 0x2276, 22759 }, + { 0x26B0, 22763 }, + { 0x22EF, 22768 }, + { 0x716D, 22771 }, + { 0x716F, 22776 }, + { 0x7170, 22782 }, + { 0x716E, 22788 }, + { 0x22BE, 22794 }, + { 0x2300, 22797 }, + { 0x22FF, 22804 }, + { 0x226E, 22811 }, + { 0x70D4, 22814 }, + { 0x70E5, 22818 }, + { 0x70E7, 22823 }, + { 0x2292, 22828 }, + { 0x22A5, 22834 }, + { 0x2274, 22839 }, + { 0x22BD, 22842 }, + { 0x26AF, 22847 }, + { 0x6E82, 22850 }, + { 0x2307, 22853 }, + { 0x22F0, 22859 }, + { 0x22F4, 22862 }, + { 0x6FA1, 22866 }, + { 0x6F99, 22871 }, + { 0x6F9F, 22877 }, + { 0x6F97, 22882 }, + { 0x22F2, 22888 }, + { 0x6FA2, 22892 }, + { 0x6F9A, 22897 }, + { 0x6FA0, 22903 }, + { 0x6F98, 22908 }, + { 0x2308, 22914 }, + { 0x709D, 22920 }, + { 0x70A7, 22923 }, + { 0x2235, 22926 }, + { 0x2272, 22930 }, + { 0x26B2, 22933 }, + { 0x26B1, 22935 }, + { 0x223D, 22940 }, + { 0x22FA, 22948 }, + { 0x6DED, 22953 }, + { 0x22B8, 22956 }, + { 0x22B7, 22962 }, + { 0x6FAC, 22969 }, + { 0x22B6, 22974 }, + { 0x22B5, 22980 }, + { 0x70E9, 22987 }, + { 0x70EA, 22992 }, + { 0x22A0, 22997 }, + { 0x26B3, 23000 }, + { 0x70C2, 23003 }, + { 0x22A2, 23005 }, + { 0x7104, 23007 }, + { 0x7100, 23014 }, + { 0x228B, 23020 }, + { 0x22F1, 23022 }, + { 0x6FAE, 23025 }, + { 0x2288, 23030 }, + { 0x22B4, 23034 }, + { 0x6FAF, 23037 }, + { 0x7106, 23040 }, + { 0x7102, 23047 }, + { 0x7103, 23053 }, + { 0x70FF, 23060 }, + { 0x22F3, 23066 }, + { 0x7105, 23069 }, + { 0x7101, 23076 }, + { 0x6FB6, 23082 }, + { 0x22B1, 23086 }, + { 0x22BC, 23090 }, + { 0x6FB4, 23094 }, + { 0x22EE, 23097 }, + { 0x22F6, 23101 }, + { 0x2317, 23105 }, + { 0x22CA, 23109 }, + { 0x22C8, 23114 }, + { 0x2270, 23120 }, + { 0x22CB, 23123 }, + { 0x22C9, 23128 }, + { 0x2313, 23134 }, + { 0x2311, 23139 }, + { 0x2312, 23144 }, + { 0x2302, 23148 }, + { 0x2297, 23153 }, + { 0x229D, 23156 }, + { 0x22F8, 23160 }, + { 0x2315, 23164 }, + { 0x6E65, 23168 }, + { 0x6CAA, 23169 }, + { 0x6D49, 23171 }, + { 0x6D6F, 23172 }, + { 0x6D02, 23174 }, + { 0x6D23, 23176 }, + { 0x1E8B, 23177 }, + { 0x6D1C, 23178 }, + { 0x6D1B, 23181 }, + { 0x6D13, 23183 }, + { 0x1E40, 23185 }, + { 0x1DDC, 23187 }, + { 0x6E20, 23193 }, + { 0x6E5C, 23195 }, + { 0x6E5B, 23201 }, + { 0x6E5F, 23207 }, + { 0x6E5D, 23212 }, + { 0x6E5E, 23216 }, + { 0x6D91, 23220 }, + { 0x6E86, 23221 }, + { 0x3752, 23222 }, + { 0x3753, 23226 }, + { 0x3750, 23230 }, + { 0x3751, 23234 }, + { 0x374F, 23239 }, + { 0x3725, 23243 }, + { 0x372A, 23247 }, + { 0x3726, 23251 }, + { 0x3729, 23255 }, + { 0x3728, 23259 }, + { 0x372D, 23263 }, + { 0x3724, 23267 }, + { 0x372C, 23271 }, + { 0x372B, 23275 }, + { 0x3727, 23279 }, + { 0x374B, 23283 }, + { 0x374E, 23287 }, + { 0x374C, 23291 }, + { 0x374D, 23295 }, + { 0x374A, 23299 }, + { 0x3746, 23303 }, + { 0x3748, 23307 }, + { 0x373D, 23311 }, + { 0x3745, 23315 }, + { 0x373C, 23319 }, + { 0x3730, 23323 }, + { 0x3743, 23327 }, + { 0x372E, 23331 }, + { 0x3740, 23335 }, + { 0x373B, 23339 }, + { 0x3738, 23343 }, + { 0x3747, 23347 }, + { 0x3749, 23351 }, + { 0x3739, 23355 }, + { 0x373E, 23359 }, + { 0x3732, 23363 }, + { 0x3736, 23367 }, + { 0x3744, 23371 }, + { 0x3741, 23375 }, + { 0x373F, 23379 }, + { 0x3734, 23383 }, + { 0x3737, 23387 }, + { 0x372F, 23391 }, + { 0x3731, 23395 }, + { 0x3735, 23399 }, + { 0x373A, 23403 }, + { 0x3733, 23407 }, + { 0x3742, 23411 }, + { 0x14A8, 23415 }, + { 0x14A5, 23419 }, + { 0x14A0, 23422 }, + { 0x14A3, 23425 }, + { 0x149D, 23428 }, + { 0x149C, 23431 }, + { 0x14A9, 23434 }, + { 0x14A7, 23437 }, + { 0x14AA, 23442 }, + { 0x14A1, 23446 }, + { 0x14A2, 23450 }, + { 0x149F, 23453 }, + { 0x14AB, 23456 }, + { 0x1497, 23459 }, + { 0x1498, 23462 }, + { 0x149B, 23465 }, + { 0x14AE, 23468 }, + { 0x14A6, 23471 }, + { 0x14A4, 23474 }, + { 0x149A, 23477 }, + { 0x149E, 23480 }, + { 0x14AD, 23483 }, + { 0x1499, 23486 }, + { 0x14B0, 23489 }, + { 0x14B5, 23492 }, + { 0x14B1, 23495 }, + { 0x14B4, 23498 }, + { 0x14B3, 23501 }, + { 0x14B8, 23504 }, + { 0x14AF, 23507 }, + { 0x14B7, 23510 }, + { 0x14B6, 23513 }, + { 0x14B2, 23516 }, + { 0x1492, 23519 }, + { 0x1488, 23523 }, + { 0x148C, 23527 }, + { 0x148A, 23531 }, + { 0x1487, 23535 }, + { 0x1493, 23539 }, + { 0x1494, 23543 }, + { 0x1496, 23547 }, + { 0x1491, 23551 }, + { 0x1489, 23555 }, + { 0x148F, 23559 }, + { 0x1495, 23563 }, + { 0x148E, 23567 }, + { 0x148D, 23571 }, + { 0x1490, 23575 }, + { 0x148B, 23579 }, + { 0x1486, 23583 }, + { 0x1485, 23587 }, + { 0x1465, 23591 }, + { 0x1456, 23594 }, + { 0x1458, 23597 }, + { 0x145B, 23600 }, + { 0x145D, 23603 }, + { 0x1471, 23606 }, + { 0x1451, 23609 }, + { 0x1453, 23612 }, + { 0x1472, 23615 }, + { 0x146C, 23618 }, + { 0x1469, 23621 }, + { 0x1464, 23624 }, + { 0x1467, 23627 }, + { 0x1473, 23630 }, + { 0x146B, 23633 }, + { 0x1470, 23636 }, + { 0x1460, 23639 }, + { 0x1462, 23642 }, + { 0x146D, 23645 }, + { 0x146A, 23648 }, + { 0x1457, 23651 }, + { 0x1459, 23654 }, + { 0x1452, 23657 }, + { 0x1454, 23660 }, + { 0x1455, 23663 }, + { 0x145F, 23666 }, + { 0x145A, 23669 }, + { 0x1466, 23672 }, + { 0x1468, 23675 }, + { 0x146E, 23678 }, + { 0x146F, 23681 }, + { 0x1461, 23684 }, + { 0x1463, 23687 }, + { 0x145C, 23690 }, + { 0x145E, 23693 }, + { 0x1672, 23696 }, + { 0x1662, 23700 }, + { 0x1679, 23704 }, + { 0x1669, 23708 }, + { 0x14BC, 23712 }, + { 0x14BB, 23717 }, + { 0x14B9, 23722 }, + { 0x14BD, 23727 }, + { 0x14BA, 23732 }, + { 0x14BE, 23737 }, + { 0x14C1, 23742 }, + { 0x14C0, 23747 }, + { 0x14C2, 23752 }, + { 0x14BF, 23757 }, + { 0x1671, 23762 }, + { 0x1661, 23766 }, + { 0x1673, 23770 }, + { 0x1663, 23774 }, + { 0x1670, 23778 }, + { 0x1660, 23782 }, + { 0x1674, 23786 }, + { 0x1664, 23790 }, + { 0x167C, 23794 }, + { 0x166C, 23798 }, + { 0x167B, 23802 }, + { 0x166B, 23806 }, + { 0x167D, 23810 }, + { 0x166D, 23814 }, + { 0x167A, 23818 }, + { 0x166A, 23822 }, + { 0x167E, 23826 }, + { 0x166E, 23830 }, + { 0x1677, 23834 }, + { 0x1667, 23838 }, + { 0x1676, 23842 }, + { 0x1666, 23846 }, + { 0x1678, 23850 }, + { 0x1668, 23854 }, + { 0x1675, 23858 }, + { 0x1665, 23862 }, + { 0x166F, 23866 }, + { 0x165F, 23869 }, + { 0x14AC, 23872 }, + { 0x147E, 23876 }, + { 0x1480, 23880 }, + { 0x1476, 23884 }, + { 0x1478, 23888 }, + { 0x147C, 23892 }, + { 0x147F, 23896 }, + { 0x1475, 23900 }, + { 0x1481, 23904 }, + { 0x1474, 23908 }, + { 0x1484, 23912 }, + { 0x1477, 23916 }, + { 0x1482, 23920 }, + { 0x1483, 23926 }, + { 0x1479, 23932 }, + { 0x147A, 23936 }, + { 0x147D, 23940 }, + { 0x147B, 23944 }, + { 0x6D63, 23948 }, + { 0x6D32, 23949 }, + { 0x2332, 23950 }, + { 0x4626, 23953 }, + { 0x4628, 23960 }, + { 0x6E6F, 23967 }, + { 0x4625, 23970 }, + { 0x4627, 23977 }, + { 0x6E70, 23984 }, + { 0x6E72, 23987 }, + { 0x2333, 23990 }, + { 0x2578, 23993 }, + { 0x2149, 23997 }, + { 0x6E71, 23999 }, + { 0x2656, 24002 }, + { 0x2277, 24007 }, + { 0x0041, 24009 }, + { 0x01E6, 24013 }, + { 0x01A0, 24020 }, + { 0x1A6C, 24029 }, + { 0x1A6E, 24036 }, + { 0x00A4, 24043 }, + { 0x01BA, 24050 }, + { 0x19CC, 24059 }, + { 0x00A0, 24066 }, + { 0x00C2, 24072 }, + { 0x1A82, 24078 }, + { 0x1A7E, 24087 }, + { 0x1A7A, 24096 }, + { 0x1A7C, 24104 }, + { 0x1A80, 24112 }, + { 0x018D, 24120 }, + { 0x009F, 24126 }, + { 0x1A65, 24132 }, + { 0x00A2, 24140 }, + { 0x01C0, 24146 }, + { 0x00C0, 24153 }, + { 0x00C4, 24159 }, + { 0x278B, 24165 }, + { 0x01C2, 24171 }, + { 0x00A3, 24178 }, + { 0x019E, 24184 }, + { 0x195F, 24192 }, + { 0x00A1, 24199 }, + { 0x1A78, 24205 }, + { 0x1A74, 24214 }, + { 0x1A70, 24223 }, + { 0x1A72, 24231 }, + { 0x1A76, 24239 }, + { 0x3903, 24247 }, + { 0x0042, 24252 }, + { 0x19CE, 24256 }, + { 0x19D0, 24263 }, + { 0x0212, 24270 }, + { 0x19D2, 24276 }, + { 0x193C, 24283 }, + { 0x013F, 24290 }, + { 0x0142, 24296 }, + { 0x1950, 24302 }, + { 0x361D, 24309 }, + { 0x0043, 24315 }, + { 0x3619, 24319 }, + { 0x00CA, 24325 }, + { 0x0214, 24332 }, + { 0x0147, 24338 }, + { 0x00C6, 24344 }, + { 0x00CC, 24350 }, + { 0x01FB, 24356 }, + { 0x00A6, 24362 }, + { 0x19D4, 24368 }, + { 0x361A, 24376 }, + { 0x00C8, 24383 }, + { 0x0044, 24389 }, + { 0x19D6, 24393 }, + { 0x19D8, 24400 }, + { 0x01E0, 24407 }, + { 0x0216, 24413 }, + { 0x1961, 24419 }, + { 0x19DA, 24427 }, + { 0x0215, 24434 }, + { 0x00CE, 24440 }, + { 0x193D, 24446 }, + { 0x00D0, 24453 }, + { 0x014B, 24459 }, + { 0x19DC, 24465 }, + { 0x1951, 24471 }, + { 0x19DE, 24478 }, + { 0x0045, 24485 }, + { 0x00D6, 24489 }, + { 0x1A84, 24496 }, + { 0x1A86, 24503 }, + { 0x00A8, 24510 }, + { 0x00D4, 24516 }, + { 0x00DA, 24522 }, + { 0x00A7, 24528 }, + { 0x279E, 24534 }, + { 0x1A88, 24540 }, + { 0x19E6, 24546 }, + { 0x01C4, 24553 }, + { 0x00D2, 24560 }, + { 0x19E2, 24566 }, + { 0x19E0, 24574 }, + { 0x00D8, 24582 }, + { 0x0206, 24588 }, + { 0x01E8, 24594 }, + { 0x19E8, 24600 }, + { 0x3906, 24608 }, + { 0x01C6, 24614 }, + { 0x00AA, 24621 }, + { 0x1962, 24627 }, + { 0x00A9, 24634 }, + { 0x1A92, 24640 }, + { 0x1A8E, 24649 }, + { 0x1A8A, 24658 }, + { 0x1A8C, 24666 }, + { 0x1A90, 24674 }, + { 0x19E4, 24682 }, + { 0x0046, 24689 }, + { 0x19EA, 24693 }, + { 0x0151, 24700 }, + { 0x193E, 24706 }, + { 0x361F, 24713 }, + { 0x1952, 24719 }, + { 0x0047, 24726 }, + { 0x00E0, 24730 }, + { 0x021F, 24737 }, + { 0x01B4, 24743 }, + { 0x00DE, 24749 }, + { 0x01A6, 24755 }, + { 0x19EC, 24761 }, + { 0x01A4, 24767 }, + { 0x00E2, 24773 }, + { 0x3627, 24779 }, + { 0x1953, 24786 }, + { 0x00DC, 24793 }, + { 0x0048, 24799 }, + { 0x19EE, 24803 }, + { 0x19F0, 24810 }, + { 0x0225, 24817 }, + { 0x1A61, 24823 }, + { 0x19F6, 24830 }, + { 0x01DE, 24837 }, + { 0x00E6, 24843 }, + { 0x19F4, 24849 }, + { 0x361B, 24855 }, + { 0x278E, 24862 }, + { 0x19F2, 24868 }, + { 0x00E4, 24874 }, + { 0x0049, 24880 }, + { 0x1A96, 24884 }, + { 0x1A94, 24891 }, + { 0x00AC, 24898 }, + { 0x00EC, 24904 }, + { 0x018F, 24910 }, + { 0x00AB, 24916 }, + { 0x00E8, 24922 }, + { 0x19F8, 24928 }, + { 0x01C8, 24935 }, + { 0x00EA, 24942 }, + { 0x00EE, 24948 }, + { 0x0227, 24954 }, + { 0x01CA, 24960 }, + { 0x00AE, 24967 }, + { 0x19FA, 24973 }, + { 0x1966, 24981 }, + { 0x00AD, 24988 }, + { 0x004A, 24994 }, + { 0x01AF, 24998 }, + { 0x0208, 25004 }, + { 0x00F4, 25010 }, + { 0x025C, 25016 }, + { 0x004B, 25022 }, + { 0x19FE, 25026 }, + { 0x0158, 25033 }, + { 0x1A00, 25039 }, + { 0x19FC, 25046 }, + { 0x01A8, 25052 }, + { 0x35C7, 25058 }, + { 0x35CB, 25064 }, + { 0x00F6, 25073 }, + { 0x3629, 25079 }, + { 0x1954, 25086 }, + { 0x35C9, 25093 }, + { 0x2790, 25100 }, + { 0x004C, 25106 }, + { 0x0159, 25110 }, + { 0x1A02, 25116 }, + { 0x1A04, 25123 }, + { 0x022B, 25132 }, + { 0x01F3, 25138 }, + { 0x35CF, 25144 }, + { 0x1A06, 25151 }, + { 0x00F9, 25158 }, + { 0x00FD, 25164 }, + { 0x2787, 25170 }, + { 0x390A, 25177 }, + { 0x00FF, 25185 }, + { 0x390B, 25192 }, + { 0x022A, 25199 }, + { 0x0101, 25206 }, + { 0x00FB, 25212 }, + { 0x1955, 25218 }, + { 0x3909, 25225 }, + { 0x022C, 25233 }, + { 0x3614, 25240 }, + { 0x1A08, 25249 }, + { 0x004D, 25256 }, + { 0x1A0C, 25260 }, + { 0x1A0E, 25267 }, + { 0x0230, 25274 }, + { 0x1A0A, 25280 }, + { 0x193F, 25286 }, + { 0x1956, 25293 }, + { 0x390C, 25300 }, + { 0x004E, 25306 }, + { 0x1A10, 25310 }, + { 0x1A12, 25317 }, + { 0x01F4, 25324 }, + { 0x0231, 25330 }, + { 0x1A14, 25337 }, + { 0x015D, 25344 }, + { 0x0103, 25352 }, + { 0x0107, 25358 }, + { 0x01B8, 25364 }, + { 0x00B0, 25370 }, + { 0x1940, 25376 }, + { 0x0105, 25383 }, + { 0x362B, 25389 }, + { 0x1957, 25396 }, + { 0x3617, 25403 }, + { 0x0232, 25409 }, + { 0x1A16, 25416 }, + { 0x390D, 25423 }, + { 0x0108, 25429 }, + { 0x004F, 25436 }, + { 0x01EE, 25440 }, + { 0x01F0, 25447 }, + { 0x1A98, 25456 }, + { 0x27A0, 25463 }, + { 0x1A9A, 25471 }, + { 0x0160, 25478 }, + { 0x1AAE, 25484 }, + { 0x1AAA, 25493 }, + { 0x1AA6, 25502 }, + { 0x1AA8, 25510 }, + { 0x1AAC, 25518 }, + { 0x35D1, 25526 }, + { 0x35D3, 25534 }, + { 0x00B2, 25540 }, + { 0x010E, 25546 }, + { 0x0191, 25552 }, + { 0x00B1, 25558 }, + { 0x00B4, 25564 }, + { 0x1A18, 25570 }, + { 0x01EC, 25578 }, + { 0x1A1A, 25586 }, + { 0x0110, 25594 }, + { 0x01CC, 25601 }, + { 0x010C, 25608 }, + { 0x1A1E, 25614 }, + { 0x1A1C, 25622 }, + { 0x01AA, 25630 }, + { 0x01AC, 25636 }, + { 0x00B7, 25644 }, + { 0x01BE, 25650 }, + { 0x01CE, 25658 }, + { 0x00B5, 25665 }, + { 0x01EA, 25671 }, + { 0x00B3, 25679 }, + { 0x1AA4, 25685 }, + { 0x1AA0, 25694 }, + { 0x1A9C, 25703 }, + { 0x1A9E, 25711 }, + { 0x1AA2, 25719 }, + { 0x0050, 25727 }, + { 0x1A22, 25731 }, + { 0x0164, 25738 }, + { 0x1A20, 25744 }, + { 0x1941, 25750 }, + { 0x194D, 25757 }, + { 0x35D7, 25763 }, + { 0x1958, 25771 }, + { 0x35D9, 25778 }, + { 0x35DB, 25784 }, + { 0x0051, 25791 }, + { 0x025F, 25795 }, + { 0x020A, 25801 }, + { 0x35DD, 25808 }, + { 0x35DF, 25816 }, + { 0x0052, 25823 }, + { 0x1A24, 25827 }, + { 0x1A26, 25834 }, + { 0x1A28, 25841 }, + { 0x1A2A, 25850 }, + { 0x023B, 25857 }, + { 0x023C, 25864 }, + { 0x0114, 25870 }, + { 0x0118, 25876 }, + { 0x01D0, 25882 }, + { 0x1942, 25889 }, + { 0x020C, 25896 }, + { 0x0116, 25902 }, + { 0x362D, 25908 }, + { 0x1959, 25915 }, + { 0x023D, 25922 }, + { 0x1943, 25928 }, + { 0x01D2, 25937 }, + { 0x391B, 25944 }, + { 0x35E1, 25950 }, + { 0x3919, 25955 }, + { 0x0053, 25961 }, + { 0x1A2C, 25965 }, + { 0x1A2E, 25972 }, + { 0x1A34, 25979 }, + { 0x0241, 25989 }, + { 0x011A, 25995 }, + { 0x1A30, 26001 }, + { 0x0120, 26010 }, + { 0x1A32, 26016 }, + { 0x01D8, 26025 }, + { 0x01FE, 26032 }, + { 0x1944, 26039 }, + { 0x011E, 26046 }, + { 0x362F, 26052 }, + { 0x195A, 26059 }, + { 0x011C, 26066 }, + { 0x0054, 26072 }, + { 0x1A36, 26076 }, + { 0x1A38, 26083 }, + { 0x01F5, 26090 }, + { 0x016C, 26096 }, + { 0x1A3A, 26102 }, + { 0x0124, 26109 }, + { 0x01DA, 26115 }, + { 0x1945, 26122 }, + { 0x0126, 26129 }, + { 0x0122, 26135 }, + { 0x016A, 26141 }, + { 0x278C, 26148 }, + { 0x1A62, 26155 }, + { 0x0247, 26161 }, + { 0x1A3C, 26168 }, + { 0x0055, 26175 }, + { 0x0248, 26179 }, + { 0x3921, 26184 }, + { 0x1AB0, 26193 }, + { 0x1AB2, 26200 }, + { 0x016F, 26207 }, + { 0x1ABC, 26213 }, + { 0x1AB8, 26222 }, + { 0x1AB4, 26231 }, + { 0x1AB6, 26239 }, + { 0x1ABA, 26247 }, + { 0x3924, 26255 }, + { 0x012E, 26262 }, + { 0x00B9, 26269 }, + { 0x012C, 26275 }, + { 0x0193, 26281 }, + { 0x00B8, 26287 }, + { 0x3920, 26293 }, + { 0x0128, 26301 }, + { 0x1A44, 26307 }, + { 0x1A40, 26315 }, + { 0x0130, 26322 }, + { 0x01D4, 26329 }, + { 0x012A, 26336 }, + { 0x1A46, 26342 }, + { 0x0132, 26350 }, + { 0x01D6, 26356 }, + { 0x00BB, 26363 }, + { 0x0197, 26369 }, + { 0x0199, 26377 }, + { 0x019B, 26385 }, + { 0x0195, 26393 }, + { 0x1A3E, 26401 }, + { 0x1969, 26408 }, + { 0x00BA, 26415 }, + { 0x1A42, 26421 }, + { 0x0056, 26428 }, + { 0x1A4A, 26432 }, + { 0x279A, 26439 }, + { 0x024A, 26445 }, + { 0x2797, 26451 }, + { 0x1A48, 26458 }, + { 0x195C, 26464 }, + { 0x35E5, 26471 }, + { 0x0057, 26478 }, + { 0x1A52, 26482 }, + { 0x1A54, 26489 }, + { 0x2799, 26496 }, + { 0x1A63, 26502 }, + { 0x1A4E, 26509 }, + { 0x1A4C, 26515 }, + { 0x1A50, 26521 }, + { 0x0134, 26527 }, + { 0x0058, 26533 }, + { 0x1A56, 26537 }, + { 0x3928, 26544 }, + { 0x3929, 26552 }, + { 0x392A, 26560 }, + { 0x392B, 26572 }, + { 0x195D, 26582 }, + { 0x1A58, 26589 }, + { 0x0059, 26595 }, + { 0x1A5A, 26599 }, + { 0x1AC0, 26606 }, + { 0x0173, 26613 }, + { 0x1AC2, 26619 }, + { 0x1ACA, 26626 }, + { 0x1A64, 26632 }, + { 0x00BC, 26639 }, + { 0x1ABE, 26645 }, + { 0x392C, 26651 }, + { 0x1AC4, 26659 }, + { 0x01F2, 26665 }, + { 0x020E, 26671 }, + { 0x00BE, 26677 }, + { 0x0136, 26683 }, + { 0x005A, 26689 }, + { 0x013B, 26693 }, + { 0x1A5E, 26700 }, + { 0x0250, 26707 }, + { 0x01E4, 26713 }, + { 0x1A60, 26719 }, + { 0x0139, 26726 }, + { 0x013D, 26732 }, + { 0x01FF, 26738 }, + { 0x1946, 26745 }, + { 0x0175, 26752 }, + { 0x195E, 26758 }, + { 0x2792, 26765 }, + { 0x024F, 26771 }, + { 0x1A5C, 26778 }, + { 0x35B9, 26784 }, + { 0x00A5, 26788 }, + { 0x01BC, 26792 }, + { 0x01A2, 26798 }, + { 0x35BB, 26804 }, + { 0x35BD, 26808 }, + { 0x35BF, 26812 }, + { 0x35C1, 26816 }, + { 0x35C3, 26823 }, + { 0x01F7, 26827 }, + { 0x01B2, 26832 }, + { 0x0185, 26836 }, + { 0x0262, 26842 }, + { 0x0264, 26847 }, + { 0x35F1, 26854 }, + { 0x0154, 26858 }, + { 0x35F3, 26862 }, + { 0x0188, 26866 }, + { 0x0269, 26870 }, + { 0x026A, 26875 }, + { 0x018B, 26880 }, + { 0x0162, 26884 }, + { 0x35D5, 26888 }, + { 0x01E2, 26892 }, + { 0x01F8, 26896 }, + { 0x0267, 26901 }, + { 0x194A, 26908 }, + { 0x0265, 26914 }, + { 0x35AF, 26919 }, + { 0x193B, 26923 }, + { 0x3922, 26927 }, + { 0x35FE, 26931 }, + { 0x3935, 26935 }, + { 0x35E7, 26939 }, + { 0x3925, 26943 }, + { 0x3927, 26947 }, + { 0x3926, 26955 }, + { 0x35F5, 26963 }, + { 0x35F7, 26967 }, + { 0x010A, 26971 }, + { 0x390E, 26975 }, + { 0x0242, 26981 }, + { 0x0245, 26985 }, + { 0x195B, 26991 }, + { 0x1968, 26998 }, + { 0x00AF, 27005 }, + { 0x0251, 27009 }, + { 0x0252, 27013 }, + { 0x0179, 27019 }, + { 0x01AE, 27025 }, + { 0x196A, 27031 }, + { 0x0178, 27038 }, + { 0x0162, 27043 }, + { 0x00F7, 27047 }, + { 0x35F8, 27051 }, + { 0x35F9, 27055 }, + { 0x35FA, 27059 }, + { 0x0237, 27063 }, + { 0x35FB, 27067 }, + { 0x35E3, 27071 }, + { 0x18E6, 27076 }, + { 0x35FD, 27082 }, + { 0x363A, 27086 }, + { 0x0263, 27090 }, + { 0x0268, 27095 }, + { 0x279C, 27100 }, + { 0x35AD, 27105 }, + { 0x0226, 27109 }, + { 0x0228, 27115 }, + { 0x194C, 27119 }, + { 0x022D, 27125 }, + { 0x013E, 27129 }, + { 0x1A66, 27134 }, + { 0x1A68, 27142 }, + { 0x1A67, 27150 }, + { 0x021A, 27158 }, + { 0x1963, 27163 }, + { 0x0213, 27171 }, + { 0x3911, 27176 }, + { 0x1967, 27183 }, + { 0x3934, 27191 }, + { 0x0223, 27196 }, + { 0x0266, 27201 }, + { 0x0144, 27206 }, + { 0x0167, 27211 }, + { 0x017C, 27216 }, + { 0x35EF, 27221 }, + { 0x01DC, 27225 }, + { 0x0210, 27229 }, + { 0x1960, 27233 }, + { 0x1A6A, 27240 }, + { 0x0222, 27244 }, + { 0x3907, 27248 }, + { 0x363C, 27253 }, + { 0x3932, 27257 }, + { 0x0218, 27262 }, + { 0x0219, 27266 }, + { 0x1965, 27272 }, + { 0x009E, 27279 }, + { 0x0244, 27284 }, + { 0x00BD, 27290 }, + { 0x35EB, 27294 }, + { 0x35ED, 27300 }, + { 0x3905, 27308 }, + { 0x0234, 27313 }, + { 0x3902, 27318 }, + { 0x18E7, 27323 }, + { 0x35CD, 27329 }, + { 0x0259, 27334 }, + { 0x0236, 27340 }, + { 0x021D, 27345 }, + { 0x391A, 27352 }, + { 0x391C, 27357 }, + { 0x015A, 27364 }, + { 0x0220, 27370 }, + { 0x3908, 27375 }, + { 0x391D, 27382 }, + { 0x391E, 27387 }, + { 0x020F, 27394 }, + { 0x019C, 27399 }, + { 0x1947, 27404 }, + { 0x0224, 27409 }, + { 0x026D, 27414 }, + { 0x026E, 27421 }, + { 0x18D9, 27430 }, + { 0x025D, 27435 }, + { 0x3607, 27440 }, + { 0x022E, 27445 }, + { 0x022F, 27450 }, + { 0x3915, 27458 }, + { 0x3916, 27464 }, + { 0x0238, 27472 }, + { 0x023A, 27477 }, + { 0x0239, 27484 }, + { 0x279F, 27492 }, + { 0x0246, 27499 }, + { 0x024B, 27504 }, + { 0x024C, 27509 }, + { 0x024D, 27514 }, + { 0x18D2, 27519 }, + { 0x18E4, 27524 }, + { 0x3913, 27529 }, + { 0x3914, 27536 }, + { 0x3923, 27544 }, + { 0x18D8, 27549 }, + { 0x0211, 27555 }, + { 0x014C, 27560 }, + { 0x3605, 27565 }, + { 0x00F0, 27571 }, + { 0x01F6, 27576 }, + { 0x021E, 27581 }, + { 0x0243, 27588 }, + { 0x0201, 27597 }, + { 0x3600, 27602 }, + { 0x3602, 27607 }, + { 0x1949, 27612 }, + { 0x3609, 27617 }, + { 0x360B, 27622 }, + { 0x360D, 27627 }, + { 0x3917, 27632 }, + { 0x0249, 27637 }, + { 0x194F, 27641 }, + { 0x3621, 27647 }, + { 0x3623, 27652 }, + { 0x3625, 27657 }, + { 0x391F, 27662 }, + { 0x3912, 27667 }, + { 0x3936, 27672 }, + { 0x3933, 27677 }, + { 0x1D11, 27682 }, + { 0x35C5, 27687 }, + { 0x0217, 27694 }, + { 0x023E, 27699 }, + { 0x021B, 27706 }, + { 0x021C, 27712 }, + { 0x1964, 27720 }, + { 0x3612, 27729 }, + { 0x18E1, 27733 }, + { 0x18E3, 27738 }, + { 0x18ED, 27745 }, + { 0x18E2, 27750 }, + { 0x18EF, 27756 }, + { 0x18EE, 27762 }, + { 0x279D, 27768 }, + { 0x35B1, 27773 }, + { 0x35B3, 27777 }, + { 0x35B5, 27781 }, + { 0x35E9, 27787 }, + { 0x3904, 27792 }, + { 0x390F, 27797 }, + { 0x3910, 27802 }, + { 0x1AC8, 27809 }, + { 0x1AC6, 27814 }, + { 0x35AB, 27819 }, + { 0x35A9, 27824 }, + { 0x194B, 27829 }, + { 0x194E, 27836 }, + { 0x3A0D, 27843 }, + { 0x3A0E, 27847 }, + { 0x3A0F, 27851 }, + { 0x00F2, 27855 }, + { 0x0112, 27859 }, + { 0x3A13, 27863 }, + { 0x3A10, 27867 }, + { 0x3A11, 27871 }, + { 0x3A12, 27875 }, + { 0x0165, 27881 }, + { 0x18F5, 27884 }, + { 0x017A, 27887 }, + { 0x017E, 27892 }, + { 0x18D0, 27895 }, + { 0x0258, 27900 }, + { 0x18D4, 27905 }, + { 0x18D5, 27910 }, + { 0x18D7, 27915 }, + { 0x35B6, 27920 }, + { 0x0221, 27925 }, + { 0x025A, 27930 }, + { 0x025B, 27937 }, + { 0x0229, 27942 }, + { 0x18DA, 27947 }, + { 0x18DB, 27952 }, + { 0x025E, 27957 }, + { 0x18DC, 27962 }, + { 0x18DD, 27969 }, + { 0x0233, 27974 }, + { 0x18DF, 27979 }, + { 0x18E8, 27984 }, + { 0x023F, 27989 }, + { 0x3918, 27994 }, + { 0x35B7, 28002 }, + { 0x18EB, 28007 }, + { 0x18EC, 28012 }, + { 0x18F0, 28017 }, + { 0x18F1, 28022 }, + { 0x024E, 28027 }, + { 0x18F2, 28032 }, + { 0x18D1, 28037 }, + { 0x0235, 28042 }, + { 0x18E5, 28047 }, + { 0x18D6, 28052 }, + { 0x18F3, 28057 }, + { 0x35FC, 28062 }, + { 0x18E0, 28067 }, + { 0x18D3, 28073 }, + { 0x27A1, 28079 }, + { 0x3640, 28085 }, + { 0x18EA, 28091 }, + { 0x0240, 28097 }, + { 0x18DE, 28103 }, + { 0x18E9, 28109 }, + { 0x017F, 28115 }, + { 0x18F4, 28119 }, + { 0x0253, 28124 }, + { 0x0260, 28128 }, + { 0x0180, 28134 }, + { 0x0181, 28138 }, + { 0x026C, 28142 }, + { 0x0257, 28146 }, + { 0x026B, 28150 }, + { 0x0255, 28154 }, + { 0x017D, 28159 }, + { 0x0169, 28166 }, + { 0x0261, 28171 }, + { 0x0182, 28178 }, + { 0x0256, 28182 }, + { 0x0254, 28186 }, + { 0x3615, 28191 }, + { 0x0021, 28195 }, + { 0x01E5, 28199 }, + { 0x019F, 28206 }, + { 0x1A6B, 28215 }, + { 0x1A6D, 28222 }, + { 0x0084, 28229 }, + { 0x01B9, 28236 }, + { 0x19CB, 28245 }, + { 0x0080, 28252 }, + { 0x00C1, 28258 }, + { 0x1A81, 28264 }, + { 0x1A7D, 28273 }, + { 0x1A79, 28282 }, + { 0x1A7B, 28290 }, + { 0x1A7F, 28298 }, + { 0x018C, 28306 }, + { 0x007F, 28312 }, + { 0x0082, 28318 }, + { 0x01BF, 28324 }, + { 0x00BF, 28331 }, + { 0x00C3, 28337 }, + { 0x01F9, 28343 }, + { 0x01C1, 28349 }, + { 0x0083, 28356 }, + { 0x019D, 28362 }, + { 0x0081, 28370 }, + { 0x1A77, 28376 }, + { 0x1A73, 28385 }, + { 0x1A6F, 28394 }, + { 0x1A71, 28402 }, + { 0x1A75, 28410 }, + { 0x0022, 28418 }, + { 0x19CD, 28422 }, + { 0x19CF, 28429 }, + { 0x0140, 28436 }, + { 0x19D1, 28442 }, + { 0x0202, 28449 }, + { 0x0141, 28455 }, + { 0x361C, 28461 }, + { 0x0023, 28467 }, + { 0x3618, 28471 }, + { 0x00C9, 28477 }, + { 0x0146, 28484 }, + { 0x00C5, 28490 }, + { 0x00CB, 28496 }, + { 0x01FA, 28502 }, + { 0x0086, 28508 }, + { 0x19D3, 28514 }, + { 0x00C7, 28522 }, + { 0x0024, 28528 }, + { 0x19D5, 28532 }, + { 0x19D7, 28539 }, + { 0x0149, 28546 }, + { 0x19D9, 28552 }, + { 0x00CD, 28559 }, + { 0x01B1, 28565 }, + { 0x0184, 28573 }, + { 0x00CF, 28583 }, + { 0x014A, 28589 }, + { 0x19DB, 28595 }, + { 0x19DD, 28601 }, + { 0x0025, 28608 }, + { 0x00D5, 28612 }, + { 0x1A83, 28619 }, + { 0x1A85, 28626 }, + { 0x0088, 28633 }, + { 0x00D3, 28639 }, + { 0x00D9, 28645 }, + { 0x0087, 28651 }, + { 0x1A87, 28657 }, + { 0x19E5, 28663 }, + { 0x01C3, 28670 }, + { 0x00D1, 28677 }, + { 0x19E1, 28683 }, + { 0x19DF, 28691 }, + { 0x00D7, 28699 }, + { 0x0205, 28705 }, + { 0x01E7, 28711 }, + { 0x19E7, 28717 }, + { 0x01C5, 28725 }, + { 0x008A, 28732 }, + { 0x0089, 28738 }, + { 0x1A91, 28744 }, + { 0x1A8D, 28753 }, + { 0x1A89, 28762 }, + { 0x1A8B, 28770 }, + { 0x1A8F, 28778 }, + { 0x19E3, 28786 }, + { 0x0026, 28793 }, + { 0x19E9, 28797 }, + { 0x0150, 28804 }, + { 0x361E, 28810 }, + { 0x0027, 28816 }, + { 0x00DF, 28820 }, + { 0x0152, 28827 }, + { 0x01B3, 28833 }, + { 0x00DD, 28839 }, + { 0x01A5, 28845 }, + { 0x19EB, 28851 }, + { 0x01A3, 28857 }, + { 0x00E1, 28863 }, + { 0x3626, 28869 }, + { 0x00DB, 28876 }, + { 0x0028, 28882 }, + { 0x19ED, 28886 }, + { 0x19EF, 28893 }, + { 0x3630, 28900 }, + { 0x19F5, 28906 }, + { 0x01DD, 28913 }, + { 0x00E5, 28919 }, + { 0x19F3, 28925 }, + { 0x278D, 28931 }, + { 0x19F1, 28937 }, + { 0x00E3, 28943 }, + { 0x0029, 28949 }, + { 0x00EF, 28953 }, + { 0x1A95, 28960 }, + { 0x1A93, 28967 }, + { 0x008C, 28974 }, + { 0x00EB, 28980 }, + { 0x018E, 28986 }, + { 0x008B, 28992 }, + { 0x00E7, 28998 }, + { 0x19F7, 29004 }, + { 0x01C7, 29011 }, + { 0x00E9, 29018 }, + { 0x00ED, 29024 }, + { 0x0156, 29030 }, + { 0x01C9, 29036 }, + { 0x008E, 29043 }, + { 0x19F9, 29049 }, + { 0x008D, 29057 }, + { 0x002A, 29063 }, + { 0x0207, 29067 }, + { 0x00F3, 29073 }, + { 0x3637, 29079 }, + { 0x002B, 29085 }, + { 0x19FD, 29089 }, + { 0x0157, 29096 }, + { 0x19FF, 29102 }, + { 0x19FB, 29109 }, + { 0x01A7, 29115 }, + { 0x35C6, 29121 }, + { 0x35CA, 29127 }, + { 0x00F5, 29136 }, + { 0x3628, 29142 }, + { 0x35C8, 29149 }, + { 0x278F, 29156 }, + { 0x002C, 29162 }, + { 0x01FC, 29166 }, + { 0x1A01, 29172 }, + { 0x1A03, 29179 }, + { 0x3633, 29188 }, + { 0x35CE, 29194 }, + { 0x1A05, 29201 }, + { 0x00F8, 29208 }, + { 0x00FC, 29214 }, + { 0x0187, 29220 }, + { 0x2786, 29228 }, + { 0x00FE, 29235 }, + { 0x2788, 29242 }, + { 0x0100, 29249 }, + { 0x00FA, 29255 }, + { 0x1A07, 29261 }, + { 0x002D, 29268 }, + { 0x1A0B, 29272 }, + { 0x1A0D, 29279 }, + { 0x2794, 29286 }, + { 0x1A09, 29292 }, + { 0x002E, 29298 }, + { 0x1A0F, 29302 }, + { 0x1A11, 29309 }, + { 0x015C, 29316 }, + { 0x1A13, 29323 }, + { 0x01DF, 29330 }, + { 0x0102, 29338 }, + { 0x0106, 29344 }, + { 0x01B7, 29350 }, + { 0x018A, 29356 }, + { 0x0090, 29364 }, + { 0x0104, 29370 }, + { 0x362A, 29376 }, + { 0x3616, 29383 }, + { 0x1A15, 29389 }, + { 0x002F, 29396 }, + { 0x01ED, 29400 }, + { 0x01EF, 29407 }, + { 0x1A97, 29416 }, + { 0x1A99, 29423 }, + { 0x015F, 29430 }, + { 0x1AAD, 29436 }, + { 0x1AA9, 29445 }, + { 0x1AA5, 29454 }, + { 0x1AA7, 29462 }, + { 0x1AAB, 29470 }, + { 0x35D0, 29478 }, + { 0x35D2, 29486 }, + { 0x0092, 29492 }, + { 0x010D, 29498 }, + { 0x0190, 29504 }, + { 0x0091, 29510 }, + { 0x0094, 29516 }, + { 0x1A17, 29522 }, + { 0x01EB, 29530 }, + { 0x1A19, 29538 }, + { 0x010F, 29546 }, + { 0x01CB, 29553 }, + { 0x010B, 29560 }, + { 0x1A1D, 29566 }, + { 0x1A1B, 29574 }, + { 0x015E, 29582 }, + { 0x01A9, 29589 }, + { 0x01AB, 29595 }, + { 0x0097, 29603 }, + { 0x01BD, 29609 }, + { 0x01CD, 29617 }, + { 0x0095, 29624 }, + { 0x01E9, 29630 }, + { 0x0093, 29638 }, + { 0x1AA3, 29644 }, + { 0x1A9F, 29653 }, + { 0x1A9B, 29662 }, + { 0x1A9D, 29670 }, + { 0x1AA1, 29678 }, + { 0x0030, 29686 }, + { 0x1A21, 29690 }, + { 0x0163, 29697 }, + { 0x1A1F, 29703 }, + { 0x2789, 29709 }, + { 0x35D6, 29715 }, + { 0x35D8, 29723 }, + { 0x35DA, 29729 }, + { 0x0031, 29736 }, + { 0x35DC, 29740 }, + { 0x35DE, 29748 }, + { 0x0032, 29755 }, + { 0x1A23, 29759 }, + { 0x1A25, 29766 }, + { 0x1A27, 29773 }, + { 0x1A29, 29782 }, + { 0x278A, 29789 }, + { 0x0113, 29795 }, + { 0x0117, 29801 }, + { 0x01CF, 29807 }, + { 0x020B, 29814 }, + { 0x0115, 29820 }, + { 0x362C, 29826 }, + { 0x01D1, 29833 }, + { 0x35E0, 29840 }, + { 0x0033, 29845 }, + { 0x1A2B, 29849 }, + { 0x1A2D, 29856 }, + { 0x1A33, 29863 }, + { 0x0119, 29873 }, + { 0x1A2F, 29879 }, + { 0x011F, 29888 }, + { 0x1A31, 29894 }, + { 0x01D7, 29903 }, + { 0x27A4, 29910 }, + { 0x011D, 29917 }, + { 0x362E, 29923 }, + { 0x011B, 29930 }, + { 0x0034, 29936 }, + { 0x1A35, 29940 }, + { 0x1A37, 29947 }, + { 0x016B, 29954 }, + { 0x1A39, 29960 }, + { 0x0123, 29967 }, + { 0x01D9, 29973 }, + { 0x0125, 29980 }, + { 0x0121, 29986 }, + { 0x01FD, 29992 }, + { 0x016D, 29999 }, + { 0x1A3B, 30006 }, + { 0x0035, 30013 }, + { 0x0203, 30017 }, + { 0x1AAF, 30022 }, + { 0x1AB1, 30029 }, + { 0x016E, 30036 }, + { 0x1ABB, 30042 }, + { 0x1AB7, 30051 }, + { 0x1AB3, 30060 }, + { 0x1AB5, 30068 }, + { 0x1AB9, 30076 }, + { 0x012D, 30084 }, + { 0x0099, 30091 }, + { 0x012B, 30097 }, + { 0x0192, 30103 }, + { 0x0098, 30109 }, + { 0x0127, 30115 }, + { 0x1A43, 30121 }, + { 0x1A3F, 30129 }, + { 0x012F, 30136 }, + { 0x01D3, 30143 }, + { 0x0129, 30150 }, + { 0x1A45, 30156 }, + { 0x0131, 30164 }, + { 0x01D5, 30170 }, + { 0x009B, 30177 }, + { 0x0196, 30183 }, + { 0x0198, 30191 }, + { 0x019A, 30199 }, + { 0x0194, 30207 }, + { 0x1A3D, 30215 }, + { 0x009A, 30222 }, + { 0x1A41, 30228 }, + { 0x0036, 30235 }, + { 0x1A49, 30239 }, + { 0x0171, 30246 }, + { 0x1A47, 30252 }, + { 0x35E4, 30258 }, + { 0x0037, 30265 }, + { 0x1A51, 30269 }, + { 0x1A53, 30276 }, + { 0x2798, 30283 }, + { 0x1A4D, 30289 }, + { 0x1A4B, 30295 }, + { 0x1A4F, 30301 }, + { 0x0133, 30307 }, + { 0x0038, 30313 }, + { 0x1A55, 30317 }, + { 0x1A57, 30324 }, + { 0x0039, 30330 }, + { 0x1A59, 30334 }, + { 0x1ABF, 30341 }, + { 0x0172, 30348 }, + { 0x1AC1, 30354 }, + { 0x1AC9, 30361 }, + { 0x009C, 30367 }, + { 0x1ABD, 30373 }, + { 0x1AC3, 30379 }, + { 0x01F1, 30385 }, + { 0x020D, 30391 }, + { 0x0137, 30397 }, + { 0x0135, 30403 }, + { 0x003A, 30409 }, + { 0x013A, 30413 }, + { 0x1A5D, 30420 }, + { 0x01E3, 30427 }, + { 0x1A5F, 30433 }, + { 0x0138, 30440 }, + { 0x013C, 30446 }, + { 0x27A5, 30452 }, + { 0x0174, 30459 }, + { 0x2791, 30465 }, + { 0x1A5B, 30471 }, + { 0x35B8, 30477 }, + { 0x0085, 30481 }, + { 0x01BB, 30485 }, + { 0x01A1, 30491 }, + { 0x35BA, 30497 }, + { 0x35BC, 30501 }, + { 0x35BE, 30505 }, + { 0x35C0, 30509 }, + { 0x35C2, 30516 }, + { 0x01B0, 30520 }, + { 0x0183, 30524 }, + { 0x35F0, 30530 }, + { 0x35F2, 30534 }, + { 0x0186, 30538 }, + { 0x0189, 30542 }, + { 0x0161, 30546 }, + { 0x35D4, 30550 }, + { 0x01E1, 30554 }, + { 0x35AE, 30558 }, + { 0x35E6, 30562 }, + { 0x3638, 30566 }, + { 0x35F4, 30570 }, + { 0x0109, 30574 }, + { 0x0168, 30578 }, + { 0x008F, 30582 }, + { 0x0176, 30586 }, + { 0x01AD, 30590 }, + { 0x0177, 30596 }, + { 0x0161, 30601 }, + { 0x35E2, 30605 }, + { 0x3639, 30610 }, + { 0x279B, 30614 }, + { 0x35AC, 30619 }, + { 0x0155, 30623 }, + { 0x014F, 30627 }, + { 0x0145, 30632 }, + { 0x0143, 30637 }, + { 0x0166, 30642 }, + { 0x017B, 30647 }, + { 0x35EE, 30652 }, + { 0x01B6, 30656 }, + { 0x01DB, 30660 }, + { 0x2793, 30664 }, + { 0x0153, 30668 }, + { 0x01B5, 30672 }, + { 0x363B, 30676 }, + { 0x014E, 30680 }, + { 0x1A69, 30684 }, + { 0x0209, 30689 }, + { 0x3634, 30697 }, + { 0x009D, 30703 }, + { 0x35EA, 30707 }, + { 0x35EC, 30713 }, + { 0x35CC, 30721 }, + { 0x3632, 30726 }, + { 0x2795, 30731 }, + { 0x3613, 30736 }, + { 0x3635, 30741 }, + { 0x3606, 30746 }, + { 0x015B, 30751 }, + { 0x3636, 30756 }, + { 0x0204, 30761 }, + { 0x2796, 30766 }, + { 0x3604, 30771 }, + { 0x0148, 30777 }, + { 0x0200, 30782 }, + { 0x35FF, 30787 }, + { 0x3601, 30792 }, + { 0x3603, 30797 }, + { 0x3608, 30802 }, + { 0x360A, 30807 }, + { 0x360C, 30812 }, + { 0x0170, 30817 }, + { 0x3620, 30821 }, + { 0x3622, 30826 }, + { 0x3624, 30831 }, + { 0x35C4, 30836 }, + { 0x014D, 30843 }, + { 0x3631, 30848 }, + { 0x3611, 30854 }, + { 0x35B0, 30858 }, + { 0x35B2, 30862 }, + { 0x35B4, 30866 }, + { 0x35E8, 30872 }, + { 0x1AC7, 30877 }, + { 0x1AC5, 30882 }, + { 0x35AA, 30887 }, + { 0x35A8, 30892 }, + { 0x00F1, 30897 }, + { 0x0111, 30901 }, + { 0x1C40, 30905 }, + { 0x1C41, 30910 }, + { 0x1C45, 30915 }, + { 0x1932, 30920 }, + { 0x27A2, 30925 }, + { 0x1C46, 30930 }, + { 0x1C47, 30935 }, + { 0x1C48, 30940 }, + { 0x1C49, 30945 }, + { 0x1C42, 30950 }, + { 0x1C4A, 30955 }, + { 0x1933, 30960 }, + { 0x1C4B, 30965 }, + { 0x1C4C, 30970 }, + { 0x1934, 30975 }, + { 0x1935, 30980 }, + { 0x1C43, 30985 }, + { 0x1C44, 30990 }, + { 0x3644, 30995 }, + { 0x3645, 31000 }, + { 0x3643, 31005 }, + { 0x3641, 31010 }, + { 0x3642, 31015 }, + { 0x363D, 31020 }, + { 0x6C86, 31025 }, + { 0x6CD5, 31026 }, + { 0x21A8, 31028 }, + { 0x70CB, 31029 }, + { 0x70C5, 31033 }, + { 0x70DF, 31037 }, + { 0x271E, 31042 }, + { 0x70DA, 31047 }, + { 0x22CC, 31052 }, + { 0x6FC3, 31058 }, + { 0x6F33, 31060 }, + { 0x70D1, 31063 }, + { 0x70B8, 31067 }, + { 0x22CD, 31070 }, + { 0x20EB, 31076 }, + { 0x70D6, 31078 }, + { 0x70A4, 31083 }, + { 0x70E8, 31086 }, + { 0x70BF, 31091 }, + { 0x22B2, 31093 }, + { 0x15DC, 31096 }, + { 0x15DB, 31099 }, + { 0x15DA, 31102 }, + { 0x15D9, 31105 }, + { 0x15E0, 31108 }, + { 0x15E5, 31111 }, + { 0x15E1, 31114 }, + { 0x15E4, 31117 }, + { 0x15E3, 31120 }, + { 0x15E8, 31123 }, + { 0x15DF, 31126 }, + { 0x15E7, 31129 }, + { 0x15E6, 31132 }, + { 0x15E2, 31135 }, + { 0x15D0, 31138 }, + { 0x15D8, 31142 }, + { 0x15D6, 31146 }, + { 0x15D4, 31150 }, + { 0x15D5, 31154 }, + { 0x15D7, 31158 }, + { 0x15D3, 31162 }, + { 0x15D1, 31166 }, + { 0x15D2, 31170 }, + { 0x15C4, 31174 }, + { 0x15CB, 31178 }, + { 0x15C5, 31182 }, + { 0x15CC, 31186 }, + { 0x15C6, 31190 }, + { 0x15C8, 31194 }, + { 0x15CA, 31198 }, + { 0x15C7, 31202 }, + { 0x15C9, 31206 }, + { 0x15B7, 31210 }, + { 0x15AB, 31213 }, + { 0x15B2, 31216 }, + { 0x15A8, 31219 }, + { 0x15C1, 31222 }, + { 0x15AD, 31225 }, + { 0x15A6, 31228 }, + { 0x15BC, 31231 }, + { 0x15B9, 31234 }, + { 0x15B4, 31237 }, + { 0x15B5, 31240 }, + { 0x15BB, 31243 }, + { 0x15C0, 31246 }, + { 0x15B0, 31249 }, + { 0x15BD, 31252 }, + { 0x15BA, 31255 }, + { 0x15B8, 31258 }, + { 0x15AC, 31261 }, + { 0x15B3, 31264 }, + { 0x15A9, 31267 }, + { 0x15AE, 31270 }, + { 0x15A7, 31273 }, + { 0x15AA, 31276 }, + { 0x15B6, 31279 }, + { 0x15BE, 31282 }, + { 0x15BF, 31285 }, + { 0x15B1, 31288 }, + { 0x15C3, 31291 }, + { 0x15AF, 31294 }, + { 0x15C2, 31297 }, + { 0x15DE, 31300 }, + { 0x15CE, 31303 }, + { 0x15CF, 31307 }, + { 0x15CD, 31311 }, + { 0x15DD, 31315 }, + { 0x15A5, 31318 }, + { 0x1C63, 31321 }, + { 0x20DB, 31324 }, + { 0x20DC, 31328 }, + { 0x20DF, 31332 }, + { 0x20DE, 31336 }, + { 0x213B, 31339 }, + { 0x2135, 31342 }, + { 0x6EC8, 31347 }, + { 0x6EC4, 31350 }, + { 0x6EC6, 31353 }, + { 0x2139, 31357 }, + { 0x2154, 31362 }, + { 0x6EC5, 31365 }, + { 0x6EC7, 31369 }, + { 0x2499, 31372 }, + { 0x225D, 31377 }, + { 0x232D, 31380 }, + { 0x2268, 31385 }, + { 0x2138, 31388 }, + { 0x6E79, 31393 }, + { 0x22AB, 31398 }, + { 0x2159, 31403 }, + { 0x2498, 31406 }, + { 0x22A9, 31411 }, + { 0x20E1, 31416 }, + { 0x20DD, 31420 }, + { 0x20E0, 31424 }, + { 0x7193, 31428 }, + { 0x1C69, 31430 }, + { 0x6C7C, 31432 }, + { 0x6C83, 31434 }, + { 0x696A, 31435 }, + { 0x696F, 31439 }, + { 0x696B, 31443 }, + { 0x696E, 31447 }, + { 0x696D, 31451 }, + { 0x6972, 31455 }, + { 0x6971, 31459 }, + { 0x6970, 31463 }, + { 0x696C, 31467 }, + { 0x68A5, 31471 }, + { 0x68A6, 31476 }, + { 0x68A7, 31481 }, + { 0x68AD, 31486 }, + { 0x68AE, 31491 }, + { 0x68AF, 31496 }, + { 0x68B9, 31501 }, + { 0x68BA, 31506 }, + { 0x68BB, 31511 }, + { 0x68C0, 31516 }, + { 0x68C1, 31521 }, + { 0x68C2, 31526 }, + { 0x68C7, 31531 }, + { 0x68C8, 31536 }, + { 0x68C9, 31541 }, + { 0x68E3, 31546 }, + { 0x68E4, 31551 }, + { 0x68E5, 31556 }, + { 0x68D3, 31561 }, + { 0x68D4, 31566 }, + { 0x68D5, 31571 }, + { 0x68E9, 31576 }, + { 0x68EA, 31581 }, + { 0x68EB, 31586 }, + { 0x68DB, 31591 }, + { 0x68DC, 31596 }, + { 0x68DD, 31601 }, + { 0x68F0, 31606 }, + { 0x68F1, 31611 }, + { 0x68F2, 31616 }, + { 0x68F8, 31621 }, + { 0x68F9, 31626 }, + { 0x68FA, 31631 }, + { 0x68FF, 31636 }, + { 0x6900, 31641 }, + { 0x6901, 31646 }, + { 0x6908, 31651 }, + { 0x6909, 31656 }, + { 0x690A, 31661 }, + { 0x6910, 31666 }, + { 0x690E, 31671 }, + { 0x6912, 31676 }, + { 0x691D, 31681 }, + { 0x6947, 31686 }, + { 0x68B3, 31691 }, + { 0x691B, 31696 }, + { 0x693B, 31701 }, + { 0x68AB, 31706 }, + { 0x68B7, 31711 }, + { 0x6933, 31716 }, + { 0x6935, 31721 }, + { 0x6919, 31726 }, + { 0x6916, 31731 }, + { 0x68E0, 31736 }, + { 0x68ED, 31741 }, + { 0x694C, 31746 }, + { 0x692F, 31751 }, + { 0x6966, 31756 }, + { 0x68BC, 31761 }, + { 0x6969, 31766 }, + { 0x68B6, 31771 }, + { 0x6939, 31776 }, + { 0x68F6, 31781 }, + { 0x6959, 31786 }, + { 0x68A8, 31791 }, + { 0x6937, 31796 }, + { 0x6958, 31801 }, + { 0x6931, 31806 }, + { 0x68EF, 31811 }, + { 0x6951, 31816 }, + { 0x6950, 31821 }, + { 0x693D, 31826 }, + { 0x68DF, 31831 }, + { 0x6946, 31836 }, + { 0x6903, 31841 }, + { 0x68AA, 31846 }, + { 0x6964, 31851 }, + { 0x6902, 31856 }, + { 0x68D9, 31861 }, + { 0x68FC, 31866 }, + { 0x6934, 31871 }, + { 0x691E, 31876 }, + { 0x6914, 31881 }, + { 0x68DE, 31886 }, + { 0x6962, 31891 }, + { 0x6925, 31896 }, + { 0x6918, 31902 }, + { 0x6905, 31907 }, + { 0x68E6, 31912 }, + { 0x691C, 31917 }, + { 0x68EC, 31922 }, + { 0x6945, 31927 }, + { 0x694E, 31932 }, + { 0x68BD, 31937 }, + { 0x68A9, 31942 }, + { 0x6911, 31947 }, + { 0x68C4, 31952 }, + { 0x6968, 31957 }, + { 0x6932, 31962 }, + { 0x68CB, 31967 }, + { 0x6907, 31972 }, + { 0x6936, 31977 }, + { 0x68C5, 31982 }, + { 0x68EE, 31987 }, + { 0x6942, 31992 }, + { 0x6926, 31998 }, + { 0x694F, 32004 }, + { 0x6948, 32009 }, + { 0x68FB, 32014 }, + { 0x68E2, 32019 }, + { 0x6929, 32025 }, + { 0x6949, 32030 }, + { 0x68F4, 32035 }, + { 0x68B2, 32040 }, + { 0x691F, 32045 }, + { 0x68D7, 32050 }, + { 0x690B, 32055 }, + { 0x68B1, 32060 }, + { 0x6957, 32065 }, + { 0x6922, 32070 }, + { 0x68FE, 32075 }, + { 0x693A, 32080 }, + { 0x6953, 32085 }, + { 0x694B, 32090 }, + { 0x6955, 32095 }, + { 0x68B0, 32100 }, + { 0x6924, 32105 }, + { 0x6915, 32110 }, + { 0x6954, 32115 }, + { 0x6917, 32120 }, + { 0x68CF, 32125 }, + { 0x6944, 32130 }, + { 0x6904, 32135 }, + { 0x695D, 32140 }, + { 0x68D0, 32145 }, + { 0x68D8, 32150 }, + { 0x68CE, 32155 }, + { 0x68C6, 32160 }, + { 0x68B8, 32165 }, + { 0x6913, 32170 }, + { 0x68FD, 32175 }, + { 0x6943, 32180 }, + { 0x68B5, 32186 }, + { 0x6963, 32191 }, + { 0x6938, 32196 }, + { 0x6920, 32201 }, + { 0x68CD, 32206 }, + { 0x694D, 32211 }, + { 0x695C, 32216 }, + { 0x68C3, 32221 }, + { 0x6960, 32226 }, + { 0x695A, 32231 }, + { 0x68E1, 32236 }, + { 0x68BE, 32241 }, + { 0x6928, 32246 }, + { 0x6921, 32251 }, + { 0x68F3, 32256 }, + { 0x694A, 32261 }, + { 0x6923, 32266 }, + { 0x68F5, 32271 }, + { 0x6941, 32276 }, + { 0x68D6, 32282 }, + { 0x68CA, 32287 }, + { 0x6965, 32292 }, + { 0x68CC, 32297 }, + { 0x692C, 32302 }, + { 0x692D, 32307 }, + { 0x692A, 32312 }, + { 0x690C, 32317 }, + { 0x6967, 32322 }, + { 0x6952, 32327 }, + { 0x693E, 32332 }, + { 0x6961, 32337 }, + { 0x693F, 32342 }, + { 0x68F7, 32347 }, + { 0x690D, 32353 }, + { 0x6930, 32358 }, + { 0x68D2, 32363 }, + { 0x68AC, 32368 }, + { 0x68E7, 32373 }, + { 0x68E8, 32378 }, + { 0x695E, 32383 }, + { 0x6927, 32388 }, + { 0x692E, 32394 }, + { 0x695F, 32399 }, + { 0x690F, 32404 }, + { 0x6940, 32409 }, + { 0x693C, 32414 }, + { 0x68BF, 32419 }, + { 0x692B, 32424 }, + { 0x6956, 32429 }, + { 0x695B, 32434 }, + { 0x691A, 32439 }, + { 0x68B4, 32444 }, + { 0x68D1, 32449 }, + { 0x68DA, 32454 }, + { 0x6906, 32459 }, + { 0x6977, 32464 }, + { 0x6974, 32470 }, + { 0x6973, 32475 }, + { 0x6978, 32480 }, + { 0x6975, 32486 }, + { 0x6979, 32491 }, + { 0x6976, 32496 }, + { 0x6FC2, 32501 }, + { 0x0074, 32502 }, + { 0x6C47, 32504 }, + { 0x1D9B, 32506 }, + { 0x2594, 32508 }, + { 0x2584, 32512 }, + { 0x2583, 32517 }, + { 0x2586, 32522 }, + { 0x2585, 32527 }, + { 0x1DCB, 32532 }, + { 0x6DEB, 32534 }, + { 0x6DF3, 32536 }, + { 0x7013, 32539 }, + { 0x7020, 32541 }, + { 0x6F36, 32543 }, + { 0x6D3C, 32545 }, + { 0x6D68, 32546 }, + { 0x6D7F, 32548 }, + { 0x6CE0, 32549 }, + { 0x6F3A, 32551 }, + { 0x21C7, 32552 }, + { 0x21C9, 32555 }, + { 0x21C8, 32558 }, + { 0x2563, 32561 }, + { 0x1E4C, 32564 }, + { 0x255D, 32566 }, + { 0x255E, 32571 }, + { 0x2659, 32576 }, + { 0x2560, 32580 }, + { 0x255F, 32584 }, + { 0x255A, 32588 }, + { 0x255B, 32592 }, + { 0x255C, 32596 }, + { 0x1E4A, 32600 }, + { 0x1E49, 32603 }, + { 0x1D98, 32606 }, + { 0x1D99, 32608 }, + { 0x1D9A, 32610 }, + { 0x1E4B, 32612 }, + { 0x1D90, 32614 }, + { 0x1C53, 32615 }, + { 0x6C3E, 32617 }, + { 0x1BE3, 32620 }, + { 0x247C, 32621 }, + { 0x1D20, 32627 }, + { 0x2482, 32630 }, + { 0x247E, 32637 }, + { 0x248B, 32642 }, + { 0x2488, 32649 }, + { 0x2662, 32656 }, + { 0x265A, 32660 }, + { 0x1D60, 32664 }, + { 0x6F9D, 32668 }, + { 0x6F8D, 32672 }, + { 0x6F95, 32676 }, + { 0x7134, 32681 }, + { 0x26C1, 32685 }, + { 0x26CF, 32689 }, + { 0x247B, 32695 }, + { 0x1D1F, 32701 }, + { 0x1D41, 32704 }, + { 0x1D7A, 32710 }, + { 0x2481, 32715 }, + { 0x247D, 32722 }, + { 0x248C, 32727 }, + { 0x2663, 32734 }, + { 0x265B, 32738 }, + { 0x1D5F, 32742 }, + { 0x6F9B, 32746 }, + { 0x6F8B, 32750 }, + { 0x6F93, 32754 }, + { 0x7133, 32759 }, + { 0x26C0, 32763 }, + { 0x26CE, 32767 }, + { 0x367A, 32773 }, + { 0x3678, 32777 }, + { 0x3673, 32781 }, + { 0x3676, 32786 }, + { 0x3672, 32791 }, + { 0x3675, 32796 }, + { 0x3674, 32801 }, + { 0x3677, 32806 }, + { 0x367B, 32811 }, + { 0x3679, 32815 }, + { 0x138A, 32819 }, + { 0x13A0, 32822 }, + { 0x139C, 32825 }, + { 0x139B, 32828 }, + { 0x139A, 32831 }, + { 0x1393, 32834 }, + { 0x1391, 32837 }, + { 0x1396, 32840 }, + { 0x13A2, 32843 }, + { 0x138C, 32846 }, + { 0x1395, 32849 }, + { 0x138F, 32852 }, + { 0x1399, 32855 }, + { 0x138E, 32858 }, + { 0x1390, 32861 }, + { 0x138B, 32864 }, + { 0x1394, 32867 }, + { 0x138D, 32870 }, + { 0x13A4, 32873 }, + { 0x1392, 32876 }, + { 0x1398, 32879 }, + { 0x139F, 32882 }, + { 0x139D, 32885 }, + { 0x139E, 32888 }, + { 0x1397, 32891 }, + { 0x13A1, 32894 }, + { 0x13A3, 32897 }, + { 0x13A5, 32900 }, + { 0x13A6, 32903 }, + { 0x6DAF, 32907 }, + { 0x6DB0, 32909 }, + { 0x09E2, 32911 }, + { 0x09E3, 32915 }, + { 0x09D4, 32919 }, + { 0x09E1, 32922 }, + { 0x09A5, 32925 }, + { 0x09A4, 32928 }, + { 0x09D5, 32931 }, + { 0x09A3, 32934 }, + { 0x09EC, 32937 }, + { 0x09F1, 32940 }, + { 0x09ED, 32943 }, + { 0x09F0, 32946 }, + { 0x09EF, 32949 }, + { 0x09F4, 32952 }, + { 0x09EB, 32955 }, + { 0x09F3, 32958 }, + { 0x09F2, 32961 }, + { 0x09EE, 32964 }, + { 0x09DD, 32967 }, + { 0x09D7, 32971 }, + { 0x09DF, 32975 }, + { 0x09D9, 32979 }, + { 0x09D6, 32983 }, + { 0x09DE, 32987 }, + { 0x09E0, 32991 }, + { 0x09D8, 32995 }, + { 0x09DA, 32999 }, + { 0x09E9, 33003 }, + { 0x09DB, 33008 }, + { 0x09EA, 33013 }, + { 0x09DC, 33018 }, + { 0x09F5, 33023 }, + { 0x09A6, 33025 }, + { 0x09AE, 33028 }, + { 0x09A8, 33031 }, + { 0x09B0, 33034 }, + { 0x09AA, 33037 }, + { 0x09A7, 33040 }, + { 0x09AF, 33043 }, + { 0x09B1, 33046 }, + { 0x09C8, 33049 }, + { 0x09B7, 33052 }, + { 0x09C3, 33055 }, + { 0x09B4, 33058 }, + { 0x09D3, 33061 }, + { 0x09A9, 33064 }, + { 0x09B9, 33067 }, + { 0x09B2, 33070 }, + { 0x09CD, 33073 }, + { 0x09CA, 33076 }, + { 0x09C5, 33079 }, + { 0x09C6, 33082 }, + { 0x09CC, 33085 }, + { 0x09D2, 33088 }, + { 0x09C1, 33091 }, + { 0x09AB, 33094 }, + { 0x09CF, 33097 }, + { 0x09F6, 33100 }, + { 0x09CB, 33103 }, + { 0x09C9, 33106 }, + { 0x09B8, 33109 }, + { 0x09BE, 33112 }, + { 0x09C4, 33115 }, + { 0x09B5, 33118 }, + { 0x09BA, 33121 }, + { 0x09B3, 33124 }, + { 0x09CE, 33127 }, + { 0x09B6, 33130 }, + { 0x09C0, 33133 }, + { 0x09BB, 33136 }, + { 0x09C7, 33139 }, + { 0x09E5, 33142 }, + { 0x09E4, 33145 }, + { 0x09D0, 33148 }, + { 0x09D1, 33151 }, + { 0x09C2, 33154 }, + { 0x09BC, 33157 }, + { 0x09E6, 33160 }, + { 0x09BF, 33163 }, + { 0x09BD, 33166 }, + { 0x09AD, 33169 }, + { 0x09AC, 33173 }, + { 0x09E8, 33177 }, + { 0x09E7, 33181 }, + { 0x09F8, 33185 }, + { 0x09FB, 33189 }, + { 0x09F7, 33193 }, + { 0x09FA, 33197 }, + { 0x09F9, 33201 }, + { 0x09FC, 33205 }, + { 0x41F8, 33209 }, + { 0x41FF, 33213 }, + { 0x4203, 33217 }, + { 0x420A, 33221 }, + { 0x4216, 33225 }, + { 0x41FB, 33229 }, + { 0x41F9, 33233 }, + { 0x4201, 33237 }, + { 0x4204, 33241 }, + { 0x4207, 33245 }, + { 0x4208, 33249 }, + { 0x4209, 33253 }, + { 0x420C, 33257 }, + { 0x420E, 33261 }, + { 0x4210, 33265 }, + { 0x4217, 33269 }, + { 0x421A, 33273 }, + { 0x41FA, 33277 }, + { 0x41FC, 33281 }, + { 0x41FD, 33285 }, + { 0x4215, 33289 }, + { 0x4200, 33293 }, + { 0x4219, 33297 }, + { 0x4202, 33301 }, + { 0x4218, 33305 }, + { 0x4206, 33309 }, + { 0x420B, 33313 }, + { 0x420F, 33317 }, + { 0x4212, 33321 }, + { 0x421B, 33325 }, + { 0x4205, 33329 }, + { 0x420D, 33333 }, + { 0x4211, 33337 }, + { 0x4214, 33341 }, + { 0x41FE, 33345 }, + { 0x4213, 33349 }, + { 0x41D4, 33353 }, + { 0x41DB, 33357 }, + { 0x41DF, 33361 }, + { 0x41E6, 33365 }, + { 0x41F2, 33369 }, + { 0x41D7, 33373 }, + { 0x41D5, 33377 }, + { 0x41DD, 33381 }, + { 0x41E0, 33385 }, + { 0x41E3, 33389 }, + { 0x41E4, 33393 }, + { 0x41E5, 33397 }, + { 0x41E8, 33401 }, + { 0x41EA, 33405 }, + { 0x41EC, 33409 }, + { 0x41F3, 33413 }, + { 0x41F6, 33417 }, + { 0x41D6, 33421 }, + { 0x41D8, 33425 }, + { 0x41D9, 33429 }, + { 0x41F1, 33433 }, + { 0x41DC, 33437 }, + { 0x41F5, 33441 }, + { 0x41DE, 33445 }, + { 0x41F4, 33449 }, + { 0x41E2, 33453 }, + { 0x41E7, 33457 }, + { 0x41EB, 33461 }, + { 0x41EE, 33465 }, + { 0x41F7, 33469 }, + { 0x41E1, 33473 }, + { 0x41E9, 33477 }, + { 0x41ED, 33481 }, + { 0x41F0, 33485 }, + { 0x41DA, 33489 }, + { 0x41EF, 33493 }, + { 0x1CB2, 33497 }, + { 0x6E1A, 33499 }, + { 0x6F0B, 33500 }, + { 0x6D77, 33501 }, + { 0x6CC4, 33503 }, + { 0x2188, 33505 }, + { 0x6C8C, 33507 }, + { 0x700B, 33508 }, + { 0x1EA1, 33511 }, + { 0x21A1, 33515 }, + { 0x6D98, 33516 }, + { 0x0062, 33517 }, + { 0x1F86, 33519 }, + { 0x1F87, 33522 }, + { 0x1F85, 33525 }, + { 0x1F84, 33528 }, + { 0x1BE6, 33530 }, + { 0x1F22, 33531 }, + { 0x6D96, 33534 }, + { 0x6E36, 33535 }, + { 0x6E53, 33536 }, + { 0x1DBF, 33538 }, + { 0x71A9, 33539 }, + { 0x24EE, 33540 }, + { 0x2910, 33544 }, + { 0x20EF, 33548 }, + { 0x24D7, 33552 }, + { 0x2131, 33555 }, + { 0x20EA, 33559 }, + { 0x6EB8, 33562 }, + { 0x1E2B, 33566 }, + { 0x6F2A, 33568 }, + { 0x1DA8, 33571 }, + { 0x1E47, 33573 }, + { 0x1F05, 33577 }, + { 0x28F4, 33583 }, + { 0x2A96, 33588 }, + { 0x24EC, 33591 }, + { 0x24F6, 33596 }, + { 0x28F3, 33601 }, + { 0x1D7D, 33605 }, + { 0x234E, 33610 }, + { 0x24F2, 33615 }, + { 0x2A9E, 33620 }, + { 0x005D, 33624 }, + { 0x1F36, 33627 }, + { 0x1F34, 33632 }, + { 0x1F35, 33637 }, + { 0x1E94, 33642 }, + { 0x2330, 33644 }, + { 0x24DE, 33647 }, + { 0x2A9C, 33651 }, + { 0x2AA8, 33655 }, + { 0x2AA6, 33659 }, + { 0x2AA4, 33664 }, + { 0x24E0, 33668 }, + { 0x2A9A, 33671 }, + { 0x28F8, 33674 }, + { 0x2A98, 33678 }, + { 0x24CA, 33682 }, + { 0x2535, 33688 }, + { 0x1BD1, 33692 }, + { 0x291C, 33696 }, + { 0x1E53, 33699 }, + { 0x2900, 33704 }, + { 0x1BCD, 33708 }, + { 0x6F24, 33712 }, + { 0x003D, 33715 }, + { 0x24EA, 33718 }, + { 0x24E8, 33726 }, + { 0x1BFA, 33734 }, + { 0x24E6, 33739 }, + { 0x1F2F, 33744 }, + { 0x1F2D, 33749 }, + { 0x1F2E, 33754 }, + { 0x2533, 33758 }, + { 0x1E92, 33761 }, + { 0x6EA3, 33763 }, + { 0x6EA4, 33765 }, + { 0x6EA5, 33771 }, + { 0x6F28, 33777 }, + { 0x2320, 33780 }, + { 0x291A, 33784 }, + { 0x2AA2, 33788 }, + { 0x1E48, 33792 }, + { 0x2528, 33794 }, + { 0x2914, 33799 }, + { 0x1F42, 33804 }, + { 0x1E55, 33808 }, + { 0x0009, 33811 }, + { 0x1F29, 33813 }, + { 0x1F27, 33817 }, + { 0x1F28, 33821 }, + { 0x28F6, 33824 }, + { 0x28FD, 33827 }, + { 0x7185, 33830 }, + { 0x3FD6, 33832 }, + { 0x3FCD, 33835 }, + { 0x3FD0, 33838 }, + { 0x1CED, 33842 }, + { 0x1CFA, 33845 }, + { 0x1D15, 33849 }, + { 0x1CFC, 33854 }, + { 0x1D0D, 33858 }, + { 0x1CF2, 33864 }, + { 0x1D12, 33867 }, + { 0x1CF6, 33872 }, + { 0x1D0F, 33875 }, + { 0x1CEE, 33879 }, + { 0x1CF1, 33882 }, + { 0x1CFB, 33885 }, + { 0x1D0E, 33889 }, + { 0x1CF0, 33893 }, + { 0x1CF5, 33896 }, + { 0x1CF4, 33899 }, + { 0x1CF9, 33902 }, + { 0x1D13, 33905 }, + { 0x1D14, 33910 }, + { 0x1CF3, 33914 }, + { 0x1CEF, 33917 }, + { 0x1CF7, 33920 }, + { 0x1CF8, 33923 }, + { 0x1D10, 33926 }, + { 0x3FCC, 33931 }, + { 0x3FCF, 33934 }, + { 0x3FD1, 33937 }, + { 0x3FD2, 33940 }, + { 0x3FCE, 33943 }, + { 0x3FD7, 33946 }, + { 0x3FD5, 33949 }, + { 0x3FD3, 33952 }, + { 0x3FD4, 33955 }, + { 0x70A1, 33958 }, + { 0x6E08, 33960 }, + { 0x1C6A, 33962 }, + { 0x6D04, 33964 }, + { 0x13F4, 33966 }, + { 0x13F5, 33969 }, + { 0x13D4, 33972 }, + { 0x13D8, 33975 }, + { 0x13C9, 33978 }, + { 0x13BC, 33981 }, + { 0x13F8, 33984 }, + { 0x13B5, 33987 }, + { 0x13F0, 33990 }, + { 0x13A8, 33993 }, + { 0x13AC, 33996 }, + { 0x13F1, 33999 }, + { 0x13AB, 34002 }, + { 0x13D5, 34005 }, + { 0x13B1, 34008 }, + { 0x13B6, 34012 }, + { 0x13B7, 34015 }, + { 0x13FA, 34018 }, + { 0x13B0, 34021 }, + { 0x13F9, 34025 }, + { 0x13AA, 34028 }, + { 0x13BA, 34031 }, + { 0x13E7, 34034 }, + { 0x13BD, 34037 }, + { 0x13AE, 34040 }, + { 0x13BF, 34043 }, + { 0x13CB, 34046 }, + { 0x13E4, 34049 }, + { 0x13E8, 34052 }, + { 0x13B2, 34055 }, + { 0x13EA, 34058 }, + { 0x13A7, 34061 }, + { 0x13BE, 34067 }, + { 0x13C8, 34072 }, + { 0x13CE, 34078 }, + { 0x13BB, 34082 }, + { 0x13EC, 34086 }, + { 0x13A9, 34089 }, + { 0x13D0, 34094 }, + { 0x13AF, 34098 }, + { 0x13EB, 34102 }, + { 0x13E5, 34105 }, + { 0x13DD, 34110 }, + { 0x13C2, 34115 }, + { 0x13CA, 34119 }, + { 0x13B9, 34123 }, + { 0x13B8, 34126 }, + { 0x13D2, 34132 }, + { 0x13D6, 34137 }, + { 0x13C0, 34143 }, + { 0x13FE, 34148 }, + { 0x13FD, 34153 }, + { 0x13FC, 34158 }, + { 0x13FB, 34163 }, + { 0x13FF, 34168 }, + { 0x13C1, 34173 }, + { 0x13E3, 34177 }, + { 0x13E1, 34180 }, + { 0x13DE, 34186 }, + { 0x13C5, 34191 }, + { 0x13DC, 34197 }, + { 0x13CF, 34200 }, + { 0x13D1, 34205 }, + { 0x13E9, 34209 }, + { 0x13E6, 34212 }, + { 0x13D9, 34217 }, + { 0x13E2, 34223 }, + { 0x13C7, 34226 }, + { 0x13DB, 34229 }, + { 0x13AD, 34232 }, + { 0x13EF, 34237 }, + { 0x13CD, 34240 }, + { 0x13EE, 34244 }, + { 0x13CC, 34247 }, + { 0x13ED, 34251 }, + { 0x13B4, 34254 }, + { 0x13D3, 34258 }, + { 0x13D7, 34262 }, + { 0x13B3, 34266 }, + { 0x13E0, 34270 }, + { 0x13C6, 34274 }, + { 0x13DF, 34278 }, + { 0x13C4, 34282 }, + { 0x13C3, 34286 }, + { 0x13DA, 34290 }, + { 0x13F2, 34294 }, + { 0x13F7, 34297 }, + { 0x13F3, 34300 }, + { 0x13F6, 34303 }, + { 0x1C55, 34306 }, + { 0x71C6, 34308 }, + { 0x6D4C, 34309 }, + { 0x263A, 34310 }, + { 0x2642, 34313 }, + { 0x2643, 34318 }, + { 0x26B9, 34325 }, + { 0x2639, 34333 }, + { 0x2641, 34336 }, + { 0x2638, 34341 }, + { 0x26A8, 34344 }, + { 0x249E, 34348 }, + { 0x26A9, 34354 }, + { 0x719B, 34358 }, + { 0x2251, 34359 }, + { 0x6DBB, 34360 }, + { 0x217A, 34361 }, + { 0x6C90, 34364 }, + { 0x1EBC, 34367 }, + { 0x3CEB, 34368 }, + { 0x4624, 34371 }, + { 0x25BB, 34378 }, + { 0x6E74, 34382 }, + { 0x3CE6, 34385 }, + { 0x3CEE, 34388 }, + { 0x3CF0, 34392 }, + { 0x3CEC, 34397 }, + { 0x3CF5, 34400 }, + { 0x3CE8, 34403 }, + { 0x3CE4, 34405 }, + { 0x3CEF, 34407 }, + { 0x3CF1, 34411 }, + { 0x3CED, 34416 }, + { 0x1CFD, 34419 }, + { 0x1D0A, 34423 }, + { 0x1D0C, 34428 }, + { 0x1D02, 34433 }, + { 0x1D06, 34437 }, + { 0x1CFE, 34441 }, + { 0x1D01, 34445 }, + { 0x1D0B, 34449 }, + { 0x1D00, 34454 }, + { 0x1D05, 34458 }, + { 0x1D04, 34462 }, + { 0x1D09, 34466 }, + { 0x1D03, 34470 }, + { 0x1CFF, 34474 }, + { 0x1D07, 34478 }, + { 0x1D08, 34482 }, + { 0x029B, 34486 }, + { 0x3CFB, 34488 }, + { 0x3CF9, 34491 }, + { 0x3CF2, 34494 }, + { 0x6E73, 34497 }, + { 0x1D93, 34500 }, + { 0x1E80, 34503 }, + { 0x1E7D, 34508 }, + { 0x3CFC, 34519 }, + { 0x3CFA, 34522 }, + { 0x7017, 34525 }, + { 0x3CF4, 34527 }, + { 0x1D96, 34529 }, + { 0x1E87, 34533 }, + { 0x1E85, 34537 }, + { 0x3CE9, 34547 }, + { 0x3CF3, 34550 }, + { 0x3CF7, 34552 }, + { 0x3CE7, 34555 }, + { 0x3CFD, 34557 }, + { 0x3CEA, 34560 }, + { 0x3CE5, 34563 }, + { 0x3CF8, 34566 }, + { 0x3CF6, 34569 }, + { 0x258D, 34571 }, + { 0x1EAC, 34573 }, + { 0x6D47, 34574 }, + { 0x6D48, 34575 }, + { 0x6FA5, 34576 }, + { 0x6FA6, 34580 }, + { 0x1CA4, 34587 }, + { 0x1D21, 34590 }, + { 0x1D7B, 34593 }, + { 0x2483, 34598 }, + { 0x247F, 34605 }, + { 0x2487, 34610 }, + { 0x2664, 34617 }, + { 0x265C, 34621 }, + { 0x1D61, 34625 }, + { 0x6F9E, 34629 }, + { 0x6F8E, 34633 }, + { 0x6F96, 34637 }, + { 0x7135, 34642 }, + { 0x26C2, 34646 }, + { 0x26D0, 34650 }, + { 0x1D22, 34656 }, + { 0x2484, 34659 }, + { 0x2480, 34666 }, + { 0x2665, 34671 }, + { 0x265D, 34675 }, + { 0x1D62, 34679 }, + { 0x6F9C, 34683 }, + { 0x6F8C, 34687 }, + { 0x6F94, 34691 }, + { 0x7136, 34696 }, + { 0x26C3, 34700 }, + { 0x26D1, 34704 }, + { 0x0000, 34710 }, + { 0x71A7, 34711 }, + { 0x2301, 34712 }, + { 0x71CF, 34716 }, + { 0x21F4, 34717 }, + { 0x21EF, 34720 }, + { 0x6FBD, 34723 }, + { 0x6F1B, 34725 }, + { 0x6C9E, 34727 }, + { 0x6FB0, 34728 }, + { 0x1C07, 34731 }, + { 0x6D0E, 34733 }, + { 0x4B9C, 34738 }, + { 0x4B9B, 34741 }, + { 0x4B91, 34744 }, + { 0x4B90, 34747 }, + { 0x4B9E, 34750 }, + { 0x4BA3, 34753 }, + { 0x4B9F, 34756 }, + { 0x4BA2, 34759 }, + { 0x4BA1, 34762 }, + { 0x4BA6, 34765 }, + { 0x4B9D, 34768 }, + { 0x4BA5, 34771 }, + { 0x4BA4, 34774 }, + { 0x4BA0, 34777 }, + { 0x4B97, 34780 }, + { 0x4B93, 34784 }, + { 0x4B99, 34788 }, + { 0x4B95, 34792 }, + { 0x4B92, 34796 }, + { 0x4B98, 34800 }, + { 0x4B9A, 34804 }, + { 0x4B94, 34808 }, + { 0x4B96, 34812 }, + { 0x4B65, 34816 }, + { 0x4B6B, 34819 }, + { 0x4B67, 34822 }, + { 0x4B6D, 34825 }, + { 0x4B69, 34828 }, + { 0x4B66, 34831 }, + { 0x4B6C, 34834 }, + { 0x4B6E, 34837 }, + { 0x4B85, 34840 }, + { 0x4B74, 34843 }, + { 0x4B80, 34846 }, + { 0x4B71, 34849 }, + { 0x4B8E, 34852 }, + { 0x4B68, 34855 }, + { 0x4B76, 34858 }, + { 0x4B6F, 34861 }, + { 0x4B8A, 34864 }, + { 0x4B87, 34867 }, + { 0x4B82, 34870 }, + { 0x4B83, 34873 }, + { 0x4B89, 34876 }, + { 0x4B8D, 34879 }, + { 0x4B7E, 34882 }, + { 0x4B6A, 34885 }, + { 0x4B8B, 34888 }, + { 0x4B88, 34891 }, + { 0x4B86, 34894 }, + { 0x4B75, 34897 }, + { 0x4B7B, 34900 }, + { 0x4B81, 34903 }, + { 0x4B72, 34906 }, + { 0x4B77, 34909 }, + { 0x4B70, 34912 }, + { 0x4B73, 34915 }, + { 0x4B7D, 34918 }, + { 0x4B78, 34921 }, + { 0x4B84, 34924 }, + { 0x4B8F, 34927 }, + { 0x4B8C, 34930 }, + { 0x4B7F, 34933 }, + { 0x4B79, 34936 }, + { 0x4B7C, 34939 }, + { 0x4B7A, 34942 }, + { 0x0A42, 34945 }, + { 0x0A2F, 34949 }, + { 0x0A2E, 34953 }, + { 0x0A3D, 34955 }, + { 0x0A2D, 34958 }, + { 0x09FE, 34961 }, + { 0x09FD, 34964 }, + { 0x0A3F, 34967 }, + { 0x0A40, 34970 }, + { 0x0A31, 34973 }, + { 0x0A36, 34976 }, + { 0x0A32, 34979 }, + { 0x0A35, 34982 }, + { 0x0A34, 34985 }, + { 0x0A39, 34988 }, + { 0x0A30, 34991 }, + { 0x0A38, 34994 }, + { 0x0A37, 34997 }, + { 0x0A33, 35000 }, + { 0x0A3E, 35003 }, + { 0x0A43, 35006 }, + { 0x0A27, 35009 }, + { 0x0A23, 35013 }, + { 0x0A2A, 35017 }, + { 0x0A25, 35021 }, + { 0x0A22, 35025 }, + { 0x0A29, 35029 }, + { 0x0A2C, 35033 }, + { 0x0A28, 35037 }, + { 0x0A24, 35041 }, + { 0x0A2B, 35045 }, + { 0x0A26, 35049 }, + { 0x0A41, 35053 }, + { 0x09FF, 35056 }, + { 0x0A05, 35059 }, + { 0x0A01, 35062 }, + { 0x0A08, 35065 }, + { 0x0A03, 35068 }, + { 0x0A00, 35071 }, + { 0x0A07, 35074 }, + { 0x0A0A, 35077 }, + { 0x0A0D, 35080 }, + { 0x0A06, 35083 }, + { 0x0A21, 35086 }, + { 0x0A02, 35089 }, + { 0x0A0E, 35092 }, + { 0x0A0B, 35095 }, + { 0x0A1A, 35098 }, + { 0x0A16, 35101 }, + { 0x0A13, 35104 }, + { 0x0A09, 35107 }, + { 0x0A15, 35110 }, + { 0x0A18, 35113 }, + { 0x0A20, 35116 }, + { 0x0A12, 35119 }, + { 0x0A04, 35122 }, + { 0x0A1D, 35125 }, + { 0x0A17, 35128 }, + { 0x0A1B, 35131 }, + { 0x0A0C, 35134 }, + { 0x0A11, 35137 }, + { 0x0A0F, 35140 }, + { 0x0A19, 35143 }, + { 0x0A1E, 35146 }, + { 0x0A1F, 35149 }, + { 0x0A10, 35152 }, + { 0x0A1C, 35155 }, + { 0x0A14, 35158 }, + { 0x0A3B, 35161 }, + { 0x0A3C, 35165 }, + { 0x0A3A, 35169 }, + { 0x0A44, 35172 }, + { 0x1C65, 35175 }, + { 0x1D8D, 35177 }, + { 0x1D8C, 35181 }, + { 0x71AC, 35183 }, + { 0x1C0A, 35186 }, + { 0x6F21, 35189 }, + { 0x6F1F, 35192 }, + { 0x6F20, 35195 }, + { 0x6F22, 35198 }, + { 0x21F9, 35201 }, + { 0x21F8, 35205 }, + { 0x6EEC, 35209 }, + { 0x6F26, 35212 }, + { 0x70D8, 35215 }, + { 0x268B, 35219 }, + { 0x6EE2, 35222 }, + { 0x1D7F, 35225 }, + { 0x25D0, 35228 }, + { 0x231A, 35232 }, + { 0x6D40, 35235 }, + { 0x6D6A, 35236 }, + { 0x229F, 35238 }, + { 0x005E, 35241 }, + { 0x2911, 35242 }, + { 0x2912, 35246 }, + { 0x290E, 35250 }, + { 0x1DC5, 35254 }, + { 0x25C4, 35256 }, + { 0x25C5, 35261 }, + { 0x26A3, 35266 }, + { 0x24CC, 35271 }, + { 0x1F7B, 35276 }, + { 0x252E, 35278 }, + { 0x252F, 35283 }, + { 0x6F66, 35288 }, + { 0x6F37, 35290 }, + { 0x1EB9, 35292 }, + { 0x1CAF, 35294 }, + { 0x6FC1, 35297 }, + { 0x6C72, 35298 }, + { 0x1DB3, 35299 }, + { 0x259B, 35300 }, + { 0x259F, 35304 }, + { 0x259C, 35308 }, + { 0x25A2, 35311 }, + { 0x25A0, 35316 }, + { 0x25A4, 35319 }, + { 0x20EE, 35325 }, + { 0x20DA, 35329 }, + { 0x213A, 35332 }, + { 0x2134, 35335 }, + { 0x1F39, 35340 }, + { 0x232E, 35348 }, + { 0x2136, 35353 }, + { 0x2152, 35358 }, + { 0x225B, 35361 }, + { 0x1F3A, 35364 }, + { 0x226A, 35372 }, + { 0x2137, 35375 }, + { 0x6E7A, 35380 }, + { 0x22AC, 35385 }, + { 0x2153, 35390 }, + { 0x22AA, 35393 }, + { 0x18C6, 35398 }, + { 0x18C7, 35402 }, + { 0x18C4, 35407 }, + { 0x18CA, 35410 }, + { 0x18BA, 35414 }, + { 0x18BE, 35418 }, + { 0x18B9, 35424 }, + { 0x18BC, 35428 }, + { 0x18BF, 35432 }, + { 0x18C8, 35438 }, + { 0x18C2, 35443 }, + { 0x18C3, 35447 }, + { 0x18C0, 35453 }, + { 0x18C1, 35457 }, + { 0x18C5, 35461 }, + { 0x18BB, 35466 }, + { 0x18BD, 35471 }, + { 0x18AA, 35476 }, + { 0x18AB, 35479 }, + { 0x18CC, 35484 }, + { 0x18CD, 35487 }, + { 0x18C9, 35490 }, + { 0x18B4, 35493 }, + { 0x18B5, 35497 }, + { 0x18CE, 35502 }, + { 0x18A8, 35506 }, + { 0x18B6, 35509 }, + { 0x18CB, 35514 }, + { 0x18AF, 35518 }, + { 0x18CF, 35522 }, + { 0x18B1, 35527 }, + { 0x18B2, 35531 }, + { 0x18B3, 35535 }, + { 0x18A9, 35539 }, + { 0x18A7, 35542 }, + { 0x18B7, 35545 }, + { 0x18AE, 35551 }, + { 0x18B0, 35557 }, + { 0x18AC, 35564 }, + { 0x18AD, 35570 }, + { 0x18B8, 35575 }, + { 0x2210, 35580 }, + { 0x6CE9, 35581 }, + { 0x6E34, 35583 }, + { 0x21A7, 35585 }, + { 0x1EA3, 35586 }, + { 0x71A1, 35587 }, + { 0x6C45, 35589 }, + { 0x6FF9, 35591 }, + { 0x6D3E, 35593 }, + { 0x6F7B, 35595 }, + { 0x6F64, 35598 }, + { 0x6D46, 35600 }, + { 0x2192, 35601 }, + { 0x2177, 35604 }, + { 0x6D81, 35608 }, + { 0x226B, 35613 }, + { 0x6C5E, 35615 }, + { 0x2196, 35617 }, + { 0x6C5F, 35621 }, + { 0x6C60, 35626 }, + { 0x6C61, 35630 }, + { 0x21C1, 35636 }, + { 0x6ED2, 35639 }, + { 0x2179, 35645 }, + { 0x6D82, 35649 }, + { 0x21EA, 35654 }, + { 0x2259, 35656 }, + { 0x2720, 35663 }, + { 0x2281, 35667 }, + { 0x6EE6, 35671 }, + { 0x2233, 35676 }, + { 0x2176, 35680 }, + { 0x6D83, 35684 }, + { 0x2160, 35689 }, + { 0x2678, 35691 }, + { 0x717D, 35695 }, + { 0x717E, 35700 }, + { 0x21AE, 35706 }, + { 0x21B3, 35709 }, + { 0x21B0, 35712 }, + { 0x21AF, 35715 }, + { 0x21B1, 35718 }, + { 0x21B2, 35721 }, + { 0x21BB, 35724 }, + { 0x225F, 35727 }, + { 0x2676, 35731 }, + { 0x6E81, 35734 }, + { 0x2178, 35737 }, + { 0x6D84, 35741 }, + { 0x2170, 35746 }, + { 0x26AC, 35749 }, + { 0x2105, 35752 }, + { 0x2685, 35755 }, + { 0x21BE, 35758 }, + { 0x2140, 35761 }, + { 0x2125, 35763 }, + { 0x21E0, 35765 }, + { 0x21E1, 35770 }, + { 0x2546, 35775 }, + { 0x214F, 35780 }, + { 0x2150, 35786 }, + { 0x214E, 35792 }, + { 0x2151, 35798 }, + { 0x70A0, 35804 }, + { 0x6DE9, 35810 }, + { 0x26AA, 35812 }, + { 0x2157, 35815 }, + { 0x2155, 35819 }, + { 0x2680, 35822 }, + { 0x2682, 35825 }, + { 0x3CDA, 35828 }, + { 0x20FB, 35831 }, + { 0x214B, 35833 }, + { 0x214C, 35839 }, + { 0x214A, 35845 }, + { 0x214D, 35851 }, + { 0x1F0E, 35857 }, + { 0x20FC, 35863 }, + { 0x2145, 35868 }, + { 0x233E, 35874 }, + { 0x233F, 35879 }, + { 0x6E6E, 35884 }, + { 0x70AA, 35887 }, + { 0x20FD, 35894 }, + { 0x70AB, 35900 }, + { 0x2121, 35906 }, + { 0x2225, 35908 }, + { 0x21BC, 35912 }, + { 0x232A, 35915 }, + { 0x70B0, 35920 }, + { 0x2122, 35927 }, + { 0x70B1, 35933 }, + { 0x267B, 35939 }, + { 0x70B6, 35941 }, + { 0x6D2C, 35947 }, + { 0x2194, 35949 }, + { 0x2231, 35952 }, + { 0x221A, 35957 }, + { 0x221B, 35960 }, + { 0x229A, 35963 }, + { 0x2193, 35965 }, + { 0x267A, 35968 }, + { 0x22AE, 35970 }, + { 0x225E, 35974 }, + { 0x231B, 35976 }, + { 0x2658, 35982 }, + { 0x2689, 35985 }, + { 0x2109, 35988 }, + { 0x2530, 35991 }, + { 0x2107, 35993 }, + { 0x2169, 35995 }, + { 0x6EB9, 35997 }, + { 0x1F6B, 36000 }, + { 0x2687, 36002 }, + { 0x22AF, 36005 }, + { 0x210F, 36009 }, + { 0x210D, 36013 }, + { 0x2146, 36016 }, + { 0x233B, 36021 }, + { 0x233C, 36024 }, + { 0x233D, 36030 }, + { 0x2119, 36036 }, + { 0x2117, 36040 }, + { 0x211D, 36043 }, + { 0x211F, 36047 }, + { 0x211B, 36050 }, + { 0x210B, 36053 }, + { 0x2113, 36055 }, + { 0x2115, 36059 }, + { 0x26AE, 36062 }, + { 0x2111, 36065 }, + { 0x6EE9, 36068 }, + { 0x6DA4, 36070 }, + { 0x6DAA, 36071 }, + { 0x6F35, 36075 }, + { 0x3F79, 36077 }, + { 0x3F45, 36082 }, + { 0x3F44, 36086 }, + { 0x3F46, 36090 }, + { 0x3F7A, 36093 }, + { 0x3F47, 36098 }, + { 0x3F59, 36101 }, + { 0x3F62, 36105 }, + { 0x3F4C, 36109 }, + { 0x3F5E, 36112 }, + { 0x3F67, 36116 }, + { 0x3F50, 36120 }, + { 0x3F6B, 36123 }, + { 0x3F48, 36127 }, + { 0x3F5A, 36130 }, + { 0x3F63, 36134 }, + { 0x3F4B, 36138 }, + { 0x3F5D, 36141 }, + { 0x3F66, 36145 }, + { 0x3F4A, 36149 }, + { 0x3F5C, 36152 }, + { 0x3F65, 36156 }, + { 0x3F4F, 36160 }, + { 0x3F61, 36163 }, + { 0x3F6A, 36167 }, + { 0x3F4E, 36171 }, + { 0x3F60, 36174 }, + { 0x3F69, 36178 }, + { 0x3F54, 36182 }, + { 0x3F6F, 36185 }, + { 0x3F53, 36189 }, + { 0x3F6E, 36192 }, + { 0x3F4D, 36196 }, + { 0x3F5F, 36199 }, + { 0x3F68, 36203 }, + { 0x3F55, 36207 }, + { 0x3F70, 36210 }, + { 0x3F49, 36214 }, + { 0x3F5B, 36217 }, + { 0x3F64, 36221 }, + { 0x3F57, 36225 }, + { 0x3F72, 36228 }, + { 0x3F58, 36232 }, + { 0x3F73, 36235 }, + { 0x3F52, 36239 }, + { 0x3F6D, 36242 }, + { 0x3F51, 36246 }, + { 0x3F6C, 36249 }, + { 0x3F56, 36253 }, + { 0x3F71, 36256 }, + { 0x3F74, 36260 }, + { 0x3F75, 36264 }, + { 0x3F77, 36268 }, + { 0x3F78, 36272 }, + { 0x3F76, 36276 }, + { 0x3F7C, 36280 }, + { 0x3F7B, 36284 }, + { 0x6FDC, 36288 }, + { 0x1DD3, 36290 }, + { 0x1DD1, 36295 }, + { 0x25C9, 36298 }, + { 0x21ED, 36304 }, + { 0x0672, 36305 }, + { 0x059E, 36309 }, + { 0x05A3, 36311 }, + { 0x0602, 36314 }, + { 0x0669, 36318 }, + { 0x0819, 36321 }, + { 0x081B, 36325 }, + { 0x05ED, 36329 }, + { 0x0821, 36333 }, + { 0x0813, 36338 }, + { 0x0812, 36341 }, + { 0x0814, 36344 }, + { 0x05A9, 36347 }, + { 0x05A5, 36352 }, + { 0x0599, 36355 }, + { 0x0597, 36358 }, + { 0x05A7, 36361 }, + { 0x059A, 36365 }, + { 0x0692, 36368 }, + { 0x0693, 36372 }, + { 0x05AA, 36377 }, + { 0x05A8, 36380 }, + { 0x05A6, 36384 }, + { 0x3D01, 36389 }, + { 0x080C, 36392 }, + { 0x080F, 36397 }, + { 0x080D, 36402 }, + { 0x0810, 36407 }, + { 0x080E, 36412 }, + { 0x0811, 36416 }, + { 0x05F4, 36420 }, + { 0x05A2, 36424 }, + { 0x0807, 36426 }, + { 0x0806, 36429 }, + { 0x0808, 36432 }, + { 0x080A, 36435 }, + { 0x0809, 36438 }, + { 0x080B, 36441 }, + { 0x05E4, 36444 }, + { 0x0820, 36446 }, + { 0x3D06, 36450 }, + { 0x3D05, 36454 }, + { 0x067F, 36458 }, + { 0x0680, 36463 }, + { 0x05E3, 36468 }, + { 0x0817, 36470 }, + { 0x05F3, 36475 }, + { 0x0816, 36480 }, + { 0x3D04, 36484 }, + { 0x3D03, 36488 }, + { 0x05E9, 36492 }, + { 0x05EA, 36495 }, + { 0x05E5, 36498 }, + { 0x0818, 36500 }, + { 0x3D08, 36505 }, + { 0x3D07, 36509 }, + { 0x067E, 36513 }, + { 0x081A, 36517 }, + { 0x081F, 36521 }, + { 0x081C, 36527 }, + { 0x0682, 36531 }, + { 0x07FB, 36535 }, + { 0x0678, 36541 }, + { 0x067A, 36545 }, + { 0x067B, 36548 }, + { 0x07F8, 36551 }, + { 0x066E, 36555 }, + { 0x07F9, 36560 }, + { 0x07F7, 36564 }, + { 0x05AB, 36568 }, + { 0x0815, 36572 }, + { 0x067C, 36576 }, + { 0x066F, 36580 }, + { 0x066D, 36584 }, + { 0x0677, 36590 }, + { 0x067D, 36596 }, + { 0x07FA, 36600 }, + { 0x0671, 36606 }, + { 0x0803, 36610 }, + { 0x0800, 36615 }, + { 0x07FF, 36620 }, + { 0x0801, 36625 }, + { 0x07F6, 36630 }, + { 0x07FE, 36635 }, + { 0x07FD, 36640 }, + { 0x07FC, 36645 }, + { 0x05AD, 36650 }, + { 0x0679, 36654 }, + { 0x0670, 36658 }, + { 0x0676, 36663 }, + { 0x0674, 36670 }, + { 0x0675, 36675 }, + { 0x0802, 36681 }, + { 0x066C, 36686 }, + { 0x066B, 36696 }, + { 0x05AC, 36706 }, + { 0x05AF, 36715 }, + { 0x05AE, 36718 }, + { 0x05B0, 36721 }, + { 0x0673, 36724 }, + { 0x05E7, 36730 }, + { 0x3D0C, 36732 }, + { 0x3D0B, 36736 }, + { 0x05F1, 36740 }, + { 0x05EF, 36745 }, + { 0x05F0, 36751 }, + { 0x081D, 36758 }, + { 0x081E, 36763 }, + { 0x0665, 36770 }, + { 0x3ACB, 36773 }, + { 0x3ACD, 36778 }, + { 0x3ACC, 36783 }, + { 0x3ACA, 36788 }, + { 0x065C, 36793 }, + { 0x060C, 36796 }, + { 0x3AC3, 36802 }, + { 0x3ABE, 36810 }, + { 0x3ABD, 36815 }, + { 0x066A, 36820 }, + { 0x0642, 36823 }, + { 0x3ABA, 36826 }, + { 0x3ABC, 36831 }, + { 0x3ABB, 36836 }, + { 0x3AB9, 36841 }, + { 0x065B, 36846 }, + { 0x3AC0, 36849 }, + { 0x3ABF, 36854 }, + { 0x0660, 36859 }, + { 0x3AC5, 36862 }, + { 0x3AC4, 36867 }, + { 0x065D, 36872 }, + { 0x3AC2, 36875 }, + { 0x3AC1, 36880 }, + { 0x05CE, 36885 }, + { 0x06EF, 36888 }, + { 0x06F1, 36895 }, + { 0x0635, 36903 }, + { 0x07EC, 36910 }, + { 0x06F0, 36917 }, + { 0x3D57, 36926 }, + { 0x3D59, 36931 }, + { 0x3D58, 36936 }, + { 0x3D56, 36941 }, + { 0x05BD, 36946 }, + { 0x06E3, 36949 }, + { 0x06E6, 36959 }, + { 0x07DA, 36969 }, + { 0x06E8, 36975 }, + { 0x07D9, 36981 }, + { 0x07EE, 36988 }, + { 0x06E4, 36995 }, + { 0x06E5, 37004 }, + { 0x06E2, 37017 }, + { 0x06E7, 37025 }, + { 0x3D1D, 37033 }, + { 0x3D1F, 37038 }, + { 0x3D1E, 37043 }, + { 0x3D1C, 37048 }, + { 0x05CB, 37053 }, + { 0x0690, 37056 }, + { 0x3D4B, 37062 }, + { 0x3D4D, 37067 }, + { 0x3D4C, 37072 }, + { 0x3D4A, 37077 }, + { 0x05C4, 37082 }, + { 0x061F, 37085 }, + { 0x0620, 37091 }, + { 0x06EB, 37100 }, + { 0x0625, 37111 }, + { 0x061E, 37118 }, + { 0x0624, 37123 }, + { 0x07E7, 37131 }, + { 0x0683, 37138 }, + { 0x06EC, 37144 }, + { 0x3D37, 37152 }, + { 0x3D36, 37157 }, + { 0x0623, 37162 }, + { 0x3A7E, 37165 }, + { 0x3A7D, 37170 }, + { 0x05D6, 37175 }, + { 0x0638, 37178 }, + { 0x07DD, 37184 }, + { 0x0637, 37194 }, + { 0x06F2, 37201 }, + { 0x063A, 37208 }, + { 0x06F3, 37215 }, + { 0x3D5F, 37224 }, + { 0x3D61, 37229 }, + { 0x3D60, 37234 }, + { 0x3D5E, 37239 }, + { 0x0644, 37244 }, + { 0x0647, 37247 }, + { 0x0645, 37254 }, + { 0x0649, 37259 }, + { 0x07E9, 37266 }, + { 0x3A8A, 37272 }, + { 0x3A8C, 37277 }, + { 0x3A8B, 37282 }, + { 0x3A89, 37287 }, + { 0x05C2, 37292 }, + { 0x06E9, 37295 }, + { 0x0617, 37302 }, + { 0x0616, 37310 }, + { 0x0701, 37316 }, + { 0x0704, 37327 }, + { 0x0700, 37336 }, + { 0x061A, 37345 }, + { 0x06EA, 37352 }, + { 0x070E, 37361 }, + { 0x3D2F, 37370 }, + { 0x3D31, 37375 }, + { 0x3D30, 37380 }, + { 0x3D2E, 37385 }, + { 0x05DC, 37390 }, + { 0x0656, 37393 }, + { 0x0657, 37397 }, + { 0x3A9E, 37404 }, + { 0x3AA0, 37410 }, + { 0x3A9F, 37416 }, + { 0x3A9D, 37422 }, + { 0x0655, 37428 }, + { 0x3A9C, 37434 }, + { 0x3A9B, 37442 }, + { 0x0694, 37450 }, + { 0x3D77, 37456 }, + { 0x3D79, 37461 }, + { 0x3D78, 37466 }, + { 0x3D76, 37471 }, + { 0x0653, 37476 }, + { 0x3AA2, 37480 }, + { 0x3AA4, 37486 }, + { 0x3AA3, 37492 }, + { 0x3AA1, 37498 }, + { 0x062D, 37504 }, + { 0x3A82, 37507 }, + { 0x3A81, 37512 }, + { 0x05D8, 37517 }, + { 0x0641, 37520 }, + { 0x07ED, 37526 }, + { 0x0711, 37532 }, + { 0x0640, 37539 }, + { 0x0643, 37544 }, + { 0x3D67, 37551 }, + { 0x3D69, 37556 }, + { 0x3D68, 37561 }, + { 0x3D66, 37566 }, + { 0x05D9, 37571 }, + { 0x06FC, 37574 }, + { 0x064B, 37579 }, + { 0x064A, 37585 }, + { 0x064C, 37591 }, + { 0x064D, 37598 }, + { 0x07DF, 37605 }, + { 0x3D6B, 37611 }, + { 0x3D6D, 37616 }, + { 0x3D6C, 37621 }, + { 0x3D6A, 37626 }, + { 0x07E6, 37631 }, + { 0x0613, 37635 }, + { 0x07EF, 37638 }, + { 0x3A4E, 37645 }, + { 0x3A50, 37650 }, + { 0x3A4F, 37655 }, + { 0x3A4D, 37660 }, + { 0x05D7, 37665 }, + { 0x063C, 37668 }, + { 0x07DE, 37674 }, + { 0x063D, 37680 }, + { 0x3D63, 37687 }, + { 0x3D65, 37692 }, + { 0x3D64, 37697 }, + { 0x3D62, 37702 }, + { 0x05C6, 37707 }, + { 0x0629, 37710 }, + { 0x062B, 37716 }, + { 0x062C, 37725 }, + { 0x06FD, 37732 }, + { 0x062E, 37740 }, + { 0x07E3, 37747 }, + { 0x0628, 37752 }, + { 0x06FE, 37757 }, + { 0x0627, 37763 }, + { 0x062A, 37769 }, + { 0x07F1, 37776 }, + { 0x0703, 37783 }, + { 0x06ED, 37794 }, + { 0x0684, 37799 }, + { 0x3D3B, 37805 }, + { 0x3D3A, 37810 }, + { 0x05CA, 37815 }, + { 0x0632, 37818 }, + { 0x0633, 37825 }, + { 0x07E8, 37832 }, + { 0x3D47, 37839 }, + { 0x3D49, 37844 }, + { 0x3D48, 37849 }, + { 0x3D46, 37854 }, + { 0x05CC, 37859 }, + { 0x07DC, 37862 }, + { 0x0634, 37869 }, + { 0x3D4F, 37876 }, + { 0x3D51, 37881 }, + { 0x3D50, 37886 }, + { 0x3D4E, 37891 }, + { 0x05BF, 37896 }, + { 0x0611, 37899 }, + { 0x07F0, 37904 }, + { 0x0612, 37911 }, + { 0x3D23, 37919 }, + { 0x3D25, 37924 }, + { 0x3D24, 37929 }, + { 0x05BE, 37934 }, + { 0x0658, 37938 }, + { 0x3D21, 37943 }, + { 0x3D20, 37949 }, + { 0x3D22, 37955 }, + { 0x0639, 37960 }, + { 0x3A62, 37963 }, + { 0x3A64, 37968 }, + { 0x3A63, 37973 }, + { 0x3A61, 37978 }, + { 0x05DD, 37983 }, + { 0x0664, 37986 }, + { 0x07E4, 37992 }, + { 0x065F, 37998 }, + { 0x0659, 38005 }, + { 0x05B9, 38010 }, + { 0x3D13, 38016 }, + { 0x3D12, 38024 }, + { 0x070A, 38032 }, + { 0x070B, 38041 }, + { 0x3D7B, 38050 }, + { 0x3D7A, 38055 }, + { 0x05DF, 38060 }, + { 0x07E2, 38063 }, + { 0x07E1, 38073 }, + { 0x07F2, 38083 }, + { 0x0662, 38094 }, + { 0x05BB, 38099 }, + { 0x3D17, 38105 }, + { 0x3D19, 38113 }, + { 0x3D18, 38121 }, + { 0x3D16, 38129 }, + { 0x0663, 38137 }, + { 0x0666, 38143 }, + { 0x3D7F, 38150 }, + { 0x0667, 38155 }, + { 0x0668, 38159 }, + { 0x3AA8, 38166 }, + { 0x3AA7, 38175 }, + { 0x070C, 38184 }, + { 0x070D, 38194 }, + { 0x3AA6, 38204 }, + { 0x3AA5, 38210 }, + { 0x3D81, 38216 }, + { 0x3D80, 38221 }, + { 0x3D7E, 38226 }, + { 0x05CD, 38231 }, + { 0x3D53, 38234 }, + { 0x3D55, 38239 }, + { 0x3D54, 38244 }, + { 0x3D52, 38249 }, + { 0x05BC, 38254 }, + { 0x0607, 38257 }, + { 0x0608, 38264 }, + { 0x05B8, 38271 }, + { 0x3D11, 38277 }, + { 0x3D10, 38285 }, + { 0x05BA, 38293 }, + { 0x3D15, 38299 }, + { 0x3D14, 38307 }, + { 0x05B7, 38315 }, + { 0x3D0F, 38321 }, + { 0x3D0E, 38329 }, + { 0x0705, 38337 }, + { 0x0706, 38346 }, + { 0x3D1B, 38355 }, + { 0x0606, 38360 }, + { 0x3A48, 38364 }, + { 0x3A47, 38370 }, + { 0x05DE, 38376 }, + { 0x3D7D, 38380 }, + { 0x3D7C, 38386 }, + { 0x3D1A, 38392 }, + { 0x0610, 38397 }, + { 0x3A4A, 38400 }, + { 0x3A4C, 38405 }, + { 0x3A4B, 38410 }, + { 0x3A49, 38415 }, + { 0x061D, 38420 }, + { 0x3A80, 38423 }, + { 0x3A7F, 38428 }, + { 0x0619, 38433 }, + { 0x3A6A, 38436 }, + { 0x3A6C, 38441 }, + { 0x3A6B, 38446 }, + { 0x3A69, 38451 }, + { 0x0648, 38456 }, + { 0x3A8E, 38459 }, + { 0x3A90, 38464 }, + { 0x3A8F, 38469 }, + { 0x3A8D, 38474 }, + { 0x0609, 38479 }, + { 0x060B, 38483 }, + { 0x060D, 38488 }, + { 0x060A, 38493 }, + { 0x05C1, 38498 }, + { 0x07DB, 38501 }, + { 0x3D2B, 38508 }, + { 0x3D2D, 38513 }, + { 0x3D2C, 38518 }, + { 0x3D2A, 38523 }, + { 0x05C3, 38528 }, + { 0x3D33, 38531 }, + { 0x3D35, 38536 }, + { 0x3D34, 38541 }, + { 0x3D32, 38546 }, + { 0x05B2, 38551 }, + { 0x05DA, 38554 }, + { 0x06F7, 38557 }, + { 0x06F8, 38563 }, + { 0x07E0, 38569 }, + { 0x3D6F, 38576 }, + { 0x3D71, 38581 }, + { 0x3D70, 38586 }, + { 0x3D6E, 38591 }, + { 0x05DB, 38596 }, + { 0x064E, 38599 }, + { 0x06F9, 38605 }, + { 0x0651, 38612 }, + { 0x06FB, 38617 }, + { 0x06FA, 38623 }, + { 0x0652, 38629 }, + { 0x3D73, 38636 }, + { 0x064F, 38641 }, + { 0x3A96, 38645 }, + { 0x3A95, 38651 }, + { 0x3D75, 38657 }, + { 0x3D74, 38662 }, + { 0x3D72, 38667 }, + { 0x0618, 38672 }, + { 0x3A6E, 38675 }, + { 0x3A70, 38680 }, + { 0x3A6F, 38685 }, + { 0x3A6D, 38690 }, + { 0x0626, 38695 }, + { 0x3A84, 38698 }, + { 0x3A83, 38703 }, + { 0x05C8, 38708 }, + { 0x062F, 38711 }, + { 0x06FF, 38720 }, + { 0x06EE, 38728 }, + { 0x0702, 38735 }, + { 0x0630, 38746 }, + { 0x0631, 38753 }, + { 0x070F, 38764 }, + { 0x0710, 38773 }, + { 0x3D3F, 38779 }, + { 0x3D41, 38784 }, + { 0x3D40, 38789 }, + { 0x3D3E, 38794 }, + { 0x05C5, 38799 }, + { 0x3D39, 38802 }, + { 0x3D38, 38807 }, + { 0x05C0, 38812 }, + { 0x3D27, 38815 }, + { 0x3D29, 38820 }, + { 0x3D28, 38825 }, + { 0x3D26, 38830 }, + { 0x060E, 38835 }, + { 0x3A5E, 38838 }, + { 0x3A60, 38843 }, + { 0x3A5F, 38848 }, + { 0x3A5D, 38853 }, + { 0x05C7, 38858 }, + { 0x07EB, 38861 }, + { 0x3D3D, 38868 }, + { 0x3D3C, 38873 }, + { 0x0615, 38878 }, + { 0x3A52, 38881 }, + { 0x3A54, 38886 }, + { 0x3A53, 38891 }, + { 0x3A51, 38896 }, + { 0x0621, 38901 }, + { 0x3A7C, 38904 }, + { 0x3A7B, 38909 }, + { 0x0661, 38914 }, + { 0x05D3, 38918 }, + { 0x05D4, 38926 }, + { 0x0707, 38934 }, + { 0x0709, 38944 }, + { 0x0708, 38954 }, + { 0x05D2, 38964 }, + { 0x3AE3, 38971 }, + { 0x3AE5, 38977 }, + { 0x3AE4, 38983 }, + { 0x3AE2, 38989 }, + { 0x05CF, 38995 }, + { 0x0691, 38998 }, + { 0x3D5B, 39004 }, + { 0x3D5D, 39009 }, + { 0x3D5C, 39014 }, + { 0x3D5A, 39019 }, + { 0x05B6, 39024 }, + { 0x3D0D, 39027 }, + { 0x063E, 39032 }, + { 0x06F4, 39035 }, + { 0x05D0, 39041 }, + { 0x06F5, 39048 }, + { 0x05D1, 39055 }, + { 0x06F6, 39062 }, + { 0x3A86, 39071 }, + { 0x3A88, 39076 }, + { 0x3A87, 39081 }, + { 0x3A85, 39086 }, + { 0x0646, 39091 }, + { 0x3A92, 39094 }, + { 0x3A94, 39099 }, + { 0x3A93, 39104 }, + { 0x3A91, 39109 }, + { 0x063B, 39114 }, + { 0x3A66, 39117 }, + { 0x3A68, 39122 }, + { 0x3A67, 39127 }, + { 0x3A65, 39132 }, + { 0x0650, 39137 }, + { 0x3A98, 39140 }, + { 0x3A9A, 39145 }, + { 0x3A99, 39150 }, + { 0x3A97, 39155 }, + { 0x05C9, 39160 }, + { 0x068F, 39163 }, + { 0x3D43, 39169 }, + { 0x3D45, 39174 }, + { 0x3D44, 39179 }, + { 0x3D42, 39184 }, + { 0x063F, 39189 }, + { 0x061B, 39193 }, + { 0x0654, 39196 }, + { 0x3A72, 39202 }, + { 0x3A74, 39207 }, + { 0x3A73, 39212 }, + { 0x3A71, 39217 }, + { 0x0614, 39222 }, + { 0x3A5A, 39225 }, + { 0x3A5C, 39230 }, + { 0x3A5B, 39235 }, + { 0x3A59, 39240 }, + { 0x0622, 39245 }, + { 0x3A7A, 39248 }, + { 0x3A79, 39253 }, + { 0x060F, 39258 }, + { 0x3A56, 39261 }, + { 0x3A58, 39266 }, + { 0x3A57, 39271 }, + { 0x3A55, 39276 }, + { 0x3ACF, 39281 }, + { 0x3ACE, 39290 }, + { 0x07F3, 39299 }, + { 0x07F4, 39303 }, + { 0x07F5, 39307 }, + { 0x0603, 39311 }, + { 0x0636, 39315 }, + { 0x0604, 39319 }, + { 0x065A, 39323 }, + { 0x3AC7, 39327 }, + { 0x3AC6, 39333 }, + { 0x065E, 39339 }, + { 0x3AC9, 39343 }, + { 0x3AC8, 39349 }, + { 0x061C, 39355 }, + { 0x3A76, 39358 }, + { 0x3A78, 39363 }, + { 0x3A77, 39368 }, + { 0x3A75, 39373 }, + { 0x05B5, 39378 }, + { 0x07E5, 39382 }, + { 0x07EA, 39386 }, + { 0x0605, 39390 }, + { 0x05E8, 39394 }, + { 0x059B, 39397 }, + { 0x0596, 39401 }, + { 0x05A4, 39404 }, + { 0x05E6, 39408 }, + { 0x3D0A, 39410 }, + { 0x3D09, 39414 }, + { 0x3AA9, 39418 }, + { 0x3AAA, 39422 }, + { 0x3AAB, 39426 }, + { 0x3AAC, 39431 }, + { 0x3AB4, 39436 }, + { 0x3AB5, 39442 }, + { 0x3AB1, 39448 }, + { 0x3AB2, 39453 }, + { 0x3AB6, 39458 }, + { 0x3AB7, 39461 }, + { 0x3AB8, 39466 }, + { 0x3AAD, 39471 }, + { 0x3AAE, 39476 }, + { 0x3AAF, 39481 }, + { 0x3AB0, 39488 }, + { 0x3AB3, 39495 }, + { 0x05B3, 39501 }, + { 0x0805, 39506 }, + { 0x0600, 39510 }, + { 0x05FF, 39513 }, + { 0x0681, 39516 }, + { 0x05D5, 39523 }, + { 0x3CFF, 39525 }, + { 0x05E1, 39530 }, + { 0x3D00, 39532 }, + { 0x0804, 39536 }, + { 0x05E0, 39541 }, + { 0x3CFE, 39543 }, + { 0x0598, 39547 }, + { 0x05EC, 39550 }, + { 0x05E2, 39553 }, + { 0x3D02, 39555 }, + { 0x3BFA, 39559 }, + { 0x3BDE, 39566 }, + { 0x3BF9, 39573 }, + { 0x3BDD, 39581 }, + { 0x3C4B, 39589 }, + { 0x3C98, 39598 }, + { 0x3BA0, 39607 }, + { 0x3B0F, 39614 }, + { 0x3C8A, 39621 }, + { 0x3C4E, 39630 }, + { 0x3C4C, 39640 }, + { 0x3C4D, 39649 }, + { 0x3BA1, 39658 }, + { 0x3B10, 39665 }, + { 0x3C96, 39672 }, + { 0x3B83, 39681 }, + { 0x3AEC, 39688 }, + { 0x3BC8, 39695 }, + { 0x3B86, 39702 }, + { 0x3B50, 39709 }, + { 0x3B55, 39716 }, + { 0x3AF0, 39723 }, + { 0x3B54, 39730 }, + { 0x3AEF, 39738 }, + { 0x3B82, 39746 }, + { 0x3AEB, 39753 }, + { 0x3C72, 39760 }, + { 0x3B84, 39769 }, + { 0x3AED, 39776 }, + { 0x3B52, 39783 }, + { 0x3BC7, 39790 }, + { 0x3B85, 39797 }, + { 0x3AEE, 39804 }, + { 0x3B53, 39811 }, + { 0x3B51, 39818 }, + { 0x3C7F, 39825 }, + { 0x3C44, 39834 }, + { 0x3B9B, 39844 }, + { 0x3B09, 39851 }, + { 0x3C12, 39858 }, + { 0x3BF6, 39865 }, + { 0x3C0A, 39872 }, + { 0x3BEE, 39879 }, + { 0x3C09, 39886 }, + { 0x3BED, 39894 }, + { 0x3B9A, 39902 }, + { 0x3B08, 39909 }, + { 0x3C45, 39916 }, + { 0x3C46, 39925 }, + { 0x3B9C, 39934 }, + { 0x3B0A, 39941 }, + { 0x3B9D, 39948 }, + { 0x3B0B, 39955 }, + { 0x3BA5, 39962 }, + { 0x3B14, 39969 }, + { 0x3B63, 39976 }, + { 0x3B18, 39983 }, + { 0x3B62, 39990 }, + { 0x3B17, 39998 }, + { 0x3BA4, 40006 }, + { 0x3B13, 40013 }, + { 0x3C52, 40020 }, + { 0x3C53, 40029 }, + { 0x3BA6, 40038 }, + { 0x3B15, 40045 }, + { 0x3C95, 40052 }, + { 0x3BA7, 40061 }, + { 0x3B16, 40068 }, + { 0x3C02, 40075 }, + { 0x3BE6, 40082 }, + { 0x3C01, 40089 }, + { 0x3BE5, 40097 }, + { 0x3C93, 40105 }, + { 0x3B8F, 40114 }, + { 0x3AFD, 40121 }, + { 0x3C30, 40128 }, + { 0x3C31, 40137 }, + { 0x3B90, 40147 }, + { 0x3AFE, 40154 }, + { 0x3B3A, 40161 }, + { 0x3B39, 40168 }, + { 0x3BBD, 40176 }, + { 0x3B37, 40183 }, + { 0x3C67, 40190 }, + { 0x3C68, 40199 }, + { 0x3BBE, 40208 }, + { 0x3B38, 40215 }, + { 0x3BBF, 40222 }, + { 0x3BAB, 40230 }, + { 0x3B1F, 40237 }, + { 0x3B67, 40244 }, + { 0x3BD1, 40251 }, + { 0x3BAD, 40258 }, + { 0x3B21, 40265 }, + { 0x3B6A, 40272 }, + { 0x3B24, 40279 }, + { 0x3B66, 40286 }, + { 0x3B69, 40293 }, + { 0x3B23, 40301 }, + { 0x3B1D, 40309 }, + { 0x3BAA, 40316 }, + { 0x3B1E, 40323 }, + { 0x3BAC, 40330 }, + { 0x3B20, 40337 }, + { 0x3C8B, 40344 }, + { 0x3C8F, 40353 }, + { 0x3C97, 40362 }, + { 0x3B68, 40371 }, + { 0x3BD2, 40378 }, + { 0x3BAE, 40385 }, + { 0x3B22, 40392 }, + { 0x3C57, 40399 }, + { 0x3C58, 40408 }, + { 0x3C56, 40418 }, + { 0x3C89, 40427 }, + { 0x3BB0, 40436 }, + { 0x3B26, 40443 }, + { 0x3BB3, 40450 }, + { 0x3B6D, 40457 }, + { 0x3B2A, 40464 }, + { 0x3D85, 40471 }, + { 0x3D84, 40481 }, + { 0x3D87, 40491 }, + { 0x3D86, 40501 }, + { 0x3D83, 40511 }, + { 0x3D82, 40521 }, + { 0x3D89, 40531 }, + { 0x3B6C, 40538 }, + { 0x3B29, 40546 }, + { 0x3D88, 40554 }, + { 0x3C80, 40561 }, + { 0x3C5A, 40570 }, + { 0x3C59, 40579 }, + { 0x3C90, 40588 }, + { 0x3C8E, 40597 }, + { 0x3BAF, 40606 }, + { 0x3B25, 40613 }, + { 0x3C5B, 40620 }, + { 0x3C5C, 40629 }, + { 0x3BB1, 40638 }, + { 0x3B27, 40645 }, + { 0x3C5D, 40652 }, + { 0x3C5E, 40661 }, + { 0x3C81, 40670 }, + { 0x3B6B, 40679 }, + { 0x3BD3, 40686 }, + { 0x3BB2, 40693 }, + { 0x3B28, 40700 }, + { 0x3BA8, 40707 }, + { 0x3B19, 40714 }, + { 0x3B65, 40721 }, + { 0x3B1C, 40728 }, + { 0x3B64, 40735 }, + { 0x3B1B, 40743 }, + { 0x3C54, 40751 }, + { 0x3C88, 40760 }, + { 0x3C86, 40769 }, + { 0x3C55, 40778 }, + { 0x3BA9, 40787 }, + { 0x3B1A, 40794 }, + { 0x3B42, 40801 }, + { 0x3C3A, 40809 }, + { 0x3C3B, 40818 }, + { 0x3C7D, 40827 }, + { 0x3B97, 40836 }, + { 0x3B06, 40843 }, + { 0x3C11, 40850 }, + { 0x3BF5, 40857 }, + { 0x3C08, 40864 }, + { 0x3BEC, 40871 }, + { 0x3C07, 40878 }, + { 0x3BEB, 40886 }, + { 0x3B98, 40894 }, + { 0x3C3C, 40901 }, + { 0x3C99, 40910 }, + { 0x3B99, 40919 }, + { 0x3B07, 40926 }, + { 0x3B9E, 40933 }, + { 0x3B0C, 40940 }, + { 0x3BF8, 40947 }, + { 0x3BDC, 40954 }, + { 0x3BF7, 40961 }, + { 0x3BDB, 40969 }, + { 0x3C47, 40977 }, + { 0x3C48, 40986 }, + { 0x3C4A, 40995 }, + { 0x3C49, 41004 }, + { 0x3C20, 41013 }, + { 0x3C19, 41020 }, + { 0x3B0D, 41027 }, + { 0x3C27, 41034 }, + { 0x3C28, 41043 }, + { 0x3C29, 41052 }, + { 0x3B88, 41061 }, + { 0x3AF2, 41068 }, + { 0x3BCA, 41075 }, + { 0x3B8B, 41082 }, + { 0x3B56, 41089 }, + { 0x3B5B, 41096 }, + { 0x3AF6, 41103 }, + { 0x3B5A, 41110 }, + { 0x3AF5, 41118 }, + { 0x3C73, 41126 }, + { 0x3C74, 41135 }, + { 0x3C26, 41145 }, + { 0x3B87, 41154 }, + { 0x3AF1, 41161 }, + { 0x3C75, 41168 }, + { 0x3C76, 41177 }, + { 0x3C2A, 41187 }, + { 0x3B89, 41196 }, + { 0x3AF3, 41203 }, + { 0x3C2C, 41210 }, + { 0x3C77, 41219 }, + { 0x3C78, 41228 }, + { 0x3C2B, 41238 }, + { 0x3C2D, 41247 }, + { 0x3B58, 41256 }, + { 0x3BC9, 41263 }, + { 0x3B8A, 41270 }, + { 0x3AF4, 41277 }, + { 0x3B59, 41284 }, + { 0x3B57, 41291 }, + { 0x3C82, 41298 }, + { 0x3BC1, 41307 }, + { 0x3B3C, 41314 }, + { 0x3BD7, 41321 }, + { 0x3BC4, 41328 }, + { 0x3B77, 41335 }, + { 0x3B7C, 41342 }, + { 0x3B40, 41349 }, + { 0x3B7B, 41356 }, + { 0x3B3F, 41364 }, + { 0x3C83, 41372 }, + { 0x3BC0, 41381 }, + { 0x3B3B, 41388 }, + { 0x3BC2, 41395 }, + { 0x3B3D, 41402 }, + { 0x3C84, 41409 }, + { 0x3C70, 41418 }, + { 0x3C71, 41427 }, + { 0x3B79, 41436 }, + { 0x3BD6, 41443 }, + { 0x3BC3, 41450 }, + { 0x3B3E, 41457 }, + { 0x3B7A, 41464 }, + { 0x3B78, 41471 }, + { 0x3ADD, 41478 }, + { 0x3ADE, 41488 }, + { 0x3ADC, 41498 }, + { 0x3AD7, 41508 }, + { 0x3AD6, 41518 }, + { 0x3AD3, 41528 }, + { 0x3AD2, 41538 }, + { 0x3AD9, 41548 }, + { 0x3AD8, 41558 }, + { 0x3ADB, 41568 }, + { 0x3ADA, 41578 }, + { 0x3B7E, 41588 }, + { 0x3AE7, 41598 }, + { 0x3BC6, 41608 }, + { 0x3B81, 41618 }, + { 0x3B4A, 41628 }, + { 0x3AD5, 41638 }, + { 0x3AD4, 41648 }, + { 0x3B4F, 41658 }, + { 0x3AEA, 41668 }, + { 0x3AD1, 41678 }, + { 0x3B4E, 41688 }, + { 0x3AE9, 41699 }, + { 0x3AD0, 41710 }, + { 0x3B7D, 41720 }, + { 0x3AE6, 41730 }, + { 0x3B7F, 41740 }, + { 0x3B4C, 41750 }, + { 0x3BC5, 41760 }, + { 0x3B80, 41770 }, + { 0x3AE8, 41780 }, + { 0x3B4D, 41790 }, + { 0x3B4B, 41800 }, + { 0x3C21, 41810 }, + { 0x3B9F, 41817 }, + { 0x3B0E, 41824 }, + { 0x3C22, 41831 }, + { 0x3C23, 41838 }, + { 0x3B76, 41845 }, + { 0x3B43, 41854 }, + { 0x3C92, 41863 }, + { 0x3C7A, 41872 }, + { 0x3B8D, 41882 }, + { 0x3AFB, 41889 }, + { 0x3C04, 41896 }, + { 0x3BE8, 41903 }, + { 0x3C03, 41910 }, + { 0x3BE7, 41918 }, + { 0x3C2E, 41926 }, + { 0x3C2F, 41935 }, + { 0x3C79, 41944 }, + { 0x3C7B, 41953 }, + { 0x3B8E, 41963 }, + { 0x3AFC, 41970 }, + { 0x3B00, 41977 }, + { 0x3C06, 41984 }, + { 0x3BEA, 41991 }, + { 0x3C05, 41998 }, + { 0x3BE9, 42006 }, + { 0x3B91, 42014 }, + { 0x3AFF, 42021 }, + { 0x3B92, 42028 }, + { 0x3B01, 42035 }, + { 0x3C61, 42042 }, + { 0x3C5F, 42051 }, + { 0x3C60, 42060 }, + { 0x3BB5, 42069 }, + { 0x3B2C, 42076 }, + { 0x3B30, 42083 }, + { 0x3B6E, 42090 }, + { 0x3B2F, 42097 }, + { 0x3C62, 42105 }, + { 0x3C94, 42114 }, + { 0x3C66, 42123 }, + { 0x3C63, 42132 }, + { 0x3BB4, 42141 }, + { 0x3B2B, 42148 }, + { 0x3C8D, 42155 }, + { 0x3C64, 42164 }, + { 0x3C65, 42173 }, + { 0x3BB6, 42182 }, + { 0x3B2D, 42189 }, + { 0x3C85, 42196 }, + { 0x3B6F, 42205 }, + { 0x3BB7, 42212 }, + { 0x3B2E, 42219 }, + { 0x3C87, 42226 }, + { 0x3C6A, 42235 }, + { 0x3C69, 42245 }, + { 0x3BB9, 42254 }, + { 0x3B32, 42261 }, + { 0x3BD5, 42268 }, + { 0x3BBC, 42275 }, + { 0x3B70, 42282 }, + { 0x3B75, 42289 }, + { 0x3B36, 42296 }, + { 0x3B74, 42303 }, + { 0x3B35, 42311 }, + { 0x3C91, 42319 }, + { 0x3C8C, 42328 }, + { 0x3C9B, 42337 }, + { 0x3C6D, 42346 }, + { 0x3C6B, 42356 }, + { 0x3C6C, 42365 }, + { 0x3BB8, 42374 }, + { 0x3B31, 42381 }, + { 0x3BBA, 42388 }, + { 0x3B33, 42395 }, + { 0x3C6E, 42402 }, + { 0x3C6F, 42411 }, + { 0x3B72, 42421 }, + { 0x3BD4, 42428 }, + { 0x3BBB, 42435 }, + { 0x3B34, 42442 }, + { 0x3B73, 42449 }, + { 0x3B71, 42456 }, + { 0x3C9D, 42463 }, + { 0x3C32, 42473 }, + { 0x3C1B, 42482 }, + { 0x3B94, 42489 }, + { 0x3B03, 42496 }, + { 0x3BCE, 42503 }, + { 0x3C17, 42510 }, + { 0x3C10, 42517 }, + { 0x3BF4, 42524 }, + { 0x3BFE, 42531 }, + { 0x3BE2, 42538 }, + { 0x3BFD, 42545 }, + { 0x3BE1, 42553 }, + { 0x3C33, 42561 }, + { 0x3C34, 42570 }, + { 0x3C1A, 42580 }, + { 0x3B93, 42587 }, + { 0x3B02, 42594 }, + { 0x3C9A, 42601 }, + { 0x3C7C, 42610 }, + { 0x3C1C, 42620 }, + { 0x3B95, 42627 }, + { 0x3B04, 42634 }, + { 0x3C35, 42641 }, + { 0x3C36, 42650 }, + { 0x3C37, 42659 }, + { 0x3C38, 42668 }, + { 0x3C39, 42677 }, + { 0x3BCD, 42686 }, + { 0x3B96, 42693 }, + { 0x3B05, 42700 }, + { 0x3B41, 42707 }, + { 0x3BCC, 42715 }, + { 0x3B5C, 42722 }, + { 0x3B61, 42729 }, + { 0x3AFA, 42736 }, + { 0x3B60, 42743 }, + { 0x3AF9, 42751 }, + { 0x3AF7, 42759 }, + { 0x3B5E, 42766 }, + { 0x3BCB, 42773 }, + { 0x3B8C, 42780 }, + { 0x3AF8, 42787 }, + { 0x3B5F, 42794 }, + { 0x3B5D, 42801 }, + { 0x3C9F, 42808 }, + { 0x3C9E, 42813 }, + { 0x3BFC, 42818 }, + { 0x3BE0, 42825 }, + { 0x3BFB, 42832 }, + { 0x3BDF, 42840 }, + { 0x3BA2, 42848 }, + { 0x3B11, 42855 }, + { 0x3C50, 42862 }, + { 0x3C51, 42871 }, + { 0x3C4F, 42881 }, + { 0x3BA3, 42890 }, + { 0x3B12, 42897 }, + { 0x3CA1, 42904 }, + { 0x3C9C, 42909 }, + { 0x3CA5, 42919 }, + { 0x3C7E, 42924 }, + { 0x3C3D, 42933 }, + { 0x3C3E, 42942 }, + { 0x3C0C, 42951 }, + { 0x3C1E, 42958 }, + { 0x3C14, 42965 }, + { 0x3BF0, 42972 }, + { 0x3BD0, 42979 }, + { 0x3C18, 42986 }, + { 0x3C0F, 42993 }, + { 0x3BF3, 43000 }, + { 0x3C00, 43007 }, + { 0x3BE4, 43014 }, + { 0x3BFF, 43021 }, + { 0x3BE3, 43029 }, + { 0x3C3F, 43037 }, + { 0x3C0B, 43046 }, + { 0x3C1D, 43053 }, + { 0x3C13, 43060 }, + { 0x3BEF, 43067 }, + { 0x3C0D, 43074 }, + { 0x3C1F, 43081 }, + { 0x3C15, 43088 }, + { 0x3BF1, 43095 }, + { 0x3C40, 43102 }, + { 0x3C41, 43111 }, + { 0x3C42, 43120 }, + { 0x3C43, 43129 }, + { 0x3C0E, 43138 }, + { 0x3BCF, 43145 }, + { 0x3C16, 43152 }, + { 0x3BF2, 43159 }, + { 0x3CA3, 43166 }, + { 0x3CA2, 43171 }, + { 0x3BD9, 43176 }, + { 0x3B47, 43183 }, + { 0x3BD8, 43190 }, + { 0x3B46, 43197 }, + { 0x3BDA, 43204 }, + { 0x3B48, 43211 }, + { 0x3B44, 43218 }, + { 0x3B45, 43225 }, + { 0x3B49, 43232 }, + { 0x3AE0, 43240 }, + { 0x3AE1, 43253 }, + { 0x3ADF, 43266 }, + { 0x3CA0, 43279 }, + { 0x3CA4, 43284 }, + { 0x3CA9, 43289 }, + { 0x3CA6, 43294 }, + { 0x3CA7, 43299 }, + { 0x05B4, 43302 }, + { 0x05F2, 43305 }, + { 0x05EE, 43308 }, + { 0x05B1, 43310 }, + { 0x05EB, 43312 }, + { 0x0601, 43315 }, + { 0x69DF, 43318 }, + { 0x69D2, 43321 }, + { 0x69E9, 43324 }, + { 0x69D4, 43327 }, + { 0x69E0, 43330 }, + { 0x69D7, 43333 }, + { 0x69DA, 43336 }, + { 0x69DB, 43339 }, + { 0x69E2, 43342 }, + { 0x69E3, 43345 }, + { 0x69E1, 43348 }, + { 0x69D8, 43351 }, + { 0x69E5, 43354 }, + { 0x69D5, 43357 }, + { 0x69D9, 43360 }, + { 0x69EA, 43363 }, + { 0x69D1, 43366 }, + { 0x69D3, 43369 }, + { 0x69E7, 43372 }, + { 0x69DC, 43375 }, + { 0x69DD, 43378 }, + { 0x69DE, 43381 }, + { 0x69E8, 43384 }, + { 0x69E6, 43387 }, + { 0x69D6, 43390 }, + { 0x69EB, 43393 }, + { 0x69E4, 43396 }, + { 0x6A38, 43399 }, + { 0x6A2B, 43403 }, + { 0x6A42, 43407 }, + { 0x6A2D, 43411 }, + { 0x6A39, 43415 }, + { 0x6A31, 43419 }, + { 0x6A2E, 43423 }, + { 0x6A34, 43427 }, + { 0x6A3B, 43431 }, + { 0x6A3C, 43435 }, + { 0x6A3A, 43439 }, + { 0x6A32, 43443 }, + { 0x6A3E, 43447 }, + { 0x6A2F, 43451 }, + { 0x6A33, 43455 }, + { 0x6A43, 43459 }, + { 0x6A2A, 43463 }, + { 0x6A2C, 43467 }, + { 0x6A40, 43471 }, + { 0x6A35, 43475 }, + { 0x6A36, 43479 }, + { 0x6A37, 43483 }, + { 0x6A41, 43487 }, + { 0x6A3F, 43491 }, + { 0x6A30, 43495 }, + { 0x6A44, 43499 }, + { 0x6A3D, 43503 }, + { 0x6A0A, 43507 }, + { 0x6A0F, 43511 }, + { 0x6A05, 43515 }, + { 0x6A07, 43519 }, + { 0x6A0C, 43523 }, + { 0x6A0B, 43527 }, + { 0x6A06, 43531 }, + { 0x6A04, 43535 }, + { 0x6A0E, 43539 }, + { 0x6A08, 43543 }, + { 0x6A09, 43547 }, + { 0x6A10, 43551 }, + { 0x6A0D, 43555 }, + { 0x6A12, 43559 }, + { 0x6A11, 43564 }, + { 0x69EC, 43569 }, + { 0x69EE, 43573 }, + { 0x69EF, 43577 }, + { 0x69ED, 43581 }, + { 0x69FA, 43585 }, + { 0x69F0, 43589 }, + { 0x6A02, 43593 }, + { 0x69FB, 43597 }, + { 0x69F3, 43601 }, + { 0x69F2, 43605 }, + { 0x69F5, 43609 }, + { 0x69F6, 43613 }, + { 0x69FD, 43617 }, + { 0x69FC, 43621 }, + { 0x69FF, 43625 }, + { 0x69F4, 43629 }, + { 0x69F1, 43633 }, + { 0x6A01, 43637 }, + { 0x69F7, 43641 }, + { 0x69F8, 43645 }, + { 0x69F9, 43649 }, + { 0x6A00, 43653 }, + { 0x6A03, 43657 }, + { 0x69FE, 43661 }, + { 0x6A5F, 43665 }, + { 0x6A5E, 43671 }, + { 0x6A1D, 43679 }, + { 0x6A13, 43683 }, + { 0x6A25, 43687 }, + { 0x6A1E, 43691 }, + { 0x6A16, 43695 }, + { 0x6A15, 43699 }, + { 0x6A19, 43703 }, + { 0x6A20, 43707 }, + { 0x6A1F, 43711 }, + { 0x6A17, 43715 }, + { 0x6A22, 43719 }, + { 0x6A18, 43723 }, + { 0x6A26, 43727 }, + { 0x6A14, 43731 }, + { 0x6A24, 43735 }, + { 0x6A1A, 43739 }, + { 0x6A1B, 43743 }, + { 0x6A1C, 43747 }, + { 0x6A23, 43751 }, + { 0x6A27, 43755 }, + { 0x6A21, 43759 }, + { 0x6A28, 43763 }, + { 0x6A29, 43768 }, + { 0x6A51, 43773 }, + { 0x6A45, 43777 }, + { 0x6A5B, 43781 }, + { 0x6A47, 43785 }, + { 0x6A52, 43789 }, + { 0x6A4A, 43793 }, + { 0x6A4D, 43797 }, + { 0x6A54, 43801 }, + { 0x6A55, 43805 }, + { 0x6A53, 43809 }, + { 0x6A4B, 43813 }, + { 0x6A57, 43817 }, + { 0x6A48, 43821 }, + { 0x6A4C, 43825 }, + { 0x6A5C, 43829 }, + { 0x6A46, 43833 }, + { 0x6A59, 43837 }, + { 0x6A4E, 43841 }, + { 0x6A4F, 43845 }, + { 0x6A50, 43849 }, + { 0x6A5A, 43853 }, + { 0x6A58, 43857 }, + { 0x6A49, 43861 }, + { 0x6A5D, 43865 }, + { 0x6A56, 43869 }, + { 0x6CE3, 43873 }, + { 0x2271, 43875 }, + { 0x216A, 43877 }, + { 0x216C, 43879 }, + { 0x6F34, 43883 }, + { 0x6F32, 43888 }, + { 0x216B, 43894 }, + { 0x2710, 43898 }, + { 0x6F2E, 43903 }, + { 0x6F30, 43907 }, + { 0x6F31, 43912 }, + { 0x6F2F, 43916 }, + { 0x6C87, 43919 }, + { 0x6DC3, 43920 }, + { 0x21C5, 43922 }, + { 0x6CD7, 43925 }, + { 0x21C6, 43929 }, + { 0x6CD8, 43932 }, + { 0x6D94, 43936 }, + { 0x6CB9, 43937 }, + { 0x2495, 43941 }, + { 0x271D, 43945 }, + { 0x1EAA, 43949 }, + { 0x1E96, 43952 }, + { 0x2917, 43955 }, + { 0x1EA7, 43959 }, + { 0x1F68, 43962 }, + { 0x1E95, 43965 }, + { 0x2918, 43968 }, + { 0x1EA8, 43972 }, + { 0x1F3E, 43975 }, + { 0x1F3F, 43978 }, + { 0x1F6A, 43985 }, + { 0x1F66, 43989 }, + { 0x1E51, 43991 }, + { 0x252B, 43992 }, + { 0x252C, 43997 }, + { 0x71AD, 44002 }, + { 0x4755, 44004 }, + { 0x4754, 44007 }, + { 0x4753, 44010 }, + { 0x4756, 44013 }, + { 0x4757, 44016 }, + { 0x479A, 44019 }, + { 0x47B6, 44021 }, + { 0x47BB, 44024 }, + { 0x47B7, 44027 }, + { 0x47BA, 44030 }, + { 0x47B9, 44033 }, + { 0x47BE, 44036 }, + { 0x47B5, 44039 }, + { 0x47BD, 44042 }, + { 0x47BC, 44045 }, + { 0x47B8, 44048 }, + { 0x4795, 44051 }, + { 0x478D, 44055 }, + { 0x4797, 44059 }, + { 0x478F, 44063 }, + { 0x478B, 44067 }, + { 0x4796, 44071 }, + { 0x4798, 44075 }, + { 0x478E, 44079 }, + { 0x4790, 44083 }, + { 0x4793, 44087 }, + { 0x4791, 44092 }, + { 0x4794, 44097 }, + { 0x4792, 44102 }, + { 0x478C, 44107 }, + { 0x479B, 44112 }, + { 0x4758, 44115 }, + { 0x4762, 44118 }, + { 0x475A, 44121 }, + { 0x4764, 44124 }, + { 0x475C, 44127 }, + { 0x4759, 44130 }, + { 0x4763, 44133 }, + { 0x4765, 44136 }, + { 0x477C, 44139 }, + { 0x476B, 44142 }, + { 0x4777, 44145 }, + { 0x4768, 44148 }, + { 0x4786, 44151 }, + { 0x475B, 44154 }, + { 0x476D, 44157 }, + { 0x4766, 44160 }, + { 0x4781, 44163 }, + { 0x477E, 44166 }, + { 0x4779, 44169 }, + { 0x477A, 44172 }, + { 0x4780, 44175 }, + { 0x4785, 44178 }, + { 0x4775, 44181 }, + { 0x475D, 44184 }, + { 0x4782, 44187 }, + { 0x477F, 44190 }, + { 0x477D, 44193 }, + { 0x476C, 44196 }, + { 0x4772, 44199 }, + { 0x4778, 44202 }, + { 0x4769, 44205 }, + { 0x476E, 44208 }, + { 0x4767, 44211 }, + { 0x4787, 44214 }, + { 0x476A, 44217 }, + { 0x4774, 44220 }, + { 0x476F, 44223 }, + { 0x4789, 44226 }, + { 0x4788, 44231 }, + { 0x478A, 44236 }, + { 0x477B, 44241 }, + { 0x4783, 44244 }, + { 0x4784, 44247 }, + { 0x4776, 44250 }, + { 0x4770, 44253 }, + { 0x4773, 44256 }, + { 0x4771, 44259 }, + { 0x4760, 44262 }, + { 0x475E, 44266 }, + { 0x4761, 44270 }, + { 0x475F, 44274 }, + { 0x47A1, 44278 }, + { 0x47B3, 44281 }, + { 0x47B4, 44285 }, + { 0x47A6, 44289 }, + { 0x47AA, 44292 }, + { 0x47A2, 44295 }, + { 0x47A5, 44298 }, + { 0x47A4, 44301 }, + { 0x47A9, 44304 }, + { 0x47A8, 44307 }, + { 0x47AE, 44310 }, + { 0x47AD, 44313 }, + { 0x47A7, 44316 }, + { 0x47AF, 44319 }, + { 0x47A3, 44322 }, + { 0x47B1, 44325 }, + { 0x47BF, 44328 }, + { 0x47B2, 44331 }, + { 0x47AC, 44334 }, + { 0x47AB, 44337 }, + { 0x47B0, 44340 }, + { 0x4799, 44343 }, + { 0x479C, 44345 }, + { 0x479E, 44348 }, + { 0x47A0, 44351 }, + { 0x479D, 44354 }, + { 0x479F, 44358 }, + { 0x6C44, 44362 }, + { 0x0065, 44365 }, + { 0x6DCF, 44367 }, + { 0x1F14, 44369 }, + { 0x1BD6, 44374 }, + { 0x1DA2, 44375 }, + { 0x6C70, 44377 }, + { 0x6E32, 44378 }, + { 0x6E33, 44379 }, + { 0x7231, 44382 }, + { 0x21A5, 44384 }, + { 0x6EAA, 44385 }, + { 0x4024, 44386 }, + { 0x402D, 44389 }, + { 0x4026, 44392 }, + { 0x403E, 44395 }, + { 0x4044, 44398 }, + { 0x403D, 44401 }, + { 0x4040, 44404 }, + { 0x4027, 44407 }, + { 0x402E, 44410 }, + { 0x4039, 44413 }, + { 0x402F, 44416 }, + { 0x403B, 44419 }, + { 0x402C, 44422 }, + { 0x4029, 44425 }, + { 0x4034, 44428 }, + { 0x4031, 44431 }, + { 0x4036, 44434 }, + { 0x4038, 44437 }, + { 0x402B, 44440 }, + { 0x4030, 44443 }, + { 0x4053, 44446 }, + { 0x4045, 44449 }, + { 0x4049, 44452 }, + { 0x4041, 44455 }, + { 0x402A, 44458 }, + { 0x404E, 44461 }, + { 0x4042, 44464 }, + { 0x4048, 44467 }, + { 0x4037, 44470 }, + { 0x4025, 44473 }, + { 0x404D, 44476 }, + { 0x4032, 44479 }, + { 0x403C, 44482 }, + { 0x4046, 44485 }, + { 0x404B, 44488 }, + { 0x4043, 44491 }, + { 0x4052, 44494 }, + { 0x404F, 44497 }, + { 0x4050, 44500 }, + { 0x4051, 44503 }, + { 0x4033, 44506 }, + { 0x4047, 44509 }, + { 0x403A, 44512 }, + { 0x4028, 44515 }, + { 0x4035, 44518 }, + { 0x404A, 44521 }, + { 0x404C, 44524 }, + { 0x4054, 44527 }, + { 0x403F, 44530 }, + { 0x71B4, 44533 }, + { 0x2245, 44534 }, + { 0x6E83, 44535 }, + { 0x1C91, 44537 }, + { 0x222D, 44540 }, + { 0x4856, 44541 }, + { 0x4857, 44544 }, + { 0x4827, 44547 }, + { 0x4826, 44550 }, + { 0x4825, 44553 }, + { 0x4865, 44556 }, + { 0x485B, 44558 }, + { 0x4860, 44561 }, + { 0x485C, 44564 }, + { 0x485F, 44567 }, + { 0x485E, 44570 }, + { 0x4863, 44573 }, + { 0x485A, 44576 }, + { 0x4862, 44579 }, + { 0x4861, 44582 }, + { 0x485D, 44585 }, + { 0x484C, 44588 }, + { 0x4851, 44592 }, + { 0x484D, 44596 }, + { 0x4853, 44600 }, + { 0x484F, 44604 }, + { 0x4852, 44608 }, + { 0x4854, 44612 }, + { 0x484E, 44616 }, + { 0x4855, 44620 }, + { 0x4850, 44624 }, + { 0x4866, 44628 }, + { 0x482B, 44631 }, + { 0x4829, 44634 }, + { 0x482A, 44637 }, + { 0x4828, 44640 }, + { 0x4842, 44643 }, + { 0x4831, 44646 }, + { 0x483D, 44649 }, + { 0x482E, 44652 }, + { 0x484B, 44655 }, + { 0x4833, 44658 }, + { 0x482C, 44661 }, + { 0x4848, 44664 }, + { 0x4844, 44667 }, + { 0x483F, 44670 }, + { 0x4840, 44673 }, + { 0x4847, 44676 }, + { 0x484A, 44679 }, + { 0x483B, 44682 }, + { 0x4849, 44685 }, + { 0x4846, 44688 }, + { 0x4843, 44691 }, + { 0x4832, 44694 }, + { 0x4838, 44697 }, + { 0x483E, 44700 }, + { 0x482F, 44703 }, + { 0x4834, 44706 }, + { 0x482D, 44709 }, + { 0x4830, 44712 }, + { 0x483A, 44715 }, + { 0x4835, 44718 }, + { 0x4841, 44721 }, + { 0x483C, 44724 }, + { 0x4836, 44727 }, + { 0x4845, 44730 }, + { 0x4839, 44733 }, + { 0x4837, 44736 }, + { 0x4858, 44739 }, + { 0x4859, 44741 }, + { 0x4864, 44743 }, + { 0x4867, 44746 }, + { 0x71D0, 44749 }, + { 0x6C73, 44751 }, + { 0x2211, 44753 }, + { 0x2244, 44754 }, + { 0x6CE1, 44755 }, + { 0x212F, 44756 }, + { 0x251D, 44764 }, + { 0x212A, 44772 }, + { 0x212C, 44777 }, + { 0x212B, 44782 }, + { 0x251C, 44787 }, + { 0x212D, 44794 }, + { 0x212E, 44799 }, + { 0x2127, 44805 }, + { 0x250F, 44809 }, + { 0x2515, 44813 }, + { 0x2514, 44817 }, + { 0x6CE5, 44829 }, + { 0x6E10, 44831 }, + { 0x6E4B, 44833 }, + { 0x25A6, 44837 }, + { 0x25AA, 44841 }, + { 0x2629, 44848 }, + { 0x262B, 44850 }, + { 0x6E26, 44855 }, + { 0x6E25, 44860 }, + { 0x262A, 44865 }, + { 0x262C, 44867 }, + { 0x6C3D, 44872 }, + { 0x25A7, 44874 }, + { 0x220A, 44878 }, + { 0x6C95, 44879 }, + { 0x6CA5, 44881 }, + { 0x281A, 44882 }, + { 0x281D, 44887 }, + { 0x281B, 44892 }, + { 0x281C, 44898 }, + { 0x281F, 44904 }, + { 0x4056, 44907 }, + { 0x405B, 44911 }, + { 0x4057, 44915 }, + { 0x405A, 44919 }, + { 0x4059, 44923 }, + { 0x405E, 44927 }, + { 0x405D, 44931 }, + { 0x405C, 44935 }, + { 0x4058, 44939 }, + { 0x4068, 44943 }, + { 0x406D, 44948 }, + { 0x405F, 44953 }, + { 0x4069, 44957 }, + { 0x406C, 44962 }, + { 0x406B, 44967 }, + { 0x4070, 44972 }, + { 0x406F, 44977 }, + { 0x4063, 44982 }, + { 0x4062, 44986 }, + { 0x406E, 44990 }, + { 0x4064, 44995 }, + { 0x406A, 44999 }, + { 0x4066, 45004 }, + { 0x4067, 45008 }, + { 0x4061, 45012 }, + { 0x4060, 45016 }, + { 0x4065, 45020 }, + { 0x4055, 45024 }, + { 0x27C5, 45028 }, + { 0x27D1, 45032 }, + { 0x27BF, 45036 }, + { 0x27C1, 45040 }, + { 0x27C7, 45044 }, + { 0x27C9, 45048 }, + { 0x27CF, 45052 }, + { 0x03A5, 45056 }, + { 0x27AF, 45060 }, + { 0x039B, 45064 }, + { 0x27D3, 45068 }, + { 0x27C3, 45072 }, + { 0x27F5, 45076 }, + { 0x27DB, 45082 }, + { 0x27FF, 45088 }, + { 0x27ED, 45094 }, + { 0x27FB, 45100 }, + { 0x27F9, 45106 }, + { 0x27E5, 45112 }, + { 0x27F3, 45118 }, + { 0x27EB, 45124 }, + { 0x2801, 45130 }, + { 0x27FD, 45136 }, + { 0x2805, 45142 }, + { 0x2807, 45148 }, + { 0x2809, 45154 }, + { 0x2803, 45160 }, + { 0x27D7, 45166 }, + { 0x27D5, 45170 }, + { 0x27B1, 45174 }, + { 0x27CD, 45178 }, + { 0x27A7, 45182 }, + { 0x27B5, 45186 }, + { 0x039F, 45190 }, + { 0x27BB, 45194 }, + { 0x039D, 45198 }, + { 0x0399, 45202 }, + { 0x27CB, 45206 }, + { 0x27A9, 45210 }, + { 0x27B3, 45214 }, + { 0x27AD, 45218 }, + { 0x27AB, 45222 }, + { 0x27B9, 45226 }, + { 0x27BD, 45230 }, + { 0x27E7, 45234 }, + { 0x03A3, 45238 }, + { 0x03A1, 45242 }, + { 0x27B7, 45246 }, + { 0x27E9, 45250 }, + { 0x27EF, 45255 }, + { 0x2819, 45260 }, + { 0x27F7, 45265 }, + { 0x27E1, 45270 }, + { 0x27D9, 45275 }, + { 0x27F1, 45280 }, + { 0x27DF, 45285 }, + { 0x27E3, 45290 }, + { 0x27DD, 45295 }, + { 0x2812, 45300 }, + { 0x2814, 45305 }, + { 0x280B, 45310 }, + { 0x280C, 45314 }, + { 0x280A, 45318 }, + { 0x280F, 45321 }, + { 0x280E, 45325 }, + { 0x2810, 45329 }, + { 0x280D, 45333 }, + { 0x27C4, 45336 }, + { 0x27D0, 45340 }, + { 0x27BE, 45344 }, + { 0x27C0, 45348 }, + { 0x27C6, 45352 }, + { 0x27C8, 45356 }, + { 0x27CE, 45360 }, + { 0x03A4, 45364 }, + { 0x27AE, 45368 }, + { 0x039A, 45372 }, + { 0x27D2, 45376 }, + { 0x27C2, 45380 }, + { 0x27F4, 45384 }, + { 0x27DA, 45390 }, + { 0x27FE, 45396 }, + { 0x27EC, 45402 }, + { 0x27FA, 45408 }, + { 0x27F8, 45414 }, + { 0x27E4, 45420 }, + { 0x27F2, 45426 }, + { 0x27EA, 45432 }, + { 0x2800, 45438 }, + { 0x27FC, 45444 }, + { 0x2804, 45450 }, + { 0x2806, 45456 }, + { 0x2808, 45462 }, + { 0x2802, 45468 }, + { 0x27D6, 45474 }, + { 0x27D4, 45478 }, + { 0x27B0, 45482 }, + { 0x27CC, 45486 }, + { 0x27A6, 45490 }, + { 0x27B4, 45494 }, + { 0x039E, 45498 }, + { 0x27BA, 45502 }, + { 0x039C, 45506 }, + { 0x0398, 45510 }, + { 0x27CA, 45514 }, + { 0x27A8, 45518 }, + { 0x27B2, 45522 }, + { 0x27AC, 45526 }, + { 0x27AA, 45530 }, + { 0x27B8, 45534 }, + { 0x27BC, 45538 }, + { 0x27E6, 45542 }, + { 0x03A2, 45546 }, + { 0x03A0, 45550 }, + { 0x27B6, 45554 }, + { 0x27E8, 45558 }, + { 0x27EE, 45563 }, + { 0x2818, 45568 }, + { 0x27F6, 45573 }, + { 0x27E0, 45578 }, + { 0x27D8, 45583 }, + { 0x27F0, 45588 }, + { 0x27DE, 45593 }, + { 0x27E2, 45598 }, + { 0x27DC, 45603 }, + { 0x2811, 45608 }, + { 0x2813, 45613 }, + { 0x281E, 45618 }, + { 0x2815, 45622 }, + { 0x2816, 45626 }, + { 0x2817, 45630 }, + { 0x2820, 45634 }, + { 0x6DCC, 45637 }, + { 0x6DEE, 45640 }, + { 0x6F7A, 45642 }, + { 0x6F5D, 45645 }, + { 0x22BB, 45647 }, + { 0x1BD4, 45652 }, + { 0x2929, 45653 }, + { 0x292A, 45657 }, + { 0x6F1C, 45661 }, + { 0x6DBE, 45663 }, + { 0x3CE1, 45664 }, + { 0x3CDD, 45667 }, + { 0x22F9, 45669 }, + { 0x006F, 45673 }, + { 0x1C90, 45675 }, + { 0x1C96, 45677 }, + { 0x6D17, 45679 }, + { 0x6D18, 45680 }, + { 0x701D, 45682 }, + { 0x6197, 45684 }, + { 0x6194, 45687 }, + { 0x21E7, 45691 }, + { 0x21E8, 45695 }, + { 0x6196, 45699 }, + { 0x6195, 45703 }, + { 0x21E9, 45707 }, + { 0x21E6, 45711 }, + { 0x6193, 45715 }, + { 0x6CEA, 45719 }, + { 0x1F1C, 45721 }, + { 0x0004, 45726 }, + { 0x6ABE, 45728 }, + { 0x6A8C, 45732 }, + { 0x6ABF, 45736 }, + { 0x6AC0, 45739 }, + { 0x6AC1, 45742 }, + { 0x6AC2, 45745 }, + { 0x6AC3, 45748 }, + { 0x6AC4, 45751 }, + { 0x6AC5, 45754 }, + { 0x6AC6, 45757 }, + { 0x6AC7, 45760 }, + { 0x6AC8, 45763 }, + { 0x6AC9, 45766 }, + { 0x6ACA, 45769 }, + { 0x6ACB, 45772 }, + { 0x6ACC, 45775 }, + { 0x6ACD, 45778 }, + { 0x6ACE, 45781 }, + { 0x6ACF, 45784 }, + { 0x6AD0, 45787 }, + { 0x6AD1, 45790 }, + { 0x6AD2, 45793 }, + { 0x6AD3, 45796 }, + { 0x6AD4, 45799 }, + { 0x6AD5, 45802 }, + { 0x6AD6, 45805 }, + { 0x6AD7, 45808 }, + { 0x6AD8, 45811 }, + { 0x6AD9, 45814 }, + { 0x6ADA, 45817 }, + { 0x6ADB, 45820 }, + { 0x6ADC, 45823 }, + { 0x6ADD, 45826 }, + { 0x6ADE, 45829 }, + { 0x6ADF, 45832 }, + { 0x6AE0, 45835 }, + { 0x6AE1, 45838 }, + { 0x6AE2, 45841 }, + { 0x6AE3, 45844 }, + { 0x6AE4, 45847 }, + { 0x6AE5, 45850 }, + { 0x6AE6, 45853 }, + { 0x6AE7, 45856 }, + { 0x6AE8, 45859 }, + { 0x6AE9, 45862 }, + { 0x6AEA, 45865 }, + { 0x6AEB, 45868 }, + { 0x6AEC, 45871 }, + { 0x6AED, 45874 }, + { 0x6AEE, 45877 }, + { 0x6AEF, 45880 }, + { 0x6A8D, 45883 }, + { 0x6A8E, 45886 }, + { 0x6A8F, 45889 }, + { 0x6A90, 45892 }, + { 0x6A91, 45895 }, + { 0x6A92, 45898 }, + { 0x6A93, 45901 }, + { 0x6A94, 45904 }, + { 0x6A95, 45907 }, + { 0x6A96, 45910 }, + { 0x6A97, 45913 }, + { 0x6A98, 45916 }, + { 0x6A99, 45919 }, + { 0x6A9A, 45922 }, + { 0x6A9B, 45925 }, + { 0x6A9C, 45928 }, + { 0x6A9D, 45931 }, + { 0x6A9E, 45934 }, + { 0x6A9F, 45937 }, + { 0x6AA0, 45940 }, + { 0x6AA1, 45943 }, + { 0x6AA2, 45946 }, + { 0x6AA3, 45949 }, + { 0x6AA4, 45952 }, + { 0x6AA5, 45955 }, + { 0x6AA6, 45958 }, + { 0x6AA7, 45961 }, + { 0x6AA8, 45964 }, + { 0x6AA9, 45967 }, + { 0x6AAA, 45970 }, + { 0x6AAB, 45973 }, + { 0x6AAC, 45976 }, + { 0x6AAD, 45979 }, + { 0x6AAE, 45982 }, + { 0x6AAF, 45985 }, + { 0x6AB0, 45988 }, + { 0x6AB1, 45991 }, + { 0x6AB2, 45994 }, + { 0x6AB3, 45997 }, + { 0x6AB4, 46000 }, + { 0x6AB5, 46003 }, + { 0x6AB6, 46006 }, + { 0x6AB7, 46009 }, + { 0x6AB8, 46012 }, + { 0x6AB9, 46015 }, + { 0x6ABA, 46018 }, + { 0x6ABB, 46021 }, + { 0x6ABC, 46024 }, + { 0x6ABD, 46027 }, + { 0x1C10, 46030 }, + { 0x24F3, 46032 }, + { 0x2126, 46034 }, + { 0x2906, 46036 }, + { 0x2674, 46038 }, + { 0x28FB, 46040 }, + { 0x2909, 46043 }, + { 0x2645, 46046 }, + { 0x1BCB, 46049 }, + { 0x2644, 46052 }, + { 0x24EF, 46055 }, + { 0x2554, 46060 }, + { 0x3CE0, 46062 }, + { 0x029C, 46065 }, + { 0x25CE, 46068 }, + { 0x2319, 46071 }, + { 0x1BD2, 46074 }, + { 0x1BE7, 46078 }, + { 0x2AAB, 46080 }, + { 0x24F0, 46084 }, + { 0x1E5C, 46089 }, + { 0x1BD5, 46091 }, + { 0x2933, 46093 }, + { 0x25FB, 46095 }, + { 0x25FD, 46098 }, + { 0x25FC, 46103 }, + { 0x25A9, 46106 }, + { 0x25A8, 46109 }, + { 0x2646, 46112 }, + { 0x1E59, 46116 }, + { 0x204F, 46118 }, + { 0x2054, 46122 }, + { 0x2050, 46126 }, + { 0x2053, 46130 }, + { 0x2052, 46134 }, + { 0x2057, 46138 }, + { 0x2056, 46142 }, + { 0x2055, 46146 }, + { 0x2051, 46150 }, + { 0x2058, 46154 }, + { 0x25AE, 46158 }, + { 0x25AD, 46161 }, + { 0x290A, 46164 }, + { 0x2657, 46167 }, + { 0x1DB5, 46170 }, + { 0x2615, 46172 }, + { 0x1BFB, 46174 }, + { 0x2616, 46177 }, + { 0x1E5A, 46179 }, + { 0x1F81, 46181 }, + { 0x263D, 46184 }, + { 0x263F, 46189 }, + { 0x1E34, 46195 }, + { 0x1BCA, 46201 }, + { 0x2937, 46204 }, + { 0x1BF0, 46207 }, + { 0x1E5B, 46210 }, + { 0x2935, 46212 }, + { 0x1BD3, 46216 }, + { 0x6D44, 46220 }, + { 0x6D6D, 46221 }, + { 0x6E22, 46223 }, + { 0x21C4, 46225 }, + { 0x001D, 46227 }, + { 0x253D, 46229 }, + { 0x253E, 46234 }, + { 0x25C0, 46242 }, + { 0x25D1, 46247 }, + { 0x2608, 46257 }, + { 0x25CB, 46262 }, + { 0x25CD, 46267 }, + { 0x269A, 46272 }, + { 0x24CB, 46277 }, + { 0x25C8, 46282 }, + { 0x1DDE, 46285 }, + { 0x1DC2, 46287 }, + { 0x6C7D, 46288 }, + { 0x6DA5, 46290 }, + { 0x6CC0, 46291 }, + { 0x219A, 46293 }, + { 0x719E, 46295 }, + { 0x6CDC, 46296 }, + { 0x1BC6, 46298 }, + { 0x1BBB, 46300 }, + { 0x2567, 46302 }, + { 0x6D85, 46305 }, + { 0x6DE5, 46308 }, + { 0x6DF9, 46310 }, + { 0x22C0, 46312 }, + { 0x21F2, 46314 }, + { 0x6CEF, 46315 }, + { 0x1C09, 46318 }, + { 0x6EC0, 46321 }, + { 0x6EFB, 46323 }, + { 0x1E32, 46324 }, + { 0x2903, 46325 }, + { 0x1DA5, 46327 }, + { 0x1C50, 46329 }, + { 0x6C9A, 46332 }, + { 0x21A4, 46334 }, + { 0x1C5D, 46335 }, + { 0x2540, 46338 }, + { 0x6D07, 46340 }, + { 0x409E, 46341 }, + { 0x40A3, 46344 }, + { 0x4095, 46347 }, + { 0x4098, 46350 }, + { 0x4097, 46353 }, + { 0x409C, 46356 }, + { 0x409B, 46359 }, + { 0x40AF, 46362 }, + { 0x40A4, 46366 }, + { 0x40AB, 46369 }, + { 0x40AD, 46372 }, + { 0x40AC, 46375 }, + { 0x409F, 46378 }, + { 0x40A0, 46381 }, + { 0x40A1, 46384 }, + { 0x40AE, 46387 }, + { 0x40A7, 46390 }, + { 0x40A8, 46393 }, + { 0x40A9, 46396 }, + { 0x40AA, 46399 }, + { 0x4099, 46402 }, + { 0x40A2, 46405 }, + { 0x40A6, 46408 }, + { 0x409D, 46411 }, + { 0x4096, 46414 }, + { 0x40A5, 46417 }, + { 0x409A, 46420 }, + { 0x6C82, 46423 }, + { 0x6CF3, 46424 }, + { 0x6E63, 46425 }, + { 0x21EC, 46426 }, + { 0x2187, 46429 }, + { 0x700E, 46432 }, + { 0x2ABC, 46435 }, + { 0x2BE6, 46440 }, + { 0x2BD1, 46442 }, + { 0x2BD6, 46445 }, + { 0x2BE5, 46448 }, + { 0x2BD9, 46451 }, + { 0x2BDE, 46454 }, + { 0x2BD2, 46457 }, + { 0x2BD5, 46460 }, + { 0x2BE3, 46463 }, + { 0x2BDC, 46466 }, + { 0x2BDA, 46469 }, + { 0x2BE0, 46472 }, + { 0x2BE1, 46475 }, + { 0x2BD3, 46478 }, + { 0x2BD8, 46481 }, + { 0x2BE4, 46484 }, + { 0x2BDD, 46487 }, + { 0x2BE2, 46490 }, + { 0x2BDB, 46493 }, + { 0x2BDF, 46496 }, + { 0x2BD4, 46499 }, + { 0x2BD7, 46502 }, + { 0x2BC7, 46505 }, + { 0x2C0B, 46508 }, + { 0x2C0E, 46511 }, + { 0x2C0F, 46514 }, + { 0x2BCA, 46517 }, + { 0x2BD0, 46520 }, + { 0x2BC9, 46523 }, + { 0x2BC3, 46526 }, + { 0x2BB6, 46529 }, + { 0x2BC4, 46532 }, + { 0x2BBB, 46535 }, + { 0x2C09, 46538 }, + { 0x2C0D, 46541 }, + { 0x2C10, 46544 }, + { 0x2BB3, 46547 }, + { 0x2BB9, 46550 }, + { 0x2C0A, 46553 }, + { 0x2C0C, 46556 }, + { 0x2BCC, 46559 }, + { 0x2BCD, 46562 }, + { 0x2C01, 46565 }, + { 0x2BCF, 46568 }, + { 0x2BCE, 46571 }, + { 0x2C03, 46574 }, + { 0x2BC8, 46577 }, + { 0x2BF1, 46580 }, + { 0x2BE9, 46583 }, + { 0x2BC6, 46586 }, + { 0x2BBF, 46589 }, + { 0x2C00, 46592 }, + { 0x2BFD, 46595 }, + { 0x2BFF, 46598 }, + { 0x2BCB, 46601 }, + { 0x2C07, 46604 }, + { 0x2C02, 46607 }, + { 0x2BE7, 46610 }, + { 0x2BC5, 46613 }, + { 0x2BB5, 46616 }, + { 0x2BF0, 46619 }, + { 0x2BB7, 46622 }, + { 0x2BB8, 46625 }, + { 0x2BF8, 46628 }, + { 0x2BC2, 46631 }, + { 0x2BBD, 46634 }, + { 0x2BBE, 46637 }, + { 0x2BFC, 46640 }, + { 0x2BFE, 46643 }, + { 0x2BB4, 46646 }, + { 0x2BBA, 46649 }, + { 0x2C08, 46652 }, + { 0x2BE8, 46655 }, + { 0x2BF4, 46658 }, + { 0x2BF5, 46661 }, + { 0x2BBC, 46664 }, + { 0x2BEC, 46667 }, + { 0x2BF3, 46670 }, + { 0x2BFA, 46673 }, + { 0x2BF2, 46676 }, + { 0x2BEA, 46679 }, + { 0x2BF9, 46682 }, + { 0x2BEE, 46685 }, + { 0x2BC1, 46688 }, + { 0x2BC0, 46691 }, + { 0x2C04, 46694 }, + { 0x2C06, 46697 }, + { 0x2BED, 46700 }, + { 0x2C05, 46703 }, + { 0x2BF6, 46706 }, + { 0x2BF7, 46709 }, + { 0x2BEB, 46712 }, + { 0x2BEF, 46715 }, + { 0x2BFB, 46718 }, + { 0x2ABB, 46721 }, + { 0x0E37, 46726 }, + { 0x0E3A, 46729 }, + { 0x0E40, 46732 }, + { 0x0E39, 46735 }, + { 0x0E34, 46738 }, + { 0x0E30, 46741 }, + { 0x0E35, 46744 }, + { 0x0E33, 46747 }, + { 0x0E8D, 46750 }, + { 0x0E2E, 46753 }, + { 0x0E31, 46756 }, + { 0x0E3C, 46759 }, + { 0x0E3D, 46762 }, + { 0x0E6E, 46765 }, + { 0x0E3F, 46768 }, + { 0x0E3E, 46771 }, + { 0x0E7A, 46774 }, + { 0x0E38, 46777 }, + { 0x3794, 46780 }, + { 0x0E73, 46783 }, + { 0x378A, 46786 }, + { 0x0E89, 46789 }, + { 0x0E4F, 46792 }, + { 0x3785, 46795 }, + { 0x0E64, 46798 }, + { 0x0E69, 46801 }, + { 0x0E63, 46804 }, + { 0x0E5F, 46807 }, + { 0x0E5C, 46810 }, + { 0x0E60, 46813 }, + { 0x0E5E, 46816 }, + { 0x0E3B, 46819 }, + { 0x0E86, 46822 }, + { 0x0E75, 46825 }, + { 0x0E42, 46828 }, + { 0x0E36, 46831 }, + { 0x0E47, 46834 }, + { 0x0E7B, 46837 }, + { 0x0E76, 46840 }, + { 0x3790, 46843 }, + { 0x0E71, 46846 }, + { 0x0E72, 46849 }, + { 0x378F, 46852 }, + { 0x0E4A, 46855 }, + { 0x0E8A, 46858 }, + { 0x0E8B, 46861 }, + { 0x0E44, 46864 }, + { 0x0E55, 46867 }, + { 0x378D, 46870 }, + { 0x0E4D, 46873 }, + { 0x3786, 46876 }, + { 0x0E48, 46879 }, + { 0x3781, 46882 }, + { 0x0E46, 46885 }, + { 0x3782, 46888 }, + { 0x0E5B, 46891 }, + { 0x0E5D, 46894 }, + { 0x0E2F, 46897 }, + { 0x0E32, 46900 }, + { 0x377B, 46903 }, + { 0x0E87, 46906 }, + { 0x0E6A, 46909 }, + { 0x0E6F, 46912 }, + { 0x0E70, 46915 }, + { 0x3788, 46918 }, + { 0x3789, 46921 }, + { 0x0E41, 46924 }, + { 0x0E43, 46927 }, + { 0x0E4C, 46930 }, + { 0x0E4E, 46933 }, + { 0x377D, 46936 }, + { 0x377F, 46939 }, + { 0x0E65, 46942 }, + { 0x0E66, 46945 }, + { 0x0E68, 46948 }, + { 0x0E67, 46951 }, + { 0x3792, 46954 }, + { 0x377C, 46957 }, + { 0x3779, 46960 }, + { 0x377A, 46963 }, + { 0x0E8C, 46966 }, + { 0x0E81, 46969 }, + { 0x0E7C, 46972 }, + { 0x0E77, 46975 }, + { 0x0E74, 46978 }, + { 0x0E79, 46981 }, + { 0x0E78, 46984 }, + { 0x0E4B, 46987 }, + { 0x0E59, 46990 }, + { 0x0E49, 46993 }, + { 0x0E88, 46996 }, + { 0x3793, 46999 }, + { 0x0E84, 47002 }, + { 0x0E56, 47005 }, + { 0x378C, 47008 }, + { 0x0E58, 47011 }, + { 0x0E57, 47014 }, + { 0x3787, 47017 }, + { 0x0E45, 47020 }, + { 0x0E62, 47023 }, + { 0x0E6C, 47026 }, + { 0x0E80, 47029 }, + { 0x0E82, 47032 }, + { 0x0E85, 47035 }, + { 0x0E53, 47038 }, + { 0x378E, 47041 }, + { 0x0E7E, 47044 }, + { 0x0E54, 47047 }, + { 0x0E52, 47050 }, + { 0x3783, 47053 }, + { 0x3791, 47056 }, + { 0x3795, 47059 }, + { 0x0E6B, 47062 }, + { 0x0E50, 47065 }, + { 0x0E51, 47068 }, + { 0x377E, 47071 }, + { 0x3780, 47074 }, + { 0x0E61, 47077 }, + { 0x0E83, 47080 }, + { 0x0E7D, 47083 }, + { 0x0E5A, 47086 }, + { 0x378B, 47089 }, + { 0x3784, 47092 }, + { 0x0E6D, 47095 }, + { 0x0E7F, 47098 }, + { 0x0EE8, 47101 }, + { 0x0EEB, 47104 }, + { 0x0EF0, 47107 }, + { 0x0EEA, 47110 }, + { 0x0EE5, 47113 }, + { 0x0ED9, 47116 }, + { 0x0EE6, 47119 }, + { 0x0EDD, 47122 }, + { 0x0ED6, 47125 }, + { 0x0EDC, 47128 }, + { 0x0EEC, 47131 }, + { 0x0EED, 47134 }, + { 0x0F19, 47137 }, + { 0x0EEF, 47140 }, + { 0x0EEE, 47143 }, + { 0x0F1E, 47146 }, + { 0x0EE9, 47149 }, + { 0x0F0B, 47152 }, + { 0x0EF5, 47155 }, + { 0x0EE7, 47158 }, + { 0x0EE1, 47161 }, + { 0x39FB, 47164 }, + { 0x39FE, 47167 }, + { 0x39F6, 47170 }, + { 0x0F18, 47173 }, + { 0x0F17, 47176 }, + { 0x3A05, 47179 }, + { 0x0F1C, 47182 }, + { 0x39EC, 47185 }, + { 0x0F2D, 47188 }, + { 0x39F2, 47191 }, + { 0x0EFE, 47194 }, + { 0x3A03, 47197 }, + { 0x0F25, 47200 }, + { 0x0F23, 47203 }, + { 0x0F26, 47206 }, + { 0x0F24, 47209 }, + { 0x0ED8, 47212 }, + { 0x39EE, 47215 }, + { 0x0F0F, 47218 }, + { 0x39EA, 47221 }, + { 0x0F0A, 47224 }, + { 0x0F09, 47227 }, + { 0x0EDA, 47230 }, + { 0x0EDB, 47233 }, + { 0x39D7, 47236 }, + { 0x39F4, 47239 }, + { 0x0F13, 47242 }, + { 0x39F1, 47245 }, + { 0x0F11, 47248 }, + { 0x0EE4, 47251 }, + { 0x0EDF, 47254 }, + { 0x0EFB, 47257 }, + { 0x0EE0, 47260 }, + { 0x0F15, 47263 }, + { 0x0F16, 47266 }, + { 0x0ED7, 47269 }, + { 0x39D9, 47272 }, + { 0x39DC, 47275 }, + { 0x0F27, 47278 }, + { 0x0F1A, 47281 }, + { 0x0F2C, 47284 }, + { 0x0F28, 47287 }, + { 0x0F29, 47290 }, + { 0x0EF1, 47293 }, + { 0x0F08, 47296 }, + { 0x0EF3, 47299 }, + { 0x0EF4, 47302 }, + { 0x3A06, 47305 }, + { 0x39EF, 47308 }, + { 0x0EDE, 47311 }, + { 0x0EFC, 47314 }, + { 0x39FC, 47317 }, + { 0x39FA, 47320 }, + { 0x39FD, 47323 }, + { 0x39DE, 47326 }, + { 0x39DB, 47329 }, + { 0x0EF9, 47332 }, + { 0x0F1D, 47335 }, + { 0x0F10, 47338 }, + { 0x0F14, 47341 }, + { 0x39E9, 47344 }, + { 0x0F0E, 47347 }, + { 0x0F0D, 47350 }, + { 0x39D8, 47353 }, + { 0x0EF6, 47356 }, + { 0x0EF7, 47359 }, + { 0x39FF, 47362 }, + { 0x0F21, 47365 }, + { 0x39F5, 47368 }, + { 0x0F12, 47371 }, + { 0x0F06, 47374 }, + { 0x0F05, 47377 }, + { 0x0EE3, 47380 }, + { 0x0EE2, 47383 }, + { 0x0EF8, 47386 }, + { 0x0F1F, 47389 }, + { 0x0F2A, 47392 }, + { 0x0F2B, 47395 }, + { 0x39E7, 47398 }, + { 0x39DF, 47401 }, + { 0x39E0, 47404 }, + { 0x3A02, 47407 }, + { 0x3A01, 47410 }, + { 0x0F22, 47413 }, + { 0x0F0C, 47416 }, + { 0x3A07, 47419 }, + { 0x0F04, 47422 }, + { 0x3A04, 47425 }, + { 0x39ED, 47428 }, + { 0x39EB, 47431 }, + { 0x0F00, 47434 }, + { 0x0F01, 47437 }, + { 0x39F8, 47440 }, + { 0x39F9, 47443 }, + { 0x0F20, 47446 }, + { 0x0F1B, 47449 }, + { 0x39F3, 47452 }, + { 0x0EFA, 47455 }, + { 0x39E4, 47458 }, + { 0x0F02, 47461 }, + { 0x39E1, 47464 }, + { 0x0F07, 47467 }, + { 0x39DA, 47470 }, + { 0x0EF2, 47473 }, + { 0x39E2, 47476 }, + { 0x0EFF, 47479 }, + { 0x39E5, 47482 }, + { 0x0EFD, 47485 }, + { 0x39F7, 47488 }, + { 0x39E3, 47491 }, + { 0x39DD, 47494 }, + { 0x39F0, 47497 }, + { 0x0F03, 47500 }, + { 0x39E6, 47503 }, + { 0x3A00, 47506 }, + { 0x39E8, 47509 }, + { 0x0E8F, 47512 }, + { 0x0E94, 47515 }, + { 0x0EA3, 47518 }, + { 0x0E97, 47521 }, + { 0x0E9C, 47524 }, + { 0x0E90, 47527 }, + { 0x0E93, 47530 }, + { 0x0EA1, 47533 }, + { 0x0E9A, 47536 }, + { 0x0E98, 47539 }, + { 0x0E9E, 47542 }, + { 0x0E9F, 47545 }, + { 0x0E91, 47548 }, + { 0x0E96, 47551 }, + { 0x0EA2, 47554 }, + { 0x0E9B, 47557 }, + { 0x0EA0, 47560 }, + { 0x0EA4, 47563 }, + { 0x0EA5, 47566 }, + { 0x0EC6, 47569 }, + { 0x39D4, 47572 }, + { 0x0EC8, 47575 }, + { 0x0EC9, 47578 }, + { 0x0EAE, 47581 }, + { 0x0EB0, 47584 }, + { 0x0EB1, 47587 }, + { 0x0EB7, 47590 }, + { 0x0EBB, 47593 }, + { 0x0E99, 47596 }, + { 0x0E9D, 47599 }, + { 0x0E92, 47602 }, + { 0x0E95, 47605 }, + { 0x0ED1, 47608 }, + { 0x0EA8, 47611 }, + { 0x0EA9, 47614 }, + { 0x39C9, 47617 }, + { 0x39CB, 47620 }, + { 0x39CC, 47623 }, + { 0x0EC3, 47626 }, + { 0x0ECA, 47629 }, + { 0x0EC7, 47632 }, + { 0x39D0, 47635 }, + { 0x39D2, 47638 }, + { 0x39D3, 47641 }, + { 0x0EAD, 47644 }, + { 0x0ED4, 47647 }, + { 0x0EAF, 47650 }, + { 0x0EB8, 47653 }, + { 0x0EBA, 47656 }, + { 0x0EA6, 47659 }, + { 0x0ED2, 47662 }, + { 0x0EC5, 47665 }, + { 0x39C2, 47668 }, + { 0x0EB6, 47671 }, + { 0x0EB5, 47674 }, + { 0x0EBC, 47677 }, + { 0x0EBE, 47680 }, + { 0x0EC2, 47683 }, + { 0x39C8, 47686 }, + { 0x0EC1, 47689 }, + { 0x0ECC, 47692 }, + { 0x0EAA, 47695 }, + { 0x39CA, 47698 }, + { 0x0EC4, 47701 }, + { 0x39D1, 47704 }, + { 0x39CE, 47707 }, + { 0x39CF, 47710 }, + { 0x39C1, 47713 }, + { 0x0ED5, 47716 }, + { 0x39C0, 47719 }, + { 0x39C6, 47722 }, + { 0x39C5, 47725 }, + { 0x0EA7, 47728 }, + { 0x0EAB, 47731 }, + { 0x0EAC, 47734 }, + { 0x39C3, 47737 }, + { 0x39C4, 47740 }, + { 0x0EB2, 47743 }, + { 0x39C7, 47746 }, + { 0x0EBD, 47749 }, + { 0x0EC0, 47752 }, + { 0x0E8E, 47755 }, + { 0x39CD, 47758 }, + { 0x0ED3, 47761 }, + { 0x0EB3, 47764 }, + { 0x0EB4, 47767 }, + { 0x0EBF, 47770 }, + { 0x39D5, 47773 }, + { 0x39D6, 47776 }, + { 0x0ECF, 47779 }, + { 0x0ECE, 47782 }, + { 0x0ECB, 47785 }, + { 0x0EB9, 47788 }, + { 0x0ECD, 47791 }, + { 0x0ED0, 47794 }, + { 0x4470, 47797 }, + { 0x447C, 47800 }, + { 0x447B, 47803 }, + { 0x4478, 47806 }, + { 0x4479, 47809 }, + { 0x4480, 47812 }, + { 0x4471, 47815 }, + { 0x446D, 47818 }, + { 0x4473, 47821 }, + { 0x4476, 47824 }, + { 0x447E, 47827 }, + { 0x447F, 47830 }, + { 0x4474, 47833 }, + { 0x4475, 47836 }, + { 0x4472, 47839 }, + { 0x446C, 47842 }, + { 0x446E, 47845 }, + { 0x447D, 47848 }, + { 0x4477, 47851 }, + { 0x447A, 47854 }, + { 0x446F, 47857 }, + { 0x4481, 47860 }, + { 0x4485, 47863 }, + { 0x4483, 47867 }, + { 0x4482, 47870 }, + { 0x4484, 47873 }, + { 0x0573, 47876 }, + { 0x0572, 47880 }, + { 0x055D, 47884 }, + { 0x0570, 47888 }, + { 0x056D, 47892 }, + { 0x056F, 47895 }, + { 0x0560, 47899 }, + { 0x055F, 47903 }, + { 0x0561, 47907 }, + { 0x0562, 47911 }, + { 0x0567, 47914 }, + { 0x0568, 47917 }, + { 0x056B, 47923 }, + { 0x0565, 47926 }, + { 0x0564, 47929 }, + { 0x055E, 47932 }, + { 0x0563, 47935 }, + { 0x056A, 47938 }, + { 0x0566, 47943 }, + { 0x0575, 47946 }, + { 0x0569, 47950 }, + { 0x3A1A, 47953 }, + { 0x0559, 47957 }, + { 0x055B, 47960 }, + { 0x055A, 47963 }, + { 0x0550, 47966 }, + { 0x0555, 47970 }, + { 0x0551, 47973 }, + { 0x054F, 47976 }, + { 0x0556, 47979 }, + { 0x0545, 47982 }, + { 0x0540, 47985 }, + { 0x0549, 47988 }, + { 0x0558, 47991 }, + { 0x0548, 47996 }, + { 0x0543, 47999 }, + { 0x0542, 48003 }, + { 0x0546, 48007 }, + { 0x055C, 48010 }, + { 0x054A, 48013 }, + { 0x054B, 48016 }, + { 0x0553, 48020 }, + { 0x0554, 48023 }, + { 0x0547, 48027 }, + { 0x054D, 48030 }, + { 0x0544, 48034 }, + { 0x053F, 48037 }, + { 0x054E, 48040 }, + { 0x0557, 48044 }, + { 0x0552, 48048 }, + { 0x054C, 48051 }, + { 0x0541, 48054 }, + { 0x057A, 48057 }, + { 0x3A30, 48060 }, + { 0x058A, 48065 }, + { 0x3A45, 48068 }, + { 0x3A3C, 48073 }, + { 0x0577, 48078 }, + { 0x3A43, 48081 }, + { 0x3A2D, 48086 }, + { 0x057D, 48091 }, + { 0x0581, 48094 }, + { 0x3A44, 48097 }, + { 0x3A36, 48102 }, + { 0x0584, 48107 }, + { 0x3A38, 48110 }, + { 0x0586, 48115 }, + { 0x3A39, 48118 }, + { 0x058D, 48123 }, + { 0x3A3E, 48126 }, + { 0x0590, 48131 }, + { 0x3A41, 48134 }, + { 0x057E, 48139 }, + { 0x3A33, 48142 }, + { 0x057B, 48147 }, + { 0x3A42, 48150 }, + { 0x3A31, 48155 }, + { 0x057F, 48160 }, + { 0x3A19, 48163 }, + { 0x3A34, 48168 }, + { 0x0576, 48173 }, + { 0x3A2C, 48176 }, + { 0x3A2A, 48181 }, + { 0x3A2B, 48186 }, + { 0x0588, 48191 }, + { 0x058E, 48194 }, + { 0x3A3F, 48197 }, + { 0x058F, 48202 }, + { 0x3A27, 48205 }, + { 0x3A26, 48211 }, + { 0x3A40, 48217 }, + { 0x3A29, 48222 }, + { 0x3A28, 48230 }, + { 0x3A1F, 48238 }, + { 0x3A20, 48242 }, + { 0x3A24, 48246 }, + { 0x3A1D, 48250 }, + { 0x3A23, 48254 }, + { 0x3A1E, 48258 }, + { 0x3A22, 48262 }, + { 0x3A21, 48267 }, + { 0x0579, 48271 }, + { 0x3A2F, 48274 }, + { 0x0589, 48279 }, + { 0x3A3B, 48283 }, + { 0x0580, 48289 }, + { 0x3A35, 48293 }, + { 0x0583, 48299 }, + { 0x0585, 48303 }, + { 0x058B, 48307 }, + { 0x0578, 48311 }, + { 0x3A2E, 48314 }, + { 0x0582, 48319 }, + { 0x3A37, 48322 }, + { 0x058C, 48327 }, + { 0x3A3D, 48330 }, + { 0x057C, 48335 }, + { 0x3A32, 48338 }, + { 0x0587, 48343 }, + { 0x3A3A, 48346 }, + { 0x3A1C, 48351 }, + { 0x3A25, 48355 }, + { 0x3A46, 48360 }, + { 0x0592, 48364 }, + { 0x3A1B, 48369 }, + { 0x0591, 48375 }, + { 0x0593, 48380 }, + { 0x0574, 48385 }, + { 0x0571, 48389 }, + { 0x056C, 48393 }, + { 0x056E, 48396 }, + { 0x0594, 48399 }, + { 0x0595, 48402 }, + { 0x222B, 48405 }, + { 0x6FA3, 48409 }, + { 0x6FA4, 48413 }, + { 0x6F6A, 48420 }, + { 0x1BC4, 48422 }, + { 0x290D, 48423 }, + { 0x1BF7, 48426 }, + { 0x1C66, 48428 }, + { 0x47FA, 48431 }, + { 0x47F9, 48434 }, + { 0x47C2, 48437 }, + { 0x47C1, 48440 }, + { 0x47C0, 48443 }, + { 0x4800, 48446 }, + { 0x47F5, 48448 }, + { 0x47F1, 48452 }, + { 0x47F7, 48456 }, + { 0x47F3, 48460 }, + { 0x47F0, 48464 }, + { 0x47F6, 48468 }, + { 0x47F8, 48472 }, + { 0x47F2, 48476 }, + { 0x47F4, 48480 }, + { 0x4801, 48484 }, + { 0x47FF, 48487 }, + { 0x47C3, 48491 }, + { 0x47C9, 48494 }, + { 0x47C5, 48497 }, + { 0x47CB, 48500 }, + { 0x47C7, 48503 }, + { 0x47C4, 48506 }, + { 0x47CA, 48509 }, + { 0x47CC, 48512 }, + { 0x47E5, 48515 }, + { 0x47D2, 48518 }, + { 0x47E0, 48521 }, + { 0x47CF, 48524 }, + { 0x47EF, 48527 }, + { 0x47C6, 48530 }, + { 0x47D4, 48533 }, + { 0x47CD, 48536 }, + { 0x47EA, 48539 }, + { 0x47E7, 48542 }, + { 0x47E2, 48545 }, + { 0x47E3, 48548 }, + { 0x47E9, 48551 }, + { 0x47EE, 48554 }, + { 0x47DE, 48557 }, + { 0x47C8, 48560 }, + { 0x47EB, 48563 }, + { 0x47E8, 48566 }, + { 0x47E6, 48569 }, + { 0x47D3, 48572 }, + { 0x47D9, 48575 }, + { 0x47E1, 48578 }, + { 0x47D0, 48581 }, + { 0x47D5, 48584 }, + { 0x47CE, 48587 }, + { 0x47D1, 48590 }, + { 0x47DD, 48593 }, + { 0x47D6, 48596 }, + { 0x47E4, 48599 }, + { 0x47DC, 48602 }, + { 0x47EC, 48605 }, + { 0x47ED, 48608 }, + { 0x47DF, 48611 }, + { 0x47D7, 48614 }, + { 0x47DB, 48617 }, + { 0x47D8, 48620 }, + { 0x47DA, 48623 }, + { 0x47FD, 48626 }, + { 0x47FE, 48629 }, + { 0x47FC, 48632 }, + { 0x47FB, 48635 }, + { 0x29FA, 48638 }, + { 0x29CC, 48642 }, + { 0x29CD, 48645 }, + { 0x2A28, 48649 }, + { 0x29EF, 48652 }, + { 0x29CF, 48655 }, + { 0x29E3, 48658 }, + { 0x2A07, 48661 }, + { 0x2A08, 48664 }, + { 0x29AD, 48667 }, + { 0x29DD, 48670 }, + { 0x2A2A, 48673 }, + { 0x2A62, 48676 }, + { 0x2A17, 48679 }, + { 0x2A61, 48682 }, + { 0x29FC, 48685 }, + { 0x29B9, 48688 }, + { 0x2A23, 48691 }, + { 0x29B2, 48694 }, + { 0x29B3, 48697 }, + { 0x2A24, 48700 }, + { 0x29F1, 48703 }, + { 0x2A27, 48706 }, + { 0x29AB, 48709 }, + { 0x2A42, 48712 }, + { 0x29EC, 48715 }, + { 0x2A7A, 48718 }, + { 0x2A45, 48721 }, + { 0x2A46, 48724 }, + { 0x29F3, 48727 }, + { 0x2A3D, 48730 }, + { 0x29F2, 48733 }, + { 0x29C2, 48736 }, + { 0x29B1, 48739 }, + { 0x29E1, 48742 }, + { 0x2A0F, 48746 }, + { 0x2A41, 48749 }, + { 0x2A6E, 48752 }, + { 0x2A58, 48755 }, + { 0x2A33, 48758 }, + { 0x2A48, 48761 }, + { 0x2A11, 48764 }, + { 0x2A66, 48769 }, + { 0x2A49, 48772 }, + { 0x2A1E, 48775 }, + { 0x2A4D, 48778 }, + { 0x29FD, 48781 }, + { 0x2A01, 48784 }, + { 0x2A70, 48787 }, + { 0x2A16, 48790 }, + { 0x29E9, 48793 }, + { 0x29B7, 48796 }, + { 0x2A79, 48800 }, + { 0x2A7C, 48803 }, + { 0x2A5A, 48806 }, + { 0x2A06, 48809 }, + { 0x2A00, 48812 }, + { 0x2A6D, 48815 }, + { 0x2A47, 48818 }, + { 0x2A77, 48821 }, + { 0x2A53, 48824 }, + { 0x2A51, 48827 }, + { 0x2A68, 48830 }, + { 0x2A04, 48833 }, + { 0x29EA, 48838 }, + { 0x2A63, 48841 }, + { 0x2A72, 48844 }, + { 0x29B0, 48847 }, + { 0x2A3E, 48850 }, + { 0x29D3, 48853 }, + { 0x2A0A, 48856 }, + { 0x29F6, 48859 }, + { 0x29D5, 48862 }, + { 0x2A5F, 48865 }, + { 0x2A5D, 48868 }, + { 0x29B4, 48871 }, + { 0x2A0E, 48874 }, + { 0x29AC, 48877 }, + { 0x2A52, 48880 }, + { 0x29E0, 48883 }, + { 0x2A2C, 48887 }, + { 0x29F4, 48890 }, + { 0x2A7B, 48893 }, + { 0x29BB, 48896 }, + { 0x2A29, 48900 }, + { 0x2A57, 48903 }, + { 0x2A21, 48906 }, + { 0x29D2, 48909 }, + { 0x2A6F, 48912 }, + { 0x29C4, 48915 }, + { 0x2A2E, 48918 }, + { 0x2A22, 48921 }, + { 0x2A15, 48924 }, + { 0x29E6, 48927 }, + { 0x29F7, 48930 }, + { 0x2A67, 48933 }, + { 0x2A0C, 48936 }, + { 0x29F5, 48939 }, + { 0x2A4C, 48942 }, + { 0x2A3A, 48945 }, + { 0x2A3C, 48949 }, + { 0x2A60, 48952 }, + { 0x2A4E, 48955 }, + { 0x29DA, 48958 }, + { 0x29BE, 48961 }, + { 0x29C7, 48964 }, + { 0x2A19, 48967 }, + { 0x2A75, 48970 }, + { 0x2A39, 48973 }, + { 0x2A2B, 48976 }, + { 0x29D1, 48979 }, + { 0x29C5, 48982 }, + { 0x2A35, 48985 }, + { 0x29B8, 48988 }, + { 0x29F8, 48991 }, + { 0x29CA, 48994 }, + { 0x29B6, 48997 }, + { 0x29B5, 49000 }, + { 0x2A10, 49003 }, + { 0x2A69, 49006 }, + { 0x2A80, 49009 }, + { 0x2A6C, 49012 }, + { 0x2A1D, 49015 }, + { 0x2A36, 49018 }, + { 0x29E7, 49021 }, + { 0x2A65, 49024 }, + { 0x29BC, 49027 }, + { 0x2A0B, 49030 }, + { 0x2A54, 49033 }, + { 0x29C8, 49036 }, + { 0x29BD, 49039 }, + { 0x29C0, 49042 }, + { 0x29D9, 49047 }, + { 0x2A25, 49050 }, + { 0x2A44, 49053 }, + { 0x29E2, 49056 }, + { 0x2A56, 49059 }, + { 0x29DE, 49064 }, + { 0x29AE, 49068 }, + { 0x2A55, 49071 }, + { 0x2A05, 49074 }, + { 0x29D4, 49077 }, + { 0x29E4, 49080 }, + { 0x2A5E, 49083 }, + { 0x2A18, 49086 }, + { 0x29BF, 49089 }, + { 0x2A1F, 49092 }, + { 0x29FE, 49095 }, + { 0x2A1A, 49098 }, + { 0x2A0D, 49101 }, + { 0x29BA, 49104 }, + { 0x2A37, 49107 }, + { 0x2A7D, 49110 }, + { 0x2A1C, 49113 }, + { 0x29FF, 49116 }, + { 0x2A71, 49119 }, + { 0x2A14, 49122 }, + { 0x29D0, 49125 }, + { 0x2A59, 49128 }, + { 0x2A2F, 49131 }, + { 0x2A43, 49134 }, + { 0x2A20, 49137 }, + { 0x2A4A, 49140 }, + { 0x29EB, 49143 }, + { 0x29D6, 49146 }, + { 0x29EE, 49149 }, + { 0x2A13, 49152 }, + { 0x29DF, 49156 }, + { 0x2A03, 49160 }, + { 0x2A7E, 49164 }, + { 0x2A02, 49167 }, + { 0x29C1, 49170 }, + { 0x2A38, 49174 }, + { 0x2A74, 49177 }, + { 0x2A30, 49180 }, + { 0x2A32, 49183 }, + { 0x29ED, 49186 }, + { 0x29AF, 49189 }, + { 0x2A3F, 49192 }, + { 0x2A1B, 49195 }, + { 0x29D7, 49198 }, + { 0x29F0, 49201 }, + { 0x2A5C, 49204 }, + { 0x2A31, 49208 }, + { 0x2A78, 49211 }, + { 0x29DC, 49214 }, + { 0x2A7F, 49217 }, + { 0x2A40, 49220 }, + { 0x29F9, 49223 }, + { 0x2A73, 49226 }, + { 0x29E5, 49229 }, + { 0x2A3B, 49232 }, + { 0x29FB, 49235 }, + { 0x29CE, 49238 }, + { 0x2A26, 49241 }, + { 0x29E8, 49244 }, + { 0x2A5B, 49247 }, + { 0x2A4B, 49250 }, + { 0x29DB, 49253 }, + { 0x29C6, 49256 }, + { 0x29CB, 49259 }, + { 0x2A50, 49262 }, + { 0x2A6B, 49265 }, + { 0x2A64, 49268 }, + { 0x2A2D, 49271 }, + { 0x29D8, 49274 }, + { 0x2A09, 49277 }, + { 0x2A12, 49280 }, + { 0x2A34, 49283 }, + { 0x29C9, 49286 }, + { 0x29C3, 49289 }, + { 0x2A76, 49292 }, + { 0x2A4F, 49295 }, + { 0x2A6A, 49298 }, + { 0x1CB7, 49302 }, + { 0x6E5A, 49304 }, + { 0x4936, 49306 }, + { 0x493E, 49309 }, + { 0x4937, 49312 }, + { 0x4935, 49315 }, + { 0x4934, 49318 }, + { 0x493A, 49321 }, + { 0x4938, 49324 }, + { 0x4930, 49326 }, + { 0x492D, 49330 }, + { 0x4932, 49334 }, + { 0x492F, 49338 }, + { 0x492C, 49342 }, + { 0x4931, 49346 }, + { 0x4933, 49350 }, + { 0x492E, 49354 }, + { 0x4939, 49358 }, + { 0x493C, 49361 }, + { 0x4901, 49365 }, + { 0x4905, 49368 }, + { 0x4903, 49371 }, + { 0x4907, 49374 }, + { 0x4904, 49377 }, + { 0x4902, 49380 }, + { 0x4906, 49383 }, + { 0x4908, 49386 }, + { 0x4921, 49389 }, + { 0x490F, 49392 }, + { 0x491B, 49395 }, + { 0x490B, 49398 }, + { 0x492A, 49401 }, + { 0x4911, 49404 }, + { 0x4909, 49407 }, + { 0x4927, 49410 }, + { 0x4924, 49413 }, + { 0x491E, 49416 }, + { 0x491F, 49419 }, + { 0x4926, 49422 }, + { 0x4929, 49425 }, + { 0x4919, 49428 }, + { 0x4928, 49431 }, + { 0x4925, 49434 }, + { 0x4922, 49437 }, + { 0x4923, 49440 }, + { 0x4910, 49443 }, + { 0x4916, 49446 }, + { 0x491D, 49449 }, + { 0x490C, 49452 }, + { 0x490D, 49455 }, + { 0x4912, 49458 }, + { 0x490A, 49461 }, + { 0x492B, 49464 }, + { 0x490E, 49467 }, + { 0x4918, 49470 }, + { 0x4913, 49473 }, + { 0x4920, 49476 }, + { 0x491A, 49479 }, + { 0x4914, 49482 }, + { 0x491C, 49485 }, + { 0x4917, 49488 }, + { 0x4915, 49491 }, + { 0x493B, 49494 }, + { 0x493D, 49497 }, + { 0x6D93, 49500 }, + { 0x2CEE, 49501 }, + { 0x2605, 49504 }, + { 0x2607, 49506 }, + { 0x6E0D, 49511 }, + { 0x1852, 49512 }, + { 0x1853, 49515 }, + { 0x185A, 49518 }, + { 0x185F, 49521 }, + { 0x185B, 49524 }, + { 0x185E, 49527 }, + { 0x185D, 49530 }, + { 0x1862, 49533 }, + { 0x1859, 49536 }, + { 0x1861, 49539 }, + { 0x1860, 49542 }, + { 0x185C, 49545 }, + { 0x1848, 49548 }, + { 0x1843, 49552 }, + { 0x1844, 49556 }, + { 0x1846, 49560 }, + { 0x1842, 49564 }, + { 0x1845, 49568 }, + { 0x1847, 49572 }, + { 0x183F, 49576 }, + { 0x182F, 49579 }, + { 0x1822, 49582 }, + { 0x1828, 49585 }, + { 0x182D, 49588 }, + { 0x181F, 49591 }, + { 0x1839, 49594 }, + { 0x1824, 49597 }, + { 0x181C, 49600 }, + { 0x1838, 49603 }, + { 0x1831, 49606 }, + { 0x1829, 49609 }, + { 0x182A, 49612 }, + { 0x1837, 49615 }, + { 0x183C, 49618 }, + { 0x1826, 49621 }, + { 0x183B, 49624 }, + { 0x183E, 49627 }, + { 0x1836, 49630 }, + { 0x1830, 49633 }, + { 0x1823, 49636 }, + { 0x1865, 49639 }, + { 0x1835, 49642 }, + { 0x182E, 49645 }, + { 0x1820, 49648 }, + { 0x183A, 49651 }, + { 0x181E, 49654 }, + { 0x181D, 49657 }, + { 0x1832, 49660 }, + { 0x1821, 49663 }, + { 0x1825, 49666 }, + { 0x182C, 49669 }, + { 0x182B, 49672 }, + { 0x183D, 49675 }, + { 0x1827, 49678 }, + { 0x1833, 49681 }, + { 0x1863, 49684 }, + { 0x1834, 49687 }, + { 0x1864, 49690 }, + { 0x1849, 49693 }, + { 0x184B, 49697 }, + { 0x184A, 49701 }, + { 0x184C, 49705 }, + { 0x184D, 49709 }, + { 0x184E, 49713 }, + { 0x184F, 49717 }, + { 0x1851, 49721 }, + { 0x1850, 49725 }, + { 0x1841, 49729 }, + { 0x1840, 49733 }, + { 0x1855, 49737 }, + { 0x1856, 49742 }, + { 0x1854, 49745 }, + { 0x1858, 49748 }, + { 0x1857, 49751 }, + { 0x42CE, 49755 }, + { 0x42CF, 49759 }, + { 0x42D0, 49763 }, + { 0x42D1, 49767 }, + { 0x42D2, 49771 }, + { 0x42D3, 49775 }, + { 0x42D4, 49779 }, + { 0x42D5, 49783 }, + { 0x42D9, 49787 }, + { 0x42DA, 49791 }, + { 0x42DB, 49795 }, + { 0x42DF, 49799 }, + { 0x42E0, 49803 }, + { 0x42E1, 49807 }, + { 0x42E2, 49811 }, + { 0x42E3, 49815 }, + { 0x42E4, 49819 }, + { 0x42E5, 49823 }, + { 0x42E6, 49827 }, + { 0x42E7, 49831 }, + { 0x42E8, 49835 }, + { 0x42E9, 49839 }, + { 0x42EA, 49843 }, + { 0x42EB, 49847 }, + { 0x42EC, 49851 }, + { 0x42ED, 49855 }, + { 0x42EE, 49859 }, + { 0x42EF, 49863 }, + { 0x42F0, 49867 }, + { 0x42F1, 49871 }, + { 0x42F2, 49875 }, + { 0x42F3, 49879 }, + { 0x42F4, 49883 }, + { 0x42F5, 49887 }, + { 0x42F6, 49891 }, + { 0x42F7, 49895 }, + { 0x42F8, 49899 }, + { 0x42F9, 49903 }, + { 0x42FA, 49907 }, + { 0x42FB, 49911 }, + { 0x42FC, 49915 }, + { 0x42FD, 49919 }, + { 0x42FE, 49923 }, + { 0x42FF, 49927 }, + { 0x4300, 49931 }, + { 0x4301, 49935 }, + { 0x4302, 49939 }, + { 0x4303, 49943 }, + { 0x4304, 49947 }, + { 0x4305, 49951 }, + { 0x4306, 49955 }, + { 0x4307, 49959 }, + { 0x4308, 49963 }, + { 0x4309, 49967 }, + { 0x430A, 49971 }, + { 0x430B, 49975 }, + { 0x430C, 49979 }, + { 0x430D, 49983 }, + { 0x430E, 49987 }, + { 0x430F, 49991 }, + { 0x4310, 49995 }, + { 0x4311, 49999 }, + { 0x4312, 50003 }, + { 0x4313, 50007 }, + { 0x4314, 50011 }, + { 0x4315, 50015 }, + { 0x4316, 50019 }, + { 0x4317, 50023 }, + { 0x4318, 50027 }, + { 0x432C, 50031 }, + { 0x432D, 50035 }, + { 0x432E, 50039 }, + { 0x432F, 50043 }, + { 0x4330, 50047 }, + { 0x4331, 50051 }, + { 0x4332, 50055 }, + { 0x4333, 50059 }, + { 0x4334, 50063 }, + { 0x4335, 50067 }, + { 0x4336, 50071 }, + { 0x4337, 50075 }, + { 0x4338, 50079 }, + { 0x4339, 50083 }, + { 0x433A, 50087 }, + { 0x433B, 50091 }, + { 0x433C, 50095 }, + { 0x433D, 50099 }, + { 0x433E, 50103 }, + { 0x433F, 50107 }, + { 0x4340, 50111 }, + { 0x4341, 50115 }, + { 0x4342, 50119 }, + { 0x4343, 50123 }, + { 0x4344, 50127 }, + { 0x4345, 50131 }, + { 0x4346, 50135 }, + { 0x4347, 50139 }, + { 0x4348, 50143 }, + { 0x4349, 50147 }, + { 0x434A, 50151 }, + { 0x434B, 50155 }, + { 0x434C, 50159 }, + { 0x434D, 50163 }, + { 0x434E, 50167 }, + { 0x434F, 50171 }, + { 0x4350, 50175 }, + { 0x4351, 50179 }, + { 0x4352, 50183 }, + { 0x4353, 50187 }, + { 0x4354, 50191 }, + { 0x4355, 50195 }, + { 0x4356, 50199 }, + { 0x4357, 50203 }, + { 0x4358, 50207 }, + { 0x4359, 50211 }, + { 0x435A, 50215 }, + { 0x435B, 50219 }, + { 0x435C, 50223 }, + { 0x435D, 50227 }, + { 0x435E, 50231 }, + { 0x435F, 50235 }, + { 0x4360, 50239 }, + { 0x4361, 50243 }, + { 0x4362, 50247 }, + { 0x4363, 50251 }, + { 0x4364, 50255 }, + { 0x4365, 50259 }, + { 0x4366, 50263 }, + { 0x4367, 50267 }, + { 0x4368, 50271 }, + { 0x4369, 50275 }, + { 0x436A, 50279 }, + { 0x436B, 50283 }, + { 0x436C, 50287 }, + { 0x436D, 50291 }, + { 0x436E, 50295 }, + { 0x436F, 50299 }, + { 0x4370, 50303 }, + { 0x4371, 50307 }, + { 0x4372, 50311 }, + { 0x4373, 50315 }, + { 0x4374, 50319 }, + { 0x4375, 50323 }, + { 0x4376, 50327 }, + { 0x4377, 50331 }, + { 0x4378, 50335 }, + { 0x4379, 50339 }, + { 0x437A, 50343 }, + { 0x437B, 50347 }, + { 0x437C, 50351 }, + { 0x437D, 50355 }, + { 0x437E, 50359 }, + { 0x437F, 50363 }, + { 0x4380, 50367 }, + { 0x4381, 50371 }, + { 0x4382, 50375 }, + { 0x4383, 50379 }, + { 0x4384, 50383 }, + { 0x4385, 50387 }, + { 0x4386, 50391 }, + { 0x4387, 50395 }, + { 0x4388, 50399 }, + { 0x4389, 50403 }, + { 0x438A, 50407 }, + { 0x438B, 50411 }, + { 0x438C, 50415 }, + { 0x438D, 50419 }, + { 0x438E, 50423 }, + { 0x438F, 50427 }, + { 0x4390, 50431 }, + { 0x4391, 50435 }, + { 0x4392, 50439 }, + { 0x4393, 50443 }, + { 0x4394, 50447 }, + { 0x4395, 50451 }, + { 0x4396, 50455 }, + { 0x4397, 50459 }, + { 0x4398, 50463 }, + { 0x4399, 50467 }, + { 0x439A, 50471 }, + { 0x439B, 50475 }, + { 0x439C, 50479 }, + { 0x439D, 50483 }, + { 0x439E, 50487 }, + { 0x439F, 50491 }, + { 0x43A0, 50495 }, + { 0x43A1, 50499 }, + { 0x43A2, 50503 }, + { 0x43A3, 50507 }, + { 0x43A4, 50511 }, + { 0x43A5, 50515 }, + { 0x43A6, 50519 }, + { 0x43A7, 50523 }, + { 0x43A8, 50527 }, + { 0x43A9, 50531 }, + { 0x43AA, 50535 }, + { 0x43AB, 50539 }, + { 0x43AC, 50543 }, + { 0x43AD, 50547 }, + { 0x43AE, 50551 }, + { 0x43AF, 50555 }, + { 0x43B0, 50559 }, + { 0x43B1, 50564 }, + { 0x43B2, 50569 }, + { 0x43B3, 50574 }, + { 0x43B4, 50579 }, + { 0x43B5, 50584 }, + { 0x43B6, 50589 }, + { 0x43B7, 50594 }, + { 0x43B8, 50599 }, + { 0x43BD, 50604 }, + { 0x43BE, 50609 }, + { 0x43BF, 50614 }, + { 0x43C0, 50619 }, + { 0x43C1, 50624 }, + { 0x43C2, 50629 }, + { 0x43C3, 50634 }, + { 0x43C4, 50639 }, + { 0x43C5, 50644 }, + { 0x43C6, 50649 }, + { 0x43C7, 50653 }, + { 0x43C8, 50657 }, + { 0x43C9, 50661 }, + { 0x43CA, 50665 }, + { 0x43CB, 50669 }, + { 0x43CC, 50673 }, + { 0x43CD, 50677 }, + { 0x4294, 50681 }, + { 0x42C3, 50685 }, + { 0x42C8, 50689 }, + { 0x42D6, 50693 }, + { 0x42D7, 50697 }, + { 0x42D8, 50701 }, + { 0x42DC, 50705 }, + { 0x42DD, 50709 }, + { 0x42DE, 50713 }, + { 0x4279, 50717 }, + { 0x427A, 50721 }, + { 0x427B, 50725 }, + { 0x427C, 50729 }, + { 0x427D, 50733 }, + { 0x427E, 50737 }, + { 0x427F, 50741 }, + { 0x4280, 50745 }, + { 0x4281, 50749 }, + { 0x4282, 50753 }, + { 0x4283, 50757 }, + { 0x4284, 50761 }, + { 0x4285, 50765 }, + { 0x4286, 50769 }, + { 0x4287, 50773 }, + { 0x4288, 50777 }, + { 0x428B, 50781 }, + { 0x428E, 50785 }, + { 0x4290, 50789 }, + { 0x4291, 50793 }, + { 0x4292, 50797 }, + { 0x4293, 50801 }, + { 0x4295, 50805 }, + { 0x4296, 50809 }, + { 0x4297, 50813 }, + { 0x4298, 50817 }, + { 0x4299, 50821 }, + { 0x429A, 50825 }, + { 0x429B, 50829 }, + { 0x429C, 50833 }, + { 0x429D, 50837 }, + { 0x429E, 50841 }, + { 0x429F, 50845 }, + { 0x42A0, 50849 }, + { 0x42A1, 50853 }, + { 0x42A2, 50857 }, + { 0x42A3, 50861 }, + { 0x42A4, 50865 }, + { 0x42A5, 50869 }, + { 0x42A6, 50873 }, + { 0x42A7, 50877 }, + { 0x42A8, 50881 }, + { 0x42A9, 50885 }, + { 0x42AA, 50889 }, + { 0x42AB, 50893 }, + { 0x42AC, 50897 }, + { 0x42AD, 50901 }, + { 0x42AE, 50905 }, + { 0x42AF, 50909 }, + { 0x42B0, 50913 }, + { 0x42B1, 50917 }, + { 0x42B2, 50921 }, + { 0x42B3, 50925 }, + { 0x42B4, 50929 }, + { 0x42B5, 50933 }, + { 0x42B6, 50937 }, + { 0x42B7, 50941 }, + { 0x42B8, 50945 }, + { 0x42B9, 50949 }, + { 0x42BA, 50953 }, + { 0x42BB, 50957 }, + { 0x42BC, 50961 }, + { 0x42BD, 50965 }, + { 0x42BE, 50969 }, + { 0x42BF, 50973 }, + { 0x42C1, 50977 }, + { 0x42C2, 50981 }, + { 0x42C4, 50985 }, + { 0x42C5, 50989 }, + { 0x42C9, 50993 }, + { 0x42CA, 50997 }, + { 0x42CB, 51001 }, + { 0x42CC, 51005 }, + { 0x42CD, 51009 }, + { 0x43B9, 51013 }, + { 0x43BA, 51018 }, + { 0x43BB, 51023 }, + { 0x43BC, 51028 }, + { 0x4289, 51033 }, + { 0x428A, 51037 }, + { 0x428C, 51041 }, + { 0x428D, 51045 }, + { 0x428F, 51049 }, + { 0x42C6, 51053 }, + { 0x42C7, 51057 }, + { 0x42C0, 51061 }, + { 0x4319, 51065 }, + { 0x431A, 51069 }, + { 0x431B, 51073 }, + { 0x431C, 51077 }, + { 0x431D, 51081 }, + { 0x431E, 51085 }, + { 0x431F, 51089 }, + { 0x4320, 51093 }, + { 0x4321, 51097 }, + { 0x4322, 51101 }, + { 0x4323, 51105 }, + { 0x4324, 51109 }, + { 0x4325, 51113 }, + { 0x4326, 51117 }, + { 0x4327, 51121 }, + { 0x4328, 51125 }, + { 0x4329, 51129 }, + { 0x432A, 51133 }, + { 0x432B, 51137 }, + { 0x3EBB, 51141 }, + { 0x3EBC, 51145 }, + { 0x3EBD, 51149 }, + { 0x3EBE, 51153 }, + { 0x3EBF, 51157 }, + { 0x3EC0, 51161 }, + { 0x3EC1, 51165 }, + { 0x3EC2, 51169 }, + { 0x3EC3, 51173 }, + { 0x3EC4, 51177 }, + { 0x3EC5, 51181 }, + { 0x3EC6, 51185 }, + { 0x3EC7, 51189 }, + { 0x3EC8, 51193 }, + { 0x3EC9, 51197 }, + { 0x3ECA, 51202 }, + { 0x3ECB, 51207 }, + { 0x3ECC, 51212 }, + { 0x3ED7, 51217 }, + { 0x3ED8, 51222 }, + { 0x3ED9, 51227 }, + { 0x3EDA, 51232 }, + { 0x3EDB, 51237 }, + { 0x3EDE, 51242 }, + { 0x3EDF, 51247 }, + { 0x3EE0, 51252 }, + { 0x3EE3, 51256 }, + { 0x3EE4, 51261 }, + { 0x3EE5, 51266 }, + { 0x3EE6, 51270 }, + { 0x3EE7, 51275 }, + { 0x3EE8, 51279 }, + { 0x3EE9, 51283 }, + { 0x3EEA, 51288 }, + { 0x3EEB, 51292 }, + { 0x3EEC, 51296 }, + { 0x3EEE, 51300 }, + { 0x3EEF, 51304 }, + { 0x3EF0, 51308 }, + { 0x3EF1, 51313 }, + { 0x3EF2, 51317 }, + { 0x3EF3, 51321 }, + { 0x3EF4, 51326 }, + { 0x3EF5, 51331 }, + { 0x3EF6, 51335 }, + { 0x3EF7, 51339 }, + { 0x3EF8, 51343 }, + { 0x3EF9, 51347 }, + { 0x3EFA, 51351 }, + { 0x3EFB, 51355 }, + { 0x3EFC, 51359 }, + { 0x3EFD, 51363 }, + { 0x3EFE, 51367 }, + { 0x3EFF, 51372 }, + { 0x3F00, 51376 }, + { 0x3F01, 51381 }, + { 0x3F02, 51385 }, + { 0x3F03, 51389 }, + { 0x3F04, 51393 }, + { 0x3F05, 51397 }, + { 0x3F06, 51401 }, + { 0x3F07, 51405 }, + { 0x3F08, 51409 }, + { 0x3F09, 51413 }, + { 0x3F0A, 51417 }, + { 0x3F0B, 51421 }, + { 0x3F0C, 51425 }, + { 0x3F0D, 51430 }, + { 0x3F0E, 51435 }, + { 0x3F0F, 51440 }, + { 0x3F10, 51445 }, + { 0x3F11, 51450 }, + { 0x3F12, 51454 }, + { 0x3F13, 51459 }, + { 0x3F14, 51463 }, + { 0x3F15, 51467 }, + { 0x3F16, 51473 }, + { 0x3F17, 51478 }, + { 0x3F18, 51484 }, + { 0x3F19, 51489 }, + { 0x3F1A, 51493 }, + { 0x3F1C, 51497 }, + { 0x3F1D, 51501 }, + { 0x3F1E, 51505 }, + { 0x3F1F, 51509 }, + { 0x3F20, 51513 }, + { 0x3F21, 51517 }, + { 0x3F22, 51522 }, + { 0x3F23, 51526 }, + { 0x3F24, 51530 }, + { 0x3F25, 51534 }, + { 0x3F26, 51538 }, + { 0x3ECD, 51542 }, + { 0x3ECE, 51547 }, + { 0x3ECF, 51552 }, + { 0x3ED0, 51557 }, + { 0x3ED1, 51562 }, + { 0x3ED2, 51567 }, + { 0x3ED3, 51572 }, + { 0x3ED4, 51577 }, + { 0x3ED5, 51582 }, + { 0x3ED6, 51587 }, + { 0x3F27, 51592 }, + { 0x3F28, 51597 }, + { 0x3F29, 51602 }, + { 0x3F2A, 51607 }, + { 0x3F2B, 51612 }, + { 0x3F2C, 51617 }, + { 0x3F2D, 51622 }, + { 0x3F2E, 51627 }, + { 0x3F2F, 51632 }, + { 0x3F30, 51637 }, + { 0x3F31, 51642 }, + { 0x3F32, 51647 }, + { 0x3F33, 51652 }, + { 0x3F34, 51657 }, + { 0x3F35, 51662 }, + { 0x3F36, 51667 }, + { 0x3F37, 51672 }, + { 0x3F38, 51677 }, + { 0x3F39, 51682 }, + { 0x3F3A, 51687 }, + { 0x3F3B, 51692 }, + { 0x3F3C, 51697 }, + { 0x3F3D, 51702 }, + { 0x3F3E, 51707 }, + { 0x3F3F, 51712 }, + { 0x3F40, 51717 }, + { 0x3F41, 51722 }, + { 0x3F42, 51727 }, + { 0x3F43, 51732 }, + { 0x3EDC, 51737 }, + { 0x3EDD, 51742 }, + { 0x3EE1, 51747 }, + { 0x3EE2, 51752 }, + { 0x3EED, 51757 }, + { 0x3F1B, 51762 }, + { 0x3E76, 51767 }, + { 0x3E9A, 51772 }, + { 0x3E8E, 51777 }, + { 0x3EA2, 51782 }, + { 0x3EA4, 51787 }, + { 0x3E89, 51792 }, + { 0x3E78, 51797 }, + { 0x3E71, 51802 }, + { 0x3E9D, 51807 }, + { 0x3E75, 51812 }, + { 0x3E91, 51817 }, + { 0x3E9F, 51822 }, + { 0x3E85, 51827 }, + { 0x3E79, 51832 }, + { 0x3E87, 51837 }, + { 0x3E93, 51842 }, + { 0x3EAA, 51847 }, + { 0x3EAC, 51852 }, + { 0x3E95, 51857 }, + { 0x3E88, 51862 }, + { 0x3E8A, 51867 }, + { 0x3EAD, 51872 }, + { 0x3E9B, 51877 }, + { 0x3E98, 51882 }, + { 0x3E73, 51887 }, + { 0x3EB3, 51892 }, + { 0x3E8B, 51897 }, + { 0x3E9C, 51902 }, + { 0x3E96, 51907 }, + { 0x3EB6, 51912 }, + { 0x3E7D, 51917 }, + { 0x3EA3, 51922 }, + { 0x3E72, 51927 }, + { 0x3E90, 51932 }, + { 0x3EA8, 51937 }, + { 0x3E9E, 51942 }, + { 0x3EA9, 51947 }, + { 0x3EAE, 51952 }, + { 0x3E80, 51957 }, + { 0x3E77, 51962 }, + { 0x3E7C, 51967 }, + { 0x3EB2, 51972 }, + { 0x3E92, 51977 }, + { 0x3E7A, 51982 }, + { 0x3E8C, 51987 }, + { 0x3E99, 51992 }, + { 0x3EA6, 51997 }, + { 0x3E8D, 52002 }, + { 0x3E7B, 52007 }, + { 0x3EA0, 52012 }, + { 0x3EA1, 52017 }, + { 0x3E97, 52022 }, + { 0x3E74, 52027 }, + { 0x3EB4, 52032 }, + { 0x3E7E, 52037 }, + { 0x3EB8, 52042 }, + { 0x3E81, 52047 }, + { 0x3EB7, 52052 }, + { 0x3EA5, 52057 }, + { 0x3E82, 52062 }, + { 0x3EB0, 52067 }, + { 0x3E8F, 52072 }, + { 0x3E86, 52077 }, + { 0x3EAB, 52082 }, + { 0x3EA7, 52087 }, + { 0x3EB5, 52092 }, + { 0x3E7F, 52097 }, + { 0x3E94, 52102 }, + { 0x3E84, 52107 }, + { 0x3E83, 52112 }, + { 0x3EAF, 52117 }, + { 0x3EB9, 52122 }, + { 0x3EB1, 52127 }, + { 0x3EBA, 52132 }, + { 0x6EC2, 52137 }, + { 0x71CC, 52139 }, + { 0x6F68, 52140 }, + { 0x4007, 52143 }, + { 0x4009, 52146 }, + { 0x400C, 52149 }, + { 0x4008, 52152 }, + { 0x400B, 52155 }, + { 0x4022, 52158 }, + { 0x400D, 52161 }, + { 0x4011, 52164 }, + { 0x4012, 52167 }, + { 0x4014, 52170 }, + { 0x4015, 52173 }, + { 0x4016, 52176 }, + { 0x401A, 52179 }, + { 0x4013, 52182 }, + { 0x401C, 52185 }, + { 0x401D, 52188 }, + { 0x401E, 52191 }, + { 0x4019, 52194 }, + { 0x400E, 52197 }, + { 0x4023, 52200 }, + { 0x400F, 52203 }, + { 0x4020, 52206 }, + { 0x400A, 52209 }, + { 0x4021, 52212 }, + { 0x401B, 52215 }, + { 0x4017, 52218 }, + { 0x4018, 52221 }, + { 0x4010, 52224 }, + { 0x401F, 52227 }, + { 0x44A3, 52230 }, + { 0x44A4, 52233 }, + { 0x44BC, 52236 }, + { 0x44A6, 52239 }, + { 0x44A7, 52242 }, + { 0x44B4, 52245 }, + { 0x44A5, 52248 }, + { 0x44A9, 52251 }, + { 0x44AB, 52254 }, + { 0x44AC, 52257 }, + { 0x44AD, 52260 }, + { 0x44AE, 52263 }, + { 0x44AF, 52266 }, + { 0x44B5, 52269 }, + { 0x44B0, 52272 }, + { 0x44B6, 52275 }, + { 0x44B2, 52278 }, + { 0x44B3, 52281 }, + { 0x44A8, 52284 }, + { 0x44AA, 52287 }, + { 0x44B8, 52290 }, + { 0x44B9, 52293 }, + { 0x44BA, 52296 }, + { 0x44BB, 52299 }, + { 0x44B1, 52302 }, + { 0x44B7, 52305 }, + { 0x44BD, 52308 }, + { 0x006E, 52311 }, + { 0x70CC, 52312 }, + { 0x70E1, 52316 }, + { 0x709B, 52321 }, + { 0x70C6, 52325 }, + { 0x70DB, 52329 }, + { 0x70DD, 52334 }, + { 0x22CE, 52339 }, + { 0x22C2, 52344 }, + { 0x2205, 52348 }, + { 0x70D2, 52351 }, + { 0x70E4, 52355 }, + { 0x70B9, 52360 }, + { 0x22CF, 52363 }, + { 0x22C3, 52368 }, + { 0x20EC, 52372 }, + { 0x2206, 52374 }, + { 0x70D7, 52378 }, + { 0x70D9, 52383 }, + { 0x2204, 52388 }, + { 0x70A5, 52391 }, + { 0x70C0, 52394 }, + { 0x22B3, 52396 }, + { 0x22C4, 52399 }, + { 0x22C5, 52404 }, + { 0x1C13, 52409 }, + { 0x22C6, 52412 }, + { 0x22C7, 52417 }, + { 0x39B4, 52422 }, + { 0x38DD, 52426 }, + { 0x39B5, 52429 }, + { 0x38DF, 52433 }, + { 0x38DC, 52438 }, + { 0x39B7, 52442 }, + { 0x39BC, 52446 }, + { 0x39B8, 52450 }, + { 0x39BB, 52454 }, + { 0x39BA, 52458 }, + { 0x39BF, 52462 }, + { 0x39B6, 52466 }, + { 0x39BE, 52470 }, + { 0x39BD, 52474 }, + { 0x39B9, 52478 }, + { 0x38D9, 52482 }, + { 0x38D6, 52487 }, + { 0x38D7, 52492 }, + { 0x38D8, 52497 }, + { 0x38DA, 52502 }, + { 0x39AD, 52507 }, + { 0x39AC, 52512 }, + { 0x39B2, 52517 }, + { 0x39AB, 52522 }, + { 0x39B0, 52527 }, + { 0x39AE, 52532 }, + { 0x39AF, 52537 }, + { 0x39B1, 52542 }, + { 0x38E0, 52547 }, + { 0x38CB, 52552 }, + { 0x3997, 52556 }, + { 0x39AA, 52560 }, + { 0x38CC, 52565 }, + { 0x399D, 52569 }, + { 0x398D, 52573 }, + { 0x39A7, 52577 }, + { 0x398C, 52582 }, + { 0x39A6, 52586 }, + { 0x3996, 52591 }, + { 0x38CD, 52595 }, + { 0x38D1, 52599 }, + { 0x399F, 52603 }, + { 0x399A, 52607 }, + { 0x3995, 52611 }, + { 0x399E, 52615 }, + { 0x3988, 52619 }, + { 0x39A3, 52623 }, + { 0x398A, 52628 }, + { 0x39A4, 52632 }, + { 0x398B, 52637 }, + { 0x39A5, 52641 }, + { 0x38D3, 52646 }, + { 0x38CE, 52650 }, + { 0x399C, 52654 }, + { 0x3989, 52658 }, + { 0x38D4, 52662 }, + { 0x38D5, 52666 }, + { 0x398F, 52670 }, + { 0x39A8, 52674 }, + { 0x38CF, 52679 }, + { 0x3993, 52683 }, + { 0x39A2, 52687 }, + { 0x398E, 52691 }, + { 0x38D2, 52695 }, + { 0x39A1, 52699 }, + { 0x39A0, 52703 }, + { 0x399B, 52707 }, + { 0x3990, 52711 }, + { 0x3991, 52715 }, + { 0x39A9, 52719 }, + { 0x3998, 52724 }, + { 0x3992, 52728 }, + { 0x38D0, 52732 }, + { 0x3994, 52736 }, + { 0x3999, 52740 }, + { 0x38E1, 52744 }, + { 0x38DB, 52747 }, + { 0x39B3, 52750 }, + { 0x38DE, 52753 }, + { 0x0076, 52758 }, + { 0x6E2C, 52760 }, + { 0x6E2F, 52762 }, + { 0x6E2D, 52765 }, + { 0x1E30, 52772 }, + { 0x719F, 52773 }, + { 0x2564, 52775 }, + { 0x6D4D, 52778 }, + { 0x6D70, 52779 }, + { 0x6E87, 52781 }, + { 0x719A, 52782 }, + { 0x1BE3, 52784 }, + { 0x220C, 52787 }, + { 0x1C68, 52788 }, + { 0x1E3B, 52791 }, + { 0x1E3D, 52794 }, + { 0x1FEB, 52800 }, + { 0x0003, 52804 }, + { 0x1FEC, 52806 }, + { 0x1FED, 52810 }, + { 0x1FF5, 52814 }, + { 0x1FF0, 52818 }, + { 0x1FF1, 52822 }, + { 0x1FF3, 52826 }, + { 0x1FEF, 52830 }, + { 0x1FF4, 52834 }, + { 0x1FEE, 52838 }, + { 0x1FF2, 52842 }, + { 0x1CA3, 52846 }, + { 0x3E6F, 52848 }, + { 0x6D1D, 52851 }, + { 0x029A, 52853 }, + { 0x1EAE, 52854 }, + { 0x6E14, 52856 }, + { 0x3C24, 52858 }, + { 0x3C25, 52861 }, + { 0x6E1F, 52864 }, + { 0x5B5C, 52866 }, + { 0x5B5A, 52871 }, + { 0x5B53, 52876 }, + { 0x5B5F, 52881 }, + { 0x5B50, 52886 }, + { 0x5B5B, 52891 }, + { 0x5B60, 52896 }, + { 0x5B5D, 52901 }, + { 0x5B54, 52906 }, + { 0x5B59, 52911 }, + { 0x5B51, 52916 }, + { 0x5B55, 52921 }, + { 0x5B58, 52926 }, + { 0x5B56, 52931 }, + { 0x5B57, 52936 }, + { 0x5B5E, 52941 }, + { 0x5B4F, 52946 }, + { 0x5B52, 52951 }, + { 0x5B4E, 52956 }, + { 0x5B13, 52961 }, + { 0x5B17, 52966 }, + { 0x5B14, 52971 }, + { 0x5B12, 52976 }, + { 0x5B15, 52981 }, + { 0x5B16, 52986 }, + { 0x5B18, 52991 }, + { 0x5B42, 52996 }, + { 0x5B25, 53000 }, + { 0x5B4C, 53005 }, + { 0x5B49, 53011 }, + { 0x5B48, 53017 }, + { 0x5B4D, 53025 }, + { 0x5B27, 53031 }, + { 0x5B4A, 53037 }, + { 0x5B4B, 53042 }, + { 0x5B1B, 53048 }, + { 0x5B3B, 53053 }, + { 0x5B46, 53057 }, + { 0x5B47, 53061 }, + { 0x5B45, 53065 }, + { 0x5B39, 53069 }, + { 0x5B1D, 53074 }, + { 0x5B24, 53079 }, + { 0x5B22, 53084 }, + { 0x5B19, 53089 }, + { 0x5B1C, 53094 }, + { 0x5B1A, 53099 }, + { 0x5B3D, 53105 }, + { 0x5B3E, 53110 }, + { 0x5B23, 53114 }, + { 0x5B44, 53119 }, + { 0x5B3F, 53124 }, + { 0x5B41, 53128 }, + { 0x5B26, 53132 }, + { 0x5B40, 53136 }, + { 0x5B3A, 53140 }, + { 0x5B1F, 53144 }, + { 0x5B20, 53149 }, + { 0x5B21, 53154 }, + { 0x5B1E, 53159 }, + { 0x5B43, 53164 }, + { 0x5B3C, 53169 }, + { 0x5B29, 53174 }, + { 0x5B2E, 53178 }, + { 0x5B2A, 53182 }, + { 0x5B2D, 53186 }, + { 0x5B2C, 53190 }, + { 0x5B31, 53194 }, + { 0x5B28, 53198 }, + { 0x5B30, 53202 }, + { 0x5B2F, 53206 }, + { 0x5B2B, 53210 }, + { 0x5AF8, 53214 }, + { 0x5AF9, 53218 }, + { 0x5AEA, 53222 }, + { 0x5AEB, 53226 }, + { 0x5AE4, 53230 }, + { 0x5AE5, 53234 }, + { 0x5AF4, 53238 }, + { 0x5AF5, 53242 }, + { 0x5AE8, 53246 }, + { 0x5AE9, 53250 }, + { 0x5AFA, 53254 }, + { 0x5AFB, 53258 }, + { 0x5AFC, 53262 }, + { 0x5AFD, 53266 }, + { 0x5AEC, 53270 }, + { 0x5AED, 53274 }, + { 0x5AE6, 53278 }, + { 0x5AE7, 53282 }, + { 0x5AF0, 53286 }, + { 0x5AF1, 53290 }, + { 0x5AE2, 53294 }, + { 0x5AE3, 53298 }, + { 0x5AF6, 53302 }, + { 0x5AF7, 53306 }, + { 0x5AEE, 53310 }, + { 0x5AEF, 53314 }, + { 0x5AF2, 53318 }, + { 0x5AF3, 53322 }, + { 0x5B37, 53326 }, + { 0x5B34, 53331 }, + { 0x5B32, 53336 }, + { 0x5B36, 53340 }, + { 0x5B33, 53345 }, + { 0x5B35, 53349 }, + { 0x5B38, 53353 }, + { 0x5B0F, 53357 }, + { 0x5B11, 53361 }, + { 0x5B01, 53365 }, + { 0x5B00, 53369 }, + { 0x5B08, 53373 }, + { 0x5B0E, 53377 }, + { 0x5B03, 53381 }, + { 0x5AFE, 53385 }, + { 0x5B10, 53389 }, + { 0x5B06, 53393 }, + { 0x5B09, 53397 }, + { 0x5B07, 53401 }, + { 0x5B0B, 53405 }, + { 0x5B04, 53409 }, + { 0x5B02, 53413 }, + { 0x5B05, 53417 }, + { 0x5B0A, 53421 }, + { 0x5B0D, 53425 }, + { 0x5AFF, 53429 }, + { 0x5B0C, 53433 }, + { 0x220E, 53437 }, + { 0x2269, 53438 }, + { 0x2253, 53439 }, + { 0x6DAC, 53442 }, + { 0x6F8A, 53446 }, + { 0x6F89, 53450 }, + { 0x719C, 53454 }, + { 0x6F82, 53457 }, + { 0x6F87, 53460 }, + { 0x6F88, 53466 }, + { 0x1C54, 53468 }, + { 0x21AD, 53470 }, + { 0x6E66, 53471 }, + { 0x1C9B, 53472 }, + { 0x1C9C, 53474 }, + { 0x6EE4, 53479 }, + { 0x6FCE, 53481 }, + { 0x6FE3, 53483 }, + { 0x6DA9, 53487 }, + { 0x6D64, 53489 }, + { 0x6E2A, 53490 }, + { 0x2A9F, 53492 }, + { 0x2AAD, 53494 }, + { 0x71B3, 53497 }, + { 0x6E3A, 53498 }, + { 0x7198, 53500 }, + { 0x6E1D, 53501 }, + { 0x6DD7, 53504 }, + { 0x6D42, 53506 }, + { 0x6D6B, 53507 }, + { 0x6D09, 53509 }, + { 0x6D08, 53511 }, + { 0x6BA8, 53513 }, + { 0x6BA9, 53516 }, + { 0x2926, 53519 }, + { 0x7189, 53521 }, + { 0x2264, 53525 }, + { 0x2265, 53527 }, + { 0x6ED1, 53529 }, + { 0x6ECB, 53538 }, + { 0x2927, 53543 }, + { 0x28FA, 53545 }, + { 0x28FE, 53549 }, + { 0x28F9, 53551 }, + { 0x376D, 53554 }, + { 0x376B, 53558 }, + { 0x376F, 53562 }, + { 0x376C, 53566 }, + { 0x376E, 53570 }, + { 0x3770, 53574 }, + { 0x3772, 53578 }, + { 0x3771, 53582 }, + { 0x376A, 53586 }, + { 0x375B, 53589 }, + { 0x375D, 53592 }, + { 0x3758, 53595 }, + { 0x3755, 53598 }, + { 0x3765, 53601 }, + { 0x375E, 53604 }, + { 0x3754, 53607 }, + { 0x3762, 53610 }, + { 0x375C, 53613 }, + { 0x3759, 53616 }, + { 0x375A, 53619 }, + { 0x3761, 53622 }, + { 0x3760, 53625 }, + { 0x3757, 53628 }, + { 0x3764, 53631 }, + { 0x3763, 53634 }, + { 0x3766, 53637 }, + { 0x3768, 53640 }, + { 0x3756, 53643 }, + { 0x375F, 53646 }, + { 0x3767, 53649 }, + { 0x3769, 53652 }, + { 0x3777, 53655 }, + { 0x3778, 53657 }, + { 0x3776, 53660 }, + { 0x3774, 53664 }, + { 0x3775, 53668 }, + { 0x3773, 53672 }, + { 0x26E8, 53676 }, + { 0x26E9, 53678 }, + { 0x1F57, 53680 }, + { 0x6CBB, 53682 }, + { 0x2708, 53683 }, + { 0x2709, 53687 }, + { 0x2706, 53691 }, + { 0x2707, 53695 }, + { 0x270A, 53699 }, + { 0x270C, 53703 }, + { 0x270B, 53707 }, + { 0x270D, 53711 }, + { 0x248A, 53715 }, + { 0x2485, 53721 }, + { 0x6FBB, 53726 }, + { 0x6CDD, 53727 }, + { 0x6CFE, 53729 }, + { 0x219E, 53730 }, + { 0x21F0, 53731 }, + { 0x6D26, 53732 }, + { 0x6CCD, 53733 }, + { 0x6EF0, 53735 }, + { 0x1CBC, 53736 }, + { 0x1C97, 53739 }, + { 0x1CA0, 53742 }, + { 0x1CC1, 53745 }, + { 0x1CB9, 53748 }, + { 0x1CBD, 53751 }, + { 0x1CBE, 53754 }, + { 0x1C98, 53757 }, + { 0x1C9D, 53760 }, + { 0x1C9F, 53763 }, + { 0x1CC0, 53766 }, + { 0x1CA5, 53769 }, + { 0x1CA8, 53772 }, + { 0x6FAB, 53775 }, + { 0x6E17, 53779 }, + { 0x71AB, 53780 }, + { 0x1E9D, 53783 }, + { 0x7197, 53784 }, + { 0x3CD9, 53785 }, + { 0x6CA2, 53787 }, + { 0x700F, 53789 }, + { 0x2243, 53790 }, + { 0x6FFA, 53792 }, + { 0x71CE, 53793 }, + { 0x1BCE, 53794 }, + { 0x1BED, 53798 }, + { 0x1BEE, 53803 }, + { 0x1BCF, 53808 }, + { 0x6F65, 53812 }, + { 0x6EB0, 53814 }, + { 0x2217, 53817 }, + { 0x6DE7, 53819 }, + { 0x6EB2, 53821 }, + { 0x6EB3, 53822 }, + { 0x6F0D, 53824 }, + { 0x6D55, 53827 }, + { 0x6F0E, 53829 }, + { 0x6D00, 53832 }, + { 0x2E4D, 53834 }, + { 0x2E34, 53838 }, + { 0x2E2E, 53842 }, + { 0x2E2F, 53845 }, + { 0x2E15, 53848 }, + { 0x2E16, 53852 }, + { 0x2E13, 53857 }, + { 0x2E0F, 53860 }, + { 0x2E4C, 53863 }, + { 0x2E30, 53867 }, + { 0x2DE1, 53869 }, + { 0x2E31, 53871 }, + { 0x2E32, 53873 }, + { 0x2E33, 53875 }, + { 0x2E0B, 53877 }, + { 0x2E12, 53879 }, + { 0x2E0E, 53882 }, + { 0x2E35, 53885 }, + { 0x2DE0, 53887 }, + { 0x2E36, 53889 }, + { 0x6BCA, 53891 }, + { 0x2E05, 53893 }, + { 0x2DE5, 53895 }, + { 0x2DE7, 53897 }, + { 0x2DE6, 53900 }, + { 0x2D3D, 53903 }, + { 0x2E07, 53905 }, + { 0x2DF5, 53907 }, + { 0x2E37, 53909 }, + { 0x2E38, 53911 }, + { 0x2D3B, 53913 }, + { 0x2E39, 53915 }, + { 0x2DFE, 53917 }, + { 0x2E3A, 53919 }, + { 0x2DE8, 53921 }, + { 0x2DF2, 53923 }, + { 0x2DF3, 53925 }, + { 0x2DFD, 53927 }, + { 0x2E3B, 53929 }, + { 0x2E06, 53931 }, + { 0x2E0C, 53933 }, + { 0x2E14, 53935 }, + { 0x2E3C, 53938 }, + { 0x2E10, 53941 }, + { 0x2E3D, 53944 }, + { 0x2E26, 53946 }, + { 0x2E2C, 53948 }, + { 0x2E3E, 53950 }, + { 0x2E3F, 53952 }, + { 0x2E41, 53954 }, + { 0x2DF1, 53956 }, + { 0x2DF4, 53958 }, + { 0x2E42, 53960 }, + { 0x2DFC, 53963 }, + { 0x2E04, 53965 }, + { 0x2E0A, 53967 }, + { 0x2E11, 53969 }, + { 0x2E0D, 53972 }, + { 0x2E21, 53975 }, + { 0x2DF0, 53977 }, + { 0x2DFA, 53980 }, + { 0x2DFB, 53983 }, + { 0x2E03, 53986 }, + { 0x2E09, 53989 }, + { 0x2E20, 53992 }, + { 0x2E24, 53995 }, + { 0x2E2A, 53998 }, + { 0x2E25, 54001 }, + { 0x2E27, 54003 }, + { 0x2E2B, 54006 }, + { 0x2E2D, 54008 }, + { 0x2DEF, 54011 }, + { 0x2DF9, 54013 }, + { 0x2E08, 54015 }, + { 0x2E1F, 54017 }, + { 0x2E23, 54019 }, + { 0x2E29, 54021 }, + { 0x2DE3, 54023 }, + { 0x2E17, 54025 }, + { 0x2DEE, 54027 }, + { 0x2DE4, 54030 }, + { 0x2DF8, 54032 }, + { 0x2E45, 54034 }, + { 0x2E46, 54036 }, + { 0x2E48, 54038 }, + { 0x2E1E, 54040 }, + { 0x2E22, 54042 }, + { 0x2E28, 54044 }, + { 0x2E49, 54046 }, + { 0x2E4A, 54048 }, + { 0x2E4B, 54050 }, + { 0x2DE2, 54052 }, + { 0x2DF6, 54054 }, + { 0x1E1C, 54056 }, + { 0x1E1D, 54058 }, + { 0x2DEC, 54060 }, + { 0x2DE9, 54064 }, + { 0x2DEA, 54068 }, + { 0x2DEB, 54072 }, + { 0x2D3C, 54076 }, + { 0x2E6D, 54078 }, + { 0x2E01, 54080 }, + { 0x2E1A, 54082 }, + { 0x2DAD, 54084 }, + { 0x2DDF, 54086 }, + { 0x2DFF, 54088 }, + { 0x2E18, 54090 }, + { 0x2E40, 54092 }, + { 0x2E00, 54094 }, + { 0x2E43, 54096 }, + { 0x2E44, 54098 }, + { 0x2E19, 54100 }, + { 0x2E47, 54102 }, + { 0x2E1B, 54104 }, + { 0x2E1C, 54106 }, + { 0x2E1D, 54110 }, + { 0x2E02, 54115 }, + { 0x2D95, 54117 }, + { 0x2D74, 54119 }, + { 0x2D71, 54121 }, + { 0x2D9F, 54123 }, + { 0x2D93, 54125 }, + { 0x2D94, 54127 }, + { 0x1F56, 54129 }, + { 0x2250, 54131 }, + { 0x2D7E, 54134 }, + { 0x2DB0, 54136 }, + { 0x2D73, 54138 }, + { 0x2DF7, 54140 }, + { 0x2D82, 54142 }, + { 0x2627, 54144 }, + { 0x2DB9, 54149 }, + { 0x2DB7, 54151 }, + { 0x2D96, 54153 }, + { 0x2D77, 54155 }, + { 0x2D78, 54157 }, + { 0x2DA5, 54159 }, + { 0x2D9E, 54161 }, + { 0x2DC3, 54163 }, + { 0x2DC0, 54165 }, + { 0x1DA3, 54167 }, + { 0x266C, 54169 }, + { 0x2141, 54174 }, + { 0x266F, 54179 }, + { 0x2144, 54186 }, + { 0x2142, 54193 }, + { 0x2101, 54198 }, + { 0x2143, 54206 }, + { 0x2102, 54213 }, + { 0x266E, 54221 }, + { 0x266D, 54228 }, + { 0x2103, 54233 }, + { 0x20FF, 54238 }, + { 0x253A, 54242 }, + { 0x20FE, 54246 }, + { 0x2100, 54250 }, + { 0x2DBE, 54255 }, + { 0x2D70, 54257 }, + { 0x2DAA, 54259 }, + { 0x2D92, 54261 }, + { 0x2D76, 54263 }, + { 0x2D7D, 54265 }, + { 0x2D7C, 54267 }, + { 0x2D7F, 54269 }, + { 0x2D98, 54271 }, + { 0x2DAF, 54273 }, + { 0x2DA3, 54275 }, + { 0x1E18, 54277 }, + { 0x1E6D, 54280 }, + { 0x1E1A, 54287 }, + { 0x2D79, 54293 }, + { 0x2D8A, 54295 }, + { 0x2D8C, 54297 }, + { 0x2DB3, 54299 }, + { 0x2DB2, 54301 }, + { 0x2D97, 54303 }, + { 0x2D9A, 54305 }, + { 0x2DA9, 54307 }, + { 0x2DA8, 54309 }, + { 0x2DAE, 54311 }, + { 0x2628, 54313 }, + { 0x2DC1, 54318 }, + { 0x2D90, 54320 }, + { 0x2D91, 54322 }, + { 0x2DC5, 54324 }, + { 0x2DBC, 54326 }, + { 0x2DBD, 54328 }, + { 0x2D6E, 54330 }, + { 0x2D6F, 54332 }, + { 0x2DAC, 54334 }, + { 0x2D86, 54336 }, + { 0x2DA7, 54338 }, + { 0x2DA1, 54340 }, + { 0x2D72, 54342 }, + { 0x2D8B, 54344 }, + { 0x2D80, 54346 }, + { 0x2DB4, 54348 }, + { 0x2DA6, 54350 }, + { 0x2D9D, 54352 }, + { 0x2DAB, 54354 }, + { 0x70AC, 54356 }, + { 0x2D9B, 54358 }, + { 0x2D81, 54360 }, + { 0x2D7A, 54362 }, + { 0x2D7B, 54364 }, + { 0x2D89, 54366 }, + { 0x1E9A, 54368 }, + { 0x2DB1, 54370 }, + { 0x2DB5, 54372 }, + { 0x2DBB, 54374 }, + { 0x2DBA, 54376 }, + { 0x2DB6, 54378 }, + { 0x2DBF, 54380 }, + { 0x2DC2, 54382 }, + { 0x2D8D, 54384 }, + { 0x2D8F, 54386 }, + { 0x2DA2, 54388 }, + { 0x2D75, 54390 }, + { 0x6C01, 54392 }, + { 0x2DA0, 54395 }, + { 0x1E19, 54397 }, + { 0x1E6E, 54400 }, + { 0x1E1B, 54407 }, + { 0x2D99, 54413 }, + { 0x2722, 54415 }, + { 0x2DC4, 54418 }, + { 0x2D8E, 54420 }, + { 0x2D87, 54422 }, + { 0x2DA4, 54424 }, + { 0x2D85, 54426 }, + { 0x2D88, 54428 }, + { 0x2DB8, 54430 }, + { 0x2D9C, 54432 }, + { 0x2D83, 54434 }, + { 0x2DED, 54436 }, + { 0x2D84, 54438 }, + { 0x6F38, 54440 }, + { 0x2283, 54443 }, + { 0x6CD4, 54447 }, + { 0x1E0B, 54449 }, + { 0x1E0F, 54451 }, + { 0x261D, 54456 }, + { 0x1E13, 54464 }, + { 0x2625, 54470 }, + { 0x2621, 54476 }, + { 0x2623, 54481 }, + { 0x261F, 54487 }, + { 0x2617, 54492 }, + { 0x2619, 54495 }, + { 0x261B, 54500 }, + { 0x262F, 54505 }, + { 0x262D, 54508 }, + { 0x24D3, 54511 }, + { 0x6C42, 54515 }, + { 0x6CFF, 54518 }, + { 0x364C, 54519 }, + { 0x3651, 54523 }, + { 0x3648, 54527 }, + { 0x3669, 54531 }, + { 0x366C, 54536 }, + { 0x366A, 54541 }, + { 0x366B, 54546 }, + { 0x366D, 54551 }, + { 0x3646, 54556 }, + { 0x364A, 54560 }, + { 0x3647, 54564 }, + { 0x364B, 54568 }, + { 0x3649, 54572 }, + { 0x3661, 54576 }, + { 0x3652, 54580 }, + { 0x365C, 54584 }, + { 0x364F, 54588 }, + { 0x3668, 54592 }, + { 0x3654, 54596 }, + { 0x364D, 54600 }, + { 0x3665, 54604 }, + { 0x3663, 54608 }, + { 0x365E, 54612 }, + { 0x365F, 54616 }, + { 0x3664, 54620 }, + { 0x3667, 54624 }, + { 0x365A, 54628 }, + { 0x3662, 54632 }, + { 0x3653, 54636 }, + { 0x3658, 54640 }, + { 0x365D, 54644 }, + { 0x3650, 54648 }, + { 0x3655, 54652 }, + { 0x364E, 54656 }, + { 0x3660, 54660 }, + { 0x3666, 54664 }, + { 0x365B, 54668 }, + { 0x3656, 54672 }, + { 0x3659, 54676 }, + { 0x3657, 54680 }, + { 0x366E, 54684 }, + { 0x366F, 54688 }, + { 0x3670, 54692 }, + { 0x3671, 54696 }, + { 0x1F8B, 54700 }, + { 0x1FA1, 54705 }, + { 0x1F8C, 54710 }, + { 0x1F9F, 54715 }, + { 0x1F8F, 54721 }, + { 0x1F98, 54724 }, + { 0x1FA4, 54729 }, + { 0x1F94, 54733 }, + { 0x1F92, 54737 }, + { 0x1F88, 54741 }, + { 0x1FA7, 54744 }, + { 0x1FA5, 54748 }, + { 0x6E80, 54752 }, + { 0x1F97, 54756 }, + { 0x1F96, 54760 }, + { 0x1FA8, 54764 }, + { 0x1F8A, 54767 }, + { 0x1F89, 54772 }, + { 0x1FA0, 54777 }, + { 0x1FA9, 54780 }, + { 0x1FAD, 54783 }, + { 0x1F99, 54788 }, + { 0x1F9A, 54793 }, + { 0x1F9C, 54798 }, + { 0x1F9B, 54803 }, + { 0x1FA3, 54808 }, + { 0x1FA6, 54811 }, + { 0x1F8D, 54815 }, + { 0x1FAC, 54818 }, + { 0x1F95, 54821 }, + { 0x1F9D, 54825 }, + { 0x1F93, 54829 }, + { 0x1F90, 54833 }, + { 0x1CDC, 54836 }, + { 0x1F91, 54840 }, + { 0x1FA2, 54844 }, + { 0x1FAE, 54847 }, + { 0x1F8E, 54852 }, + { 0x1F9E, 54855 }, + { 0x0695, 54859 }, + { 0x06D7, 54863 }, + { 0x06D8, 54868 }, + { 0x069B, 54873 }, + { 0x069C, 54877 }, + { 0x06D1, 54881 }, + { 0x06D2, 54884 }, + { 0x06CE, 54887 }, + { 0x06CF, 54890 }, + { 0x06DD, 54893 }, + { 0x06CA, 54895 }, + { 0x06CB, 54898 }, + { 0x06D3, 54901 }, + { 0x06D9, 54903 }, + { 0x06DA, 54907 }, + { 0x06CD, 54911 }, + { 0x06CC, 54915 }, + { 0x06B9, 54919 }, + { 0x06AB, 54922 }, + { 0x06BA, 54925 }, + { 0x06B5, 54928 }, + { 0x06B6, 54931 }, + { 0x06C0, 54934 }, + { 0x06AC, 54937 }, + { 0x06A6, 54940 }, + { 0x06AE, 54943 }, + { 0x06B3, 54946 }, + { 0x06BD, 54949 }, + { 0x06BE, 54952 }, + { 0x06BF, 54955 }, + { 0x06AF, 54958 }, + { 0x06B0, 54961 }, + { 0x06B1, 54965 }, + { 0x06B2, 54968 }, + { 0x06AD, 54972 }, + { 0x06A4, 54975 }, + { 0x06B8, 54978 }, + { 0x06A7, 54982 }, + { 0x06A8, 54985 }, + { 0x06BC, 54989 }, + { 0x06A9, 54992 }, + { 0x06B4, 54995 }, + { 0x06AA, 54998 }, + { 0x06C1, 55003 }, + { 0x06C2, 55007 }, + { 0x06C3, 55011 }, + { 0x06B7, 55015 }, + { 0x06E1, 55018 }, + { 0x06E0, 55022 }, + { 0x06DF, 55026 }, + { 0x06BB, 55030 }, + { 0x06A5, 55034 }, + { 0x06C4, 55038 }, + { 0x06C5, 55041 }, + { 0x06C6, 55044 }, + { 0x06C7, 55047 }, + { 0x06C8, 55050 }, + { 0x06C9, 55053 }, + { 0x06DE, 55056 }, + { 0x06DB, 55058 }, + { 0x06DC, 55062 }, + { 0x06D4, 55066 }, + { 0x06A0, 55069 }, + { 0x06A1, 55072 }, + { 0x06A2, 55075 }, + { 0x06D6, 55078 }, + { 0x06D5, 55080 }, + { 0x0697, 55082 }, + { 0x0699, 55086 }, + { 0x069E, 55089 }, + { 0x069E, 55094 }, + { 0x069A, 55099 }, + { 0x069F, 55102 }, + { 0x06D0, 55104 }, + { 0x0696, 55107 }, + { 0x0698, 55111 }, + { 0x069D, 55114 }, + { 0x06A3, 55119 }, + { 0x5BE6, 55122 }, + { 0x5BE7, 55125 }, + { 0x5BE8, 55127 }, + { 0x5BE9, 55129 }, + { 0x5BEA, 55131 }, + { 0x5BEB, 55133 }, + { 0x5BEC, 55135 }, + { 0x5BED, 55137 }, + { 0x5BEE, 55139 }, + { 0x5BEF, 55141 }, + { 0x5BF0, 55143 }, + { 0x5BF1, 55145 }, + { 0x5BF2, 55147 }, + { 0x5BF3, 55149 }, + { 0x5BF4, 55151 }, + { 0x5BF5, 55153 }, + { 0x5BF6, 55155 }, + { 0x5BF7, 55157 }, + { 0x5BF8, 55159 }, + { 0x5BF9, 55161 }, + { 0x5BFA, 55163 }, + { 0x5BFB, 55165 }, + { 0x5BFC, 55167 }, + { 0x5BFD, 55169 }, + { 0x5BFE, 55171 }, + { 0x5BFF, 55173 }, + { 0x5C00, 55175 }, + { 0x5C01, 55177 }, + { 0x5C02, 55179 }, + { 0x5C03, 55181 }, + { 0x5C04, 55183 }, + { 0x5C05, 55185 }, + { 0x5C06, 55187 }, + { 0x5C07, 55189 }, + { 0x5C08, 55191 }, + { 0x5C09, 55193 }, + { 0x5C0A, 55195 }, + { 0x5C0B, 55197 }, + { 0x5C0C, 55199 }, + { 0x5C0D, 55201 }, + { 0x5C0E, 55203 }, + { 0x5C0F, 55205 }, + { 0x5C10, 55207 }, + { 0x5C11, 55209 }, + { 0x5C12, 55211 }, + { 0x5C13, 55213 }, + { 0x5C14, 55215 }, + { 0x5C15, 55217 }, + { 0x5C16, 55219 }, + { 0x5C17, 55221 }, + { 0x5C18, 55223 }, + { 0x5C19, 55225 }, + { 0x5C1A, 55227 }, + { 0x5C1B, 55229 }, + { 0x5C1C, 55231 }, + { 0x5C1D, 55233 }, + { 0x5C1E, 55235 }, + { 0x5C1F, 55237 }, + { 0x5C20, 55239 }, + { 0x5C21, 55241 }, + { 0x5C22, 55243 }, + { 0x5C23, 55245 }, + { 0x5C24, 55247 }, + { 0x5C25, 55249 }, + { 0x5C26, 55251 }, + { 0x5C27, 55253 }, + { 0x5C28, 55255 }, + { 0x5C29, 55257 }, + { 0x5C2A, 55259 }, + { 0x5C2B, 55261 }, + { 0x5C2C, 55263 }, + { 0x5C2D, 55265 }, + { 0x5C2E, 55267 }, + { 0x5C2F, 55269 }, + { 0x5C30, 55271 }, + { 0x5C31, 55273 }, + { 0x5C32, 55275 }, + { 0x5C33, 55277 }, + { 0x5C34, 55279 }, + { 0x5C35, 55281 }, + { 0x5C36, 55283 }, + { 0x5C37, 55285 }, + { 0x5C38, 55287 }, + { 0x5C39, 55289 }, + { 0x5C3A, 55291 }, + { 0x5C3B, 55293 }, + { 0x5C3C, 55295 }, + { 0x5C3D, 55297 }, + { 0x5C3E, 55299 }, + { 0x5C3F, 55301 }, + { 0x5C40, 55303 }, + { 0x5C41, 55305 }, + { 0x5C42, 55307 }, + { 0x5C43, 55309 }, + { 0x5C44, 55311 }, + { 0x5C45, 55313 }, + { 0x5C46, 55315 }, + { 0x5C47, 55317 }, + { 0x5C48, 55319 }, + { 0x5C49, 55321 }, + { 0x5C4A, 55323 }, + { 0x5C4B, 55325 }, + { 0x5C4C, 55327 }, + { 0x5C4D, 55329 }, + { 0x5C4E, 55331 }, + { 0x5C4F, 55333 }, + { 0x5C50, 55335 }, + { 0x5C51, 55337 }, + { 0x5C52, 55339 }, + { 0x5C53, 55341 }, + { 0x5C54, 55343 }, + { 0x5C55, 55345 }, + { 0x5C56, 55347 }, + { 0x5C57, 55349 }, + { 0x5C58, 55351 }, + { 0x5C59, 55353 }, + { 0x5C5A, 55355 }, + { 0x5C5B, 55357 }, + { 0x5C5C, 55359 }, + { 0x5C5D, 55361 }, + { 0x5C5E, 55363 }, + { 0x5C5F, 55365 }, + { 0x5C60, 55367 }, + { 0x5C61, 55369 }, + { 0x5C62, 55371 }, + { 0x5C63, 55373 }, + { 0x5C64, 55375 }, + { 0x5C65, 55377 }, + { 0x5C66, 55379 }, + { 0x5C67, 55381 }, + { 0x5C68, 55383 }, + { 0x5C69, 55385 }, + { 0x5C6A, 55387 }, + { 0x5C6B, 55389 }, + { 0x5C6C, 55391 }, + { 0x5C6D, 55393 }, + { 0x5C6E, 55395 }, + { 0x5C6F, 55397 }, + { 0x5C70, 55399 }, + { 0x5C71, 55401 }, + { 0x5C72, 55403 }, + { 0x5C73, 55405 }, + { 0x5C74, 55407 }, + { 0x5C75, 55409 }, + { 0x5C76, 55411 }, + { 0x5C77, 55413 }, + { 0x5C78, 55415 }, + { 0x5C79, 55417 }, + { 0x5C7A, 55419 }, + { 0x5C7B, 55421 }, + { 0x5C7C, 55423 }, + { 0x5C7D, 55425 }, + { 0x5C7E, 55427 }, + { 0x5C7F, 55429 }, + { 0x5C80, 55431 }, + { 0x5C81, 55433 }, + { 0x5C82, 55435 }, + { 0x5C83, 55437 }, + { 0x5C84, 55439 }, + { 0x5C85, 55441 }, + { 0x5C86, 55443 }, + { 0x5C87, 55445 }, + { 0x5C88, 55447 }, + { 0x5C89, 55449 }, + { 0x5C8A, 55451 }, + { 0x5C8B, 55453 }, + { 0x5C8C, 55455 }, + { 0x5C8D, 55457 }, + { 0x5C8E, 55459 }, + { 0x5C8F, 55461 }, + { 0x5C90, 55463 }, + { 0x5C91, 55465 }, + { 0x5C92, 55467 }, + { 0x5C93, 55469 }, + { 0x5C94, 55471 }, + { 0x5C95, 55473 }, + { 0x5C96, 55475 }, + { 0x5C97, 55477 }, + { 0x5C98, 55479 }, + { 0x5C99, 55481 }, + { 0x5C9A, 55483 }, + { 0x5C9B, 55485 }, + { 0x5C9C, 55487 }, + { 0x5C9D, 55489 }, + { 0x5C9E, 55491 }, + { 0x5C9F, 55493 }, + { 0x5CA0, 55495 }, + { 0x5CA1, 55497 }, + { 0x5CA2, 55499 }, + { 0x5CA3, 55501 }, + { 0x5CA4, 55503 }, + { 0x5CA5, 55505 }, + { 0x5CA6, 55507 }, + { 0x5CA7, 55509 }, + { 0x5CA8, 55511 }, + { 0x5CA9, 55513 }, + { 0x5CAA, 55515 }, + { 0x5CAB, 55517 }, + { 0x5CAC, 55519 }, + { 0x5CAD, 55521 }, + { 0x5CAE, 55523 }, + { 0x5CAF, 55525 }, + { 0x5CB0, 55527 }, + { 0x5CB1, 55529 }, + { 0x5CB2, 55531 }, + { 0x5CB3, 55533 }, + { 0x5CB4, 55535 }, + { 0x5CB5, 55537 }, + { 0x5CB6, 55539 }, + { 0x5CB7, 55541 }, + { 0x5CB8, 55543 }, + { 0x5CB9, 55545 }, + { 0x5CBA, 55547 }, + { 0x5CBB, 55549 }, + { 0x5CBC, 55551 }, + { 0x5CBD, 55553 }, + { 0x5CBE, 55555 }, + { 0x5CBF, 55557 }, + { 0x5CC0, 55559 }, + { 0x5CC1, 55561 }, + { 0x5CC2, 55563 }, + { 0x5CC3, 55565 }, + { 0x5CC4, 55567 }, + { 0x5CC5, 55569 }, + { 0x5CC6, 55571 }, + { 0x5CC7, 55573 }, + { 0x5CC8, 55575 }, + { 0x5CC9, 55577 }, + { 0x5CCA, 55579 }, + { 0x5CCB, 55581 }, + { 0x5CCC, 55583 }, + { 0x5CCD, 55585 }, + { 0x5CCE, 55587 }, + { 0x5CCF, 55589 }, + { 0x5CD0, 55591 }, + { 0x5CD1, 55593 }, + { 0x5CD2, 55595 }, + { 0x5CD3, 55597 }, + { 0x5CD4, 55599 }, + { 0x5CD5, 55601 }, + { 0x5CD6, 55603 }, + { 0x5CD7, 55605 }, + { 0x5CD8, 55607 }, + { 0x5CD9, 55609 }, + { 0x5CDA, 55611 }, + { 0x5CDB, 55613 }, + { 0x5CDC, 55615 }, + { 0x5CDD, 55617 }, + { 0x5CDE, 55619 }, + { 0x5CDF, 55621 }, + { 0x5CE0, 55623 }, + { 0x5CE1, 55625 }, + { 0x5CE2, 55627 }, + { 0x5CE3, 55629 }, + { 0x5CE4, 55631 }, + { 0x5CE5, 55633 }, + { 0x5CE6, 55635 }, + { 0x5CE7, 55637 }, + { 0x5CE8, 55639 }, + { 0x5CE9, 55641 }, + { 0x5CEA, 55643 }, + { 0x5CEB, 55645 }, + { 0x5CEC, 55647 }, + { 0x5CED, 55649 }, + { 0x5CEE, 55651 }, + { 0x5CEF, 55653 }, + { 0x5CF0, 55655 }, + { 0x5CF1, 55657 }, + { 0x5CF2, 55659 }, + { 0x5CF3, 55661 }, + { 0x5CF4, 55663 }, + { 0x5CF5, 55665 }, + { 0x5CF6, 55667 }, + { 0x5CF7, 55669 }, + { 0x5CF8, 55671 }, + { 0x5CF9, 55673 }, + { 0x5CFA, 55675 }, + { 0x5CFB, 55677 }, + { 0x5CFC, 55679 }, + { 0x5CFD, 55681 }, + { 0x5CFE, 55683 }, + { 0x5CFF, 55685 }, + { 0x5D00, 55687 }, + { 0x5D01, 55689 }, + { 0x5D02, 55691 }, + { 0x5D03, 55693 }, + { 0x5D04, 55695 }, + { 0x5D05, 55697 }, + { 0x5D06, 55699 }, + { 0x5D07, 55701 }, + { 0x5D08, 55703 }, + { 0x5D09, 55705 }, + { 0x5D0A, 55707 }, + { 0x5D0B, 55709 }, + { 0x5D0C, 55711 }, + { 0x5D0D, 55713 }, + { 0x5D0E, 55715 }, + { 0x5D0F, 55717 }, + { 0x5D10, 55719 }, + { 0x5D11, 55721 }, + { 0x5D12, 55723 }, + { 0x5D13, 55725 }, + { 0x5D14, 55727 }, + { 0x5D15, 55729 }, + { 0x5D16, 55731 }, + { 0x5D17, 55733 }, + { 0x5D18, 55735 }, + { 0x5D19, 55737 }, + { 0x5D1A, 55739 }, + { 0x5D1B, 55741 }, + { 0x5D1C, 55743 }, + { 0x5D1D, 55745 }, + { 0x5D1E, 55747 }, + { 0x5D1F, 55749 }, + { 0x5D20, 55751 }, + { 0x5D21, 55753 }, + { 0x5D22, 55755 }, + { 0x5D23, 55757 }, + { 0x5D24, 55759 }, + { 0x5D25, 55761 }, + { 0x5D26, 55763 }, + { 0x5D27, 55765 }, + { 0x5D28, 55767 }, + { 0x5D29, 55769 }, + { 0x5D2A, 55771 }, + { 0x5D2B, 55773 }, + { 0x5D2C, 55775 }, + { 0x5D2D, 55777 }, + { 0x5D2E, 55779 }, + { 0x5D2F, 55781 }, + { 0x5D30, 55783 }, + { 0x5D31, 55785 }, + { 0x5D32, 55787 }, + { 0x5D33, 55789 }, + { 0x5D34, 55791 }, + { 0x5D35, 55793 }, + { 0x5D36, 55795 }, + { 0x5D37, 55797 }, + { 0x5D38, 55799 }, + { 0x5D39, 55801 }, + { 0x5D3A, 55803 }, + { 0x5D3B, 55805 }, + { 0x5D3C, 55807 }, + { 0x5D3D, 55809 }, + { 0x5D3E, 55811 }, + { 0x5D3F, 55813 }, + { 0x5D40, 55815 }, + { 0x5D41, 55817 }, + { 0x5D42, 55819 }, + { 0x5D43, 55821 }, + { 0x5D44, 55823 }, + { 0x5D45, 55825 }, + { 0x5D46, 55827 }, + { 0x5D47, 55829 }, + { 0x5D48, 55831 }, + { 0x5D49, 55833 }, + { 0x5D4A, 55835 }, + { 0x5D4B, 55837 }, + { 0x5D4C, 55839 }, + { 0x5D4D, 55841 }, + { 0x5D4E, 55843 }, + { 0x5D4F, 55845 }, + { 0x5D50, 55847 }, + { 0x5D51, 55849 }, + { 0x5D52, 55851 }, + { 0x5D53, 55853 }, + { 0x5D54, 55855 }, + { 0x5D55, 55857 }, + { 0x5D56, 55859 }, + { 0x5D57, 55861 }, + { 0x5D58, 55863 }, + { 0x5D59, 55865 }, + { 0x5D5A, 55867 }, + { 0x5D5B, 55869 }, + { 0x5D5C, 55871 }, + { 0x5D5D, 55873 }, + { 0x5D5E, 55875 }, + { 0x5D5F, 55877 }, + { 0x5D60, 55879 }, + { 0x5D61, 55881 }, + { 0x5D62, 55883 }, + { 0x5D63, 55885 }, + { 0x5D64, 55887 }, + { 0x5D65, 55889 }, + { 0x5D66, 55891 }, + { 0x5D67, 55893 }, + { 0x5D68, 55895 }, + { 0x5D69, 55897 }, + { 0x5D6A, 55899 }, + { 0x5D6B, 55901 }, + { 0x5D6C, 55903 }, + { 0x5D6D, 55905 }, + { 0x5D6E, 55907 }, + { 0x5D6F, 55909 }, + { 0x5D70, 55911 }, + { 0x5D71, 55913 }, + { 0x5D72, 55915 }, + { 0x5D73, 55917 }, + { 0x5D74, 55919 }, + { 0x5D75, 55921 }, + { 0x5D76, 55923 }, + { 0x5D77, 55925 }, + { 0x5D78, 55927 }, + { 0x5D79, 55929 }, + { 0x5D7A, 55931 }, + { 0x5D7B, 55933 }, + { 0x5D7C, 55935 }, + { 0x5D7D, 55937 }, + { 0x5D7E, 55939 }, + { 0x5D7F, 55941 }, + { 0x5D80, 55943 }, + { 0x5D81, 55945 }, + { 0x5D82, 55947 }, + { 0x5D83, 55949 }, + { 0x5D84, 55951 }, + { 0x5D85, 55953 }, + { 0x5D86, 55955 }, + { 0x5D87, 55957 }, + { 0x5D88, 55959 }, + { 0x5D89, 55961 }, + { 0x5D8A, 55963 }, + { 0x5D8B, 55965 }, + { 0x5D8C, 55967 }, + { 0x5D8D, 55969 }, + { 0x5D8E, 55971 }, + { 0x5D8F, 55973 }, + { 0x5D90, 55975 }, + { 0x5D91, 55977 }, + { 0x5D92, 55979 }, + { 0x5D93, 55981 }, + { 0x5D94, 55983 }, + { 0x5D95, 55985 }, + { 0x5D96, 55987 }, + { 0x5D97, 55989 }, + { 0x5D98, 55991 }, + { 0x5D99, 55993 }, + { 0x5D9A, 55995 }, + { 0x5D9B, 55997 }, + { 0x5D9C, 55999 }, + { 0x5D9D, 56001 }, + { 0x5D9E, 56003 }, + { 0x5D9F, 56005 }, + { 0x5DA0, 56007 }, + { 0x5DA1, 56009 }, + { 0x5DA2, 56011 }, + { 0x5DA3, 56013 }, + { 0x5DA4, 56015 }, + { 0x5DA5, 56017 }, + { 0x5DA6, 56019 }, + { 0x5DA7, 56021 }, + { 0x5DA8, 56023 }, + { 0x5DA9, 56025 }, + { 0x5DAA, 56027 }, + { 0x5DAB, 56029 }, + { 0x5DAC, 56031 }, + { 0x5DAD, 56033 }, + { 0x5DAE, 56035 }, + { 0x5DAF, 56037 }, + { 0x5DB0, 56039 }, + { 0x5DB1, 56041 }, + { 0x5DB2, 56043 }, + { 0x5DB3, 56045 }, + { 0x5DB4, 56047 }, + { 0x5DB5, 56049 }, + { 0x5DB6, 56051 }, + { 0x5DB7, 56053 }, + { 0x5DB8, 56055 }, + { 0x5DB9, 56057 }, + { 0x5DBA, 56059 }, + { 0x5DBB, 56061 }, + { 0x5DBC, 56063 }, + { 0x5DBD, 56065 }, + { 0x5DBE, 56067 }, + { 0x5DBF, 56069 }, + { 0x5DC0, 56071 }, + { 0x5DC1, 56073 }, + { 0x5DC2, 56075 }, + { 0x5DC3, 56077 }, + { 0x5DC4, 56079 }, + { 0x5DC5, 56081 }, + { 0x5DC6, 56083 }, + { 0x5DC7, 56085 }, + { 0x5DC8, 56087 }, + { 0x5DC9, 56089 }, + { 0x5DCA, 56091 }, + { 0x5DCB, 56093 }, + { 0x5DCC, 56095 }, + { 0x5DCD, 56097 }, + { 0x5DCE, 56099 }, + { 0x5DCF, 56101 }, + { 0x5DD0, 56103 }, + { 0x5DD1, 56105 }, + { 0x5DD2, 56107 }, + { 0x5DD3, 56109 }, + { 0x5DD4, 56111 }, + { 0x5DD5, 56113 }, + { 0x5DD6, 56115 }, + { 0x5DD7, 56117 }, + { 0x5DD8, 56119 }, + { 0x5DD9, 56121 }, + { 0x5DDA, 56123 }, + { 0x5DDB, 56125 }, + { 0x5DDC, 56127 }, + { 0x5DDD, 56129 }, + { 0x5DDE, 56131 }, + { 0x5DDF, 56133 }, + { 0x5DE0, 56135 }, + { 0x5DE1, 56137 }, + { 0x5DE2, 56139 }, + { 0x5DE3, 56141 }, + { 0x5DE4, 56143 }, + { 0x5DE5, 56145 }, + { 0x5DE6, 56147 }, + { 0x5DE7, 56149 }, + { 0x5DE8, 56151 }, + { 0x5DE9, 56153 }, + { 0x5DEA, 56155 }, + { 0x5DEB, 56157 }, + { 0x5DEC, 56159 }, + { 0x5DED, 56161 }, + { 0x5DEE, 56163 }, + { 0x5DEF, 56165 }, + { 0x5DF0, 56167 }, + { 0x5DF1, 56169 }, + { 0x5DF2, 56171 }, + { 0x5DF3, 56173 }, + { 0x5DF4, 56175 }, + { 0x5DF5, 56177 }, + { 0x5DF6, 56179 }, + { 0x5DF7, 56181 }, + { 0x5DF8, 56183 }, + { 0x5DF9, 56185 }, + { 0x5DFA, 56187 }, + { 0x5DFB, 56189 }, + { 0x5DFC, 56191 }, + { 0x5DFD, 56193 }, + { 0x5DFE, 56195 }, + { 0x5DFF, 56197 }, + { 0x5E00, 56199 }, + { 0x5E01, 56201 }, + { 0x5E02, 56203 }, + { 0x5E03, 56205 }, + { 0x5E04, 56207 }, + { 0x5E05, 56209 }, + { 0x5E06, 56211 }, + { 0x5E07, 56213 }, + { 0x5E08, 56215 }, + { 0x5E09, 56217 }, + { 0x5E0A, 56219 }, + { 0x5E0B, 56221 }, + { 0x5E0C, 56223 }, + { 0x5E0D, 56225 }, + { 0x5E0E, 56227 }, + { 0x5E0F, 56229 }, + { 0x5E10, 56231 }, + { 0x5E11, 56233 }, + { 0x5E12, 56235 }, + { 0x5E13, 56237 }, + { 0x5E14, 56239 }, + { 0x5E15, 56241 }, + { 0x5E16, 56243 }, + { 0x5E17, 56245 }, + { 0x5E18, 56247 }, + { 0x5E19, 56249 }, + { 0x5E1A, 56251 }, + { 0x5E1B, 56253 }, + { 0x5E1C, 56255 }, + { 0x5E1D, 56257 }, + { 0x5E1E, 56259 }, + { 0x5E1F, 56261 }, + { 0x5E20, 56263 }, + { 0x5E21, 56265 }, + { 0x5E22, 56267 }, + { 0x5E23, 56269 }, + { 0x5E24, 56271 }, + { 0x5E25, 56273 }, + { 0x5E26, 56275 }, + { 0x5E27, 56277 }, + { 0x5E28, 56279 }, + { 0x5E29, 56281 }, + { 0x5E2A, 56283 }, + { 0x5E2B, 56285 }, + { 0x5E2C, 56287 }, + { 0x5E2D, 56289 }, + { 0x5E2E, 56291 }, + { 0x5E2F, 56293 }, + { 0x5E30, 56295 }, + { 0x5E31, 56297 }, + { 0x5E32, 56299 }, + { 0x5E33, 56301 }, + { 0x5E34, 56303 }, + { 0x5E35, 56305 }, + { 0x5E36, 56307 }, + { 0x5E37, 56309 }, + { 0x5E38, 56311 }, + { 0x5E39, 56313 }, + { 0x5E3A, 56315 }, + { 0x5E3B, 56317 }, + { 0x5E3C, 56319 }, + { 0x5E3D, 56321 }, + { 0x5E3E, 56323 }, + { 0x5E3F, 56325 }, + { 0x5E40, 56327 }, + { 0x5E41, 56329 }, + { 0x5E42, 56331 }, + { 0x5E43, 56333 }, + { 0x5E44, 56335 }, + { 0x5E45, 56337 }, + { 0x5E46, 56339 }, + { 0x5E47, 56341 }, + { 0x5E48, 56343 }, + { 0x5E49, 56345 }, + { 0x5E4A, 56347 }, + { 0x5E4B, 56349 }, + { 0x5E4C, 56351 }, + { 0x5E4D, 56353 }, + { 0x5E4E, 56355 }, + { 0x5E4F, 56357 }, + { 0x5E50, 56359 }, + { 0x5E51, 56361 }, + { 0x5E52, 56363 }, + { 0x5E53, 56365 }, + { 0x5E54, 56367 }, + { 0x5E55, 56369 }, + { 0x5E56, 56371 }, + { 0x5E57, 56373 }, + { 0x5E58, 56375 }, + { 0x5E59, 56377 }, + { 0x5E5A, 56379 }, + { 0x5E5B, 56381 }, + { 0x5E5C, 56383 }, + { 0x5E5D, 56385 }, + { 0x5E5E, 56387 }, + { 0x5E5F, 56389 }, + { 0x5E60, 56391 }, + { 0x5E61, 56393 }, + { 0x5E62, 56395 }, + { 0x5E63, 56397 }, + { 0x5E64, 56399 }, + { 0x5E65, 56401 }, + { 0x5E66, 56403 }, + { 0x5E67, 56405 }, + { 0x5E68, 56407 }, + { 0x5E69, 56409 }, + { 0x5E6A, 56411 }, + { 0x5E6B, 56413 }, + { 0x5E6C, 56415 }, + { 0x5E6D, 56417 }, + { 0x5E6E, 56419 }, + { 0x5E6F, 56421 }, + { 0x5E70, 56423 }, + { 0x5E71, 56425 }, + { 0x5E72, 56427 }, + { 0x5E73, 56429 }, + { 0x5E74, 56431 }, + { 0x5E75, 56433 }, + { 0x5E76, 56435 }, + { 0x5E77, 56437 }, + { 0x5E78, 56439 }, + { 0x5E79, 56441 }, + { 0x5E7A, 56443 }, + { 0x5E7B, 56445 }, + { 0x5E7C, 56447 }, + { 0x5E7D, 56449 }, + { 0x5E7E, 56451 }, + { 0x5E7F, 56453 }, + { 0x5E80, 56455 }, + { 0x5E81, 56457 }, + { 0x5E82, 56459 }, + { 0x5E83, 56461 }, + { 0x5E84, 56463 }, + { 0x5E85, 56465 }, + { 0x5E86, 56467 }, + { 0x5E87, 56469 }, + { 0x5E88, 56471 }, + { 0x5E89, 56473 }, + { 0x5E8A, 56475 }, + { 0x5E8B, 56477 }, + { 0x5E8C, 56479 }, + { 0x5E8D, 56481 }, + { 0x5E8E, 56483 }, + { 0x5E8F, 56485 }, + { 0x5E90, 56487 }, + { 0x5E91, 56489 }, + { 0x5E92, 56491 }, + { 0x5E93, 56493 }, + { 0x5E94, 56495 }, + { 0x5E95, 56497 }, + { 0x5E96, 56499 }, + { 0x5E97, 56501 }, + { 0x5E98, 56503 }, + { 0x5E99, 56505 }, + { 0x5E9A, 56507 }, + { 0x5E9B, 56509 }, + { 0x5E9C, 56511 }, + { 0x5E9D, 56513 }, + { 0x5E9E, 56515 }, + { 0x5E9F, 56517 }, + { 0x5EA0, 56519 }, + { 0x5EA1, 56521 }, + { 0x5EA2, 56523 }, + { 0x5EA3, 56525 }, + { 0x5EA4, 56527 }, + { 0x5EA5, 56529 }, + { 0x5EA6, 56531 }, + { 0x5EA7, 56533 }, + { 0x5EA8, 56535 }, + { 0x5EA9, 56537 }, + { 0x5EAA, 56539 }, + { 0x5EAB, 56541 }, + { 0x5EAC, 56543 }, + { 0x5EAD, 56545 }, + { 0x5EAE, 56547 }, + { 0x5EAF, 56549 }, + { 0x5EB0, 56551 }, + { 0x5EB1, 56553 }, + { 0x5EB2, 56555 }, + { 0x5EB3, 56557 }, + { 0x5EB4, 56559 }, + { 0x5EB5, 56561 }, + { 0x5EB6, 56563 }, + { 0x5EB7, 56565 }, + { 0x5EB8, 56567 }, + { 0x5EB9, 56569 }, + { 0x5EBA, 56571 }, + { 0x5EBB, 56573 }, + { 0x5EBC, 56575 }, + { 0x5EBD, 56577 }, + { 0x5EBE, 56579 }, + { 0x5EBF, 56581 }, + { 0x5EC0, 56583 }, + { 0x5EC1, 56585 }, + { 0x5EC2, 56587 }, + { 0x5EC3, 56589 }, + { 0x5EC4, 56591 }, + { 0x5EC5, 56593 }, + { 0x5EC6, 56595 }, + { 0x5EC7, 56597 }, + { 0x5EC8, 56599 }, + { 0x5EC9, 56601 }, + { 0x5ECA, 56603 }, + { 0x5ECB, 56605 }, + { 0x5ECC, 56607 }, + { 0x5ECD, 56609 }, + { 0x5ECE, 56611 }, + { 0x5ECF, 56613 }, + { 0x5ED0, 56615 }, + { 0x5ED1, 56617 }, + { 0x5ED2, 56619 }, + { 0x5ED3, 56621 }, + { 0x5ED4, 56623 }, + { 0x5ED5, 56625 }, + { 0x5ED6, 56627 }, + { 0x5ED7, 56629 }, + { 0x5ED8, 56631 }, + { 0x5ED9, 56633 }, + { 0x21A3, 56635 }, + { 0x6CB0, 56636 }, + { 0x0A8B, 56639 }, + { 0x0AA4, 56643 }, + { 0x0A89, 56646 }, + { 0x0A48, 56649 }, + { 0x0A47, 56652 }, + { 0x0A7B, 56655 }, + { 0x0A45, 56658 }, + { 0x0A46, 56663 }, + { 0x0A94, 56666 }, + { 0x0A99, 56669 }, + { 0x0A95, 56672 }, + { 0x0A98, 56675 }, + { 0x0A97, 56678 }, + { 0x0A9C, 56681 }, + { 0x0A93, 56684 }, + { 0x0A9B, 56687 }, + { 0x0A9A, 56690 }, + { 0x0A96, 56693 }, + { 0x0A83, 56696 }, + { 0x0A7D, 56700 }, + { 0x0A86, 56704 }, + { 0x0A7F, 56708 }, + { 0x0A7C, 56712 }, + { 0x0A85, 56716 }, + { 0x0A88, 56720 }, + { 0x0A84, 56724 }, + { 0x0A7E, 56728 }, + { 0x0A87, 56732 }, + { 0x0A80, 56736 }, + { 0x0A91, 56740 }, + { 0x0A81, 56745 }, + { 0x0A92, 56750 }, + { 0x0A82, 56755 }, + { 0x0A8A, 56760 }, + { 0x0A49, 56763 }, + { 0x0A51, 56766 }, + { 0x0A4B, 56769 }, + { 0x0A54, 56772 }, + { 0x0A4D, 56775 }, + { 0x0A4A, 56778 }, + { 0x0A53, 56781 }, + { 0x0A56, 56784 }, + { 0x0A6D, 56787 }, + { 0x0A5C, 56790 }, + { 0x0A68, 56793 }, + { 0x0A52, 56796 }, + { 0x0A59, 56799 }, + { 0x0A7A, 56802 }, + { 0x0A4C, 56805 }, + { 0x0A5E, 56808 }, + { 0x0A57, 56811 }, + { 0x0A73, 56814 }, + { 0x0A6F, 56817 }, + { 0x0A6A, 56820 }, + { 0x0A55, 56823 }, + { 0x0A6B, 56826 }, + { 0x0A71, 56829 }, + { 0x0A79, 56832 }, + { 0x0A66, 56835 }, + { 0x0A4E, 56838 }, + { 0x0A76, 56841 }, + { 0x0A70, 56844 }, + { 0x0A6E, 56847 }, + { 0x0A5D, 56850 }, + { 0x0A63, 56853 }, + { 0x0A69, 56856 }, + { 0x0A8D, 56859 }, + { 0x0A5A, 56862 }, + { 0x0A5F, 56865 }, + { 0x0A58, 56868 }, + { 0x0A74, 56871 }, + { 0x0A5B, 56874 }, + { 0x0A65, 56877 }, + { 0x0A60, 56880 }, + { 0x0A6C, 56883 }, + { 0x0A72, 56886 }, + { 0x0A77, 56889 }, + { 0x0A78, 56892 }, + { 0x0A67, 56895 }, + { 0x0A8C, 56898 }, + { 0x0A61, 56901 }, + { 0x0A64, 56904 }, + { 0x0A75, 56907 }, + { 0x0A8E, 56910 }, + { 0x0A62, 56913 }, + { 0x0A50, 56916 }, + { 0x0A4F, 56920 }, + { 0x0A90, 56924 }, + { 0x0A8F, 56928 }, + { 0x0A9E, 56932 }, + { 0x0AA1, 56941 }, + { 0x0A9F, 56950 }, + { 0x0AA2, 56959 }, + { 0x0A9D, 56968 }, + { 0x0AA0, 56977 }, + { 0x0AA3, 56986 }, + { 0x6CF9, 56995 }, + { 0x0742, 56999 }, + { 0x0732, 57001 }, + { 0x0733, 57004 }, + { 0x0716, 57007 }, + { 0x0712, 57010 }, + { 0x0743, 57013 }, + { 0x0715, 57016 }, + { 0x0726, 57019 }, + { 0x072E, 57022 }, + { 0x0734, 57025 }, + { 0x072B, 57028 }, + { 0x072C, 57031 }, + { 0x071E, 57034 }, + { 0x072A, 57037 }, + { 0x0719, 57040 }, + { 0x071C, 57043 }, + { 0x0720, 57046 }, + { 0x0718, 57049 }, + { 0x071F, 57052 }, + { 0x071B, 57055 }, + { 0x0714, 57058 }, + { 0x0736, 57061 }, + { 0x0722, 57064 }, + { 0x071A, 57067 }, + { 0x0737, 57070 }, + { 0x0731, 57073 }, + { 0x071D, 57076 }, + { 0x0735, 57079 }, + { 0x0730, 57082 }, + { 0x072F, 57085 }, + { 0x072D, 57088 }, + { 0x0723, 57091 }, + { 0x0728, 57094 }, + { 0x0727, 57097 }, + { 0x0725, 57100 }, + { 0x0724, 57103 }, + { 0x0729, 57106 }, + { 0x0721, 57109 }, + { 0x0717, 57112 }, + { 0x0713, 57115 }, + { 0x0738, 57118 }, + { 0x073E, 57120 }, + { 0x073A, 57122 }, + { 0x0740, 57124 }, + { 0x073C, 57126 }, + { 0x0739, 57128 }, + { 0x073B, 57130 }, + { 0x073F, 57132 }, + { 0x0741, 57134 }, + { 0x073D, 57136 }, + { 0x6D88, 57138 }, + { 0x6D89, 57141 }, + { 0x6CE6, 57144 }, + { 0x6FF8, 57145 }, + { 0x6C80, 57146 }, + { 0x6D80, 57147 }, + { 0x2555, 57148 }, + { 0x2650, 57150 }, + { 0x1BE8, 57153 }, + { 0x1DD4, 57155 }, + { 0x2651, 57157 }, + { 0x2652, 57160 }, + { 0x2655, 57163 }, + { 0x1DB6, 57167 }, + { 0x264F, 57169 }, + { 0x1E33, 57175 }, + { 0x264E, 57180 }, + { 0x24DA, 57185 }, + { 0x25C2, 57189 }, + { 0x25C3, 57196 }, + { 0x6D01, 57203 }, + { 0x1C5B, 57204 }, + { 0x71C1, 57206 }, + { 0x6ECA, 57207 }, + { 0x1EA2, 57211 }, + { 0x24FC, 57214 }, + { 0x2224, 57216 }, + { 0x2715, 57220 }, + { 0x2925, 57223 }, + { 0x1D17, 57225 }, + { 0x1D18, 57228 }, + { 0x1CB6, 57231 }, + { 0x6F91, 57236 }, + { 0x6F8F, 57241 }, + { 0x1CDB, 57246 }, + { 0x6F92, 57249 }, + { 0x6F90, 57254 }, + { 0x2223, 57259 }, + { 0x292B, 57263 }, + { 0x1CBF, 57265 }, + { 0x1CD8, 57268 }, + { 0x2928, 57270 }, + { 0x1CCE, 57272 }, + { 0x1CCF, 57276 }, + { 0x1CD1, 57280 }, + { 0x6D5D, 57284 }, + { 0x2293, 57285 }, + { 0x292D, 57289 }, + { 0x219F, 57291 }, + { 0x2589, 57292 }, + { 0x6CF6, 57296 }, + { 0x1DB9, 57297 }, + { 0x007C, 57299 }, + { 0x1CE2, 57303 }, + { 0x1CDE, 57307 }, + { 0x1CE6, 57311 }, + { 0x1CDF, 57315 }, + { 0x1CE0, 57319 }, + { 0x1CE8, 57323 }, + { 0x007B, 57327 }, + { 0x1CDD, 57331 }, + { 0x1CE3, 57335 }, + { 0x1CE1, 57339 }, + { 0x1CE7, 57343 }, + { 0x1CEA, 57347 }, + { 0x1CE5, 57351 }, + { 0x1D16, 57355 }, + { 0x1CEB, 57359 }, + { 0x1CE4, 57363 }, + { 0x1CE9, 57367 }, + { 0x007D, 57371 }, + { 0x6C51, 57375 }, + { 0x6C53, 57379 }, + { 0x4C33, 57383 }, + { 0x4C21, 57386 }, + { 0x4C26, 57390 }, + { 0x4C22, 57394 }, + { 0x4C25, 57398 }, + { 0x4C24, 57402 }, + { 0x4C29, 57406 }, + { 0x4C20, 57410 }, + { 0x4C28, 57414 }, + { 0x4C27, 57418 }, + { 0x4C23, 57422 }, + { 0x4C01, 57426 }, + { 0x4C08, 57431 }, + { 0x4C09, 57436 }, + { 0x4C16, 57441 }, + { 0x4C15, 57446 }, + { 0x4C17, 57451 }, + { 0x4C14, 57456 }, + { 0x4C0B, 57461 }, + { 0x4C06, 57466 }, + { 0x4C0C, 57471 }, + { 0x4C18, 57476 }, + { 0x4C0F, 57481 }, + { 0x4C07, 57486 }, + { 0x4C02, 57491 }, + { 0x4C04, 57496 }, + { 0x4C05, 57501 }, + { 0x4C03, 57506 }, + { 0x4C0A, 57511 }, + { 0x4C10, 57516 }, + { 0x4C0D, 57521 }, + { 0x4C1C, 57526 }, + { 0x4C11, 57531 }, + { 0x4C1E, 57536 }, + { 0x4C12, 57541 }, + { 0x4C0E, 57546 }, + { 0x4C19, 57551 }, + { 0x4C1A, 57556 }, + { 0x4C1B, 57561 }, + { 0x4C00, 57566 }, + { 0x4C13, 57571 }, + { 0x4C1D, 57576 }, + { 0x4C1F, 57581 }, + { 0x4C2A, 57586 }, + { 0x4C2E, 57590 }, + { 0x4C2D, 57594 }, + { 0x4C2F, 57598 }, + { 0x4C31, 57602 }, + { 0x4C32, 57606 }, + { 0x4C2C, 57610 }, + { 0x4C2B, 57614 }, + { 0x4C30, 57618 }, + { 0x4BE1, 57622 }, + { 0x4BE8, 57627 }, + { 0x4BE9, 57632 }, + { 0x4BF6, 57637 }, + { 0x4BF5, 57642 }, + { 0x4BF7, 57647 }, + { 0x4BF4, 57652 }, + { 0x4BEB, 57657 }, + { 0x4BE6, 57662 }, + { 0x4BEC, 57667 }, + { 0x4BF8, 57672 }, + { 0x4BEF, 57677 }, + { 0x4BE7, 57682 }, + { 0x4BE2, 57687 }, + { 0x4BE4, 57692 }, + { 0x4BE5, 57697 }, + { 0x4BE3, 57702 }, + { 0x4BEA, 57707 }, + { 0x4BF0, 57712 }, + { 0x4BED, 57717 }, + { 0x4BFC, 57722 }, + { 0x4BF1, 57727 }, + { 0x4BFE, 57732 }, + { 0x4BF2, 57737 }, + { 0x4BEE, 57742 }, + { 0x4BF9, 57747 }, + { 0x4BFA, 57752 }, + { 0x4BFB, 57757 }, + { 0x4BE0, 57762 }, + { 0x4BF3, 57767 }, + { 0x4BFD, 57772 }, + { 0x4BFF, 57777 }, + { 0x6D86, 57782 }, + { 0x6D2F, 57785 }, + { 0x6D2E, 57788 }, + { 0x6C4F, 57791 }, + { 0x6C4D, 57795 }, + { 0x6D06, 57799 }, + { 0x2931, 57801 }, + { 0x71A3, 57804 }, + { 0x6D8D, 57806 }, + { 0x6D9D, 57808 }, + { 0x6D9C, 57810 }, + { 0x6D95, 57812 }, + { 0x6FF5, 57814 }, + { 0x1DC9, 57816 }, + { 0x6E62, 57818 }, + { 0x6DD6, 57819 }, + { 0x3D8A, 57821 }, + { 0x1C8D, 57822 }, + { 0x05A1, 57824 }, + { 0x21F1, 57826 }, + { 0x6D35, 57827 }, + { 0x6E31, 57828 }, + { 0x1C60, 57831 }, + { 0x45EC, 57833 }, + { 0x45F4, 57836 }, + { 0x45F8, 57839 }, + { 0x45F6, 57842 }, + { 0x45FA, 57845 }, + { 0x45ED, 57848 }, + { 0x45F2, 57851 }, + { 0x45F0, 57854 }, + { 0x45EE, 57857 }, + { 0x460C, 57860 }, + { 0x4603, 57863 }, + { 0x4607, 57866 }, + { 0x45F5, 57869 }, + { 0x460B, 57872 }, + { 0x4600, 57875 }, + { 0x4621, 57878 }, + { 0x45F9, 57881 }, + { 0x4604, 57884 }, + { 0x45FC, 57887 }, + { 0x461A, 57890 }, + { 0x4614, 57893 }, + { 0x4611, 57896 }, + { 0x45F7, 57899 }, + { 0x460A, 57902 }, + { 0x4619, 57905 }, + { 0x461B, 57908 }, + { 0x4605, 57911 }, + { 0x45FB, 57914 }, + { 0x4618, 57917 }, + { 0x45FD, 57920 }, + { 0x4617, 57923 }, + { 0x461C, 57926 }, + { 0x45F1, 57929 }, + { 0x45EF, 57932 }, + { 0x45F3, 57935 }, + { 0x460D, 57938 }, + { 0x4608, 57941 }, + { 0x4601, 57944 }, + { 0x4602, 57947 }, + { 0x4615, 57950 }, + { 0x460E, 57953 }, + { 0x4613, 57956 }, + { 0x4612, 57959 }, + { 0x461D, 57962 }, + { 0x4606, 57965 }, + { 0x4609, 57968 }, + { 0x45FF, 57971 }, + { 0x45FE, 57974 }, + { 0x4616, 57977 }, + { 0x461E, 57980 }, + { 0x4610, 57983 }, + { 0x460F, 57986 }, + { 0x461F, 57989 }, + { 0x4620, 57992 }, + { 0x4622, 57995 }, + { 0x71B0, 57998 }, + { 0x6FFF, 57999 }, + { 0x6CC3, 58001 }, + { 0x6FFC, 58002 }, + { 0x6E46, 58003 }, + { 0x6DCE, 58004 }, + { 0x1DBE, 58006 }, + { 0x7009, 58007 }, + { 0x08E1, 58009 }, + { 0x08A2, 58013 }, + { 0x08D2, 58015 }, + { 0x08DF, 58018 }, + { 0x08A5, 58021 }, + { 0x08A4, 58024 }, + { 0x08D3, 58027 }, + { 0x08A3, 58030 }, + { 0x08EA, 58033 }, + { 0x08EF, 58036 }, + { 0x08EB, 58039 }, + { 0x08EE, 58042 }, + { 0x08ED, 58045 }, + { 0x08F2, 58048 }, + { 0x08E9, 58051 }, + { 0x08F1, 58054 }, + { 0x08F0, 58057 }, + { 0x08EC, 58060 }, + { 0x08FE, 58063 }, + { 0x08F5, 58066 }, + { 0x08F6, 58069 }, + { 0x08DB, 58072 }, + { 0x08D5, 58076 }, + { 0x08DD, 58080 }, + { 0x08D7, 58084 }, + { 0x08D4, 58088 }, + { 0x08DC, 58092 }, + { 0x08DE, 58096 }, + { 0x08D6, 58100 }, + { 0x08D8, 58104 }, + { 0x08E7, 58108 }, + { 0x08D9, 58113 }, + { 0x08E8, 58118 }, + { 0x08DA, 58123 }, + { 0x08FD, 58128 }, + { 0x08A6, 58130 }, + { 0x08AE, 58133 }, + { 0x08A8, 58136 }, + { 0x08B0, 58139 }, + { 0x08AA, 58142 }, + { 0x08A7, 58145 }, + { 0x08AF, 58148 }, + { 0x08B1, 58151 }, + { 0x08C8, 58154 }, + { 0x08B7, 58157 }, + { 0x08C3, 58160 }, + { 0x08B4, 58163 }, + { 0x08D1, 58166 }, + { 0x08A9, 58169 }, + { 0x08B9, 58172 }, + { 0x08B2, 58175 }, + { 0x08CD, 58178 }, + { 0x08CA, 58181 }, + { 0x08C5, 58184 }, + { 0x08C6, 58187 }, + { 0x08CC, 58190 }, + { 0x08F4, 58193 }, + { 0x08F3, 58199 }, + { 0x08D0, 58205 }, + { 0x08C1, 58208 }, + { 0x08AB, 58211 }, + { 0x08CB, 58214 }, + { 0x08C9, 58217 }, + { 0x08B8, 58220 }, + { 0x08BE, 58223 }, + { 0x08C4, 58226 }, + { 0x08B5, 58229 }, + { 0x08BA, 58232 }, + { 0x08B3, 58235 }, + { 0x08B6, 58238 }, + { 0x08C0, 58241 }, + { 0x08BB, 58244 }, + { 0x08C7, 58247 }, + { 0x08E3, 58250 }, + { 0x08E2, 58253 }, + { 0x08CE, 58256 }, + { 0x08CF, 58259 }, + { 0x08C2, 58262 }, + { 0x08BC, 58265 }, + { 0x08E4, 58268 }, + { 0x08BF, 58271 }, + { 0x08BD, 58274 }, + { 0x08E0, 58277 }, + { 0x08AD, 58281 }, + { 0x08AC, 58285 }, + { 0x08E6, 58289 }, + { 0x08E5, 58293 }, + { 0x08F7, 58297 }, + { 0x08FB, 58301 }, + { 0x08F8, 58309 }, + { 0x08FA, 58313 }, + { 0x08F9, 58317 }, + { 0x08FC, 58321 }, + { 0x1EB5, 58325 }, + { 0x1F6C, 58327 }, + { 0x1DF5, 58331 }, + { 0x6FED, 58332 }, + { 0x6C77, 58333 }, + { 0x6DCB, 58334 }, + { 0x6CD0, 58335 }, + { 0x6CEE, 58338 }, + { 0x235A, 58339 }, + { 0x235B, 58342 }, + { 0x235C, 58345 }, + { 0x235E, 58348 }, + { 0x2362, 58351 }, + { 0x236A, 58354 }, + { 0x237A, 58357 }, + { 0x239A, 58360 }, + { 0x23DA, 58363 }, + { 0x235D, 58366 }, + { 0x235F, 58369 }, + { 0x2363, 58372 }, + { 0x236B, 58375 }, + { 0x237B, 58378 }, + { 0x239B, 58381 }, + { 0x23DB, 58384 }, + { 0x2360, 58387 }, + { 0x2364, 58390 }, + { 0x236C, 58393 }, + { 0x237C, 58396 }, + { 0x239C, 58399 }, + { 0x23DC, 58402 }, + { 0x2366, 58405 }, + { 0x236E, 58408 }, + { 0x237E, 58411 }, + { 0x239E, 58414 }, + { 0x23DE, 58417 }, + { 0x2372, 58420 }, + { 0x2382, 58423 }, + { 0x23A2, 58426 }, + { 0x23E2, 58429 }, + { 0x238A, 58432 }, + { 0x23AA, 58435 }, + { 0x23EA, 58438 }, + { 0x23BA, 58441 }, + { 0x23FA, 58444 }, + { 0x241A, 58447 }, + { 0x2361, 58450 }, + { 0x2365, 58453 }, + { 0x236D, 58456 }, + { 0x237D, 58459 }, + { 0x239D, 58462 }, + { 0x23DD, 58465 }, + { 0x2367, 58468 }, + { 0x236F, 58471 }, + { 0x237F, 58474 }, + { 0x239F, 58477 }, + { 0x23DF, 58480 }, + { 0x2373, 58483 }, + { 0x2383, 58486 }, + { 0x23A3, 58489 }, + { 0x23E3, 58492 }, + { 0x238B, 58495 }, + { 0x23AB, 58498 }, + { 0x23EB, 58501 }, + { 0x23BB, 58504 }, + { 0x23FB, 58507 }, + { 0x241B, 58510 }, + { 0x2368, 58513 }, + { 0x2370, 58516 }, + { 0x2380, 58519 }, + { 0x23A0, 58522 }, + { 0x23E0, 58525 }, + { 0x2374, 58528 }, + { 0x2384, 58531 }, + { 0x23A4, 58534 }, + { 0x23E4, 58537 }, + { 0x238C, 58540 }, + { 0x23AC, 58543 }, + { 0x23EC, 58546 }, + { 0x23BC, 58549 }, + { 0x23FC, 58552 }, + { 0x241C, 58555 }, + { 0x2376, 58558 }, + { 0x2386, 58561 }, + { 0x23A6, 58564 }, + { 0x23E6, 58567 }, + { 0x238E, 58570 }, + { 0x23AE, 58573 }, + { 0x23EE, 58576 }, + { 0x23BE, 58579 }, + { 0x23FE, 58582 }, + { 0x241E, 58585 }, + { 0x2392, 58588 }, + { 0x23B2, 58591 }, + { 0x23F2, 58594 }, + { 0x23C2, 58597 }, + { 0x2402, 58600 }, + { 0x2422, 58603 }, + { 0x23CA, 58606 }, + { 0x240A, 58609 }, + { 0x242A, 58612 }, + { 0x243A, 58615 }, + { 0x2369, 58618 }, + { 0x2371, 58621 }, + { 0x2381, 58624 }, + { 0x23A1, 58627 }, + { 0x23E1, 58630 }, + { 0x2375, 58633 }, + { 0x2385, 58636 }, + { 0x23A5, 58639 }, + { 0x23E5, 58642 }, + { 0x238D, 58645 }, + { 0x23AD, 58648 }, + { 0x23ED, 58651 }, + { 0x23BD, 58654 }, + { 0x23FD, 58657 }, + { 0x241D, 58660 }, + { 0x2377, 58663 }, + { 0x2387, 58666 }, + { 0x23A7, 58669 }, + { 0x23E7, 58672 }, + { 0x238F, 58675 }, + { 0x23AF, 58678 }, + { 0x23EF, 58681 }, + { 0x23BF, 58684 }, + { 0x23FF, 58687 }, + { 0x241F, 58690 }, + { 0x2393, 58693 }, + { 0x23B3, 58696 }, + { 0x23F3, 58699 }, + { 0x23C3, 58702 }, + { 0x2403, 58705 }, + { 0x2423, 58708 }, + { 0x23CB, 58711 }, + { 0x240B, 58714 }, + { 0x242B, 58717 }, + { 0x243B, 58720 }, + { 0x2378, 58723 }, + { 0x2388, 58726 }, + { 0x23A8, 58729 }, + { 0x23E8, 58732 }, + { 0x2390, 58735 }, + { 0x23B0, 58738 }, + { 0x23F0, 58741 }, + { 0x23C0, 58744 }, + { 0x2400, 58747 }, + { 0x2420, 58750 }, + { 0x2394, 58753 }, + { 0x23B4, 58756 }, + { 0x23F4, 58759 }, + { 0x23C4, 58762 }, + { 0x2404, 58765 }, + { 0x2424, 58768 }, + { 0x23CC, 58771 }, + { 0x240C, 58774 }, + { 0x242C, 58777 }, + { 0x243C, 58780 }, + { 0x2396, 58783 }, + { 0x23B6, 58786 }, + { 0x23F6, 58789 }, + { 0x23C6, 58792 }, + { 0x2406, 58795 }, + { 0x2426, 58798 }, + { 0x23CE, 58801 }, + { 0x240E, 58804 }, + { 0x242E, 58807 }, + { 0x243E, 58810 }, + { 0x23D2, 58813 }, + { 0x2412, 58816 }, + { 0x2432, 58819 }, + { 0x2442, 58822 }, + { 0x244A, 58825 }, + { 0x2379, 58828 }, + { 0x2389, 58831 }, + { 0x23A9, 58834 }, + { 0x23E9, 58837 }, + { 0x2391, 58840 }, + { 0x23B1, 58843 }, + { 0x23F1, 58846 }, + { 0x23C1, 58849 }, + { 0x2401, 58852 }, + { 0x2421, 58855 }, + { 0x2395, 58858 }, + { 0x23B5, 58861 }, + { 0x23F5, 58864 }, + { 0x23C5, 58867 }, + { 0x2405, 58870 }, + { 0x2425, 58873 }, + { 0x23CD, 58876 }, + { 0x240D, 58879 }, + { 0x242D, 58882 }, + { 0x243D, 58885 }, + { 0x2397, 58888 }, + { 0x23B7, 58891 }, + { 0x23F7, 58894 }, + { 0x23C7, 58897 }, + { 0x2407, 58900 }, + { 0x2427, 58903 }, + { 0x23CF, 58906 }, + { 0x240F, 58909 }, + { 0x242F, 58912 }, + { 0x243F, 58915 }, + { 0x23D3, 58918 }, + { 0x2413, 58921 }, + { 0x2433, 58924 }, + { 0x2443, 58927 }, + { 0x244B, 58930 }, + { 0x2398, 58933 }, + { 0x23B8, 58936 }, + { 0x23F8, 58939 }, + { 0x23C8, 58942 }, + { 0x2408, 58945 }, + { 0x2428, 58948 }, + { 0x23D0, 58951 }, + { 0x2410, 58954 }, + { 0x2430, 58957 }, + { 0x2440, 58960 }, + { 0x23D4, 58963 }, + { 0x2414, 58966 }, + { 0x2434, 58969 }, + { 0x2444, 58972 }, + { 0x244C, 58975 }, + { 0x23D6, 58978 }, + { 0x2416, 58981 }, + { 0x2436, 58984 }, + { 0x2446, 58987 }, + { 0x244E, 58990 }, + { 0x2452, 58993 }, + { 0x2399, 58996 }, + { 0x23B9, 58999 }, + { 0x23F9, 59002 }, + { 0x23C9, 59005 }, + { 0x2409, 59008 }, + { 0x2429, 59011 }, + { 0x23D1, 59014 }, + { 0x2411, 59017 }, + { 0x2431, 59020 }, + { 0x2441, 59023 }, + { 0x23D5, 59026 }, + { 0x2415, 59029 }, + { 0x2435, 59032 }, + { 0x2445, 59035 }, + { 0x244D, 59038 }, + { 0x23D7, 59041 }, + { 0x2417, 59044 }, + { 0x2437, 59047 }, + { 0x2447, 59050 }, + { 0x244F, 59053 }, + { 0x2453, 59056 }, + { 0x23D8, 59059 }, + { 0x2418, 59062 }, + { 0x2438, 59065 }, + { 0x2448, 59068 }, + { 0x2450, 59071 }, + { 0x2454, 59074 }, + { 0x2456, 59077 }, + { 0x23D9, 59080 }, + { 0x2419, 59083 }, + { 0x2439, 59086 }, + { 0x2449, 59089 }, + { 0x2451, 59092 }, + { 0x2455, 59095 }, + { 0x2457, 59098 }, + { 0x2458, 59101 }, + { 0x2459, 59104 }, + { 0x6C6A, 59107 }, + { 0x6D10, 59108 }, + { 0x217B, 59109 }, + { 0x0077, 59111 }, + { 0x6FB9, 59112 }, + { 0x6D4F, 59114 }, + { 0x2711, 59115 }, + { 0x6B6C, 59117 }, + { 0x6B6D, 59119 }, + { 0x1E22, 59121 }, + { 0x2712, 59124 }, + { 0x1E26, 59127 }, + { 0x229C, 59129 }, + { 0x1E1E, 59135 }, + { 0x1E23, 59137 }, + { 0x6E7B, 59140 }, + { 0x1FBA, 59143 }, + { 0x1FBF, 59146 }, + { 0x1FBB, 59149 }, + { 0x1FBE, 59152 }, + { 0x1FBD, 59155 }, + { 0x1FC2, 59158 }, + { 0x2044, 59161 }, + { 0x1FC1, 59164 }, + { 0x1FC0, 59167 }, + { 0x1FBC, 59170 }, + { 0x230C, 59173 }, + { 0x202A, 59178 }, + { 0x202B, 59183 }, + { 0x202C, 59188 }, + { 0x202D, 59193 }, + { 0x202E, 59198 }, + { 0x202F, 59203 }, + { 0x2030, 59208 }, + { 0x2031, 59213 }, + { 0x2032, 59218 }, + { 0x2033, 59223 }, + { 0x2034, 59228 }, + { 0x2035, 59233 }, + { 0x2036, 59238 }, + { 0x2037, 59243 }, + { 0x2038, 59248 }, + { 0x2039, 59253 }, + { 0x203A, 59258 }, + { 0x203B, 59263 }, + { 0x203C, 59268 }, + { 0x203D, 59273 }, + { 0x203E, 59278 }, + { 0x203F, 59283 }, + { 0x2040, 59288 }, + { 0x2041, 59293 }, + { 0x2042, 59298 }, + { 0x2043, 59303 }, + { 0x2010, 59308 }, + { 0x2011, 59313 }, + { 0x2012, 59318 }, + { 0x2013, 59323 }, + { 0x2014, 59328 }, + { 0x2015, 59333 }, + { 0x2016, 59338 }, + { 0x2017, 59343 }, + { 0x2018, 59348 }, + { 0x2019, 59353 }, + { 0x201A, 59358 }, + { 0x201B, 59363 }, + { 0x201C, 59368 }, + { 0x201D, 59373 }, + { 0x201E, 59378 }, + { 0x201F, 59383 }, + { 0x2020, 59388 }, + { 0x2021, 59393 }, + { 0x2022, 59398 }, + { 0x2023, 59403 }, + { 0x2024, 59408 }, + { 0x2025, 59413 }, + { 0x2026, 59418 }, + { 0x2027, 59423 }, + { 0x2028, 59428 }, + { 0x2029, 59433 }, + { 0x1E1F, 59438 }, + { 0x1E20, 59440 }, + { 0x2284, 59442 }, + { 0x2518, 59445 }, + { 0x2519, 59448 }, + { 0x1E25, 59450 }, + { 0x2CD5, 59452 }, + { 0x2CE3, 59455 }, + { 0x2CD7, 59459 }, + { 0x2CE5, 59462 }, + { 0x2CDC, 59466 }, + { 0x2CEA, 59469 }, + { 0x2CD6, 59473 }, + { 0x2CE4, 59476 }, + { 0x2CED, 59480 }, + { 0x2CD3, 59484 }, + { 0x2CE1, 59487 }, + { 0x2CD0, 59491 }, + { 0x2CDE, 59494 }, + { 0x2CD4, 59498 }, + { 0x2CE2, 59501 }, + { 0x2CD2, 59505 }, + { 0x2CE0, 59508 }, + { 0x2CCF, 59512 }, + { 0x2CDD, 59515 }, + { 0x2CD1, 59519 }, + { 0x2CDF, 59522 }, + { 0x2CD8, 59526 }, + { 0x2CE6, 59529 }, + { 0x2CD9, 59533 }, + { 0x2CE7, 59536 }, + { 0x2CDB, 59540 }, + { 0x2CE9, 59543 }, + { 0x2CDA, 59547 }, + { 0x2CE8, 59550 }, + { 0x6B6A, 59554 }, + { 0x6B6B, 59560 }, + { 0x2CEC, 59566 }, + { 0x2CEB, 59570 }, + { 0x1FC3, 59574 }, + { 0x2CB7, 59577 }, + { 0x2D2E, 59583 }, + { 0x2CBB, 59586 }, + { 0x2D24, 59592 }, + { 0x2CBA, 59595 }, + { 0x2D25, 59601 }, + { 0x2D2A, 59605 }, + { 0x2D26, 59609 }, + { 0x2D29, 59613 }, + { 0x2D28, 59617 }, + { 0x2D2D, 59621 }, + { 0x2D2C, 59625 }, + { 0x2D2B, 59629 }, + { 0x2D27, 59633 }, + { 0x2CBC, 59637 }, + { 0x2CBE, 59643 }, + { 0x1FC4, 59649 }, + { 0x2CC9, 59652 }, + { 0x2CB9, 59655 }, + { 0x2CCA, 59661 }, + { 0x2D20, 59665 }, + { 0x2CCB, 59669 }, + { 0x2CCE, 59673 }, + { 0x2CCD, 59677 }, + { 0x2D23, 59681 }, + { 0x2D22, 59685 }, + { 0x2D21, 59689 }, + { 0x2CCC, 59693 }, + { 0x1FC5, 59697 }, + { 0x1FCD, 59700 }, + { 0x2CB8, 59703 }, + { 0x2CC0, 59709 }, + { 0x2CC5, 59713 }, + { 0x2CC1, 59717 }, + { 0x2CC4, 59721 }, + { 0x2CC3, 59725 }, + { 0x2CC8, 59729 }, + { 0x2CC7, 59733 }, + { 0x2CC6, 59737 }, + { 0x2CC2, 59741 }, + { 0x1FC8, 59745 }, + { 0x2CBD, 59748 }, + { 0x1FC9, 59754 }, + { 0x1FCB, 59757 }, + { 0x1FC7, 59760 }, + { 0x1FCC, 59763 }, + { 0x1FC6, 59766 }, + { 0x1FCA, 59769 }, + { 0x2AC3, 59772 }, + { 0x2512, 59775 }, + { 0x1E24, 59778 }, + { 0x222C, 59781 }, + { 0x2592, 59784 }, + { 0x1E21, 59787 }, + { 0x2D3F, 59790 }, + { 0x2D42, 59793 }, + { 0x2D40, 59796 }, + { 0x2D43, 59799 }, + { 0x2D41, 59802 }, + { 0x2D58, 59805 }, + { 0x2D5B, 59808 }, + { 0x2D59, 59811 }, + { 0x2D5C, 59814 }, + { 0x2D5A, 59817 }, + { 0x2D44, 59820 }, + { 0x2D47, 59823 }, + { 0x2D45, 59826 }, + { 0x2D48, 59829 }, + { 0x2D46, 59832 }, + { 0x2D5D, 59835 }, + { 0x2D60, 59838 }, + { 0x2D5E, 59841 }, + { 0x2D61, 59844 }, + { 0x2D5F, 59847 }, + { 0x2D53, 59850 }, + { 0x2D56, 59853 }, + { 0x2D54, 59856 }, + { 0x2D57, 59859 }, + { 0x2D55, 59862 }, + { 0x2D65, 59865 }, + { 0x2D68, 59868 }, + { 0x2D66, 59871 }, + { 0x2D69, 59874 }, + { 0x2D67, 59877 }, + { 0x2D49, 59880 }, + { 0x2D4C, 59883 }, + { 0x2D4A, 59886 }, + { 0x2D4D, 59889 }, + { 0x2D4B, 59892 }, + { 0x2D4E, 59895 }, + { 0x2D51, 59898 }, + { 0x2D4F, 59901 }, + { 0x2D52, 59904 }, + { 0x2D50, 59907 }, + { 0x2D6A, 59910 }, + { 0x2D6C, 59913 }, + { 0x2D6B, 59916 }, + { 0x2D6D, 59919 }, + { 0x2D62, 59922 }, + { 0x2D64, 59925 }, + { 0x2D63, 59928 }, + { 0x2511, 59931 }, + { 0x1F13, 59933 }, + { 0x2510, 59936 }, + { 0x2D15, 59939 }, + { 0x2CEF, 59942 }, + { 0x2CF4, 59945 }, + { 0x2CFF, 59948 }, + { 0x2CF8, 59951 }, + { 0x2CF0, 59954 }, + { 0x2D11, 59957 }, + { 0x2CFA, 59960 }, + { 0x2CF3, 59963 }, + { 0x2CF2, 59966 }, + { 0x2D01, 59969 }, + { 0x2D13, 59972 }, + { 0x2D0F, 59975 }, + { 0x2CB6, 59978 }, + { 0x2D16, 59981 }, + { 0x2D09, 59984 }, + { 0x2CF9, 59987 }, + { 0x2D03, 59990 }, + { 0x2CF7, 59993 }, + { 0x2D10, 59996 }, + { 0x2CFC, 59999 }, + { 0x2CFE, 60002 }, + { 0x2CF6, 60005 }, + { 0x2D07, 60008 }, + { 0x2CFD, 60011 }, + { 0x2D1F, 60014 }, + { 0x2D0D, 60017 }, + { 0x2D17, 60020 }, + { 0x2CF5, 60023 }, + { 0x2D00, 60026 }, + { 0x2D1A, 60029 }, + { 0x2CF1, 60032 }, + { 0x2CFB, 60035 }, + { 0x6C3A, 60038 }, + { 0x2D14, 60041 }, + { 0x2D0A, 60044 }, + { 0x2CB5, 60047 }, + { 0x2D08, 60050 }, + { 0x2D12, 60053 }, + { 0x2D02, 60056 }, + { 0x2D04, 60059 }, + { 0x2D1E, 60062 }, + { 0x2D18, 60065 }, + { 0x2CB3, 60068 }, + { 0x2D19, 60071 }, + { 0x2D1D, 60074 }, + { 0x2D0B, 60077 }, + { 0x6C39, 60080 }, + { 0x2D0E, 60083 }, + { 0x2D0C, 60086 }, + { 0x2D05, 60089 }, + { 0x2D1B, 60092 }, + { 0x2D1C, 60095 }, + { 0x2CB4, 60098 }, + { 0x2D06, 60101 }, + { 0x251A, 60104 }, + { 0x1F12, 60106 }, + { 0x7003, 60111 }, + { 0x251B, 60114 }, + { 0x2513, 60116 }, + { 0x2590, 60118 }, + { 0x2516, 60124 }, + { 0x6CE7, 60128 }, + { 0x1EBB, 60130 }, + { 0x1DB7, 60132 }, + { 0x6CD6, 60134 }, + { 0x6CAE, 60136 }, + { 0x6D0A, 60137 }, + { 0x6CC7, 60141 }, + { 0x21EE, 60143 }, + { 0x6BC4, 60145 }, + { 0x6E69, 60152 }, + { 0x6CA9, 60154 }, + { 0x6FFE, 60155 }, + { 0x6C3B, 60156 }, + { 0x43CE, 60157 }, + { 0x43CF, 60160 }, + { 0x43D0, 60163 }, + { 0x43D1, 60166 }, + { 0x43D2, 60169 }, + { 0x43D3, 60172 }, + { 0x43D4, 60175 }, + { 0x43D5, 60178 }, + { 0x43D6, 60181 }, + { 0x43D7, 60184 }, + { 0x43D8, 60187 }, + { 0x43D9, 60190 }, + { 0x43DA, 60193 }, + { 0x43DB, 60196 }, + { 0x43DC, 60199 }, + { 0x43DD, 60202 }, + { 0x43DE, 60205 }, + { 0x43DF, 60208 }, + { 0x43E0, 60211 }, + { 0x43E1, 60214 }, + { 0x43E2, 60217 }, + { 0x43E3, 60220 }, + { 0x43E4, 60223 }, + { 0x43E5, 60226 }, + { 0x43E6, 60229 }, + { 0x43E7, 60232 }, + { 0x43E8, 60235 }, + { 0x43E9, 60238 }, + { 0x43EA, 60241 }, + { 0x43EB, 60244 }, + { 0x43EC, 60247 }, + { 0x43ED, 60250 }, + { 0x43EE, 60253 }, + { 0x43EF, 60256 }, + { 0x43F0, 60259 }, + { 0x43F1, 60262 }, + { 0x43F2, 60265 }, + { 0x43F3, 60268 }, + { 0x43F4, 60271 }, + { 0x43F5, 60274 }, + { 0x43F6, 60277 }, + { 0x43F7, 60280 }, + { 0x43F8, 60283 }, + { 0x43F9, 60286 }, + { 0x43FA, 60289 }, + { 0x43FB, 60292 }, + { 0x43FC, 60295 }, + { 0x43FD, 60298 }, + { 0x43FE, 60301 }, + { 0x43FF, 60304 }, + { 0x4400, 60307 }, + { 0x4401, 60310 }, + { 0x4402, 60313 }, + { 0x4403, 60316 }, + { 0x4404, 60319 }, + { 0x1F71, 60322 }, + { 0x1F1F, 60325 }, + { 0x4164, 60329 }, + { 0x4160, 60333 }, + { 0x416D, 60337 }, + { 0x4176, 60341 }, + { 0x4177, 60345 }, + { 0x4178, 60349 }, + { 0x4175, 60353 }, + { 0x4171, 60357 }, + { 0x417B, 60361 }, + { 0x417A, 60365 }, + { 0x4161, 60369 }, + { 0x4162, 60373 }, + { 0x4166, 60377 }, + { 0x4168, 60381 }, + { 0x4179, 60385 }, + { 0x4173, 60389 }, + { 0x416F, 60393 }, + { 0x416C, 60397 }, + { 0x416A, 60401 }, + { 0x416B, 60405 }, + { 0x4165, 60409 }, + { 0x4167, 60413 }, + { 0x416E, 60417 }, + { 0x4163, 60421 }, + { 0x4172, 60425 }, + { 0x4169, 60429 }, + { 0x4156, 60433 }, + { 0x4155, 60438 }, + { 0x4154, 60443 }, + { 0x4158, 60448 }, + { 0x4157, 60453 }, + { 0x4159, 60458 }, + { 0x4170, 60463 }, + { 0x4174, 60467 }, + { 0x415C, 60471 }, + { 0x415B, 60476 }, + { 0x415A, 60481 }, + { 0x415E, 60486 }, + { 0x415D, 60491 }, + { 0x415F, 60496 }, + { 0x413C, 60501 }, + { 0x4138, 60505 }, + { 0x4145, 60509 }, + { 0x414E, 60513 }, + { 0x414F, 60517 }, + { 0x4150, 60521 }, + { 0x414D, 60525 }, + { 0x4149, 60529 }, + { 0x4153, 60533 }, + { 0x4152, 60537 }, + { 0x4139, 60541 }, + { 0x413A, 60545 }, + { 0x413E, 60549 }, + { 0x4140, 60553 }, + { 0x4151, 60557 }, + { 0x414B, 60561 }, + { 0x4147, 60565 }, + { 0x4144, 60569 }, + { 0x4142, 60573 }, + { 0x4143, 60577 }, + { 0x413D, 60581 }, + { 0x413F, 60585 }, + { 0x4146, 60589 }, + { 0x413B, 60593 }, + { 0x414A, 60597 }, + { 0x4141, 60601 }, + { 0x412E, 60605 }, + { 0x412D, 60610 }, + { 0x412C, 60615 }, + { 0x4130, 60620 }, + { 0x412F, 60625 }, + { 0x4131, 60630 }, + { 0x4148, 60635 }, + { 0x414C, 60639 }, + { 0x4134, 60643 }, + { 0x4133, 60648 }, + { 0x4132, 60653 }, + { 0x4136, 60658 }, + { 0x4135, 60663 }, + { 0x4137, 60668 }, + { 0x6F0F, 60673 }, + { 0x6EE0, 60675 }, + { 0x2672, 60677 }, + { 0x2670, 60682 }, + { 0x2671, 60687 }, + { 0x2673, 60692 }, + { 0x6DDB, 60697 }, + { 0x70B2, 60703 }, + { 0x1E4D, 60705 }, + { 0x22DA, 60707 }, + { 0x22DF, 60712 }, + { 0x22DB, 60717 }, + { 0x22DE, 60722 }, + { 0x22DD, 60727 }, + { 0x22E2, 60732 }, + { 0x6B4D, 60737 }, + { 0x22E1, 60742 }, + { 0x22E0, 60747 }, + { 0x22DC, 60752 }, + { 0x22E3, 60757 }, + { 0x22D0, 60762 }, + { 0x22D5, 60767 }, + { 0x22D1, 60772 }, + { 0x22D4, 60777 }, + { 0x22D3, 60782 }, + { 0x22D8, 60787 }, + { 0x22D7, 60792 }, + { 0x22D6, 60797 }, + { 0x22D2, 60802 }, + { 0x22D9, 60807 }, + { 0x22E4, 60812 }, + { 0x22E9, 60818 }, + { 0x22E5, 60824 }, + { 0x22E8, 60830 }, + { 0x22E7, 60836 }, + { 0x22EC, 60842 }, + { 0x6B4E, 60848 }, + { 0x22EB, 60854 }, + { 0x22EA, 60860 }, + { 0x22E6, 60866 }, + { 0x22ED, 60872 }, + { 0x1DAC, 60878 }, + { 0x2208, 60879 }, + { 0x6D67, 60881 }, + { 0x21FD, 60882 }, + { 0x21FC, 60885 }, + { 0x1C5C, 60888 }, + { 0x6DE2, 60890 }, + { 0x421C, 60891 }, + { 0x4224, 60894 }, + { 0x4229, 60897 }, + { 0x4232, 60900 }, + { 0x423B, 60903 }, + { 0x423E, 60906 }, + { 0x421D, 60909 }, + { 0x421E, 60912 }, + { 0x4220, 60915 }, + { 0x4223, 60918 }, + { 0x4225, 60921 }, + { 0x4226, 60924 }, + { 0x4228, 60927 }, + { 0x422A, 60930 }, + { 0x422B, 60933 }, + { 0x422C, 60936 }, + { 0x422E, 60939 }, + { 0x4230, 60942 }, + { 0x422F, 60945 }, + { 0x4233, 60948 }, + { 0x4234, 60951 }, + { 0x4235, 60954 }, + { 0x4237, 60957 }, + { 0x4239, 60960 }, + { 0x423C, 60963 }, + { 0x423D, 60966 }, + { 0x423F, 60969 }, + { 0x421F, 60972 }, + { 0x4222, 60975 }, + { 0x4241, 60978 }, + { 0x4227, 60981 }, + { 0x4243, 60984 }, + { 0x422D, 60987 }, + { 0x4221, 60990 }, + { 0x4231, 60993 }, + { 0x4236, 60996 }, + { 0x4238, 60999 }, + { 0x423A, 61002 }, + { 0x4240, 61005 }, + { 0x4242, 61008 }, + { 0x1D91, 61011 }, + { 0x1E7E, 61013 }, + { 0x1E82, 61018 }, + { 0x1E7B, 61024 }, + { 0x1E7F, 61030 }, + { 0x1E81, 61034 }, + { 0x1E7C, 61038 }, + { 0x232C, 61048 }, + { 0x2633, 61052 }, + { 0x6D28, 61056 }, + { 0x2238, 61057 }, + { 0x2489, 61065 }, + { 0x2486, 61071 }, + { 0x6F63, 61076 }, + { 0x2123, 61078 }, + { 0x6CDE, 61079 }, + { 0x6F6E, 61083 }, + { 0x2636, 61085 }, + { 0x220B, 61086 }, + { 0x6C5A, 61088 }, + { 0x71CB, 61090 }, + { 0x49EB, 61091 }, + { 0x49EA, 61095 }, + { 0x49DC, 61097 }, + { 0x49EC, 61100 }, + { 0x49E9, 61103 }, + { 0x49AD, 61106 }, + { 0x49AC, 61109 }, + { 0x49DD, 61112 }, + { 0x49AA, 61115 }, + { 0x49AB, 61120 }, + { 0x49DF, 61123 }, + { 0x49E1, 61127 }, + { 0x49DE, 61131 }, + { 0x49E6, 61135 }, + { 0x49E8, 61139 }, + { 0x49E5, 61143 }, + { 0x49E0, 61147 }, + { 0x49E7, 61151 }, + { 0x49E2, 61155 }, + { 0x49F1, 61159 }, + { 0x49E3, 61164 }, + { 0x49F2, 61169 }, + { 0x49E4, 61174 }, + { 0x49AE, 61179 }, + { 0x49B0, 61182 }, + { 0x49B2, 61185 }, + { 0x49AF, 61188 }, + { 0x49B7, 61191 }, + { 0x49B9, 61194 }, + { 0x49D0, 61197 }, + { 0x49BF, 61200 }, + { 0x49CB, 61203 }, + { 0x49B6, 61206 }, + { 0x49BC, 61209 }, + { 0x49DB, 61212 }, + { 0x49B1, 61215 }, + { 0x49C1, 61218 }, + { 0x49BA, 61221 }, + { 0x49D5, 61224 }, + { 0x49D2, 61227 }, + { 0x49CD, 61230 }, + { 0x49B8, 61233 }, + { 0x49CE, 61236 }, + { 0x49D4, 61239 }, + { 0x49DA, 61242 }, + { 0x49C9, 61245 }, + { 0x49B3, 61248 }, + { 0x49D7, 61251 }, + { 0x49D3, 61254 }, + { 0x49D1, 61257 }, + { 0x49C0, 61260 }, + { 0x49C6, 61263 }, + { 0x49CC, 61266 }, + { 0x49BD, 61269 }, + { 0x49C2, 61272 }, + { 0x49BB, 61275 }, + { 0x49D6, 61278 }, + { 0x49BE, 61281 }, + { 0x49C8, 61284 }, + { 0x49C3, 61287 }, + { 0x49CF, 61290 }, + { 0x49D8, 61293 }, + { 0x49D9, 61296 }, + { 0x49CA, 61299 }, + { 0x49C4, 61302 }, + { 0x49C7, 61305 }, + { 0x49C5, 61308 }, + { 0x49EE, 61311 }, + { 0x49ED, 61316 }, + { 0x49B5, 61320 }, + { 0x49B4, 61324 }, + { 0x49F0, 61328 }, + { 0x49EF, 61332 }, + { 0x6DD2, 61336 }, + { 0x1C5F, 61338 }, + { 0x6DC2, 61340 }, + { 0x6D74, 61341 }, + { 0x6D97, 61343 }, + { 0x1428, 61344 }, + { 0x1426, 61347 }, + { 0x1427, 61351 }, + { 0x1414, 61355 }, + { 0x1415, 61358 }, + { 0x1416, 61361 }, + { 0x141E, 61364 }, + { 0x141B, 61367 }, + { 0x1418, 61370 }, + { 0x1425, 61373 }, + { 0x1417, 61376 }, + { 0x1422, 61379 }, + { 0x141F, 61382 }, + { 0x141C, 61385 }, + { 0x141D, 61388 }, + { 0x1421, 61391 }, + { 0x1424, 61394 }, + { 0x141A, 61397 }, + { 0x1423, 61400 }, + { 0x1420, 61403 }, + { 0x1419, 61406 }, + { 0x1C61, 61409 }, + { 0x7186, 61411 }, + { 0x6DEA, 61413 }, + { 0x1C1F, 61416 }, + { 0x1C1D, 61420 }, + { 0x2133, 61423 }, + { 0x2132, 61426 }, + { 0x6D29, 61428 }, + { 0x219D, 61430 }, + { 0x0AEB, 61431 }, + { 0x0ADA, 61435 }, + { 0x0AE9, 61438 }, + { 0x0AA5, 61441 }, + { 0x0AA8, 61445 }, + { 0x0AA7, 61448 }, + { 0x0ADB, 61451 }, + { 0x0AA6, 61454 }, + { 0x0AFB, 61457 }, + { 0x0AFC, 61460 }, + { 0x0AF2, 61463 }, + { 0x0AF7, 61466 }, + { 0x0AF3, 61469 }, + { 0x0AF6, 61472 }, + { 0x0AF5, 61475 }, + { 0x0AFA, 61478 }, + { 0x0AF1, 61481 }, + { 0x0AF9, 61484 }, + { 0x0AF8, 61487 }, + { 0x0AF4, 61490 }, + { 0x0AE3, 61493 }, + { 0x0ADD, 61497 }, + { 0x0AE6, 61501 }, + { 0x0ADF, 61505 }, + { 0x0ADC, 61509 }, + { 0x0AE5, 61513 }, + { 0x0AE8, 61517 }, + { 0x0AE4, 61521 }, + { 0x0ADE, 61525 }, + { 0x0AE7, 61529 }, + { 0x0AE0, 61533 }, + { 0x0AEF, 61537 }, + { 0x0AE1, 61542 }, + { 0x0AF0, 61547 }, + { 0x0AE2, 61552 }, + { 0x0AEA, 61557 }, + { 0x0AA9, 61560 }, + { 0x0AB1, 61563 }, + { 0x0AAB, 61566 }, + { 0x0AB4, 61569 }, + { 0x0AAD, 61572 }, + { 0x0AAA, 61575 }, + { 0x0AB3, 61578 }, + { 0x0AB6, 61581 }, + { 0x0ACD, 61584 }, + { 0x0ABC, 61587 }, + { 0x0AC8, 61590 }, + { 0x0AB2, 61593 }, + { 0x0AEC, 61596 }, + { 0x0AB9, 61599 }, + { 0x0AD9, 61602 }, + { 0x0AAC, 61605 }, + { 0x0ABE, 61608 }, + { 0x0AB7, 61611 }, + { 0x0AD3, 61614 }, + { 0x0ACF, 61617 }, + { 0x0ACA, 61620 }, + { 0x0AB5, 61623 }, + { 0x0ACB, 61626 }, + { 0x0AD1, 61629 }, + { 0x0AD8, 61632 }, + { 0x0AC6, 61635 }, + { 0x0AAE, 61638 }, + { 0x0AD5, 61641 }, + { 0x0AD0, 61644 }, + { 0x0ACE, 61647 }, + { 0x0ABD, 61650 }, + { 0x0AC3, 61653 }, + { 0x0AC9, 61656 }, + { 0x0ABA, 61659 }, + { 0x0ABF, 61662 }, + { 0x0AB8, 61665 }, + { 0x0AD4, 61668 }, + { 0x0ABB, 61671 }, + { 0x0AC5, 61674 }, + { 0x0AC0, 61677 }, + { 0x0ACC, 61680 }, + { 0x0AD2, 61683 }, + { 0x0AD6, 61686 }, + { 0x0AD7, 61689 }, + { 0x0AC7, 61692 }, + { 0x0AC1, 61695 }, + { 0x0AC4, 61698 }, + { 0x0AEC, 61701 }, + { 0x0AC2, 61704 }, + { 0x0AB0, 61707 }, + { 0x0AAF, 61711 }, + { 0x0AEE, 61715 }, + { 0x0AED, 61719 }, + { 0x6F78, 61723 }, + { 0x6F52, 61729 }, + { 0x6F55, 61731 }, + { 0x6F54, 61736 }, + { 0x6D41, 61741 }, + { 0x2D3E, 61742 }, + { 0x1DB1, 61745 }, + { 0x25AC, 61747 }, + { 0x25BC, 61752 }, + { 0x25BD, 61757 }, + { 0x25B5, 61762 }, + { 0x25B7, 61767 }, + { 0x25B3, 61772 }, + { 0x1DB0, 61777 }, + { 0x25AB, 61779 }, + { 0x25B8, 61784 }, + { 0x25BA, 61789 }, + { 0x25B4, 61794 }, + { 0x25B9, 61799 }, + { 0x25B6, 61803 }, + { 0x2124, 61808 }, + { 0x233A, 61809 }, + { 0x6A70, 61814 }, + { 0x6A79, 61819 }, + { 0x6A67, 61824 }, + { 0x6A64, 61829 }, + { 0x6A75, 61833 }, + { 0x6A7E, 61838 }, + { 0x6A6C, 61843 }, + { 0x6A71, 61848 }, + { 0x6A7A, 61853 }, + { 0x6A68, 61858 }, + { 0x6A8B, 61863 }, + { 0x6A60, 61866 }, + { 0x6A74, 61870 }, + { 0x6A7D, 61875 }, + { 0x6A6B, 61880 }, + { 0x6A73, 61885 }, + { 0x6A7C, 61890 }, + { 0x6A6A, 61895 }, + { 0x6A78, 61900 }, + { 0x6A81, 61905 }, + { 0x6A6F, 61910 }, + { 0x6A82, 61915 }, + { 0x6A62, 61918 }, + { 0x6A77, 61922 }, + { 0x6A80, 61927 }, + { 0x6A6E, 61932 }, + { 0x6A65, 61937 }, + { 0x6A8A, 61941 }, + { 0x6A63, 61944 }, + { 0x6A76, 61948 }, + { 0x6A7F, 61953 }, + { 0x6A6D, 61958 }, + { 0x6A61, 61963 }, + { 0x6A72, 61967 }, + { 0x6A7B, 61972 }, + { 0x6A69, 61977 }, + { 0x6A66, 61982 }, + { 0x6A88, 61986 }, + { 0x6A84, 61989 }, + { 0x6A83, 61992 }, + { 0x6A86, 61995 }, + { 0x6A87, 61998 }, + { 0x6A89, 62001 }, + { 0x6A85, 62004 }, + { 0x227A, 62007 }, + { 0x07BD, 62009 }, + { 0x07BF, 62012 }, + { 0x07BE, 62015 }, + { 0x07C0, 62018 }, + { 0x07C6, 62021 }, + { 0x07C7, 62024 }, + { 0x07C8, 62027 }, + { 0x07C9, 62030 }, + { 0x07CC, 62033 }, + { 0x07CE, 62036 }, + { 0x07CF, 62039 }, + { 0x07CA, 62042 }, + { 0x07D1, 62045 }, + { 0x07C2, 62048 }, + { 0x07CB, 62051 }, + { 0x07C3, 62054 }, + { 0x07D4, 62057 }, + { 0x07D0, 62060 }, + { 0x07CD, 62063 }, + { 0x07C4, 62066 }, + { 0x07D3, 62069 }, + { 0x07C5, 62072 }, + { 0x07BC, 62075 }, + { 0x07C1, 62078 }, + { 0x07D2, 62081 }, + { 0x07D7, 62084 }, + { 0x07D5, 62087 }, + { 0x07D8, 62090 }, + { 0x07D6, 62092 }, + { 0x4CCE, 62095 }, + { 0x4CCF, 62098 }, + { 0x4D10, 62101 }, + { 0x4D11, 62104 }, + { 0x4D0E, 62107 }, + { 0x4D0C, 62111 }, + { 0x4D0F, 62115 }, + { 0x4D0D, 62119 }, + { 0x4D0B, 62123 }, + { 0x4CED, 62127 }, + { 0x4CE6, 62130 }, + { 0x4CDE, 62133 }, + { 0x4CD4, 62136 }, + { 0x4CDA, 62139 }, + { 0x4CD2, 62142 }, + { 0x4CEC, 62145 }, + { 0x4CD6, 62148 }, + { 0x4CD0, 62151 }, + { 0x4CE9, 62154 }, + { 0x4CDF, 62157 }, + { 0x4CDB, 62160 }, + { 0x4CDC, 62163 }, + { 0x4CE8, 62166 }, + { 0x4CEB, 62169 }, + { 0x4CD8, 62172 }, + { 0x4CE3, 62175 }, + { 0x4CE7, 62178 }, + { 0x4CE5, 62181 }, + { 0x4CD5, 62184 }, + { 0x4CE2, 62187 }, + { 0x4CD1, 62190 }, + { 0x4CD3, 62193 }, + { 0x4CD7, 62196 }, + { 0x4CDD, 62199 }, + { 0x4CEA, 62202 }, + { 0x4CD9, 62205 }, + { 0x4CE0, 62208 }, + { 0x4CE4, 62211 }, + { 0x4CE1, 62214 }, + { 0x4D0A, 62217 }, + { 0x4CFC, 62221 }, + { 0x4CF2, 62225 }, + { 0x4CF8, 62229 }, + { 0x4CF0, 62233 }, + { 0x4D09, 62237 }, + { 0x4CF4, 62241 }, + { 0x4CEE, 62245 }, + { 0x4D06, 62249 }, + { 0x4CFD, 62253 }, + { 0x4CF9, 62257 }, + { 0x4CFA, 62261 }, + { 0x4D05, 62265 }, + { 0x4D08, 62269 }, + { 0x4CF6, 62273 }, + { 0x4D01, 62277 }, + { 0x4D04, 62281 }, + { 0x4D03, 62285 }, + { 0x4CF3, 62289 }, + { 0x4D00, 62293 }, + { 0x4CEF, 62297 }, + { 0x4CF1, 62301 }, + { 0x4CF5, 62305 }, + { 0x4CFB, 62309 }, + { 0x4D07, 62313 }, + { 0x4CF7, 62317 }, + { 0x4CFE, 62321 }, + { 0x4D02, 62325 }, + { 0x4CFF, 62329 }, + { 0x71AE, 62333 }, + { 0x6E89, 62336 }, + { 0x2199, 62340 }, + { 0x1E78, 62341 }, + { 0x6FCB, 62344 }, + { 0x493F, 62345 }, + { 0x4942, 62348 }, + { 0x4940, 62351 }, + { 0x4941, 62354 }, + { 0x4959, 62357 }, + { 0x4947, 62360 }, + { 0x4954, 62363 }, + { 0x4945, 62366 }, + { 0x4961, 62369 }, + { 0x4949, 62372 }, + { 0x4943, 62375 }, + { 0x495E, 62378 }, + { 0x495B, 62381 }, + { 0x4956, 62384 }, + { 0x4957, 62387 }, + { 0x495D, 62390 }, + { 0x4960, 62393 }, + { 0x4952, 62396 }, + { 0x495F, 62399 }, + { 0x495C, 62402 }, + { 0x495A, 62405 }, + { 0x4948, 62408 }, + { 0x494E, 62411 }, + { 0x4955, 62414 }, + { 0x4946, 62417 }, + { 0x494A, 62420 }, + { 0x4944, 62423 }, + { 0x4951, 62426 }, + { 0x494B, 62429 }, + { 0x4958, 62432 }, + { 0x4963, 62435 }, + { 0x4962, 62438 }, + { 0x4953, 62441 }, + { 0x494C, 62444 }, + { 0x494F, 62447 }, + { 0x4950, 62450 }, + { 0x494D, 62453 }, + { 0x4964, 62456 }, + { 0x6CF0, 62459 }, + { 0x6CF7, 62461 }, + { 0x6086, 62463 }, + { 0x6087, 62467 }, + { 0x6088, 62471 }, + { 0x6089, 62477 }, + { 0x6083, 62483 }, + { 0x6084, 62487 }, + { 0x6085, 62493 }, + { 0x60A6, 62499 }, + { 0x60F1, 62503 }, + { 0x606F, 62506 }, + { 0x60F9, 62510 }, + { 0x6098, 62513 }, + { 0x606E, 62517 }, + { 0x610B, 62521 }, + { 0x60D9, 62526 }, + { 0x60D7, 62530 }, + { 0x60DB, 62534 }, + { 0x60DD, 62538 }, + { 0x60C7, 62542 }, + { 0x60A5, 62548 }, + { 0x6140, 62554 }, + { 0x6071, 62558 }, + { 0x6117, 62561 }, + { 0x6118, 62564 }, + { 0x608A, 62568 }, + { 0x608B, 62572 }, + { 0x608F, 62576 }, + { 0x6090, 62580 }, + { 0x6123, 62584 }, + { 0x6122, 62588 }, + { 0x60C1, 62592 }, + { 0x609F, 62596 }, + { 0x6113, 62600 }, + { 0x606B, 62605 }, + { 0x60B6, 62610 }, + { 0x60B5, 62615 }, + { 0x60BC, 62620 }, + { 0x60A7, 62624 }, + { 0x60FA, 62628 }, + { 0x60FD, 62631 }, + { 0x60FC, 62635 }, + { 0x60BA, 62639 }, + { 0x6116, 62643 }, + { 0x60D8, 62647 }, + { 0x60D6, 62651 }, + { 0x60DA, 62655 }, + { 0x60DC, 62659 }, + { 0x6079, 62663 }, + { 0x60BF, 62666 }, + { 0x6132, 62669 }, + { 0x6067, 62672 }, + { 0x60F4, 62676 }, + { 0x60F8, 62679 }, + { 0x60F7, 62685 }, + { 0x611A, 62690 }, + { 0x6124, 62693 }, + { 0x6125, 62698 }, + { 0x60F3, 62703 }, + { 0x609D, 62706 }, + { 0x6112, 62710 }, + { 0x6111, 62715 }, + { 0x60F2, 62719 }, + { 0x606C, 62722 }, + { 0x6070, 62727 }, + { 0x6093, 62730 }, + { 0x6094, 62734 }, + { 0x606A, 62738 }, + { 0x6136, 62742 }, + { 0x60C0, 62745 }, + { 0x609E, 62749 }, + { 0x6077, 62753 }, + { 0x611B, 62757 }, + { 0x6126, 62760 }, + { 0x60A8, 62764 }, + { 0x6138, 62769 }, + { 0x6097, 62772 }, + { 0x6069, 62776 }, + { 0x610C, 62780 }, + { 0x608E, 62784 }, + { 0x608D, 62788 }, + { 0x6066, 62792 }, + { 0x60C3, 62796 }, + { 0x60A1, 62800 }, + { 0x6141, 62804 }, + { 0x6142, 62809 }, + { 0x614B, 62815 }, + { 0x6146, 62820 }, + { 0x6143, 62825 }, + { 0x6145, 62830 }, + { 0x614A, 62835 }, + { 0x6149, 62842 }, + { 0x6148, 62849 }, + { 0x6147, 62856 }, + { 0x6144, 62863 }, + { 0x6119, 62868 }, + { 0x611E, 62871 }, + { 0x6128, 62874 }, + { 0x611F, 62878 }, + { 0x6099, 62882 }, + { 0x609A, 62886 }, + { 0x606D, 62890 }, + { 0x6065, 62894 }, + { 0x6135, 62898 }, + { 0x60AA, 62902 }, + { 0x60A9, 62907 }, + { 0x60F0, 62912 }, + { 0x612A, 62915 }, + { 0x612C, 62922 }, + { 0x612B, 62930 }, + { 0x612D, 62937 }, + { 0x612E, 62944 }, + { 0x612F, 62951 }, + { 0x6130, 62959 }, + { 0x6131, 62967 }, + { 0x607A, 62975 }, + { 0x6078, 62978 }, + { 0x60BE, 62981 }, + { 0x60BD, 62986 }, + { 0x6075, 62991 }, + { 0x6076, 62994 }, + { 0x6091, 62998 }, + { 0x6092, 63002 }, + { 0x6137, 63006 }, + { 0x60C2, 63009 }, + { 0x60A0, 63013 }, + { 0x6096, 63017 }, + { 0x6095, 63022 }, + { 0x6068, 63027 }, + { 0x613A, 63032 }, + { 0x60CD, 63035 }, + { 0x60CE, 63039 }, + { 0x60CF, 63043 }, + { 0x60FB, 63047 }, + { 0x608C, 63051 }, + { 0x60BB, 63056 }, + { 0x607B, 63060 }, + { 0x60FE, 63064 }, + { 0x60FF, 63068 }, + { 0x6100, 63072 }, + { 0x6101, 63076 }, + { 0x6102, 63080 }, + { 0x6103, 63084 }, + { 0x6104, 63088 }, + { 0x6105, 63092 }, + { 0x6106, 63096 }, + { 0x6107, 63100 }, + { 0x6108, 63104 }, + { 0x6072, 63108 }, + { 0x6073, 63112 }, + { 0x6074, 63116 }, + { 0x6080, 63120 }, + { 0x613B, 63124 }, + { 0x613F, 63127 }, + { 0x60AC, 63131 }, + { 0x60B4, 63137 }, + { 0x60B3, 63144 }, + { 0x60AB, 63151 }, + { 0x60B2, 63157 }, + { 0x60B1, 63163 }, + { 0x60AE, 63169 }, + { 0x60AD, 63175 }, + { 0x60B0, 63181 }, + { 0x60AF, 63187 }, + { 0x607C, 63193 }, + { 0x610E, 63197 }, + { 0x60E9, 63202 }, + { 0x60EC, 63206 }, + { 0x60E8, 63210 }, + { 0x610D, 63214 }, + { 0x60EA, 63219 }, + { 0x6110, 63223 }, + { 0x60C8, 63228 }, + { 0x60E5, 63232 }, + { 0x60EB, 63236 }, + { 0x60DE, 63240 }, + { 0x60ED, 63244 }, + { 0x60D1, 63249 }, + { 0x60D2, 63253 }, + { 0x60D3, 63257 }, + { 0x60D4, 63261 }, + { 0x60D5, 63265 }, + { 0x60E0, 63269 }, + { 0x60EE, 63273 }, + { 0x60E2, 63278 }, + { 0x610F, 63282 }, + { 0x60DF, 63286 }, + { 0x60CA, 63290 }, + { 0x60CB, 63294 }, + { 0x60CC, 63298 }, + { 0x60D0, 63302 }, + { 0x60C9, 63307 }, + { 0x60E1, 63312 }, + { 0x60E4, 63316 }, + { 0x60E3, 63320 }, + { 0x60F5, 63324 }, + { 0x607F, 63327 }, + { 0x607E, 63331 }, + { 0x6114, 63335 }, + { 0x6115, 63339 }, + { 0x6133, 63343 }, + { 0x6134, 63348 }, + { 0x613C, 63353 }, + { 0x613D, 63356 }, + { 0x6139, 63360 }, + { 0x613E, 63363 }, + { 0x60C4, 63367 }, + { 0x60A2, 63371 }, + { 0x60E6, 63375 }, + { 0x60E7, 63379 }, + { 0x6127, 63383 }, + { 0x611D, 63387 }, + { 0x611C, 63391 }, + { 0x6129, 63395 }, + { 0x6121, 63399 }, + { 0x6120, 63403 }, + { 0x6081, 63407 }, + { 0x607D, 63411 }, + { 0x60F6, 63415 }, + { 0x6082, 63418 }, + { 0x6109, 63422 }, + { 0x610A, 63425 }, + { 0x60B9, 63428 }, + { 0x60EF, 63432 }, + { 0x609B, 63435 }, + { 0x609C, 63439 }, + { 0x60C6, 63443 }, + { 0x60A4, 63447 }, + { 0x60C5, 63451 }, + { 0x60A3, 63455 }, + { 0x60B8, 63459 }, + { 0x60B7, 63465 }, + { 0x6CF4, 63471 }, + { 0x6CD3, 63473 }, + { 0x3802, 63477 }, + { 0x3807, 63482 }, + { 0x3803, 63487 }, + { 0x3806, 63492 }, + { 0x3805, 63497 }, + { 0x380A, 63502 }, + { 0x3801, 63507 }, + { 0x3809, 63512 }, + { 0x3808, 63517 }, + { 0x3804, 63522 }, + { 0x0DC7, 63527 }, + { 0x0DCC, 63531 }, + { 0x0DC8, 63535 }, + { 0x0DCB, 63539 }, + { 0x0DCA, 63543 }, + { 0x0DCF, 63547 }, + { 0x0DC6, 63551 }, + { 0x0DCE, 63555 }, + { 0x0DCD, 63559 }, + { 0x0DC9, 63563 }, + { 0x0D6D, 63567 }, + { 0x387E, 63571 }, + { 0x387F, 63576 }, + { 0x3880, 63581 }, + { 0x0D70, 63586 }, + { 0x37F6, 63589 }, + { 0x0DBD, 63593 }, + { 0x0DBE, 63597 }, + { 0x0DBF, 63601 }, + { 0x0DC0, 63605 }, + { 0x0DC1, 63609 }, + { 0x0DC2, 63614 }, + { 0x0DC3, 63619 }, + { 0x0DC5, 63625 }, + { 0x0DD0, 63630 }, + { 0x0DD1, 63634 }, + { 0x0D80, 63638 }, + { 0x0D6F, 63642 }, + { 0x0D81, 63645 }, + { 0x0D6E, 63648 }, + { 0x0D9F, 63651 }, + { 0x0DA0, 63657 }, + { 0x0DA1, 63663 }, + { 0x0DA2, 63669 }, + { 0x0DA3, 63675 }, + { 0x0D6C, 63681 }, + { 0x0D9A, 63684 }, + { 0x0D99, 63691 }, + { 0x0D77, 63697 }, + { 0x0D7C, 63700 }, + { 0x0D78, 63703 }, + { 0x0D7B, 63706 }, + { 0x0D7A, 63709 }, + { 0x0D7F, 63712 }, + { 0x0D76, 63715 }, + { 0x0D7E, 63718 }, + { 0x0D7D, 63721 }, + { 0x0D79, 63724 }, + { 0x0D67, 63727 }, + { 0x0D6B, 63731 }, + { 0x0D63, 63736 }, + { 0x0D65, 63740 }, + { 0x0D62, 63744 }, + { 0x0D68, 63748 }, + { 0x0D64, 63752 }, + { 0x0D66, 63756 }, + { 0x0D6A, 63760 }, + { 0x0D69, 63765 }, + { 0x0DA7, 63770 }, + { 0x0D98, 63776 }, + { 0x0DBA, 63782 }, + { 0x0DBB, 63787 }, + { 0x0DB9, 63793 }, + { 0x0DBC, 63798 }, + { 0x0D61, 63804 }, + { 0x0DD2, 63809 }, + { 0x0DD3, 63814 }, + { 0x0DA9, 63819 }, + { 0x0DAA, 63824 }, + { 0x0DA8, 63829 }, + { 0x0D8E, 63834 }, + { 0x0D8C, 63839 }, + { 0x0D8F, 63844 }, + { 0x0D8D, 63849 }, + { 0x0D9D, 63854 }, + { 0x0D9E, 63861 }, + { 0x0D57, 63868 }, + { 0x0D5D, 63871 }, + { 0x0D59, 63874 }, + { 0x0D5F, 63877 }, + { 0x0D5B, 63880 }, + { 0x0D60, 63883 }, + { 0x0D4D, 63886 }, + { 0x0D3B, 63889 }, + { 0x0D48, 63892 }, + { 0x0D38, 63895 }, + { 0x0D55, 63898 }, + { 0x0D5A, 63901 }, + { 0x0D3D, 63904 }, + { 0x0D36, 63907 }, + { 0x0D52, 63910 }, + { 0x0D4F, 63913 }, + { 0x0D4A, 63916 }, + { 0x0D4B, 63919 }, + { 0x0D51, 63922 }, + { 0x0D54, 63925 }, + { 0x0D46, 63928 }, + { 0x0D5C, 63931 }, + { 0x0D53, 63934 }, + { 0x0D50, 63937 }, + { 0x0D4E, 63940 }, + { 0x0D3C, 63943 }, + { 0x0D43, 63946 }, + { 0x0D49, 63949 }, + { 0x0D39, 63952 }, + { 0x0D3E, 63955 }, + { 0x0D37, 63958 }, + { 0x0D56, 63961 }, + { 0x0D5E, 63964 }, + { 0x0D92, 63968 }, + { 0x0D93, 63972 }, + { 0x0D91, 63976 }, + { 0x0D90, 63980 }, + { 0x0D3A, 63984 }, + { 0x0D45, 63987 }, + { 0x0D3F, 63990 }, + { 0x0D4C, 63993 }, + { 0x0D86, 63996 }, + { 0x0D87, 63999 }, + { 0x380E, 64002 }, + { 0x380C, 64007 }, + { 0x37F9, 64012 }, + { 0x37FA, 64017 }, + { 0x37FC, 64022 }, + { 0x380F, 64027 }, + { 0x37FE, 64032 }, + { 0x380D, 64037 }, + { 0x37FB, 64042 }, + { 0x37FD, 64047 }, + { 0x380B, 64052 }, + { 0x3800, 64057 }, + { 0x37F8, 64062 }, + { 0x37FF, 64067 }, + { 0x0D47, 64072 }, + { 0x0D41, 64075 }, + { 0x0D44, 64078 }, + { 0x0D40, 64081 }, + { 0x0D97, 64084 }, + { 0x0D58, 64089 }, + { 0x0DB5, 64093 }, + { 0x0DAE, 64097 }, + { 0x0DB1, 64101 }, + { 0x0DB4, 64105 }, + { 0x0DAD, 64109 }, + { 0x0DB7, 64113 }, + { 0x0DAB, 64117 }, + { 0x0DB2, 64121 }, + { 0x0DAF, 64125 }, + { 0x37F5, 64129 }, + { 0x37F2, 64133 }, + { 0x37F1, 64137 }, + { 0x37F3, 64141 }, + { 0x0DAC, 64145 }, + { 0x37F4, 64149 }, + { 0x0DB0, 64153 }, + { 0x0DB3, 64157 }, + { 0x0DB6, 64161 }, + { 0x3881, 64165 }, + { 0x3882, 64170 }, + { 0x0D42, 64175 }, + { 0x387D, 64178 }, + { 0x0D75, 64182 }, + { 0x0DC4, 64186 }, + { 0x3864, 64191 }, + { 0x3872, 64195 }, + { 0x3863, 64199 }, + { 0x3870, 64203 }, + { 0x3866, 64207 }, + { 0x386E, 64211 }, + { 0x3876, 64215 }, + { 0x386F, 64219 }, + { 0x3874, 64223 }, + { 0x3875, 64227 }, + { 0x3865, 64231 }, + { 0x386B, 64235 }, + { 0x386D, 64239 }, + { 0x3871, 64243 }, + { 0x3867, 64247 }, + { 0x3868, 64251 }, + { 0x3869, 64255 }, + { 0x386C, 64259 }, + { 0x386A, 64263 }, + { 0x0DA4, 64267 }, + { 0x0DA5, 64273 }, + { 0x0DA6, 64279 }, + { 0x0D8A, 64285 }, + { 0x0D88, 64289 }, + { 0x0D8B, 64293 }, + { 0x0D89, 64297 }, + { 0x0D9C, 64301 }, + { 0x0D9B, 64307 }, + { 0x0DD4, 64313 }, + { 0x0DD5, 64317 }, + { 0x387B, 64321 }, + { 0x387C, 64325 }, + { 0x387A, 64329 }, + { 0x0D85, 64333 }, + { 0x0D82, 64336 }, + { 0x0D83, 64339 }, + { 0x0D84, 64342 }, + { 0x3879, 64345 }, + { 0x3878, 64349 }, + { 0x3877, 64353 }, + { 0x37F7, 64357 }, + { 0x3873, 64362 }, + { 0x0D96, 64367 }, + { 0x0D95, 64373 }, + { 0x0D94, 64379 }, + { 0x0DB8, 64385 }, + { 0x0D74, 64391 }, + { 0x0D72, 64396 }, + { 0x0D73, 64401 }, + { 0x0D71, 64406 }, + { 0x6D8F, 64411 }, + { 0x1E38, 64412 }, + { 0x1E11, 64419 }, + { 0x1E12, 64426 }, + { 0x1DF9, 64433 }, + { 0x1DFD, 64438 }, + { 0x1E01, 64443 }, + { 0x1DFA, 64447 }, + { 0x1E02, 64452 }, + { 0x1DFE, 64456 }, + { 0x1DD0, 64461 }, + { 0x21A0, 64467 }, + { 0x6F4B, 64468 }, + { 0x26EA, 64470 }, + { 0x26EB, 64472 }, + { 0x1C22, 64474 }, + { 0x3FCB, 64477 }, + { 0x6E7E, 64479 }, + { 0x2309, 64485 }, + { 0x6E7F, 64491 }, + { 0x230B, 64497 }, + { 0x2500, 64503 }, + { 0x2501, 64507 }, + { 0x6D54, 64511 }, + { 0x6DFA, 64512 }, + { 0x6EF3, 64514 }, + { 0x41CB, 64517 }, + { 0x41D0, 64520 }, + { 0x41CC, 64523 }, + { 0x41CF, 64526 }, + { 0x41CE, 64529 }, + { 0x41D3, 64532 }, + { 0x41CA, 64535 }, + { 0x41D2, 64538 }, + { 0x41D1, 64541 }, + { 0x41CD, 64544 }, + { 0x41C2, 64547 }, + { 0x41C3, 64550 }, + { 0x41C4, 64553 }, + { 0x41C5, 64556 }, + { 0x41C6, 64559 }, + { 0x41C7, 64562 }, + { 0x41AD, 64565 }, + { 0x41C8, 64568 }, + { 0x41B9, 64571 }, + { 0x41B8, 64574 }, + { 0x41C0, 64577 }, + { 0x41AF, 64580 }, + { 0x41C9, 64583 }, + { 0x41B3, 64586 }, + { 0x41B4, 64589 }, + { 0x41AE, 64592 }, + { 0x41B0, 64595 }, + { 0x41C1, 64598 }, + { 0x41B6, 64601 }, + { 0x41B1, 64604 }, + { 0x41BF, 64607 }, + { 0x41AC, 64610 }, + { 0x41B7, 64613 }, + { 0x41B2, 64616 }, + { 0x41BB, 64619 }, + { 0x41BC, 64622 }, + { 0x41BD, 64625 }, + { 0x41BE, 64628 }, + { 0x41BA, 64631 }, + { 0x41B5, 64634 }, + { 0x6F12, 64637 }, + { 0x6E21, 64638 }, + { 0x1D8B, 64639 }, + { 0x71BB, 64641 }, + { 0x6D62, 64642 }, + { 0x6F4F, 64643 }, + { 0x0005, 64645 }, + { 0x0075, 64647 }, + { 0x6B1D, 64649 }, + { 0x6AFF, 64654 }, + { 0x6AF1, 64659 }, + { 0x6B0E, 64664 }, + { 0x6B0D, 64669 }, + { 0x6B22, 64673 }, + { 0x6B04, 64678 }, + { 0x6AF6, 64683 }, + { 0x6B13, 64688 }, + { 0x6B26, 64693 }, + { 0x6B08, 64698 }, + { 0x6AFA, 64703 }, + { 0x6B17, 64708 }, + { 0x6B1E, 64713 }, + { 0x6B00, 64718 }, + { 0x6AF2, 64723 }, + { 0x6B0F, 64728 }, + { 0x6AF0, 64733 }, + { 0x6B21, 64736 }, + { 0x6B03, 64741 }, + { 0x6AF5, 64746 }, + { 0x6B12, 64751 }, + { 0x6B2C, 64756 }, + { 0x6B20, 64759 }, + { 0x6B02, 64764 }, + { 0x6AF4, 64769 }, + { 0x6B11, 64774 }, + { 0x6B27, 64779 }, + { 0x6B09, 64784 }, + { 0x6AFB, 64789 }, + { 0x6B18, 64794 }, + { 0x6B2A, 64799 }, + { 0x6B0C, 64804 }, + { 0x6AFE, 64809 }, + { 0x6B1B, 64814 }, + { 0x6B25, 64819 }, + { 0x6B07, 64824 }, + { 0x6AF9, 64829 }, + { 0x6B16, 64834 }, + { 0x6B1C, 64839 }, + { 0x6B24, 64843 }, + { 0x6B06, 64848 }, + { 0x6AF8, 64853 }, + { 0x6B15, 64858 }, + { 0x6B29, 64863 }, + { 0x6B0B, 64868 }, + { 0x6AFD, 64873 }, + { 0x6B1A, 64878 }, + { 0x6B23, 64883 }, + { 0x6B05, 64888 }, + { 0x6AF7, 64893 }, + { 0x6B14, 64898 }, + { 0x6B1F, 64903 }, + { 0x6B01, 64908 }, + { 0x6AF3, 64913 }, + { 0x6B10, 64918 }, + { 0x6B2B, 64923 }, + { 0x6B28, 64927 }, + { 0x6B0A, 64932 }, + { 0x6AFC, 64937 }, + { 0x6B19, 64942 }, + { 0x6B2D, 64947 }, + { 0x6B2E, 64950 }, + { 0x6B2F, 64953 }, + { 0x6B30, 64956 }, + { 0x6B31, 64959 }, + { 0x6B32, 64962 }, + { 0x6B33, 64965 }, + { 0x6B34, 64968 }, + { 0x6B35, 64971 }, + { 0x6B36, 64974 }, + { 0x6B37, 64977 }, + { 0x6B38, 64980 }, + { 0x6B39, 64983 }, + { 0x6B3A, 64986 }, + { 0x6B3B, 64989 }, + { 0x6B3C, 64992 }, + { 0x6B3D, 64995 }, + { 0x6B3E, 64998 }, + { 0x6B3F, 65001 }, + { 0x6B40, 65004 }, + { 0x6B41, 65007 }, + { 0x6CBA, 65010 }, + { 0x6E29, 65011 }, + { 0x6FEB, 65012 }, + { 0x6C92, 65015 }, + { 0x6F79, 65017 }, + { 0x6F5C, 65020 }, + { 0x6EE3, 65022 }, + { 0x6EF1, 65023 }, + { 0x4677, 65025 }, + { 0x4676, 65031 }, + { 0x4666, 65037 }, + { 0x4670, 65041 }, + { 0x466E, 65045 }, + { 0x4673, 65049 }, + { 0x4663, 65053 }, + { 0x4669, 65057 }, + { 0x466B, 65061 }, + { 0x4672, 65065 }, + { 0x466A, 65069 }, + { 0x4662, 65073 }, + { 0x4664, 65077 }, + { 0x4671, 65081 }, + { 0x4668, 65085 }, + { 0x4665, 65089 }, + { 0x466C, 65093 }, + { 0x466F, 65097 }, + { 0x466D, 65101 }, + { 0x4667, 65105 }, + { 0x4678, 65109 }, + { 0x467E, 65113 }, + { 0x467C, 65118 }, + { 0x4679, 65122 }, + { 0x467B, 65126 }, + { 0x467A, 65130 }, + { 0x467D, 65134 }, + { 0x4675, 65138 }, + { 0x4674, 65143 }, + { 0x6E07, 65147 }, + { 0x21C3, 65148 }, + { 0x1F40, 65150 }, + { 0x6FBE, 65153 }, + { 0x7012, 65155 }, + { 0x6C43, 65157 }, + { 0x70DE, 65158 }, + { 0x269B, 65164 }, + { 0x26A1, 65170 }, + { 0x6FBA, 65176 }, + { 0x003C, 65179 }, + { 0x2551, 65181 }, + { 0x254F, 65186 }, + { 0x2322, 65189 }, + { 0x6EA8, 65193 }, + { 0x6C9B, 65195 }, + { 0x7191, 65198 }, + { 0x6D4E, 65203 }, + { 0x6D30, 65204 }, + { 0x22BF, 65205 }, + { 0x271F, 65210 }, + { 0x2721, 65216 }, + { 0x22C1, 65221 }, + { 0x1CC7, 65225 }, + { 0x6FDE, 65228 }, + { 0x6CF8, 65229 }, + { 0x216D, 65233 }, + { 0x701F, 65234 }, + { 0x1C95, 65235 }, + { 0x0066, 65236 }, + { 0x1E9C, 65238 }, + { 0x1CAD, 65239 }, + { 0x2213, 65241 }, + { 0x71B7, 65242 }, + { 0x48D3, 65246 }, + { 0x48E7, 65248 }, + { 0x48D9, 65250 }, + { 0x48CF, 65253 }, + { 0x48E8, 65256 }, + { 0x4891, 65259 }, + { 0x4890, 65262 }, + { 0x48D0, 65265 }, + { 0x488F, 65268 }, + { 0x48D1, 65271 }, + { 0x48D2, 65274 }, + { 0x48D4, 65277 }, + { 0x48DE, 65279 }, + { 0x48E3, 65282 }, + { 0x48DF, 65285 }, + { 0x48E2, 65288 }, + { 0x48E1, 65291 }, + { 0x48E6, 65294 }, + { 0x48DD, 65297 }, + { 0x48E5, 65300 }, + { 0x48E4, 65303 }, + { 0x48E0, 65306 }, + { 0x48DB, 65309 }, + { 0x48DC, 65314 }, + { 0x48CB, 65317 }, + { 0x48C3, 65321 }, + { 0x48CD, 65325 }, + { 0x48C5, 65329 }, + { 0x48C2, 65333 }, + { 0x48CC, 65337 }, + { 0x48CE, 65341 }, + { 0x48C4, 65345 }, + { 0x48C6, 65349 }, + { 0x48C9, 65353 }, + { 0x48C7, 65358 }, + { 0x48CA, 65363 }, + { 0x48C8, 65368 }, + { 0x48DA, 65373 }, + { 0x48D5, 65377 }, + { 0x4892, 65380 }, + { 0x489C, 65383 }, + { 0x4894, 65386 }, + { 0x489E, 65389 }, + { 0x4896, 65392 }, + { 0x4893, 65395 }, + { 0x489D, 65398 }, + { 0x489F, 65401 }, + { 0x48B6, 65404 }, + { 0x48A5, 65407 }, + { 0x48B1, 65410 }, + { 0x48A2, 65413 }, + { 0x48C1, 65416 }, + { 0x4895, 65419 }, + { 0x48A7, 65422 }, + { 0x48A0, 65425 }, + { 0x48BB, 65428 }, + { 0x48B8, 65431 }, + { 0x48B3, 65434 }, + { 0x48B4, 65437 }, + { 0x48BA, 65440 }, + { 0x48C0, 65443 }, + { 0x48AF, 65446 }, + { 0x4897, 65449 }, + { 0x48BD, 65452 }, + { 0x48B9, 65455 }, + { 0x48B7, 65458 }, + { 0x48A6, 65461 }, + { 0x48AC, 65464 }, + { 0x48B2, 65467 }, + { 0x48A3, 65470 }, + { 0x48A8, 65473 }, + { 0x48A1, 65476 }, + { 0x48BC, 65479 }, + { 0x48A4, 65482 }, + { 0x48AE, 65485 }, + { 0x48A9, 65488 }, + { 0x48B5, 65491 }, + { 0x48BE, 65494 }, + { 0x48BF, 65497 }, + { 0x48B0, 65500 }, + { 0x48AA, 65503 }, + { 0x48AD, 65506 }, + { 0x48AB, 65509 }, + { 0x489A, 65512 }, + { 0x4898, 65516 }, + { 0x489B, 65520 }, + { 0x4899, 65524 }, + { 0x48D8, 65528 }, + { 0x48EB, 65531 }, + { 0x48EC, 65534 }, + { 0x48D7, 65537 }, + { 0x48E9, 65539 }, + { 0x48D6, 65541 }, + { 0x48EA, 65544 }, + { 0x4199, 65547 }, + { 0x4192, 65550 }, + { 0x4196, 65553 }, + { 0x41A5, 65556 }, + { 0x4181, 65559 }, + { 0x419F, 65562 }, + { 0x4195, 65565 }, + { 0x419D, 65568 }, + { 0x41A6, 65571 }, + { 0x41A4, 65574 }, + { 0x4194, 65577 }, + { 0x41A3, 65580 }, + { 0x4186, 65583 }, + { 0x41A9, 65586 }, + { 0x419C, 65589 }, + { 0x4193, 65592 }, + { 0x41A7, 65595 }, + { 0x417F, 65598 }, + { 0x4188, 65601 }, + { 0x41AA, 65604 }, + { 0x419E, 65607 }, + { 0x419B, 65610 }, + { 0x41A0, 65613 }, + { 0x41A2, 65616 }, + { 0x4198, 65619 }, + { 0x417D, 65622 }, + { 0x4189, 65625 }, + { 0x418E, 65628 }, + { 0x4184, 65631 }, + { 0x41AB, 65634 }, + { 0x418B, 65637 }, + { 0x4187, 65640 }, + { 0x4185, 65643 }, + { 0x417E, 65646 }, + { 0x4190, 65649 }, + { 0x4191, 65652 }, + { 0x41A1, 65655 }, + { 0x417C, 65658 }, + { 0x419A, 65661 }, + { 0x4182, 65664 }, + { 0x418A, 65667 }, + { 0x4197, 65670 }, + { 0x41A8, 65673 }, + { 0x418F, 65676 }, + { 0x418D, 65679 }, + { 0x4180, 65682 }, + { 0x4183, 65685 }, + { 0x418C, 65688 }, + { 0x253C, 65691 }, + { 0x4AF4, 65693 }, + { 0x4AEB, 65698 }, + { 0x4AEA, 65701 }, + { 0x4AEC, 65704 }, + { 0x4AE9, 65707 }, + { 0x4AE8, 65710 }, + { 0x4AE7, 65713 }, + { 0x4AED, 65716 }, + { 0x4AE3, 65718 }, + { 0x4ADD, 65722 }, + { 0x4AE5, 65726 }, + { 0x4ADF, 65730 }, + { 0x4ADC, 65734 }, + { 0x4AE4, 65738 }, + { 0x4AE6, 65742 }, + { 0x4ADE, 65746 }, + { 0x4AE0, 65750 }, + { 0x4AE1, 65754 }, + { 0x4AE2, 65759 }, + { 0x4B07, 65764 }, + { 0x4B08, 65769 }, + { 0x4AEE, 65774 }, + { 0x4AAD, 65777 }, + { 0x4AB7, 65780 }, + { 0x4AAF, 65783 }, + { 0x4AB9, 65786 }, + { 0x4AB1, 65789 }, + { 0x4AAE, 65792 }, + { 0x4AB8, 65795 }, + { 0x4ABA, 65798 }, + { 0x4AD1, 65801 }, + { 0x4AC0, 65804 }, + { 0x4ACC, 65807 }, + { 0x4ABD, 65810 }, + { 0x4ADB, 65813 }, + { 0x4AB0, 65816 }, + { 0x4AC2, 65819 }, + { 0x4ABB, 65822 }, + { 0x4AD6, 65825 }, + { 0x4AD3, 65828 }, + { 0x4ACE, 65831 }, + { 0x4ACF, 65834 }, + { 0x4AD5, 65837 }, + { 0x4ADA, 65840 }, + { 0x4ACA, 65843 }, + { 0x4AB2, 65846 }, + { 0x4AD7, 65849 }, + { 0x4AD4, 65852 }, + { 0x4AD2, 65855 }, + { 0x4AC1, 65858 }, + { 0x4AC7, 65861 }, + { 0x4ACD, 65864 }, + { 0x4ABE, 65867 }, + { 0x4AC3, 65870 }, + { 0x4ABC, 65873 }, + { 0x4ABF, 65876 }, + { 0x4AC9, 65879 }, + { 0x4AC4, 65882 }, + { 0x4AD0, 65885 }, + { 0x4AD8, 65888 }, + { 0x4AD9, 65891 }, + { 0x4ACB, 65894 }, + { 0x4AC5, 65897 }, + { 0x4AC8, 65900 }, + { 0x4AC6, 65903 }, + { 0x4AB5, 65906 }, + { 0x4AB3, 65910 }, + { 0x4AB6, 65914 }, + { 0x4AB4, 65918 }, + { 0x4B06, 65922 }, + { 0x4B04, 65926 }, + { 0x4B05, 65931 }, + { 0x4B03, 65936 }, + { 0x4AF8, 65941 }, + { 0x4AF9, 65950 }, + { 0x4AF7, 65959 }, + { 0x4AFC, 65967 }, + { 0x4AFD, 65973 }, + { 0x4B01, 65979 }, + { 0x4B02, 65987 }, + { 0x4B00, 65995 }, + { 0x4AF6, 66002 }, + { 0x4AF5, 66010 }, + { 0x4AFF, 66018 }, + { 0x4AFE, 66024 }, + { 0x4AFA, 66030 }, + { 0x4AFB, 66035 }, + { 0x4AF0, 66042 }, + { 0x4AEF, 66045 }, + { 0x4AF1, 66048 }, + { 0x4AF2, 66051 }, + { 0x4AF3, 66054 }, + { 0x25F7, 66057 }, + { 0x25F8, 66060 }, + { 0x25F9, 66063 }, + { 0x25FA, 66069 }, + { 0x25C6, 66075 }, + { 0x0BBD, 66078 }, + { 0x0BC2, 66082 }, + { 0x0BBE, 66086 }, + { 0x0BC1, 66090 }, + { 0x0BC0, 66094 }, + { 0x0BC5, 66098 }, + { 0x0BBC, 66102 }, + { 0x0BC4, 66106 }, + { 0x0BC3, 66110 }, + { 0x0BBF, 66114 }, + { 0x0BAC, 66118 }, + { 0x0B70, 66121 }, + { 0x0B6F, 66124 }, + { 0x0BB6, 66127 }, + { 0x0BB1, 66132 }, + { 0x0BB3, 66137 }, + { 0x0BAF, 66142 }, + { 0x0BC7, 66147 }, + { 0x0BC6, 66152 }, + { 0x0BB0, 66157 }, + { 0x0BB2, 66162 }, + { 0x0BAE, 66167 }, + { 0x0BB7, 66172 }, + { 0x0BB5, 66177 }, + { 0x0BB9, 66181 }, + { 0x0BB8, 66188 }, + { 0x0BBA, 66194 }, + { 0x0BAD, 66200 }, + { 0x0BBB, 66204 }, + { 0x0BB4, 66208 }, + { 0x0BA1, 66212 }, + { 0x0B71, 66216 }, + { 0x0B7D, 66219 }, + { 0x0B75, 66222 }, + { 0x0B80, 66225 }, + { 0x0B77, 66228 }, + { 0x0B72, 66231 }, + { 0x0B73, 66234 }, + { 0x0B7F, 66237 }, + { 0x0B82, 66240 }, + { 0x0BA4, 66243 }, + { 0x0B9A, 66247 }, + { 0x0BA8, 66251 }, + { 0x0B7E, 66255 }, + { 0x0BAB, 66258 }, + { 0x0BA9, 66261 }, + { 0x0B76, 66264 }, + { 0x0B87, 66267 }, + { 0x0BA0, 66271 }, + { 0x0B81, 66274 }, + { 0x0BA3, 66277 }, + { 0x0B9B, 66280 }, + { 0x0B88, 66284 }, + { 0x0B8F, 66288 }, + { 0x0B95, 66292 }, + { 0x0BA6, 66296 }, + { 0x0B8E, 66300 }, + { 0x0B8D, 66305 }, + { 0x0B78, 66309 }, + { 0x0BA5, 66312 }, + { 0x0BA2, 66315 }, + { 0x0B74, 66318 }, + { 0x0B7B, 66321 }, + { 0x0B79, 66324 }, + { 0x0B7C, 66327 }, + { 0x0B7A, 66330 }, + { 0x0BAA, 66333 }, + { 0x0B94, 66337 }, + { 0x0BA7, 66341 }, + { 0x0B9E, 66345 }, + { 0x0B89, 66349 }, + { 0x0B98, 66353 }, + { 0x0B85, 66357 }, + { 0x0B8B, 66361 }, + { 0x0B83, 66365 }, + { 0x0B9C, 66369 }, + { 0x0B96, 66373 }, + { 0x0B92, 66377 }, + { 0x0B90, 66381 }, + { 0x0B9F, 66385 }, + { 0x0B8A, 66389 }, + { 0x0B99, 66393 }, + { 0x0B86, 66397 }, + { 0x0B8C, 66401 }, + { 0x0B84, 66405 }, + { 0x0B9D, 66409 }, + { 0x0B97, 66413 }, + { 0x0B93, 66417 }, + { 0x0B91, 66421 }, + { 0x48ED, 66425 }, + { 0x48F2, 66429 }, + { 0x48EE, 66433 }, + { 0x48F1, 66437 }, + { 0x48F0, 66441 }, + { 0x48F5, 66445 }, + { 0x48F4, 66449 }, + { 0x48F3, 66453 }, + { 0x48EF, 66457 }, + { 0x48FF, 66461 }, + { 0x4900, 66466 }, + { 0x48F6, 66471 }, + { 0x48FA, 66475 }, + { 0x48F9, 66479 }, + { 0x48FB, 66483 }, + { 0x48FD, 66487 }, + { 0x48FE, 66491 }, + { 0x48F8, 66495 }, + { 0x48F7, 66499 }, + { 0x48FC, 66503 }, + { 0x0BC8, 66507 }, + { 0x2294, 66510 }, + { 0x25EF, 66513 }, + { 0x25F1, 66518 }, + { 0x25F0, 66526 }, + { 0x25F2, 66531 }, + { 0x26B4, 66539 }, + { 0x26B6, 66545 }, + { 0x25B1, 66551 }, + { 0x25B2, 66554 }, + { 0x2604, 66557 }, + { 0x2606, 66559 }, + { 0x6F75, 66564 }, + { 0x6F76, 66570 }, + { 0x6F42, 66576 }, + { 0x6F3E, 66580 }, + { 0x6F40, 66585 }, + { 0x6F3F, 66593 }, + { 0x6F41, 66601 }, + { 0x6F43, 66609 }, + { 0x6F45, 66613 }, + { 0x6F49, 66618 }, + { 0x6F48, 66622 }, + { 0x6FE7, 66627 }, + { 0x215D, 66629 }, + { 0x221E, 66630 }, + { 0x000F, 66633 }, + { 0x2550, 66634 }, + { 0x22A1, 66637 }, + { 0x6E43, 66638 }, + { 0x6E44, 66639 }, + { 0x6E45, 66644 }, + { 0x6E42, 66649 }, + { 0x6BCB, 66653 }, + { 0x6BE0, 66655 }, + { 0x6B88, 66657 }, + { 0x6BCE, 66659 }, + { 0x6B89, 66661 }, + { 0x6BD0, 66663 }, + { 0x6BD1, 66665 }, + { 0x6B8A, 66667 }, + { 0x6B8B, 66669 }, + { 0x6BD3, 66671 }, + { 0x6BD4, 66676 }, + { 0x6B8D, 66678 }, + { 0x6C1D, 66680 }, + { 0x6C1E, 66684 }, + { 0x6C21, 66688 }, + { 0x6C08, 66692 }, + { 0x6C0C, 66696 }, + { 0x6C12, 66700 }, + { 0x6C14, 66704 }, + { 0x6C10, 66708 }, + { 0x6C2D, 66712 }, + { 0x6C06, 66716 }, + { 0x6C22, 66720 }, + { 0x6C28, 66724 }, + { 0x6C19, 66728 }, + { 0x6C2E, 66732 }, + { 0x6C18, 66736 }, + { 0x6C09, 66740 }, + { 0x6C0B, 66744 }, + { 0x6C05, 66748 }, + { 0x6C20, 66752 }, + { 0x6C11, 66756 }, + { 0x6C04, 66760 }, + { 0x6C25, 66764 }, + { 0x6C1B, 66768 }, + { 0x6C23, 66772 }, + { 0x6C1C, 66776 }, + { 0x6C0F, 66780 }, + { 0x6C13, 66784 }, + { 0x6C0D, 66788 }, + { 0x6C2B, 66792 }, + { 0x6C2A, 66796 }, + { 0x6C29, 66800 }, + { 0x6C1A, 66804 }, + { 0x6C0E, 66808 }, + { 0x6C16, 66812 }, + { 0x6C2C, 66816 }, + { 0x6C26, 66820 }, + { 0x6C27, 66824 }, + { 0x6C15, 66828 }, + { 0x6C0A, 66832 }, + { 0x6C17, 66836 }, + { 0x6C24, 66840 }, + { 0x6C1F, 66844 }, + { 0x6C2F, 66848 }, + { 0x1E2A, 66852 }, + { 0x6BE1, 66855 }, + { 0x2219, 66857 }, + { 0x6BCF, 66859 }, + { 0x6BDE, 66861 }, + { 0x6B8C, 66866 }, + { 0x6BE4, 66868 }, + { 0x6BD2, 66870 }, + { 0x6BD7, 66872 }, + { 0x6BE5, 66875 }, + { 0x6BE6, 66877 }, + { 0x6BCC, 66879 }, + { 0x6BDA, 66881 }, + { 0x6BD8, 66885 }, + { 0x291F, 66888 }, + { 0x6BCD, 66892 }, + { 0x1E27, 66894 }, + { 0x6BD9, 66896 }, + { 0x6BDF, 66899 }, + { 0x6B6E, 66904 }, + { 0x6B6F, 66909 }, + { 0x6B70, 66914 }, + { 0x6B71, 66919 }, + { 0x6B72, 66924 }, + { 0x6B73, 66929 }, + { 0x6B74, 66934 }, + { 0x6B75, 66939 }, + { 0x6B76, 66944 }, + { 0x6B77, 66949 }, + { 0x6B78, 66954 }, + { 0x6B79, 66959 }, + { 0x6B7A, 66964 }, + { 0x6B7B, 66969 }, + { 0x6B7C, 66974 }, + { 0x6B7D, 66979 }, + { 0x6B7E, 66984 }, + { 0x6B7F, 66989 }, + { 0x6B80, 66994 }, + { 0x6B81, 66999 }, + { 0x6B82, 67004 }, + { 0x6B83, 67009 }, + { 0x6B84, 67014 }, + { 0x6B85, 67019 }, + { 0x6B86, 67024 }, + { 0x6B87, 67029 }, + { 0x1E28, 67034 }, + { 0x6BDB, 67036 }, + { 0x6BDD, 67040 }, + { 0x2521, 67043 }, + { 0x6BD5, 67046 }, + { 0x1E29, 67049 }, + { 0x6BE2, 67051 }, + { 0x251E, 67053 }, + { 0x6BD6, 67057 }, + { 0x2522, 67060 }, + { 0x251F, 67062 }, + { 0x2329, 67066 }, + { 0x2328, 67069 }, + { 0x2237, 67072 }, + { 0x2520, 67074 }, + { 0x6C07, 67076 }, + { 0x6C03, 67079 }, + { 0x6C02, 67082 }, + { 0x6BE3, 67085 }, + { 0x6BDC, 67087 }, + { 0x6D1A, 67091 }, + { 0x6EBE, 67092 }, + { 0x6FC4, 67094 }, + { 0x71B8, 67095 }, + { 0x6C40, 67097 }, + { 0x6C3F, 67098 }, + { 0x1DB8, 67101 }, + { 0x6D05, 67103 }, + { 0x6DC4, 67104 }, + { 0x6D90, 67105 }, + { 0x1413, 67106 }, + { 0x1411, 67109 }, + { 0x1412, 67113 }, + { 0x1400, 67117 }, + { 0x1401, 67120 }, + { 0x1402, 67123 }, + { 0x140A, 67126 }, + { 0x1407, 67129 }, + { 0x1404, 67132 }, + { 0x1410, 67135 }, + { 0x1403, 67138 }, + { 0x140D, 67141 }, + { 0x140B, 67144 }, + { 0x1408, 67147 }, + { 0x1409, 67150 }, + { 0x140F, 67153 }, + { 0x1406, 67156 }, + { 0x140E, 67159 }, + { 0x140C, 67162 }, + { 0x1405, 67165 }, + { 0x6DE8, 67168 }, + { 0x26EE, 67170 }, + { 0x22FC, 67175 }, + { 0x26F0, 67179 }, + { 0x26F1, 67184 }, + { 0x26EF, 67189 }, + { 0x22FD, 67194 }, + { 0x2222, 67198 }, + { 0x0D1A, 67202 }, + { 0x0D1B, 67206 }, + { 0x0CA0, 67213 }, + { 0x0C9F, 67218 }, + { 0x0C9B, 67223 }, + { 0x0C9E, 67227 }, + { 0x0C9D, 67232 }, + { 0x0C74, 67237 }, + { 0x0C9C, 67243 }, + { 0x0C6A, 67247 }, + { 0x0D2B, 67254 }, + { 0x0C6D, 67261 }, + { 0x0C66, 67267 }, + { 0x0C65, 67276 }, + { 0x0C64, 67285 }, + { 0x0C77, 67292 }, + { 0x0C98, 67296 }, + { 0x0C9A, 67302 }, + { 0x0C71, 67308 }, + { 0x0D2D, 67312 }, + { 0x0C73, 67316 }, + { 0x0C75, 67321 }, + { 0x0C70, 67326 }, + { 0x0C97, 67329 }, + { 0x0D2B, 67333 }, + { 0x0C6C, 67340 }, + { 0x0C69, 67345 }, + { 0x0C76, 67353 }, + { 0x0C99, 67361 }, + { 0x0D2C, 67369 }, + { 0x0C6B, 67376 }, + { 0x0C72, 67380 }, + { 0x0CE3, 67384 }, + { 0x0C68, 67387 }, + { 0x0D2F, 67394 }, + { 0x0CE2, 67403 }, + { 0x0C67, 67406 }, + { 0x0D2E, 67413 }, + { 0x0D34, 67422 }, + { 0x0D35, 67427 }, + { 0x0C6F, 67432 }, + { 0x0C6E, 67437 }, + { 0x0CE8, 67441 }, + { 0x0CE9, 67446 }, + { 0x0CE6, 67451 }, + { 0x0CE4, 67456 }, + { 0x0CA2, 67460 }, + { 0x0CE0, 67464 }, + { 0x0CE1, 67470 }, + { 0x0CA1, 67474 }, + { 0x0CE7, 67478 }, + { 0x0C80, 67482 }, + { 0x0D2A, 67487 }, + { 0x0D29, 67492 }, + { 0x0C81, 67498 }, + { 0x0C7D, 67503 }, + { 0x0C7F, 67508 }, + { 0x0C82, 67513 }, + { 0x0C7E, 67519 }, + { 0x0CDC, 67524 }, + { 0x0CDD, 67530 }, + { 0x0CE5, 67534 }, + { 0x0CEA, 67538 }, + { 0x0C84, 67543 }, + { 0x0C89, 67546 }, + { 0x0C85, 67549 }, + { 0x0C88, 67552 }, + { 0x0C87, 67555 }, + { 0x0C8D, 67558 }, + { 0x0C92, 67562 }, + { 0x0C8E, 67566 }, + { 0x0C91, 67570 }, + { 0x0C90, 67574 }, + { 0x0C95, 67578 }, + { 0x0C96, 67582 }, + { 0x0C94, 67586 }, + { 0x0C93, 67590 }, + { 0x0C8F, 67594 }, + { 0x0C8C, 67598 }, + { 0x0C83, 67601 }, + { 0x0C8B, 67604 }, + { 0x0C8A, 67607 }, + { 0x0C86, 67610 }, + { 0x0CD8, 67613 }, + { 0x0CD0, 67617 }, + { 0x0CDA, 67621 }, + { 0x0CD2, 67625 }, + { 0x0CCF, 67629 }, + { 0x0CD9, 67633 }, + { 0x0CD1, 67637 }, + { 0x0CDB, 67641 }, + { 0x0CD3, 67645 }, + { 0x0CD6, 67649 }, + { 0x0CD4, 67654 }, + { 0x0CD7, 67659 }, + { 0x0CD5, 67664 }, + { 0x0CDE, 67669 }, + { 0x0CDF, 67674 }, + { 0x0CCA, 67679 }, + { 0x0CC2, 67682 }, + { 0x0CB8, 67685 }, + { 0x0CA8, 67688 }, + { 0x0CB3, 67691 }, + { 0x0CA5, 67694 }, + { 0x0CC9, 67697 }, + { 0x0CAA, 67700 }, + { 0x0CA3, 67703 }, + { 0x0CC5, 67706 }, + { 0x0CBA, 67709 }, + { 0x0CB5, 67712 }, + { 0x0CB6, 67715 }, + { 0x0CC4, 67718 }, + { 0x0CC8, 67721 }, + { 0x0CB1, 67724 }, + { 0x0CBF, 67727 }, + { 0x0CC3, 67730 }, + { 0x0CC1, 67733 }, + { 0x0CB9, 67736 }, + { 0x0CA9, 67739 }, + { 0x0CAE, 67742 }, + { 0x0CB4, 67745 }, + { 0x0CBD, 67748 }, + { 0x0CA6, 67751 }, + { 0x0CA4, 67754 }, + { 0x0CCD, 67757 }, + { 0x0CA7, 67760 }, + { 0x0CB0, 67763 }, + { 0x0CAB, 67766 }, + { 0x0CB7, 67769 }, + { 0x0CCE, 67772 }, + { 0x0CC6, 67775 }, + { 0x0CC7, 67778 }, + { 0x0CB2, 67781 }, + { 0x0CBB, 67784 }, + { 0x0CAC, 67787 }, + { 0x0CC0, 67790 }, + { 0x0CAF, 67793 }, + { 0x0CBE, 67796 }, + { 0x0CCB, 67799 }, + { 0x0CBC, 67802 }, + { 0x0CAD, 67805 }, + { 0x0CCC, 67808 }, + { 0x0D25, 67812 }, + { 0x0D28, 67816 }, + { 0x0D27, 67822 }, + { 0x0D26, 67828 }, + { 0x0D21, 67834 }, + { 0x0D23, 67838 }, + { 0x0D20, 67844 }, + { 0x0D24, 67848 }, + { 0x0D22, 67852 }, + { 0x0C78, 67856 }, + { 0x0C79, 67861 }, + { 0x0C63, 67866 }, + { 0x0CEB, 67869 }, + { 0x0CEC, 67875 }, + { 0x0CED, 67880 }, + { 0x0D15, 67886 }, + { 0x0D0D, 67890 }, + { 0x0D03, 67894 }, + { 0x0CF3, 67898 }, + { 0x0CFE, 67902 }, + { 0x0CF0, 67906 }, + { 0x0D14, 67910 }, + { 0x0CF5, 67914 }, + { 0x0CEE, 67918 }, + { 0x0D10, 67922 }, + { 0x0D05, 67926 }, + { 0x0D00, 67930 }, + { 0x0D01, 67934 }, + { 0x0D0F, 67938 }, + { 0x0D13, 67942 }, + { 0x0CFC, 67946 }, + { 0x0D0A, 67950 }, + { 0x0D0E, 67954 }, + { 0x0D0C, 67958 }, + { 0x0D04, 67962 }, + { 0x0CF4, 67966 }, + { 0x0CF9, 67970 }, + { 0x0CFF, 67974 }, + { 0x0D08, 67978 }, + { 0x0CF1, 67982 }, + { 0x0CEF, 67986 }, + { 0x0CF2, 67990 }, + { 0x0CFB, 67994 }, + { 0x0CF6, 67998 }, + { 0x0D02, 68002 }, + { 0x0D11, 68006 }, + { 0x0D12, 68010 }, + { 0x0CFD, 68014 }, + { 0x0D06, 68018 }, + { 0x0CF7, 68022 }, + { 0x0D0B, 68026 }, + { 0x0CFA, 68030 }, + { 0x0D09, 68034 }, + { 0x0D16, 68038 }, + { 0x0D07, 68042 }, + { 0x0CF8, 68046 }, + { 0x0D19, 68050 }, + { 0x0D17, 68055 }, + { 0x0D18, 68060 }, + { 0x0C7A, 68065 }, + { 0x0C7C, 68072 }, + { 0x0C7B, 68077 }, + { 0x0D1E, 68082 }, + { 0x0D1F, 68087 }, + { 0x0D1C, 68092 }, + { 0x0D1D, 68097 }, + { 0x4AA2, 68102 }, + { 0x4A5B, 68104 }, + { 0x4A9E, 68106 }, + { 0x4A9D, 68109 }, + { 0x4A9C, 68112 }, + { 0x4A9B, 68115 }, + { 0x4A9F, 68118 }, + { 0x4A9A, 68121 }, + { 0x4AA4, 68124 }, + { 0x4AA9, 68127 }, + { 0x4AA5, 68130 }, + { 0x4AA8, 68133 }, + { 0x4AA7, 68136 }, + { 0x4AAC, 68139 }, + { 0x4AA3, 68142 }, + { 0x4AAB, 68145 }, + { 0x4AAA, 68148 }, + { 0x4AA6, 68151 }, + { 0x4AA0, 68154 }, + { 0x4A94, 68156 }, + { 0x4A8C, 68160 }, + { 0x4A97, 68164 }, + { 0x4A8E, 68168 }, + { 0x4A8B, 68172 }, + { 0x4A96, 68176 }, + { 0x4A99, 68180 }, + { 0x4A8D, 68184 }, + { 0x4A8F, 68188 }, + { 0x4A95, 68192 }, + { 0x4A98, 68197 }, + { 0x4A92, 68202 }, + { 0x4A90, 68207 }, + { 0x4A93, 68212 }, + { 0x4A91, 68217 }, + { 0x4A5C, 68222 }, + { 0x4A66, 68225 }, + { 0x4A5E, 68228 }, + { 0x4A68, 68231 }, + { 0x4A60, 68234 }, + { 0x4A5D, 68237 }, + { 0x4A67, 68240 }, + { 0x4A69, 68243 }, + { 0x4A80, 68246 }, + { 0x4A6F, 68249 }, + { 0x4A7B, 68252 }, + { 0x4A6C, 68255 }, + { 0x4A8A, 68258 }, + { 0x4A5F, 68261 }, + { 0x4A71, 68264 }, + { 0x4A6A, 68267 }, + { 0x4A85, 68270 }, + { 0x4A82, 68273 }, + { 0x4A7D, 68276 }, + { 0x4A7E, 68279 }, + { 0x4A84, 68282 }, + { 0x4A89, 68285 }, + { 0x4A79, 68288 }, + { 0x4A61, 68291 }, + { 0x4A86, 68294 }, + { 0x4A83, 68297 }, + { 0x4A81, 68300 }, + { 0x4A70, 68303 }, + { 0x4A76, 68306 }, + { 0x4A7C, 68309 }, + { 0x4A6D, 68312 }, + { 0x4A72, 68315 }, + { 0x4A6B, 68318 }, + { 0x4A6E, 68321 }, + { 0x4A78, 68324 }, + { 0x4A73, 68327 }, + { 0x4A7F, 68330 }, + { 0x4A87, 68333 }, + { 0x4A88, 68336 }, + { 0x4A7A, 68339 }, + { 0x4A74, 68342 }, + { 0x4A77, 68345 }, + { 0x4A75, 68348 }, + { 0x4A64, 68351 }, + { 0x4A62, 68355 }, + { 0x4A65, 68359 }, + { 0x4A63, 68363 }, + { 0x4AA1, 68367 }, + { 0x6FD7, 68370 }, + { 0x6E6C, 68371 }, + { 0x218C, 68373 }, + { 0x218B, 68376 }, + { 0x218E, 68379 }, + { 0x2191, 68382 }, + { 0x218F, 68385 }, + { 0x218A, 68388 }, + { 0x218D, 68391 }, + { 0x2190, 68394 }, + { 0x6CF5, 68397 }, + { 0x71A6, 68398 }, + { 0x1C67, 68400 }, + { 0x6E3B, 68403 }, + { 0x71C2, 68406 }, + { 0x1D28, 68408 }, + { 0x1D1A, 68412 }, + { 0x246C, 68414 }, + { 0x1D2E, 68418 }, + { 0x1D39, 68422 }, + { 0x1D3A, 68427 }, + { 0x70F4, 68432 }, + { 0x70EC, 68438 }, + { 0x70F8, 68444 }, + { 0x1D67, 68450 }, + { 0x70F0, 68455 }, + { 0x716A, 68461 }, + { 0x2463, 68466 }, + { 0x70FC, 68471 }, + { 0x1D4E, 68476 }, + { 0x2660, 68482 }, + { 0x26E1, 68485 }, + { 0x712C, 68490 }, + { 0x7128, 68493 }, + { 0x1D70, 68497 }, + { 0x1D74, 68500 }, + { 0x1D76, 68505 }, + { 0x1D75, 68513 }, + { 0x1D73, 68521 }, + { 0x270E, 68526 }, + { 0x7166, 68534 }, + { 0x1D77, 68540 }, + { 0x1D78, 68544 }, + { 0x2908, 68550 }, + { 0x1D6A, 68552 }, + { 0x1D5A, 68555 }, + { 0x1D51, 68558 }, + { 0x6FA8, 68561 }, + { 0x2464, 68563 }, + { 0x24B2, 68566 }, + { 0x24BA, 68573 }, + { 0x24BD, 68580 }, + { 0x24C8, 68591 }, + { 0x24AE, 68602 }, + { 0x24B6, 68609 }, + { 0x1D48, 68616 }, + { 0x1D47, 68621 }, + { 0x7120, 68626 }, + { 0x7162, 68629 }, + { 0x234A, 68632 }, + { 0x7124, 68635 }, + { 0x7130, 68638 }, + { 0x24A3, 68641 }, + { 0x2725, 68647 }, + { 0x711C, 68653 }, + { 0x26BB, 68656 }, + { 0x26CB, 68659 }, + { 0x7110, 68664 }, + { 0x26F8, 68670 }, + { 0x26F9, 68677 }, + { 0x7118, 68684 }, + { 0x7114, 68691 }, + { 0x26D3, 68697 }, + { 0x710C, 68704 }, + { 0x7108, 68710 }, + { 0x26D9, 68716 }, + { 0x26C5, 68724 }, + { 0x26DD, 68728 }, + { 0x2266, 68732 }, + { 0x6C46, 68734 }, + { 0x21FA, 68735 }, + { 0x6DCD, 68737 }, + { 0x6F44, 68738 }, + { 0x6F5A, 68740 }, + { 0x6CBC, 68742 }, + { 0x2267, 68744 }, + { 0x1C20, 68746 }, + { 0x1C1E, 68750 }, + { 0x2262, 68753 }, + { 0x701A, 68754 }, + { 0x7019, 68756 }, + { 0x6D03, 68758 }, + { 0x1CB8, 68760 }, + { 0x21AC, 68762 }, + { 0x053E, 68763 }, + { 0x053A, 68766 }, + { 0x0510, 68769 }, + { 0x0520, 68771 }, + { 0x0533, 68775 }, + { 0x0516, 68779 }, + { 0x0519, 68783 }, + { 0x051A, 68787 }, + { 0x0522, 68791 }, + { 0x0523, 68795 }, + { 0x0537, 68799 }, + { 0x052E, 68803 }, + { 0x051B, 68807 }, + { 0x052A, 68811 }, + { 0x0527, 68815 }, + { 0x0518, 68819 }, + { 0x0513, 68823 }, + { 0x0514, 68827 }, + { 0x052B, 68831 }, + { 0x0517, 68835 }, + { 0x0538, 68839 }, + { 0x0515, 68843 }, + { 0x051D, 68847 }, + { 0x0536, 68851 }, + { 0x0521, 68855 }, + { 0x0526, 68859 }, + { 0x0528, 68863 }, + { 0x052C, 68867 }, + { 0x0532, 68871 }, + { 0x052F, 68875 }, + { 0x0529, 68879 }, + { 0x0530, 68883 }, + { 0x051F, 68887 }, + { 0x051C, 68891 }, + { 0x0525, 68895 }, + { 0x0524, 68899 }, + { 0x052D, 68903 }, + { 0x051E, 68907 }, + { 0x0535, 68911 }, + { 0x0531, 68915 }, + { 0x0534, 68919 }, + { 0x0539, 68923 }, + { 0x3A15, 68928 }, + { 0x3A16, 68933 }, + { 0x3A14, 68938 }, + { 0x3A18, 68943 }, + { 0x3A17, 68948 }, + { 0x053B, 68953 }, + { 0x04F3, 68955 }, + { 0x0506, 68959 }, + { 0x04E9, 68963 }, + { 0x04EC, 68967 }, + { 0x04ED, 68971 }, + { 0x04F5, 68975 }, + { 0x04F6, 68979 }, + { 0x050A, 68983 }, + { 0x0501, 68987 }, + { 0x04EE, 68991 }, + { 0x04FD, 68995 }, + { 0x04FA, 68999 }, + { 0x04EB, 69003 }, + { 0x04E6, 69007 }, + { 0x04E7, 69011 }, + { 0x04FE, 69015 }, + { 0x04EA, 69019 }, + { 0x050B, 69023 }, + { 0x04E8, 69027 }, + { 0x04F0, 69031 }, + { 0x0509, 69035 }, + { 0x04F4, 69039 }, + { 0x04F9, 69043 }, + { 0x04FB, 69047 }, + { 0x04FF, 69051 }, + { 0x0505, 69055 }, + { 0x0502, 69059 }, + { 0x04FC, 69063 }, + { 0x0503, 69067 }, + { 0x04F2, 69071 }, + { 0x04EF, 69075 }, + { 0x04F8, 69079 }, + { 0x04F7, 69083 }, + { 0x0500, 69087 }, + { 0x04F1, 69091 }, + { 0x0508, 69095 }, + { 0x0504, 69099 }, + { 0x0507, 69103 }, + { 0x050E, 69107 }, + { 0x050C, 69110 }, + { 0x0511, 69116 }, + { 0x050D, 69119 }, + { 0x050F, 69121 }, + { 0x0512, 69124 }, + { 0x000A, 69127 }, + { 0x1DA0, 69128 }, + { 0x1BF6, 69130 }, + { 0x6D9A, 69131 }, + { 0x6D66, 69133 }, + { 0x71B5, 69135 }, + { 0x176F, 69137 }, + { 0x172B, 69140 }, + { 0x172C, 69144 }, + { 0x172F, 69148 }, + { 0x172D, 69151 }, + { 0x172E, 69154 }, + { 0x175F, 69157 }, + { 0x1785, 69160 }, + { 0x1786, 69163 }, + { 0x1784, 69166 }, + { 0x1778, 69169 }, + { 0x177D, 69172 }, + { 0x1779, 69175 }, + { 0x177C, 69178 }, + { 0x177B, 69181 }, + { 0x1780, 69184 }, + { 0x1777, 69187 }, + { 0x177F, 69190 }, + { 0x177E, 69193 }, + { 0x177A, 69196 }, + { 0x1781, 69199 }, + { 0x1767, 69201 }, + { 0x1768, 69206 }, + { 0x1765, 69212 }, + { 0x1766, 69217 }, + { 0x1761, 69223 }, + { 0x1762, 69227 }, + { 0x1763, 69232 }, + { 0x1764, 69236 }, + { 0x176D, 69241 }, + { 0x176E, 69245 }, + { 0x1769, 69250 }, + { 0x176A, 69254 }, + { 0x176C, 69259 }, + { 0x176B, 69265 }, + { 0x1760, 69270 }, + { 0x1783, 69274 }, + { 0x1754, 69276 }, + { 0x1755, 69279 }, + { 0x1743, 69283 }, + { 0x1744, 69286 }, + { 0x174F, 69290 }, + { 0x1750, 69293 }, + { 0x174A, 69297 }, + { 0x174B, 69302 }, + { 0x1773, 69307 }, + { 0x1740, 69311 }, + { 0x1741, 69314 }, + { 0x175E, 69318 }, + { 0x1745, 69321 }, + { 0x1746, 69324 }, + { 0x173E, 69328 }, + { 0x173F, 69331 }, + { 0x1759, 69335 }, + { 0x1738, 69338 }, + { 0x1739, 69342 }, + { 0x1756, 69347 }, + { 0x1751, 69350 }, + { 0x174C, 69353 }, + { 0x1752, 69357 }, + { 0x1753, 69360 }, + { 0x1758, 69364 }, + { 0x1736, 69367 }, + { 0x1737, 69371 }, + { 0x175D, 69376 }, + { 0x175B, 69379 }, + { 0x175C, 69383 }, + { 0x174D, 69387 }, + { 0x174E, 69390 }, + { 0x1748, 69394 }, + { 0x1749, 69398 }, + { 0x1774, 69403 }, + { 0x175A, 69407 }, + { 0x1757, 69410 }, + { 0x1770, 69413 }, + { 0x1742, 69417 }, + { 0x1747, 69420 }, + { 0x1775, 69423 }, + { 0x1771, 69427 }, + { 0x1772, 69431 }, + { 0x1730, 69435 }, + { 0x1731, 69438 }, + { 0x173A, 69442 }, + { 0x1732, 69445 }, + { 0x1733, 69448 }, + { 0x173C, 69452 }, + { 0x173D, 69455 }, + { 0x1734, 69459 }, + { 0x1735, 69462 }, + { 0x173B, 69466 }, + { 0x1776, 69469 }, + { 0x1782, 69473 }, + { 0x178B, 69475 }, + { 0x1791, 69479 }, + { 0x178C, 69484 }, + { 0x1789, 69489 }, + { 0x178D, 69493 }, + { 0x1788, 69497 }, + { 0x178A, 69501 }, + { 0x178E, 69505 }, + { 0x1790, 69509 }, + { 0x178F, 69513 }, + { 0x179A, 69517 }, + { 0x1799, 69522 }, + { 0x1793, 69527 }, + { 0x1792, 69532 }, + { 0x1795, 69537 }, + { 0x1798, 69542 }, + { 0x1794, 69549 }, + { 0x1797, 69554 }, + { 0x1796, 69561 }, + { 0x179F, 69566 }, + { 0x17A3, 69572 }, + { 0x17A0, 69578 }, + { 0x17A1, 69584 }, + { 0x17A2, 69590 }, + { 0x179C, 69596 }, + { 0x179B, 69602 }, + { 0x179E, 69608 }, + { 0x179D, 69614 }, + { 0x1787, 69620 }, + { 0x6DEF, 69622 }, + { 0x6DF1, 69626 }, + { 0x6DF2, 69630 }, + { 0x6DF0, 69634 }, + { 0x2218, 69638 }, + { 0x6CBD, 69639 }, + { 0x6D5C, 69641 }, + { 0x6E51, 69642 }, + { 0x6E0C, 69643 }, + { 0x2C38, 69645 }, + { 0x2C37, 69649 }, + { 0x2C35, 69653 }, + { 0x2C36, 69657 }, + { 0x2B9F, 69661 }, + { 0x2B8A, 69664 }, + { 0x2B9D, 69667 }, + { 0x2B8E, 69670 }, + { 0x2BA1, 69673 }, + { 0x2B8D, 69676 }, + { 0x2B92, 69679 }, + { 0x2B94, 69682 }, + { 0x2BAC, 69685 }, + { 0x2B95, 69688 }, + { 0x2B93, 69691 }, + { 0x2B91, 69694 }, + { 0x2B8C, 69697 }, + { 0x2B90, 69700 }, + { 0x2BA0, 69703 }, + { 0x2B8B, 69706 }, + { 0x2B96, 69709 }, + { 0x2B9B, 69712 }, + { 0x2B9E, 69715 }, + { 0x2B8F, 69718 }, + { 0x2BAD, 69721 }, + { 0x2BAF, 69724 }, + { 0x2B97, 69727 }, + { 0x2B9C, 69730 }, + { 0x2BA3, 69733 }, + { 0x2C31, 69736 }, + { 0x2BA7, 69739 }, + { 0x2BA5, 69742 }, + { 0x2C21, 69745 }, + { 0x2B99, 69748 }, + { 0x2C25, 69751 }, + { 0x2BA2, 69754 }, + { 0x2BA4, 69757 }, + { 0x2BA8, 69760 }, + { 0x2BAB, 69763 }, + { 0x2C39, 69766 }, + { 0x2BB1, 69769 }, + { 0x2C24, 69772 }, + { 0x2BB2, 69775 }, + { 0x2C2D, 69778 }, + { 0x2C29, 69781 }, + { 0x2BAE, 69784 }, + { 0x2C23, 69787 }, + { 0x2C3A, 69790 }, + { 0x2BB0, 69793 }, + { 0x2C32, 69796 }, + { 0x2C27, 69799 }, + { 0x2BA6, 69802 }, + { 0x2B9A, 69805 }, + { 0x2B98, 69808 }, + { 0x2C22, 69811 }, + { 0x2C3B, 69814 }, + { 0x2BA9, 69817 }, + { 0x2C2A, 69820 }, + { 0x2BAA, 69823 }, + { 0x2C26, 69826 }, + { 0x2C2B, 69829 }, + { 0x2C2E, 69832 }, + { 0x2C33, 69835 }, + { 0x2C28, 69838 }, + { 0x2C2C, 69841 }, + { 0x2C2F, 69844 }, + { 0x2C30, 69847 }, + { 0x2C34, 69850 }, + { 0x169C, 69853 }, + { 0x1698, 69857 }, + { 0x1696, 69861 }, + { 0x1699, 69865 }, + { 0x1697, 69869 }, + { 0x169A, 69873 }, + { 0x1694, 69877 }, + { 0x1684, 69880 }, + { 0x168B, 69883 }, + { 0x1688, 69886 }, + { 0x1680, 69889 }, + { 0x1695, 69892 }, + { 0x168C, 69895 }, + { 0x167F, 69898 }, + { 0x1691, 69901 }, + { 0x1685, 69904 }, + { 0x1689, 69907 }, + { 0x1683, 69910 }, + { 0x1690, 69913 }, + { 0x1693, 69916 }, + { 0x1687, 69919 }, + { 0x1692, 69922 }, + { 0x168F, 69925 }, + { 0x1686, 69928 }, + { 0x1681, 69931 }, + { 0x168A, 69934 }, + { 0x168D, 69937 }, + { 0x1682, 69940 }, + { 0x168E, 69943 }, + { 0x169B, 69946 }, + { 0x6D12, 69948 }, + { 0x6EA6, 69950 }, + { 0x6EA7, 69951 }, + { 0x2128, 69955 }, + { 0x217E, 69956 }, + { 0x6E00, 69957 }, + { 0x1114, 69958 }, + { 0x11AB, 69961 }, + { 0x110B, 69964 }, + { 0x1267, 69967 }, + { 0x110D, 69970 }, + { 0x118D, 69973 }, + { 0x11F4, 69976 }, + { 0x11C5, 69979 }, + { 0x11DA, 69982 }, + { 0x110F, 69985 }, + { 0x1153, 69988 }, + { 0x128F, 69991 }, + { 0x125A, 69994 }, + { 0x120F, 69997 }, + { 0x1170, 70000 }, + { 0x1248, 70003 }, + { 0x1115, 70006 }, + { 0x1126, 70009 }, + { 0x1138, 70012 }, + { 0x1560, 70015 }, + { 0x119A, 70018 }, + { 0x1193, 70021 }, + { 0x1195, 70024 }, + { 0x1197, 70027 }, + { 0x1135, 70030 }, + { 0x1263, 70033 }, + { 0x125D, 70036 }, + { 0x125F, 70039 }, + { 0x1261, 70042 }, + { 0x1287, 70045 }, + { 0x110E, 70048 }, + { 0x1136, 70051 }, + { 0x117C, 70054 }, + { 0x1175, 70057 }, + { 0x1177, 70060 }, + { 0x1179, 70063 }, + { 0x118E, 70066 }, + { 0x11E4, 70069 }, + { 0x11DD, 70072 }, + { 0x12B0, 70075 }, + { 0x11DF, 70078 }, + { 0x11E1, 70081 }, + { 0x11B4, 70084 }, + { 0x11AD, 70087 }, + { 0x11C7, 70090 }, + { 0x11AF, 70093 }, + { 0x11B1, 70096 }, + { 0x11D1, 70099 }, + { 0x11CA, 70102 }, + { 0x129F, 70105 }, + { 0x11DC, 70108 }, + { 0x11CC, 70111 }, + { 0x11CE, 70114 }, + { 0x1137, 70117 }, + { 0x1110, 70120 }, + { 0x155F, 70123 }, + { 0x1142, 70126 }, + { 0x1139, 70129 }, + { 0x113B, 70132 }, + { 0x113D, 70135 }, + { 0x128D, 70138 }, + { 0x1289, 70141 }, + { 0x128B, 70144 }, + { 0x1255, 70147 }, + { 0x124C, 70150 }, + { 0x1250, 70153 }, + { 0x1252, 70156 }, + { 0x11FE, 70159 }, + { 0x11F7, 70162 }, + { 0x122F, 70165 }, + { 0x11F9, 70168 }, + { 0x11FB, 70171 }, + { 0x1211, 70174 }, + { 0x115F, 70177 }, + { 0x1156, 70180 }, + { 0x1274, 70183 }, + { 0x1158, 70186 }, + { 0x115A, 70189 }, + { 0x1121, 70192 }, + { 0x1116, 70195 }, + { 0x1118, 70198 }, + { 0x111C, 70201 }, + { 0x1237, 70204 }, + { 0x1230, 70207 }, + { 0x1232, 70210 }, + { 0x1234, 70213 }, + { 0x110C, 70216 }, + { 0x1561, 70219 }, + { 0x119B, 70222 }, + { 0x1377, 70225 }, + { 0x1196, 70229 }, + { 0x1198, 70232 }, + { 0x11A6, 70235 }, + { 0x119C, 70238 }, + { 0x119E, 70241 }, + { 0x11A2, 70244 }, + { 0x1264, 70247 }, + { 0x1260, 70250 }, + { 0x1262, 70253 }, + { 0x117D, 70256 }, + { 0x1567, 70259 }, + { 0x1178, 70262 }, + { 0x117A, 70265 }, + { 0x1188, 70268 }, + { 0x117E, 70271 }, + { 0x1180, 70274 }, + { 0x1184, 70277 }, + { 0x11E5, 70280 }, + { 0x156C, 70283 }, + { 0x12AE, 70286 }, + { 0x12AA, 70289 }, + { 0x12AC, 70292 }, + { 0x11E0, 70295 }, + { 0x11E2, 70298 }, + { 0x11F0, 70301 }, + { 0x11E6, 70304 }, + { 0x11E8, 70307 }, + { 0x11EC, 70310 }, + { 0x11B5, 70313 }, + { 0x1569, 70316 }, + { 0x11B0, 70319 }, + { 0x11B2, 70322 }, + { 0x11C0, 70325 }, + { 0x11B6, 70328 }, + { 0x11B8, 70331 }, + { 0x11BC, 70334 }, + { 0x11D2, 70337 }, + { 0x156B, 70340 }, + { 0x129D, 70343 }, + { 0x1299, 70346 }, + { 0x129B, 70349 }, + { 0x11CD, 70352 }, + { 0x12A0, 70355 }, + { 0x11CF, 70358 }, + { 0x156A, 70361 }, + { 0x11D5, 70364 }, + { 0x11D3, 70367 }, + { 0x1575, 70370 }, + { 0x1579, 70373 }, + { 0x1143, 70376 }, + { 0x1564, 70379 }, + { 0x113C, 70382 }, + { 0x113E, 70385 }, + { 0x1563, 70388 }, + { 0x114E, 70391 }, + { 0x1144, 70394 }, + { 0x1146, 70397 }, + { 0x114A, 70400 }, + { 0x128E, 70403 }, + { 0x1379, 70406 }, + { 0x128A, 70409 }, + { 0x128C, 70412 }, + { 0x1256, 70415 }, + { 0x1574, 70418 }, + { 0x1251, 70421 }, + { 0x1253, 70424 }, + { 0x1582, 70427 }, + { 0x157E, 70430 }, + { 0x1580, 70433 }, + { 0x11FF, 70436 }, + { 0x156E, 70439 }, + { 0x121F, 70442 }, + { 0x121A, 70445 }, + { 0x121B, 70448 }, + { 0x121D, 70451 }, + { 0x11FA, 70454 }, + { 0x11FC, 70457 }, + { 0x156D, 70460 }, + { 0x120A, 70463 }, + { 0x1200, 70466 }, + { 0x1202, 70469 }, + { 0x1206, 70472 }, + { 0x1160, 70475 }, + { 0x1566, 70478 }, + { 0x1270, 70481 }, + { 0x1268, 70484 }, + { 0x126A, 70487 }, + { 0x126E, 70490 }, + { 0x1159, 70493 }, + { 0x115B, 70496 }, + { 0x1174, 70499 }, + { 0x1171, 70502 }, + { 0x1279, 70505 }, + { 0x1172, 70508 }, + { 0x1173, 70511 }, + { 0x116B, 70514 }, + { 0x1161, 70517 }, + { 0x1163, 70520 }, + { 0x1167, 70523 }, + { 0x127D, 70526 }, + { 0x127A, 70529 }, + { 0x127B, 70532 }, + { 0x127C, 70535 }, + { 0x1123, 70538 }, + { 0x1562, 70541 }, + { 0x111A, 70544 }, + { 0x111E, 70547 }, + { 0x1238, 70550 }, + { 0x1573, 70553 }, + { 0x1233, 70556 }, + { 0x1235, 70559 }, + { 0x1572, 70562 }, + { 0x1243, 70565 }, + { 0x1239, 70568 }, + { 0x123B, 70571 }, + { 0x123F, 70574 }, + { 0x1194, 70577 }, + { 0x11A8, 70580 }, + { 0x11A0, 70583 }, + { 0x11A4, 70586 }, + { 0x125E, 70589 }, + { 0x1378, 70592 }, + { 0x1265, 70596 }, + { 0x1176, 70599 }, + { 0x118A, 70602 }, + { 0x1568, 70605 }, + { 0x1182, 70608 }, + { 0x1186, 70611 }, + { 0x11DE, 70614 }, + { 0x12AF, 70617 }, + { 0x12AB, 70620 }, + { 0x12AD, 70623 }, + { 0x11F2, 70626 }, + { 0x11EA, 70629 }, + { 0x11EE, 70632 }, + { 0x11AE, 70635 }, + { 0x11C2, 70638 }, + { 0x11BA, 70641 }, + { 0x11BE, 70644 }, + { 0x11CB, 70647 }, + { 0x129E, 70650 }, + { 0x137A, 70653 }, + { 0x129A, 70656 }, + { 0x129C, 70659 }, + { 0x137F, 70662 }, + { 0x137B, 70665 }, + { 0x137D, 70668 }, + { 0x11D7, 70671 }, + { 0x1577, 70674 }, + { 0x157B, 70677 }, + { 0x113A, 70680 }, + { 0x1150, 70683 }, + { 0x1148, 70686 }, + { 0x114C, 70689 }, + { 0x1565, 70692 }, + { 0x1288, 70695 }, + { 0x124F, 70698 }, + { 0x1258, 70701 }, + { 0x157D, 70704 }, + { 0x157F, 70707 }, + { 0x1581, 70710 }, + { 0x11F8, 70713 }, + { 0x1220, 70716 }, + { 0x1570, 70719 }, + { 0x121C, 70722 }, + { 0x121E, 70725 }, + { 0x156F, 70728 }, + { 0x122B, 70731 }, + { 0x1221, 70734 }, + { 0x1223, 70737 }, + { 0x1227, 70740 }, + { 0x120C, 70743 }, + { 0x1204, 70746 }, + { 0x1208, 70749 }, + { 0x1157, 70752 }, + { 0x1271, 70755 }, + { 0x126C, 70758 }, + { 0x126F, 70761 }, + { 0x1593, 70764 }, + { 0x1592, 70767 }, + { 0x1293, 70770 }, + { 0x1290, 70773 }, + { 0x1291, 70776 }, + { 0x1292, 70779 }, + { 0x1278, 70782 }, + { 0x1275, 70785 }, + { 0x1276, 70788 }, + { 0x1277, 70791 }, + { 0x116D, 70794 }, + { 0x1165, 70797 }, + { 0x1169, 70800 }, + { 0x1231, 70803 }, + { 0x1245, 70806 }, + { 0x123D, 70809 }, + { 0x1241, 70812 }, + { 0x112C, 70815 }, + { 0x1134, 70821 }, + { 0x1133, 70826 }, + { 0x112E, 70830 }, + { 0x1129, 70834 }, + { 0x112A, 70838 }, + { 0x112D, 70842 }, + { 0x1132, 70848 }, + { 0x158D, 70854 }, + { 0x112B, 70859 }, + { 0x112F, 70865 }, + { 0x1130, 70870 }, + { 0x1131, 70877 }, + { 0x158E, 70882 }, + { 0x1298, 70887 }, + { 0x1380, 70890 }, + { 0x137C, 70893 }, + { 0x137E, 70896 }, + { 0x122D, 70899 }, + { 0x1225, 70902 }, + { 0x1229, 70905 }, + { 0x1571, 70908 }, + { 0x1272, 70911 }, + { 0x1598, 70914 }, + { 0x1597, 70917 }, + { 0x1596, 70920 }, + { 0x1595, 70923 }, + { 0x1594, 70926 }, + { 0x15A2, 70929 }, + { 0x15A3, 70934 }, + { 0x110A, 70939 }, + { 0x11F6, 70942 }, + { 0x125C, 70946 }, + { 0x1269, 70950 }, + { 0x126B, 70954 }, + { 0x126D, 70958 }, + { 0x124D, 70962 }, + { 0x158F, 70966 }, + { 0x11C9, 70970 }, + { 0x12CD, 70974 }, + { 0x12CA, 70978 }, + { 0x12CB, 70982 }, + { 0x12CC, 70986 }, + { 0x1324, 70990 }, + { 0x131F, 70994 }, + { 0x11AC, 70998 }, + { 0x124B, 71002 }, + { 0x159B, 71006 }, + { 0x15A0, 71010 }, + { 0x12A4, 71014 }, + { 0x12A1, 71018 }, + { 0x12A2, 71022 }, + { 0x12A3, 71026 }, + { 0x159A, 71030 }, + { 0x1599, 71034 }, + { 0x1127, 71038 }, + { 0x1111, 71042 }, + { 0x1199, 71046 }, + { 0x117B, 71050 }, + { 0x11E3, 71054 }, + { 0x11B3, 71058 }, + { 0x11D0, 71062 }, + { 0x113F, 71066 }, + { 0x11FD, 71070 }, + { 0x115C, 71074 }, + { 0x1236, 71078 }, + { 0x1152, 71082 }, + { 0x12B9, 71086 }, + { 0x1155, 71090 }, + { 0x1113, 71094 }, + { 0x12F8, 71098 }, + { 0x1350, 71102 }, + { 0x115E, 71106 }, + { 0x1112, 71110 }, + { 0x12FE, 71114 }, + { 0x12FB, 71118 }, + { 0x12FD, 71122 }, + { 0x12FA, 71126 }, + { 0x12F9, 71130 }, + { 0x1141, 71134 }, + { 0x1325, 71138 }, + { 0x1321, 71142 }, + { 0x1323, 71146 }, + { 0x1320, 71150 }, + { 0x131E, 71154 }, + { 0x130B, 71158 }, + { 0x1331, 71162 }, + { 0x132E, 71166 }, + { 0x1330, 71170 }, + { 0x132D, 71174 }, + { 0x132C, 71178 }, + { 0x1317, 71182 }, + { 0x1314, 71186 }, + { 0x1316, 71190 }, + { 0x1313, 71194 }, + { 0x1312, 71198 }, + { 0x1311, 71202 }, + { 0x130E, 71206 }, + { 0x11DB, 71210 }, + { 0x1310, 71214 }, + { 0x130D, 71218 }, + { 0x130C, 71222 }, + { 0x12F7, 71226 }, + { 0x12F4, 71230 }, + { 0x12F6, 71234 }, + { 0x12F3, 71238 }, + { 0x12F2, 71242 }, + { 0x12D9, 71246 }, + { 0x12D6, 71250 }, + { 0x12D8, 71254 }, + { 0x12D5, 71258 }, + { 0x12D4, 71262 }, + { 0x135D, 71266 }, + { 0x135A, 71270 }, + { 0x1364, 71274 }, + { 0x135C, 71278 }, + { 0x1359, 71282 }, + { 0x1358, 71286 }, + { 0x12DF, 71290 }, + { 0x12DC, 71294 }, + { 0x12DE, 71298 }, + { 0x12DB, 71302 }, + { 0x12DA, 71306 }, + { 0x131D, 71310 }, + { 0x131A, 71314 }, + { 0x131C, 71318 }, + { 0x1319, 71322 }, + { 0x1318, 71326 }, + { 0x134F, 71330 }, + { 0x134C, 71334 }, + { 0x134E, 71338 }, + { 0x134B, 71342 }, + { 0x134A, 71346 }, + { 0x1370, 71350 }, + { 0x136D, 71354 }, + { 0x136F, 71358 }, + { 0x136C, 71362 }, + { 0x136B, 71366 }, + { 0x115D, 71370 }, + { 0x1337, 71374 }, + { 0x1334, 71378 }, + { 0x1336, 71382 }, + { 0x1333, 71386 }, + { 0x1332, 71390 }, + { 0x1357, 71394 }, + { 0x1354, 71398 }, + { 0x1356, 71402 }, + { 0x1353, 71406 }, + { 0x1352, 71410 }, + { 0x159E, 71414 }, + { 0x12FC, 71418 }, + { 0x12D3, 71422 }, + { 0x12D0, 71426 }, + { 0x12D2, 71430 }, + { 0x12CF, 71434 }, + { 0x12CE, 71438 }, + { 0x159F, 71442 }, + { 0x159C, 71446 }, + { 0x1140, 71450 }, + { 0x12E5, 71454 }, + { 0x12E2, 71458 }, + { 0x12E4, 71462 }, + { 0x12E1, 71466 }, + { 0x12E0, 71470 }, + { 0x1322, 71474 }, + { 0x132B, 71478 }, + { 0x1328, 71482 }, + { 0x132A, 71486 }, + { 0x1327, 71490 }, + { 0x1326, 71494 }, + { 0x15A1, 71498 }, + { 0x1304, 71502 }, + { 0x1301, 71506 }, + { 0x1303, 71510 }, + { 0x1300, 71514 }, + { 0x12FF, 71518 }, + { 0x130A, 71522 }, + { 0x1307, 71526 }, + { 0x1309, 71530 }, + { 0x1306, 71534 }, + { 0x1305, 71538 }, + { 0x132F, 71542 }, + { 0x133D, 71546 }, + { 0x133A, 71550 }, + { 0x133C, 71554 }, + { 0x1339, 71558 }, + { 0x1338, 71562 }, + { 0x1315, 71566 }, + { 0x130F, 71570 }, + { 0x12F5, 71574 }, + { 0x12D7, 71578 }, + { 0x135B, 71582 }, + { 0x1363, 71586 }, + { 0x1360, 71590 }, + { 0x1362, 71594 }, + { 0x135F, 71598 }, + { 0x135E, 71602 }, + { 0x12EB, 71606 }, + { 0x12E8, 71610 }, + { 0x12EA, 71614 }, + { 0x12E7, 71618 }, + { 0x12E6, 71622 }, + { 0x1349, 71626 }, + { 0x1346, 71630 }, + { 0x1348, 71634 }, + { 0x1345, 71638 }, + { 0x1344, 71642 }, + { 0x136A, 71646 }, + { 0x1367, 71650 }, + { 0x1369, 71654 }, + { 0x1366, 71658 }, + { 0x1365, 71662 }, + { 0x12F1, 71666 }, + { 0x12EE, 71670 }, + { 0x12F0, 71674 }, + { 0x12ED, 71678 }, + { 0x12EC, 71682 }, + { 0x12DD, 71686 }, + { 0x131B, 71690 }, + { 0x134D, 71694 }, + { 0x136E, 71698 }, + { 0x159D, 71702 }, + { 0x1335, 71707 }, + { 0x1355, 71711 }, + { 0x12D1, 71715 }, + { 0x12E3, 71719 }, + { 0x1329, 71723 }, + { 0x1302, 71727 }, + { 0x1308, 71731 }, + { 0x133B, 71735 }, + { 0x1361, 71739 }, + { 0x12E9, 71743 }, + { 0x1347, 71747 }, + { 0x1343, 71751 }, + { 0x1340, 71755 }, + { 0x1342, 71759 }, + { 0x133F, 71763 }, + { 0x133E, 71767 }, + { 0x1368, 71771 }, + { 0x12EF, 71775 }, + { 0x1376, 71779 }, + { 0x1373, 71783 }, + { 0x1375, 71787 }, + { 0x1372, 71791 }, + { 0x1371, 71795 }, + { 0x1341, 71799 }, + { 0x1374, 71803 }, + { 0x15A4, 71807 }, + { 0x1351, 71812 }, + { 0x158B, 71817 }, + { 0x1128, 71821 }, + { 0x1215, 71825 }, + { 0x1214, 71829 }, + { 0x1125, 71833 }, + { 0x1120, 71837 }, + { 0x11AA, 71841 }, + { 0x118C, 71845 }, + { 0x11C4, 71849 }, + { 0x11D9, 71853 }, + { 0x1219, 71857 }, + { 0x1218, 71861 }, + { 0x1216, 71865 }, + { 0x1217, 71869 }, + { 0x120E, 71873 }, + { 0x116F, 71877 }, + { 0x1247, 71881 }, + { 0x1285, 71885 }, + { 0x1283, 71889 }, + { 0x127E, 71893 }, + { 0x127F, 71897 }, + { 0x1281, 71901 }, + { 0x1284, 71905 }, + { 0x1280, 71909 }, + { 0x1282, 71913 }, + { 0x1286, 71917 }, + { 0x1586, 71921 }, + { 0x1585, 71925 }, + { 0x1587, 71929 }, + { 0x1588, 71933 }, + { 0x1583, 71937 }, + { 0x1589, 71941 }, + { 0x1584, 71945 }, + { 0x158A, 71949 }, + { 0x1576, 71953 }, + { 0x157A, 71957 }, + { 0x1578, 71961 }, + { 0x157C, 71965 }, + { 0x12B8, 71969 }, + { 0x12B6, 71973 }, + { 0x12B1, 71977 }, + { 0x12B2, 71981 }, + { 0x12B4, 71985 }, + { 0x12B7, 71989 }, + { 0x12B3, 71993 }, + { 0x12B5, 71997 }, + { 0x158C, 72001 }, + { 0x12BD, 72005 }, + { 0x12BA, 72009 }, + { 0x12BB, 72013 }, + { 0x12BC, 72017 }, + { 0x1212, 72021 }, + { 0x1389, 72025 }, + { 0x12C9, 72029 }, + { 0x12C6, 72033 }, + { 0x12C7, 72037 }, + { 0x12C8, 72041 }, + { 0x12C5, 72045 }, + { 0x12C2, 72049 }, + { 0x12C3, 72053 }, + { 0x12C4, 72057 }, + { 0x12C1, 72061 }, + { 0x12BE, 72065 }, + { 0x12BF, 72069 }, + { 0x12C0, 72073 }, + { 0x11F5, 72077 }, + { 0x11C6, 72081 }, + { 0x1154, 72085 }, + { 0x125B, 72089 }, + { 0x124A, 72093 }, + { 0x1257, 72097 }, + { 0x124E, 72101 }, + { 0x1254, 72105 }, + { 0x1297, 72109 }, + { 0x1294, 72113 }, + { 0x1295, 72117 }, + { 0x1296, 72121 }, + { 0x1122, 72125 }, + { 0x1117, 72129 }, + { 0x1119, 72133 }, + { 0x111D, 72137 }, + { 0x11A7, 72141 }, + { 0x119D, 72145 }, + { 0x119F, 72149 }, + { 0x11A3, 72153 }, + { 0x1189, 72157 }, + { 0x117F, 72161 }, + { 0x1181, 72165 }, + { 0x1185, 72169 }, + { 0x1591, 72173 }, + { 0x1590, 72177 }, + { 0x11F1, 72181 }, + { 0x11E7, 72185 }, + { 0x11E9, 72189 }, + { 0x11ED, 72193 }, + { 0x11C1, 72197 }, + { 0x11B7, 72201 }, + { 0x11B9, 72205 }, + { 0x11BD, 72209 }, + { 0x11D6, 72213 }, + { 0x11D4, 72217 }, + { 0x114F, 72221 }, + { 0x1145, 72225 }, + { 0x1147, 72229 }, + { 0x114B, 72233 }, + { 0x120B, 72237 }, + { 0x1201, 72241 }, + { 0x1203, 72245 }, + { 0x1207, 72249 }, + { 0x116C, 72253 }, + { 0x1162, 72257 }, + { 0x1164, 72261 }, + { 0x1168, 72265 }, + { 0x1124, 72269 }, + { 0x111B, 72273 }, + { 0x111F, 72277 }, + { 0x1244, 72281 }, + { 0x123A, 72285 }, + { 0x123C, 72289 }, + { 0x1240, 72293 }, + { 0x11A9, 72297 }, + { 0x11A1, 72301 }, + { 0x11A5, 72305 }, + { 0x1266, 72309 }, + { 0x118B, 72313 }, + { 0x1183, 72317 }, + { 0x1187, 72321 }, + { 0x11F3, 72325 }, + { 0x11EB, 72329 }, + { 0x11EF, 72333 }, + { 0x11C3, 72337 }, + { 0x11BB, 72341 }, + { 0x11BF, 72345 }, + { 0x11D8, 72349 }, + { 0x1151, 72353 }, + { 0x1149, 72357 }, + { 0x114D, 72361 }, + { 0x1259, 72365 }, + { 0x122C, 72369 }, + { 0x1222, 72373 }, + { 0x1224, 72377 }, + { 0x1228, 72381 }, + { 0x120D, 72385 }, + { 0x1205, 72389 }, + { 0x1209, 72393 }, + { 0x116E, 72397 }, + { 0x1166, 72401 }, + { 0x116A, 72405 }, + { 0x1246, 72409 }, + { 0x123E, 72413 }, + { 0x1242, 72417 }, + { 0x122E, 72421 }, + { 0x1226, 72425 }, + { 0x122A, 72429 }, + { 0x1273, 72433 }, + { 0x11C8, 72437 }, + { 0x1210, 72441 }, + { 0x1249, 72445 }, + { 0x1213, 72449 }, + { 0x12A9, 72453 }, + { 0x12A8, 72457 }, + { 0x12A5, 72461 }, + { 0x12A6, 72465 }, + { 0x12A7, 72469 }, + { 0x1386, 72473 }, + { 0x1382, 72477 }, + { 0x1384, 72481 }, + { 0x1388, 72485 }, + { 0x1387, 72490 }, + { 0x1381, 72494 }, + { 0x1383, 72498 }, + { 0x1385, 72502 }, + { 0x1192, 72506 }, + { 0x118F, 72510 }, + { 0x1190, 72514 }, + { 0x1191, 72518 }, + { 0x6CDB, 72522 }, + { 0x6E1E, 72524 }, + { 0x3938, 72526 }, + { 0x3939, 72530 }, + { 0x393A, 72534 }, + { 0x393B, 72538 }, + { 0x3965, 72542 }, + { 0x393C, 72546 }, + { 0x393D, 72550 }, + { 0x396B, 72554 }, + { 0x396D, 72558 }, + { 0x396F, 72562 }, + { 0x3971, 72566 }, + { 0x3972, 72570 }, + { 0x3973, 72574 }, + { 0x393E, 72578 }, + { 0x3940, 72582 }, + { 0x3941, 72586 }, + { 0x3942, 72590 }, + { 0x3943, 72594 }, + { 0x3944, 72598 }, + { 0x3945, 72602 }, + { 0x3946, 72606 }, + { 0x3947, 72610 }, + { 0x3948, 72614 }, + { 0x3949, 72618 }, + { 0x394A, 72622 }, + { 0x393F, 72626 }, + { 0x394B, 72630 }, + { 0x394C, 72634 }, + { 0x394D, 72638 }, + { 0x394E, 72642 }, + { 0x394F, 72646 }, + { 0x3950, 72650 }, + { 0x3951, 72654 }, + { 0x3952, 72658 }, + { 0x3953, 72662 }, + { 0x3954, 72666 }, + { 0x3955, 72670 }, + { 0x1109, 72674 }, + { 0x3956, 72678 }, + { 0x3959, 72682 }, + { 0x395A, 72686 }, + { 0x395B, 72690 }, + { 0x395C, 72694 }, + { 0x395D, 72698 }, + { 0x3964, 72702 }, + { 0x3966, 72706 }, + { 0x3967, 72710 }, + { 0x3968, 72714 }, + { 0x3969, 72718 }, + { 0x396A, 72722 }, + { 0x396C, 72726 }, + { 0x396E, 72730 }, + { 0x3970, 72734 }, + { 0x3981, 72738 }, + { 0x3982, 72742 }, + { 0x3983, 72746 }, + { 0x3984, 72750 }, + { 0x3985, 72754 }, + { 0x3986, 72758 }, + { 0x3987, 72762 }, + { 0x1104, 72766 }, + { 0x1105, 72770 }, + { 0x1106, 72774 }, + { 0x1107, 72778 }, + { 0x1108, 72782 }, + { 0x3974, 72786 }, + { 0x3957, 72790 }, + { 0x3958, 72794 }, + { 0x395E, 72798 }, + { 0x395F, 72802 }, + { 0x3960, 72806 }, + { 0x3961, 72810 }, + { 0x3962, 72814 }, + { 0x3963, 72818 }, + { 0x3975, 72822 }, + { 0x3976, 72826 }, + { 0x3977, 72830 }, + { 0x3978, 72834 }, + { 0x3979, 72838 }, + { 0x397A, 72842 }, + { 0x397B, 72846 }, + { 0x397C, 72850 }, + { 0x397D, 72854 }, + { 0x397E, 72858 }, + { 0x397F, 72862 }, + { 0x3980, 72866 }, + { 0x10AE, 72870 }, + { 0x10AF, 72873 }, + { 0x10B0, 72876 }, + { 0x10B1, 72879 }, + { 0x10DB, 72882 }, + { 0x10B2, 72885 }, + { 0x10B3, 72888 }, + { 0x10E1, 72891 }, + { 0x10E3, 72894 }, + { 0x10E5, 72897 }, + { 0x10E7, 72900 }, + { 0x10E8, 72903 }, + { 0x10E9, 72906 }, + { 0x10B4, 72909 }, + { 0x10B6, 72912 }, + { 0x10B7, 72915 }, + { 0x10B8, 72918 }, + { 0x10B9, 72921 }, + { 0x10BA, 72924 }, + { 0x10BB, 72927 }, + { 0x10BC, 72930 }, + { 0x10BD, 72933 }, + { 0x10BE, 72936 }, + { 0x10BF, 72939 }, + { 0x10C0, 72942 }, + { 0x10B5, 72945 }, + { 0x10C1, 72948 }, + { 0x10C2, 72951 }, + { 0x10C3, 72954 }, + { 0x10C4, 72957 }, + { 0x10C5, 72960 }, + { 0x10C6, 72963 }, + { 0x10C7, 72966 }, + { 0x10C8, 72969 }, + { 0x10C9, 72972 }, + { 0x10CA, 72975 }, + { 0x10CB, 72978 }, + { 0x1103, 72981 }, + { 0x10CC, 72984 }, + { 0x10CF, 72987 }, + { 0x10D0, 72990 }, + { 0x10D1, 72993 }, + { 0x10D2, 72996 }, + { 0x10D3, 72999 }, + { 0x10DA, 73002 }, + { 0x10DC, 73005 }, + { 0x10DD, 73008 }, + { 0x10DE, 73011 }, + { 0x10DF, 73014 }, + { 0x10E0, 73017 }, + { 0x10E2, 73020 }, + { 0x10E4, 73023 }, + { 0x10E6, 73026 }, + { 0x10F7, 73029 }, + { 0x10F8, 73032 }, + { 0x10F9, 73035 }, + { 0x10FA, 73038 }, + { 0x10FB, 73041 }, + { 0x10FC, 73044 }, + { 0x10FD, 73047 }, + { 0x10FE, 73050 }, + { 0x10FF, 73053 }, + { 0x1100, 73056 }, + { 0x1101, 73059 }, + { 0x1102, 73062 }, + { 0x10EA, 73065 }, + { 0x10CD, 73068 }, + { 0x10CE, 73071 }, + { 0x10D4, 73074 }, + { 0x10D5, 73077 }, + { 0x10D6, 73080 }, + { 0x10D7, 73083 }, + { 0x10D8, 73086 }, + { 0x10D9, 73089 }, + { 0x10EB, 73092 }, + { 0x10EC, 73095 }, + { 0x10ED, 73098 }, + { 0x10EE, 73101 }, + { 0x10EF, 73104 }, + { 0x10F0, 73107 }, + { 0x10F1, 73110 }, + { 0x10F2, 73113 }, + { 0x10F3, 73116 }, + { 0x10F4, 73119 }, + { 0x10F5, 73122 }, + { 0x10F6, 73125 }, + { 0x6C8D, 73128 }, + { 0x6C6B, 73129 }, + { 0x6FF3, 73130 }, + { 0x6D7A, 73132 }, + { 0x6D8A, 73133 }, + { 0x6CB6, 73136 }, + { 0x71A5, 73139 }, + { 0x6CB3, 73141 }, + { 0x6CC5, 73143 }, + { 0x6F50, 73145 }, + { 0x1D94, 73147 }, + { 0x1E3C, 73150 }, + { 0x1E3E, 73154 }, + { 0x1E83, 73161 }, + { 0x1E86, 73166 }, + { 0x1E84, 73169 }, + { 0x61F2, 73178 }, + { 0x61F7, 73183 }, + { 0x61F3, 73188 }, + { 0x61F6, 73193 }, + { 0x61F5, 73198 }, + { 0x61FA, 73203 }, + { 0x61F9, 73208 }, + { 0x61F8, 73213 }, + { 0x61F4, 73218 }, + { 0x61E9, 73223 }, + { 0x61EE, 73228 }, + { 0x61EA, 73233 }, + { 0x61ED, 73238 }, + { 0x61EC, 73243 }, + { 0x61F1, 73248 }, + { 0x61F0, 73253 }, + { 0x61EF, 73258 }, + { 0x61EB, 73263 }, + { 0x6C54, 73268 }, + { 0x2226, 73270 }, + { 0x1C4F, 73272 }, + { 0x71B1, 73274 }, + { 0x0063, 73275 }, + { 0x6DEC, 73277 }, + { 0x03E6, 73279 }, + { 0x0487, 73283 }, + { 0x0489, 73289 }, + { 0x0403, 73295 }, + { 0x04A3, 73299 }, + { 0x03EE, 73305 }, + { 0x0413, 73309 }, + { 0x0499, 73315 }, + { 0x049B, 73321 }, + { 0x03F4, 73327 }, + { 0x049D, 73331 }, + { 0x03F9, 73337 }, + { 0x04A9, 73341 }, + { 0x04A5, 73348 }, + { 0x04A7, 73354 }, + { 0x03E7, 73360 }, + { 0x03EA, 73364 }, + { 0x03FA, 73368 }, + { 0x03F1, 73372 }, + { 0x04C9, 73376 }, + { 0x047C, 73382 }, + { 0x04D7, 73388 }, + { 0x04E5, 73395 }, + { 0x03F2, 73401 }, + { 0x0484, 73405 }, + { 0x03F3, 73411 }, + { 0x047E, 73415 }, + { 0x04DF, 73421 }, + { 0x0480, 73428 }, + { 0x04D9, 73434 }, + { 0x0459, 73441 }, + { 0x03F6, 73447 }, + { 0x0445, 73451 }, + { 0x03F7, 73457 }, + { 0x0461, 73461 }, + { 0x03FB, 73467 }, + { 0x04B3, 73471 }, + { 0x04B5, 73477 }, + { 0x0469, 73483 }, + { 0x03EB, 73489 }, + { 0x048D, 73493 }, + { 0x0406, 73499 }, + { 0x0407, 73505 }, + { 0x040E, 73509 }, + { 0x03F0, 73513 }, + { 0x047A, 73517 }, + { 0x0455, 73523 }, + { 0x0453, 73529 }, + { 0x0451, 73536 }, + { 0x0435, 73542 }, + { 0x03F5, 73546 }, + { 0x045D, 73550 }, + { 0x04DB, 73557 }, + { 0x04D1, 73563 }, + { 0x03F8, 73567 }, + { 0x3519, 73571 }, + { 0x0463, 73578 }, + { 0x042F, 73584 }, + { 0x03E8, 73588 }, + { 0x04D3, 73592 }, + { 0x0405, 73596 }, + { 0x040D, 73600 }, + { 0x34ED, 73604 }, + { 0x0404, 73608 }, + { 0x03ED, 73612 }, + { 0x044F, 73616 }, + { 0x0495, 73622 }, + { 0x0421, 73628 }, + { 0x03FD, 73633 }, + { 0x046F, 73637 }, + { 0x046D, 73644 }, + { 0x04AB, 73650 }, + { 0x0408, 73656 }, + { 0x350F, 73660 }, + { 0x040B, 73664 }, + { 0x03E9, 73668 }, + { 0x044B, 73672 }, + { 0x0449, 73679 }, + { 0x04B1, 73685 }, + { 0x0447, 73693 }, + { 0x04AD, 73699 }, + { 0x0409, 73705 }, + { 0x3523, 73709 }, + { 0x0412, 73713 }, + { 0x0425, 73717 }, + { 0x04CB, 73721 }, + { 0x040F, 73725 }, + { 0x0410, 73729 }, + { 0x0427, 73733 }, + { 0x04CD, 73737 }, + { 0x03FE, 73741 }, + { 0x03FC, 73745 }, + { 0x351B, 73749 }, + { 0x04CF, 73753 }, + { 0x0419, 73757 }, + { 0x03EC, 73761 }, + { 0x0478, 73765 }, + { 0x044D, 73771 }, + { 0x0493, 73777 }, + { 0x3515, 73783 }, + { 0x04E3, 73787 }, + { 0x0415, 73791 }, + { 0x3511, 73795 }, + { 0x3517, 73799 }, + { 0x0429, 73803 }, + { 0x0400, 73807 }, + { 0x34D5, 73812 }, + { 0x04B7, 73816 }, + { 0x04B9, 73821 }, + { 0x04BF, 73826 }, + { 0x04C1, 73831 }, + { 0x04C3, 73836 }, + { 0x04C5, 73841 }, + { 0x04BB, 73846 }, + { 0x04BD, 73851 }, + { 0x0471, 73856 }, + { 0x04DD, 73860 }, + { 0x3525, 73866 }, + { 0x34F1, 73870 }, + { 0x34F3, 73875 }, + { 0x34F5, 73880 }, + { 0x0402, 73885 }, + { 0x189A, 73890 }, + { 0x189D, 73895 }, + { 0x189C, 73900 }, + { 0x3521, 73906 }, + { 0x0411, 73910 }, + { 0x351F, 73914 }, + { 0x351D, 73918 }, + { 0x1899, 73922 }, + { 0x0401, 73927 }, + { 0x34DF, 73931 }, + { 0x04AF, 73938 }, + { 0x3513, 73944 }, + { 0x04D5, 73948 }, + { 0x34DB, 73953 }, + { 0x34D7, 73958 }, + { 0x34D1, 73962 }, + { 0x04E1, 73966 }, + { 0x0437, 73970 }, + { 0x0417, 73974 }, + { 0x0433, 73978 }, + { 0x0431, 73984 }, + { 0x048F, 73989 }, + { 0x0491, 73993 }, + { 0x03FF, 73999 }, + { 0x03EF, 74003 }, + { 0x0441, 74008 }, + { 0x0414, 74015 }, + { 0x049F, 74020 }, + { 0x04A1, 74025 }, + { 0x34E7, 74032 }, + { 0x3527, 74038 }, + { 0x34FB, 74043 }, + { 0x041D, 74049 }, + { 0x1898, 74054 }, + { 0x34CF, 74059 }, + { 0x0457, 74063 }, + { 0x34E9, 74068 }, + { 0x3529, 74073 }, + { 0x042B, 74078 }, + { 0x042D, 74082 }, + { 0x34DD, 74090 }, + { 0x1896, 74095 }, + { 0x34E5, 74100 }, + { 0x041B, 74105 }, + { 0x0423, 74110 }, + { 0x34E1, 74116 }, + { 0x34EB, 74121 }, + { 0x041F, 74128 }, + { 0x0485, 74134 }, + { 0x34E3, 74138 }, + { 0x04C7, 74143 }, + { 0x34D3, 74148 }, + { 0x34EF, 74153 }, + { 0x0443, 74158 }, + { 0x0465, 74163 }, + { 0x0467, 74168 }, + { 0x045F, 74175 }, + { 0x0473, 74180 }, + { 0x0475, 74185 }, + { 0x0497, 74192 }, + { 0x34F9, 74197 }, + { 0x34F7, 74202 }, + { 0x34D9, 74207 }, + { 0x040A, 74212 }, + { 0x189E, 74217 }, + { 0x0482, 74222 }, + { 0x1897, 74227 }, + { 0x189B, 74232 }, + { 0x040C, 74237 }, + { 0x048B, 74242 }, + { 0x045B, 74247 }, + { 0x046B, 74252 }, + { 0x350C, 74257 }, + { 0x18FB, 74259 }, + { 0x0476, 74264 }, + { 0x34FC, 74267 }, + { 0x03C6, 74271 }, + { 0x0486, 74275 }, + { 0x0488, 74281 }, + { 0x03E3, 74287 }, + { 0x04A2, 74291 }, + { 0x03CE, 74297 }, + { 0x03C3, 74301 }, + { 0x0498, 74307 }, + { 0x049A, 74313 }, + { 0x03D4, 74319 }, + { 0x049C, 74323 }, + { 0x03D9, 74329 }, + { 0x04A8, 74333 }, + { 0x04A4, 74340 }, + { 0x04A6, 74346 }, + { 0x03C7, 74352 }, + { 0x03CA, 74356 }, + { 0x03DA, 74360 }, + { 0x03D1, 74364 }, + { 0x04C8, 74368 }, + { 0x047B, 74374 }, + { 0x04D6, 74380 }, + { 0x04E4, 74387 }, + { 0x03D2, 74393 }, + { 0x0483, 74397 }, + { 0x03D3, 74403 }, + { 0x047D, 74407 }, + { 0x04DE, 74413 }, + { 0x047F, 74420 }, + { 0x04D8, 74426 }, + { 0x0458, 74433 }, + { 0x03D6, 74439 }, + { 0x0444, 74443 }, + { 0x03D7, 74449 }, + { 0x0460, 74453 }, + { 0x03DB, 74459 }, + { 0x04B2, 74463 }, + { 0x04B4, 74469 }, + { 0x0468, 74475 }, + { 0x03CB, 74481 }, + { 0x048C, 74485 }, + { 0x03B6, 74491 }, + { 0x03B7, 74497 }, + { 0x03BE, 74501 }, + { 0x03D0, 74505 }, + { 0x0479, 74509 }, + { 0x0454, 74515 }, + { 0x0452, 74521 }, + { 0x0450, 74528 }, + { 0x0434, 74534 }, + { 0x03D5, 74538 }, + { 0x045C, 74542 }, + { 0x04DA, 74549 }, + { 0x04D0, 74555 }, + { 0x03D8, 74559 }, + { 0x3518, 74563 }, + { 0x0462, 74570 }, + { 0x042E, 74576 }, + { 0x03C8, 74580 }, + { 0x04D2, 74584 }, + { 0x03E5, 74588 }, + { 0x03BD, 74592 }, + { 0x34EC, 74596 }, + { 0x03E4, 74600 }, + { 0x03CD, 74604 }, + { 0x044E, 74608 }, + { 0x0494, 74614 }, + { 0x0420, 74620 }, + { 0x03DD, 74625 }, + { 0x046E, 74629 }, + { 0x046C, 74636 }, + { 0x04AA, 74642 }, + { 0x03B8, 74648 }, + { 0x350E, 74652 }, + { 0x03BB, 74656 }, + { 0x03C9, 74660 }, + { 0x044A, 74664 }, + { 0x0448, 74671 }, + { 0x04B0, 74677 }, + { 0x0446, 74685 }, + { 0x04AC, 74691 }, + { 0x03B9, 74697 }, + { 0x3522, 74701 }, + { 0x03C2, 74705 }, + { 0x0424, 74709 }, + { 0x04CA, 74713 }, + { 0x03BF, 74717 }, + { 0x03C0, 74721 }, + { 0x0426, 74725 }, + { 0x04CC, 74729 }, + { 0x03DE, 74733 }, + { 0x03DC, 74737 }, + { 0x351A, 74741 }, + { 0x04CE, 74745 }, + { 0x0418, 74749 }, + { 0x03CC, 74753 }, + { 0x0477, 74757 }, + { 0x044C, 74763 }, + { 0x0492, 74769 }, + { 0x3514, 74775 }, + { 0x04E2, 74779 }, + { 0x03C5, 74783 }, + { 0x3510, 74787 }, + { 0x3516, 74791 }, + { 0x0428, 74795 }, + { 0x03E0, 74799 }, + { 0x34D4, 74804 }, + { 0x04B6, 74808 }, + { 0x04B8, 74813 }, + { 0x04BE, 74818 }, + { 0x04C0, 74823 }, + { 0x04C2, 74828 }, + { 0x04C4, 74833 }, + { 0x04BA, 74838 }, + { 0x04BC, 74843 }, + { 0x0470, 74848 }, + { 0x04DC, 74852 }, + { 0x3524, 74858 }, + { 0x34F0, 74862 }, + { 0x34F2, 74867 }, + { 0x34F4, 74872 }, + { 0x03E2, 74877 }, + { 0x3520, 74882 }, + { 0x03C1, 74886 }, + { 0x351E, 74890 }, + { 0x351C, 74894 }, + { 0x03E1, 74898 }, + { 0x34DE, 74902 }, + { 0x04AE, 74909 }, + { 0x3512, 74915 }, + { 0x04D4, 74919 }, + { 0x34DA, 74924 }, + { 0x34D6, 74929 }, + { 0x34D0, 74933 }, + { 0x04E0, 74937 }, + { 0x0436, 74941 }, + { 0x0416, 74945 }, + { 0x0432, 74949 }, + { 0x0430, 74955 }, + { 0x048E, 74960 }, + { 0x0490, 74964 }, + { 0x03DF, 74970 }, + { 0x03CF, 74974 }, + { 0x0440, 74979 }, + { 0x03C4, 74986 }, + { 0x049E, 74991 }, + { 0x04A0, 74996 }, + { 0x34E6, 75003 }, + { 0x3526, 75009 }, + { 0x34FA, 75014 }, + { 0x041C, 75020 }, + { 0x34CE, 75025 }, + { 0x0456, 75029 }, + { 0x34E8, 75034 }, + { 0x3528, 75039 }, + { 0x042A, 75044 }, + { 0x042C, 75048 }, + { 0x34DC, 75056 }, + { 0x34E4, 75061 }, + { 0x041A, 75066 }, + { 0x0422, 75071 }, + { 0x34E0, 75077 }, + { 0x34EA, 75082 }, + { 0x041E, 75089 }, + { 0x34E2, 75095 }, + { 0x04C6, 75100 }, + { 0x34D2, 75105 }, + { 0x34EE, 75110 }, + { 0x0442, 75115 }, + { 0x0464, 75120 }, + { 0x0466, 75125 }, + { 0x045E, 75132 }, + { 0x0472, 75137 }, + { 0x0474, 75142 }, + { 0x0496, 75149 }, + { 0x34F8, 75154 }, + { 0x34F6, 75159 }, + { 0x34D8, 75164 }, + { 0x03BA, 75169 }, + { 0x0481, 75174 }, + { 0x03BC, 75179 }, + { 0x048A, 75184 }, + { 0x045A, 75189 }, + { 0x046A, 75194 }, + { 0x350D, 75199 }, + { 0x0438, 75201 }, + { 0x6F16, 75204 }, + { 0x6FD5, 75208 }, + { 0x6D15, 75210 }, + { 0x1E89, 75213 }, + { 0x2227, 75215 }, + { 0x00B6, 75217 }, + { 0x1D9E, 75219 }, + { 0x1E50, 75221 }, + { 0x6F09, 75223 }, + { 0x6EF4, 75224 }, + { 0x6EF5, 75227 }, + { 0x6EF6, 75232 }, + { 0x6CA4, 75235 }, + { 0x22F5, 75236 }, + { 0x7192, 75240 }, + { 0x5F67, 75242 }, + { 0x5F61, 75247 }, + { 0x5F63, 75251 }, + { 0x5F60, 75255 }, + { 0x5F64, 75260 }, + { 0x5F5D, 75264 }, + { 0x5F66, 75268 }, + { 0x5F5F, 75272 }, + { 0x5F5E, 75276 }, + { 0x5F62, 75281 }, + { 0x5F65, 75285 }, + { 0x5F4A, 75289 }, + { 0x5F4B, 75294 }, + { 0x5F48, 75299 }, + { 0x5F58, 75304 }, + { 0x5F5A, 75308 }, + { 0x5F57, 75312 }, + { 0x5F5B, 75317 }, + { 0x5F54, 75321 }, + { 0x5F56, 75325 }, + { 0x5F55, 75329 }, + { 0x5F59, 75334 }, + { 0x5F5C, 75338 }, + { 0x5F4C, 75342 }, + { 0x5F47, 75347 }, + { 0x5F49, 75352 }, + { 0x5F51, 75357 }, + { 0x5F52, 75362 }, + { 0x5F50, 75367 }, + { 0x5F4D, 75371 }, + { 0x5F4F, 75375 }, + { 0x5F53, 75379 }, + { 0x5F4E, 75384 }, + { 0x5F68, 75389 }, + { 0x5F69, 75393 }, + { 0x5F1D, 75396 }, + { 0x5EE3, 75399 }, + { 0x5EE4, 75402 }, + { 0x5EE9, 75405 }, + { 0x5F23, 75409 }, + { 0x5EE0, 75412 }, + { 0x5EEA, 75415 }, + { 0x5EE6, 75419 }, + { 0x5F1A, 75422 }, + { 0x5EDC, 75427 }, + { 0x5F22, 75430 }, + { 0x5EF7, 75433 }, + { 0x5EFB, 75436 }, + { 0x5F09, 75440 }, + { 0x5F0C, 75445 }, + { 0x5F0D, 75449 }, + { 0x5F05, 75454 }, + { 0x5F0B, 75458 }, + { 0x5EFF, 75464 }, + { 0x5F00, 75469 }, + { 0x5EE1, 75477 }, + { 0x5EEB, 75480 }, + { 0x5F19, 75484 }, + { 0x5EE2, 75489 }, + { 0x5EF5, 75492 }, + { 0x5EF9, 75495 }, + { 0x5F07, 75499 }, + { 0x5F03, 75504 }, + { 0x5EFD, 75508 }, + { 0x5EF6, 75513 }, + { 0x5EFA, 75516 }, + { 0x5F08, 75520 }, + { 0x5F04, 75525 }, + { 0x5EFE, 75529 }, + { 0x5F20, 75534 }, + { 0x5EDE, 75537 }, + { 0x5EE8, 75540 }, + { 0x5EE7, 75544 }, + { 0x5EEC, 75547 }, + { 0x5EF8, 75551 }, + { 0x5EFC, 75554 }, + { 0x5F0A, 75558 }, + { 0x5F1B, 75563 }, + { 0x5F1C, 75567 }, + { 0x5F18, 75572 }, + { 0x5F17, 75576 }, + { 0x5F10, 75580 }, + { 0x5F11, 75584 }, + { 0x5F06, 75589 }, + { 0x5F0E, 75593 }, + { 0x5F0F, 75597 }, + { 0x5F01, 75602 }, + { 0x5F02, 75607 }, + { 0x5EDF, 75613 }, + { 0x5F13, 75616 }, + { 0x5F12, 75621 }, + { 0x5F2D, 75625 }, + { 0x5F30, 75628 }, + { 0x5EE5, 75632 }, + { 0x5F14, 75635 }, + { 0x5F16, 75638 }, + { 0x5EDD, 75642 }, + { 0x5EEF, 75645 }, + { 0x5F27, 75648 }, + { 0x5F2E, 75651 }, + { 0x5EF2, 75654 }, + { 0x5F24, 75657 }, + { 0x5EF0, 75660 }, + { 0x5EF3, 75663 }, + { 0x5F1F, 75666 }, + { 0x5F37, 75669 }, + { 0x5F36, 75672 }, + { 0x5EF4, 75675 }, + { 0x5EED, 75678 }, + { 0x5F33, 75681 }, + { 0x5F26, 75684 }, + { 0x5F38, 75687 }, + { 0x5F15, 75690 }, + { 0x5F3A, 75693 }, + { 0x5F39, 75696 }, + { 0x5F2F, 75699 }, + { 0x5F2C, 75702 }, + { 0x5F21, 75705 }, + { 0x5F35, 75708 }, + { 0x5F3B, 75711 }, + { 0x5F3C, 75714 }, + { 0x5F2B, 75717 }, + { 0x5F31, 75721 }, + { 0x5F40, 75725 }, + { 0x5F3F, 75729 }, + { 0x5F3E, 75733 }, + { 0x5F3D, 75737 }, + { 0x5F25, 75741 }, + { 0x5EF1, 75745 }, + { 0x5F34, 75749 }, + { 0x5F44, 75753 }, + { 0x5EEE, 75757 }, + { 0x5F2A, 75761 }, + { 0x5F28, 75765 }, + { 0x5F43, 75769 }, + { 0x5F45, 75773 }, + { 0x5F1E, 75777 }, + { 0x5F42, 75781 }, + { 0x5F41, 75785 }, + { 0x5F46, 75789 }, + { 0x5F29, 75793 }, + { 0x5F32, 75797 }, + { 0x5F6A, 75801 }, + { 0x51E4, 75806 }, + { 0x51E5, 75809 }, + { 0x51E6, 75812 }, + { 0x51E7, 75815 }, + { 0x51E8, 75818 }, + { 0x51EA, 75821 }, + { 0x51ED, 75824 }, + { 0x51EE, 75827 }, + { 0x51EF, 75830 }, + { 0x51F0, 75833 }, + { 0x51F1, 75836 }, + { 0x51F2, 75839 }, + { 0x51F3, 75842 }, + { 0x51F4, 75845 }, + { 0x51F6, 75848 }, + { 0x51F7, 75851 }, + { 0x51F8, 75854 }, + { 0x51FA, 75857 }, + { 0x51FB, 75860 }, + { 0x51FC, 75863 }, + { 0x51FD, 75866 }, + { 0x51FE, 75869 }, + { 0x51FF, 75872 }, + { 0x5200, 75875 }, + { 0x5201, 75878 }, + { 0x5202, 75881 }, + { 0x5203, 75884 }, + { 0x5204, 75887 }, + { 0x5205, 75890 }, + { 0x5206, 75893 }, + { 0x5207, 75896 }, + { 0x5208, 75899 }, + { 0x520A, 75902 }, + { 0x520B, 75905 }, + { 0x520C, 75908 }, + { 0x520D, 75911 }, + { 0x520E, 75914 }, + { 0x520F, 75917 }, + { 0x5210, 75920 }, + { 0x5211, 75923 }, + { 0x5213, 75926 }, + { 0x5214, 75929 }, + { 0x5216, 75932 }, + { 0x5218, 75935 }, + { 0x5219, 75938 }, + { 0x521B, 75941 }, + { 0x521C, 75944 }, + { 0x521D, 75947 }, + { 0x521E, 75950 }, + { 0x521F, 75953 }, + { 0x5220, 75956 }, + { 0x5221, 75959 }, + { 0x5222, 75962 }, + { 0x5223, 75965 }, + { 0x5224, 75968 }, + { 0x5225, 75971 }, + { 0x5226, 75974 }, + { 0x5227, 75977 }, + { 0x5228, 75980 }, + { 0x5229, 75983 }, + { 0x522A, 75986 }, + { 0x522B, 75989 }, + { 0x522C, 75992 }, + { 0x522D, 75995 }, + { 0x522E, 75998 }, + { 0x522F, 76001 }, + { 0x5230, 76004 }, + { 0x5231, 76007 }, + { 0x5232, 76010 }, + { 0x5233, 76013 }, + { 0x5234, 76016 }, + { 0x5235, 76019 }, + { 0x5236, 76022 }, + { 0x5237, 76025 }, + { 0x5238, 76028 }, + { 0x523A, 76031 }, + { 0x523B, 76034 }, + { 0x523C, 76037 }, + { 0x523D, 76040 }, + { 0x523E, 76043 }, + { 0x523F, 76046 }, + { 0x5243, 76049 }, + { 0x5244, 76052 }, + { 0x5245, 76055 }, + { 0x5246, 76058 }, + { 0x5247, 76061 }, + { 0x5248, 76064 }, + { 0x5249, 76067 }, + { 0x524A, 76070 }, + { 0x524C, 76073 }, + { 0x524D, 76076 }, + { 0x524E, 76079 }, + { 0x524F, 76082 }, + { 0x5250, 76085 }, + { 0x5251, 76088 }, + { 0x5252, 76091 }, + { 0x5253, 76094 }, + { 0x5254, 76097 }, + { 0x5255, 76100 }, + { 0x5256, 76103 }, + { 0x5257, 76106 }, + { 0x5258, 76109 }, + { 0x5259, 76112 }, + { 0x525A, 76115 }, + { 0x525B, 76118 }, + { 0x525C, 76121 }, + { 0x525D, 76124 }, + { 0x525E, 76127 }, + { 0x525F, 76130 }, + { 0x5260, 76133 }, + { 0x5261, 76136 }, + { 0x5263, 76139 }, + { 0x5264, 76142 }, + { 0x5265, 76145 }, + { 0x5266, 76148 }, + { 0x5267, 76151 }, + { 0x5268, 76154 }, + { 0x5269, 76157 }, + { 0x526A, 76160 }, + { 0x526B, 76163 }, + { 0x526C, 76166 }, + { 0x526D, 76169 }, + { 0x526E, 76172 }, + { 0x526F, 76175 }, + { 0x5270, 76178 }, + { 0x5271, 76181 }, + { 0x5272, 76184 }, + { 0x5273, 76187 }, + { 0x5274, 76190 }, + { 0x5275, 76193 }, + { 0x5277, 76196 }, + { 0x5278, 76199 }, + { 0x5279, 76202 }, + { 0x527A, 76205 }, + { 0x527C, 76208 }, + { 0x527D, 76211 }, + { 0x527E, 76214 }, + { 0x5280, 76217 }, + { 0x5281, 76220 }, + { 0x5282, 76223 }, + { 0x5283, 76226 }, + { 0x5284, 76229 }, + { 0x5285, 76232 }, + { 0x5286, 76235 }, + { 0x5287, 76238 }, + { 0x5288, 76241 }, + { 0x5289, 76244 }, + { 0x528A, 76247 }, + { 0x528B, 76250 }, + { 0x528D, 76253 }, + { 0x528E, 76256 }, + { 0x5290, 76259 }, + { 0x5291, 76262 }, + { 0x529B, 76265 }, + { 0x529C, 76268 }, + { 0x529E, 76271 }, + { 0x529F, 76274 }, + { 0x52A1, 76277 }, + { 0x52A2, 76280 }, + { 0x52A3, 76283 }, + { 0x52A4, 76286 }, + { 0x52A5, 76289 }, + { 0x52A6, 76292 }, + { 0x52A7, 76295 }, + { 0x52A8, 76298 }, + { 0x52A9, 76301 }, + { 0x52AA, 76304 }, + { 0x52AB, 76307 }, + { 0x52AC, 76310 }, + { 0x52AD, 76313 }, + { 0x52B6, 76316 }, + { 0x52B7, 76319 }, + { 0x52B8, 76322 }, + { 0x52B9, 76325 }, + { 0x52BA, 76328 }, + { 0x52BB, 76331 }, + { 0x52BC, 76334 }, + { 0x52BD, 76337 }, + { 0x52BF, 76340 }, + { 0x52C1, 76343 }, + { 0x52C2, 76346 }, + { 0x52C3, 76349 }, + { 0x52C4, 76352 }, + { 0x52C5, 76355 }, + { 0x52C6, 76358 }, + { 0x52C7, 76361 }, + { 0x52C9, 76364 }, + { 0x52CB, 76367 }, + { 0x52CC, 76370 }, + { 0x52CD, 76373 }, + { 0x52CF, 76376 }, + { 0x52D0, 76379 }, + { 0x52D1, 76382 }, + { 0x52D2, 76385 }, + { 0x52D3, 76388 }, + { 0x52D4, 76391 }, + { 0x52D5, 76394 }, + { 0x52D6, 76397 }, + { 0x52D8, 76400 }, + { 0x52D9, 76403 }, + { 0x52DA, 76406 }, + { 0x52DB, 76409 }, + { 0x52DC, 76412 }, + { 0x52DD, 76415 }, + { 0x52DF, 76418 }, + { 0x52E0, 76421 }, + { 0x52E1, 76424 }, + { 0x52E2, 76427 }, + { 0x52E4, 76430 }, + { 0x52E5, 76433 }, + { 0x52E6, 76436 }, + { 0x52E7, 76439 }, + { 0x52E8, 76442 }, + { 0x52E9, 76445 }, + { 0x52EA, 76448 }, + { 0x52EB, 76451 }, + { 0x52EC, 76454 }, + { 0x52ED, 76457 }, + { 0x52EE, 76460 }, + { 0x52EF, 76463 }, + { 0x52F1, 76466 }, + { 0x52F2, 76469 }, + { 0x52F3, 76472 }, + { 0x52F4, 76475 }, + { 0x52F5, 76478 }, + { 0x52F6, 76481 }, + { 0x52F7, 76484 }, + { 0x52F8, 76487 }, + { 0x52FA, 76490 }, + { 0x52FB, 76493 }, + { 0x52FC, 76496 }, + { 0x52FD, 76499 }, + { 0x52FE, 76502 }, + { 0x52FF, 76505 }, + { 0x5300, 76508 }, + { 0x5301, 76511 }, + { 0x5302, 76514 }, + { 0x5303, 76517 }, + { 0x5305, 76520 }, + { 0x5306, 76523 }, + { 0x5307, 76526 }, + { 0x5308, 76529 }, + { 0x5309, 76532 }, + { 0x530A, 76535 }, + { 0x530C, 76538 }, + { 0x530E, 76541 }, + { 0x530F, 76544 }, + { 0x5310, 76547 }, + { 0x5311, 76550 }, + { 0x5312, 76553 }, + { 0x5313, 76556 }, + { 0x5314, 76559 }, + { 0x5316, 76562 }, + { 0x5318, 76565 }, + { 0x531A, 76568 }, + { 0x531B, 76571 }, + { 0x531C, 76574 }, + { 0x531D, 76577 }, + { 0x5321, 76580 }, + { 0x5322, 76583 }, + { 0x5323, 76586 }, + { 0x5324, 76589 }, + { 0x5325, 76592 }, + { 0x5326, 76595 }, + { 0x5327, 76598 }, + { 0x5328, 76601 }, + { 0x532A, 76604 }, + { 0x532D, 76607 }, + { 0x532E, 76610 }, + { 0x532F, 76613 }, + { 0x5330, 76616 }, + { 0x5332, 76619 }, + { 0x5333, 76622 }, + { 0x5334, 76625 }, + { 0x5335, 76628 }, + { 0x5336, 76631 }, + { 0x5337, 76634 }, + { 0x5338, 76637 }, + { 0x5339, 76640 }, + { 0x533A, 76643 }, + { 0x533C, 76646 }, + { 0x533D, 76649 }, + { 0x533E, 76652 }, + { 0x533F, 76655 }, + { 0x5340, 76658 }, + { 0x5341, 76661 }, + { 0x5343, 76664 }, + { 0x5344, 76667 }, + { 0x5345, 76670 }, + { 0x5346, 76673 }, + { 0x5347, 76676 }, + { 0x5348, 76679 }, + { 0x5349, 76682 }, + { 0x534A, 76685 }, + { 0x534B, 76688 }, + { 0x534C, 76691 }, + { 0x534E, 76694 }, + { 0x5350, 76697 }, + { 0x5351, 76700 }, + { 0x5352, 76703 }, + { 0x5353, 76706 }, + { 0x5354, 76709 }, + { 0x5355, 76712 }, + { 0x5357, 76715 }, + { 0x5358, 76718 }, + { 0x535A, 76721 }, + { 0x535B, 76724 }, + { 0x535C, 76727 }, + { 0x535D, 76730 }, + { 0x535E, 76733 }, + { 0x535F, 76736 }, + { 0x5360, 76739 }, + { 0x5361, 76742 }, + { 0x5362, 76745 }, + { 0x5363, 76748 }, + { 0x5364, 76751 }, + { 0x5365, 76754 }, + { 0x5366, 76757 }, + { 0x5367, 76760 }, + { 0x5368, 76763 }, + { 0x536A, 76766 }, + { 0x536B, 76769 }, + { 0x536C, 76772 }, + { 0x536D, 76775 }, + { 0x536E, 76778 }, + { 0x536F, 76781 }, + { 0x5370, 76784 }, + { 0x5372, 76787 }, + { 0x5373, 76790 }, + { 0x5374, 76793 }, + { 0x5375, 76796 }, + { 0x5377, 76799 }, + { 0x5379, 76802 }, + { 0x537B, 76805 }, + { 0x537C, 76808 }, + { 0x537D, 76811 }, + { 0x537E, 76814 }, + { 0x537F, 76817 }, + { 0x5380, 76820 }, + { 0x5381, 76823 }, + { 0x5382, 76826 }, + { 0x5383, 76829 }, + { 0x5384, 76832 }, + { 0x5385, 76835 }, + { 0x5386, 76838 }, + { 0x5387, 76841 }, + { 0x5388, 76844 }, + { 0x538A, 76847 }, + { 0x538B, 76850 }, + { 0x538C, 76853 }, + { 0x538D, 76856 }, + { 0x538F, 76859 }, + { 0x5390, 76862 }, + { 0x5391, 76865 }, + { 0x5394, 76868 }, + { 0x5395, 76871 }, + { 0x5397, 76874 }, + { 0x5398, 76877 }, + { 0x5399, 76880 }, + { 0x539A, 76883 }, + { 0x539B, 76886 }, + { 0x539C, 76889 }, + { 0x539D, 76892 }, + { 0x539F, 76895 }, + { 0x53A0, 76898 }, + { 0x53A9, 76901 }, + { 0x53AA, 76904 }, + { 0x53AB, 76907 }, + { 0x53AD, 76910 }, + { 0x53AF, 76913 }, + { 0x53B1, 76916 }, + { 0x53B2, 76919 }, + { 0x53B3, 76922 }, + { 0x53B4, 76925 }, + { 0x53B5, 76928 }, + { 0x53B7, 76931 }, + { 0x53B8, 76934 }, + { 0x53BA, 76937 }, + { 0x53BB, 76940 }, + { 0x53BC, 76943 }, + { 0x53BD, 76946 }, + { 0x53BF, 76949 }, + { 0x53C0, 76952 }, + { 0x53C1, 76955 }, + { 0x53C3, 76958 }, + { 0x53C4, 76961 }, + { 0x53C7, 76964 }, + { 0x53C8, 76967 }, + { 0x53C9, 76970 }, + { 0x53CA, 76973 }, + { 0x53CB, 76976 }, + { 0x53CC, 76979 }, + { 0x53CD, 76982 }, + { 0x53CF, 76985 }, + { 0x53D0, 76988 }, + { 0x53D1, 76991 }, + { 0x53D2, 76994 }, + { 0x53D3, 76997 }, + { 0x53D4, 77000 }, + { 0x53D5, 77003 }, + { 0x53D6, 77006 }, + { 0x53D7, 77009 }, + { 0x53D8, 77012 }, + { 0x53D9, 77015 }, + { 0x53DA, 77018 }, + { 0x53DB, 77021 }, + { 0x53DC, 77024 }, + { 0x53DD, 77027 }, + { 0x53DE, 77030 }, + { 0x53DF, 77033 }, + { 0x53E0, 77036 }, + { 0x53E1, 77039 }, + { 0x53E2, 77042 }, + { 0x53E3, 77045 }, + { 0x53E4, 77048 }, + { 0x53E7, 77051 }, + { 0x53E8, 77054 }, + { 0x53E9, 77057 }, + { 0x53EA, 77060 }, + { 0x53EB, 77063 }, + { 0x53EC, 77066 }, + { 0x53ED, 77069 }, + { 0x53EF, 77072 }, + { 0x53F0, 77075 }, + { 0x53F1, 77078 }, + { 0x53F2, 77081 }, + { 0x53F3, 77084 }, + { 0x53F4, 77087 }, + { 0x53F5, 77090 }, + { 0x53F6, 77093 }, + { 0x53F8, 77096 }, + { 0x53FA, 77099 }, + { 0x53FC, 77102 }, + { 0x53FD, 77105 }, + { 0x53FF, 77108 }, + { 0x5400, 77111 }, + { 0x5401, 77114 }, + { 0x5402, 77117 }, + { 0x5403, 77120 }, + { 0x5434, 77123 }, + { 0x5436, 77126 }, + { 0x5437, 77129 }, + { 0x5438, 77132 }, + { 0x5439, 77135 }, + { 0x543B, 77138 }, + { 0x5442, 77141 }, + { 0x5443, 77144 }, + { 0x5444, 77147 }, + { 0x5445, 77150 }, + { 0x5449, 77153 }, + { 0x544A, 77156 }, + { 0x544B, 77159 }, + { 0x544C, 77162 }, + { 0x544D, 77165 }, + { 0x544E, 77168 }, + { 0x544F, 77171 }, + { 0x5450, 77174 }, + { 0x5451, 77177 }, + { 0x5453, 77180 }, + { 0x5455, 77183 }, + { 0x5456, 77186 }, + { 0x5457, 77189 }, + { 0x5458, 77192 }, + { 0x545A, 77195 }, + { 0x545C, 77198 }, + { 0x545D, 77201 }, + { 0x545E, 77204 }, + { 0x545F, 77207 }, + { 0x5461, 77210 }, + { 0x5463, 77213 }, + { 0x5464, 77216 }, + { 0x5465, 77219 }, + { 0x5467, 77222 }, + { 0x5468, 77225 }, + { 0x5469, 77228 }, + { 0x546E, 77231 }, + { 0x546F, 77234 }, + { 0x5470, 77237 }, + { 0x5471, 77240 }, + { 0x5472, 77243 }, + { 0x5473, 77246 }, + { 0x5474, 77249 }, + { 0x5475, 77252 }, + { 0x5476, 77255 }, + { 0x5477, 77258 }, + { 0x5478, 77261 }, + { 0x5479, 77264 }, + { 0x547A, 77267 }, + { 0x547B, 77270 }, + { 0x547E, 77273 }, + { 0x547F, 77276 }, + { 0x5481, 77279 }, + { 0x5482, 77282 }, + { 0x5484, 77285 }, + { 0x5485, 77288 }, + { 0x5486, 77291 }, + { 0x5487, 77294 }, + { 0x5488, 77297 }, + { 0x5489, 77300 }, + { 0x548A, 77303 }, + { 0x548B, 77306 }, + { 0x548C, 77309 }, + { 0x548D, 77312 }, + { 0x548E, 77315 }, + { 0x548F, 77318 }, + { 0x5490, 77321 }, + { 0x5491, 77324 }, + { 0x5492, 77327 }, + { 0x5493, 77330 }, + { 0x5494, 77333 }, + { 0x5496, 77336 }, + { 0x5499, 77339 }, + { 0x549A, 77342 }, + { 0x549B, 77345 }, + { 0x549C, 77348 }, + { 0x549D, 77351 }, + { 0x549E, 77354 }, + { 0x549F, 77357 }, + { 0x54A1, 77360 }, + { 0x54A2, 77363 }, + { 0x54A3, 77366 }, + { 0x54A4, 77369 }, + { 0x54A5, 77372 }, + { 0x54A6, 77375 }, + { 0x54A8, 77378 }, + { 0x54A9, 77381 }, + { 0x54AA, 77384 }, + { 0x54AB, 77387 }, + { 0x54AC, 77390 }, + { 0x54AD, 77393 }, + { 0x54AE, 77396 }, + { 0x54AF, 77399 }, + { 0x54B0, 77402 }, + { 0x54B1, 77405 }, + { 0x54B2, 77408 }, + { 0x54B3, 77411 }, + { 0x54B4, 77414 }, + { 0x54B5, 77417 }, + { 0x54B6, 77420 }, + { 0x54B8, 77423 }, + { 0x54B9, 77426 }, + { 0x54BA, 77429 }, + { 0x54BB, 77432 }, + { 0x54BD, 77435 }, + { 0x54BE, 77438 }, + { 0x54BF, 77441 }, + { 0x54C0, 77444 }, + { 0x54C1, 77447 }, + { 0x54C2, 77450 }, + { 0x54C3, 77453 }, + { 0x54C4, 77456 }, + { 0x54C7, 77459 }, + { 0x54C8, 77462 }, + { 0x54C9, 77465 }, + { 0x54CB, 77468 }, + { 0x54CC, 77471 }, + { 0x54CD, 77474 }, + { 0x54CE, 77477 }, + { 0x54CF, 77480 }, + { 0x54D0, 77483 }, + { 0x54D1, 77486 }, + { 0x54D2, 77489 }, + { 0x54D3, 77492 }, + { 0x54D6, 77495 }, + { 0x54D7, 77498 }, + { 0x54D8, 77501 }, + { 0x54D9, 77504 }, + { 0x54DA, 77507 }, + { 0x54DB, 77510 }, + { 0x54DC, 77513 }, + { 0x54DD, 77516 }, + { 0x54DE, 77519 }, + { 0x54E0, 77522 }, + { 0x54E1, 77525 }, + { 0x54E2, 77528 }, + { 0x54E3, 77531 }, + { 0x54E4, 77534 }, + { 0x54E5, 77537 }, + { 0x54E6, 77540 }, + { 0x54E7, 77543 }, + { 0x54E8, 77546 }, + { 0x54E9, 77549 }, + { 0x54EA, 77552 }, + { 0x54EB, 77555 }, + { 0x54EC, 77558 }, + { 0x54ED, 77561 }, + { 0x54EF, 77564 }, + { 0x54F0, 77567 }, + { 0x54F1, 77570 }, + { 0x54F2, 77573 }, + { 0x54F4, 77576 }, + { 0x54F6, 77579 }, + { 0x54F8, 77582 }, + { 0x54F9, 77585 }, + { 0x54FB, 77588 }, + { 0x54FC, 77591 }, + { 0x54FD, 77594 }, + { 0x54FE, 77597 }, + { 0x54FF, 77600 }, + { 0x5501, 77603 }, + { 0x5502, 77606 }, + { 0x5503, 77609 }, + { 0x5504, 77612 }, + { 0x5505, 77615 }, + { 0x5506, 77618 }, + { 0x5507, 77621 }, + { 0x5508, 77624 }, + { 0x5509, 77627 }, + { 0x550A, 77630 }, + { 0x550B, 77633 }, + { 0x550C, 77636 }, + { 0x550D, 77639 }, + { 0x550E, 77642 }, + { 0x550F, 77645 }, + { 0x5510, 77648 }, + { 0x5512, 77651 }, + { 0x5514, 77654 }, + { 0x5515, 77657 }, + { 0x5516, 77660 }, + { 0x5517, 77663 }, + { 0x5518, 77666 }, + { 0x5519, 77669 }, + { 0x551A, 77672 }, + { 0x551B, 77675 }, + { 0x551C, 77678 }, + { 0x551F, 77681 }, + { 0x5520, 77684 }, + { 0x5521, 77687 }, + { 0x5522, 77690 }, + { 0x5523, 77693 }, + { 0x5524, 77696 }, + { 0x5525, 77699 }, + { 0x5526, 77702 }, + { 0x5527, 77705 }, + { 0x5528, 77708 }, + { 0x5529, 77711 }, + { 0x552A, 77714 }, + { 0x552B, 77717 }, + { 0x552C, 77720 }, + { 0x552D, 77723 }, + { 0x552E, 77726 }, + { 0x552F, 77729 }, + { 0x5531, 77732 }, + { 0x5532, 77735 }, + { 0x5533, 77738 }, + { 0x5534, 77741 }, + { 0x5535, 77744 }, + { 0x5536, 77747 }, + { 0x5538, 77750 }, + { 0x5539, 77753 }, + { 0x553A, 77756 }, + { 0x553C, 77759 }, + { 0x553D, 77762 }, + { 0x553E, 77765 }, + { 0x553F, 77768 }, + { 0x5540, 77771 }, + { 0x5541, 77774 }, + { 0x5542, 77777 }, + { 0x5543, 77780 }, + { 0x5544, 77783 }, + { 0x5545, 77786 }, + { 0x5546, 77789 }, + { 0x5550, 77792 }, + { 0x5552, 77795 }, + { 0x5553, 77798 }, + { 0x5554, 77801 }, + { 0x5555, 77804 }, + { 0x5556, 77807 }, + { 0x5559, 77810 }, + { 0x555A, 77813 }, + { 0x555B, 77816 }, + { 0x555C, 77819 }, + { 0x5560, 77822 }, + { 0x5563, 77825 }, + { 0x5564, 77828 }, + { 0x5565, 77831 }, + { 0x5566, 77834 }, + { 0x5567, 77837 }, + { 0x5568, 77840 }, + { 0x5569, 77843 }, + { 0x556A, 77846 }, + { 0x5577, 77849 }, + { 0x5578, 77852 }, + { 0x5579, 77855 }, + { 0x557B, 77858 }, + { 0x557C, 77861 }, + { 0x557D, 77864 }, + { 0x557E, 77867 }, + { 0x557F, 77870 }, + { 0x5581, 77873 }, + { 0x5583, 77876 }, + { 0x5585, 77879 }, + { 0x5587, 77882 }, + { 0x5588, 77885 }, + { 0x558A, 77888 }, + { 0x558B, 77891 }, + { 0x558C, 77894 }, + { 0x558D, 77897 }, + { 0x558F, 77900 }, + { 0x5590, 77903 }, + { 0x5591, 77906 }, + { 0x5593, 77909 }, + { 0x5594, 77912 }, + { 0x5595, 77915 }, + { 0x5597, 77918 }, + { 0x5598, 77921 }, + { 0x5599, 77924 }, + { 0x559A, 77927 }, + { 0x559B, 77930 }, + { 0x559C, 77933 }, + { 0x559E, 77936 }, + { 0x55A0, 77939 }, + { 0x55A1, 77942 }, + { 0x55A2, 77945 }, + { 0x55A3, 77948 }, + { 0x55A5, 77951 }, + { 0x55A6, 77954 }, + { 0x55A7, 77957 }, + { 0x55A9, 77960 }, + { 0x55AB, 77963 }, + { 0x55AC, 77966 }, + { 0x55AD, 77969 }, + { 0x55AE, 77972 }, + { 0x55AF, 77975 }, + { 0x55B0, 77978 }, + { 0x55B2, 77981 }, + { 0x55B3, 77984 }, + { 0x55B4, 77987 }, + { 0x55B5, 77990 }, + { 0x55B6, 77993 }, + { 0x55B9, 77996 }, + { 0x55BA, 77999 }, + { 0x55BC, 78002 }, + { 0x55BD, 78005 }, + { 0x55BF, 78008 }, + { 0x55C1, 78011 }, + { 0x55C2, 78014 }, + { 0x55C3, 78017 }, + { 0x55C4, 78020 }, + { 0x55C5, 78023 }, + { 0x55C6, 78026 }, + { 0x55C7, 78029 }, + { 0x55C8, 78032 }, + { 0x55C9, 78035 }, + { 0x55CE, 78038 }, + { 0x55D1, 78041 }, + { 0x55D3, 78044 }, + { 0x55D5, 78047 }, + { 0x55D6, 78050 }, + { 0x55D7, 78053 }, + { 0x55D8, 78056 }, + { 0x55D9, 78059 }, + { 0x55DA, 78062 }, + { 0x55DB, 78065 }, + { 0x55DC, 78068 }, + { 0x55DD, 78071 }, + { 0x55DE, 78074 }, + { 0x55E8, 78077 }, + { 0x51E9, 78080 }, + { 0x51EB, 78083 }, + { 0x51EC, 78086 }, + { 0x51F5, 78089 }, + { 0x51F9, 78092 }, + { 0x5209, 78095 }, + { 0x5212, 78098 }, + { 0x5215, 78101 }, + { 0x5217, 78104 }, + { 0x521A, 78107 }, + { 0x55F1, 78110 }, + { 0x55F2, 78113 }, + { 0x55F3, 78116 }, + { 0x55F4, 78119 }, + { 0x55F5, 78122 }, + { 0x55F6, 78125 }, + { 0x55F7, 78128 }, + { 0x55FA, 78131 }, + { 0x55FB, 78134 }, + { 0x55FC, 78137 }, + { 0x55FD, 78140 }, + { 0x55FE, 78143 }, + { 0x55FF, 78146 }, + { 0x5600, 78149 }, + { 0x5601, 78152 }, + { 0x5602, 78155 }, + { 0x5603, 78158 }, + { 0x5604, 78161 }, + { 0x5605, 78164 }, + { 0x5606, 78167 }, + { 0x5607, 78170 }, + { 0x5608, 78173 }, + { 0x5609, 78176 }, + { 0x560A, 78179 }, + { 0x560B, 78182 }, + { 0x560C, 78185 }, + { 0x560D, 78188 }, + { 0x560E, 78191 }, + { 0x560F, 78194 }, + { 0x5610, 78197 }, + { 0x5611, 78200 }, + { 0x5612, 78203 }, + { 0x5239, 78206 }, + { 0x5240, 78209 }, + { 0x5241, 78212 }, + { 0x5242, 78215 }, + { 0x524B, 78218 }, + { 0x5262, 78221 }, + { 0x5276, 78224 }, + { 0x527B, 78227 }, + { 0x527F, 78230 }, + { 0x528C, 78233 }, + { 0x528F, 78236 }, + { 0x5292, 78239 }, + { 0x5293, 78242 }, + { 0x5294, 78245 }, + { 0x5295, 78248 }, + { 0x5296, 78251 }, + { 0x5297, 78254 }, + { 0x5298, 78257 }, + { 0x5299, 78260 }, + { 0x529A, 78263 }, + { 0x529D, 78266 }, + { 0x52A0, 78269 }, + { 0x52AE, 78272 }, + { 0x52AF, 78275 }, + { 0x52B0, 78278 }, + { 0x52B1, 78281 }, + { 0x52B2, 78284 }, + { 0x52B3, 78287 }, + { 0x52B4, 78290 }, + { 0x52B5, 78293 }, + { 0x52BE, 78296 }, + { 0x52C0, 78299 }, + { 0x52C8, 78302 }, + { 0x52CA, 78305 }, + { 0x52CE, 78308 }, + { 0x52D7, 78311 }, + { 0x52DE, 78314 }, + { 0x52E3, 78317 }, + { 0x52F0, 78320 }, + { 0x52F9, 78323 }, + { 0x5304, 78326 }, + { 0x530B, 78329 }, + { 0x530D, 78332 }, + { 0x5315, 78335 }, + { 0x5317, 78338 }, + { 0x5319, 78341 }, + { 0x531E, 78344 }, + { 0x531F, 78347 }, + { 0x5320, 78350 }, + { 0x5329, 78353 }, + { 0x532B, 78356 }, + { 0x532C, 78359 }, + { 0x5331, 78362 }, + { 0x533B, 78365 }, + { 0x5342, 78368 }, + { 0x534D, 78371 }, + { 0x534F, 78374 }, + { 0x5356, 78377 }, + { 0x5359, 78380 }, + { 0x5369, 78383 }, + { 0x5371, 78386 }, + { 0x5376, 78389 }, + { 0x5378, 78392 }, + { 0x537A, 78395 }, + { 0x5389, 78398 }, + { 0x538E, 78401 }, + { 0x5392, 78404 }, + { 0x5393, 78407 }, + { 0x5396, 78410 }, + { 0x539E, 78413 }, + { 0x53A1, 78416 }, + { 0x53A2, 78419 }, + { 0x53A3, 78422 }, + { 0x53A4, 78425 }, + { 0x53A5, 78428 }, + { 0x53A6, 78431 }, + { 0x53A7, 78434 }, + { 0x53A8, 78437 }, + { 0x53AC, 78440 }, + { 0x53AE, 78443 }, + { 0x53B0, 78446 }, + { 0x53B6, 78449 }, + { 0x53B9, 78452 }, + { 0x53BE, 78455 }, + { 0x53C2, 78458 }, + { 0x53C5, 78461 }, + { 0x53C6, 78464 }, + { 0x53CE, 78467 }, + { 0x53E5, 78470 }, + { 0x53E6, 78473 }, + { 0x53EE, 78476 }, + { 0x53F7, 78479 }, + { 0x53F9, 78482 }, + { 0x53FB, 78485 }, + { 0x53FE, 78488 }, + { 0x5404, 78491 }, + { 0x5405, 78494 }, + { 0x5406, 78497 }, + { 0x5407, 78500 }, + { 0x5408, 78503 }, + { 0x540A, 78506 }, + { 0x540B, 78509 }, + { 0x540C, 78512 }, + { 0x540D, 78515 }, + { 0x540E, 78518 }, + { 0x540F, 78521 }, + { 0x5410, 78524 }, + { 0x5411, 78527 }, + { 0x5412, 78530 }, + { 0x5413, 78533 }, + { 0x5414, 78536 }, + { 0x5415, 78539 }, + { 0x5417, 78542 }, + { 0x5418, 78545 }, + { 0x5419, 78548 }, + { 0x541A, 78551 }, + { 0x541B, 78554 }, + { 0x541C, 78557 }, + { 0x541D, 78560 }, + { 0x541E, 78563 }, + { 0x541F, 78566 }, + { 0x5420, 78569 }, + { 0x5421, 78572 }, + { 0x5422, 78575 }, + { 0x5423, 78578 }, + { 0x5425, 78581 }, + { 0x5427, 78584 }, + { 0x5428, 78587 }, + { 0x5429, 78590 }, + { 0x542A, 78593 }, + { 0x542B, 78596 }, + { 0x542C, 78599 }, + { 0x542D, 78602 }, + { 0x542F, 78605 }, + { 0x5430, 78608 }, + { 0x5431, 78611 }, + { 0x5432, 78614 }, + { 0x5435, 78617 }, + { 0x543A, 78620 }, + { 0x543C, 78623 }, + { 0x543D, 78626 }, + { 0x543E, 78629 }, + { 0x543F, 78632 }, + { 0x5440, 78635 }, + { 0x5441, 78638 }, + { 0x5446, 78641 }, + { 0x5447, 78644 }, + { 0x5448, 78647 }, + { 0x5452, 78650 }, + { 0x5454, 78653 }, + { 0x5459, 78656 }, + { 0x545B, 78659 }, + { 0x5460, 78662 }, + { 0x5462, 78665 }, + { 0x5466, 78668 }, + { 0x546A, 78671 }, + { 0x546B, 78674 }, + { 0x546C, 78677 }, + { 0x546D, 78680 }, + { 0x547C, 78683 }, + { 0x547D, 78686 }, + { 0x5480, 78689 }, + { 0x5483, 78692 }, + { 0x5495, 78695 }, + { 0x5497, 78698 }, + { 0x5498, 78701 }, + { 0x54A0, 78704 }, + { 0x54A7, 78707 }, + { 0x54B7, 78710 }, + { 0x54BC, 78713 }, + { 0x54C5, 78716 }, + { 0x54C6, 78719 }, + { 0x54CA, 78722 }, + { 0x54D4, 78725 }, + { 0x54D5, 78728 }, + { 0x54DF, 78731 }, + { 0x54EE, 78734 }, + { 0x54F3, 78737 }, + { 0x54F5, 78740 }, + { 0x54F7, 78743 }, + { 0x54FA, 78746 }, + { 0x5500, 78749 }, + { 0x5511, 78752 }, + { 0x5513, 78755 }, + { 0x551D, 78758 }, + { 0x551E, 78761 }, + { 0x5530, 78764 }, + { 0x5537, 78767 }, + { 0x553B, 78770 }, + { 0x5547, 78773 }, + { 0x5548, 78776 }, + { 0x5549, 78779 }, + { 0x554A, 78782 }, + { 0x554B, 78785 }, + { 0x554C, 78788 }, + { 0x554D, 78791 }, + { 0x554E, 78794 }, + { 0x554F, 78797 }, + { 0x5551, 78800 }, + { 0x5557, 78803 }, + { 0x5558, 78806 }, + { 0x555D, 78809 }, + { 0x555E, 78812 }, + { 0x555F, 78815 }, + { 0x5561, 78818 }, + { 0x5562, 78821 }, + { 0x556B, 78824 }, + { 0x556C, 78827 }, + { 0x556D, 78830 }, + { 0x556E, 78833 }, + { 0x556F, 78836 }, + { 0x5570, 78839 }, + { 0x5571, 78842 }, + { 0x5572, 78845 }, + { 0x5573, 78848 }, + { 0x5574, 78851 }, + { 0x5575, 78854 }, + { 0x5576, 78857 }, + { 0x557A, 78860 }, + { 0x5580, 78863 }, + { 0x5582, 78866 }, + { 0x5584, 78869 }, + { 0x5586, 78872 }, + { 0x5589, 78875 }, + { 0x558E, 78878 }, + { 0x5592, 78881 }, + { 0x5596, 78884 }, + { 0x559D, 78887 }, + { 0x559F, 78890 }, + { 0x55A4, 78893 }, + { 0x55A8, 78896 }, + { 0x55AA, 78899 }, + { 0x55B1, 78902 }, + { 0x55B7, 78905 }, + { 0x55B8, 78908 }, + { 0x55BB, 78911 }, + { 0x55BE, 78914 }, + { 0x55C0, 78917 }, + { 0x55CA, 78920 }, + { 0x55CB, 78923 }, + { 0x55CC, 78926 }, + { 0x55CD, 78929 }, + { 0x55CF, 78932 }, + { 0x55D0, 78935 }, + { 0x55D2, 78938 }, + { 0x55D4, 78941 }, + { 0x55DF, 78944 }, + { 0x55E0, 78947 }, + { 0x55E1, 78950 }, + { 0x55E2, 78953 }, + { 0x55E3, 78956 }, + { 0x55E4, 78959 }, + { 0x55E5, 78962 }, + { 0x55E6, 78965 }, + { 0x55E7, 78968 }, + { 0x55E9, 78971 }, + { 0x55EA, 78974 }, + { 0x55EB, 78977 }, + { 0x55EC, 78980 }, + { 0x55ED, 78983 }, + { 0x55EE, 78986 }, + { 0x55EF, 78989 }, + { 0x55F0, 78992 }, + { 0x55F8, 78995 }, + { 0x55F9, 78998 }, + { 0x5409, 79001 }, + { 0x5416, 79004 }, + { 0x5424, 79007 }, + { 0x5426, 79010 }, + { 0x542E, 79013 }, + { 0x5433, 79016 }, + { 0x6E47, 79019 }, + { 0x1E8A, 79021 }, + { 0x6DDC, 79023 }, + { 0x6E61, 79026 }, + { 0x6D53, 79028 }, + { 0x1F0C, 79029 }, + { 0x2263, 79031 }, + { 0x6E24, 79032 }, + { 0x6EBF, 79037 }, + { 0x1079, 79040 }, + { 0x107C, 79043 }, + { 0x107A, 79045 }, + { 0x1080, 79047 }, + { 0x1085, 79050 }, + { 0x1081, 79053 }, + { 0x1084, 79056 }, + { 0x1083, 79059 }, + { 0x1088, 79062 }, + { 0x1087, 79065 }, + { 0x1086, 79068 }, + { 0x1082, 79071 }, + { 0x10AD, 79074 }, + { 0x10A5, 79078 }, + { 0x10A8, 79082 }, + { 0x10AB, 79086 }, + { 0x10A9, 79090 }, + { 0x10A7, 79094 }, + { 0x10A4, 79099 }, + { 0x10AA, 79103 }, + { 0x10A6, 79107 }, + { 0x10AC, 79111 }, + { 0x1089, 79115 }, + { 0x1093, 79118 }, + { 0x108D, 79122 }, + { 0x108C, 79125 }, + { 0x108E, 79128 }, + { 0x1090, 79131 }, + { 0x1091, 79134 }, + { 0x108B, 79137 }, + { 0x108A, 79140 }, + { 0x1092, 79143 }, + { 0x108F, 79146 }, + { 0x107D, 79149 }, + { 0x1077, 79152 }, + { 0x107E, 79155 }, + { 0x0F87, 79158 }, + { 0x0F8C, 79161 }, + { 0x0F89, 79164 }, + { 0x0F8D, 79167 }, + { 0x0F88, 79170 }, + { 0x0F9F, 79173 }, + { 0x0FA4, 79176 }, + { 0x0FA1, 79179 }, + { 0x0FA5, 79182 }, + { 0x0FA0, 79185 }, + { 0x100C, 79188 }, + { 0x1011, 79191 }, + { 0x100E, 79194 }, + { 0x1012, 79197 }, + { 0x100D, 79200 }, + { 0x1061, 79203 }, + { 0x1066, 79206 }, + { 0x1063, 79209 }, + { 0x1067, 79212 }, + { 0x1062, 79215 }, + { 0x1024, 79218 }, + { 0x1029, 79221 }, + { 0x1026, 79224 }, + { 0x102A, 79227 }, + { 0x1025, 79230 }, + { 0x0F2E, 79233 }, + { 0x0F33, 79236 }, + { 0x0F30, 79239 }, + { 0x0F34, 79242 }, + { 0x0F2F, 79245 }, + { 0x101C, 79248 }, + { 0x1021, 79251 }, + { 0x101E, 79254 }, + { 0x1022, 79257 }, + { 0x101D, 79260 }, + { 0x0FCC, 79263 }, + { 0x0FD1, 79266 }, + { 0x0FCE, 79269 }, + { 0x0FD2, 79272 }, + { 0x0FCD, 79275 }, + { 0x0F36, 79278 }, + { 0x0F3B, 79281 }, + { 0x0F38, 79284 }, + { 0x0F3C, 79287 }, + { 0x0F37, 79290 }, + { 0x0F46, 79293 }, + { 0x0F4B, 79296 }, + { 0x0F48, 79299 }, + { 0x0F4C, 79302 }, + { 0x0F47, 79305 }, + { 0x0FB4, 79308 }, + { 0x0FB9, 79311 }, + { 0x0FB6, 79314 }, + { 0x0FBA, 79317 }, + { 0x0FB5, 79320 }, + { 0x1069, 79323 }, + { 0x106E, 79326 }, + { 0x106B, 79329 }, + { 0x106F, 79332 }, + { 0x106A, 79335 }, + { 0x0F6E, 79338 }, + { 0x0F73, 79341 }, + { 0x0F70, 79344 }, + { 0x0F74, 79347 }, + { 0x0F6F, 79350 }, + { 0x0F56, 79353 }, + { 0x0F5B, 79356 }, + { 0x0F58, 79359 }, + { 0x0F5C, 79362 }, + { 0x0F57, 79365 }, + { 0x0F5E, 79368 }, + { 0x0F63, 79371 }, + { 0x0F60, 79374 }, + { 0x0F64, 79377 }, + { 0x0F5F, 79380 }, + { 0x0F97, 79383 }, + { 0x0F9C, 79386 }, + { 0x0F99, 79389 }, + { 0x0F9D, 79392 }, + { 0x0F98, 79395 }, + { 0x0F8F, 79398 }, + { 0x0F94, 79401 }, + { 0x0F91, 79404 }, + { 0x0F95, 79407 }, + { 0x0F90, 79410 }, + { 0x0FE5, 79413 }, + { 0x0FEA, 79416 }, + { 0x0FE7, 79419 }, + { 0x0FEB, 79422 }, + { 0x0FE6, 79425 }, + { 0x0FA7, 79428 }, + { 0x0FAC, 79431 }, + { 0x0FA9, 79434 }, + { 0x0FAD, 79437 }, + { 0x0FA8, 79440 }, + { 0x1004, 79443 }, + { 0x1009, 79446 }, + { 0x1006, 79449 }, + { 0x100A, 79452 }, + { 0x1005, 79455 }, + { 0x0FF4, 79458 }, + { 0x0FF9, 79461 }, + { 0x0FF6, 79464 }, + { 0x0FFA, 79467 }, + { 0x0FF5, 79470 }, + { 0x0F8A, 79473 }, + { 0x38FB, 79476 }, + { 0x3900, 79479 }, + { 0x38FD, 79482 }, + { 0x3901, 79485 }, + { 0x38FC, 79488 }, + { 0x0F8B, 79491 }, + { 0x2889, 79494 }, + { 0x0F8E, 79497 }, + { 0x109B, 79500 }, + { 0x1099, 79503 }, + { 0x0FA2, 79506 }, + { 0x28A2, 79509 }, + { 0x28A7, 79512 }, + { 0x28A4, 79515 }, + { 0x28A8, 79518 }, + { 0x28A3, 79521 }, + { 0x0FA3, 79524 }, + { 0x1041, 79527 }, + { 0x1046, 79530 }, + { 0x1043, 79533 }, + { 0x1047, 79536 }, + { 0x1042, 79539 }, + { 0x288B, 79542 }, + { 0x0FA6, 79545 }, + { 0x100F, 79548 }, + { 0x1014, 79551 }, + { 0x1019, 79554 }, + { 0x1016, 79557 }, + { 0x101A, 79560 }, + { 0x1015, 79563 }, + { 0x1010, 79566 }, + { 0x2890, 79569 }, + { 0x1013, 79572 }, + { 0x38F2, 79575 }, + { 0x38EF, 79578 }, + { 0x38F3, 79581 }, + { 0x38EE, 79584 }, + { 0x1064, 79587 }, + { 0x1065, 79590 }, + { 0x1068, 79593 }, + { 0x109F, 79596 }, + { 0x109D, 79599 }, + { 0x1073, 79602 }, + { 0x1027, 79605 }, + { 0x1028, 79608 }, + { 0x1031, 79611 }, + { 0x1036, 79614 }, + { 0x1033, 79617 }, + { 0x1037, 79620 }, + { 0x1032, 79623 }, + { 0x102B, 79626 }, + { 0x102C, 79629 }, + { 0x1030, 79632 }, + { 0x102D, 79635 }, + { 0x28CC, 79638 }, + { 0x28D1, 79641 }, + { 0x28CE, 79644 }, + { 0x28D2, 79647 }, + { 0x28CD, 79650 }, + { 0x0F31, 79653 }, + { 0x0F32, 79656 }, + { 0x0F3E, 79659 }, + { 0x0F43, 79662 }, + { 0x0F40, 79665 }, + { 0x0F44, 79668 }, + { 0x0F3F, 79671 }, + { 0x0F35, 79674 }, + { 0x101F, 79677 }, + { 0x1020, 79680 }, + { 0x2892, 79683 }, + { 0x1023, 79686 }, + { 0x0FCF, 79689 }, + { 0x0FD0, 79692 }, + { 0x0FD3, 79695 }, + { 0x0FD4, 79698 }, + { 0x0FD8, 79701 }, + { 0x0FD5, 79704 }, + { 0x0FD9, 79707 }, + { 0x0FDE, 79710 }, + { 0x0FDB, 79713 }, + { 0x0FDF, 79716 }, + { 0x0FDA, 79719 }, + { 0x28BE, 79722 }, + { 0x28C3, 79725 }, + { 0x28C0, 79728 }, + { 0x28C4, 79731 }, + { 0x28BF, 79734 }, + { 0x0F39, 79737 }, + { 0x0F3A, 79740 }, + { 0x2884, 79743 }, + { 0x0F3D, 79746 }, + { 0x0F49, 79749 }, + { 0x0F4A, 79752 }, + { 0x2885, 79755 }, + { 0x0F4D, 79758 }, + { 0x1097, 79761 }, + { 0x1095, 79764 }, + { 0x1072, 79767 }, + { 0x0FB7, 79770 }, + { 0x0FB8, 79773 }, + { 0x288C, 79776 }, + { 0x0FBB, 79779 }, + { 0x0FBC, 79782 }, + { 0x0FC1, 79785 }, + { 0x0FBE, 79788 }, + { 0x0FC2, 79791 }, + { 0x0FBD, 79794 }, + { 0x106C, 79797 }, + { 0x106D, 79800 }, + { 0x1049, 79803 }, + { 0x104E, 79806 }, + { 0x104B, 79809 }, + { 0x104F, 79812 }, + { 0x104A, 79815 }, + { 0x2896, 79818 }, + { 0x1070, 79821 }, + { 0x10A3, 79824 }, + { 0x10A1, 79827 }, + { 0x0F71, 79830 }, + { 0x0F72, 79833 }, + { 0x0F7B, 79836 }, + { 0x0F80, 79839 }, + { 0x0F7D, 79842 }, + { 0x0F81, 79845 }, + { 0x0F7C, 79848 }, + { 0x0F75, 79851 }, + { 0x0F76, 79854 }, + { 0x0F7A, 79857 }, + { 0x0F77, 79860 }, + { 0x28B7, 79863 }, + { 0x28BC, 79866 }, + { 0x28B9, 79869 }, + { 0x28BD, 79872 }, + { 0x28B8, 79875 }, + { 0x0F59, 79878 }, + { 0x0F5A, 79881 }, + { 0x2886, 79884 }, + { 0x0F5D, 79887 }, + { 0x1071, 79890 }, + { 0x0F61, 79893 }, + { 0x0F62, 79896 }, + { 0x0F66, 79899 }, + { 0x0F6B, 79902 }, + { 0x0F68, 79905 }, + { 0x0F6C, 79908 }, + { 0x0F67, 79911 }, + { 0x2887, 79914 }, + { 0x289B, 79917 }, + { 0x28A0, 79920 }, + { 0x289D, 79923 }, + { 0x28A1, 79926 }, + { 0x289C, 79929 }, + { 0x0F65, 79932 }, + { 0x0F4E, 79935 }, + { 0x0F53, 79938 }, + { 0x0F50, 79941 }, + { 0x0F54, 79944 }, + { 0x0F4F, 79947 }, + { 0x0F9A, 79950 }, + { 0x0F9B, 79953 }, + { 0x1039, 79956 }, + { 0x103E, 79959 }, + { 0x103B, 79962 }, + { 0x103F, 79965 }, + { 0x103A, 79968 }, + { 0x288A, 79971 }, + { 0x1051, 79974 }, + { 0x1056, 79977 }, + { 0x1053, 79980 }, + { 0x1057, 79983 }, + { 0x1052, 79986 }, + { 0x0F9E, 79989 }, + { 0x1059, 79992 }, + { 0x105E, 79995 }, + { 0x105B, 79998 }, + { 0x105F, 80001 }, + { 0x105A, 80004 }, + { 0x0F92, 80007 }, + { 0x0F93, 80010 }, + { 0x0F96, 80013 }, + { 0x0FE8, 80016 }, + { 0x0FE9, 80019 }, + { 0x0FEC, 80022 }, + { 0x0FAA, 80025 }, + { 0x0FAB, 80028 }, + { 0x0FAE, 80031 }, + { 0x0FAF, 80034 }, + { 0x0FB3, 80037 }, + { 0x0FB0, 80040 }, + { 0x28C5, 80043 }, + { 0x28CA, 80046 }, + { 0x28C7, 80049 }, + { 0x28CB, 80052 }, + { 0x28C6, 80055 }, + { 0x1007, 80058 }, + { 0x1008, 80061 }, + { 0x100B, 80064 }, + { 0x0FF7, 80067 }, + { 0x0FF8, 80070 }, + { 0x0FFC, 80073 }, + { 0x1001, 80076 }, + { 0x0FFE, 80079 }, + { 0x1002, 80082 }, + { 0x0FFD, 80085 }, + { 0x288F, 80088 }, + { 0x0FFB, 80091 }, + { 0x28A9, 80094 }, + { 0x28AE, 80097 }, + { 0x28AB, 80100 }, + { 0x28AF, 80103 }, + { 0x28AA, 80106 }, + { 0x38FE, 80109 }, + { 0x38FF, 80112 }, + { 0x109A, 80115 }, + { 0x28A5, 80118 }, + { 0x28A6, 80121 }, + { 0x28B0, 80124 }, + { 0x28B5, 80127 }, + { 0x28B2, 80130 }, + { 0x28B6, 80133 }, + { 0x28B1, 80136 }, + { 0x1044, 80139 }, + { 0x1045, 80142 }, + { 0x2894, 80145 }, + { 0x1048, 80148 }, + { 0x1017, 80151 }, + { 0x1018, 80154 }, + { 0x38EC, 80157 }, + { 0x38E9, 80160 }, + { 0x38ED, 80163 }, + { 0x38E8, 80166 }, + { 0x2891, 80169 }, + { 0x101B, 80172 }, + { 0x38F0, 80175 }, + { 0x38F1, 80178 }, + { 0x109E, 80181 }, + { 0x1034, 80184 }, + { 0x1035, 80187 }, + { 0x2897, 80190 }, + { 0x289A, 80193 }, + { 0x2898, 80196 }, + { 0x102E, 80199 }, + { 0x102F, 80202 }, + { 0x28CF, 80205 }, + { 0x28D0, 80208 }, + { 0x0F41, 80211 }, + { 0x0F42, 80214 }, + { 0x0F45, 80217 }, + { 0x0FD6, 80220 }, + { 0x0FD7, 80223 }, + { 0x0FDC, 80226 }, + { 0x0FDD, 80229 }, + { 0x0FE0, 80232 }, + { 0x0FE4, 80235 }, + { 0x0FE1, 80238 }, + { 0x28C1, 80241 }, + { 0x28C2, 80244 }, + { 0x1096, 80247 }, + { 0x0FBF, 80250 }, + { 0x0FC0, 80253 }, + { 0x288D, 80256 }, + { 0x0FC3, 80259 }, + { 0x104C, 80262 }, + { 0x104D, 80265 }, + { 0x2895, 80268 }, + { 0x1050, 80271 }, + { 0x10A2, 80274 }, + { 0x0F7E, 80277 }, + { 0x0F7F, 80280 }, + { 0x0F82, 80283 }, + { 0x0F86, 80286 }, + { 0x0F83, 80289 }, + { 0x0F78, 80292 }, + { 0x0F79, 80295 }, + { 0x28BA, 80298 }, + { 0x28BB, 80301 }, + { 0x0F69, 80304 }, + { 0x0F6A, 80307 }, + { 0x2888, 80310 }, + { 0x0F6D, 80313 }, + { 0x289E, 80316 }, + { 0x289F, 80319 }, + { 0x0F51, 80322 }, + { 0x0F52, 80325 }, + { 0x0F55, 80328 }, + { 0x103C, 80331 }, + { 0x103D, 80334 }, + { 0x2893, 80337 }, + { 0x1040, 80340 }, + { 0x1054, 80343 }, + { 0x1055, 80346 }, + { 0x1058, 80349 }, + { 0x38E6, 80352 }, + { 0x38E3, 80355 }, + { 0x38E7, 80358 }, + { 0x38E2, 80361 }, + { 0x105C, 80364 }, + { 0x105D, 80367 }, + { 0x1060, 80370 }, + { 0x0FB1, 80373 }, + { 0x0FB2, 80376 }, + { 0x28C8, 80379 }, + { 0x28C9, 80382 }, + { 0x0FFF, 80385 }, + { 0x1000, 80388 }, + { 0x1003, 80391 }, + { 0x28AC, 80394 }, + { 0x28AD, 80397 }, + { 0x28B3, 80400 }, + { 0x28B4, 80403 }, + { 0x38F4, 80406 }, + { 0x38F9, 80409 }, + { 0x38F6, 80412 }, + { 0x38FA, 80415 }, + { 0x38F5, 80418 }, + { 0x38EA, 80421 }, + { 0x38EB, 80424 }, + { 0x1038, 80427 }, + { 0x2899, 80430 }, + { 0x0FE2, 80433 }, + { 0x0FE3, 80436 }, + { 0x0F84, 80439 }, + { 0x0F85, 80442 }, + { 0x38E4, 80445 }, + { 0x38E5, 80448 }, + { 0x38F7, 80451 }, + { 0x38F8, 80454 }, + { 0x0FC4, 80457 }, + { 0x0FC9, 80461 }, + { 0x0FC6, 80465 }, + { 0x0FCA, 80469 }, + { 0x0FC5, 80473 }, + { 0x0FC7, 80477 }, + { 0x0FC8, 80481 }, + { 0x288E, 80485 }, + { 0x0FCB, 80489 }, + { 0x1098, 80493 }, + { 0x109C, 80497 }, + { 0x1094, 80501 }, + { 0x10A0, 80505 }, + { 0x0FED, 80509 }, + { 0x0FF2, 80513 }, + { 0x0FEF, 80517 }, + { 0x0FF3, 80521 }, + { 0x0FEE, 80525 }, + { 0x0FF0, 80529 }, + { 0x0FF1, 80533 }, + { 0x1075, 80537 }, + { 0x1074, 80542 }, + { 0x1076, 80549 }, + { 0x107F, 80553 }, + { 0x107B, 80556 }, + { 0x1078, 80558 }, + { 0x6D1F, 80560 }, + { 0x6D2B, 80563 }, + { 0x0686, 80565 }, + { 0x068B, 80569 }, + { 0x0687, 80573 }, + { 0x068A, 80577 }, + { 0x0689, 80581 }, + { 0x068E, 80585 }, + { 0x0685, 80589 }, + { 0x068D, 80593 }, + { 0x068C, 80597 }, + { 0x0688, 80601 }, + { 0x0069, 80605 }, + { 0x6CC2, 80608 }, + { 0x1F6E, 80610 }, + { 0x224C, 80611 }, + { 0x1BF8, 80612 }, + { 0x1CEC, 80614 }, + { 0x6F61, 80617 }, + { 0x1C15, 80622 }, + { 0x2821, 80624 }, + { 0x2825, 80628 }, + { 0x2842, 80632 }, + { 0x2829, 80636 }, + { 0x282E, 80640 }, + { 0x2834, 80644 }, + { 0x2844, 80648 }, + { 0x2847, 80652 }, + { 0x2848, 80656 }, + { 0x2822, 80660 }, + { 0x283B, 80664 }, + { 0x283D, 80668 }, + { 0x2824, 80672 }, + { 0x2823, 80676 }, + { 0x2841, 80680 }, + { 0x2845, 80684 }, + { 0x2843, 80688 }, + { 0x2846, 80692 }, + { 0x283C, 80696 }, + { 0x282A, 80700 }, + { 0x282B, 80704 }, + { 0x282C, 80708 }, + { 0x282D, 80712 }, + { 0x282F, 80716 }, + { 0x2838, 80720 }, + { 0x2831, 80724 }, + { 0x2832, 80728 }, + { 0x2828, 80732 }, + { 0x2833, 80736 }, + { 0x2826, 80740 }, + { 0x283F, 80744 }, + { 0x2827, 80748 }, + { 0x283E, 80752 }, + { 0x283A, 80756 }, + { 0x2837, 80760 }, + { 0x2840, 80764 }, + { 0x2836, 80768 }, + { 0x2835, 80772 }, + { 0x2839, 80776 }, + { 0x2830, 80780 }, + { 0x0DFE, 80784 }, + { 0x0E02, 80787 }, + { 0x0E24, 80790 }, + { 0x0E1F, 80793 }, + { 0x0E06, 80796 }, + { 0x0E0B, 80799 }, + { 0x0E11, 80802 }, + { 0x0E21, 80805 }, + { 0x0E25, 80808 }, + { 0x0E2B, 80811 }, + { 0x0E28, 80814 }, + { 0x0DFF, 80817 }, + { 0x0E18, 80820 }, + { 0x0E1A, 80823 }, + { 0x0E01, 80826 }, + { 0x0E00, 80829 }, + { 0x0E1E, 80832 }, + { 0x0E22, 80835 }, + { 0x0E20, 80838 }, + { 0x0E23, 80841 }, + { 0x0E19, 80844 }, + { 0x0E07, 80847 }, + { 0x0E08, 80850 }, + { 0x0E09, 80853 }, + { 0x0E0A, 80856 }, + { 0x0E0C, 80859 }, + { 0x0E15, 80862 }, + { 0x0E0E, 80865 }, + { 0x0E0F, 80868 }, + { 0x0E05, 80871 }, + { 0x0E10, 80874 }, + { 0x0E03, 80877 }, + { 0x0E1C, 80880 }, + { 0x0E04, 80883 }, + { 0x0E1B, 80886 }, + { 0x0E17, 80889 }, + { 0x0E14, 80892 }, + { 0x0E2C, 80895 }, + { 0x0E1D, 80899 }, + { 0x0E13, 80902 }, + { 0x0E12, 80905 }, + { 0x0E16, 80908 }, + { 0x0E0D, 80911 }, + { 0x0E26, 80914 }, + { 0x0E2D, 80917 }, + { 0x0E27, 80921 }, + { 0x0DD6, 80925 }, + { 0x0DDA, 80929 }, + { 0x0DF7, 80933 }, + { 0x0DDE, 80937 }, + { 0x0DE3, 80941 }, + { 0x0DE9, 80945 }, + { 0x0DF9, 80949 }, + { 0x0DFC, 80953 }, + { 0x0DFD, 80957 }, + { 0x0DD7, 80961 }, + { 0x0DF0, 80965 }, + { 0x0DF2, 80969 }, + { 0x0DD9, 80973 }, + { 0x0DD8, 80977 }, + { 0x0DF6, 80981 }, + { 0x0DFA, 80985 }, + { 0x0DF8, 80989 }, + { 0x0DFB, 80993 }, + { 0x0DF1, 80997 }, + { 0x0DDF, 81001 }, + { 0x0DE0, 81005 }, + { 0x0DE1, 81009 }, + { 0x0DE2, 81013 }, + { 0x0DE4, 81017 }, + { 0x0DED, 81021 }, + { 0x0DE6, 81025 }, + { 0x0DE7, 81029 }, + { 0x0DDD, 81033 }, + { 0x0DE8, 81037 }, + { 0x0DDB, 81041 }, + { 0x0DF4, 81045 }, + { 0x0DDC, 81049 }, + { 0x0DF3, 81053 }, + { 0x0DEF, 81057 }, + { 0x0DEC, 81061 }, + { 0x0DF5, 81065 }, + { 0x0DEB, 81069 }, + { 0x0DEA, 81073 }, + { 0x0DEE, 81077 }, + { 0x0DE5, 81081 }, + { 0x0E29, 81085 }, + { 0x6F73, 81088 }, + { 0x6F3B, 81094 }, + { 0x6F3C, 81096 }, + { 0x0991, 81101 }, + { 0x0981, 81103 }, + { 0x0990, 81106 }, + { 0x0950, 81109 }, + { 0x094F, 81112 }, + { 0x0982, 81115 }, + { 0x094E, 81118 }, + { 0x0997, 81121 }, + { 0x099C, 81124 }, + { 0x0998, 81127 }, + { 0x099B, 81130 }, + { 0x099A, 81133 }, + { 0x099F, 81136 }, + { 0x0996, 81139 }, + { 0x099E, 81142 }, + { 0x099D, 81145 }, + { 0x0999, 81148 }, + { 0x09A1, 81151 }, + { 0x098B, 81154 }, + { 0x0984, 81158 }, + { 0x098E, 81162 }, + { 0x0986, 81166 }, + { 0x0983, 81170 }, + { 0x098C, 81174 }, + { 0x098F, 81178 }, + { 0x0985, 81182 }, + { 0x0987, 81186 }, + { 0x098A, 81190 }, + { 0x098D, 81195 }, + { 0x0994, 81200 }, + { 0x0988, 81205 }, + { 0x0995, 81210 }, + { 0x0989, 81215 }, + { 0x0959, 81220 }, + { 0x095C, 81224 }, + { 0x0951, 81228 }, + { 0x095A, 81231 }, + { 0x0953, 81234 }, + { 0x095D, 81237 }, + { 0x0955, 81240 }, + { 0x0952, 81243 }, + { 0x095B, 81246 }, + { 0x095E, 81249 }, + { 0x0975, 81252 }, + { 0x0964, 81255 }, + { 0x0970, 81258 }, + { 0x0961, 81261 }, + { 0x0980, 81264 }, + { 0x0954, 81267 }, + { 0x0966, 81270 }, + { 0x095F, 81273 }, + { 0x097A, 81276 }, + { 0x0977, 81279 }, + { 0x0972, 81282 }, + { 0x0973, 81285 }, + { 0x0979, 81288 }, + { 0x097F, 81291 }, + { 0x096E, 81294 }, + { 0x0956, 81297 }, + { 0x097C, 81300 }, + { 0x0978, 81303 }, + { 0x0976, 81306 }, + { 0x0965, 81309 }, + { 0x096B, 81312 }, + { 0x0971, 81315 }, + { 0x0962, 81318 }, + { 0x0967, 81321 }, + { 0x0960, 81324 }, + { 0x097B, 81327 }, + { 0x0963, 81330 }, + { 0x096D, 81333 }, + { 0x0968, 81336 }, + { 0x0974, 81339 }, + { 0x097D, 81342 }, + { 0x097E, 81345 }, + { 0x096F, 81348 }, + { 0x0969, 81351 }, + { 0x09A2, 81354 }, + { 0x096C, 81357 }, + { 0x096A, 81360 }, + { 0x0958, 81363 }, + { 0x0957, 81367 }, + { 0x0993, 81371 }, + { 0x0992, 81375 }, + { 0x09A0, 81379 }, + { 0x094C, 81382 }, + { 0x094A, 81385 }, + { 0x094B, 81387 }, + { 0x08FF, 81389 }, + { 0x0900, 81393 }, + { 0x092D, 81396 }, + { 0x0938, 81399 }, + { 0x0937, 81402 }, + { 0x094D, 81405 }, + { 0x0901, 81408 }, + { 0x0949, 81411 }, + { 0x093F, 81413 }, + { 0x0944, 81416 }, + { 0x0940, 81419 }, + { 0x0943, 81422 }, + { 0x0942, 81425 }, + { 0x0947, 81428 }, + { 0x093E, 81431 }, + { 0x0946, 81434 }, + { 0x0945, 81437 }, + { 0x0941, 81440 }, + { 0x0948, 81443 }, + { 0x092F, 81445 }, + { 0x0931, 81449 }, + { 0x092E, 81453 }, + { 0x0934, 81457 }, + { 0x0936, 81461 }, + { 0x0933, 81465 }, + { 0x0930, 81469 }, + { 0x0935, 81473 }, + { 0x0932, 81477 }, + { 0x0902, 81481 }, + { 0x0904, 81484 }, + { 0x0906, 81487 }, + { 0x0903, 81490 }, + { 0x0909, 81493 }, + { 0x090B, 81496 }, + { 0x0922, 81499 }, + { 0x0911, 81502 }, + { 0x091D, 81505 }, + { 0x0908, 81508 }, + { 0x093D, 81511 }, + { 0x090E, 81514 }, + { 0x092C, 81517 }, + { 0x0905, 81520 }, + { 0x0913, 81523 }, + { 0x090C, 81526 }, + { 0x0927, 81529 }, + { 0x0924, 81532 }, + { 0x091F, 81535 }, + { 0x090A, 81538 }, + { 0x0920, 81541 }, + { 0x0926, 81544 }, + { 0x092B, 81547 }, + { 0x091B, 81550 }, + { 0x0907, 81553 }, + { 0x0929, 81556 }, + { 0x0925, 81559 }, + { 0x093B, 81562 }, + { 0x0923, 81565 }, + { 0x0912, 81568 }, + { 0x0918, 81571 }, + { 0x091E, 81574 }, + { 0x090F, 81577 }, + { 0x0914, 81580 }, + { 0x090D, 81583 }, + { 0x0928, 81586 }, + { 0x0910, 81589 }, + { 0x091A, 81592 }, + { 0x0915, 81595 }, + { 0x0921, 81598 }, + { 0x093C, 81601 }, + { 0x092A, 81604 }, + { 0x091C, 81607 }, + { 0x0916, 81610 }, + { 0x0919, 81613 }, + { 0x093A, 81616 }, + { 0x0939, 81619 }, + { 0x0917, 81622 }, + { 0x71A2, 81625 }, + { 0x2AAE, 81626 }, + { 0x2AB3, 81629 }, + { 0x2AC5, 81632 }, + { 0x2AAF, 81635 }, + { 0x2AB2, 81638 }, + { 0x2AB1, 81641 }, + { 0x2AB6, 81644 }, + { 0x2AB5, 81647 }, + { 0x2AB4, 81650 }, + { 0x2AB0, 81653 }, + { 0x2AC7, 81656 }, + { 0x2AC6, 81659 }, + { 0x6D5E, 81662 }, + { 0x2E74, 81664 }, + { 0x2E9D, 81668 }, + { 0x2E92, 81672 }, + { 0x2EA6, 81676 }, + { 0x2EA7, 81681 }, + { 0x2E8A, 81686 }, + { 0x2EA1, 81691 }, + { 0x2EA0, 81697 }, + { 0x2E9F, 81702 }, + { 0x2E8B, 81706 }, + { 0x2E6E, 81711 }, + { 0x2EA3, 81716 }, + { 0x2EA5, 81721 }, + { 0x2E6F, 81725 }, + { 0x2E7F, 81730 }, + { 0x2EAC, 81736 }, + { 0x2E83, 81740 }, + { 0x2E8F, 81743 }, + { 0x2E87, 81747 }, + { 0x2E7B, 81751 }, + { 0x2E89, 81755 }, + { 0x2EAA, 81759 }, + { 0x2E88, 81763 }, + { 0x2E78, 81767 }, + { 0x2E76, 81770 }, + { 0x2EAB, 81774 }, + { 0x2EAD, 81778 }, + { 0x2E82, 81782 }, + { 0x2E99, 81786 }, + { 0x2E85, 81791 }, + { 0x2E75, 81794 }, + { 0x2E7C, 81798 }, + { 0x2E9B, 81801 }, + { 0x2E8E, 81805 }, + { 0x2E72, 81808 }, + { 0x2E80, 81811 }, + { 0x2E73, 81814 }, + { 0x2E96, 81817 }, + { 0x2E8D, 81820 }, + { 0x2E97, 81823 }, + { 0x2E90, 81826 }, + { 0x2E77, 81829 }, + { 0x2E71, 81832 }, + { 0x2EA4, 81836 }, + { 0x2E91, 81839 }, + { 0x2E7E, 81845 }, + { 0x2E9A, 81848 }, + { 0x2E8C, 81852 }, + { 0x2E86, 81855 }, + { 0x2E84, 81858 }, + { 0x2E70, 81862 }, + { 0x2EA8, 81868 }, + { 0x2E7D, 81871 }, + { 0x2E7A, 81874 }, + { 0x2EA9, 81877 }, + { 0x2E93, 81880 }, + { 0x2E9C, 81883 }, + { 0x2E9E, 81886 }, + { 0x2E79, 81889 }, + { 0x2E95, 81892 }, + { 0x2EA2, 81895 }, + { 0x2E94, 81898 }, + { 0x2E98, 81901 }, + { 0x2E81, 81904 }, + { 0x6C75, 81907 }, + { 0x2ACE, 81908 }, + { 0x2AD4, 81911 }, + { 0x2AD0, 81914 }, + { 0x2B1F, 81917 }, + { 0x2AD6, 81920 }, + { 0x2AD2, 81923 }, + { 0x2AFC, 81926 }, + { 0x2B05, 81929 }, + { 0x2AFF, 81932 }, + { 0x2B08, 81935 }, + { 0x2B02, 81938 }, + { 0x2AEC, 81941 }, + { 0x2AF3, 81944 }, + { 0x2AEE, 81947 }, + { 0x2AF5, 81950 }, + { 0x2AF1, 81953 }, + { 0x2AD8, 81956 }, + { 0x2ADE, 81959 }, + { 0x2ADA, 81962 }, + { 0x2AE0, 81965 }, + { 0x2ADC, 81968 }, + { 0x2AFB, 81971 }, + { 0x2B04, 81974 }, + { 0x2AFE, 81977 }, + { 0x2B07, 81980 }, + { 0x2B01, 81983 }, + { 0x2AD7, 81986 }, + { 0x2ADD, 81989 }, + { 0x2AD9, 81992 }, + { 0x2ADF, 81995 }, + { 0x2ADB, 81998 }, + { 0x2B0A, 82001 }, + { 0x2B0D, 82004 }, + { 0x2B0B, 82007 }, + { 0x2B0E, 82010 }, + { 0x2B0C, 82013 }, + { 0x2AF6, 82016 }, + { 0x2AF9, 82019 }, + { 0x2AF7, 82022 }, + { 0x2AFA, 82025 }, + { 0x2AF8, 82028 }, + { 0x2AFD, 82031 }, + { 0x2B06, 82034 }, + { 0x2B00, 82037 }, + { 0x2B09, 82040 }, + { 0x2B03, 82043 }, + { 0x2B15, 82046 }, + { 0x2B18, 82049 }, + { 0x2B16, 82052 }, + { 0x2B19, 82055 }, + { 0x2B17, 82058 }, + { 0x2AE1, 82061 }, + { 0x2AE7, 82064 }, + { 0x2AE3, 82067 }, + { 0x2AE9, 82070 }, + { 0x2AE5, 82073 }, + { 0x2AEB, 82076 }, + { 0x2AF2, 82079 }, + { 0x2AED, 82082 }, + { 0x2AF4, 82085 }, + { 0x2AF0, 82088 }, + { 0x2B20, 82091 }, + { 0x2B1B, 82094 }, + { 0x2B1D, 82097 }, + { 0x2B1C, 82100 }, + { 0x2B1E, 82103 }, + { 0x2B10, 82106 }, + { 0x2B14, 82109 }, + { 0x2B12, 82112 }, + { 0x2AE2, 82115 }, + { 0x2AE8, 82118 }, + { 0x2AE4, 82121 }, + { 0x2AEA, 82124 }, + { 0x2AE6, 82127 }, + { 0x2ACD, 82130 }, + { 0x2AD3, 82134 }, + { 0x2ACF, 82138 }, + { 0x2AD5, 82142 }, + { 0x2AD1, 82146 }, + { 0x2B21, 82150 }, + { 0x2B22, 82154 }, + { 0x2AEF, 82158 }, + { 0x2B1A, 82162 }, + { 0x2B0F, 82166 }, + { 0x2B13, 82170 }, + { 0x2B11, 82174 }, + { 0x5EDB, 82178 }, + { 0x2B28, 82182 }, + { 0x2B29, 82186 }, + { 0x2B27, 82189 }, + { 0x2246, 82192 }, + { 0x6D58, 82194 }, + { 0x6D20, 82195 }, + { 0x4409, 82196 }, + { 0x4415, 82200 }, + { 0x4411, 82204 }, + { 0x4412, 82208 }, + { 0x441A, 82212 }, + { 0x440A, 82216 }, + { 0x4414, 82220 }, + { 0x4406, 82224 }, + { 0x440C, 82228 }, + { 0x440F, 82232 }, + { 0x4417, 82236 }, + { 0x4418, 82240 }, + { 0x4419, 82244 }, + { 0x440D, 82248 }, + { 0x440E, 82252 }, + { 0x4405, 82256 }, + { 0x4407, 82260 }, + { 0x4416, 82264 }, + { 0x440B, 82268 }, + { 0x4408, 82272 }, + { 0x4410, 82276 }, + { 0x4413, 82280 }, + { 0x441C, 82284 }, + { 0x4421, 82288 }, + { 0x4422, 82293 }, + { 0x441F, 82298 }, + { 0x4423, 82302 }, + { 0x441D, 82307 }, + { 0x441E, 82311 }, + { 0x4420, 82315 }, + { 0x441B, 82319 }, + { 0x6E23, 82323 }, + { 0x6F15, 82325 }, + { 0x1DA7, 82329 }, + { 0x2538, 82330 }, + { 0x1DB4, 82335 }, + { 0x2572, 82336 }, + { 0x2574, 82340 }, + { 0x2568, 82343 }, + { 0x2575, 82347 }, + { 0x2576, 82350 }, + { 0x2571, 82353 }, + { 0x2573, 82359 }, + { 0x256F, 82362 }, + { 0x2569, 82367 }, + { 0x1F37, 82371 }, + { 0x2596, 82373 }, + { 0x1CB4, 82375 }, + { 0x1DC7, 82378 }, + { 0x007E, 82381 }, + { 0x1C08, 82384 }, + { 0x2241, 82386 }, + { 0x0060, 82388 }, + { 0x290B, 82391 }, + { 0x2255, 82393 }, + { 0x6DB4, 82396 }, + { 0x6D1E, 82398 }, + { 0x6CC9, 82401 }, + { 0x6D2A, 82403 }, + { 0x6DB5, 82405 }, + { 0x6E6B, 82407 }, + { 0x2A91, 82411 }, + { 0x37D7, 82415 }, + { 0x37E0, 82418 }, + { 0x37E1, 82421 }, + { 0x37D9, 82425 }, + { 0x37DB, 82428 }, + { 0x37DA, 82431 }, + { 0x37EF, 82434 }, + { 0x37DC, 82438 }, + { 0x37DE, 82441 }, + { 0x37DF, 82444 }, + { 0x37DD, 82447 }, + { 0x37E2, 82450 }, + { 0x37F0, 82453 }, + { 0x3797, 82456 }, + { 0x37C9, 82459 }, + { 0x3798, 82463 }, + { 0x3799, 82466 }, + { 0x3796, 82469 }, + { 0x37E6, 82472 }, + { 0x37EB, 82475 }, + { 0x37E7, 82478 }, + { 0x37EA, 82481 }, + { 0x37E9, 82484 }, + { 0x37EE, 82487 }, + { 0x37E5, 82490 }, + { 0x37ED, 82493 }, + { 0x37EC, 82496 }, + { 0x37E8, 82499 }, + { 0x37D8, 82502 }, + { 0x37CE, 82505 }, + { 0x37CF, 82509 }, + { 0x37CC, 82514 }, + { 0x37CD, 82518 }, + { 0x37D1, 82523 }, + { 0x37D2, 82528 }, + { 0x37D0, 82532 }, + { 0x37CA, 82536 }, + { 0x37CB, 82540 }, + { 0x379A, 82544 }, + { 0x37A2, 82547 }, + { 0x379C, 82550 }, + { 0x379B, 82553 }, + { 0x37A4, 82557 }, + { 0x379E, 82560 }, + { 0x37A3, 82563 }, + { 0x37BD, 82566 }, + { 0x37BE, 82569 }, + { 0x37AB, 82573 }, + { 0x37AC, 82576 }, + { 0x37B8, 82580 }, + { 0x37B9, 82583 }, + { 0x37A8, 82587 }, + { 0x37A9, 82590 }, + { 0x37C8, 82594 }, + { 0x379D, 82597 }, + { 0x37AD, 82600 }, + { 0x37AF, 82603 }, + { 0x37A5, 82607 }, + { 0x37A7, 82610 }, + { 0x37A6, 82614 }, + { 0x37C3, 82618 }, + { 0x37BF, 82621 }, + { 0x37BA, 82624 }, + { 0x37B5, 82627 }, + { 0x37BB, 82631 }, + { 0x379F, 82634 }, + { 0x37BC, 82638 }, + { 0x37C1, 82642 }, + { 0x37C2, 82645 }, + { 0x37C7, 82649 }, + { 0x37C5, 82652 }, + { 0x37C6, 82656 }, + { 0x37B6, 82660 }, + { 0x37B7, 82663 }, + { 0x37C4, 82667 }, + { 0x37C0, 82670 }, + { 0x37B3, 82673 }, + { 0x37B4, 82676 }, + { 0x37AA, 82680 }, + { 0x37A0, 82683 }, + { 0x37A1, 82687 }, + { 0x37B0, 82692 }, + { 0x37AE, 82695 }, + { 0x37B1, 82699 }, + { 0x37B2, 82702 }, + { 0x37E3, 82706 }, + { 0x37D6, 82710 }, + { 0x37D5, 82712 }, + { 0x37D3, 82716 }, + { 0x37D4, 82720 }, + { 0x37E4, 82724 }, + { 0x6EB4, 82726 }, + { 0x719D, 82727 }, + { 0x2B2C, 82728 }, + { 0x2B32, 82731 }, + { 0x2B2E, 82734 }, + { 0x2B7D, 82737 }, + { 0x2B34, 82740 }, + { 0x2B30, 82743 }, + { 0x2B5A, 82746 }, + { 0x2B63, 82749 }, + { 0x2B5D, 82752 }, + { 0x2B66, 82755 }, + { 0x2B60, 82758 }, + { 0x2B4A, 82761 }, + { 0x2B51, 82764 }, + { 0x2B4C, 82767 }, + { 0x2B53, 82770 }, + { 0x2B4F, 82773 }, + { 0x2B36, 82776 }, + { 0x2B3C, 82779 }, + { 0x2B38, 82782 }, + { 0x2B3E, 82785 }, + { 0x2B3A, 82788 }, + { 0x2B59, 82791 }, + { 0x2B62, 82794 }, + { 0x2B5C, 82797 }, + { 0x2B65, 82800 }, + { 0x2B5F, 82803 }, + { 0x2B35, 82806 }, + { 0x2B3B, 82809 }, + { 0x2B37, 82812 }, + { 0x2B3D, 82815 }, + { 0x2B39, 82818 }, + { 0x2B68, 82821 }, + { 0x2B6B, 82824 }, + { 0x2B69, 82827 }, + { 0x2B6C, 82830 }, + { 0x2B6A, 82833 }, + { 0x2B54, 82836 }, + { 0x2B57, 82839 }, + { 0x2B55, 82842 }, + { 0x2B58, 82845 }, + { 0x2B56, 82848 }, + { 0x2B5B, 82851 }, + { 0x2B64, 82854 }, + { 0x2B5E, 82857 }, + { 0x2B67, 82860 }, + { 0x2B61, 82863 }, + { 0x2B73, 82866 }, + { 0x2B76, 82869 }, + { 0x2B74, 82872 }, + { 0x2B77, 82875 }, + { 0x2B75, 82878 }, + { 0x2B3F, 82881 }, + { 0x2B45, 82884 }, + { 0x2B41, 82887 }, + { 0x2B47, 82890 }, + { 0x2B43, 82893 }, + { 0x2B49, 82896 }, + { 0x2B50, 82899 }, + { 0x2B4B, 82902 }, + { 0x2B52, 82905 }, + { 0x2B4E, 82908 }, + { 0x2B81, 82911 }, + { 0x2B83, 82914 }, + { 0x2B82, 82917 }, + { 0x2B84, 82920 }, + { 0x2B7E, 82923 }, + { 0x2B79, 82926 }, + { 0x2B7B, 82929 }, + { 0x2B7A, 82932 }, + { 0x2B7C, 82935 }, + { 0x2B6E, 82938 }, + { 0x2B72, 82941 }, + { 0x2B70, 82944 }, + { 0x2B40, 82947 }, + { 0x2B46, 82950 }, + { 0x2B42, 82953 }, + { 0x2B48, 82956 }, + { 0x2B44, 82959 }, + { 0x2B2B, 82962 }, + { 0x2B31, 82966 }, + { 0x2B2D, 82970 }, + { 0x2B33, 82974 }, + { 0x2B2F, 82978 }, + { 0x2C65, 82982 }, + { 0x2C68, 82986 }, + { 0x2C66, 82990 }, + { 0x2C69, 82994 }, + { 0x2C67, 82998 }, + { 0x2B7F, 83002 }, + { 0x2B80, 83006 }, + { 0x2C60, 83010 }, + { 0x2C6A, 83014 }, + { 0x2C64, 83018 }, + { 0x2C6B, 83022 }, + { 0x2C6E, 83026 }, + { 0x2C6C, 83030 }, + { 0x2C6F, 83034 }, + { 0x2C6D, 83038 }, + { 0x2C61, 83042 }, + { 0x2C62, 83046 }, + { 0x2C63, 83050 }, + { 0x2B4D, 83054 }, + { 0x2B78, 83058 }, + { 0x2B6D, 83062 }, + { 0x2B71, 83066 }, + { 0x2B6F, 83070 }, + { 0x5EDA, 83074 }, + { 0x2B85, 83078 }, + { 0x2B88, 83081 }, + { 0x2B89, 83085 }, + { 0x2B87, 83088 }, + { 0x1EB1, 83091 }, + { 0x6EE1, 83092 }, + { 0x71D1, 83095 }, + { 0x6FAD, 83097 }, + { 0x6DBF, 83101 }, + { 0x6CA8, 83102 }, + { 0x488B, 83103 }, + { 0x4868, 83106 }, + { 0x486B, 83109 }, + { 0x4869, 83112 }, + { 0x486C, 83115 }, + { 0x486A, 83118 }, + { 0x4882, 83121 }, + { 0x4871, 83124 }, + { 0x487D, 83127 }, + { 0x486F, 83130 }, + { 0x4889, 83133 }, + { 0x4873, 83136 }, + { 0x486D, 83139 }, + { 0x4886, 83142 }, + { 0x4884, 83145 }, + { 0x487F, 83148 }, + { 0x4880, 83151 }, + { 0x4885, 83154 }, + { 0x4888, 83157 }, + { 0x487B, 83160 }, + { 0x4887, 83163 }, + { 0x4883, 83166 }, + { 0x4872, 83169 }, + { 0x4878, 83172 }, + { 0x487E, 83175 }, + { 0x4870, 83178 }, + { 0x4874, 83181 }, + { 0x486E, 83184 }, + { 0x487A, 83187 }, + { 0x4875, 83190 }, + { 0x4881, 83193 }, + { 0x488A, 83196 }, + { 0x487C, 83199 }, + { 0x4876, 83202 }, + { 0x4879, 83205 }, + { 0x4877, 83208 }, + { 0x488D, 83211 }, + { 0x488E, 83214 }, + { 0x488C, 83217 }, + { 0x2207, 83220 }, + { 0x6F11, 83222 }, + { 0x1DE7, 83223 }, + { 0x1DAA, 83225 }, + { 0x2503, 83227 }, + { 0x2502, 83239 }, + { 0x2505, 83251 }, + { 0x2504, 83263 }, + { 0x2507, 83275 }, + { 0x2509, 83287 }, + { 0x2506, 83299 }, + { 0x2508, 83311 }, + { 0x24F5, 83323 }, + { 0x24F7, 83327 }, + { 0x44DE, 83332 }, + { 0x44DF, 83336 }, + { 0x44E0, 83340 }, + { 0x44E1, 83344 }, + { 0x44E4, 83348 }, + { 0x44F5, 83352 }, + { 0x44F0, 83356 }, + { 0x44EA, 83360 }, + { 0x44E6, 83364 }, + { 0x44E7, 83368 }, + { 0x44E8, 83372 }, + { 0x44E5, 83376 }, + { 0x44F1, 83380 }, + { 0x44E9, 83384 }, + { 0x44ED, 83388 }, + { 0x44EF, 83392 }, + { 0x44F2, 83396 }, + { 0x44F3, 83400 }, + { 0x44F4, 83404 }, + { 0x44E3, 83408 }, + { 0x44E2, 83412 }, + { 0x44EC, 83416 }, + { 0x44EB, 83420 }, + { 0x44EE, 83424 }, + { 0x44FA, 83429 }, + { 0x450A, 83433 }, + { 0x4525, 83438 }, + { 0x4513, 83444 }, + { 0x44FF, 83449 }, + { 0x450F, 83453 }, + { 0x452A, 83458 }, + { 0x4518, 83464 }, + { 0x4503, 83469 }, + { 0x451C, 83473 }, + { 0x44FB, 83478 }, + { 0x450B, 83482 }, + { 0x4526, 83487 }, + { 0x4514, 83493 }, + { 0x44FE, 83498 }, + { 0x450E, 83502 }, + { 0x4529, 83507 }, + { 0x4517, 83513 }, + { 0x44FD, 83518 }, + { 0x450D, 83522 }, + { 0x4528, 83527 }, + { 0x4516, 83533 }, + { 0x4502, 83538 }, + { 0x4512, 83542 }, + { 0x452D, 83547 }, + { 0x451B, 83553 }, + { 0x4501, 83558 }, + { 0x4511, 83562 }, + { 0x452C, 83567 }, + { 0x451A, 83573 }, + { 0x4507, 83578 }, + { 0x4520, 83582 }, + { 0x4506, 83587 }, + { 0x451F, 83591 }, + { 0x4500, 83596 }, + { 0x4510, 83600 }, + { 0x452B, 83605 }, + { 0x4519, 83611 }, + { 0x4508, 83616 }, + { 0x4521, 83620 }, + { 0x44FC, 83625 }, + { 0x450C, 83629 }, + { 0x4527, 83634 }, + { 0x4515, 83640 }, + { 0x4523, 83645 }, + { 0x4524, 83650 }, + { 0x4505, 83655 }, + { 0x451E, 83659 }, + { 0x4504, 83664 }, + { 0x451D, 83668 }, + { 0x4509, 83673 }, + { 0x4522, 83677 }, + { 0x44F7, 83682 }, + { 0x452E, 83687 }, + { 0x4533, 83692 }, + { 0x4537, 83697 }, + { 0x452F, 83702 }, + { 0x4532, 83707 }, + { 0x4531, 83712 }, + { 0x4536, 83717 }, + { 0x4535, 83722 }, + { 0x4534, 83727 }, + { 0x4530, 83732 }, + { 0x44F6, 83737 }, + { 0x44F9, 83742 }, + { 0x44F8, 83746 }, + { 0x44BE, 83750 }, + { 0x44BF, 83754 }, + { 0x44C0, 83758 }, + { 0x44C1, 83762 }, + { 0x44C4, 83766 }, + { 0x44DB, 83770 }, + { 0x44D4, 83774 }, + { 0x44CE, 83778 }, + { 0x44C7, 83782 }, + { 0x44C8, 83786 }, + { 0x44CA, 83790 }, + { 0x44C6, 83794 }, + { 0x44D5, 83798 }, + { 0x44CC, 83802 }, + { 0x44D1, 83806 }, + { 0x44D3, 83810 }, + { 0x44D6, 83814 }, + { 0x44D8, 83818 }, + { 0x44DA, 83822 }, + { 0x44C3, 83826 }, + { 0x44C2, 83830 }, + { 0x44D0, 83834 }, + { 0x44CF, 83838 }, + { 0x44C5, 83842 }, + { 0x44C9, 83846 }, + { 0x44CB, 83850 }, + { 0x44CD, 83854 }, + { 0x44D2, 83858 }, + { 0x44D7, 83862 }, + { 0x44D9, 83866 }, + { 0x44DC, 83870 }, + { 0x44DD, 83874 }, + { 0x1F5E, 83878 }, + { 0x1F5F, 83883 }, + { 0x1F5D, 83887 }, + { 0x1F5B, 83892 }, + { 0x1F5A, 83896 }, + { 0x1F5C, 83898 }, + { 0x1F60, 83902 }, + { 0x1F62, 83904 }, + { 0x1F61, 83906 }, + { 0x6CD1, 83908 }, + { 0x6DF8, 83910 }, + { 0x6F10, 83911 }, + { 0x392D, 83912 }, + { 0x0293, 83917 }, + { 0x0283, 83921 }, + { 0x35F6, 83925 }, + { 0x359E, 83928 }, + { 0x359D, 83932 }, + { 0x359F, 83937 }, + { 0x02BB, 83942 }, + { 0x02B9, 83947 }, + { 0x02AF, 83952 }, + { 0x02AE, 83957 }, + { 0x02BE, 83962 }, + { 0x02B0, 83967 }, + { 0x02B2, 83972 }, + { 0x02A7, 83976 }, + { 0x028E, 83981 }, + { 0x028D, 83986 }, + { 0x02B1, 83991 }, + { 0x02B6, 83996 }, + { 0x3591, 84000 }, + { 0x3596, 84006 }, + { 0x028C, 84013 }, + { 0x35A5, 84017 }, + { 0x028B, 84023 }, + { 0x359B, 84028 }, + { 0x360E, 84034 }, + { 0x02A6, 84039 }, + { 0x3590, 84044 }, + { 0x3595, 84050 }, + { 0x359A, 84057 }, + { 0x02A9, 84063 }, + { 0x0294, 84069 }, + { 0x0284, 84073 }, + { 0x0290, 84077 }, + { 0x02A5, 84082 }, + { 0x358F, 84087 }, + { 0x3594, 84093 }, + { 0x3599, 84100 }, + { 0x027E, 84106 }, + { 0x0281, 84111 }, + { 0x02BD, 84115 }, + { 0x0295, 84119 }, + { 0x02AA, 84123 }, + { 0x0289, 84129 }, + { 0x02BA, 84133 }, + { 0x02B8, 84138 }, + { 0x360F, 84143 }, + { 0x029E, 84146 }, + { 0x028A, 84150 }, + { 0x35A0, 84154 }, + { 0x0296, 84160 }, + { 0x0278, 84164 }, + { 0x027D, 84167 }, + { 0x0282, 84172 }, + { 0x02BC, 84176 }, + { 0x3610, 84179 }, + { 0x1913, 84184 }, + { 0x1917, 84188 }, + { 0x196C, 84192 }, + { 0x196D, 84196 }, + { 0x1918, 84202 }, + { 0x1919, 84206 }, + { 0x1970, 84210 }, + { 0x191D, 84214 }, + { 0x026F, 84218 }, + { 0x0270, 84222 }, + { 0x1974, 84228 }, + { 0x0271, 84234 }, + { 0x1978, 84238 }, + { 0x191F, 84244 }, + { 0x02A0, 84248 }, + { 0x3930, 84252 }, + { 0x197A, 84259 }, + { 0x392F, 84266 }, + { 0x1979, 84274 }, + { 0x1920, 84281 }, + { 0x197C, 84285 }, + { 0x197E, 84291 }, + { 0x197F, 84298 }, + { 0x1922, 84305 }, + { 0x1926, 84309 }, + { 0x0272, 84313 }, + { 0x02A1, 84317 }, + { 0x1983, 84321 }, + { 0x1927, 84327 }, + { 0x1985, 84331 }, + { 0x1928, 84338 }, + { 0x1986, 84342 }, + { 0x3931, 84347 }, + { 0x192B, 84354 }, + { 0x1989, 84358 }, + { 0x0276, 84364 }, + { 0x02A2, 84368 }, + { 0x0277, 84372 }, + { 0x198B, 84376 }, + { 0x198D, 84380 }, + { 0x198C, 84386 }, + { 0x192C, 84393 }, + { 0x1931, 84397 }, + { 0x1921, 84401 }, + { 0x1984, 84405 }, + { 0x196E, 84409 }, + { 0x198E, 84413 }, + { 0x1982, 84417 }, + { 0x1924, 84421 }, + { 0x192D, 84427 }, + { 0x392E, 84431 }, + { 0x1975, 84435 }, + { 0x191B, 84439 }, + { 0x1923, 84444 }, + { 0x1915, 84449 }, + { 0x192F, 84453 }, + { 0x029F, 84457 }, + { 0x1930, 84461 }, + { 0x192E, 84466 }, + { 0x191A, 84471 }, + { 0x198F, 84475 }, + { 0x1981, 84479 }, + { 0x1925, 84484 }, + { 0x1972, 84490 }, + { 0x1914, 84495 }, + { 0x1973, 84500 }, + { 0x191E, 84505 }, + { 0x192A, 84510 }, + { 0x197D, 84515 }, + { 0x0273, 84523 }, + { 0x0274, 84528 }, + { 0x198A, 84535 }, + { 0x1916, 84540 }, + { 0x191C, 84545 }, + { 0x196B, 84551 }, + { 0x1976, 84556 }, + { 0x1977, 84561 }, + { 0x197B, 84568 }, + { 0x1980, 84573 }, + { 0x1988, 84578 }, + { 0x0275, 84583 }, + { 0x1971, 84589 }, + { 0x1987, 84596 }, + { 0x363F, 84600 }, + { 0x196F, 84605 }, + { 0x02A3, 84611 }, + { 0x1929, 84617 }, + { 0x0279, 84622 }, + { 0x02AD, 84626 }, + { 0x0288, 84630 }, + { 0x02B3, 84633 }, + { 0x02B5, 84638 }, + { 0x02B4, 84644 }, + { 0x35A1, 84650 }, + { 0x35A2, 84655 }, + { 0x02B7, 84660 }, + { 0x35A4, 84664 }, + { 0x35A3, 84670 }, + { 0x029D, 84675 }, + { 0x35A7, 84679 }, + { 0x35A6, 84685 }, + { 0x027A, 84691 }, + { 0x18FC, 84695 }, + { 0x18FE, 84699 }, + { 0x1900, 84703 }, + { 0x1901, 84707 }, + { 0x1903, 84711 }, + { 0x1904, 84715 }, + { 0x363E, 84719 }, + { 0x1905, 84725 }, + { 0x1906, 84729 }, + { 0x1907, 84733 }, + { 0x1908, 84737 }, + { 0x1909, 84741 }, + { 0x190A, 84745 }, + { 0x190C, 84749 }, + { 0x190E, 84753 }, + { 0x190F, 84757 }, + { 0x1910, 84761 }, + { 0x1911, 84765 }, + { 0x27A3, 84769 }, + { 0x1912, 84773 }, + { 0x18FD, 84777 }, + { 0x190D, 84781 }, + { 0x18FF, 84785 }, + { 0x1902, 84790 }, + { 0x190B, 84795 }, + { 0x0292, 84800 }, + { 0x0291, 84806 }, + { 0x358A, 84812 }, + { 0x358C, 84818 }, + { 0x3586, 84824 }, + { 0x3588, 84830 }, + { 0x358B, 84836 }, + { 0x358D, 84842 }, + { 0x3587, 84848 }, + { 0x3589, 84854 }, + { 0x027F, 84860 }, + { 0x02AB, 84864 }, + { 0x1948, 84867 }, + { 0x352A, 84871 }, + { 0x352B, 84876 }, + { 0x0E2A, 84881 }, + { 0x027C, 84885 }, + { 0x0280, 84889 }, + { 0x0287, 84894 }, + { 0x02A8, 84898 }, + { 0x3592, 84903 }, + { 0x3597, 84909 }, + { 0x359C, 84916 }, + { 0x027B, 84922 }, + { 0x0285, 84925 }, + { 0x02A4, 84929 }, + { 0x358E, 84934 }, + { 0x3593, 84940 }, + { 0x3598, 84947 }, + { 0x028F, 84953 }, + { 0x02AC, 84957 }, + { 0x21E5, 84960 }, + { 0x21E4, 84963 }, + { 0x6192, 84966 }, + { 0x6FD8, 84969 }, + { 0x7011, 84970 }, + { 0x224A, 84971 }, + { 0x6FD9, 84972 }, + { 0x6FDB, 84974 }, + { 0x6FF0, 84976 }, + { 0x1E41, 84978 }, + { 0x6CF1, 84979 }, + { 0x1E15, 84982 }, + { 0x1E17, 84983 }, + { 0x1E16, 84985 }, + { 0x6C7F, 84987 }, + { 0x6D19, 84988 }, + { 0x1C21, 84990 }, + { 0x2059, 84993 }, + { 0x6B8E, 84997 }, + { 0x6B8F, 85003 }, + { 0x6B90, 85009 }, + { 0x6B91, 85015 }, + { 0x6B92, 85021 }, + { 0x6B93, 85027 }, + { 0x6B94, 85033 }, + { 0x6B95, 85039 }, + { 0x6B96, 85045 }, + { 0x6B97, 85051 }, + { 0x6B98, 85057 }, + { 0x6B99, 85063 }, + { 0x6B9A, 85069 }, + { 0x6B9B, 85075 }, + { 0x6B9C, 85081 }, + { 0x6B9D, 85087 }, + { 0x6B9E, 85093 }, + { 0x6B9F, 85099 }, + { 0x6BA0, 85105 }, + { 0x6BA1, 85111 }, + { 0x6BA2, 85117 }, + { 0x6BA3, 85123 }, + { 0x6BA4, 85129 }, + { 0x6BA5, 85135 }, + { 0x6BA6, 85141 }, + { 0x6BA7, 85147 }, + { 0x2045, 85153 }, + { 0x2046, 85157 }, + { 0x204E, 85161 }, + { 0x2049, 85165 }, + { 0x204A, 85169 }, + { 0x204C, 85173 }, + { 0x2048, 85177 }, + { 0x204D, 85181 }, + { 0x2047, 85185 }, + { 0x204B, 85189 }, + { 0x6BC8, 85193 }, + { 0x6BC5, 85196 }, + { 0x6BC6, 85199 }, + { 0x6BC7, 85202 }, + { 0x6BC9, 85205 }, + { 0x22A8, 85208 }, + { 0x6BAA, 85212 }, + { 0x6BAB, 85218 }, + { 0x6BAC, 85224 }, + { 0x6BAD, 85230 }, + { 0x6BAE, 85236 }, + { 0x6BAF, 85242 }, + { 0x6BB0, 85248 }, + { 0x6BB1, 85254 }, + { 0x6BB2, 85260 }, + { 0x6BB3, 85266 }, + { 0x6BB4, 85272 }, + { 0x6BB5, 85278 }, + { 0x6BB6, 85284 }, + { 0x6BB7, 85290 }, + { 0x6BB8, 85296 }, + { 0x6BB9, 85302 }, + { 0x6BBA, 85308 }, + { 0x6BBB, 85314 }, + { 0x6BBC, 85320 }, + { 0x6BBD, 85326 }, + { 0x6BBE, 85332 }, + { 0x6BBF, 85338 }, + { 0x6BC0, 85344 }, + { 0x6BC1, 85350 }, + { 0x6BC2, 85356 }, + { 0x6BC3, 85362 }, + { 0x005F, 85368 }, + { 0x6E0E, 85370 }, + { 0x6E0F, 85371 }, + { 0x6FC8, 85375 }, + { 0x701C, 85377 }, + { 0x6FD1, 85380 }, + { 0x6FCF, 85382 }, + { 0x6FD3, 85385 }, + { 0x1E3F, 85387 }, + { 0x2180, 85389 }, + { 0x2287, 85391 }, + { 0x2273, 85394 }, + { 0x2279, 85397 }, + { 0x21F7, 85400 }, + { 0x1BF2, 85403 }, + { 0x71BD, 85404 }, + { 0x1DAE, 85405 }, + { 0x264D, 85407 }, + { 0x264C, 85411 }, + { 0x6FFD, 85415 }, + { 0x6DF6, 85417 }, + { 0x36B2, 85419 }, + { 0x36B3, 85422 }, + { 0x36B1, 85426 }, + { 0x3699, 85430 }, + { 0x369C, 85433 }, + { 0x369A, 85436 }, + { 0x369D, 85439 }, + { 0x369B, 85442 }, + { 0x368A, 85445 }, + { 0x3680, 85448 }, + { 0x3686, 85451 }, + { 0x36A2, 85454 }, + { 0x36A0, 85457 }, + { 0x367E, 85460 }, + { 0x3698, 85463 }, + { 0x3682, 85466 }, + { 0x367C, 85469 }, + { 0x3695, 85472 }, + { 0x368B, 85475 }, + { 0x3687, 85478 }, + { 0x3688, 85481 }, + { 0x369E, 85484 }, + { 0x3694, 85487 }, + { 0x3697, 85490 }, + { 0x3684, 85493 }, + { 0x368F, 85496 }, + { 0x369F, 85499 }, + { 0x3693, 85502 }, + { 0x3691, 85505 }, + { 0x3681, 85508 }, + { 0x36A7, 85511 }, + { 0x368E, 85514 }, + { 0x36A1, 85517 }, + { 0x367D, 85520 }, + { 0x367F, 85523 }, + { 0x36A8, 85526 }, + { 0x3683, 85529 }, + { 0x3689, 85532 }, + { 0x3696, 85535 }, + { 0x3685, 85538 }, + { 0x368C, 85541 }, + { 0x36A5, 85544 }, + { 0x3690, 85547 }, + { 0x368D, 85550 }, + { 0x36A6, 85553 }, + { 0x3692, 85556 }, + { 0x36AB, 85560 }, + { 0x36A9, 85564 }, + { 0x36AC, 85568 }, + { 0x36AA, 85572 }, + { 0x36AF, 85576 }, + { 0x36B0, 85579 }, + { 0x36AD, 85583 }, + { 0x36A3, 85587 }, + { 0x36A4, 85591 }, + { 0x36AE, 85595 }, + { 0x4000, 85599 }, + { 0x3FFA, 85604 }, + { 0x3FE3, 85608 }, + { 0x3FF5, 85612 }, + { 0x3FE9, 85616 }, + { 0x3FF6, 85620 }, + { 0x3FE8, 85624 }, + { 0x3FE5, 85628 }, + { 0x3FED, 85632 }, + { 0x3FF8, 85636 }, + { 0x3FF3, 85640 }, + { 0x3FF2, 85644 }, + { 0x3FFF, 85648 }, + { 0x3FF1, 85652 }, + { 0x3FFC, 85656 }, + { 0x4005, 85660 }, + { 0x3FE2, 85665 }, + { 0x3FF4, 85669 }, + { 0x3FDD, 85674 }, + { 0x3FF7, 85678 }, + { 0x4001, 85682 }, + { 0x3FFB, 85686 }, + { 0x3FEE, 85691 }, + { 0x4004, 85695 }, + { 0x3FE1, 85700 }, + { 0x3FF9, 85704 }, + { 0x3FDE, 85708 }, + { 0x3FEF, 85712 }, + { 0x3FEC, 85716 }, + { 0x4002, 85720 }, + { 0x3FDF, 85724 }, + { 0x3FDA, 85728 }, + { 0x3FE4, 85733 }, + { 0x3FF0, 85737 }, + { 0x3FDC, 85741 }, + { 0x3FE7, 85745 }, + { 0x3FFD, 85749 }, + { 0x3FFE, 85753 }, + { 0x3FE0, 85757 }, + { 0x3FE6, 85761 }, + { 0x4003, 85765 }, + { 0x3FDB, 85769 }, + { 0x3FEA, 85774 }, + { 0x3FEB, 85778 }, + { 0x4006, 85783 }, + { 0x3FD9, 85789 }, + { 0x2289, 85793 }, + { 0x6E39, 85795 }, + { 0x1E9F, 85797 }, + { 0x1E03, 85799 }, + { 0x1E05, 85800 }, + { 0x1E07, 85804 }, + { 0x1E71, 85808 }, + { 0x260F, 85813 }, + { 0x2613, 85818 }, + { 0x2611, 85824 }, + { 0x260D, 85829 }, + { 0x260B, 85833 }, + { 0x2609, 85839 }, + { 0x1E39, 85844 }, + { 0x7196, 85847 }, + { 0x1F20, 85849 }, + { 0x6DB3, 85851 }, + { 0x1CD7, 85852 }, + { 0x20F0, 85854 }, + { 0x20F1, 85857 }, + { 0x20F2, 85860 }, + { 0x20F3, 85863 }, + { 0x20F4, 85872 }, + { 0x20F5, 85878 }, + { 0x20F6, 85887 }, + { 0x20F7, 85896 }, + { 0x20F8, 85899 }, + { 0x20F9, 85905 }, + { 0x001F, 85914 }, + { 0x1BFC, 85916 }, + { 0x2215, 85919 }, + { 0x21D6, 85920 }, + { 0x6BE7, 85923 }, + { 0x6BE8, 85928 }, + { 0x6BE9, 85933 }, + { 0x6BEA, 85938 }, + { 0x6BEB, 85943 }, + { 0x6BEC, 85948 }, + { 0x6BED, 85953 }, + { 0x6BEE, 85958 }, + { 0x6BEF, 85963 }, + { 0x6BF0, 85968 }, + { 0x6BF1, 85973 }, + { 0x6BF2, 85978 }, + { 0x6BF3, 85983 }, + { 0x6BF4, 85988 }, + { 0x6BF5, 85993 }, + { 0x6BF6, 85998 }, + { 0x6BF7, 86003 }, + { 0x6BF8, 86008 }, + { 0x6BF9, 86013 }, + { 0x6BFA, 86018 }, + { 0x6BFB, 86023 }, + { 0x6BFC, 86028 }, + { 0x6BFD, 86033 }, + { 0x6BFE, 86038 }, + { 0x6BFF, 86043 }, + { 0x6C00, 86048 }, + { 0x6F47, 86053 }, + { 0x6CD2, 86055 }, + { 0x1CAC, 86057 }, + { 0x6FF6, 86058 }, + { 0x1E99, 86059 }, + { 0x6ED0, 86062 }, + { 0x24FD, 86068 }, + { 0x24FF, 86070 }, + { 0x2934, 86074 }, + { 0x250A, 86076 }, + { 0x1BE9, 86079 }, + { 0x1DC6, 86081 }, + { 0x1E56, 86083 }, + { 0x1BEA, 86086 }, + { 0x2AAA, 86089 }, + { 0x2647, 86094 }, + { 0x2904, 86099 }, + { 0x6ECC, 86102 }, + { 0x6ECD, 86108 }, + { 0x6ECE, 86112 }, + { 0x1BEB, 86116 }, + { 0x1BFF, 86119 }, + { 0x2173, 86122 }, + { 0x6ECF, 86127 }, + { 0x2921, 86130 }, + { 0x1C03, 86133 }, + { 0x1CD0, 86135 }, + { 0x224F, 86139 }, + { 0x71C0, 86140 }, + { 0x21A9, 86141 }, + { 0x6C6C, 86142 }, + { 0x228A, 86143 }, + { 0x2278, 86146 }, + { 0x22A7, 86150 }, + { 0x2172, 86153 }, + { 0x6C5B, 86154 }, + { 0x7008, 86156 }, + { 0x700D, 86158 }, + { 0x6EDB, 86160 }, + { 0x6EDC, 86165 }, + { 0x6ED5, 86170 }, + { 0x6ED6, 86175 }, + { 0x6ED9, 86180 }, + { 0x6EDA, 86185 }, + { 0x6ED3, 86190 }, + { 0x6ED4, 86195 }, + { 0x3501, 86200 }, + { 0x6F6F, 86202 }, + { 0x6DDF, 86204 }, + { 0x7007, 86206 }, + { 0x6F7D, 86208 }, + { 0x6F7C, 86211 }, + { 0x6F4A, 86214 }, + { 0x7195, 86216 }, + { 0x2282, 86218 }, + { 0x6F1E, 86219 }, + { 0x1C64, 86223 }, + { 0x6D6E, 86225 }, + { 0x6C97, 86227 }, + { 0x6E0A, 86229 }, + { 0x1DEC, 86231 }, + { 0x1E04, 86234 }, + { 0x1E06, 86235 }, + { 0x1E08, 86239 }, + { 0x1E72, 86243 }, + { 0x2610, 86248 }, + { 0x2614, 86253 }, + { 0x2612, 86259 }, + { 0x260E, 86264 }, + { 0x260C, 86268 }, + { 0x260A, 86274 }, + { 0x1E3A, 86279 }, + { 0x1E0C, 86282 }, + { 0x1E10, 86284 }, + { 0x261E, 86289 }, + { 0x1E14, 86297 }, + { 0x2626, 86303 }, + { 0x2622, 86309 }, + { 0x2624, 86314 }, + { 0x2620, 86320 }, + { 0x2618, 86325 }, + { 0x261A, 86328 }, + { 0x261C, 86333 }, + { 0x262E, 86338 }, + { 0x2630, 86341 }, + { 0x24D5, 86344 }, + { 0x2632, 86348 }, + { 0x2631, 86356 }, + { 0x2323, 86359 }, + { 0x1EB8, 86362 }, + { 0x144F, 86363 }, + { 0x1450, 86367 }, + { 0x143F, 86371 }, + { 0x1440, 86374 }, + { 0x1441, 86377 }, + { 0x1449, 86380 }, + { 0x1446, 86383 }, + { 0x1443, 86386 }, + { 0x1442, 86389 }, + { 0x144C, 86392 }, + { 0x144A, 86395 }, + { 0x1447, 86398 }, + { 0x1448, 86401 }, + { 0x144E, 86404 }, + { 0x1445, 86407 }, + { 0x144D, 86410 }, + { 0x144B, 86413 }, + { 0x1444, 86416 }, + { 0x6CC6, 86419 }, + { 0x6E01, 86421 }, + { 0x7183, 86423 }, + { 0x292E, 86425 }, + { 0x2849, 86427 }, + { 0x287F, 86430 }, + { 0x2862, 86433 }, + { 0x2880, 86436 }, + { 0x286C, 86439 }, + { 0x285D, 86442 }, + { 0x284A, 86445 }, + { 0x2850, 86448 }, + { 0x2855, 86451 }, + { 0x284C, 86454 }, + { 0x2859, 86457 }, + { 0x284F, 86460 }, + { 0x2856, 86463 }, + { 0x2866, 86466 }, + { 0x2867, 86469 }, + { 0x2868, 86472 }, + { 0x286B, 86475 }, + { 0x2860, 86478 }, + { 0x286D, 86481 }, + { 0x2872, 86484 }, + { 0x2875, 86487 }, + { 0x2879, 86490 }, + { 0x287A, 86493 }, + { 0x287B, 86496 }, + { 0x287C, 86499 }, + { 0x2854, 86502 }, + { 0x2871, 86505 }, + { 0x284B, 86509 }, + { 0x2877, 86512 }, + { 0x2852, 86515 }, + { 0x2851, 86518 }, + { 0x286F, 86521 }, + { 0x285C, 86524 }, + { 0x285E, 86527 }, + { 0x286E, 86530 }, + { 0x2874, 86533 }, + { 0x2873, 86536 }, + { 0x2876, 86539 }, + { 0x2878, 86542 }, + { 0x2863, 86545 }, + { 0x287E, 86548 }, + { 0x2853, 86551 }, + { 0x284D, 86554 }, + { 0x2858, 86557 }, + { 0x285A, 86560 }, + { 0x284E, 86565 }, + { 0x285B, 86570 }, + { 0x2857, 86574 }, + { 0x2861, 86578 }, + { 0x2870, 86582 }, + { 0x2869, 86586 }, + { 0x285F, 86590 }, + { 0x286A, 86594 }, + { 0x2865, 86598 }, + { 0x2864, 86602 }, + { 0x287D, 86606 }, + { 0x2881, 86610 }, + { 0x2883, 86615 }, + { 0x2882, 86618 }, + { 0x1BFE, 86621 }, + { 0x6C31, 86624 }, + { 0x6C32, 86630 }, + { 0x6C37, 86636 }, + { 0x6C33, 86642 }, + { 0x6C35, 86648 }, + { 0x6C38, 86654 }, + { 0x6C30, 86660 }, + { 0x6C34, 86666 }, + { 0x6C36, 86672 }, + { 0x6B69, 86678 }, + { 0x2524, 86685 }, + { 0x2527, 86689 }, + { 0x7001, 86694 }, + { 0x2525, 86698 }, + { 0x1C11, 86701 }, + { 0x6D5B, 86702 }, + { 0x6CB4, 86704 }, + { 0x40F9, 86706 }, + { 0x40F6, 86709 }, + { 0x40F7, 86712 }, + { 0x40E0, 86715 }, + { 0x40EF, 86718 }, + { 0x40F5, 86721 }, + { 0x40E1, 86724 }, + { 0x40EC, 86727 }, + { 0x40EE, 86730 }, + { 0x40E6, 86733 }, + { 0x40DE, 86736 }, + { 0x40E9, 86739 }, + { 0x40EB, 86742 }, + { 0x40F8, 86745 }, + { 0x40E4, 86748 }, + { 0x40E5, 86751 }, + { 0x40DB, 86754 }, + { 0x40DC, 86757 }, + { 0x40EA, 86760 }, + { 0x40E3, 86763 }, + { 0x40F1, 86766 }, + { 0x40F0, 86769 }, + { 0x40E7, 86772 }, + { 0x40E2, 86775 }, + { 0x40DF, 86778 }, + { 0x40DD, 86781 }, + { 0x40F4, 86784 }, + { 0x40E8, 86787 }, + { 0x40F2, 86790 }, + { 0x40ED, 86793 }, + { 0x40F3, 86796 }, + { 0x215C, 86799 }, + { 0x224B, 86800 }, + { 0x216E, 86803 }, + { 0x6F4D, 86807 }, + { 0x1BF3, 86809 }, + { 0x1CB0, 86810 }, + { 0x2324, 86811 }, + { 0x252A, 86816 }, + { 0x263E, 86821 }, + { 0x263C, 86826 }, + { 0x2930, 86831 }, + { 0x26D7, 86834 }, + { 0x1C12, 86837 }, + { 0x2ABE, 86840 }, + { 0x2AC2, 86844 }, + { 0x2AC0, 86850 }, + { 0x2ABF, 86856 }, + { 0x2AC1, 86863 }, + { 0x005C, 86872 }, + { 0x2649, 86874 }, + { 0x264A, 86879 }, + { 0x1F08, 86884 }, + { 0x1F59, 86889 }, + { 0x2202, 86892 }, + { 0x2922, 86897 }, + { 0x24F4, 86899 }, + { 0x6FE1, 86902 }, + { 0x1E77, 86905 }, + { 0x2AC8, 86907 }, + { 0x1EA0, 86911 }, + { 0x1C8E, 86913 }, + { 0x6CDA, 86917 }, + { 0x222F, 86919 }, + { 0x6FCC, 86924 }, + { 0x0006, 86925 }, + { 0x5613, 86926 }, + { 0x5614, 86929 }, + { 0x5615, 86932 }, + { 0x5616, 86935 }, + { 0x5617, 86938 }, + { 0x5618, 86941 }, + { 0x5619, 86944 }, + { 0x561A, 86947 }, + { 0x561B, 86950 }, + { 0x561C, 86953 }, + { 0x561E, 86956 }, + { 0x561F, 86959 }, + { 0x5620, 86962 }, + { 0x5621, 86965 }, + { 0x5622, 86968 }, + { 0x5623, 86971 }, + { 0x5624, 86974 }, + { 0x5625, 86977 }, + { 0x5626, 86980 }, + { 0x5627, 86983 }, + { 0x5628, 86986 }, + { 0x5629, 86989 }, + { 0x562A, 86992 }, + { 0x562B, 86995 }, + { 0x562C, 86998 }, + { 0x562D, 87001 }, + { 0x562F, 87004 }, + { 0x5630, 87007 }, + { 0x5631, 87010 }, + { 0x5632, 87013 }, + { 0x5633, 87016 }, + { 0x5634, 87019 }, + { 0x5635, 87022 }, + { 0x5636, 87025 }, + { 0x5637, 87028 }, + { 0x5638, 87031 }, + { 0x5639, 87034 }, + { 0x563A, 87037 }, + { 0x563B, 87040 }, + { 0x563D, 87043 }, + { 0x563E, 87046 }, + { 0x5640, 87049 }, + { 0x5641, 87052 }, + { 0x5642, 87055 }, + { 0x5643, 87058 }, + { 0x5645, 87061 }, + { 0x5648, 87064 }, + { 0x5649, 87067 }, + { 0x564A, 87070 }, + { 0x564B, 87073 }, + { 0x564C, 87076 }, + { 0x564D, 87079 }, + { 0x564E, 87082 }, + { 0x564F, 87085 }, + { 0x5650, 87088 }, + { 0x5651, 87091 }, + { 0x5652, 87094 }, + { 0x5653, 87097 }, + { 0x5654, 87100 }, + { 0x5655, 87103 }, + { 0x5656, 87106 }, + { 0x5657, 87109 }, + { 0x5658, 87112 }, + { 0x5659, 87115 }, + { 0x565A, 87118 }, + { 0x565B, 87121 }, + { 0x565F, 87124 }, + { 0x5660, 87127 }, + { 0x5661, 87130 }, + { 0x5662, 87133 }, + { 0x5663, 87136 }, + { 0x5664, 87139 }, + { 0x5665, 87142 }, + { 0x5666, 87145 }, + { 0x5667, 87148 }, + { 0x5668, 87151 }, + { 0x5669, 87154 }, + { 0x566A, 87157 }, + { 0x566B, 87160 }, + { 0x566C, 87163 }, + { 0x566D, 87166 }, + { 0x566E, 87169 }, + { 0x566F, 87172 }, + { 0x5670, 87175 }, + { 0x5671, 87178 }, + { 0x5672, 87181 }, + { 0x5673, 87184 }, + { 0x5674, 87187 }, + { 0x5675, 87190 }, + { 0x5676, 87193 }, + { 0x5677, 87196 }, + { 0x5678, 87199 }, + { 0x5679, 87202 }, + { 0x567A, 87205 }, + { 0x567B, 87208 }, + { 0x567C, 87211 }, + { 0x567D, 87214 }, + { 0x567F, 87217 }, + { 0x5681, 87220 }, + { 0x5682, 87223 }, + { 0x5684, 87226 }, + { 0x5686, 87229 }, + { 0x5688, 87232 }, + { 0x5689, 87235 }, + { 0x568D, 87238 }, + { 0x5690, 87241 }, + { 0x5691, 87244 }, + { 0x5695, 87247 }, + { 0x5696, 87250 }, + { 0x5697, 87253 }, + { 0x569A, 87256 }, + { 0x569B, 87259 }, + { 0x569C, 87262 }, + { 0x569D, 87265 }, + { 0x569E, 87268 }, + { 0x56A0, 87271 }, + { 0x56A1, 87274 }, + { 0x56A2, 87277 }, + { 0x56A3, 87280 }, + { 0x56A4, 87283 }, + { 0x56A5, 87286 }, + { 0x56A6, 87289 }, + { 0x56A7, 87292 }, + { 0x56A8, 87295 }, + { 0x56A9, 87298 }, + { 0x56AB, 87301 }, + { 0x56AC, 87304 }, + { 0x56AD, 87307 }, + { 0x56AE, 87310 }, + { 0x56AF, 87313 }, + { 0x56B0, 87316 }, + { 0x56B1, 87319 }, + { 0x56B2, 87322 }, + { 0x56B3, 87325 }, + { 0x56B4, 87328 }, + { 0x56B6, 87331 }, + { 0x56B7, 87334 }, + { 0x56B8, 87337 }, + { 0x56B9, 87340 }, + { 0x56BA, 87343 }, + { 0x56BB, 87346 }, + { 0x56BC, 87349 }, + { 0x56BD, 87352 }, + { 0x56BE, 87355 }, + { 0x56BF, 87358 }, + { 0x56C0, 87361 }, + { 0x56C1, 87364 }, + { 0x56C2, 87367 }, + { 0x56C3, 87370 }, + { 0x56C4, 87373 }, + { 0x56C5, 87376 }, + { 0x56C6, 87379 }, + { 0x56C7, 87382 }, + { 0x56C8, 87385 }, + { 0x56C9, 87388 }, + { 0x56CA, 87391 }, + { 0x56CB, 87394 }, + { 0x56CC, 87397 }, + { 0x56CD, 87400 }, + { 0x56CE, 87403 }, + { 0x56CF, 87406 }, + { 0x56D0, 87409 }, + { 0x56D1, 87412 }, + { 0x56D2, 87415 }, + { 0x56D3, 87418 }, + { 0x56D4, 87421 }, + { 0x56D5, 87424 }, + { 0x56D6, 87427 }, + { 0x56D7, 87430 }, + { 0x56D8, 87433 }, + { 0x56D9, 87436 }, + { 0x56DA, 87439 }, + { 0x56DB, 87442 }, + { 0x56DC, 87445 }, + { 0x56DD, 87448 }, + { 0x56DE, 87451 }, + { 0x56DF, 87454 }, + { 0x56E0, 87457 }, + { 0x56E1, 87460 }, + { 0x56E2, 87463 }, + { 0x56E3, 87466 }, + { 0x56E4, 87469 }, + { 0x56E5, 87472 }, + { 0x56E6, 87475 }, + { 0x56E7, 87478 }, + { 0x56E8, 87481 }, + { 0x56E9, 87484 }, + { 0x56EA, 87487 }, + { 0x56EB, 87490 }, + { 0x56EC, 87493 }, + { 0x56ED, 87496 }, + { 0x56EE, 87499 }, + { 0x56EF, 87502 }, + { 0x56F0, 87505 }, + { 0x56F1, 87508 }, + { 0x56F2, 87511 }, + { 0x56F3, 87514 }, + { 0x56F4, 87517 }, + { 0x56F5, 87520 }, + { 0x56F6, 87523 }, + { 0x56F7, 87526 }, + { 0x56F8, 87529 }, + { 0x56FB, 87532 }, + { 0x56FC, 87535 }, + { 0x56FD, 87538 }, + { 0x56FE, 87541 }, + { 0x56FF, 87544 }, + { 0x5701, 87547 }, + { 0x5702, 87550 }, + { 0x5704, 87553 }, + { 0x5705, 87556 }, + { 0x5706, 87559 }, + { 0x5707, 87562 }, + { 0x5708, 87565 }, + { 0x5709, 87568 }, + { 0x570B, 87571 }, + { 0x570D, 87574 }, + { 0x570E, 87577 }, + { 0x570F, 87580 }, + { 0x5710, 87583 }, + { 0x5711, 87586 }, + { 0x5712, 87589 }, + { 0x5713, 87592 }, + { 0x5714, 87595 }, + { 0x5715, 87598 }, + { 0x5716, 87601 }, + { 0x5717, 87604 }, + { 0x5719, 87607 }, + { 0x571A, 87610 }, + { 0x571B, 87613 }, + { 0x571C, 87616 }, + { 0x571D, 87619 }, + { 0x571E, 87622 }, + { 0x571F, 87625 }, + { 0x5720, 87628 }, + { 0x5721, 87631 }, + { 0x5722, 87634 }, + { 0x5723, 87637 }, + { 0x5724, 87640 }, + { 0x5725, 87643 }, + { 0x5726, 87646 }, + { 0x5727, 87649 }, + { 0x5728, 87652 }, + { 0x5729, 87655 }, + { 0x572A, 87658 }, + { 0x572B, 87661 }, + { 0x572C, 87664 }, + { 0x572D, 87667 }, + { 0x572E, 87670 }, + { 0x572F, 87673 }, + { 0x5730, 87676 }, + { 0x5731, 87679 }, + { 0x5732, 87682 }, + { 0x5733, 87685 }, + { 0x5734, 87688 }, + { 0x5735, 87691 }, + { 0x5736, 87694 }, + { 0x5737, 87697 }, + { 0x5738, 87700 }, + { 0x5739, 87703 }, + { 0x573A, 87706 }, + { 0x573B, 87709 }, + { 0x573C, 87712 }, + { 0x573D, 87715 }, + { 0x573E, 87718 }, + { 0x573F, 87721 }, + { 0x5740, 87724 }, + { 0x5742, 87727 }, + { 0x5743, 87730 }, + { 0x5744, 87733 }, + { 0x5745, 87736 }, + { 0x5746, 87739 }, + { 0x5747, 87742 }, + { 0x5748, 87745 }, + { 0x5749, 87748 }, + { 0x574A, 87751 }, + { 0x574B, 87754 }, + { 0x574C, 87757 }, + { 0x574D, 87760 }, + { 0x574E, 87763 }, + { 0x574F, 87766 }, + { 0x5750, 87769 }, + { 0x5751, 87772 }, + { 0x5752, 87775 }, + { 0x5753, 87778 }, + { 0x5754, 87781 }, + { 0x5755, 87784 }, + { 0x5756, 87787 }, + { 0x5757, 87790 }, + { 0x5759, 87793 }, + { 0x575A, 87796 }, + { 0x575B, 87799 }, + { 0x575C, 87802 }, + { 0x575D, 87805 }, + { 0x575F, 87808 }, + { 0x5760, 87811 }, + { 0x5761, 87814 }, + { 0x5762, 87817 }, + { 0x5763, 87820 }, + { 0x5765, 87823 }, + { 0x5766, 87826 }, + { 0x5767, 87829 }, + { 0x5768, 87832 }, + { 0x5769, 87835 }, + { 0x576A, 87838 }, + { 0x576B, 87841 }, + { 0x576C, 87844 }, + { 0x576D, 87847 }, + { 0x576E, 87850 }, + { 0x5770, 87853 }, + { 0x5771, 87856 }, + { 0x5772, 87859 }, + { 0x5773, 87862 }, + { 0x5774, 87865 }, + { 0x5775, 87868 }, + { 0x5776, 87871 }, + { 0x5777, 87874 }, + { 0x5778, 87877 }, + { 0x5779, 87880 }, + { 0x577A, 87883 }, + { 0x577B, 87886 }, + { 0x577C, 87889 }, + { 0x577D, 87892 }, + { 0x577E, 87895 }, + { 0x577F, 87898 }, + { 0x5780, 87901 }, + { 0x5781, 87904 }, + { 0x5782, 87907 }, + { 0x5783, 87910 }, + { 0x5785, 87913 }, + { 0x5786, 87916 }, + { 0x578A, 87919 }, + { 0x578B, 87922 }, + { 0x578C, 87925 }, + { 0x578D, 87928 }, + { 0x5791, 87931 }, + { 0x5792, 87934 }, + { 0x5793, 87937 }, + { 0x5794, 87940 }, + { 0x5795, 87943 }, + { 0x5796, 87946 }, + { 0x5797, 87949 }, + { 0x5798, 87952 }, + { 0x5799, 87955 }, + { 0x579A, 87958 }, + { 0x579B, 87961 }, + { 0x579C, 87964 }, + { 0x579D, 87967 }, + { 0x579E, 87970 }, + { 0x579F, 87973 }, + { 0x57A0, 87976 }, + { 0x57A1, 87979 }, + { 0x57A2, 87982 }, + { 0x57A3, 87985 }, + { 0x57A4, 87988 }, + { 0x57A5, 87991 }, + { 0x57A6, 87994 }, + { 0x57A7, 87997 }, + { 0x57A9, 88000 }, + { 0x57AA, 88003 }, + { 0x57AB, 88006 }, + { 0x57AC, 88009 }, + { 0x57AD, 88012 }, + { 0x57AF, 88015 }, + { 0x57B0, 88018 }, + { 0x57B1, 88021 }, + { 0x57B2, 88024 }, + { 0x57B4, 88027 }, + { 0x57B5, 88030 }, + { 0x57B6, 88033 }, + { 0x57B8, 88036 }, + { 0x57B9, 88039 }, + { 0x57BA, 88042 }, + { 0x57BB, 88045 }, + { 0x57BC, 88048 }, + { 0x57BD, 88051 }, + { 0x57BE, 88054 }, + { 0x57BF, 88057 }, + { 0x57C0, 88060 }, + { 0x57C1, 88063 }, + { 0x57C3, 88066 }, + { 0x57C4, 88069 }, + { 0x57C6, 88075 }, + { 0x57C7, 88078 }, + { 0x57C8, 88081 }, + { 0x57CA, 88084 }, + { 0x57CB, 88087 }, + { 0x57CC, 88090 }, + { 0x57CD, 88093 }, + { 0x57CE, 88096 }, + { 0x57CF, 88099 }, + { 0x57D0, 88102 }, + { 0x57D1, 88106 }, + { 0x57D2, 88109 }, + { 0x57D3, 88112 }, + { 0x57D4, 88115 }, + { 0x57D5, 88118 }, + { 0x57D6, 88121 }, + { 0x57D7, 88124 }, + { 0x57D8, 88127 }, + { 0x57D9, 88130 }, + { 0x57DA, 88133 }, + { 0x57DB, 88136 }, + { 0x57DC, 88139 }, + { 0x57DD, 88142 }, + { 0x57DE, 88145 }, + { 0x57DF, 88148 }, + { 0x57E0, 88151 }, + { 0x57E1, 88154 }, + { 0x57E3, 88160 }, + { 0x57E4, 88163 }, + { 0x57E5, 88166 }, + { 0x57E6, 88169 }, + { 0x57E7, 88172 }, + { 0x57E8, 88175 }, + { 0x57E9, 88178 }, + { 0x57EA, 88181 }, + { 0x57EB, 88184 }, + { 0x57EC, 88187 }, + { 0x57ED, 88190 }, + { 0x57EE, 88193 }, + { 0x57EF, 88196 }, + { 0x57F0, 88199 }, + { 0x57F1, 88202 }, + { 0x57F2, 88205 }, + { 0x57F3, 88208 }, + { 0x57F4, 88211 }, + { 0x57F5, 88214 }, + { 0x57F6, 88217 }, + { 0x57F7, 88220 }, + { 0x57F8, 88223 }, + { 0x57F9, 88226 }, + { 0x57FA, 88229 }, + { 0x57FB, 88232 }, + { 0x57FC, 88235 }, + { 0x57FD, 88238 }, + { 0x57FE, 88241 }, + { 0x57FF, 88244 }, + { 0x5800, 88247 }, + { 0x5801, 88250 }, + { 0x5802, 88253 }, + { 0x5803, 88256 }, + { 0x5804, 88259 }, + { 0x5805, 88262 }, + { 0x5806, 88265 }, + { 0x5807, 88268 }, + { 0x5808, 88271 }, + { 0x5809, 88274 }, + { 0x580A, 88277 }, + { 0x580C, 88280 }, + { 0x580D, 88283 }, + { 0x580E, 88286 }, + { 0x580F, 88289 }, + { 0x5810, 88292 }, + { 0x5811, 88295 }, + { 0x5812, 88298 }, + { 0x5814, 88301 }, + { 0x5815, 88304 }, + { 0x5816, 88307 }, + { 0x5817, 88310 }, + { 0x5818, 88313 }, + { 0x5819, 88316 }, + { 0x581A, 88319 }, + { 0x581B, 88322 }, + { 0x581C, 88325 }, + { 0x581D, 88328 }, + { 0x581E, 88331 }, + { 0x581F, 88334 }, + { 0x5820, 88337 }, + { 0x5821, 88340 }, + { 0x5822, 88343 }, + { 0x5823, 88346 }, + { 0x5824, 88349 }, + { 0x5825, 88352 }, + { 0x5826, 88355 }, + { 0x5827, 88358 }, + { 0x5828, 88361 }, + { 0x5829, 88364 }, + { 0x582A, 88367 }, + { 0x582B, 88370 }, + { 0x582C, 88373 }, + { 0x582D, 88376 }, + { 0x582E, 88379 }, + { 0x582F, 88382 }, + { 0x5830, 88385 }, + { 0x5831, 88388 }, + { 0x5832, 88391 }, + { 0x5833, 88394 }, + { 0x5834, 88397 }, + { 0x5835, 88400 }, + { 0x5836, 88403 }, + { 0x5837, 88406 }, + { 0x5838, 88409 }, + { 0x5839, 88412 }, + { 0x583A, 88415 }, + { 0x583B, 88418 }, + { 0x583C, 88421 }, + { 0x583D, 88424 }, + { 0x583E, 88427 }, + { 0x583F, 88430 }, + { 0x5840, 88433 }, + { 0x5841, 88436 }, + { 0x5842, 88439 }, + { 0x5843, 88442 }, + { 0x5844, 88445 }, + { 0x5845, 88448 }, + { 0x5846, 88451 }, + { 0x5847, 88454 }, + { 0x5848, 88457 }, + { 0x5849, 88460 }, + { 0x584A, 88463 }, + { 0x584B, 88466 }, + { 0x584C, 88469 }, + { 0x584D, 88472 }, + { 0x584E, 88475 }, + { 0x584F, 88478 }, + { 0x5850, 88481 }, + { 0x5851, 88484 }, + { 0x5852, 88487 }, + { 0x5853, 88490 }, + { 0x5854, 88493 }, + { 0x5855, 88496 }, + { 0x5856, 88499 }, + { 0x5857, 88502 }, + { 0x5858, 88505 }, + { 0x5859, 88508 }, + { 0x561D, 88511 }, + { 0x562E, 88514 }, + { 0x563C, 88517 }, + { 0x563F, 88520 }, + { 0x5644, 88523 }, + { 0x5646, 88526 }, + { 0x5647, 88529 }, + { 0x565C, 88532 }, + { 0x565D, 88535 }, + { 0x565E, 88538 }, + { 0x567E, 88541 }, + { 0x5680, 88544 }, + { 0x5683, 88547 }, + { 0x5685, 88550 }, + { 0x5687, 88553 }, + { 0x568A, 88556 }, + { 0x568B, 88559 }, + { 0x568C, 88562 }, + { 0x568E, 88565 }, + { 0x568F, 88568 }, + { 0x5692, 88571 }, + { 0x5693, 88574 }, + { 0x5694, 88577 }, + { 0x5698, 88580 }, + { 0x5699, 88583 }, + { 0x569F, 88586 }, + { 0x56AA, 88589 }, + { 0x56B5, 88592 }, + { 0x56F9, 88595 }, + { 0x56FA, 88598 }, + { 0x5700, 88601 }, + { 0x5703, 88604 }, + { 0x570A, 88607 }, + { 0x570C, 88610 }, + { 0x5718, 88613 }, + { 0x5741, 88616 }, + { 0x5758, 88619 }, + { 0x575E, 88622 }, + { 0x5764, 88625 }, + { 0x576F, 88628 }, + { 0x5784, 88631 }, + { 0x5787, 88634 }, + { 0x5788, 88637 }, + { 0x5789, 88640 }, + { 0x578E, 88643 }, + { 0x578F, 88646 }, + { 0x5790, 88649 }, + { 0x57A8, 88652 }, + { 0x57AE, 88655 }, + { 0x57B3, 88658 }, + { 0x57B7, 88661 }, + { 0x57C2, 88664 }, + { 0x57C5, 88667 }, + { 0x57C9, 88670 }, + { 0x57E2, 88673 }, + { 0x580B, 88679 }, + { 0x5813, 88682 }, + { 0x6F62, 88685 }, + { 0x2164, 88687 }, + { 0x1E2F, 88689 }, + { 0x6C81, 88690 }, + { 0x6D22, 88691 }, + { 0x6D33, 88694 }, + { 0x4CAF, 88698 }, + { 0x4CB0, 88701 }, + { 0x4CAA, 88704 }, + { 0x4CA9, 88707 }, + { 0x4CA8, 88710 }, + { 0x4CAB, 88713 }, + { 0x4CA7, 88716 }, + { 0x4CAE, 88719 }, + { 0x4CAC, 88722 }, + { 0x4CB2, 88724 }, + { 0x4CB7, 88727 }, + { 0x4CB3, 88730 }, + { 0x4CB6, 88733 }, + { 0x4CB5, 88736 }, + { 0x4CBA, 88739 }, + { 0x4CB1, 88742 }, + { 0x4CB9, 88745 }, + { 0x4CB8, 88748 }, + { 0x4CB4, 88751 }, + { 0x4CA3, 88754 }, + { 0x4C9C, 88758 }, + { 0x4CA5, 88762 }, + { 0x4C9E, 88766 }, + { 0x4C9B, 88770 }, + { 0x4CA4, 88774 }, + { 0x4CA6, 88778 }, + { 0x4C9D, 88782 }, + { 0x4C9F, 88786 }, + { 0x4CA2, 88790 }, + { 0x4CA0, 88795 }, + { 0x4CA1, 88800 }, + { 0x4CAD, 88805 }, + { 0x4C6D, 88808 }, + { 0x4C76, 88811 }, + { 0x4C6F, 88814 }, + { 0x4C78, 88817 }, + { 0x4C71, 88820 }, + { 0x4C6E, 88823 }, + { 0x4C77, 88826 }, + { 0x4C79, 88829 }, + { 0x4C90, 88832 }, + { 0x4C7F, 88835 }, + { 0x4C8B, 88838 }, + { 0x4C7C, 88841 }, + { 0x4C9A, 88844 }, + { 0x4C70, 88847 }, + { 0x4C81, 88850 }, + { 0x4C7A, 88853 }, + { 0x4C95, 88856 }, + { 0x4C92, 88859 }, + { 0x4C8D, 88862 }, + { 0x4C8E, 88865 }, + { 0x4C94, 88868 }, + { 0x4C99, 88871 }, + { 0x4C89, 88874 }, + { 0x4C72, 88877 }, + { 0x4C96, 88880 }, + { 0x4C93, 88883 }, + { 0x4C91, 88886 }, + { 0x4C80, 88889 }, + { 0x4C86, 88892 }, + { 0x4C8C, 88895 }, + { 0x4C7D, 88898 }, + { 0x4C82, 88901 }, + { 0x4C7B, 88904 }, + { 0x4C7E, 88907 }, + { 0x4C88, 88910 }, + { 0x4C83, 88913 }, + { 0x4C8F, 88916 }, + { 0x4C97, 88919 }, + { 0x4C98, 88922 }, + { 0x4C8A, 88925 }, + { 0x4C84, 88928 }, + { 0x4C87, 88931 }, + { 0x4C85, 88934 }, + { 0x4C75, 88937 }, + { 0x4C73, 88941 }, + { 0x4C74, 88945 }, + { 0x4CBB, 88949 }, + { 0x4CC0, 88952 }, + { 0x4CC4, 88955 }, + { 0x4CBC, 88958 }, + { 0x4CBF, 88961 }, + { 0x4CBE, 88964 }, + { 0x4CC3, 88967 }, + { 0x4CC2, 88970 }, + { 0x4CC8, 88973 }, + { 0x4CC7, 88976 }, + { 0x4CC1, 88979 }, + { 0x4CC9, 88982 }, + { 0x4CBD, 88985 }, + { 0x4CCB, 88988 }, + { 0x4CCC, 88991 }, + { 0x4CC6, 88994 }, + { 0x4CC5, 88997 }, + { 0x4CCA, 89000 }, + { 0x4CCD, 89003 }, + { 0x6FEF, 89007 }, + { 0x6CEC, 89008 }, + { 0x217D, 89009 }, + { 0x6DF7, 89011 }, + { 0x71C9, 89012 }, + { 0x5F9E, 89013 }, + { 0x5F7D, 89017 }, + { 0x5FF4, 89022 }, + { 0x5FB5, 89026 }, + { 0x5F89, 89031 }, + { 0x5FAF, 89036 }, + { 0x5FE8, 89040 }, + { 0x5F9F, 89046 }, + { 0x5FEC, 89050 }, + { 0x5FEB, 89055 }, + { 0x600B, 89060 }, + { 0x600D, 89065 }, + { 0x6009, 89070 }, + { 0x6010, 89076 }, + { 0x600E, 89082 }, + { 0x600C, 89087 }, + { 0x600A, 89092 }, + { 0x600F, 89097 }, + { 0x5FA2, 89102 }, + { 0x5F7C, 89108 }, + { 0x6006, 89113 }, + { 0x6037, 89117 }, + { 0x6038, 89122 }, + { 0x6039, 89127 }, + { 0x5FF5, 89132 }, + { 0x5FEF, 89136 }, + { 0x5F9D, 89141 }, + { 0x5FB7, 89145 }, + { 0x5F73, 89150 }, + { 0x5F72, 89155 }, + { 0x5F6F, 89160 }, + { 0x5F94, 89164 }, + { 0x5FD5, 89168 }, + { 0x5F9C, 89172 }, + { 0x5FE7, 89176 }, + { 0x5F83, 89181 }, + { 0x5F88, 89185 }, + { 0x5FD9, 89189 }, + { 0x5F70, 89194 }, + { 0x603F, 89198 }, + { 0x6041, 89205 }, + { 0x6042, 89212 }, + { 0x6040, 89219 }, + { 0x603D, 89226 }, + { 0x603E, 89231 }, + { 0x5FCF, 89236 }, + { 0x5FE3, 89241 }, + { 0x6034, 89246 }, + { 0x603A, 89253 }, + { 0x602B, 89260 }, + { 0x6036, 89266 }, + { 0x6032, 89271 }, + { 0x6033, 89278 }, + { 0x6034, 89285 }, + { 0x6035, 89292 }, + { 0x602D, 89299 }, + { 0x5FA3, 89306 }, + { 0x6028, 89311 }, + { 0x602C, 89318 }, + { 0x602E, 89324 }, + { 0x6031, 89330 }, + { 0x6030, 89337 }, + { 0x6029, 89344 }, + { 0x602F, 89350 }, + { 0x602A, 89356 }, + { 0x603B, 89362 }, + { 0x6047, 89368 }, + { 0x6048, 89373 }, + { 0x5FFE, 89378 }, + { 0x6064, 89384 }, + { 0x5F85, 89390 }, + { 0x6000, 89395 }, + { 0x5FFF, 89401 }, + { 0x601B, 89407 }, + { 0x5FA6, 89413 }, + { 0x5F93, 89418 }, + { 0x5FEE, 89422 }, + { 0x6063, 89427 }, + { 0x5FFA, 89432 }, + { 0x5FF9, 89438 }, + { 0x5FFB, 89444 }, + { 0x5FFD, 89450 }, + { 0x5FFC, 89456 }, + { 0x5FC6, 89462 }, + { 0x5FB6, 89467 }, + { 0x5F84, 89472 }, + { 0x5FCA, 89477 }, + { 0x5F8F, 89481 }, + { 0x5FC8, 89486 }, + { 0x5F95, 89491 }, + { 0x5F86, 89496 }, + { 0x5F98, 89500 }, + { 0x5FD8, 89504 }, + { 0x6057, 89509 }, + { 0x5F7E, 89513 }, + { 0x5FF6, 89517 }, + { 0x5FC7, 89521 }, + { 0x5F75, 89526 }, + { 0x5F74, 89531 }, + { 0x6043, 89536 }, + { 0x6045, 89543 }, + { 0x6046, 89550 }, + { 0x6044, 89557 }, + { 0x603C, 89564 }, + { 0x5FBF, 89569 }, + { 0x605B, 89573 }, + { 0x605A, 89578 }, + { 0x605C, 89583 }, + { 0x605E, 89588 }, + { 0x6058, 89593 }, + { 0x605D, 89598 }, + { 0x6059, 89603 }, + { 0x5FC5, 89608 }, + { 0x6008, 89612 }, + { 0x5FC4, 89616 }, + { 0x6025, 89620 }, + { 0x5FAE, 89627 }, + { 0x5FBE, 89631 }, + { 0x6062, 89637 }, + { 0x6060, 89643 }, + { 0x5F8A, 89649 }, + { 0x5FF8, 89654 }, + { 0x5FF2, 89658 }, + { 0x5FF1, 89663 }, + { 0x5FF0, 89668 }, + { 0x5FD0, 89673 }, + { 0x5FCC, 89677 }, + { 0x5FB0, 89681 }, + { 0x5FB8, 89685 }, + { 0x5FAB, 89689 }, + { 0x5FED, 89693 }, + { 0x5F8E, 89697 }, + { 0x5FD4, 89702 }, + { 0x5F9A, 89707 }, + { 0x5F99, 89713 }, + { 0x5F82, 89718 }, + { 0x5FA0, 89722 }, + { 0x5F96, 89726 }, + { 0x5F90, 89730 }, + { 0x5FC2, 89735 }, + { 0x5FF3, 89739 }, + { 0x5F91, 89744 }, + { 0x5F92, 89749 }, + { 0x5F87, 89753 }, + { 0x5FD6, 89757 }, + { 0x5FAA, 89762 }, + { 0x6049, 89767 }, + { 0x604A, 89773 }, + { 0x604B, 89779 }, + { 0x604C, 89784 }, + { 0x6001, 89789 }, + { 0x6004, 89793 }, + { 0x6003, 89799 }, + { 0x6002, 89806 }, + { 0x6055, 89813 }, + { 0x5FD7, 89818 }, + { 0x6026, 89822 }, + { 0x5F76, 89826 }, + { 0x5FA9, 89830 }, + { 0x5FB1, 89834 }, + { 0x5FB9, 89839 }, + { 0x5F7B, 89843 }, + { 0x6012, 89847 }, + { 0x6014, 89854 }, + { 0x6020, 89861 }, + { 0x6011, 89867 }, + { 0x6015, 89873 }, + { 0x6019, 89879 }, + { 0x601A, 89885 }, + { 0x6022, 89891 }, + { 0x6013, 89898 }, + { 0x6017, 89904 }, + { 0x6018, 89910 }, + { 0x6016, 89917 }, + { 0x6021, 89922 }, + { 0x5F8D, 89928 }, + { 0x5FA7, 89932 }, + { 0x5FBC, 89936 }, + { 0x5F8C, 89941 }, + { 0x6051, 89945 }, + { 0x6052, 89950 }, + { 0x6053, 89956 }, + { 0x6054, 89962 }, + { 0x604D, 89968 }, + { 0x604E, 89973 }, + { 0x604F, 89979 }, + { 0x6050, 89985 }, + { 0x5FF7, 89991 }, + { 0x5FD2, 89995 }, + { 0x5FB2, 90000 }, + { 0x5FA5, 90005 }, + { 0x6056, 90010 }, + { 0x5FEA, 90015 }, + { 0x601F, 90019 }, + { 0x601E, 90024 }, + { 0x601D, 90029 }, + { 0x5FA4, 90034 }, + { 0x5FE9, 90038 }, + { 0x5F7F, 90042 }, + { 0x5FBD, 90046 }, + { 0x6061, 90052 }, + { 0x605F, 90058 }, + { 0x5F8B, 90064 }, + { 0x5FA1, 90069 }, + { 0x5FE4, 90073 }, + { 0x5F9B, 90078 }, + { 0x5FA8, 90083 }, + { 0x5FC9, 90087 }, + { 0x5F77, 90092 }, + { 0x6005, 90096 }, + { 0x5F79, 90100 }, + { 0x5F7A, 90104 }, + { 0x5FCB, 90109 }, + { 0x601C, 90113 }, + { 0x5FC1, 90119 }, + { 0x5F80, 90125 }, + { 0x5FC0, 90129 }, + { 0x5F81, 90134 }, + { 0x5FD3, 90139 }, + { 0x6023, 90143 }, + { 0x6024, 90149 }, + { 0x6007, 90155 }, + { 0x6027, 90159 }, + { 0x5FCE, 90163 }, + { 0x5FAC, 90168 }, + { 0x5F78, 90173 }, + { 0x5FCD, 90177 }, + { 0x5FAD, 90182 }, + { 0x5F71, 90187 }, + { 0x5FE5, 90191 }, + { 0x5FE6, 90196 }, + { 0x5F97, 90201 }, + { 0x5FB4, 90205 }, + { 0x5FB3, 90209 }, + { 0x5FE2, 90213 }, + { 0x5FE1, 90217 }, + { 0x5FDC, 90221 }, + { 0x5FDF, 90225 }, + { 0x5FD1, 90229 }, + { 0x5FBB, 90233 }, + { 0x5FC3, 90237 }, + { 0x5FBA, 90241 }, + { 0x5FDB, 90245 }, + { 0x5FE0, 90249 }, + { 0x5FDA, 90253 }, + { 0x5FDD, 90257 }, + { 0x5FDE, 90261 }, + { 0x2932, 90265 }, + { 0x21AB, 90266 }, + { 0x4248, 90267 }, + { 0x4266, 90271 }, + { 0x4244, 90275 }, + { 0x425C, 90279 }, + { 0x4245, 90283 }, + { 0x4256, 90287 }, + { 0x424D, 90291 }, + { 0x425E, 90295 }, + { 0x4247, 90299 }, + { 0x424A, 90303 }, + { 0x4268, 90307 }, + { 0x4246, 90311 }, + { 0x4250, 90315 }, + { 0x4272, 90319 }, + { 0x4258, 90323 }, + { 0x4277, 90327 }, + { 0x4252, 90331 }, + { 0x4260, 90335 }, + { 0x426B, 90339 }, + { 0x4261, 90343 }, + { 0x425B, 90347 }, + { 0x426D, 90351 }, + { 0x4251, 90355 }, + { 0x424C, 90359 }, + { 0x424F, 90363 }, + { 0x4274, 90367 }, + { 0x426A, 90371 }, + { 0x425D, 90375 }, + { 0x4273, 90379 }, + { 0x425F, 90383 }, + { 0x4255, 90387 }, + { 0x4269, 90391 }, + { 0x425A, 90395 }, + { 0x4253, 90399 }, + { 0x4265, 90403 }, + { 0x4257, 90407 }, + { 0x4259, 90411 }, + { 0x4262, 90415 }, + { 0x4276, 90419 }, + { 0x426E, 90423 }, + { 0x4264, 90427 }, + { 0x4271, 90431 }, + { 0x4270, 90435 }, + { 0x4267, 90439 }, + { 0x426F, 90443 }, + { 0x4254, 90447 }, + { 0x4275, 90451 }, + { 0x424E, 90455 }, + { 0x4249, 90459 }, + { 0x424B, 90463 }, + { 0x4263, 90467 }, + { 0x426C, 90471 }, + { 0x4278, 90475 }, + { 0x1BF4, 90479 }, + { 0x6CFC, 90481 }, + { 0x6CA6, 90483 }, + { 0x6CBF, 90485 }, + { 0x6D14, 90487 }, + { 0x6C41, 90488 }, + { 0x6EBC, 90491 }, + { 0x6D16, 90494 }, + { 0x6E06, 90496 }, + { 0x1D40, 90497 }, + { 0x1D44, 90501 }, + { 0x6F13, 90505 }, + { 0x249B, 90511 }, + { 0x234D, 90515 }, + { 0x1DBB, 90519 }, + { 0x1DBA, 90522 }, + { 0x6E3E, 90524 }, + { 0x6E3C, 90531 }, + { 0x6E3D, 90538 }, + { 0x26C8, 90549 }, + { 0x6DE0, 90554 }, + { 0x02FC, 90556 }, + { 0x0312, 90559 }, + { 0x19A0, 90562 }, + { 0x19C5, 90565 }, + { 0x02DC, 90569 }, + { 0x19A1, 90573 }, + { 0x19A2, 90576 }, + { 0x02C6, 90579 }, + { 0x0317, 90582 }, + { 0x02E2, 90586 }, + { 0x02F1, 90589 }, + { 0x0309, 90592 }, + { 0x40D6, 90596 }, + { 0x40D7, 90601 }, + { 0x40DA, 90606 }, + { 0x40D8, 90611 }, + { 0x40D9, 90616 }, + { 0x1721, 90621 }, + { 0x02DD, 90624 }, + { 0x1C78, 90628 }, + { 0x02C8, 90632 }, + { 0x02DA, 90635 }, + { 0x0310, 90637 }, + { 0x02DB, 90642 }, + { 0x02D7, 90647 }, + { 0x02D9, 90651 }, + { 0x0308, 90655 }, + { 0x1C72, 90659 }, + { 0x1C8A, 90663 }, + { 0x1C7D, 90667 }, + { 0x030C, 90672 }, + { 0x1C6C, 90677 }, + { 0x19C9, 90681 }, + { 0x0313, 90685 }, + { 0x1C87, 90689 }, + { 0x02F5, 90694 }, + { 0x02F7, 90698 }, + { 0x1C6E, 90702 }, + { 0x1723, 90707 }, + { 0x02DE, 90711 }, + { 0x02C9, 90715 }, + { 0x02E4, 90718 }, + { 0x1C74, 90721 }, + { 0x1C85, 90724 }, + { 0x0300, 90728 }, + { 0x02C0, 90732 }, + { 0x02D6, 90735 }, + { 0x02C5, 90739 }, + { 0x02ED, 90741 }, + { 0x02CB, 90744 }, + { 0x02EB, 90746 }, + { 0x02D2, 90749 }, + { 0x02D4, 90752 }, + { 0x02E5, 90756 }, + { 0x02FF, 90759 }, + { 0x02BF, 90763 }, + { 0x02D5, 90766 }, + { 0x0302, 90770 }, + { 0x618E, 90773 }, + { 0x6190, 90777 }, + { 0x618F, 90781 }, + { 0x0303, 90785 }, + { 0x0301, 90789 }, + { 0x0304, 90792 }, + { 0x0322, 90795 }, + { 0x19C2, 90800 }, + { 0x19B8, 90807 }, + { 0x0327, 90812 }, + { 0x19A7, 90817 }, + { 0x0328, 90823 }, + { 0x0323, 90828 }, + { 0x19BB, 90833 }, + { 0x19AA, 90838 }, + { 0x0329, 90843 }, + { 0x0324, 90848 }, + { 0x19AC, 90853 }, + { 0x19AD, 90858 }, + { 0x19BC, 90863 }, + { 0x032A, 90872 }, + { 0x19B0, 90877 }, + { 0x0325, 90882 }, + { 0x19BD, 90887 }, + { 0x19C3, 90896 }, + { 0x19BE, 90903 }, + { 0x032B, 90908 }, + { 0x199A, 90913 }, + { 0x19B3, 90919 }, + { 0x19B4, 90925 }, + { 0x032C, 90930 }, + { 0x0326, 90935 }, + { 0x19C0, 90940 }, + { 0x19C4, 90949 }, + { 0x032D, 90956 }, + { 0x19C1, 90961 }, + { 0x032E, 90966 }, + { 0x19B6, 90971 }, + { 0x19A4, 90976 }, + { 0x19A5, 90981 }, + { 0x19A6, 90986 }, + { 0x19BF, 90991 }, + { 0x19A9, 90996 }, + { 0x19B9, 91001 }, + { 0x19B5, 91006 }, + { 0x19B7, 91012 }, + { 0x19BA, 91017 }, + { 0x19A8, 91022 }, + { 0x19A3, 91028 }, + { 0x19AB, 91036 }, + { 0x19AE, 91042 }, + { 0x19AF, 91048 }, + { 0x19B1, 91054 }, + { 0x19B2, 91060 }, + { 0x1725, 91066 }, + { 0x02DF, 91071 }, + { 0x0316, 91075 }, + { 0x02F8, 91080 }, + { 0x02D8, 91085 }, + { 0x1C73, 91089 }, + { 0x1C8B, 91093 }, + { 0x1C6D, 91097 }, + { 0x0315, 91101 }, + { 0x19CA, 91108 }, + { 0x030F, 91115 }, + { 0x0314, 91119 }, + { 0x02F4, 91123 }, + { 0x02F6, 91127 }, + { 0x1C6F, 91131 }, + { 0x1992, 91136 }, + { 0x1C77, 91139 }, + { 0x02C2, 91143 }, + { 0x3CBD, 91145 }, + { 0x02EF, 91150 }, + { 0x3CBE, 91153 }, + { 0x02F3, 91158 }, + { 0x030B, 91161 }, + { 0x19C8, 91166 }, + { 0x0305, 91171 }, + { 0x02E9, 91174 }, + { 0x1991, 91177 }, + { 0x1990, 91181 }, + { 0x02F2, 91185 }, + { 0x1724, 91189 }, + { 0x0319, 91194 }, + { 0x02CA, 91198 }, + { 0x031C, 91202 }, + { 0x031B, 91205 }, + { 0x02CE, 91209 }, + { 0x031F, 91213 }, + { 0x3CB6, 91216 }, + { 0x3CB7, 91221 }, + { 0x031D, 91226 }, + { 0x031E, 91229 }, + { 0x0320, 91233 }, + { 0x19C7, 91237 }, + { 0x02FE, 91242 }, + { 0x02CD, 91245 }, + { 0x0307, 91250 }, + { 0x1C82, 91255 }, + { 0x199D, 91260 }, + { 0x0321, 91264 }, + { 0x1728, 91269 }, + { 0x0306, 91273 }, + { 0x02C3, 91277 }, + { 0x3CB8, 91279 }, + { 0x3CBF, 91283 }, + { 0x02F0, 91288 }, + { 0x3CB9, 91291 }, + { 0x3CC0, 91295 }, + { 0x02E7, 91300 }, + { 0x199E, 91302 }, + { 0x02FA, 91305 }, + { 0x1726, 91308 }, + { 0x1720, 91313 }, + { 0x1C84, 91316 }, + { 0x02D1, 91319 }, + { 0x1722, 91323 }, + { 0x031A, 91327 }, + { 0x199F, 91330 }, + { 0x1C83, 91333 }, + { 0x02E6, 91336 }, + { 0x171C, 91338 }, + { 0x0311, 91342 }, + { 0x49F4, 91344 }, + { 0x49F9, 91348 }, + { 0x49F5, 91352 }, + { 0x49F8, 91356 }, + { 0x49F7, 91360 }, + { 0x49F3, 91364 }, + { 0x49F6, 91368 }, + { 0x49FA, 91372 }, + { 0x49FB, 91376 }, + { 0x49FC, 91380 }, + { 0x49FE, 91384 }, + { 0x49FD, 91388 }, + { 0x1C81, 91392 }, + { 0x02FB, 91396 }, + { 0x030D, 91399 }, + { 0x1C8C, 91403 }, + { 0x0318, 91406 }, + { 0x34FE, 91409 }, + { 0x043B, 91414 }, + { 0x043C, 91418 }, + { 0x0439, 91422 }, + { 0x3CC2, 91425 }, + { 0x3CC3, 91430 }, + { 0x34FD, 91435 }, + { 0x350A, 91438 }, + { 0x28E9, 91441 }, + { 0x3503, 91445 }, + { 0x28DD, 91449 }, + { 0x3505, 91453 }, + { 0x28D3, 91457 }, + { 0x28D6, 91461 }, + { 0x352C, 91465 }, + { 0x28DA, 91469 }, + { 0x28DB, 91473 }, + { 0x28DC, 91477 }, + { 0x28DF, 91481 }, + { 0x28E0, 91485 }, + { 0x28E2, 91489 }, + { 0x28EA, 91493 }, + { 0x28D9, 91497 }, + { 0x28DE, 91501 }, + { 0x28E1, 91505 }, + { 0x28D4, 91509 }, + { 0x3504, 91513 }, + { 0x28EE, 91517 }, + { 0x28D8, 91521 }, + { 0x28F1, 91525 }, + { 0x28E4, 91530 }, + { 0x28D5, 91534 }, + { 0x28E5, 91538 }, + { 0x28E3, 91542 }, + { 0x28ED, 91546 }, + { 0x28D7, 91550 }, + { 0x28E7, 91554 }, + { 0x3506, 91558 }, + { 0x3508, 91563 }, + { 0x3507, 91568 }, + { 0x28EB, 91572 }, + { 0x28E8, 91576 }, + { 0x3509, 91580 }, + { 0x28E6, 91584 }, + { 0x28F0, 91588 }, + { 0x28EF, 91593 }, + { 0x352D, 91598 }, + { 0x28F2, 91603 }, + { 0x28EC, 91609 }, + { 0x3502, 91614 }, + { 0x34FF, 91619 }, + { 0x043E, 91624 }, + { 0x350B, 91629 }, + { 0x043F, 91632 }, + { 0x043D, 91636 }, + { 0x3500, 91639 }, + { 0x043A, 91644 }, + { 0x19C6, 91647 }, + { 0x030E, 91650 }, + { 0x171E, 91653 }, + { 0x02D0, 91655 }, + { 0x02EE, 91658 }, + { 0x02F9, 91662 }, + { 0x02EA, 91666 }, + { 0x3CB4, 91671 }, + { 0x3CBB, 91675 }, + { 0x3CB5, 91680 }, + { 0x3CBC, 91684 }, + { 0x02C4, 91689 }, + { 0x02D3, 91691 }, + { 0x02CC, 91695 }, + { 0x02E8, 91699 }, + { 0x02FD, 91703 }, + { 0x1C75, 91706 }, + { 0x1C71, 91710 }, + { 0x02C7, 91714 }, + { 0x02E3, 91716 }, + { 0x171F, 91719 }, + { 0x1C79, 91722 }, + { 0x1C7C, 91725 }, + { 0x1C7F, 91729 }, + { 0x1C7E, 91732 }, + { 0x1C7A, 91735 }, + { 0x1C80, 91738 }, + { 0x1C7B, 91743 }, + { 0x1C86, 91746 }, + { 0x1C89, 91750 }, + { 0x02E1, 91756 }, + { 0x02C1, 91760 }, + { 0x02EC, 91763 }, + { 0x3CBA, 91767 }, + { 0x3CC1, 91770 }, + { 0x3717, 91774 }, + { 0x3707, 91778 }, + { 0x370C, 91782 }, + { 0x3708, 91786 }, + { 0x370B, 91790 }, + { 0x370A, 91794 }, + { 0x370F, 91798 }, + { 0x3706, 91802 }, + { 0x370E, 91806 }, + { 0x370D, 91810 }, + { 0x3709, 91814 }, + { 0x3710, 91818 }, + { 0x3711, 91822 }, + { 0x3712, 91826 }, + { 0x3713, 91830 }, + { 0x3714, 91834 }, + { 0x3715, 91838 }, + { 0x3716, 91842 }, + { 0x6889, 91846 }, + { 0x68A0, 91850 }, + { 0x689E, 91854 }, + { 0x687F, 91858 }, + { 0x68A2, 91862 }, + { 0x688F, 91867 }, + { 0x689A, 91871 }, + { 0x6898, 91875 }, + { 0x6894, 91879 }, + { 0x6880, 91883 }, + { 0x68A4, 91887 }, + { 0x6896, 91891 }, + { 0x6887, 91895 }, + { 0x688B, 91899 }, + { 0x6897, 91903 }, + { 0x6881, 91907 }, + { 0x689D, 91911 }, + { 0x689C, 91915 }, + { 0x689B, 91919 }, + { 0x6883, 91923 }, + { 0x6895, 91927 }, + { 0x688E, 91931 }, + { 0x6891, 91935 }, + { 0x6892, 91939 }, + { 0x689F, 91943 }, + { 0x6884, 91948 }, + { 0x6899, 91952 }, + { 0x688A, 91956 }, + { 0x6890, 91960 }, + { 0x6893, 91964 }, + { 0x6886, 91968 }, + { 0x6882, 91972 }, + { 0x6888, 91976 }, + { 0x68A3, 91981 }, + { 0x68A1, 91987 }, + { 0x688C, 91993 }, + { 0x688D, 91997 }, + { 0x6885, 92001 }, + { 0x030A, 92005 }, + { 0x1C88, 92008 }, + { 0x1993, 92014 }, + { 0x02CF, 92017 }, + { 0x02E0, 92019 }, + { 0x1727, 92023 }, + { 0x1729, 92026 }, + { 0x172A, 92029 }, + { 0x1997, 92032 }, + { 0x199B, 92034 }, + { 0x1995, 92036 }, + { 0x1994, 92038 }, + { 0x199C, 92040 }, + { 0x1996, 92042 }, + { 0x1C76, 92044 }, + { 0x1C70, 92048 }, + { 0x171D, 92052 }, + { 0x1999, 92054 }, + { 0x1998, 92056 }, + { 0x2B23, 92058 }, + { 0x2B24, 92063 }, + { 0x25C7, 92068 }, + { 0x0068, 92072 }, + { 0x6D45, 92074 }, + { 0x71AF, 92075 }, + { 0x4D12, 92076 }, + { 0x4D13, 92079 }, + { 0x4D16, 92084 }, + { 0x4D14, 92089 }, + { 0x4D17, 92094 }, + { 0x4D1A, 92099 }, + { 0x4D15, 92104 }, + { 0x4D19, 92110 }, + { 0x4D18, 92115 }, + { 0x4D9C, 92121 }, + { 0x4D9E, 92124 }, + { 0x4D9D, 92132 }, + { 0x4E51, 92137 }, + { 0x4E52, 92140 }, + { 0x501D, 92144 }, + { 0x50AB, 92147 }, + { 0x501F, 92151 }, + { 0x501E, 92156 }, + { 0x5022, 92160 }, + { 0x5020, 92170 }, + { 0x5021, 92181 }, + { 0x4D1B, 92189 }, + { 0x4D1C, 92192 }, + { 0x4D27, 92195 }, + { 0x4D26, 92199 }, + { 0x4D21, 92208 }, + { 0x4D1F, 92213 }, + { 0x4D22, 92218 }, + { 0x5082, 92224 }, + { 0x5120, 92229 }, + { 0x4D1D, 92235 }, + { 0x4D1E, 92240 }, + { 0x4D20, 92246 }, + { 0x4D23, 92252 }, + { 0x5121, 92257 }, + { 0x4D24, 92262 }, + { 0x4D25, 92267 }, + { 0x4D2E, 92272 }, + { 0x5122, 92275 }, + { 0x4D2F, 92280 }, + { 0x4D30, 92283 }, + { 0x4D31, 92288 }, + { 0x4D32, 92295 }, + { 0x4D33, 92298 }, + { 0x4D36, 92303 }, + { 0x4D38, 92308 }, + { 0x4D39, 92313 }, + { 0x4D3A, 92318 }, + { 0x4D34, 92323 }, + { 0x4D35, 92328 }, + { 0x4D37, 92333 }, + { 0x4D3F, 92338 }, + { 0x4D40, 92341 }, + { 0x4D43, 92346 }, + { 0x4D42, 92352 }, + { 0x4D41, 92361 }, + { 0x4D52, 92366 }, + { 0x4D5B, 92369 }, + { 0x4D5C, 92372 }, + { 0x4D5D, 92377 }, + { 0x4D5E, 92382 }, + { 0x4D5F, 92388 }, + { 0x4D60, 92391 }, + { 0x4D61, 92397 }, + { 0x5127, 92403 }, + { 0x4D62, 92410 }, + { 0x4D67, 92415 }, + { 0x5128, 92418 }, + { 0x4D84, 92423 }, + { 0x4D8C, 92426 }, + { 0x4D8E, 92429 }, + { 0x4D8D, 92433 }, + { 0x4D8F, 92438 }, + { 0x4D9F, 92442 }, + { 0x4DA0, 92445 }, + { 0x4DA5, 92454 }, + { 0x4DA2, 92459 }, + { 0x4DA1, 92464 }, + { 0x5149, 92469 }, + { 0x514A, 92474 }, + { 0x4DA3, 92479 }, + { 0x4DA4, 92484 }, + { 0x4DA8, 92489 }, + { 0x4DA9, 92492 }, + { 0x4DAC, 92495 }, + { 0x4DAA, 92500 }, + { 0x4DAB, 92505 }, + { 0x4DAF, 92511 }, + { 0x4DAD, 92515 }, + { 0x4DAE, 92520 }, + { 0x4DC7, 92525 }, + { 0x4DC8, 92528 }, + { 0x4E12, 92532 }, + { 0x4E13, 92535 }, + { 0x4E14, 92540 }, + { 0x4E15, 92545 }, + { 0x4E28, 92550 }, + { 0x4E29, 92553 }, + { 0x4E3B, 92558 }, + { 0x4E3D, 92561 }, + { 0x4E3C, 92565 }, + { 0x516E, 92569 }, + { 0x4E3F, 92574 }, + { 0x4E48, 92577 }, + { 0x4E40, 92582 }, + { 0x516F, 92587 }, + { 0x4E42, 92596 }, + { 0x4E44, 92601 }, + { 0x4E45, 92606 }, + { 0x4E46, 92611 }, + { 0x4E47, 92616 }, + { 0x4E41, 92621 }, + { 0x4E43, 92626 }, + { 0x4E49, 92631 }, + { 0x4E53, 92634 }, + { 0x4E57, 92637 }, + { 0x4E5D, 92640 }, + { 0x4E5E, 92643 }, + { 0x4E60, 92649 }, + { 0x4E61, 92652 }, + { 0x4E64, 92657 }, + { 0x4E62, 92661 }, + { 0x4E63, 92666 }, + { 0x4E66, 92671 }, + { 0x4E67, 92674 }, + { 0x4E69, 92677 }, + { 0x4E6A, 92680 }, + { 0x4E99, 92685 }, + { 0x5172, 92690 }, + { 0x4E6B, 92697 }, + { 0x4E6C, 92702 }, + { 0x4E71, 92709 }, + { 0x5170, 92714 }, + { 0x4E74, 92719 }, + { 0x4E79, 92724 }, + { 0x4E7D, 92729 }, + { 0x5094, 92734 }, + { 0x4E80, 92741 }, + { 0x5171, 92746 }, + { 0x4E82, 92751 }, + { 0x4E84, 92756 }, + { 0x4E85, 92761 }, + { 0x4E86, 92766 }, + { 0x4E87, 92771 }, + { 0x4E88, 92778 }, + { 0x4E89, 92785 }, + { 0x4E8A, 92792 }, + { 0x4E8B, 92797 }, + { 0x4E8C, 92804 }, + { 0x5096, 92809 }, + { 0x4E8E, 92814 }, + { 0x4E8F, 92819 }, + { 0x4E90, 92824 }, + { 0x5098, 92829 }, + { 0x4E9A, 92834 }, + { 0x4E9B, 92839 }, + { 0x5173, 92844 }, + { 0x4E9E, 92849 }, + { 0x4E6E, 92854 }, + { 0x4E70, 92859 }, + { 0x4E75, 92864 }, + { 0x4E77, 92869 }, + { 0x4E78, 92874 }, + { 0x5093, 92883 }, + { 0x4E7F, 92888 }, + { 0x4E81, 92893 }, + { 0x4E83, 92898 }, + { 0x5095, 92903 }, + { 0x4E8D, 92908 }, + { 0x4E91, 92913 }, + { 0x4E92, 92918 }, + { 0x4E93, 92923 }, + { 0x4E95, 92928 }, + { 0x4E96, 92933 }, + { 0x4E98, 92938 }, + { 0x5099, 92943 }, + { 0x4E9D, 92948 }, + { 0x4E6D, 92953 }, + { 0x5091, 92958 }, + { 0x4E73, 92963 }, + { 0x4E76, 92968 }, + { 0x4E7A, 92974 }, + { 0x5092, 92979 }, + { 0x4E7B, 92984 }, + { 0x4E7C, 92991 }, + { 0x4E7E, 92998 }, + { 0x4E94, 93003 }, + { 0x5097, 93008 }, + { 0x4E9C, 93013 }, + { 0x5090, 93020 }, + { 0x4E6F, 93025 }, + { 0x4E72, 93030 }, + { 0x4E97, 93035 }, + { 0x4EB2, 93040 }, + { 0x4EB4, 93043 }, + { 0x4EB5, 93048 }, + { 0x4EB3, 93053 }, + { 0x4EBC, 93058 }, + { 0x4EBD, 93061 }, + { 0x4EC9, 93073 }, + { 0x4F09, 93076 }, + { 0x4F0D, 93079 }, + { 0x4F0E, 93082 }, + { 0x4F32, 93087 }, + { 0x4F34, 93090 }, + { 0x4F33, 93094 }, + { 0x4F3A, 93099 }, + { 0x4F3C, 93102 }, + { 0x51BF, 93105 }, + { 0x4F3E, 93110 }, + { 0x4F3F, 93113 }, + { 0x4F50, 93118 }, + { 0x4F5A, 93121 }, + { 0x4F5B, 93124 }, + { 0x4F5C, 93129 }, + { 0x4F5D, 93134 }, + { 0x4F5E, 93138 }, + { 0x4F5F, 93141 }, + { 0x4F73, 93146 }, + { 0x4F8C, 93149 }, + { 0x4F91, 93152 }, + { 0x4F92, 93155 }, + { 0x4F96, 93160 }, + { 0x4F97, 93165 }, + { 0x4F99, 93170 }, + { 0x4F93, 93175 }, + { 0x4F94, 93180 }, + { 0x4F95, 93185 }, + { 0x4F98, 93190 }, + { 0x4F9A, 93195 }, + { 0x4F9B, 93200 }, + { 0x4FA1, 93205 }, + { 0x4FA3, 93208 }, + { 0x4FA4, 93211 }, + { 0x4FA5, 93214 }, + { 0x4FED, 93217 }, + { 0x4FEE, 93220 }, + { 0x51D8, 93224 }, + { 0x4FF4, 93229 }, + { 0x4FF5, 93232 }, + { 0x4FFD, 93237 }, + { 0x5001, 93240 }, + { 0x4FFF, 93244 }, + { 0x5000, 93249 }, + { 0x4FFE, 93254 }, + { 0x500E, 93258 }, + { 0x500F, 93261 }, + { 0x5010, 93265 }, + { 0x5011, 93268 }, + { 0x5017, 93272 }, + { 0x5023, 93275 }, + { 0x5024, 93278 }, + { 0x5025, 93281 }, + { 0x502B, 93284 }, + { 0x5029, 93288 }, + { 0x502A, 93297 }, + { 0x5028, 93307 }, + { 0x5027, 93312 }, + { 0x5026, 93317 }, + { 0x502C, 93321 }, + { 0x502D, 93325 }, + { 0x502F, 93331 }, + { 0x5033, 93334 }, + { 0x50AA, 93339 }, + { 0x5031, 93344 }, + { 0x5032, 93351 }, + { 0x5030, 93356 }, + { 0x5038, 93361 }, + { 0x5039, 93364 }, + { 0x503A, 93368 }, + { 0x503C, 93371 }, + { 0x503B, 93375 }, + { 0x506F, 93380 }, + { 0x5070, 93383 }, + { 0x5071, 93387 }, + { 0x5075, 93393 }, + { 0x5076, 93396 }, + { 0x507C, 93401 }, + { 0x51E2, 93404 }, + { 0x4D28, 93411 }, + { 0x5083, 93414 }, + { 0x4D2B, 93419 }, + { 0x4D2A, 93426 }, + { 0x4D2C, 93432 }, + { 0x4D2D, 93437 }, + { 0x4D29, 93442 }, + { 0x4D4A, 93447 }, + { 0x4D4C, 93450 }, + { 0x4D4E, 93455 }, + { 0x4D4F, 93462 }, + { 0x4D4D, 93475 }, + { 0x4D4B, 93487 }, + { 0x4D53, 93492 }, + { 0x5123, 93495 }, + { 0x4D56, 93501 }, + { 0x4D57, 93504 }, + { 0x4D59, 93509 }, + { 0x4D65, 93512 }, + { 0x4D68, 93515 }, + { 0x5129, 93518 }, + { 0x4D69, 93523 }, + { 0x4D6C, 93531 }, + { 0x4D6D, 93537 }, + { 0x4D6E, 93543 }, + { 0x4D6F, 93551 }, + { 0x4D72, 93557 }, + { 0x4D73, 93563 }, + { 0x4D74, 93569 }, + { 0x4D76, 93577 }, + { 0x4D77, 93583 }, + { 0x4D78, 93589 }, + { 0x4D7A, 93597 }, + { 0x4D7C, 93603 }, + { 0x4D7E, 93609 }, + { 0x5085, 93617 }, + { 0x4D71, 93625 }, + { 0x4D75, 93631 }, + { 0x4D79, 93637 }, + { 0x4D7B, 93643 }, + { 0x4D7F, 93651 }, + { 0x4D6A, 93657 }, + { 0x4D70, 93663 }, + { 0x4D7D, 93669 }, + { 0x4D6B, 93675 }, + { 0x4D80, 93681 }, + { 0x4D81, 93684 }, + { 0x4D85, 93687 }, + { 0x4D86, 93690 }, + { 0x512B, 93693 }, + { 0x512A, 93700 }, + { 0x4D87, 93705 }, + { 0x4D89, 93710 }, + { 0x4D8A, 93713 }, + { 0x4D90, 93720 }, + { 0x5088, 93723 }, + { 0x4D91, 93728 }, + { 0x4D93, 93733 }, + { 0x5133, 93736 }, + { 0x5134, 93741 }, + { 0x5137, 93746 }, + { 0x5138, 93751 }, + { 0x5144, 93756 }, + { 0x5145, 93761 }, + { 0x5146, 93766 }, + { 0x5148, 93771 }, + { 0x512E, 93777 }, + { 0x512F, 93782 }, + { 0x5130, 93789 }, + { 0x5131, 93794 }, + { 0x5139, 93799 }, + { 0x513B, 93805 }, + { 0x513F, 93810 }, + { 0x5140, 93815 }, + { 0x5141, 93822 }, + { 0x5143, 93829 }, + { 0x5147, 93834 }, + { 0x5135, 93839 }, + { 0x5136, 93845 }, + { 0x5142, 93850 }, + { 0x512D, 93855 }, + { 0x5132, 93860 }, + { 0x513A, 93865 }, + { 0x513C, 93870 }, + { 0x513D, 93875 }, + { 0x513E, 93882 }, + { 0x4D95, 93887 }, + { 0x4D96, 93890 }, + { 0x4DC9, 93893 }, + { 0x4DFF, 93896 }, + { 0x4DCA, 93901 }, + { 0x4DCB, 93910 }, + { 0x4DCC, 93917 }, + { 0x4DFC, 93924 }, + { 0x4DCE, 93929 }, + { 0x508B, 93934 }, + { 0x4DD5, 93943 }, + { 0x4DD6, 93948 }, + { 0x4DD9, 93953 }, + { 0x4DDA, 93958 }, + { 0x4DDB, 93965 }, + { 0x4DDC, 93970 }, + { 0x515B, 93978 }, + { 0x4DDF, 93983 }, + { 0x515E, 93988 }, + { 0x4DE3, 93995 }, + { 0x4DE6, 94004 }, + { 0x4DEF, 94011 }, + { 0x4DF0, 94016 }, + { 0x4DF1, 94023 }, + { 0x5164, 94028 }, + { 0x5165, 94033 }, + { 0x5166, 94040 }, + { 0x4DF4, 94047 }, + { 0x4DFD, 94052 }, + { 0x4DFE, 94057 }, + { 0x4DCD, 94064 }, + { 0x4DCF, 94072 }, + { 0x4DD1, 94077 }, + { 0x4DD2, 94082 }, + { 0x4DD3, 94089 }, + { 0x4DD4, 94094 }, + { 0x5157, 94101 }, + { 0x4DD7, 94107 }, + { 0x4DD8, 94114 }, + { 0x5158, 94119 }, + { 0x5159, 94127 }, + { 0x4DDE, 94134 }, + { 0x515C, 94139 }, + { 0x515D, 94146 }, + { 0x4DE0, 94153 }, + { 0x4DE1, 94158 }, + { 0x4DE4, 94165 }, + { 0x4DE5, 94170 }, + { 0x4DE8, 94177 }, + { 0x4DE9, 94183 }, + { 0x4DEA, 94192 }, + { 0x4DEC, 94197 }, + { 0x4DED, 94202 }, + { 0x4DEE, 94209 }, + { 0x5160, 94216 }, + { 0x5161, 94221 }, + { 0x5162, 94228 }, + { 0x4DF2, 94233 }, + { 0x4DF3, 94238 }, + { 0x4DF5, 94245 }, + { 0x4DF6, 94250 }, + { 0x4DF7, 94255 }, + { 0x4DF8, 94260 }, + { 0x4DFA, 94267 }, + { 0x508C, 94272 }, + { 0x4DD0, 94277 }, + { 0x515A, 94284 }, + { 0x4DDD, 94289 }, + { 0x4DE2, 94295 }, + { 0x4DE7, 94302 }, + { 0x5163, 94307 }, + { 0x4DF9, 94312 }, + { 0x5167, 94317 }, + { 0x4DFB, 94322 }, + { 0x5168, 94327 }, + { 0x5156, 94332 }, + { 0x4DEB, 94337 }, + { 0x515F, 94342 }, + { 0x4E02, 94349 }, + { 0x4E03, 94352 }, + { 0x4E04, 94360 }, + { 0x4E05, 94363 }, + { 0x4E07, 94372 }, + { 0x4E08, 94375 }, + { 0x4E0D, 94378 }, + { 0x4E16, 94381 }, + { 0x4E17, 94384 }, + { 0x4E18, 94389 }, + { 0x508E, 94394 }, + { 0x4E2A, 94397 }, + { 0x4E2F, 94400 }, + { 0x516C, 94404 }, + { 0x4E2B, 94410 }, + { 0x4E2C, 94415 }, + { 0x4E2D, 94423 }, + { 0x4E2E, 94428 }, + { 0x4E30, 94435 }, + { 0x4E33, 94438 }, + { 0x516D, 94444 }, + { 0x4E31, 94451 }, + { 0x4E32, 94458 }, + { 0x4E34, 94463 }, + { 0x4E35, 94466 }, + { 0x4E36, 94469 }, + { 0x4E37, 94474 }, + { 0x4E3E, 94477 }, + { 0x4E58, 94480 }, + { 0x4E5A, 94483 }, + { 0x4E59, 94487 }, + { 0x4E5C, 94491 }, + { 0x4E5B, 94495 }, + { 0x4E5F, 94506 }, + { 0x4E68, 94509 }, + { 0x4E9F, 94512 }, + { 0x4EA0, 94515 }, + { 0x4EA1, 94520 }, + { 0x4EA7, 94523 }, + { 0x4EA8, 94526 }, + { 0x4EA9, 94532 }, + { 0x4EAA, 94535 }, + { 0x4EAB, 94540 }, + { 0x5081, 94545 }, + { 0x4EB6, 94549 }, + { 0x4EB7, 94552 }, + { 0x4EBE, 94555 }, + { 0x4EBF, 94558 }, + { 0x4EC0, 94561 }, + { 0x4EC1, 94566 }, + { 0x4EC2, 94569 }, + { 0x4EC3, 94572 }, + { 0x4EC4, 94576 }, + { 0x4EC5, 94579 }, + { 0x4EC6, 94582 }, + { 0x4F04, 94587 }, + { 0x4F05, 94590 }, + { 0x4F06, 94595 }, + { 0x4F07, 94598 }, + { 0x4F08, 94603 }, + { 0x4F0A, 94610 }, + { 0x4F0F, 94613 }, + { 0x51B9, 94616 }, + { 0x4F23, 94622 }, + { 0x4F10, 94626 }, + { 0x4F15, 94631 }, + { 0x4F16, 94638 }, + { 0x4F1A, 94643 }, + { 0x4F1B, 94648 }, + { 0x4F1D, 94655 }, + { 0x4F1E, 94662 }, + { 0x4F1F, 94667 }, + { 0x4F20, 94672 }, + { 0x4F11, 94679 }, + { 0x51BB, 94684 }, + { 0x51BC, 94689 }, + { 0x51BD, 94694 }, + { 0x509D, 94703 }, + { 0x51BA, 94708 }, + { 0x4F12, 94713 }, + { 0x509C, 94718 }, + { 0x4F13, 94725 }, + { 0x4F14, 94731 }, + { 0x4F17, 94737 }, + { 0x4F18, 94742 }, + { 0x4F19, 94747 }, + { 0x4F21, 94754 }, + { 0x51BE, 94761 }, + { 0x4F22, 94766 }, + { 0x4F1C, 94771 }, + { 0x4F27, 94776 }, + { 0x509B, 94780 }, + { 0x4F26, 94786 }, + { 0x4F24, 94790 }, + { 0x4F25, 94795 }, + { 0x4F28, 94800 }, + { 0x4F2D, 94803 }, + { 0x4F2E, 94806 }, + { 0x4F2F, 94809 }, + { 0x4F30, 94812 }, + { 0x4F31, 94817 }, + { 0x4F35, 94825 }, + { 0x4F36, 94828 }, + { 0x4F37, 94831 }, + { 0x4F3B, 94834 }, + { 0x4F3D, 94837 }, + { 0x4F40, 94840 }, + { 0x4F41, 94843 }, + { 0x4F51, 94847 }, + { 0x50A0, 94850 }, + { 0x4F58, 94853 }, + { 0x4F57, 94856 }, + { 0x4F60, 94860 }, + { 0x4F61, 94863 }, + { 0x4F63, 94866 }, + { 0x4F62, 94874 }, + { 0x50A1, 94880 }, + { 0x4F75, 94883 }, + { 0x4F7C, 94886 }, + { 0x4F7B, 94891 }, + { 0x4F76, 94895 }, + { 0x4F78, 94901 }, + { 0x4F79, 94907 }, + { 0x4F7A, 94918 }, + { 0x4F77, 94924 }, + { 0x4F7D, 94930 }, + { 0x4F7E, 94935 }, + { 0x4F8D, 94943 }, + { 0x4F8E, 94946 }, + { 0x4F8F, 94949 }, + { 0x4FA2, 94952 }, + { 0x4FA7, 94955 }, + { 0x4FBA, 94958 }, + { 0x51CD, 94962 }, + { 0x4FB9, 94968 }, + { 0x4FA8, 94973 }, + { 0x4FA9, 94978 }, + { 0x51CE, 94983 }, + { 0x4FAB, 94988 }, + { 0x4FAF, 94993 }, + { 0x4FB4, 94998 }, + { 0x4FB5, 95003 }, + { 0x4FB6, 95008 }, + { 0x4FB7, 95013 }, + { 0x4FAA, 95018 }, + { 0x50A8, 95023 }, + { 0x4FAC, 95029 }, + { 0x4FAD, 95034 }, + { 0x4FAE, 95039 }, + { 0x4FB0, 95044 }, + { 0x4FB1, 95049 }, + { 0x51CF, 95054 }, + { 0x4FB3, 95061 }, + { 0x4FB8, 95066 }, + { 0x4FB2, 95071 }, + { 0x51D0, 95076 }, + { 0x4FA6, 95081 }, + { 0x4FBB, 95085 }, + { 0x4FBC, 95088 }, + { 0x4FBE, 95094 }, + { 0x4FBF, 95097 }, + { 0x4FCC, 95100 }, + { 0x4FCD, 95103 }, + { 0x51D2, 95107 }, + { 0x4FCE, 95112 }, + { 0x4FCF, 95123 }, + { 0x51D5, 95134 }, + { 0x51D3, 95139 }, + { 0x51D4, 95144 }, + { 0x4FE9, 95149 }, + { 0x4FEA, 95152 }, + { 0x4FEF, 95158 }, + { 0x4FF6, 95161 }, + { 0x4FF9, 95164 }, + { 0x4FFB, 95167 }, + { 0x5002, 95170 }, + { 0x5003, 95173 }, + { 0x5004, 95184 }, + { 0x5005, 95188 }, + { 0x5006, 95191 }, + { 0x500B, 95196 }, + { 0x5007, 95201 }, + { 0x5008, 95206 }, + { 0x5009, 95211 }, + { 0x500A, 95216 }, + { 0x500D, 95221 }, + { 0x50A9, 95224 }, + { 0x5012, 95227 }, + { 0x5013, 95230 }, + { 0x5015, 95233 }, + { 0x5016, 95238 }, + { 0x5014, 95249 }, + { 0x5019, 95254 }, + { 0x501A, 95257 }, + { 0x51DA, 95260 }, + { 0x51DB, 95266 }, + { 0x501B, 95272 }, + { 0x501C, 95275 }, + { 0x503D, 95283 }, + { 0x503E, 95286 }, + { 0x503F, 95293 }, + { 0x5040, 95300 }, + { 0x5041, 95305 }, + { 0x5043, 95310 }, + { 0x5045, 95315 }, + { 0x5044, 95322 }, + { 0x51DD, 95329 }, + { 0x5042, 95334 }, + { 0x51DC, 95339 }, + { 0x5046, 95343 }, + { 0x5047, 95346 }, + { 0x5049, 95349 }, + { 0x504A, 95352 }, + { 0x505E, 95357 }, + { 0x504E, 95364 }, + { 0x5052, 95369 }, + { 0x5053, 95374 }, + { 0x5055, 95379 }, + { 0x5057, 95384 }, + { 0x505A, 95389 }, + { 0x505D, 95394 }, + { 0x505F, 95399 }, + { 0x504C, 95404 }, + { 0x504D, 95409 }, + { 0x504F, 95414 }, + { 0x5051, 95419 }, + { 0x5054, 95424 }, + { 0x5056, 95429 }, + { 0x51E0, 95434 }, + { 0x5058, 95439 }, + { 0x5059, 95444 }, + { 0x505B, 95449 }, + { 0x5050, 95454 }, + { 0x505C, 95460 }, + { 0x51DE, 95465 }, + { 0x5060, 95470 }, + { 0x504B, 95475 }, + { 0x51DF, 95480 }, + { 0x5063, 95485 }, + { 0x5064, 95488 }, + { 0x5065, 95493 }, + { 0x5066, 95498 }, + { 0x5067, 95503 }, + { 0x506C, 95508 }, + { 0x506D, 95511 }, + { 0x506E, 95516 }, + { 0x51E1, 95519 }, + { 0x5072, 95522 }, + { 0x5074, 95525 }, + { 0x5077, 95528 }, + { 0x5078, 95531 }, + { 0x5079, 95534 }, + { 0x507A, 95539 }, + { 0x507D, 95542 }, + { 0x507E, 95545 }, + { 0x51E3, 95550 }, + { 0x5080, 95557 }, + { 0x4D3B, 95560 }, + { 0x4D3D, 95563 }, + { 0x5084, 95566 }, + { 0x4D3E, 95571 }, + { 0x4D45, 95576 }, + { 0x4D46, 95579 }, + { 0x4D47, 95582 }, + { 0x4D50, 95587 }, + { 0x4D54, 95590 }, + { 0x4D66, 95593 }, + { 0x5086, 95596 }, + { 0x4D88, 95599 }, + { 0x512C, 95602 }, + { 0x4D8B, 95607 }, + { 0x5087, 95610 }, + { 0x4D92, 95615 }, + { 0x4D97, 95618 }, + { 0x4D98, 95621 }, + { 0x4D99, 95625 }, + { 0x4D9A, 95630 }, + { 0x4D9B, 95633 }, + { 0x4DA6, 95636 }, + { 0x4DA7, 95639 }, + { 0x4DB0, 95642 }, + { 0x4DB2, 95645 }, + { 0x514C, 95648 }, + { 0x4DB3, 95653 }, + { 0x4DB4, 95656 }, + { 0x4DB5, 95661 }, + { 0x4DB6, 95668 }, + { 0x4DB7, 95677 }, + { 0x4DBB, 95682 }, + { 0x4DBC, 95687 }, + { 0x4DC1, 95693 }, + { 0x4DC3, 95698 }, + { 0x4DC4, 95703 }, + { 0x5155, 95708 }, + { 0x4DC5, 95713 }, + { 0x4DC6, 95718 }, + { 0x4DB8, 95723 }, + { 0x5089, 95728 }, + { 0x4DBD, 95733 }, + { 0x4DC0, 95739 }, + { 0x4DC2, 95744 }, + { 0x508A, 95751 }, + { 0x4DB9, 95756 }, + { 0x4DBA, 95762 }, + { 0x4DBE, 95769 }, + { 0x4DBF, 95774 }, + { 0x514E, 95780 }, + { 0x5150, 95786 }, + { 0x5152, 95792 }, + { 0x5154, 95798 }, + { 0x514D, 95804 }, + { 0x514F, 95810 }, + { 0x5151, 95817 }, + { 0x5153, 95823 }, + { 0x4E00, 95829 }, + { 0x5169, 95832 }, + { 0x4E01, 95838 }, + { 0x4E09, 95843 }, + { 0x4E0B, 95846 }, + { 0x4E0A, 95851 }, + { 0x4E0C, 95855 }, + { 0x4E0E, 95860 }, + { 0x508D, 95863 }, + { 0x4E1A, 95866 }, + { 0x4E1B, 95869 }, + { 0x4E1C, 95873 }, + { 0x4E1D, 95876 }, + { 0x4E20, 95883 }, + { 0x4E21, 95890 }, + { 0x4E1F, 95895 }, + { 0x4E1E, 95900 }, + { 0x4E23, 95906 }, + { 0x4E27, 95909 }, + { 0x4E25, 95913 }, + { 0x516B, 95918 }, + { 0x4E26, 95925 }, + { 0x4E24, 95930 }, + { 0x4E38, 95935 }, + { 0x4E4A, 95938 }, + { 0x4E4B, 95941 }, + { 0x4E4F, 95946 }, + { 0x4E4C, 95951 }, + { 0x4E4E, 95956 }, + { 0x4E4D, 95961 }, + { 0x4E50, 95966 }, + { 0x508F, 95969 }, + { 0x4E54, 95972 }, + { 0x4E55, 95975 }, + { 0x4E56, 95981 }, + { 0x4E65, 95987 }, + { 0x4EA2, 95990 }, + { 0x4EA3, 95993 }, + { 0x4EA4, 95996 }, + { 0x4EA5, 95999 }, + { 0x4EA6, 96002 }, + { 0x4EAC, 96007 }, + { 0x4EAD, 96010 }, + { 0x4EB9, 96013 }, + { 0x4F0C, 96016 }, + { 0x4F38, 96019 }, + { 0x509E, 96022 }, + { 0x4F44, 96025 }, + { 0x4F48, 96028 }, + { 0x4F49, 96033 }, + { 0x51C0, 96042 }, + { 0x51C1, 96049 }, + { 0x4F45, 96056 }, + { 0x4F47, 96061 }, + { 0x4F46, 96066 }, + { 0x4F4A, 96071 }, + { 0x4F52, 96076 }, + { 0x4F54, 96079 }, + { 0x4F53, 96085 }, + { 0x4F55, 96089 }, + { 0x4F59, 96094 }, + { 0x50A2, 96097 }, + { 0x4F74, 96100 }, + { 0x4FE7, 96103 }, + { 0x4FE6, 96111 }, + { 0x50A5, 96115 }, + { 0x50A7, 96121 }, + { 0x4FC0, 96124 }, + { 0x4FC1, 96127 }, + { 0x4FC7, 96132 }, + { 0x4FC8, 96137 }, + { 0x4FC4, 96144 }, + { 0x4FC2, 96149 }, + { 0x4FC6, 96154 }, + { 0x4FC3, 96159 }, + { 0x4FC5, 96164 }, + { 0x4FC9, 96169 }, + { 0x51D1, 96172 }, + { 0x4FD1, 96176 }, + { 0x4FD5, 96179 }, + { 0x4FD6, 96182 }, + { 0x4FD7, 96187 }, + { 0x4FD8, 96192 }, + { 0x4FD9, 96195 }, + { 0x4FDA, 96200 }, + { 0x4FDC, 96205 }, + { 0x4FDD, 96210 }, + { 0x4FDE, 96215 }, + { 0x4FDF, 96220 }, + { 0x4FE1, 96226 }, + { 0x4FE2, 96231 }, + { 0x4FE3, 96236 }, + { 0x4FDB, 96241 }, + { 0x4FE0, 96246 }, + { 0x4FE5, 96251 }, + { 0x4FE7, 96254 }, + { 0x4FE6, 96262 }, + { 0x4FEB, 96266 }, + { 0x51D7, 96269 }, + { 0x51D6, 96276 }, + { 0x4FF0, 96283 }, + { 0x4FF1, 96286 }, + { 0x4FF2, 96292 }, + { 0x4FF7, 96295 }, + { 0x4FFC, 96298 }, + { 0x500C, 96301 }, + { 0x51D9, 96304 }, + { 0x5018, 96309 }, + { 0x502E, 96312 }, + { 0x5035, 96315 }, + { 0x5037, 96318 }, + { 0x5036, 96323 }, + { 0x5048, 96328 }, + { 0x5069, 96331 }, + { 0x5068, 96334 }, + { 0x5073, 96337 }, + { 0x507B, 96340 }, + { 0x4D3C, 96343 }, + { 0x4D44, 96346 }, + { 0x4D48, 96349 }, + { 0x4D49, 96352 }, + { 0x4D58, 96355 }, + { 0x4D5A, 96358 }, + { 0x4D63, 96361 }, + { 0x4D64, 96364 }, + { 0x4D82, 96369 }, + { 0x4D83, 96372 }, + { 0x4D94, 96375 }, + { 0x4DB1, 96378 }, + { 0x514B, 96381 }, + { 0x4E06, 96385 }, + { 0x4E19, 96388 }, + { 0x4E22, 96391 }, + { 0x4E39, 96394 }, + { 0x4EB1, 96397 }, + { 0x4EB8, 96400 }, + { 0x4ECA, 96403 }, + { 0x4ECB, 96406 }, + { 0x4ECC, 96411 }, + { 0x4ECD, 96420 }, + { 0x4ECE, 96427 }, + { 0x4EF7, 96434 }, + { 0x4EF8, 96439 }, + { 0x4EF9, 96446 }, + { 0x4ECF, 96455 }, + { 0x4ED0, 96460 }, + { 0x4ED3, 96465 }, + { 0x4ED5, 96470 }, + { 0x4ED6, 96475 }, + { 0x509A, 96480 }, + { 0x4EDA, 96485 }, + { 0x4EDC, 96490 }, + { 0x4EDE, 96497 }, + { 0x4EDF, 96502 }, + { 0x4EE0, 96509 }, + { 0x4EE1, 96516 }, + { 0x4EE8, 96521 }, + { 0x4EEA, 96526 }, + { 0x4EEB, 96531 }, + { 0x4EED, 96538 }, + { 0x4EF6, 96543 }, + { 0x4EFA, 96554 }, + { 0x4EFB, 96561 }, + { 0x5174, 96566 }, + { 0x4ED1, 96573 }, + { 0x4ED2, 96580 }, + { 0x4ED4, 96585 }, + { 0x4ED7, 96590 }, + { 0x4ED8, 96595 }, + { 0x4ED9, 96600 }, + { 0x4EDB, 96607 }, + { 0x4EDD, 96612 }, + { 0x4EE2, 96618 }, + { 0x4EE3, 96623 }, + { 0x4EE4, 96628 }, + { 0x4EE5, 96633 }, + { 0x4EE9, 96642 }, + { 0x4EEE, 96647 }, + { 0x4EF3, 96654 }, + { 0x4EF4, 96659 }, + { 0x4EFC, 96664 }, + { 0x4EE7, 96669 }, + { 0x4EEC, 96674 }, + { 0x4EF1, 96679 }, + { 0x4EF2, 96684 }, + { 0x4EF5, 96691 }, + { 0x4EE6, 96696 }, + { 0x4EEF, 96701 }, + { 0x4EF0, 96710 }, + { 0x4EFD, 96718 }, + { 0x4EFE, 96722 }, + { 0x4F01, 96725 }, + { 0x4F02, 96729 }, + { 0x4EFF, 96737 }, + { 0x4F00, 96742 }, + { 0x4F29, 96749 }, + { 0x4F2A, 96752 }, + { 0x4F2C, 96757 }, + { 0x4F2B, 96761 }, + { 0x4F39, 96766 }, + { 0x4F4B, 96769 }, + { 0x4F4F, 96772 }, + { 0x4F4C, 96776 }, + { 0x4F4D, 96781 }, + { 0x4F4E, 96788 }, + { 0x509F, 96793 }, + { 0x4F56, 96798 }, + { 0x4F72, 96801 }, + { 0x4F7F, 96804 }, + { 0x4F81, 96807 }, + { 0x4F86, 96813 }, + { 0x4F87, 96819 }, + { 0x4F89, 96825 }, + { 0x4F82, 96831 }, + { 0x4F83, 96837 }, + { 0x4F84, 96843 }, + { 0x4F85, 96850 }, + { 0x4F88, 96856 }, + { 0x4F80, 96862 }, + { 0x4F8A, 96868 }, + { 0x4F8B, 96874 }, + { 0x4F90, 96881 }, + { 0x50A6, 96884 }, + { 0x4F9C, 96888 }, + { 0x4F9E, 96891 }, + { 0x4F9F, 96896 }, + { 0x4F9D, 96901 }, + { 0x4FA0, 96906 }, + { 0x4FCA, 96911 }, + { 0x4FCB, 96914 }, + { 0x4FD0, 96917 }, + { 0x4FD2, 96920 }, + { 0x4FE8, 96923 }, + { 0x4FF3, 96926 }, + { 0x4FF8, 96929 }, + { 0x5034, 96932 }, + { 0x5061, 96935 }, + { 0x5062, 96938 }, + { 0x506B, 96943 }, + { 0x507F, 96946 }, + { 0x4D51, 96949 }, + { 0x4D55, 96952 }, + { 0x5125, 96955 }, + { 0x5126, 96960 }, + { 0x5124, 96965 }, + { 0x4E0F, 96970 }, + { 0x4E3A, 96973 }, + { 0x4EAE, 96976 }, + { 0x4EB0, 96979 }, + { 0x4EAF, 96991 }, + { 0x4EBA, 97001 }, + { 0x4EBB, 97004 }, + { 0x4EC7, 97009 }, + { 0x4EC8, 97012 }, + { 0x4F03, 97015 }, + { 0x4F0B, 97018 }, + { 0x4F42, 97021 }, + { 0x4F43, 97024 }, + { 0x4F64, 97027 }, + { 0x51CA, 97030 }, + { 0x51CB, 97035 }, + { 0x4F65, 97042 }, + { 0x50A4, 97047 }, + { 0x51C5, 97052 }, + { 0x4F69, 97057 }, + { 0x4F6A, 97065 }, + { 0x4F70, 97070 }, + { 0x4F66, 97077 }, + { 0x4F67, 97082 }, + { 0x50A3, 97089 }, + { 0x51C2, 97094 }, + { 0x4F68, 97100 }, + { 0x51C4, 97105 }, + { 0x4F6B, 97110 }, + { 0x51C9, 97115 }, + { 0x4F6C, 97122 }, + { 0x4F6D, 97127 }, + { 0x4F6E, 97135 }, + { 0x4F6F, 97142 }, + { 0x4F71, 97151 }, + { 0x51C3, 97156 }, + { 0x51C8, 97161 }, + { 0x51C6, 97166 }, + { 0x51CC, 97171 }, + { 0x51C7, 97176 }, + { 0x4FBD, 97181 }, + { 0x4FD3, 97184 }, + { 0x4FE4, 97187 }, + { 0x4FEC, 97190 }, + { 0x4FFA, 97193 }, + { 0x506A, 97196 }, + { 0x4E10, 97199 }, + { 0x516A, 97202 }, + { 0x4E11, 97207 }, + { 0x5175, 97212 }, + { 0x5176, 97215 }, + { 0x5177, 97218 }, + { 0x5178, 97221 }, + { 0x5179, 97224 }, + { 0x517A, 97227 }, + { 0x517B, 97230 }, + { 0x517C, 97233 }, + { 0x517D, 97239 }, + { 0x517E, 97242 }, + { 0x517F, 97247 }, + { 0x5180, 97250 }, + { 0x5181, 97253 }, + { 0x5182, 97256 }, + { 0x5183, 97259 }, + { 0x5184, 97262 }, + { 0x5185, 97265 }, + { 0x5186, 97268 }, + { 0x5187, 97271 }, + { 0x5188, 97274 }, + { 0x5189, 97277 }, + { 0x518A, 97280 }, + { 0x518B, 97283 }, + { 0x518C, 97286 }, + { 0x518D, 97289 }, + { 0x518E, 97292 }, + { 0x518F, 97295 }, + { 0x5190, 97298 }, + { 0x5191, 97301 }, + { 0x5192, 97304 }, + { 0x5196, 97309 }, + { 0x5193, 97316 }, + { 0x5194, 97321 }, + { 0x5195, 97328 }, + { 0x5197, 97337 }, + { 0x5198, 97340 }, + { 0x5199, 97343 }, + { 0x519A, 97346 }, + { 0x519B, 97349 }, + { 0x519C, 97352 }, + { 0x519D, 97355 }, + { 0x519E, 97358 }, + { 0x519F, 97361 }, + { 0x51A0, 97364 }, + { 0x51A1, 97367 }, + { 0x51A6, 97370 }, + { 0x51A8, 97375 }, + { 0x51A9, 97380 }, + { 0x51AA, 97385 }, + { 0x51A2, 97390 }, + { 0x51A3, 97395 }, + { 0x51A5, 97400 }, + { 0x51A7, 97405 }, + { 0x51A4, 97410 }, + { 0x51AB, 97417 }, + { 0x51AC, 97422 }, + { 0x51AD, 97425 }, + { 0x51AF, 97428 }, + { 0x51B2, 97433 }, + { 0x51B5, 97438 }, + { 0x51AE, 97443 }, + { 0x51B0, 97448 }, + { 0x51B1, 97453 }, + { 0x51B3, 97459 }, + { 0x51B4, 97468 }, + { 0x51B6, 97475 }, + { 0x51B7, 97480 }, + { 0x51B8, 97483 }, + { 0x4FD4, 97486 }, + { 0x510D, 97489 }, + { 0x510E, 97496 }, + { 0x50FB, 97503 }, + { 0x50E0, 97508 }, + { 0x5110, 97513 }, + { 0x5104, 97519 }, + { 0x50C1, 97524 }, + { 0x50CA, 97529 }, + { 0x50D8, 97534 }, + { 0x5106, 97539 }, + { 0x5109, 97545 }, + { 0x510B, 97553 }, + { 0x510C, 97559 }, + { 0x510F, 97565 }, + { 0x50BD, 97571 }, + { 0x5117, 97576 }, + { 0x50B0, 97583 }, + { 0x50FA, 97588 }, + { 0x50B7, 97594 }, + { 0x50C6, 97599 }, + { 0x50D4, 97604 }, + { 0x50EC, 97609 }, + { 0x50AC, 97616 }, + { 0x50F6, 97621 }, + { 0x50FC, 97627 }, + { 0x50E1, 97632 }, + { 0x5105, 97637 }, + { 0x50C2, 97642 }, + { 0x50CB, 97647 }, + { 0x50CF, 97652 }, + { 0x50D9, 97657 }, + { 0x5107, 97662 }, + { 0x510A, 97668 }, + { 0x50BC, 97676 }, + { 0x5116, 97681 }, + { 0x50AF, 97688 }, + { 0x50F9, 97693 }, + { 0x5100, 97699 }, + { 0x5101, 97704 }, + { 0x50E5, 97711 }, + { 0x50B6, 97716 }, + { 0x50C5, 97721 }, + { 0x50CE, 97726 }, + { 0x50D3, 97731 }, + { 0x50DD, 97736 }, + { 0x5108, 97741 }, + { 0x50BB, 97747 }, + { 0x5115, 97752 }, + { 0x50AE, 97759 }, + { 0x50F8, 97764 }, + { 0x50FE, 97770 }, + { 0x50FF, 97775 }, + { 0x50E4, 97782 }, + { 0x50B5, 97787 }, + { 0x50C4, 97792 }, + { 0x50CD, 97797 }, + { 0x50D2, 97802 }, + { 0x50DC, 97807 }, + { 0x50E8, 97812 }, + { 0x50EA, 97819 }, + { 0x50EB, 97827 }, + { 0x50E9, 97835 }, + { 0x50C0, 97842 }, + { 0x511A, 97847 }, + { 0x50B3, 97854 }, + { 0x50BA, 97859 }, + { 0x50C9, 97864 }, + { 0x50D7, 97869 }, + { 0x50F2, 97874 }, + { 0x50F5, 97881 }, + { 0x50F3, 97889 }, + { 0x50F4, 97896 }, + { 0x50BF, 97903 }, + { 0x5119, 97908 }, + { 0x50B2, 97915 }, + { 0x50B9, 97920 }, + { 0x50C8, 97925 }, + { 0x50D6, 97930 }, + { 0x50F0, 97935 }, + { 0x50F1, 97942 }, + { 0x50BE, 97949 }, + { 0x5118, 97954 }, + { 0x50B1, 97961 }, + { 0x50B8, 97966 }, + { 0x50C7, 97971 }, + { 0x50D5, 97976 }, + { 0x50EE, 97981 }, + { 0x50EF, 97989 }, + { 0x50ED, 97997 }, + { 0x50DF, 98004 }, + { 0x50DE, 98012 }, + { 0x50AD, 98020 }, + { 0x50F7, 98025 }, + { 0x50FD, 98031 }, + { 0x50E2, 98036 }, + { 0x50E3, 98041 }, + { 0x50B4, 98048 }, + { 0x50C3, 98053 }, + { 0x50CC, 98058 }, + { 0x50D0, 98063 }, + { 0x50D1, 98068 }, + { 0x50DA, 98075 }, + { 0x50DB, 98080 }, + { 0x50E6, 98087 }, + { 0x50E7, 98094 }, + { 0x5111, 98101 }, + { 0x5112, 98107 }, + { 0x5114, 98113 }, + { 0x5113, 98118 }, + { 0x5103, 98123 }, + { 0x5102, 98127 }, + { 0x511B, 98131 }, + { 0x511D, 98138 }, + { 0x511E, 98143 }, + { 0x511F, 98148 }, + { 0x511C, 98153 }, + { 0x6C6E, 98158 }, + { 0x1F53, 98160 }, + { 0x1F51, 98166 }, + { 0x1F4B, 98174 }, + { 0x1F4E, 98182 }, + { 0x1F52, 98190 }, + { 0x1F50, 98196 }, + { 0x1F4A, 98204 }, + { 0x1F4D, 98212 }, + { 0x1F54, 98220 }, + { 0x1F47, 98227 }, + { 0x1F4F, 98234 }, + { 0x1F55, 98240 }, + { 0x1F48, 98247 }, + { 0x1F49, 98254 }, + { 0x1F4C, 98260 }, + { 0x0067, 98266 }, + { 0x1EBA, 98267 }, + { 0x1D2A, 98269 }, + { 0x1D1C, 98273 }, + { 0x246D, 98275 }, + { 0x1D30, 98279 }, + { 0x1D3B, 98283 }, + { 0x1D3C, 98288 }, + { 0x70F6, 98293 }, + { 0x70EE, 98299 }, + { 0x70FA, 98305 }, + { 0x1D3E, 98311 }, + { 0x1D68, 98316 }, + { 0x70F2, 98321 }, + { 0x716C, 98327 }, + { 0x2462, 98332 }, + { 0x70FE, 98337 }, + { 0x1D7E, 98342 }, + { 0x2661, 98348 }, + { 0x26E3, 98351 }, + { 0x712E, 98356 }, + { 0x712A, 98359 }, + { 0x1D72, 98363 }, + { 0x7168, 98366 }, + { 0x2907, 98372 }, + { 0x1D6C, 98374 }, + { 0x1D5C, 98377 }, + { 0x1D53, 98380 }, + { 0x6FAA, 98383 }, + { 0x2465, 98385 }, + { 0x1D38, 98388 }, + { 0x24B3, 98391 }, + { 0x24BB, 98398 }, + { 0x24C9, 98405 }, + { 0x24BF, 98416 }, + { 0x24AF, 98427 }, + { 0x24B7, 98434 }, + { 0x1D4C, 98441 }, + { 0x1D4B, 98446 }, + { 0x7122, 98451 }, + { 0x7164, 98454 }, + { 0x234B, 98457 }, + { 0x7126, 98460 }, + { 0x7132, 98463 }, + { 0x2727, 98466 }, + { 0x711E, 98472 }, + { 0x26BD, 98475 }, + { 0x26CD, 98478 }, + { 0x7112, 98483 }, + { 0x26F6, 98489 }, + { 0x26F7, 98496 }, + { 0x711A, 98503 }, + { 0x7116, 98510 }, + { 0x26D5, 98516 }, + { 0x710E, 98523 }, + { 0x710A, 98529 }, + { 0x26DB, 98535 }, + { 0x26C7, 98543 }, + { 0x26DF, 98547 }, + { 0x26A7, 98551 }, + { 0x6D65, 98555 }, + { 0x2901, 98557 }, + { 0x1CBB, 98559 }, + { 0x1DE2, 98561 }, + { 0x6C6D, 98562 }, + { 0x70D0, 98564 }, + { 0x70CA, 98569 }, + { 0x70BD, 98574 }, + { 0x709F, 98578 }, + { 0x70A9, 98582 }, + { 0x70C4, 98586 }, + { 0x1CC8, 98589 }, + { 0x6CC1, 98591 }, + { 0x3DC9, 98592 }, + { 0x3E60, 98595 }, + { 0x3E64, 98598 }, + { 0x3E63, 98601 }, + { 0x3E5E, 98604 }, + { 0x3D98, 98607 }, + { 0x3DE5, 98610 }, + { 0x3DE9, 98614 }, + { 0x3DC5, 98618 }, + { 0x3D92, 98622 }, + { 0x3D95, 98625 }, + { 0x3DA4, 98628 }, + { 0x3D96, 98630 }, + { 0x3D9B, 98632 }, + { 0x3DA0, 98635 }, + { 0x3D9C, 98638 }, + { 0x3D9F, 98641 }, + { 0x3D9E, 98644 }, + { 0x3DA3, 98647 }, + { 0x3D9A, 98650 }, + { 0x3DA2, 98653 }, + { 0x3DA1, 98656 }, + { 0x3D9D, 98659 }, + { 0x3DCA, 98662 }, + { 0x3DCB, 98665 }, + { 0x3DCC, 98670 }, + { 0x3DCD, 98675 }, + { 0x3DCE, 98680 }, + { 0x3DCF, 98685 }, + { 0x3DD0, 98690 }, + { 0x3DD1, 98695 }, + { 0x3DD2, 98700 }, + { 0x3DD3, 98705 }, + { 0x3DD4, 98710 }, + { 0x3DD5, 98715 }, + { 0x3DD6, 98720 }, + { 0x3DD7, 98725 }, + { 0x3DD8, 98730 }, + { 0x3DD9, 98735 }, + { 0x3DDA, 98740 }, + { 0x3DDB, 98745 }, + { 0x3DDC, 98750 }, + { 0x3DDD, 98755 }, + { 0x3DDE, 98760 }, + { 0x3DDF, 98765 }, + { 0x3DE0, 98770 }, + { 0x3DE1, 98775 }, + { 0x3DE2, 98780 }, + { 0x3DE3, 98785 }, + { 0x3DE4, 98790 }, + { 0x3DAB, 98795 }, + { 0x3DAC, 98800 }, + { 0x3DAD, 98805 }, + { 0x3DAE, 98810 }, + { 0x3DAF, 98815 }, + { 0x3DB0, 98820 }, + { 0x3DB1, 98825 }, + { 0x3DB2, 98830 }, + { 0x3DB3, 98835 }, + { 0x3DB4, 98840 }, + { 0x3DB5, 98845 }, + { 0x3DB6, 98850 }, + { 0x3DB7, 98855 }, + { 0x3DB8, 98860 }, + { 0x3DB9, 98865 }, + { 0x3DBA, 98870 }, + { 0x3DBB, 98875 }, + { 0x3DBC, 98880 }, + { 0x3DBD, 98885 }, + { 0x3DBE, 98890 }, + { 0x3DBF, 98895 }, + { 0x3DC0, 98900 }, + { 0x3DC1, 98905 }, + { 0x3DC2, 98910 }, + { 0x3DC3, 98915 }, + { 0x3DC4, 98920 }, + { 0x3E5F, 98925 }, + { 0x3DE7, 98928 }, + { 0x3DEA, 98932 }, + { 0x3DC7, 98936 }, + { 0x3D93, 98940 }, + { 0x3DE8, 98943 }, + { 0x3E62, 98945 }, + { 0x3D8E, 98948 }, + { 0x3DA7, 98951 }, + { 0x3E61, 98954 }, + { 0x3D8D, 98956 }, + { 0x3D8F, 98959 }, + { 0x3DC6, 98962 }, + { 0x3D99, 98965 }, + { 0x3D94, 98967 }, + { 0x3DA9, 98969 }, + { 0x3DE6, 98972 }, + { 0x3D90, 98975 }, + { 0x3DA6, 98977 }, + { 0x3D8C, 98980 }, + { 0x3DA5, 98983 }, + { 0x3D91, 98985 }, + { 0x3DC8, 98987 }, + { 0x3DAA, 98990 }, + { 0x3D8B, 98993 }, + { 0x3DA8, 98996 }, + { 0x3D97, 98999 }, + { 0x1DC3, 99001 }, + { 0x6F67, 99003 }, + { 0x6DBD, 99005 }, + { 0x3DEC, 99006 }, + { 0x3E6A, 99010 }, + { 0x3E65, 99013 }, + { 0x3DED, 99017 }, + { 0x3E6B, 99021 }, + { 0x3E2A, 99024 }, + { 0x3E49, 99027 }, + { 0x3E4E, 99031 }, + { 0x3E5D, 99035 }, + { 0x3E51, 99039 }, + { 0x3E56, 99043 }, + { 0x3E4A, 99047 }, + { 0x3E4D, 99051 }, + { 0x3E5B, 99055 }, + { 0x3E54, 99059 }, + { 0x3E52, 99063 }, + { 0x3E58, 99067 }, + { 0x3E59, 99071 }, + { 0x3E4B, 99075 }, + { 0x3E50, 99079 }, + { 0x3E5C, 99083 }, + { 0x3E55, 99087 }, + { 0x3E5A, 99091 }, + { 0x3E53, 99095 }, + { 0x3E57, 99099 }, + { 0x3E4C, 99103 }, + { 0x3E4F, 99107 }, + { 0x3E3F, 99111 }, + { 0x3E42, 99115 }, + { 0x3E48, 99119 }, + { 0x3E41, 99123 }, + { 0x3E3B, 99127 }, + { 0x3E2E, 99131 }, + { 0x3E3C, 99135 }, + { 0x3E33, 99139 }, + { 0x3E2B, 99143 }, + { 0x3E31, 99147 }, + { 0x3E44, 99151 }, + { 0x3E45, 99155 }, + { 0x3E47, 99159 }, + { 0x3E46, 99163 }, + { 0x3E40, 99167 }, + { 0x3E3E, 99171 }, + { 0x3E37, 99175 }, + { 0x3E43, 99179 }, + { 0x3E3D, 99183 }, + { 0x3E2D, 99187 }, + { 0x3E2F, 99191 }, + { 0x3E30, 99195 }, + { 0x3E3A, 99199 }, + { 0x3E35, 99203 }, + { 0x3E36, 99207 }, + { 0x3E2C, 99211 }, + { 0x3E32, 99215 }, + { 0x3E34, 99219 }, + { 0x3E39, 99223 }, + { 0x3E38, 99227 }, + { 0x3E67, 99231 }, + { 0x3DFB, 99234 }, + { 0x3DFE, 99238 }, + { 0x3DFC, 99242 }, + { 0x3E27, 99246 }, + { 0x3DFF, 99250 }, + { 0x3DFD, 99254 }, + { 0x3E14, 99258 }, + { 0x3E17, 99262 }, + { 0x3E15, 99266 }, + { 0x3E18, 99270 }, + { 0x3E16, 99274 }, + { 0x3E00, 99278 }, + { 0x3E03, 99282 }, + { 0x3E01, 99286 }, + { 0x3E04, 99290 }, + { 0x3E02, 99294 }, + { 0x3E19, 99298 }, + { 0x3E1C, 99302 }, + { 0x3E1A, 99306 }, + { 0x3E1D, 99310 }, + { 0x3E1B, 99314 }, + { 0x3E0F, 99318 }, + { 0x3E12, 99322 }, + { 0x3E10, 99326 }, + { 0x3E13, 99330 }, + { 0x3E11, 99334 }, + { 0x3E21, 99338 }, + { 0x3E24, 99342 }, + { 0x3E22, 99346 }, + { 0x3E25, 99350 }, + { 0x3E23, 99354 }, + { 0x3E05, 99358 }, + { 0x3E08, 99362 }, + { 0x3E06, 99366 }, + { 0x3E09, 99370 }, + { 0x3E07, 99374 }, + { 0x3E0A, 99378 }, + { 0x3E0D, 99382 }, + { 0x3E0B, 99386 }, + { 0x3E0E, 99390 }, + { 0x3E0C, 99394 }, + { 0x3E26, 99398 }, + { 0x3DF0, 99402 }, + { 0x3E1E, 99406 }, + { 0x3E20, 99410 }, + { 0x3E1F, 99414 }, + { 0x3DF1, 99418 }, + { 0x3DF4, 99423 }, + { 0x3DF2, 99428 }, + { 0x3DF5, 99433 }, + { 0x3DF3, 99438 }, + { 0x3DF9, 99443 }, + { 0x3DF6, 99448 }, + { 0x3DF8, 99453 }, + { 0x3DF7, 99458 }, + { 0x3DEF, 99463 }, + { 0x3E28, 99467 }, + { 0x3E29, 99472 }, + { 0x3E69, 99477 }, + { 0x3E66, 99480 }, + { 0x3E68, 99483 }, + { 0x3DEB, 99486 }, + { 0x3DEE, 99490 }, + { 0x3DFA, 99493 }, + { 0x6C8F, 99498 }, + { 0x718C, 99499 }, + { 0x6CE2, 99500 }, + { 0x2256, 99501 }, + { 0x1E42, 99504 }, + { 0x1EA4, 99507 }, + { 0x1F7C, 99508 }, + { 0x1DEA, 99512 }, + { 0x253F, 99514 }, + { 0x25C1, 99519 }, + { 0x253B, 99523 }, + { 0x1D8F, 99525 }, + { 0x1F09, 99526 }, + { 0x1C18, 99528 }, + { 0x1C16, 99530 }, + { 0x1C17, 99532 }, + { 0x499E, 99534 }, + { 0x499F, 99537 }, + { 0x4994, 99540 }, + { 0x49A1, 99543 }, + { 0x49A6, 99546 }, + { 0x49A2, 99549 }, + { 0x49A5, 99552 }, + { 0x49A4, 99555 }, + { 0x49A9, 99558 }, + { 0x49A0, 99561 }, + { 0x49A8, 99564 }, + { 0x49A7, 99567 }, + { 0x49A3, 99570 }, + { 0x499A, 99573 }, + { 0x4996, 99577 }, + { 0x499C, 99581 }, + { 0x4998, 99585 }, + { 0x4995, 99589 }, + { 0x499B, 99593 }, + { 0x499D, 99597 }, + { 0x4997, 99601 }, + { 0x4999, 99605 }, + { 0x4965, 99609 }, + { 0x496B, 99612 }, + { 0x4967, 99615 }, + { 0x496D, 99618 }, + { 0x4969, 99621 }, + { 0x4966, 99624 }, + { 0x496C, 99627 }, + { 0x496E, 99630 }, + { 0x4989, 99633 }, + { 0x4975, 99636 }, + { 0x4984, 99639 }, + { 0x4971, 99642 }, + { 0x4993, 99645 }, + { 0x4968, 99648 }, + { 0x4977, 99651 }, + { 0x496F, 99654 }, + { 0x498F, 99657 }, + { 0x498C, 99660 }, + { 0x4986, 99663 }, + { 0x4987, 99666 }, + { 0x498E, 99669 }, + { 0x4992, 99672 }, + { 0x4982, 99675 }, + { 0x496A, 99678 }, + { 0x4990, 99681 }, + { 0x498D, 99684 }, + { 0x498A, 99687 }, + { 0x498B, 99690 }, + { 0x4976, 99693 }, + { 0x497D, 99696 }, + { 0x4985, 99699 }, + { 0x4972, 99702 }, + { 0x4973, 99705 }, + { 0x4979, 99708 }, + { 0x4978, 99711 }, + { 0x4970, 99714 }, + { 0x4974, 99717 }, + { 0x4981, 99720 }, + { 0x497A, 99723 }, + { 0x4988, 99726 }, + { 0x497F, 99729 }, + { 0x4991, 99732 }, + { 0x4983, 99735 }, + { 0x497B, 99738 }, + { 0x497E, 99741 }, + { 0x4980, 99744 }, + { 0x497C, 99747 }, + { 0x71BC, 99750 }, + { 0x2493, 99751 }, + { 0x7173, 99755 }, + { 0x1D27, 99760 }, + { 0x1D25, 99764 }, + { 0x1D19, 99767 }, + { 0x1D6D, 99769 }, + { 0x1D42, 99773 }, + { 0x2477, 99782 }, + { 0x1D2D, 99787 }, + { 0x2479, 99791 }, + { 0x1D4F, 99798 }, + { 0x266B, 99803 }, + { 0x266A, 99808 }, + { 0x1D32, 99813 }, + { 0x1D34, 99817 }, + { 0x24A0, 99821 }, + { 0x1D2B, 99826 }, + { 0x2694, 99830 }, + { 0x2693, 99838 }, + { 0x70F3, 99845 }, + { 0x70EB, 99851 }, + { 0x70F7, 99857 }, + { 0x2692, 99863 }, + { 0x1D83, 99868 }, + { 0x70EF, 99874 }, + { 0x1D23, 99880 }, + { 0x7169, 99884 }, + { 0x1D80, 99889 }, + { 0x70FB, 99894 }, + { 0x249D, 99899 }, + { 0x24CD, 99905 }, + { 0x26A4, 99910 }, + { 0x26A5, 99916 }, + { 0x269C, 99922 }, + { 0x2698, 99929 }, + { 0x24D4, 99933 }, + { 0x24D1, 99937 }, + { 0x265F, 99941 }, + { 0x26E0, 99944 }, + { 0x712B, 99949 }, + { 0x7127, 99952 }, + { 0x1D6F, 99956 }, + { 0x7165, 99959 }, + { 0x1D69, 99965 }, + { 0x2466, 99968 }, + { 0x1D59, 99972 }, + { 0x2460, 99975 }, + { 0x1D56, 99980 }, + { 0x245C, 99985 }, + { 0x2475, 99991 }, + { 0x1D50, 99994 }, + { 0x6FA7, 99997 }, + { 0x2468, 99999 }, + { 0x1D63, 100003 }, + { 0x1D54, 100006 }, + { 0x24AC, 100011 }, + { 0x24B4, 100018 }, + { 0x24C4, 100025 }, + { 0x24BC, 100033 }, + { 0x24C0, 100044 }, + { 0x24B0, 100055 }, + { 0x24B8, 100062 }, + { 0x24C1, 100069 }, + { 0x24C5, 100080 }, + { 0x1D45, 100088 }, + { 0x1D46, 100093 }, + { 0x711F, 100098 }, + { 0x1D65, 100101 }, + { 0x7161, 100104 }, + { 0x269F, 100107 }, + { 0x2473, 100110 }, + { 0x7123, 100112 }, + { 0x712F, 100115 }, + { 0x2690, 100118 }, + { 0x2695, 100123 }, + { 0x2697, 100128 }, + { 0x2696, 100137 }, + { 0x268F, 100145 }, + { 0x2724, 100152 }, + { 0x268E, 100158 }, + { 0x2691, 100164 }, + { 0x7179, 100169 }, + { 0x711B, 100174 }, + { 0x7175, 100177 }, + { 0x1D86, 100181 }, + { 0x717B, 100184 }, + { 0x7177, 100189 }, + { 0x7171, 100193 }, + { 0x26BA, 100197 }, + { 0x26CA, 100200 }, + { 0x26D8, 100205 }, + { 0x710F, 100212 }, + { 0x26FA, 100218 }, + { 0x26FC, 100225 }, + { 0x7117, 100232 }, + { 0x7113, 100239 }, + { 0x26D2, 100245 }, + { 0x26D2, 100252 }, + { 0x710B, 100259 }, + { 0x7107, 100265 }, + { 0x26C4, 100271 }, + { 0x26DC, 100275 }, + { 0x1DED, 100279 }, + { 0x25D7, 100283 }, + { 0x25DB, 100288 }, + { 0x25DD, 100296 }, + { 0x25D9, 100305 }, + { 0x1DFB, 100313 }, + { 0x25DF, 100317 }, + { 0x1DFF, 100320 }, + { 0x25E3, 100323 }, + { 0x25E1, 100327 }, + { 0x1DF1, 100333 }, + { 0x1E6F, 100338 }, + { 0x1DEF, 100343 }, + { 0x001C, 100347 }, + { 0x1E5F, 100349 }, + { 0x25D3, 100352 }, + { 0x25D5, 100356 }, + { 0x25E7, 100361 }, + { 0x25E9, 100366 }, + { 0x25ED, 100371 }, + { 0x24D0, 100380 }, + { 0x25E5, 100384 }, + { 0x25EB, 100390 }, + { 0x1E63, 100396 }, + { 0x2600, 100401 }, + { 0x2602, 100405 }, + { 0x2161, 100412 }, + { 0x6F2D, 100413 }, + { 0x6F2C, 100415 }, + { 0x0B48, 100418 }, + { 0x0B68, 100422 }, + { 0x0B44, 100425 }, + { 0x0B42, 100428 }, + { 0x0AFF, 100431 }, + { 0x0AFE, 100434 }, + { 0x0B34, 100437 }, + { 0x0AFD, 100440 }, + { 0x0B56, 100443 }, + { 0x0B5B, 100446 }, + { 0x0B57, 100449 }, + { 0x0B5A, 100452 }, + { 0x0B59, 100455 }, + { 0x0B5E, 100458 }, + { 0x0B55, 100461 }, + { 0x0B5D, 100464 }, + { 0x0B5C, 100467 }, + { 0x0B58, 100470 }, + { 0x0B3C, 100473 }, + { 0x0B36, 100477 }, + { 0x0B3F, 100481 }, + { 0x0B38, 100485 }, + { 0x0B35, 100489 }, + { 0x0B3E, 100493 }, + { 0x0B41, 100497 }, + { 0x0B3D, 100501 }, + { 0x0B37, 100505 }, + { 0x0B40, 100509 }, + { 0x0B39, 100513 }, + { 0x0B53, 100517 }, + { 0x0B3A, 100522 }, + { 0x0B54, 100527 }, + { 0x0B3B, 100532 }, + { 0x0B00, 100537 }, + { 0x0B08, 100540 }, + { 0x0B02, 100543 }, + { 0x0B0B, 100546 }, + { 0x0B04, 100549 }, + { 0x0B01, 100552 }, + { 0x0B0A, 100555 }, + { 0x0B0D, 100558 }, + { 0x0B25, 100561 }, + { 0x0B13, 100564 }, + { 0x0B1F, 100567 }, + { 0x0B09, 100570 }, + { 0x0B10, 100573 }, + { 0x0B32, 100576 }, + { 0x0B03, 100579 }, + { 0x0B15, 100582 }, + { 0x0B0E, 100585 }, + { 0x0B2B, 100588 }, + { 0x0B27, 100591 }, + { 0x0B21, 100594 }, + { 0x0B0C, 100597 }, + { 0x0B23, 100600 }, + { 0x0B29, 100603 }, + { 0x0B31, 100606 }, + { 0x0B1D, 100609 }, + { 0x0B05, 100612 }, + { 0x0B2E, 100615 }, + { 0x0B28, 100618 }, + { 0x0B26, 100621 }, + { 0x0B14, 100624 }, + { 0x0B1A, 100627 }, + { 0x0B20, 100630 }, + { 0x0B43, 100633 }, + { 0x0B11, 100637 }, + { 0x0B16, 100640 }, + { 0x0B0F, 100643 }, + { 0x0B2C, 100646 }, + { 0x0B12, 100649 }, + { 0x0B1C, 100652 }, + { 0x0B17, 100655 }, + { 0x0B24, 100658 }, + { 0x0B2A, 100661 }, + { 0x0B2F, 100664 }, + { 0x0B30, 100667 }, + { 0x0B1E, 100670 }, + { 0x0B18, 100673 }, + { 0x0B1B, 100676 }, + { 0x0B2D, 100679 }, + { 0x0B22, 100682 }, + { 0x0B19, 100685 }, + { 0x0B33, 100688 }, + { 0x0B6E, 100691 }, + { 0x0B6C, 100695 }, + { 0x0B45, 100699 }, + { 0x0B6A, 100703 }, + { 0x0B46, 100707 }, + { 0x0B6D, 100711 }, + { 0x0B69, 100715 }, + { 0x0B6B, 100719 }, + { 0x0B47, 100723 }, + { 0x0B50, 100727 }, + { 0x0B07, 100731 }, + { 0x0B06, 100735 }, + { 0x0B52, 100739 }, + { 0x0B51, 100743 }, + { 0x0B60, 100747 }, + { 0x0B61, 100751 }, + { 0x0B5F, 100755 }, + { 0x0B63, 100758 }, + { 0x0B4F, 100762 }, + { 0x0B4D, 100766 }, + { 0x0B66, 100770 }, + { 0x0B62, 100774 }, + { 0x0B4A, 100778 }, + { 0x0B65, 100782 }, + { 0x0B4C, 100786 }, + { 0x0B49, 100790 }, + { 0x0B64, 100794 }, + { 0x0B4B, 100798 }, + { 0x0B67, 100802 }, + { 0x0B4E, 100806 }, + { 0x0079, 100810 }, + { 0x14C8, 100813 }, + { 0x14CE, 100816 }, + { 0x14CF, 100821 }, + { 0x14D0, 100826 }, + { 0x14C6, 100831 }, + { 0x14CA, 100834 }, + { 0x14C9, 100839 }, + { 0x14C3, 100843 }, + { 0x4B5C, 100845 }, + { 0x4B58, 100850 }, + { 0x14C7, 100854 }, + { 0x14C5, 100856 }, + { 0x14D3, 100858 }, + { 0x14D8, 100861 }, + { 0x14D4, 100864 }, + { 0x14D7, 100867 }, + { 0x14D6, 100870 }, + { 0x14DB, 100873 }, + { 0x14D2, 100876 }, + { 0x14DA, 100879 }, + { 0x14D9, 100882 }, + { 0x14D5, 100885 }, + { 0x4B61, 100888 }, + { 0x4B63, 100891 }, + { 0x4B62, 100897 }, + { 0x14D1, 100902 }, + { 0x4B5A, 100905 }, + { 0x14DC, 100910 }, + { 0x14DD, 100913 }, + { 0x14DE, 100916 }, + { 0x14DF, 100919 }, + { 0x14E0, 100922 }, + { 0x14E6, 100925 }, + { 0x14EF, 100928 }, + { 0x14E3, 100931 }, + { 0x14F5, 100934 }, + { 0x14E9, 100937 }, + { 0x14F1, 100940 }, + { 0x14F6, 100943 }, + { 0x14EB, 100946 }, + { 0x14EA, 100949 }, + { 0x14E4, 100952 }, + { 0x14E1, 100955 }, + { 0x14E7, 100958 }, + { 0x14E8, 100961 }, + { 0x14F3, 100964 }, + { 0x14EC, 100967 }, + { 0x14EE, 100970 }, + { 0x14E2, 100973 }, + { 0x14F4, 100976 }, + { 0x14F2, 100979 }, + { 0x14F9, 100982 }, + { 0x153B, 100985 }, + { 0x153C, 100990 }, + { 0x154B, 100995 }, + { 0x153F, 101000 }, + { 0x1545, 101005 }, + { 0x153D, 101010 }, + { 0x1546, 101015 }, + { 0x1544, 101020 }, + { 0x154A, 101025 }, + { 0x1542, 101030 }, + { 0x153E, 101035 }, + { 0x1543, 101040 }, + { 0x1547, 101045 }, + { 0x1548, 101050 }, + { 0x1540, 101055 }, + { 0x1549, 101060 }, + { 0x155A, 101065 }, + { 0x155B, 101071 }, + { 0x1541, 101077 }, + { 0x153A, 101082 }, + { 0x1539, 101088 }, + { 0x1536, 101093 }, + { 0x155D, 101098 }, + { 0x1537, 101103 }, + { 0x1535, 101108 }, + { 0x1534, 101114 }, + { 0x1538, 101120 }, + { 0x14E5, 101126 }, + { 0x14F0, 101129 }, + { 0x14FE, 101132 }, + { 0x14FA, 101135 }, + { 0x14F7, 101138 }, + { 0x14FC, 101141 }, + { 0x14ED, 101144 }, + { 0x14F8, 101147 }, + { 0x14FD, 101150 }, + { 0x14FB, 101153 }, + { 0x1519, 101156 }, + { 0x151A, 101160 }, + { 0x151D, 101164 }, + { 0x1525, 101168 }, + { 0x1527, 101172 }, + { 0x1520, 101176 }, + { 0x1521, 101180 }, + { 0x151B, 101184 }, + { 0x1526, 101188 }, + { 0x151F, 101192 }, + { 0x1522, 101196 }, + { 0x1524, 101200 }, + { 0x151C, 101204 }, + { 0x152B, 101208 }, + { 0x151E, 101212 }, + { 0x152D, 101216 }, + { 0x1528, 101220 }, + { 0x1529, 101224 }, + { 0x152C, 101228 }, + { 0x1523, 101232 }, + { 0x152A, 101236 }, + { 0x152E, 101240 }, + { 0x1500, 101244 }, + { 0x1501, 101248 }, + { 0x1502, 101252 }, + { 0x1503, 101256 }, + { 0x1507, 101260 }, + { 0x150D, 101264 }, + { 0x150A, 101268 }, + { 0x150F, 101272 }, + { 0x1513, 101276 }, + { 0x150B, 101280 }, + { 0x1504, 101284 }, + { 0x1508, 101288 }, + { 0x1509, 101292 }, + { 0x150C, 101296 }, + { 0x1505, 101300 }, + { 0x1512, 101304 }, + { 0x1511, 101308 }, + { 0x154C, 101312 }, + { 0x154D, 101318 }, + { 0x1506, 101324 }, + { 0x150E, 101328 }, + { 0x1518, 101332 }, + { 0x1514, 101336 }, + { 0x1515, 101340 }, + { 0x1516, 101344 }, + { 0x1517, 101348 }, + { 0x1510, 101352 }, + { 0x14FF, 101356 }, + { 0x152F, 101362 }, + { 0x1532, 101366 }, + { 0x1530, 101370 }, + { 0x1531, 101374 }, + { 0x1550, 101378 }, + { 0x1554, 101384 }, + { 0x1559, 101390 }, + { 0x155C, 101396 }, + { 0x1557, 101402 }, + { 0x1555, 101408 }, + { 0x154E, 101414 }, + { 0x1551, 101420 }, + { 0x155E, 101426 }, + { 0x154F, 101432 }, + { 0x1556, 101438 }, + { 0x1552, 101444 }, + { 0x1558, 101450 }, + { 0x1553, 101456 }, + { 0x1533, 101462 }, + { 0x14CC, 101466 }, + { 0x14CB, 101470 }, + { 0x14CD, 101473 }, + { 0x4B5B, 101475 }, + { 0x4B64, 101480 }, + { 0x4B59, 101487 }, + { 0x4B5E, 101490 }, + { 0x4B5D, 101496 }, + { 0x14C4, 101501 }, + { 0x4B5F, 101503 }, + { 0x4B60, 101506 }, + { 0x444B, 101512 }, + { 0x445C, 101515 }, + { 0x4457, 101518 }, + { 0x4459, 101521 }, + { 0x4462, 101524 }, + { 0x444C, 101527 }, + { 0x445B, 101530 }, + { 0x4447, 101533 }, + { 0x444E, 101536 }, + { 0x4453, 101539 }, + { 0x445E, 101542 }, + { 0x445F, 101545 }, + { 0x4461, 101548 }, + { 0x444F, 101551 }, + { 0x4451, 101554 }, + { 0x4445, 101557 }, + { 0x444A, 101560 }, + { 0x4456, 101564 }, + { 0x4458, 101568 }, + { 0x4446, 101572 }, + { 0x4452, 101576 }, + { 0x4460, 101580 }, + { 0x4450, 101584 }, + { 0x4444, 101588 }, + { 0x4454, 101592 }, + { 0x4448, 101596 }, + { 0x445D, 101599 }, + { 0x444D, 101602 }, + { 0x4449, 101605 }, + { 0x4455, 101608 }, + { 0x445A, 101611 }, + { 0x4463, 101614 }, + { 0x446B, 101617 }, + { 0x4469, 101621 }, + { 0x4464, 101624 }, + { 0x4468, 101627 }, + { 0x4466, 101630 }, + { 0x4465, 101633 }, + { 0x446A, 101636 }, + { 0x4467, 101639 }, + { 0x7190, 101643 }, + { 0x6E2B, 101645 }, + { 0x700C, 101646 }, + { 0x2228, 101648 }, + { 0x4428, 101649 }, + { 0x4435, 101652 }, + { 0x4430, 101655 }, + { 0x4432, 101658 }, + { 0x443A, 101661 }, + { 0x4429, 101664 }, + { 0x4434, 101667 }, + { 0x4425, 101670 }, + { 0x442B, 101673 }, + { 0x442E, 101676 }, + { 0x4437, 101679 }, + { 0x4438, 101682 }, + { 0x4439, 101685 }, + { 0x442C, 101688 }, + { 0x442D, 101691 }, + { 0x4424, 101694 }, + { 0x4431, 101697 }, + { 0x4426, 101701 }, + { 0x4436, 101704 }, + { 0x442A, 101707 }, + { 0x4427, 101710 }, + { 0x442F, 101713 }, + { 0x4433, 101716 }, + { 0x443D, 101719 }, + { 0x4442, 101722 }, + { 0x443E, 101725 }, + { 0x4441, 101728 }, + { 0x4440, 101731 }, + { 0x443F, 101734 }, + { 0x4443, 101737 }, + { 0x443B, 101740 }, + { 0x443C, 101743 }, + { 0x6E09, 101746 }, + { 0x1BDD, 101747 }, + { 0x701E, 101749 }, + { 0x223E, 101751 }, + { 0x21D8, 101752 }, + { 0x6C88, 101755 }, + { 0x1E5D, 101756 }, + { 0x2634, 101757 }, + { 0x1C0B, 101761 }, + { 0x2566, 101763 }, + { 0x0002, 101766 }, + { 0x21CD, 101768 }, + { 0x21CE, 101773 }, + { 0x21CF, 101778 }, + { 0x21D0, 101783 }, + { 0x21D1, 101788 }, + { 0x21D2, 101793 }, + { 0x21D3, 101798 }, + { 0x21D4, 101803 }, + { 0x1BEF, 101808 }, + { 0x6DD9, 101810 }, + { 0x2597, 101812 }, + { 0x6F19, 101815 }, + { 0x0795, 101817 }, + { 0x0798, 101820 }, + { 0x0796, 101823 }, + { 0x07AC, 101826 }, + { 0x0797, 101829 }, + { 0x079A, 101832 }, + { 0x07A2, 101836 }, + { 0x079C, 101840 }, + { 0x07A9, 101844 }, + { 0x07AA, 101848 }, + { 0x07A6, 101852 }, + { 0x079F, 101856 }, + { 0x07A1, 101860 }, + { 0x079B, 101865 }, + { 0x07A8, 101870 }, + { 0x07A5, 101875 }, + { 0x079E, 101880 }, + { 0x07A4, 101885 }, + { 0x07AB, 101890 }, + { 0x07A0, 101894 }, + { 0x079D, 101899 }, + { 0x078F, 101904 }, + { 0x078E, 101907 }, + { 0x0786, 101910 }, + { 0x0783, 101913 }, + { 0x0784, 101916 }, + { 0x0780, 101919 }, + { 0x078B, 101922 }, + { 0x078C, 101925 }, + { 0x0791, 101928 }, + { 0x0787, 101931 }, + { 0x0788, 101934 }, + { 0x0785, 101937 }, + { 0x077F, 101940 }, + { 0x0789, 101943 }, + { 0x0792, 101946 }, + { 0x0793, 101949 }, + { 0x0794, 101952 }, + { 0x0782, 101955 }, + { 0x0781, 101958 }, + { 0x078A, 101961 }, + { 0x078D, 101964 }, + { 0x0790, 101967 }, + { 0x07A7, 101970 }, + { 0x07A3, 101974 }, + { 0x0799, 101979 }, + { 0x07B0, 101984 }, + { 0x07BA, 101987 }, + { 0x07B8, 101991 }, + { 0x07B7, 101994 }, + { 0x07AF, 101997 }, + { 0x07B6, 102000 }, + { 0x07B5, 102003 }, + { 0x07AE, 102006 }, + { 0x07BB, 102009 }, + { 0x07B1, 102012 }, + { 0x07B9, 102015 }, + { 0x07B4, 102018 }, + { 0x07AD, 102022 }, + { 0x07B2, 102025 }, + { 0x07B3, 102028 }, + { 0x701B, 102031 }, + { 0x6E1C, 102032 }, + { 0x6CF2, 102034 }, + { 0x001B, 102035 }, + { 0x6CAB, 102036 }, + { 0x5F6E, 102037 }, + { 0x5F6D, 102041 }, + { 0x5F6B, 102045 }, + { 0x5F6C, 102049 }, + { 0x229E, 102053 }, + { 0x6C98, 102054 }, + { 0x6DD1, 102055 }, + { 0x6FDF, 102057 }, + { 0x1DAB, 102058 }, + { 0x24FB, 102060 }, + { 0x24FA, 102064 }, + { 0x6DE1, 102068 }, + { 0x1F7A, 102071 }, + { 0x1C32, 102072 }, + { 0x1C37, 102074 }, + { 0x1C33, 102076 }, + { 0x1C36, 102078 }, + { 0x1C35, 102080 }, + { 0x1C3E, 102082 }, + { 0x1C3A, 102085 }, + { 0x1C3B, 102087 }, + { 0x1C31, 102090 }, + { 0x1C39, 102092 }, + { 0x1C3C, 102094 }, + { 0x1C3F, 102096 }, + { 0x1C38, 102099 }, + { 0x1C34, 102101 }, + { 0x1C3D, 102103 }, + { 0x1F3B, 102106 }, + { 0x2565, 102108 }, + { 0x1F3C, 102111 }, + { 0x17CF, 102113 }, + { 0x17CE, 102116 }, + { 0x17A4, 102119 }, + { 0x17A5, 102122 }, + { 0x17A6, 102125 }, + { 0x17D5, 102128 }, + { 0x17DA, 102131 }, + { 0x17D6, 102134 }, + { 0x17D9, 102137 }, + { 0x17D8, 102140 }, + { 0x17DD, 102143 }, + { 0x17D4, 102146 }, + { 0x17DC, 102149 }, + { 0x17DB, 102152 }, + { 0x17D7, 102155 }, + { 0x17CC, 102158 }, + { 0x17C9, 102162 }, + { 0x17C8, 102166 }, + { 0x17CB, 102170 }, + { 0x17CA, 102174 }, + { 0x17CD, 102178 }, + { 0x17A7, 102182 }, + { 0x17AC, 102185 }, + { 0x17A8, 102188 }, + { 0x17AB, 102191 }, + { 0x17A9, 102194 }, + { 0x17AA, 102197 }, + { 0x17BC, 102200 }, + { 0x17B2, 102203 }, + { 0x17B7, 102206 }, + { 0x17AD, 102209 }, + { 0x17BA, 102212 }, + { 0x17B0, 102215 }, + { 0x17C4, 102218 }, + { 0x17B3, 102221 }, + { 0x17AE, 102224 }, + { 0x17C0, 102227 }, + { 0x17BD, 102230 }, + { 0x17B8, 102233 }, + { 0x17B9, 102236 }, + { 0x17AF, 102239 }, + { 0x17BF, 102242 }, + { 0x17C2, 102245 }, + { 0x17B6, 102248 }, + { 0x17BB, 102251 }, + { 0x17C1, 102254 }, + { 0x17C3, 102257 }, + { 0x17BE, 102260 }, + { 0x17B4, 102263 }, + { 0x17E1, 102266 }, + { 0x17D2, 102269 }, + { 0x17E0, 102272 }, + { 0x17B1, 102275 }, + { 0x17B5, 102278 }, + { 0x17DF, 102281 }, + { 0x17D3, 102284 }, + { 0x17E2, 102287 }, + { 0x17E3, 102291 }, + { 0x17DE, 102295 }, + { 0x17C7, 102297 }, + { 0x17C6, 102301 }, + { 0x17D0, 102305 }, + { 0x17D1, 102310 }, + { 0x17C5, 102315 }, + { 0x18A6, 102319 }, + { 0x18A5, 102324 }, + { 0x18A4, 102329 }, + { 0x18A3, 102334 }, + { 0x18A2, 102339 }, + { 0x189F, 102343 }, + { 0x18A1, 102347 }, + { 0x18A0, 102351 }, + { 0x6C76, 102355 }, + { 0x6E88, 102356 }, + { 0x6C85, 102357 }, + { 0x6EBB, 102358 }, + { 0x1CAE, 102363 }, + { 0x2260, 102365 }, + { 0x6E19, 102368 }, + { 0x6EB7, 102370 }, + { 0x1E9E, 102374 }, + { 0x6E68, 102376 }, + { 0x61E5, 102377 }, + { 0x61AF, 102382 }, + { 0x61BF, 102385 }, + { 0x61B5, 102390 }, + { 0x61AE, 102394 }, + { 0x6199, 102397 }, + { 0x61D5, 102401 }, + { 0x61C1, 102404 }, + { 0x61D8, 102409 }, + { 0x619A, 102412 }, + { 0x61A6, 102415 }, + { 0x61C3, 102418 }, + { 0x61CD, 102421 }, + { 0x61D6, 102424 }, + { 0x619E, 102427 }, + { 0x6198, 102430 }, + { 0x61B3, 102433 }, + { 0x61CF, 102436 }, + { 0x61B2, 102440 }, + { 0x61C8, 102443 }, + { 0x61B7, 102446 }, + { 0x61BC, 102449 }, + { 0x61C7, 102452 }, + { 0x61AB, 102455 }, + { 0x619B, 102458 }, + { 0x61E1, 102461 }, + { 0x61A7, 102464 }, + { 0x61DB, 102467 }, + { 0x61E2, 102470 }, + { 0x61A8, 102473 }, + { 0x619C, 102477 }, + { 0x61B9, 102481 }, + { 0x61D2, 102484 }, + { 0x61CB, 102487 }, + { 0x61B6, 102490 }, + { 0x61C6, 102493 }, + { 0x61AC, 102496 }, + { 0x61D7, 102499 }, + { 0x61A9, 102502 }, + { 0x61CC, 102505 }, + { 0x61BD, 102508 }, + { 0x61DF, 102511 }, + { 0x61A4, 102514 }, + { 0x61C0, 102517 }, + { 0x61DE, 102520 }, + { 0x61BB, 102523 }, + { 0x61C9, 102526 }, + { 0x61A0, 102531 }, + { 0x61B8, 102535 }, + { 0x61CA, 102538 }, + { 0x61DA, 102541 }, + { 0x61D9, 102544 }, + { 0x61B1, 102547 }, + { 0x61AA, 102550 }, + { 0x61E8, 102553 }, + { 0x61BA, 102556 }, + { 0x61D1, 102559 }, + { 0x61C4, 102563 }, + { 0x61E7, 102566 }, + { 0x61BE, 102569 }, + { 0x61DD, 102572 }, + { 0x61E0, 102575 }, + { 0x61E4, 102578 }, + { 0x61B0, 102581 }, + { 0x61A2, 102584 }, + { 0x61C2, 102587 }, + { 0x61DC, 102590 }, + { 0x619F, 102593 }, + { 0x61AD, 102596 }, + { 0x61E3, 102599 }, + { 0x619D, 102602 }, + { 0x61C5, 102605 }, + { 0x61D0, 102608 }, + { 0x61A5, 102611 }, + { 0x61D3, 102614 }, + { 0x61B4, 102617 }, + { 0x61E6, 102620 }, + { 0x61CE, 102623 }, + { 0x61A3, 102626 }, + { 0x61A1, 102629 }, + { 0x61D4, 102634 }, + { 0x1DBD, 102637 }, + { 0x6EED, 102638 }, + { 0x21CC, 102639 }, + { 0x2209, 102642 }, + { 0x6E2E, 102645 }, + { 0x71A0, 102647 }, + { 0x7023, 102648 }, + { 0x706B, 102652 }, + { 0x7068, 102656 }, + { 0x707A, 102660 }, + { 0x704B, 102665 }, + { 0x706C, 102670 }, + { 0x7067, 102674 }, + { 0x7028, 102678 }, + { 0x702A, 102683 }, + { 0x7029, 102688 }, + { 0x702B, 102693 }, + { 0x708D, 102698 }, + { 0x708E, 102704 }, + { 0x706E, 102710 }, + { 0x7024, 102714 }, + { 0x703C, 102718 }, + { 0x7094, 102722 }, + { 0x7095, 102727 }, + { 0x7090, 102732 }, + { 0x703E, 102736 }, + { 0x703F, 102741 }, + { 0x704C, 102746 }, + { 0x703A, 102751 }, + { 0x703B, 102756 }, + { 0x7036, 102761 }, + { 0x7048, 102765 }, + { 0x704F, 102772 }, + { 0x7076, 102778 }, + { 0x7079, 102782 }, + { 0x7031, 102786 }, + { 0x7064, 102791 }, + { 0x707B, 102795 }, + { 0x7070, 102799 }, + { 0x7025, 102804 }, + { 0x7078, 102808 }, + { 0x7093, 102813 }, + { 0x7091, 102817 }, + { 0x7037, 102821 }, + { 0x7063, 102825 }, + { 0x706F, 102830 }, + { 0x7077, 102834 }, + { 0x7026, 102838 }, + { 0x7058, 102842 }, + { 0x7042, 102846 }, + { 0x7047, 102851 }, + { 0x7040, 102856 }, + { 0x7045, 102862 }, + { 0x7046, 102868 }, + { 0x706D, 102874 }, + { 0x7085, 102878 }, + { 0x708F, 102882 }, + { 0x703D, 102886 }, + { 0x7069, 102890 }, + { 0x702F, 102894 }, + { 0x7061, 102898 }, + { 0x708C, 102902 }, + { 0x707D, 102906 }, + { 0x705C, 102910 }, + { 0x7060, 102914 }, + { 0x7065, 102919 }, + { 0x7066, 102923 }, + { 0x7082, 102927 }, + { 0x7032, 102931 }, + { 0x7033, 102936 }, + { 0x7034, 102941 }, + { 0x705D, 102946 }, + { 0x7054, 102950 }, + { 0x7041, 102954 }, + { 0x7052, 102960 }, + { 0x7053, 102966 }, + { 0x7071, 102972 }, + { 0x7074, 102978 }, + { 0x707E, 102983 }, + { 0x707F, 102989 }, + { 0x7073, 102995 }, + { 0x702C, 102999 }, + { 0x7051, 103003 }, + { 0x7038, 103009 }, + { 0x7059, 103013 }, + { 0x704D, 103017 }, + { 0x7072, 103022 }, + { 0x7035, 103026 }, + { 0x7087, 103030 }, + { 0x7083, 103034 }, + { 0x707C, 103038 }, + { 0x7062, 103043 }, + { 0x706A, 103047 }, + { 0x7092, 103051 }, + { 0x7075, 103055 }, + { 0x705A, 103059 }, + { 0x705E, 103063 }, + { 0x7055, 103067 }, + { 0x7056, 103071 }, + { 0x7057, 103075 }, + { 0x7049, 103079 }, + { 0x7050, 103087 }, + { 0x7044, 103095 }, + { 0x704E, 103101 }, + { 0x704A, 103107 }, + { 0x702D, 103111 }, + { 0x702E, 103115 }, + { 0x7039, 103119 }, + { 0x7027, 103123 }, + { 0x7088, 103127 }, + { 0x7089, 103131 }, + { 0x708A, 103135 }, + { 0x708B, 103139 }, + { 0x7084, 103143 }, + { 0x705F, 103147 }, + { 0x7043, 103151 }, + { 0x7081, 103156 }, + { 0x7080, 103160 }, + { 0x7030, 103164 }, + { 0x7086, 103169 }, + { 0x7022, 103173 }, + { 0x705B, 103177 }, + { 0x0007, 103181 }, + { 0x1DD9, 103182 }, + { 0x6F6D, 103185 }, + { 0x6FD2, 103187 }, + { 0x6CFB, 103188 }, + { 0x3CE2, 103191 }, + { 0x3CDE, 103194 }, + { 0x003E, 103196 }, + { 0x0020, 103198 }, + { 0x1C06, 103200 }, + { 0x1D8A, 103203 }, + { 0x6F51, 103204 }, + { 0x1F0A, 103206 }, + { 0x6D27, 103209 }, + { 0x2165, 103211 }, + { 0x0872, 103213 }, + { 0x371F, 103215 }, + { 0x3723, 103218 }, + { 0x0893, 103221 }, + { 0x085E, 103226 }, + { 0x371A, 103229 }, + { 0x086F, 103234 }, + { 0x3722, 103237 }, + { 0x3718, 103240 }, + { 0x0825, 103244 }, + { 0x0824, 103247 }, + { 0x085F, 103250 }, + { 0x0822, 103253 }, + { 0x371E, 103257 }, + { 0x0823, 103260 }, + { 0x371B, 103263 }, + { 0x371C, 103267 }, + { 0x3719, 103271 }, + { 0x371D, 103275 }, + { 0x0876, 103279 }, + { 0x3720, 103282 }, + { 0x0886, 103284 }, + { 0x0889, 103286 }, + { 0x088E, 103289 }, + { 0x088A, 103292 }, + { 0x088D, 103295 }, + { 0x088C, 103298 }, + { 0x0891, 103301 }, + { 0x0888, 103304 }, + { 0x0890, 103307 }, + { 0x088F, 103310 }, + { 0x088B, 103313 }, + { 0x0875, 103316 }, + { 0x0869, 103319 }, + { 0x0861, 103323 }, + { 0x086D, 103327 }, + { 0x0863, 103331 }, + { 0x0860, 103335 }, + { 0x086A, 103339 }, + { 0x086E, 103343 }, + { 0x0871, 103347 }, + { 0x0862, 103351 }, + { 0x085C, 103355 }, + { 0x0878, 103359 }, + { 0x0864, 103363 }, + { 0x085D, 103367 }, + { 0x0879, 103371 }, + { 0x0868, 103375 }, + { 0x086C, 103380 }, + { 0x0867, 103385 }, + { 0x086B, 103390 }, + { 0x0877, 103395 }, + { 0x0884, 103401 }, + { 0x0865, 103406 }, + { 0x0885, 103411 }, + { 0x0866, 103416 }, + { 0x0870, 103421 }, + { 0x0887, 103426 }, + { 0x0827, 103429 }, + { 0x0831, 103432 }, + { 0x0829, 103435 }, + { 0x0835, 103438 }, + { 0x082B, 103441 }, + { 0x0828, 103444 }, + { 0x0832, 103447 }, + { 0x0836, 103450 }, + { 0x0897, 103453 }, + { 0x084E, 103456 }, + { 0x083C, 103459 }, + { 0x0848, 103462 }, + { 0x0880, 103465 }, + { 0x0839, 103468 }, + { 0x085B, 103471 }, + { 0x082A, 103474 }, + { 0x083E, 103477 }, + { 0x0837, 103480 }, + { 0x0854, 103483 }, + { 0x0850, 103486 }, + { 0x084A, 103489 }, + { 0x0895, 103492 }, + { 0x084C, 103495 }, + { 0x087A, 103498 }, + { 0x0852, 103501 }, + { 0x085A, 103504 }, + { 0x0846, 103507 }, + { 0x0898, 103510 }, + { 0x082C, 103513 }, + { 0x0857, 103516 }, + { 0x0851, 103519 }, + { 0x087D, 103522 }, + { 0x08A1, 103525 }, + { 0x084F, 103528 }, + { 0x083D, 103531 }, + { 0x0843, 103534 }, + { 0x0849, 103537 }, + { 0x089D, 103540 }, + { 0x083A, 103543 }, + { 0x083F, 103546 }, + { 0x089E, 103549 }, + { 0x0838, 103552 }, + { 0x0855, 103555 }, + { 0x083B, 103558 }, + { 0x0845, 103561 }, + { 0x0840, 103564 }, + { 0x0896, 103567 }, + { 0x084D, 103570 }, + { 0x087F, 103573 }, + { 0x0853, 103576 }, + { 0x0858, 103579 }, + { 0x0859, 103582 }, + { 0x0847, 103585 }, + { 0x0841, 103588 }, + { 0x0899, 103591 }, + { 0x0881, 103594 }, + { 0x089B, 103597 }, + { 0x08A0, 103600 }, + { 0x0844, 103603 }, + { 0x087C, 103606 }, + { 0x087B, 103609 }, + { 0x0856, 103612 }, + { 0x084B, 103615 }, + { 0x0842, 103618 }, + { 0x087E, 103621 }, + { 0x089C, 103624 }, + { 0x0826, 103628 }, + { 0x0830, 103632 }, + { 0x0834, 103636 }, + { 0x0894, 103640 }, + { 0x082F, 103644 }, + { 0x0833, 103648 }, + { 0x089F, 103652 }, + { 0x089A, 103656 }, + { 0x082E, 103660 }, + { 0x082D, 103664 }, + { 0x0883, 103668 }, + { 0x0882, 103672 }, + { 0x0873, 103676 }, + { 0x0874, 103680 }, + { 0x3721, 103684 }, + { 0x0892, 103686 }, + { 0x1DD8, 103689 }, + { 0x1F70, 103691 }, + { 0x1DD6, 103693 }, + { 0x25D2, 103695 }, + { 0x6D8E, 103700 }, + { 0x6D9E, 103701 }, + { 0x2762, 103702 }, + { 0x2771, 103706 }, + { 0x277D, 103710 }, + { 0x277A, 103714 }, + { 0x2757, 103718 }, + { 0x277F, 103722 }, + { 0x2768, 103727 }, + { 0x2770, 103731 }, + { 0x2775, 103735 }, + { 0x2773, 103739 }, + { 0x276D, 103743 }, + { 0x2758, 103747 }, + { 0x2781, 103751 }, + { 0x276F, 103755 }, + { 0x2760, 103759 }, + { 0x2764, 103763 }, + { 0x2772, 103767 }, + { 0x2759, 103771 }, + { 0x2778, 103775 }, + { 0x2777, 103779 }, + { 0x2776, 103783 }, + { 0x275B, 103787 }, + { 0x275E, 103791 }, + { 0x276E, 103795 }, + { 0x2767, 103799 }, + { 0x276A, 103803 }, + { 0x276B, 103807 }, + { 0x277B, 103811 }, + { 0x277C, 103816 }, + { 0x275C, 103823 }, + { 0x2774, 103827 }, + { 0x2763, 103831 }, + { 0x2769, 103835 }, + { 0x276C, 103839 }, + { 0x275F, 103843 }, + { 0x275A, 103847 }, + { 0x2761, 103851 }, + { 0x2780, 103856 }, + { 0x277E, 103862 }, + { 0x2782, 103868 }, + { 0x2765, 103872 }, + { 0x2766, 103876 }, + { 0x2783, 103880 }, + { 0x2779, 103884 }, + { 0x275D, 103889 }, + { 0x2785, 103893 }, + { 0x2784, 103898 }, + { 0x2733, 103903 }, + { 0x2742, 103907 }, + { 0x274E, 103911 }, + { 0x274B, 103915 }, + { 0x2728, 103919 }, + { 0x2750, 103923 }, + { 0x2739, 103928 }, + { 0x2741, 103932 }, + { 0x2746, 103936 }, + { 0x2744, 103940 }, + { 0x273E, 103944 }, + { 0x2729, 103948 }, + { 0x2752, 103952 }, + { 0x2740, 103956 }, + { 0x2731, 103960 }, + { 0x2735, 103964 }, + { 0x2743, 103968 }, + { 0x272A, 103972 }, + { 0x2749, 103976 }, + { 0x2748, 103980 }, + { 0x2747, 103984 }, + { 0x272C, 103988 }, + { 0x272F, 103992 }, + { 0x273F, 103996 }, + { 0x2738, 104000 }, + { 0x273B, 104004 }, + { 0x273C, 104008 }, + { 0x274C, 104012 }, + { 0x274D, 104017 }, + { 0x272D, 104024 }, + { 0x2745, 104028 }, + { 0x2734, 104032 }, + { 0x273A, 104036 }, + { 0x273D, 104040 }, + { 0x2730, 104044 }, + { 0x272B, 104048 }, + { 0x2732, 104052 }, + { 0x2751, 104057 }, + { 0x274F, 104063 }, + { 0x2753, 104069 }, + { 0x2736, 104073 }, + { 0x2737, 104077 }, + { 0x2754, 104081 }, + { 0x274A, 104085 }, + { 0x272E, 104090 }, + { 0x2756, 104094 }, + { 0x2755, 104099 }, + { 0x6CCE, 104104 }, + { 0x6FBC, 104106 }, + { 0x6FBF, 104107 }, + { 0x6FC0, 104109 }, + { 0x1DC4, 104114 }, + { 0x1BC9, 104115 }, + { 0x26D6, 104117 }, + { 0x1F38, 104120 }, + { 0x2203, 104123 }, + { 0x1F43, 104128 }, + { 0x1F44, 104131 }, + { 0x1F45, 104134 }, + { 0x1F46, 104137 }, + { 0x267D, 104140 }, + { 0x2716, 104143 }, + { 0x6FE0, 104146 }, + { 0x1BDA, 104149 }, + { 0x1F17, 104151 }, + { 0x2536, 104153 }, + { 0x4564, 104155 }, + { 0x4566, 104159 }, + { 0x4565, 104163 }, + { 0x453F, 104166 }, + { 0x4541, 104171 }, + { 0x4540, 104174 }, + { 0x4568, 104177 }, + { 0x4569, 104180 }, + { 0x456B, 104183 }, + { 0x456A, 104186 }, + { 0x453C, 104189 }, + { 0x4539, 104193 }, + { 0x453D, 104197 }, + { 0x453A, 104201 }, + { 0x453B, 104205 }, + { 0x453E, 104210 }, + { 0x4538, 104214 }, + { 0x4556, 104217 }, + { 0x4546, 104220 }, + { 0x4551, 104223 }, + { 0x4544, 104226 }, + { 0x4561, 104229 }, + { 0x4548, 104232 }, + { 0x4542, 104235 }, + { 0x455B, 104238 }, + { 0x4558, 104241 }, + { 0x4553, 104244 }, + { 0x4554, 104247 }, + { 0x455A, 104250 }, + { 0x455F, 104253 }, + { 0x454F, 104256 }, + { 0x455C, 104259 }, + { 0x4559, 104262 }, + { 0x4560, 104265 }, + { 0x4557, 104268 }, + { 0x4547, 104271 }, + { 0x454C, 104274 }, + { 0x4552, 104277 }, + { 0x4545, 104280 }, + { 0x4543, 104283 }, + { 0x4562, 104286 }, + { 0x454E, 104289 }, + { 0x4549, 104292 }, + { 0x4555, 104295 }, + { 0x455D, 104298 }, + { 0x455E, 104301 }, + { 0x4550, 104304 }, + { 0x454A, 104307 }, + { 0x454D, 104310 }, + { 0x454B, 104313 }, + { 0x4563, 104316 }, + { 0x456E, 104319 }, + { 0x456F, 104323 }, + { 0x456C, 104327 }, + { 0x456D, 104330 }, + { 0x4567, 104333 }, + { 0x4570, 104335 }, + { 0x4576, 104338 }, + { 0x4578, 104341 }, + { 0x4575, 104344 }, + { 0x4571, 104347 }, + { 0x4572, 104351 }, + { 0x4577, 104354 }, + { 0x4573, 104358 }, + { 0x4574, 104362 }, + { 0x45C1, 104365 }, + { 0x45D5, 104368 }, + { 0x45BF, 104371 }, + { 0x45D4, 104374 }, + { 0x45CF, 104377 }, + { 0x45D0, 104380 }, + { 0x45DD, 104383 }, + { 0x45C0, 104386 }, + { 0x45D2, 104389 }, + { 0x45BA, 104392 }, + { 0x45C6, 104395 }, + { 0x45C9, 104398 }, + { 0x45D7, 104401 }, + { 0x45DA, 104404 }, + { 0x45DB, 104407 }, + { 0x45C7, 104410 }, + { 0x45CA, 104413 }, + { 0x45D8, 104416 }, + { 0x45C8, 104419 }, + { 0x45D3, 104422 }, + { 0x45B9, 104425 }, + { 0x45BB, 104428 }, + { 0x45BC, 104431 }, + { 0x45C4, 104434 }, + { 0x45CB, 104437 }, + { 0x45D9, 104440 }, + { 0x45D6, 104443 }, + { 0x45DC, 104446 }, + { 0x45C2, 104449 }, + { 0x45BE, 104452 }, + { 0x45BD, 104455 }, + { 0x45C5, 104458 }, + { 0x45CC, 104461 }, + { 0x45D1, 104464 }, + { 0x45C3, 104467 }, + { 0x45CD, 104470 }, + { 0x45CE, 104473 }, + { 0x45E0, 104476 }, + { 0x45E4, 104479 }, + { 0x45E2, 104483 }, + { 0x45E1, 104486 }, + { 0x45E3, 104489 }, + { 0x45E9, 104492 }, + { 0x45E8, 104495 }, + { 0x45EA, 104500 }, + { 0x45EB, 104504 }, + { 0x45E5, 104508 }, + { 0x45E7, 104511 }, + { 0x45E6, 104517 }, + { 0x45DE, 104520 }, + { 0x45DF, 104524 }, + { 0x6CDF, 104528 }, + { 0x6E67, 104529 }, + { 0x1F16, 104530 }, + { 0x2637, 104532 }, + { 0x2167, 104533 }, + { 0x6FF1, 104534 }, + { 0x6CE8, 104535 }, + { 0x142A, 104537 }, + { 0x1429, 104540 }, + { 0x44A2, 104543 }, + { 0x448A, 104546 }, + { 0x4496, 104549 }, + { 0x4495, 104552 }, + { 0x4486, 104555 }, + { 0x4487, 104558 }, + { 0x448D, 104561 }, + { 0x4490, 104564 }, + { 0x4492, 104567 }, + { 0x4493, 104570 }, + { 0x4498, 104573 }, + { 0x449B, 104576 }, + { 0x448E, 104579 }, + { 0x448B, 104582 }, + { 0x448F, 104585 }, + { 0x448C, 104588 }, + { 0x4489, 104591 }, + { 0x4488, 104594 }, + { 0x4491, 104597 }, + { 0x4499, 104600 }, + { 0x4497, 104603 }, + { 0x4494, 104606 }, + { 0x449A, 104609 }, + { 0x449C, 104612 }, + { 0x449F, 104615 }, + { 0x449D, 104619 }, + { 0x44A0, 104622 }, + { 0x44A1, 104625 }, + { 0x449E, 104628 }, + { 0x0070, 104631 }, + { 0x7002, 104633 }, + { 0x1E8E, 104635 }, + { 0x1DC0, 104636 }, + { 0x2570, 104637 }, + { 0x1DE8, 104640 }, + { 0x006D, 104643 }, + { 0x223A, 104645 }, + { 0x223B, 104648 }, + { 0x71CD, 104651 }, + { 0x2492, 104652 }, + { 0x7174, 104656 }, + { 0x1D29, 104661 }, + { 0x1D26, 104665 }, + { 0x1D1B, 104668 }, + { 0x1D6E, 104670 }, + { 0x2478, 104674 }, + { 0x1D2F, 104679 }, + { 0x247A, 104683 }, + { 0x1D4D, 104690 }, + { 0x2669, 104695 }, + { 0x2668, 104700 }, + { 0x1D33, 104705 }, + { 0x1D35, 104709 }, + { 0x249F, 104713 }, + { 0x1D2C, 104718 }, + { 0x246F, 104722 }, + { 0x246E, 104730 }, + { 0x70F5, 104737 }, + { 0x70ED, 104743 }, + { 0x70F9, 104749 }, + { 0x1D3D, 104755 }, + { 0x246B, 104760 }, + { 0x1D84, 104765 }, + { 0x70F1, 104771 }, + { 0x1D24, 104777 }, + { 0x716B, 104781 }, + { 0x1D81, 104786 }, + { 0x70FD, 104791 }, + { 0x249C, 104796 }, + { 0x24CE, 104802 }, + { 0x24CF, 104807 }, + { 0x26A6, 104813 }, + { 0x26A2, 104819 }, + { 0x24A1, 104826 }, + { 0x269E, 104830 }, + { 0x269D, 104834 }, + { 0x26ED, 104838 }, + { 0x26E2, 104841 }, + { 0x712D, 104846 }, + { 0x7129, 104849 }, + { 0x1D71, 104853 }, + { 0x1D79, 104856 }, + { 0x7167, 104861 }, + { 0x7172, 104867 }, + { 0x1D6B, 104872 }, + { 0x2467, 104875 }, + { 0x1D5B, 104879 }, + { 0x2461, 104882 }, + { 0x1D58, 104887 }, + { 0x245D, 104892 }, + { 0x2476, 104898 }, + { 0x1D52, 104901 }, + { 0x6FA9, 104904 }, + { 0x2469, 104906 }, + { 0x1D64, 104910 }, + { 0x1D55, 104913 }, + { 0x24AD, 104918 }, + { 0x24B5, 104925 }, + { 0x24C6, 104932 }, + { 0x24C2, 104940 }, + { 0x24BE, 104951 }, + { 0x24B1, 104962 }, + { 0x24B9, 104969 }, + { 0x24C3, 104976 }, + { 0x24C7, 104987 }, + { 0x1D49, 104995 }, + { 0x1D4A, 105000 }, + { 0x7121, 105005 }, + { 0x1D66, 105008 }, + { 0x7163, 105011 }, + { 0x26A0, 105014 }, + { 0x2474, 105017 }, + { 0x7125, 105019 }, + { 0x7131, 105022 }, + { 0x245F, 105025 }, + { 0x2470, 105030 }, + { 0x2472, 105035 }, + { 0x2471, 105044 }, + { 0x245B, 105052 }, + { 0x2726, 105059 }, + { 0x245A, 105065 }, + { 0x246A, 105071 }, + { 0x717A, 105076 }, + { 0x711D, 105081 }, + { 0x7178, 105084 }, + { 0x1D87, 105088 }, + { 0x717C, 105091 }, + { 0x7176, 105096 }, + { 0x26BC, 105100 }, + { 0x26CC, 105103 }, + { 0x26DA, 105108 }, + { 0x7111, 105115 }, + { 0x26FB, 105121 }, + { 0x26FD, 105128 }, + { 0x7119, 105135 }, + { 0x7115, 105142 }, + { 0x26D4, 105148 }, + { 0x26D4, 105155 }, + { 0x710D, 105162 }, + { 0x7109, 105168 }, + { 0x26C6, 105174 }, + { 0x26DE, 105178 }, + { 0x6FB3, 105182 }, + { 0x6FB2, 105190 }, + { 0x6FB1, 105197 }, + { 0x6FB5, 105205 }, + { 0x36F8, 105208 }, + { 0x36B5, 105211 }, + { 0x36B4, 105214 }, + { 0x36F9, 105217 }, + { 0x36FA, 105220 }, + { 0x36FD, 105222 }, + { 0x3702, 105225 }, + { 0x36FE, 105228 }, + { 0x3701, 105231 }, + { 0x3700, 105234 }, + { 0x3705, 105237 }, + { 0x36FC, 105240 }, + { 0x3704, 105243 }, + { 0x3703, 105246 }, + { 0x36FF, 105249 }, + { 0x36F2, 105252 }, + { 0x36EA, 105256 }, + { 0x36F5, 105260 }, + { 0x36EC, 105264 }, + { 0x36E9, 105268 }, + { 0x36F4, 105272 }, + { 0x36F7, 105276 }, + { 0x36F3, 105280 }, + { 0x36EB, 105284 }, + { 0x36F6, 105288 }, + { 0x36ED, 105292 }, + { 0x36F0, 105296 }, + { 0x36EE, 105301 }, + { 0x36F1, 105306 }, + { 0x36EF, 105311 }, + { 0x36FB, 105316 }, + { 0x36B6, 105319 }, + { 0x36C0, 105322 }, + { 0x36B8, 105325 }, + { 0x36C3, 105328 }, + { 0x36BA, 105331 }, + { 0x36B7, 105334 }, + { 0x36C2, 105337 }, + { 0x36C5, 105340 }, + { 0x36DC, 105343 }, + { 0x36CB, 105346 }, + { 0x36D7, 105349 }, + { 0x36C1, 105352 }, + { 0x36C8, 105355 }, + { 0x36E6, 105358 }, + { 0x36B9, 105361 }, + { 0x36CD, 105364 }, + { 0x36C6, 105367 }, + { 0x36E1, 105370 }, + { 0x36DE, 105373 }, + { 0x36D9, 105376 }, + { 0x36C4, 105379 }, + { 0x36DA, 105382 }, + { 0x36E0, 105385 }, + { 0x36E5, 105388 }, + { 0x36D5, 105391 }, + { 0x36BB, 105394 }, + { 0x36E2, 105397 }, + { 0x36DF, 105400 }, + { 0x36DD, 105403 }, + { 0x36CC, 105406 }, + { 0x36D2, 105409 }, + { 0x36D8, 105412 }, + { 0x36C9, 105415 }, + { 0x36CE, 105418 }, + { 0x36C7, 105421 }, + { 0x36E7, 105424 }, + { 0x36CA, 105427 }, + { 0x36D4, 105430 }, + { 0x36CF, 105433 }, + { 0x36DB, 105436 }, + { 0x36E3, 105439 }, + { 0x36E4, 105442 }, + { 0x36D6, 105445 }, + { 0x36D0, 105448 }, + { 0x36D3, 105451 }, + { 0x36D1, 105454 }, + { 0x36BE, 105457 }, + { 0x36BC, 105461 }, + { 0x36BF, 105465 }, + { 0x36BD, 105469 }, + { 0x36E8, 105473 }, + { 0x258C, 105477 }, + { 0x1F06, 105482 }, + { 0x6F39, 105485 }, + { 0x1BBA, 105488 }, + { 0x6C8E, 105490 }, + { 0x6FDA, 105491 }, + { 0x6E35, 105493 }, + { 0x6FE4, 105494 }, + { 0x6E0B, 105498 }, + { 0x1BD7, 105500 }, + { 0x6FC9, 105502 }, + { 0x6D0B, 105503 }, + { 0x6C84, 105504 }, + { 0x21D9, 105505 }, + { 0x1F10, 105507 }, + { 0x6FD6, 105510 }, + { 0x2305, 105512 }, + { 0x26B5, 105517 }, + { 0x26B7, 105523 }, + { 0x256A, 105529 }, + { 0x1F0D, 105531 }, + { 0x6F17, 105533 }, + { 0x2166, 105534 }, + { 0x6D25, 105535 }, + { 0x1DE1, 105537 }, + { 0x1EBD, 105539 }, + { 0x1EBE, 105540 }, + { 0x25F3, 105541 }, + { 0x25F4, 105546 }, + { 0x25F5, 105551 }, + { 0x25F6, 105557 }, + { 0x2653, 105563 }, + { 0x2654, 105569 }, + { 0x1DE3, 105575 }, + { 0x0001, 105577 }, + { 0x1BFD, 105579 }, + { 0x1BB9, 105582 }, + { 0x6D9B, 105584 }, + { 0x1BDB, 105586 }, + { 0x2A8F, 105588 }, + { 0x2ACC, 105591 }, + { 0x2A8E, 105595 }, + { 0x2AB7, 105597 }, + { 0x2A8D, 105601 }, + { 0x2A94, 105603 }, + { 0x2AB8, 105606 }, + { 0x2A93, 105610 }, + { 0x2ABA, 105613 }, + { 0x2AB9, 105617 }, + { 0x2A92, 105621 }, + { 0x2AC4, 105624 }, + { 0x2E4E, 105630 }, + { 0x2E53, 105636 }, + { 0x2E57, 105642 }, + { 0x2E4F, 105648 }, + { 0x2E52, 105654 }, + { 0x2E51, 105660 }, + { 0x2E56, 105666 }, + { 0x2E55, 105672 }, + { 0x2E54, 105678 }, + { 0x2E50, 105684 }, + { 0x2E58, 105690 }, + { 0x2E6B, 105696 }, + { 0x2E59, 105702 }, + { 0x2E61, 105708 }, + { 0x2E5C, 105714 }, + { 0x2E5D, 105720 }, + { 0x2E5F, 105726 }, + { 0x2E5B, 105732 }, + { 0x2E60, 105738 }, + { 0x2E5A, 105744 }, + { 0x2E5E, 105750 }, + { 0x2E6C, 105756 }, + { 0x2E62, 105762 }, + { 0x2E67, 105768 }, + { 0x2E63, 105774 }, + { 0x2E66, 105780 }, + { 0x2E65, 105786 }, + { 0x2E6A, 105792 }, + { 0x2E69, 105798 }, + { 0x2E68, 105804 }, + { 0x2E64, 105810 }, + { 0x2D33, 105816 }, + { 0x2DC7, 105821 }, + { 0x2DCC, 105827 }, + { 0x2DD0, 105833 }, + { 0x2DC8, 105839 }, + { 0x2DCB, 105845 }, + { 0x2DCA, 105851 }, + { 0x2DCF, 105857 }, + { 0x2DC6, 105863 }, + { 0x2DCE, 105869 }, + { 0x2DCD, 105875 }, + { 0x2DC9, 105881 }, + { 0x2DD1, 105887 }, + { 0x2DD2, 105893 }, + { 0x2DDA, 105899 }, + { 0x2DD5, 105905 }, + { 0x2DD6, 105911 }, + { 0x2DD8, 105917 }, + { 0x2DD4, 105923 }, + { 0x2DD9, 105929 }, + { 0x2DD3, 105935 }, + { 0x2DD7, 105941 }, + { 0x2DDB, 105947 }, + { 0x2DDC, 105953 }, + { 0x2DDE, 105959 }, + { 0x2DDD, 105965 }, + { 0x2D35, 105971 }, + { 0x2D34, 105976 }, + { 0x2D32, 105981 }, + { 0x2D31, 105986 }, + { 0x2D36, 105991 }, + { 0x2D2F, 105996 }, + { 0x2D38, 106001 }, + { 0x2D3A, 106006 }, + { 0x2D30, 106011 }, + { 0x2D39, 106016 }, + { 0x2D37, 106021 }, + { 0x2ACB, 106026 }, + { 0x2C20, 106029 }, + { 0x2C13, 106033 }, + { 0x2C17, 106037 }, + { 0x2C14, 106041 }, + { 0x2C16, 106045 }, + { 0x2C1F, 106049 }, + { 0x2C1A, 106053 }, + { 0x2C1C, 106057 }, + { 0x2C15, 106061 }, + { 0x2C19, 106065 }, + { 0x2C1D, 106069 }, + { 0x2C1E, 106073 }, + { 0x2C18, 106077 }, + { 0x2C1B, 106081 }, + { 0x2C11, 106085 }, + { 0x2C12, 106089 }, + { 0x2A85, 106093 }, + { 0x2A81, 106098 }, + { 0x2A83, 106104 }, + { 0x2A82, 106112 }, + { 0x2A84, 106118 }, + { 0x2A8C, 106126 }, + { 0x2A88, 106130 }, + { 0x2A86, 106136 }, + { 0x2A87, 106142 }, + { 0x2A8B, 106148 }, + { 0x2A89, 106155 }, + { 0x2A8A, 106162 }, + { 0x6DBC, 106169 }, + { 0x1CC6, 106172 }, + { 0x1E43, 106174 }, + { 0x3E6C, 106175 }, + { 0x3E6D, 106178 }, + { 0x3E6E, 106181 }, + { 0x21FE, 106184 }, + { 0x1BF1, 106189 }, + { 0x718A, 106190 }, + { 0x0D31, 106192 }, + { 0x0D33, 106195 }, + { 0x053D, 106200 }, + { 0x2240, 106204 }, + { 0x2304, 106207 }, + { 0x6EAB, 106211 }, + { 0x7180, 106213 }, + { 0x6FEC, 106215 }, + { 0x2902, 106218 }, + { 0x2CBF, 106219 }, + { 0x6F5E, 106221 }, + { 0x1E8F, 106223 }, + { 0x1BBC, 106224 }, + { 0x217C, 106226 }, + { 0x3E70, 106228 }, + { 0x21AA, 106230 }, + { 0x6F83, 106231 }, + { 0x2214, 106233 }, + { 0x6816, 106234 }, + { 0x6817, 106239 }, + { 0x6814, 106244 }, + { 0x6815, 106248 }, + { 0x67FC, 106252 }, + { 0x67F6, 106255 }, + { 0x67F7, 106259 }, + { 0x6833, 106263 }, + { 0x6834, 106268 }, + { 0x66F0, 106273 }, + { 0x66F2, 106276 }, + { 0x66F1, 106279 }, + { 0x680F, 106282 }, + { 0x67F8, 106284 }, + { 0x67FA, 106288 }, + { 0x67F3, 106292 }, + { 0x67F9, 106295 }, + { 0x67F5, 106299 }, + { 0x67F4, 106302 }, + { 0x67FB, 106305 }, + { 0x67E7, 106309 }, + { 0x67E8, 106317 }, + { 0x67E6, 106326 }, + { 0x686B, 106333 }, + { 0x686C, 106336 }, + { 0x686D, 106339 }, + { 0x686E, 106342 }, + { 0x686F, 106345 }, + { 0x6867, 106348 }, + { 0x684A, 106351 }, + { 0x67DE, 106353 }, + { 0x67DF, 106355 }, + { 0x67E5, 106358 }, + { 0x67E1, 106362 }, + { 0x67E3, 106366 }, + { 0x67E0, 106370 }, + { 0x67E4, 106374 }, + { 0x67E2, 106378 }, + { 0x6856, 106382 }, + { 0x6857, 106385 }, + { 0x6858, 106388 }, + { 0x6859, 106391 }, + { 0x685A, 106394 }, + { 0x685B, 106397 }, + { 0x685C, 106400 }, + { 0x6855, 106403 }, + { 0x6832, 106406 }, + { 0x6849, 106410 }, + { 0x6811, 106412 }, + { 0x6810, 106415 }, + { 0x6813, 106418 }, + { 0x6812, 106421 }, + { 0x66ED, 106424 }, + { 0x66EF, 106427 }, + { 0x66EE, 106430 }, + { 0x6869, 106433 }, + { 0x6866, 106435 }, + { 0x66FA, 106437 }, + { 0x66FC, 106441 }, + { 0x66FB, 106445 }, + { 0x66FD, 106449 }, + { 0x66FE, 106453 }, + { 0x66E7, 106456 }, + { 0x66E9, 106459 }, + { 0x66E8, 106462 }, + { 0x682C, 106465 }, + { 0x682D, 106468 }, + { 0x682E, 106472 }, + { 0x6826, 106476 }, + { 0x6828, 106480 }, + { 0x6827, 106485 }, + { 0x6823, 106490 }, + { 0x6824, 106494 }, + { 0x6825, 106498 }, + { 0x6829, 106502 }, + { 0x682B, 106506 }, + { 0x682A, 106511 }, + { 0x6820, 106516 }, + { 0x6822, 106519 }, + { 0x6821, 106523 }, + { 0x681D, 106527 }, + { 0x681F, 106530 }, + { 0x681E, 106534 }, + { 0x682F, 106538 }, + { 0x6831, 106541 }, + { 0x6830, 106545 }, + { 0x681C, 106549 }, + { 0x681B, 106553 }, + { 0x681A, 106557 }, + { 0x6835, 106561 }, + { 0x6837, 106564 }, + { 0x6836, 106568 }, + { 0x6840, 106572 }, + { 0x6844, 106574 }, + { 0x6845, 106578 }, + { 0x6842, 106583 }, + { 0x6843, 106587 }, + { 0x6846, 106592 }, + { 0x6841, 106596 }, + { 0x680E, 106599 }, + { 0x680C, 106603 }, + { 0x680D, 106607 }, + { 0x66E4, 106611 }, + { 0x66E6, 106614 }, + { 0x66E5, 106617 }, + { 0x6854, 106620 }, + { 0x6819, 106627 }, + { 0x6818, 106630 }, + { 0x6809, 106633 }, + { 0x680B, 106636 }, + { 0x680A, 106639 }, + { 0x67EE, 106642 }, + { 0x67ED, 106647 }, + { 0x67EF, 106652 }, + { 0x67EC, 106657 }, + { 0x685D, 106662 }, + { 0x66EA, 106664 }, + { 0x66EC, 106667 }, + { 0x66EB, 106670 }, + { 0x683A, 106673 }, + { 0x683B, 106678 }, + { 0x683D, 106684 }, + { 0x683F, 106689 }, + { 0x683E, 106694 }, + { 0x683C, 106699 }, + { 0x6839, 106704 }, + { 0x6838, 106708 }, + { 0x67D6, 106713 }, + { 0x67D7, 106716 }, + { 0x67DC, 106719 }, + { 0x67D8, 106724 }, + { 0x67DD, 106727 }, + { 0x67D9, 106730 }, + { 0x67D5, 106733 }, + { 0x67D4, 106737 }, + { 0x67DA, 106741 }, + { 0x67DB, 106744 }, + { 0x66FF, 106748 }, + { 0x66F5, 106752 }, + { 0x66F7, 106756 }, + { 0x66F6, 106760 }, + { 0x66F8, 106764 }, + { 0x66F9, 106768 }, + { 0x66F4, 106771 }, + { 0x66F3, 106774 }, + { 0x67E9, 106777 }, + { 0x67EB, 106781 }, + { 0x67EA, 106785 }, + { 0x67F1, 106789 }, + { 0x67F0, 106792 }, + { 0x67F2, 106795 }, + { 0x664C, 106798 }, + { 0x6650, 106800 }, + { 0x6632, 106804 }, + { 0x6633, 106809 }, + { 0x664B, 106815 }, + { 0x664F, 106818 }, + { 0x664D, 106823 }, + { 0x6651, 106828 }, + { 0x65E1, 106833 }, + { 0x669F, 106836 }, + { 0x66CB, 106841 }, + { 0x66CC, 106845 }, + { 0x664E, 106850 }, + { 0x6652, 106854 }, + { 0x66AF, 106858 }, + { 0x6863, 106863 }, + { 0x6862, 106867 }, + { 0x6865, 106870 }, + { 0x6864, 106874 }, + { 0x6861, 106877 }, + { 0x6860, 106880 }, + { 0x6870, 106883 }, + { 0x6871, 106886 }, + { 0x6872, 106889 }, + { 0x6873, 106892 }, + { 0x6874, 106895 }, + { 0x6875, 106898 }, + { 0x6876, 106901 }, + { 0x6877, 106904 }, + { 0x6878, 106907 }, + { 0x6879, 106910 }, + { 0x687A, 106913 }, + { 0x687B, 106916 }, + { 0x687C, 106919 }, + { 0x687D, 106922 }, + { 0x687E, 106925 }, + { 0x684C, 106928 }, + { 0x684D, 106932 }, + { 0x6850, 106936 }, + { 0x67FD, 106941 }, + { 0x67FE, 106944 }, + { 0x67FF, 106947 }, + { 0x6645, 106950 }, + { 0x6647, 106952 }, + { 0x6628, 106956 }, + { 0x66C8, 106961 }, + { 0x6646, 106968 }, + { 0x6648, 106972 }, + { 0x66B5, 106976 }, + { 0x66B6, 106982 }, + { 0x66E2, 106989 }, + { 0x6629, 106991 }, + { 0x66E3, 106997 }, + { 0x668D, 107000 }, + { 0x668A, 107004 }, + { 0x6696, 107008 }, + { 0x6697, 107012 }, + { 0x668F, 107016 }, + { 0x6693, 107020 }, + { 0x6695, 107024 }, + { 0x6694, 107030 }, + { 0x668E, 107035 }, + { 0x65DF, 107040 }, + { 0x65F2, 107043 }, + { 0x6603, 107049 }, + { 0x6604, 107057 }, + { 0x65E5, 107065 }, + { 0x65FC, 107069 }, + { 0x6699, 107075 }, + { 0x66C5, 107080 }, + { 0x66BB, 107085 }, + { 0x66C1, 107090 }, + { 0x66C0, 107097 }, + { 0x66C2, 107104 }, + { 0x66BF, 107111 }, + { 0x66BD, 107118 }, + { 0x66BE, 107125 }, + { 0x66C9, 107132 }, + { 0x66C7, 107139 }, + { 0x661A, 107146 }, + { 0x6619, 107154 }, + { 0x66CA, 107162 }, + { 0x6616, 107167 }, + { 0x6610, 107174 }, + { 0x6622, 107181 }, + { 0x661B, 107188 }, + { 0x66C4, 107195 }, + { 0x66C3, 107202 }, + { 0x66C6, 107209 }, + { 0x65E9, 107214 }, + { 0x65EA, 107218 }, + { 0x65EB, 107222 }, + { 0x65F3, 107227 }, + { 0x6605, 107233 }, + { 0x65ED, 107241 }, + { 0x6606, 107245 }, + { 0x65EF, 107253 }, + { 0x6600, 107258 }, + { 0x6665, 107265 }, + { 0x666A, 107270 }, + { 0x666B, 107276 }, + { 0x6688, 107282 }, + { 0x65FD, 107288 }, + { 0x6601, 107293 }, + { 0x661E, 107299 }, + { 0x661D, 107305 }, + { 0x6607, 107312 }, + { 0x660A, 107318 }, + { 0x6609, 107324 }, + { 0x6608, 107330 }, + { 0x661C, 107336 }, + { 0x65F1, 107343 }, + { 0x6602, 107348 }, + { 0x6683, 107356 }, + { 0x65F0, 107361 }, + { 0x65F9, 107367 }, + { 0x6612, 107372 }, + { 0x65FF, 107379 }, + { 0x65F4, 107386 }, + { 0x65F5, 107391 }, + { 0x660C, 107398 }, + { 0x660E, 107405 }, + { 0x660D, 107413 }, + { 0x6613, 107421 }, + { 0x65F7, 107428 }, + { 0x6614, 107434 }, + { 0x65F8, 107442 }, + { 0x6611, 107448 }, + { 0x65F6, 107456 }, + { 0x65E8, 107463 }, + { 0x66D4, 107468 }, + { 0x66D5, 107471 }, + { 0x66DE, 107475 }, + { 0x66E1, 107481 }, + { 0x66D8, 107488 }, + { 0x66D6, 107493 }, + { 0x66D7, 107498 }, + { 0x66DD, 107503 }, + { 0x66E0, 107509 }, + { 0x65E7, 107515 }, + { 0x66DF, 107521 }, + { 0x6672, 107527 }, + { 0x66DC, 107533 }, + { 0x66DA, 107539 }, + { 0x660B, 107545 }, + { 0x66DB, 107552 }, + { 0x66D9, 107558 }, + { 0x6671, 107562 }, + { 0x6677, 107566 }, + { 0x666D, 107570 }, + { 0x6670, 107574 }, + { 0x666F, 107580 }, + { 0x666E, 107586 }, + { 0x667F, 107592 }, + { 0x667B, 107596 }, + { 0x6679, 107601 }, + { 0x6676, 107605 }, + { 0x6678, 107610 }, + { 0x66A5, 107615 }, + { 0x66A8, 107619 }, + { 0x65FB, 107625 }, + { 0x66A3, 107631 }, + { 0x66AC, 107635 }, + { 0x661F, 107640 }, + { 0x6620, 107648 }, + { 0x6621, 107656 }, + { 0x6615, 107663 }, + { 0x660F, 107670 }, + { 0x66AA, 107677 }, + { 0x6617, 107682 }, + { 0x6618, 107689 }, + { 0x66AB, 107696 }, + { 0x66A7, 107700 }, + { 0x6639, 107705 }, + { 0x662B, 107707 }, + { 0x662F, 107712 }, + { 0x662D, 107718 }, + { 0x6631, 107725 }, + { 0x6636, 107732 }, + { 0x6638, 107738 }, + { 0x6637, 107746 }, + { 0x6623, 107754 }, + { 0x6624, 107758 }, + { 0x6625, 107763 }, + { 0x6626, 107768 }, + { 0x6627, 107773 }, + { 0x663B, 107779 }, + { 0x662C, 107782 }, + { 0x6630, 107788 }, + { 0x662E, 107795 }, + { 0x663D, 107803 }, + { 0x6640, 107808 }, + { 0x6641, 107814 }, + { 0x6642, 107818 }, + { 0x6643, 107824 }, + { 0x6644, 107831 }, + { 0x663E, 107835 }, + { 0x663C, 107839 }, + { 0x663F, 107843 }, + { 0x663A, 107847 }, + { 0x664A, 107852 }, + { 0x6698, 107854 }, + { 0x669D, 107858 }, + { 0x669C, 107864 }, + { 0x669E, 107870 }, + { 0x66B9, 107876 }, + { 0x66B8, 107882 }, + { 0x66B7, 107889 }, + { 0x66A9, 107896 }, + { 0x6649, 107900 }, + { 0x6656, 107903 }, + { 0x6658, 107905 }, + { 0x6635, 107909 }, + { 0x6691, 107914 }, + { 0x65E2, 107918 }, + { 0x6657, 107921 }, + { 0x6659, 107925 }, + { 0x6674, 107929 }, + { 0x6868, 107933 }, + { 0x684E, 107935 }, + { 0x684B, 107940 }, + { 0x684F, 107942 }, + { 0x6664, 107947 }, + { 0x668C, 107949 }, + { 0x6692, 107957 }, + { 0x65E4, 107961 }, + { 0x66A2, 107964 }, + { 0x66A1, 107969 }, + { 0x66D3, 107975 }, + { 0x66D2, 107979 }, + { 0x66D1, 107984 }, + { 0x6668, 107989 }, + { 0x6687, 107994 }, + { 0x6675, 107999 }, + { 0x6682, 108003 }, + { 0x667E, 108007 }, + { 0x667D, 108014 }, + { 0x66B3, 108022 }, + { 0x66B2, 108027 }, + { 0x66B1, 108033 }, + { 0x665C, 108039 }, + { 0x6661, 108041 }, + { 0x6634, 108045 }, + { 0x662A, 108051 }, + { 0x665A, 108056 }, + { 0x6660, 108059 }, + { 0x665E, 108064 }, + { 0x665B, 108069 }, + { 0x6686, 108074 }, + { 0x668B, 108077 }, + { 0x65E3, 108085 }, + { 0x66A0, 108088 }, + { 0x66CF, 108093 }, + { 0x66CD, 108097 }, + { 0x66BC, 108102 }, + { 0x66CE, 108107 }, + { 0x66D0, 108112 }, + { 0x66BA, 108117 }, + { 0x6667, 108121 }, + { 0x666C, 108126 }, + { 0x6685, 108132 }, + { 0x665D, 108137 }, + { 0x665F, 108140 }, + { 0x6662, 108144 }, + { 0x6663, 108150 }, + { 0x6669, 108156 }, + { 0x6681, 108159 }, + { 0x667C, 108163 }, + { 0x667A, 108168 }, + { 0x66A4, 108172 }, + { 0x66B0, 108175 }, + { 0x6655, 108180 }, + { 0x6690, 108182 }, + { 0x65E0, 108186 }, + { 0x65E6, 108189 }, + { 0x669A, 108193 }, + { 0x65EC, 108198 }, + { 0x65EE, 108202 }, + { 0x6666, 108206 }, + { 0x6689, 108211 }, + { 0x65FE, 108217 }, + { 0x6684, 108222 }, + { 0x65FA, 108227 }, + { 0x6673, 108232 }, + { 0x6680, 108236 }, + { 0x66A6, 108240 }, + { 0x66AD, 108244 }, + { 0x66B4, 108249 }, + { 0x686A, 108255 }, + { 0x6654, 108257 }, + { 0x6653, 108259 }, + { 0x669B, 108262 }, + { 0x66AE, 108268 }, + { 0x6700, 108274 }, + { 0x6701, 108279 }, + { 0x6704, 108284 }, + { 0x6705, 108290 }, + { 0x6702, 108296 }, + { 0x6703, 108300 }, + { 0x6706, 108304 }, + { 0x6852, 108310 }, + { 0x6851, 108314 }, + { 0x6853, 108318 }, + { 0x6732, 108321 }, + { 0x6731, 108326 }, + { 0x6733, 108331 }, + { 0x6730, 108336 }, + { 0x672B, 108339 }, + { 0x672A, 108343 }, + { 0x672C, 108347 }, + { 0x672E, 108351 }, + { 0x672D, 108355 }, + { 0x672F, 108359 }, + { 0x6806, 108363 }, + { 0x6808, 108366 }, + { 0x6800, 108369 }, + { 0x6801, 108372 }, + { 0x6802, 108376 }, + { 0x6736, 108380 }, + { 0x6734, 108384 }, + { 0x6735, 108388 }, + { 0x6737, 108392 }, + { 0x673E, 108396 }, + { 0x673C, 108401 }, + { 0x673D, 108406 }, + { 0x673F, 108411 }, + { 0x6742, 108416 }, + { 0x6740, 108421 }, + { 0x6741, 108426 }, + { 0x6743, 108431 }, + { 0x673A, 108436 }, + { 0x6738, 108440 }, + { 0x6739, 108444 }, + { 0x673B, 108448 }, + { 0x6766, 108452 }, + { 0x6764, 108455 }, + { 0x6763, 108459 }, + { 0x6765, 108463 }, + { 0x6761, 108467 }, + { 0x6760, 108471 }, + { 0x6762, 108475 }, + { 0x6807, 108479 }, + { 0x6803, 108482 }, + { 0x6804, 108485 }, + { 0x6805, 108489 }, + { 0x685E, 108493 }, + { 0x67C4, 108496 }, + { 0x67C2, 108502 }, + { 0x67C5, 108508 }, + { 0x67C3, 108514 }, + { 0x6723, 108520 }, + { 0x6721, 108524 }, + { 0x6722, 108528 }, + { 0x6847, 108532 }, + { 0x6719, 108535 }, + { 0x6717, 108539 }, + { 0x6718, 108543 }, + { 0x6773, 108547 }, + { 0x6771, 108551 }, + { 0x6772, 108555 }, + { 0x678D, 108559 }, + { 0x6786, 108564 }, + { 0x6776, 108570 }, + { 0x6774, 108574 }, + { 0x6777, 108578 }, + { 0x6775, 108583 }, + { 0x678E, 108587 }, + { 0x6787, 108592 }, + { 0x677A, 108598 }, + { 0x6778, 108604 }, + { 0x6779, 108610 }, + { 0x677D, 108616 }, + { 0x677B, 108622 }, + { 0x677C, 108628 }, + { 0x678F, 108634 }, + { 0x6788, 108639 }, + { 0x6795, 108645 }, + { 0x6793, 108651 }, + { 0x6794, 108657 }, + { 0x6720, 108663 }, + { 0x671E, 108667 }, + { 0x671F, 108671 }, + { 0x6712, 108675 }, + { 0x677E, 108678 }, + { 0x678C, 108683 }, + { 0x6785, 108688 }, + { 0x6769, 108694 }, + { 0x6767, 108699 }, + { 0x6768, 108704 }, + { 0x676A, 108709 }, + { 0x676D, 108714 }, + { 0x676B, 108719 }, + { 0x676C, 108724 }, + { 0x676E, 108729 }, + { 0x676F, 108734 }, + { 0x6770, 108740 }, + { 0x6729, 108746 }, + { 0x6727, 108750 }, + { 0x6728, 108754 }, + { 0x67CD, 108758 }, + { 0x67CC, 108764 }, + { 0x671C, 108770 }, + { 0x671A, 108774 }, + { 0x671B, 108778 }, + { 0x671D, 108782 }, + { 0x677F, 108786 }, + { 0x6780, 108791 }, + { 0x670F, 108796 }, + { 0x670E, 108801 }, + { 0x6710, 108805 }, + { 0x6711, 108809 }, + { 0x67D1, 108815 }, + { 0x67D0, 108820 }, + { 0x6707, 108825 }, + { 0x670D, 108829 }, + { 0x670B, 108834 }, + { 0x6709, 108839 }, + { 0x670A, 108844 }, + { 0x670C, 108849 }, + { 0x6714, 108854 }, + { 0x6713, 108859 }, + { 0x6715, 108864 }, + { 0x6716, 108868 }, + { 0x6726, 108874 }, + { 0x6724, 108878 }, + { 0x6725, 108882 }, + { 0x6784, 108886 }, + { 0x6782, 108889 }, + { 0x6791, 108892 }, + { 0x678A, 108897 }, + { 0x6781, 108903 }, + { 0x6790, 108906 }, + { 0x6789, 108911 }, + { 0x6783, 108917 }, + { 0x6792, 108920 }, + { 0x678B, 108925 }, + { 0x685F, 108931 }, + { 0x67CB, 108934 }, + { 0x67C8, 108942 }, + { 0x67C9, 108950 }, + { 0x67C6, 108958 }, + { 0x67CA, 108966 }, + { 0x67C7, 108974 }, + { 0x6759, 108982 }, + { 0x6757, 108986 }, + { 0x6758, 108990 }, + { 0x6848, 108994 }, + { 0x6752, 108997 }, + { 0x67B9, 109000 }, + { 0x67A8, 109004 }, + { 0x67A7, 109011 }, + { 0x67AA, 109018 }, + { 0x67A9, 109026 }, + { 0x6799, 109034 }, + { 0x679B, 109041 }, + { 0x6798, 109048 }, + { 0x679A, 109055 }, + { 0x67BA, 109062 }, + { 0x67AE, 109066 }, + { 0x67AC, 109073 }, + { 0x67AD, 109080 }, + { 0x67AB, 109087 }, + { 0x679F, 109094 }, + { 0x679D, 109101 }, + { 0x679E, 109108 }, + { 0x679C, 109115 }, + { 0x67BD, 109122 }, + { 0x67BC, 109126 }, + { 0x67BB, 109130 }, + { 0x67B0, 109134 }, + { 0x67AF, 109140 }, + { 0x67A1, 109146 }, + { 0x67A0, 109152 }, + { 0x6756, 109158 }, + { 0x674D, 109161 }, + { 0x67B6, 109164 }, + { 0x67B4, 109168 }, + { 0x67B5, 109172 }, + { 0x67A6, 109176 }, + { 0x67A5, 109182 }, + { 0x6797, 109188 }, + { 0x6796, 109194 }, + { 0x67B7, 109200 }, + { 0x67B8, 109204 }, + { 0x675F, 109208 }, + { 0x675D, 109212 }, + { 0x675E, 109216 }, + { 0x67CF, 109220 }, + { 0x67CE, 109227 }, + { 0x6755, 109234 }, + { 0x6753, 109238 }, + { 0x6754, 109242 }, + { 0x674A, 109246 }, + { 0x6749, 109251 }, + { 0x674B, 109255 }, + { 0x674C, 109259 }, + { 0x67D3, 109265 }, + { 0x67D2, 109272 }, + { 0x6708, 109279 }, + { 0x6748, 109283 }, + { 0x6746, 109288 }, + { 0x6744, 109293 }, + { 0x6745, 109298 }, + { 0x6747, 109303 }, + { 0x674F, 109308 }, + { 0x674E, 109313 }, + { 0x6751, 109318 }, + { 0x6750, 109324 }, + { 0x675C, 109329 }, + { 0x675A, 109333 }, + { 0x675B, 109337 }, + { 0x67C1, 109341 }, + { 0x67BF, 109345 }, + { 0x67B2, 109348 }, + { 0x67A3, 109353 }, + { 0x67BE, 109358 }, + { 0x67B1, 109361 }, + { 0x67A2, 109366 }, + { 0x67C0, 109371 }, + { 0x67B3, 109374 }, + { 0x67A4, 109379 }, + { 0x6CFD, 109384 }, + { 0x0078, 109385 }, + { 0x1C27, 109387 }, + { 0x0071, 109389 }, + { 0x1C26, 109391 }, + { 0x1C25, 109393 }, + { 0x1C2E, 109395 }, + { 0x1C2A, 109398 }, + { 0x1C2B, 109400 }, + { 0x1C23, 109403 }, + { 0x1C29, 109405 }, + { 0x1C24, 109407 }, + { 0x1C30, 109412 }, + { 0x1C2C, 109417 }, + { 0x1C2F, 109419 }, + { 0x1C28, 109422 }, + { 0x0072, 109424 }, + { 0x1C2D, 109426 }, + { 0x6C5C, 109429 }, + { 0x2635, 109430 }, + { 0x2723, 109432 }, + { 0x6E75, 109434 }, + { 0x6E77, 109437 }, + { 0x7016, 109441 }, + { 0x7015, 109444 }, + { 0x7014, 109446 }, + { 0x2147, 109449 }, + { 0x2148, 109455 }, + { 0x6F7E, 109461 }, + { 0x6F0C, 109463 }, + { 0x1CA5, 109464 }, + { 0x7146, 109467 }, + { 0x715E, 109472 }, + { 0x7156, 109479 }, + { 0x713E, 109485 }, + { 0x714E, 109491 }, + { 0x7145, 109497 }, + { 0x715D, 109502 }, + { 0x7155, 109509 }, + { 0x713D, 109515 }, + { 0x714D, 109521 }, + { 0x7147, 109527 }, + { 0x715F, 109532 }, + { 0x7157, 109539 }, + { 0x713F, 109545 }, + { 0x714F, 109551 }, + { 0x7148, 109557 }, + { 0x7160, 109562 }, + { 0x7158, 109569 }, + { 0x7140, 109575 }, + { 0x7150, 109581 }, + { 0x7142, 109587 }, + { 0x715A, 109591 }, + { 0x7152, 109597 }, + { 0x713A, 109602 }, + { 0x714A, 109607 }, + { 0x7144, 109612 }, + { 0x715C, 109616 }, + { 0x7154, 109622 }, + { 0x713C, 109627 }, + { 0x714C, 109632 }, + { 0x7141, 109637 }, + { 0x7159, 109641 }, + { 0x7151, 109647 }, + { 0x7139, 109652 }, + { 0x7149, 109657 }, + { 0x7143, 109662 }, + { 0x715B, 109666 }, + { 0x7153, 109672 }, + { 0x713B, 109677 }, + { 0x714B, 109682 }, + { 0x1CDA, 109687 }, + { 0x2599, 109688 }, + { 0x05A0, 109691 }, + { 0x059F, 109696 }, + { 0x059C, 109700 }, + { 0x05F6, 109703 }, + { 0x05FB, 109706 }, + { 0x05F7, 109709 }, + { 0x05FA, 109712 }, + { 0x05F9, 109715 }, + { 0x05FE, 109718 }, + { 0x05F5, 109721 }, + { 0x05FD, 109724 }, + { 0x05FC, 109727 }, + { 0x05F8, 109730 }, + { 0x059D, 109733 }, + { 0x223C, 109736 }, + { 0x1CBA, 109740 }, + { 0x1C99, 109743 }, + { 0x1C9E, 109746 }, + { 0x1CA9, 109749 }, + { 0x1CB5, 109752 }, + { 0x6F14, 109755 }, + { 0x6FE2, 109757 }, + { 0x6DB2, 109759 }, + { 0x1EB6, 109761 }, + { 0x6F60, 109762 }, + { 0x6F59, 109766 }, + { 0x2539, 109768 }, + { 0x254D, 109770 }, + { 0x2549, 109773 }, + { 0x254B, 109776 }, + { 0x254C, 109779 }, + { 0x2548, 109782 }, + { 0x254A, 109785 }, + { 0x21F6, 109788 }, + { 0x6D60, 109789 }, + { 0x2306, 109792 }, + { 0x1DEE, 109797 }, + { 0x25D8, 109801 }, + { 0x25DC, 109806 }, + { 0x25DE, 109814 }, + { 0x25DA, 109823 }, + { 0x1E00, 109831 }, + { 0x1DFC, 109834 }, + { 0x25E0, 109838 }, + { 0x25E4, 109841 }, + { 0x25E2, 109845 }, + { 0x1DF2, 109851 }, + { 0x1E70, 109856 }, + { 0x1DF0, 109861 }, + { 0x001E, 109865 }, + { 0x1E60, 109867 }, + { 0x25D4, 109870 }, + { 0x25D6, 109874 }, + { 0x25E8, 109879 }, + { 0x25EA, 109884 }, + { 0x25EE, 109889 }, + { 0x25EC, 109898 }, + { 0x24D2, 109904 }, + { 0x25E6, 109908 }, + { 0x1E64, 109914 }, + { 0x25FF, 109919 }, + { 0x2601, 109922 }, + { 0x2603, 109926 }, + { 0x25FE, 109933 }, + { 0x6F84, 109936 }, + { 0x000D, 109938 }, + { 0x2905, 109939 }, + { 0x1DB2, 109940 }, + { 0x259A, 109941 }, + { 0x259E, 109944 }, + { 0x259D, 109948 }, + { 0x25A3, 109951 }, + { 0x25A1, 109956 }, + { 0x25A5, 109959 }, + { 0x64C2, 109965 }, + { 0x64C0, 109969 }, + { 0x64C1, 109973 }, + { 0x65AE, 109977 }, + { 0x65B3, 109981 }, + { 0x65AF, 109985 }, + { 0x65B2, 109989 }, + { 0x65B1, 109993 }, + { 0x65B6, 109997 }, + { 0x65AD, 110001 }, + { 0x65B5, 110005 }, + { 0x65B4, 110009 }, + { 0x65B0, 110013 }, + { 0x64BF, 110017 }, + { 0x64A2, 110021 }, + { 0x6215, 110024 }, + { 0x6216, 110028 }, + { 0x6217, 110032 }, + { 0x6218, 110036 }, + { 0x6219, 110040 }, + { 0x621A, 110044 }, + { 0x621B, 110048 }, + { 0x621C, 110052 }, + { 0x621D, 110056 }, + { 0x621E, 110060 }, + { 0x621F, 110064 }, + { 0x6220, 110068 }, + { 0x6221, 110072 }, + { 0x6222, 110076 }, + { 0x6223, 110080 }, + { 0x6224, 110084 }, + { 0x6225, 110088 }, + { 0x6226, 110092 }, + { 0x6227, 110096 }, + { 0x6228, 110100 }, + { 0x6229, 110104 }, + { 0x622A, 110108 }, + { 0x622B, 110112 }, + { 0x622C, 110116 }, + { 0x622D, 110120 }, + { 0x622E, 110124 }, + { 0x64AE, 110128 }, + { 0x64AF, 110132 }, + { 0x64B2, 110136 }, + { 0x64B0, 110140 }, + { 0x64B9, 110144 }, + { 0x64A9, 110148 }, + { 0x64B8, 110152 }, + { 0x64BA, 110156 }, + { 0x64B3, 110160 }, + { 0x64B6, 110164 }, + { 0x64A4, 110168 }, + { 0x64AB, 110172 }, + { 0x64A8, 110176 }, + { 0x64A3, 110180 }, + { 0x64A6, 110184 }, + { 0x64B4, 110188 }, + { 0x64A5, 110193 }, + { 0x64AC, 110197 }, + { 0x64AD, 110201 }, + { 0x64BB, 110205 }, + { 0x64B5, 110209 }, + { 0x64AA, 110213 }, + { 0x65AC, 110217 }, + { 0x64A7, 110221 }, + { 0x64B1, 110225 }, + { 0x64B7, 110229 }, + { 0x64BE, 110233 }, + { 0x6536, 110237 }, + { 0x6534, 110242 }, + { 0x6535, 110247 }, + { 0x6533, 110252 }, + { 0x6516, 110257 }, + { 0x627C, 110261 }, + { 0x627D, 110266 }, + { 0x627E, 110271 }, + { 0x627F, 110276 }, + { 0x6280, 110281 }, + { 0x6281, 110286 }, + { 0x6282, 110291 }, + { 0x6283, 110296 }, + { 0x6284, 110301 }, + { 0x6285, 110306 }, + { 0x6286, 110311 }, + { 0x6287, 110316 }, + { 0x6288, 110321 }, + { 0x6289, 110326 }, + { 0x628A, 110331 }, + { 0x628B, 110336 }, + { 0x628C, 110341 }, + { 0x628D, 110346 }, + { 0x628E, 110351 }, + { 0x628F, 110356 }, + { 0x6290, 110361 }, + { 0x6291, 110366 }, + { 0x6292, 110371 }, + { 0x6293, 110376 }, + { 0x6294, 110381 }, + { 0x6295, 110386 }, + { 0x6522, 110391 }, + { 0x6523, 110396 }, + { 0x6526, 110401 }, + { 0x6524, 110406 }, + { 0x652D, 110411 }, + { 0x651D, 110416 }, + { 0x652C, 110421 }, + { 0x652E, 110426 }, + { 0x6527, 110431 }, + { 0x652A, 110436 }, + { 0x6518, 110441 }, + { 0x651F, 110446 }, + { 0x651C, 110451 }, + { 0x6517, 110456 }, + { 0x651A, 110461 }, + { 0x6528, 110466 }, + { 0x6519, 110472 }, + { 0x6520, 110477 }, + { 0x6521, 110482 }, + { 0x652F, 110487 }, + { 0x6529, 110492 }, + { 0x651E, 110497 }, + { 0x651B, 110502 }, + { 0x6525, 110507 }, + { 0x652B, 110512 }, + { 0x6532, 110517 }, + { 0x6262, 110522 }, + { 0x6263, 110527 }, + { 0x6264, 110532 }, + { 0x6265, 110537 }, + { 0x6266, 110542 }, + { 0x6267, 110547 }, + { 0x6268, 110552 }, + { 0x6269, 110557 }, + { 0x626A, 110562 }, + { 0x626B, 110567 }, + { 0x626C, 110572 }, + { 0x626D, 110577 }, + { 0x626E, 110582 }, + { 0x626F, 110587 }, + { 0x6270, 110592 }, + { 0x6271, 110597 }, + { 0x6272, 110602 }, + { 0x6273, 110607 }, + { 0x6274, 110612 }, + { 0x6275, 110617 }, + { 0x6276, 110622 }, + { 0x6277, 110627 }, + { 0x6278, 110632 }, + { 0x6279, 110637 }, + { 0x627A, 110642 }, + { 0x627B, 110647 }, + { 0x6508, 110652 }, + { 0x6509, 110657 }, + { 0x650C, 110662 }, + { 0x650A, 110667 }, + { 0x6513, 110672 }, + { 0x6503, 110677 }, + { 0x6512, 110682 }, + { 0x6514, 110687 }, + { 0x650D, 110692 }, + { 0x6510, 110697 }, + { 0x64FE, 110702 }, + { 0x6505, 110707 }, + { 0x6502, 110712 }, + { 0x64FD, 110717 }, + { 0x6500, 110722 }, + { 0x64FF, 110727 }, + { 0x6506, 110732 }, + { 0x6507, 110737 }, + { 0x6515, 110742 }, + { 0x650F, 110747 }, + { 0x6504, 110752 }, + { 0x650E, 110757 }, + { 0x6501, 110763 }, + { 0x650B, 110768 }, + { 0x6511, 110773 }, + { 0x6531, 110778 }, + { 0x6530, 110783 }, + { 0x62D9, 110788 }, + { 0x62DA, 110793 }, + { 0x62DB, 110798 }, + { 0x62DC, 110803 }, + { 0x62DD, 110808 }, + { 0x62DE, 110813 }, + { 0x62DF, 110818 }, + { 0x62E0, 110823 }, + { 0x62E1, 110828 }, + { 0x62E2, 110833 }, + { 0x62E3, 110838 }, + { 0x62E4, 110843 }, + { 0x62E5, 110848 }, + { 0x62E6, 110853 }, + { 0x62E7, 110858 }, + { 0x62E8, 110863 }, + { 0x62E9, 110868 }, + { 0x62EA, 110873 }, + { 0x62EB, 110878 }, + { 0x62EC, 110883 }, + { 0x62ED, 110888 }, + { 0x62EE, 110893 }, + { 0x62EF, 110898 }, + { 0x62F0, 110903 }, + { 0x62F1, 110908 }, + { 0x62F2, 110913 }, + { 0x62BF, 110918 }, + { 0x62C0, 110923 }, + { 0x62C1, 110928 }, + { 0x62C2, 110933 }, + { 0x62C3, 110938 }, + { 0x62C4, 110943 }, + { 0x62C5, 110948 }, + { 0x62C6, 110953 }, + { 0x62C7, 110958 }, + { 0x62C8, 110963 }, + { 0x62C9, 110968 }, + { 0x62CA, 110973 }, + { 0x62CB, 110978 }, + { 0x62CC, 110983 }, + { 0x62CD, 110988 }, + { 0x62CE, 110993 }, + { 0x62CF, 110998 }, + { 0x62D0, 111003 }, + { 0x62D1, 111008 }, + { 0x62D2, 111013 }, + { 0x62D3, 111018 }, + { 0x62D4, 111023 }, + { 0x62D5, 111028 }, + { 0x62D6, 111033 }, + { 0x62D7, 111038 }, + { 0x62D8, 111043 }, + { 0x61FB, 111048 }, + { 0x61FC, 111052 }, + { 0x61FD, 111056 }, + { 0x61FE, 111060 }, + { 0x61FF, 111064 }, + { 0x6200, 111068 }, + { 0x6201, 111072 }, + { 0x6202, 111076 }, + { 0x6203, 111080 }, + { 0x6204, 111084 }, + { 0x6205, 111088 }, + { 0x6206, 111092 }, + { 0x6207, 111096 }, + { 0x6208, 111100 }, + { 0x6209, 111104 }, + { 0x620A, 111108 }, + { 0x620B, 111112 }, + { 0x620C, 111116 }, + { 0x620D, 111120 }, + { 0x620E, 111124 }, + { 0x620F, 111128 }, + { 0x6210, 111132 }, + { 0x6211, 111136 }, + { 0x6212, 111140 }, + { 0x6213, 111144 }, + { 0x6214, 111148 }, + { 0x6494, 111152 }, + { 0x6495, 111156 }, + { 0x6498, 111160 }, + { 0x6496, 111164 }, + { 0x649F, 111168 }, + { 0x648F, 111172 }, + { 0x649E, 111176 }, + { 0x64A0, 111180 }, + { 0x6499, 111184 }, + { 0x649C, 111188 }, + { 0x648A, 111192 }, + { 0x6491, 111196 }, + { 0x648E, 111200 }, + { 0x6489, 111204 }, + { 0x648C, 111208 }, + { 0x648B, 111212 }, + { 0x6492, 111216 }, + { 0x6493, 111220 }, + { 0x64A1, 111224 }, + { 0x649B, 111228 }, + { 0x6490, 111232 }, + { 0x649A, 111236 }, + { 0x65AB, 111241 }, + { 0x648D, 111245 }, + { 0x6497, 111249 }, + { 0x649D, 111253 }, + { 0x64BD, 111257 }, + { 0x6369, 111261 }, + { 0x636A, 111266 }, + { 0x636B, 111271 }, + { 0x636C, 111276 }, + { 0x636D, 111281 }, + { 0x636E, 111286 }, + { 0x636F, 111291 }, + { 0x6370, 111296 }, + { 0x6371, 111301 }, + { 0x6372, 111306 }, + { 0x6373, 111311 }, + { 0x6374, 111316 }, + { 0x6375, 111321 }, + { 0x6376, 111326 }, + { 0x6377, 111331 }, + { 0x6378, 111336 }, + { 0x6379, 111341 }, + { 0x637A, 111346 }, + { 0x637B, 111351 }, + { 0x637C, 111356 }, + { 0x637D, 111361 }, + { 0x637E, 111366 }, + { 0x637F, 111371 }, + { 0x6380, 111376 }, + { 0x6381, 111381 }, + { 0x6382, 111386 }, + { 0x634F, 111391 }, + { 0x6350, 111396 }, + { 0x6351, 111401 }, + { 0x6352, 111406 }, + { 0x6353, 111411 }, + { 0x6354, 111416 }, + { 0x6355, 111421 }, + { 0x6356, 111426 }, + { 0x6357, 111431 }, + { 0x6358, 111436 }, + { 0x6359, 111441 }, + { 0x635A, 111446 }, + { 0x635B, 111451 }, + { 0x635C, 111456 }, + { 0x635D, 111461 }, + { 0x635E, 111466 }, + { 0x635F, 111471 }, + { 0x6360, 111476 }, + { 0x6361, 111481 }, + { 0x6362, 111486 }, + { 0x6363, 111491 }, + { 0x6364, 111496 }, + { 0x6365, 111501 }, + { 0x6366, 111506 }, + { 0x6367, 111511 }, + { 0x6368, 111516 }, + { 0x64BC, 111521 }, + { 0x2342, 111525 }, + { 0x2340, 111529 }, + { 0x2346, 111534 }, + { 0x2344, 111540 }, + { 0x2348, 111545 }, + { 0x2343, 111549 }, + { 0x2341, 111553 }, + { 0x2347, 111558 }, + { 0x2345, 111564 }, + { 0x2349, 111569 }, + { 0x64FC, 111573 }, + { 0x64FA, 111577 }, + { 0x64FB, 111581 }, + { 0x64F9, 111585 }, + { 0x64DC, 111589 }, + { 0x6249, 111592 }, + { 0x624A, 111596 }, + { 0x624B, 111600 }, + { 0x624C, 111604 }, + { 0x624D, 111608 }, + { 0x624E, 111612 }, + { 0x624F, 111616 }, + { 0x6250, 111620 }, + { 0x6251, 111624 }, + { 0x6252, 111628 }, + { 0x6253, 111632 }, + { 0x6254, 111636 }, + { 0x6255, 111640 }, + { 0x6256, 111644 }, + { 0x6257, 111648 }, + { 0x6258, 111652 }, + { 0x6259, 111656 }, + { 0x625A, 111660 }, + { 0x625B, 111664 }, + { 0x625C, 111668 }, + { 0x625D, 111672 }, + { 0x625E, 111676 }, + { 0x625F, 111680 }, + { 0x6260, 111684 }, + { 0x6261, 111688 }, + { 0x64E8, 111692 }, + { 0x64E9, 111696 }, + { 0x64EC, 111700 }, + { 0x64EA, 111704 }, + { 0x64F3, 111708 }, + { 0x64E3, 111712 }, + { 0x64F2, 111716 }, + { 0x64F4, 111720 }, + { 0x64ED, 111724 }, + { 0x64F0, 111728 }, + { 0x64DE, 111732 }, + { 0x64E5, 111736 }, + { 0x64E2, 111740 }, + { 0x64DD, 111744 }, + { 0x64E0, 111748 }, + { 0x64EE, 111752 }, + { 0x64DF, 111757 }, + { 0x64E6, 111761 }, + { 0x64E7, 111765 }, + { 0x64F5, 111769 }, + { 0x64EF, 111773 }, + { 0x64E4, 111777 }, + { 0x6487, 111781 }, + { 0x6488, 111786 }, + { 0x64E1, 111791 }, + { 0x64EB, 111795 }, + { 0x64F1, 111799 }, + { 0x64F8, 111803 }, + { 0x622F, 111807 }, + { 0x6230, 111811 }, + { 0x6231, 111815 }, + { 0x6232, 111819 }, + { 0x6233, 111823 }, + { 0x6234, 111827 }, + { 0x6235, 111831 }, + { 0x6236, 111835 }, + { 0x6237, 111839 }, + { 0x6238, 111843 }, + { 0x6239, 111847 }, + { 0x623A, 111851 }, + { 0x623B, 111855 }, + { 0x623C, 111859 }, + { 0x623D, 111863 }, + { 0x623E, 111867 }, + { 0x623F, 111871 }, + { 0x6240, 111875 }, + { 0x6241, 111879 }, + { 0x6242, 111883 }, + { 0x6243, 111887 }, + { 0x6244, 111891 }, + { 0x6245, 111895 }, + { 0x6246, 111899 }, + { 0x6247, 111903 }, + { 0x6248, 111907 }, + { 0x64CE, 111911 }, + { 0x64CF, 111915 }, + { 0x64D2, 111919 }, + { 0x64D0, 111923 }, + { 0x64D9, 111927 }, + { 0x64C9, 111931 }, + { 0x64D8, 111935 }, + { 0x64DA, 111939 }, + { 0x64D3, 111943 }, + { 0x64D6, 111947 }, + { 0x64C4, 111951 }, + { 0x64CB, 111955 }, + { 0x64C8, 111959 }, + { 0x64C3, 111963 }, + { 0x64C6, 111967 }, + { 0x64C5, 111971 }, + { 0x64CC, 111975 }, + { 0x64CD, 111979 }, + { 0x64DB, 111983 }, + { 0x64D5, 111987 }, + { 0x64CA, 111991 }, + { 0x64D4, 111995 }, + { 0x64C7, 112000 }, + { 0x64D1, 112004 }, + { 0x64D7, 112008 }, + { 0x64F7, 112012 }, + { 0x64F6, 112016 }, + { 0x2325, 112020 }, + { 0x62A8, 112023 }, + { 0x62A9, 112027 }, + { 0x62AA, 112031 }, + { 0x62AB, 112035 }, + { 0x62AC, 112039 }, + { 0x62AD, 112043 }, + { 0x62AE, 112047 }, + { 0x62AF, 112051 }, + { 0x62B0, 112055 }, + { 0x62B1, 112059 }, + { 0x62B2, 112063 }, + { 0x62B3, 112067 }, + { 0x62B4, 112071 }, + { 0x62B5, 112075 }, + { 0x62B6, 112079 }, + { 0x62B7, 112083 }, + { 0x62B8, 112087 }, + { 0x62B9, 112091 }, + { 0x62BA, 112095 }, + { 0x62BB, 112099 }, + { 0x62BC, 112103 }, + { 0x62BD, 112107 }, + { 0x62BE, 112111 }, + { 0x6296, 112115 }, + { 0x6297, 112119 }, + { 0x6298, 112123 }, + { 0x6299, 112127 }, + { 0x629A, 112131 }, + { 0x629B, 112135 }, + { 0x629C, 112139 }, + { 0x629D, 112143 }, + { 0x629E, 112147 }, + { 0x629F, 112151 }, + { 0x62A0, 112155 }, + { 0x62A1, 112159 }, + { 0x62A2, 112163 }, + { 0x62A3, 112167 }, + { 0x62A4, 112171 }, + { 0x62A5, 112175 }, + { 0x62A6, 112179 }, + { 0x62A7, 112183 }, + { 0x2327, 112187 }, + { 0x6308, 112190 }, + { 0x6309, 112194 }, + { 0x630A, 112198 }, + { 0x630B, 112202 }, + { 0x630C, 112206 }, + { 0x630D, 112210 }, + { 0x630E, 112214 }, + { 0x630F, 112218 }, + { 0x6310, 112222 }, + { 0x6311, 112226 }, + { 0x6312, 112230 }, + { 0x6313, 112234 }, + { 0x6314, 112238 }, + { 0x6315, 112242 }, + { 0x6316, 112246 }, + { 0x6317, 112250 }, + { 0x6318, 112254 }, + { 0x6319, 112258 }, + { 0x631A, 112262 }, + { 0x631B, 112266 }, + { 0x631C, 112270 }, + { 0x631D, 112274 }, + { 0x631E, 112278 }, + { 0x631F, 112282 }, + { 0x6320, 112286 }, + { 0x6321, 112290 }, + { 0x62F3, 112294 }, + { 0x62F4, 112298 }, + { 0x62F5, 112302 }, + { 0x62F6, 112306 }, + { 0x62F7, 112310 }, + { 0x62F8, 112314 }, + { 0x62F9, 112318 }, + { 0x62FA, 112322 }, + { 0x62FB, 112326 }, + { 0x62FC, 112330 }, + { 0x62FD, 112334 }, + { 0x62FE, 112338 }, + { 0x62FF, 112342 }, + { 0x6300, 112346 }, + { 0x6301, 112350 }, + { 0x6302, 112354 }, + { 0x6303, 112358 }, + { 0x6304, 112362 }, + { 0x6305, 112366 }, + { 0x6306, 112370 }, + { 0x6307, 112374 }, + { 0x65D6, 112378 }, + { 0x65DB, 112382 }, + { 0x65D7, 112386 }, + { 0x65DA, 112390 }, + { 0x65D9, 112394 }, + { 0x65DE, 112398 }, + { 0x65D5, 112402 }, + { 0x65DD, 112406 }, + { 0x65DC, 112410 }, + { 0x65D8, 112414 }, + { 0x646D, 112418 }, + { 0x646E, 112422 }, + { 0x646F, 112426 }, + { 0x6470, 112430 }, + { 0x6471, 112434 }, + { 0x6472, 112438 }, + { 0x6473, 112442 }, + { 0x6474, 112446 }, + { 0x6475, 112450 }, + { 0x6476, 112454 }, + { 0x6477, 112458 }, + { 0x6478, 112462 }, + { 0x6479, 112466 }, + { 0x647A, 112470 }, + { 0x647B, 112474 }, + { 0x647C, 112478 }, + { 0x647D, 112482 }, + { 0x647E, 112486 }, + { 0x647F, 112490 }, + { 0x6480, 112494 }, + { 0x6481, 112498 }, + { 0x6482, 112502 }, + { 0x6483, 112506 }, + { 0x6484, 112510 }, + { 0x6485, 112514 }, + { 0x6486, 112518 }, + { 0x6453, 112522 }, + { 0x6454, 112526 }, + { 0x6455, 112530 }, + { 0x6456, 112534 }, + { 0x6457, 112538 }, + { 0x6458, 112542 }, + { 0x6459, 112546 }, + { 0x645A, 112550 }, + { 0x645B, 112554 }, + { 0x645C, 112558 }, + { 0x645D, 112562 }, + { 0x645E, 112566 }, + { 0x645F, 112570 }, + { 0x6460, 112574 }, + { 0x6461, 112578 }, + { 0x6462, 112582 }, + { 0x6463, 112586 }, + { 0x6464, 112590 }, + { 0x6465, 112594 }, + { 0x6466, 112598 }, + { 0x6467, 112602 }, + { 0x6468, 112606 }, + { 0x6469, 112610 }, + { 0x646A, 112614 }, + { 0x646B, 112618 }, + { 0x646C, 112622 }, + { 0x6570, 112626 }, + { 0x656E, 112631 }, + { 0x656F, 112636 }, + { 0x65CC, 112641 }, + { 0x65D1, 112646 }, + { 0x65CD, 112651 }, + { 0x65D0, 112656 }, + { 0x65CF, 112661 }, + { 0x65D4, 112666 }, + { 0x65CB, 112671 }, + { 0x65D3, 112676 }, + { 0x65D2, 112681 }, + { 0x65CE, 112686 }, + { 0x656D, 112691 }, + { 0x6550, 112696 }, + { 0x63D1, 112700 }, + { 0x63D2, 112705 }, + { 0x63D3, 112710 }, + { 0x63D4, 112715 }, + { 0x63D5, 112720 }, + { 0x63D6, 112725 }, + { 0x63D7, 112730 }, + { 0x63D8, 112735 }, + { 0x63D9, 112740 }, + { 0x63DA, 112745 }, + { 0x63DB, 112750 }, + { 0x63DC, 112755 }, + { 0x63DD, 112760 }, + { 0x63DE, 112765 }, + { 0x63DF, 112770 }, + { 0x63E0, 112775 }, + { 0x63E1, 112780 }, + { 0x63E2, 112785 }, + { 0x63E3, 112790 }, + { 0x63E4, 112795 }, + { 0x63E5, 112800 }, + { 0x63E6, 112805 }, + { 0x63E7, 112810 }, + { 0x63E8, 112815 }, + { 0x63E9, 112820 }, + { 0x63EA, 112825 }, + { 0x655C, 112830 }, + { 0x655D, 112835 }, + { 0x6560, 112840 }, + { 0x655E, 112845 }, + { 0x6567, 112850 }, + { 0x6557, 112855 }, + { 0x6566, 112860 }, + { 0x6568, 112865 }, + { 0x6561, 112870 }, + { 0x6564, 112875 }, + { 0x6552, 112880 }, + { 0x6559, 112885 }, + { 0x6556, 112890 }, + { 0x6551, 112895 }, + { 0x6554, 112900 }, + { 0x6562, 112905 }, + { 0x6553, 112911 }, + { 0x655A, 112916 }, + { 0x655B, 112921 }, + { 0x6569, 112926 }, + { 0x6563, 112931 }, + { 0x6558, 112936 }, + { 0x6555, 112941 }, + { 0x655F, 112946 }, + { 0x6565, 112951 }, + { 0x656C, 112956 }, + { 0x65AA, 112961 }, + { 0x65A8, 112967 }, + { 0x65A9, 112973 }, + { 0x65A7, 112979 }, + { 0x658A, 112985 }, + { 0x6439, 112990 }, + { 0x643A, 112996 }, + { 0x643B, 113002 }, + { 0x643C, 113008 }, + { 0x643D, 113014 }, + { 0x643E, 113020 }, + { 0x643F, 113026 }, + { 0x6440, 113032 }, + { 0x6441, 113038 }, + { 0x6442, 113044 }, + { 0x6443, 113050 }, + { 0x6444, 113056 }, + { 0x6445, 113062 }, + { 0x6446, 113068 }, + { 0x6447, 113074 }, + { 0x6448, 113080 }, + { 0x6449, 113086 }, + { 0x644A, 113092 }, + { 0x644B, 113098 }, + { 0x644C, 113104 }, + { 0x644D, 113110 }, + { 0x644E, 113116 }, + { 0x644F, 113122 }, + { 0x6450, 113128 }, + { 0x6451, 113134 }, + { 0x6452, 113140 }, + { 0x6596, 113146 }, + { 0x6597, 113152 }, + { 0x659A, 113158 }, + { 0x6598, 113164 }, + { 0x65A1, 113170 }, + { 0x6591, 113176 }, + { 0x65A0, 113182 }, + { 0x65A2, 113188 }, + { 0x659B, 113194 }, + { 0x659E, 113200 }, + { 0x658C, 113206 }, + { 0x6593, 113212 }, + { 0x6590, 113218 }, + { 0x658B, 113224 }, + { 0x658E, 113230 }, + { 0x659C, 113236 }, + { 0x658D, 113243 }, + { 0x6594, 113249 }, + { 0x6595, 113255 }, + { 0x65A3, 113261 }, + { 0x659D, 113267 }, + { 0x6592, 113273 }, + { 0x658F, 113279 }, + { 0x6599, 113285 }, + { 0x659F, 113291 }, + { 0x65A6, 113297 }, + { 0x641F, 113303 }, + { 0x6420, 113309 }, + { 0x6421, 113315 }, + { 0x6422, 113321 }, + { 0x6423, 113327 }, + { 0x6424, 113333 }, + { 0x6425, 113339 }, + { 0x6426, 113345 }, + { 0x6427, 113351 }, + { 0x6428, 113357 }, + { 0x6429, 113363 }, + { 0x642A, 113369 }, + { 0x642B, 113375 }, + { 0x642C, 113381 }, + { 0x642D, 113387 }, + { 0x642E, 113393 }, + { 0x642F, 113399 }, + { 0x6430, 113405 }, + { 0x6431, 113411 }, + { 0x6432, 113417 }, + { 0x6433, 113423 }, + { 0x6434, 113429 }, + { 0x6435, 113435 }, + { 0x6436, 113441 }, + { 0x6437, 113447 }, + { 0x6438, 113453 }, + { 0x657C, 113459 }, + { 0x657D, 113465 }, + { 0x6580, 113471 }, + { 0x657E, 113477 }, + { 0x6587, 113483 }, + { 0x6577, 113489 }, + { 0x6586, 113495 }, + { 0x6588, 113501 }, + { 0x6581, 113507 }, + { 0x6584, 113513 }, + { 0x6572, 113519 }, + { 0x6579, 113525 }, + { 0x6576, 113531 }, + { 0x6571, 113537 }, + { 0x6574, 113543 }, + { 0x6573, 113549 }, + { 0x657A, 113555 }, + { 0x657B, 113561 }, + { 0x6589, 113567 }, + { 0x6583, 113573 }, + { 0x6578, 113579 }, + { 0x6582, 113585 }, + { 0x6575, 113592 }, + { 0x657F, 113598 }, + { 0x6585, 113604 }, + { 0x65A5, 113610 }, + { 0x65A4, 113616 }, + { 0x63B7, 113622 }, + { 0x63B8, 113627 }, + { 0x63B9, 113632 }, + { 0x63BA, 113637 }, + { 0x63BB, 113642 }, + { 0x63BC, 113647 }, + { 0x63BD, 113652 }, + { 0x63BE, 113657 }, + { 0x63BF, 113662 }, + { 0x63C0, 113667 }, + { 0x63C1, 113672 }, + { 0x63C2, 113677 }, + { 0x63C3, 113682 }, + { 0x63C4, 113687 }, + { 0x63C5, 113692 }, + { 0x63C6, 113697 }, + { 0x63C7, 113702 }, + { 0x63C8, 113707 }, + { 0x63C9, 113712 }, + { 0x63CA, 113717 }, + { 0x63CB, 113722 }, + { 0x63CC, 113727 }, + { 0x63CD, 113732 }, + { 0x63CE, 113737 }, + { 0x63CF, 113742 }, + { 0x63D0, 113747 }, + { 0x6542, 113752 }, + { 0x6543, 113757 }, + { 0x6546, 113762 }, + { 0x6544, 113767 }, + { 0x654D, 113772 }, + { 0x653D, 113777 }, + { 0x654C, 113782 }, + { 0x654E, 113787 }, + { 0x6547, 113792 }, + { 0x654A, 113797 }, + { 0x6538, 113802 }, + { 0x653F, 113807 }, + { 0x653C, 113812 }, + { 0x6537, 113817 }, + { 0x653A, 113822 }, + { 0x6539, 113827 }, + { 0x6540, 113832 }, + { 0x6541, 113837 }, + { 0x654F, 113842 }, + { 0x6549, 113847 }, + { 0x653E, 113852 }, + { 0x6548, 113857 }, + { 0x653B, 113863 }, + { 0x6545, 113868 }, + { 0x654B, 113873 }, + { 0x656B, 113878 }, + { 0x656A, 113883 }, + { 0x65C2, 113888 }, + { 0x65C7, 113892 }, + { 0x65C3, 113896 }, + { 0x65C6, 113900 }, + { 0x65C5, 113904 }, + { 0x65CA, 113908 }, + { 0x65C1, 113912 }, + { 0x65C9, 113916 }, + { 0x65C8, 113920 }, + { 0x65C4, 113924 }, + { 0x639D, 113928 }, + { 0x639E, 113932 }, + { 0x639F, 113936 }, + { 0x63A0, 113940 }, + { 0x63A1, 113944 }, + { 0x63A2, 113948 }, + { 0x63A3, 113952 }, + { 0x63A4, 113956 }, + { 0x63A5, 113960 }, + { 0x63A6, 113964 }, + { 0x63A7, 113968 }, + { 0x63A8, 113972 }, + { 0x63A9, 113976 }, + { 0x63AA, 113980 }, + { 0x63AB, 113984 }, + { 0x63AC, 113988 }, + { 0x63AD, 113992 }, + { 0x63AE, 113996 }, + { 0x63AF, 114000 }, + { 0x63B0, 114004 }, + { 0x63B1, 114008 }, + { 0x63B2, 114012 }, + { 0x63B3, 114016 }, + { 0x63B4, 114020 }, + { 0x63B5, 114024 }, + { 0x63B6, 114028 }, + { 0x6405, 114032 }, + { 0x6406, 114037 }, + { 0x6407, 114042 }, + { 0x6408, 114047 }, + { 0x6409, 114052 }, + { 0x640A, 114057 }, + { 0x640B, 114062 }, + { 0x640C, 114067 }, + { 0x640D, 114072 }, + { 0x640E, 114077 }, + { 0x640F, 114082 }, + { 0x6410, 114087 }, + { 0x6411, 114092 }, + { 0x6412, 114097 }, + { 0x6413, 114102 }, + { 0x6414, 114107 }, + { 0x6415, 114112 }, + { 0x6416, 114117 }, + { 0x6417, 114122 }, + { 0x6418, 114127 }, + { 0x6419, 114132 }, + { 0x641A, 114137 }, + { 0x641B, 114142 }, + { 0x641C, 114147 }, + { 0x641D, 114152 }, + { 0x641E, 114157 }, + { 0x63EB, 114162 }, + { 0x63EC, 114167 }, + { 0x63ED, 114172 }, + { 0x63EE, 114177 }, + { 0x63EF, 114182 }, + { 0x63F0, 114187 }, + { 0x63F1, 114192 }, + { 0x63F2, 114197 }, + { 0x63F3, 114202 }, + { 0x63F4, 114207 }, + { 0x63F5, 114212 }, + { 0x63F6, 114217 }, + { 0x63F7, 114222 }, + { 0x63F8, 114227 }, + { 0x63F9, 114232 }, + { 0x63FA, 114237 }, + { 0x63FB, 114242 }, + { 0x63FC, 114247 }, + { 0x63FD, 114252 }, + { 0x63FE, 114257 }, + { 0x63FF, 114262 }, + { 0x6400, 114267 }, + { 0x6401, 114272 }, + { 0x6402, 114277 }, + { 0x6403, 114282 }, + { 0x6404, 114287 }, + { 0x6383, 114292 }, + { 0x6384, 114296 }, + { 0x6385, 114300 }, + { 0x6386, 114304 }, + { 0x6387, 114308 }, + { 0x6388, 114312 }, + { 0x6389, 114316 }, + { 0x638A, 114320 }, + { 0x638B, 114324 }, + { 0x638C, 114328 }, + { 0x638D, 114332 }, + { 0x638E, 114336 }, + { 0x638F, 114340 }, + { 0x6390, 114344 }, + { 0x6391, 114348 }, + { 0x6392, 114352 }, + { 0x6393, 114356 }, + { 0x6394, 114360 }, + { 0x6395, 114364 }, + { 0x6396, 114368 }, + { 0x6397, 114372 }, + { 0x6398, 114376 }, + { 0x6399, 114380 }, + { 0x639A, 114384 }, + { 0x639B, 114388 }, + { 0x639C, 114392 }, + { 0x65B8, 114396 }, + { 0x65BD, 114400 }, + { 0x65B9, 114404 }, + { 0x65BC, 114408 }, + { 0x65BB, 114412 }, + { 0x65C0, 114416 }, + { 0x65B7, 114420 }, + { 0x65BF, 114424 }, + { 0x65BE, 114428 }, + { 0x65BA, 114432 }, + { 0x6335, 114436 }, + { 0x6336, 114440 }, + { 0x6337, 114444 }, + { 0x6338, 114448 }, + { 0x6339, 114452 }, + { 0x633A, 114456 }, + { 0x633B, 114460 }, + { 0x633C, 114464 }, + { 0x633D, 114468 }, + { 0x633E, 114472 }, + { 0x633F, 114476 }, + { 0x6340, 114480 }, + { 0x6341, 114484 }, + { 0x6342, 114488 }, + { 0x6343, 114492 }, + { 0x6344, 114496 }, + { 0x6345, 114500 }, + { 0x6346, 114504 }, + { 0x6347, 114508 }, + { 0x6348, 114512 }, + { 0x6349, 114516 }, + { 0x634A, 114520 }, + { 0x634B, 114524 }, + { 0x634C, 114528 }, + { 0x634D, 114532 }, + { 0x634E, 114536 }, + { 0x6322, 114540 }, + { 0x6323, 114544 }, + { 0x6324, 114548 }, + { 0x6325, 114552 }, + { 0x6326, 114556 }, + { 0x6327, 114560 }, + { 0x6328, 114564 }, + { 0x6329, 114568 }, + { 0x632A, 114572 }, + { 0x632B, 114576 }, + { 0x632C, 114580 }, + { 0x632D, 114584 }, + { 0x632E, 114588 }, + { 0x632F, 114592 }, + { 0x6330, 114596 }, + { 0x6331, 114600 }, + { 0x6332, 114604 }, + { 0x6333, 114608 }, + { 0x6334, 114612 }, + { 0x1BC5, 114616 }, + { 0x1CAB, 114618 }, + { 0x3CC5, 114620 }, + { 0x3CC6, 114626 }, + { 0x3CC7, 114632 }, + { 0x3CC4, 114638 }, + { 0x3CD3, 114645 }, + { 0x3CCF, 114652 }, + { 0x3CCB, 114660 }, + { 0x3CD7, 114667 }, + { 0x3CB1, 114675 }, + { 0x3CD5, 114683 }, + { 0x3CD1, 114690 }, + { 0x3CDB, 114698 }, + { 0x3CCD, 114705 }, + { 0x3CC9, 114713 }, + { 0x3CC8, 114719 }, + { 0x3CAD, 114726 }, + { 0x3CAA, 114731 }, + { 0x3CD4, 114736 }, + { 0x3CD0, 114743 }, + { 0x3CCC, 114751 }, + { 0x3CD8, 114758 }, + { 0x3CB2, 114766 }, + { 0x3CB2, 114774 }, + { 0x3CD6, 114782 }, + { 0x3CD2, 114789 }, + { 0x3CDC, 114797 }, + { 0x3CCE, 114804 }, + { 0x3CCA, 114812 }, + { 0x3CB0, 114818 }, + { 0x3CAE, 114824 }, + { 0x3CB3, 114829 }, + { 0x3CAF, 114835 }, + { 0x3CAC, 114841 }, + { 0x3CAB, 114848 }, + { 0x1DA6, 114854 }, + { 0x6FD4, 114856 }, + { 0x718B, 114858 }, + { 0x0D30, 114860 }, + { 0x0D32, 114863 }, + { 0x053C, 114868 }, + { 0x223F, 114872 }, + { 0x2303, 114875 }, + { 0x254E, 114879 }, + { 0x292F, 114880 }, + { 0x1F6D, 114883 }, + { 0x1BB8, 114884 }, + { 0x2162, 114886 }, + { 0x2316, 114887 }, + { 0x717F, 114890 }, + { 0x1D3F, 114892 }, + { 0x1D43, 114896 }, + { 0x249A, 114900 }, + { 0x234C, 114904 }, + { 0x1DBC, 114908 }, + { 0x6E3F, 114911 }, + { 0x256B, 114918 }, + { 0x26E7, 114920 }, + { 0x26E6, 114925 }, + { 0x26C9, 114930 }, + { 0x26E4, 114935 }, + { 0x26E5, 114940 }, + { 0x1DCF, 114945 }, + { 0x25CA, 114951 }, + { 0x1DCE, 114956 }, + { 0x1DDB, 114959 }, + { 0x1F0B, 114966 }, + { 0x1CCD, 114969 }, + { 0x1CC9, 114972 }, + { 0x1CCA, 114975 }, + { 0x1CD3, 114978 }, + { 0x1CD4, 114982 }, + { 0x1CD5, 114986 }, + { 0x1CD6, 114990 }, + { 0x1CD2, 114994 }, + { 0x1C8F, 114998 }, + { 0x1C9A, 115001 }, + { 0x1CA2, 115004 }, + { 0x1CA6, 115007 }, + { 0x1CA7, 115010 }, + { 0x1CAA, 115013 }, + { 0x1CB1, 115016 }, + { 0x1CCC, 115019 }, + { 0x1CCB, 115022 }, + { 0x6E76, 115025 }, + { 0x6E78, 115028 }, + { 0x2542, 115032 }, + { 0x2543, 115038 }, + { 0x1C4D, 115044 }, + { 0x1DDA, 115046 }, + { 0x1DD7, 115049 }, + { 0x464B, 115052 }, + { 0x4656, 115056 }, + { 0x4654, 115060 }, + { 0x4659, 115064 }, + { 0x4648, 115068 }, + { 0x464E, 115072 }, + { 0x4651, 115076 }, + { 0x4658, 115080 }, + { 0x464F, 115084 }, + { 0x4650, 115088 }, + { 0x4647, 115092 }, + { 0x4649, 115096 }, + { 0x4657, 115100 }, + { 0x464D, 115104 }, + { 0x464A, 115108 }, + { 0x4652, 115112 }, + { 0x4655, 115116 }, + { 0x4653, 115120 }, + { 0x464C, 115124 }, + { 0x465A, 115128 }, + { 0x4660, 115132 }, + { 0x4661, 115137 }, + { 0x465E, 115142 }, + { 0x465B, 115146 }, + { 0x465D, 115150 }, + { 0x465C, 115154 }, + { 0x465F, 115158 }, + { 0x462D, 115162 }, + { 0x4639, 115166 }, + { 0x4635, 115170 }, + { 0x4636, 115174 }, + { 0x463E, 115178 }, + { 0x462E, 115182 }, + { 0x4638, 115186 }, + { 0x462A, 115190 }, + { 0x4630, 115194 }, + { 0x4633, 115198 }, + { 0x463B, 115202 }, + { 0x463C, 115206 }, + { 0x463D, 115210 }, + { 0x4631, 115214 }, + { 0x4632, 115218 }, + { 0x4629, 115222 }, + { 0x462B, 115226 }, + { 0x463A, 115230 }, + { 0x462F, 115234 }, + { 0x462C, 115238 }, + { 0x4634, 115242 }, + { 0x4637, 115246 }, + { 0x463F, 115250 }, + { 0x4645, 115254 }, + { 0x4646, 115259 }, + { 0x4643, 115264 }, + { 0x4640, 115268 }, + { 0x4642, 115272 }, + { 0x4641, 115276 }, + { 0x4644, 115280 }, + { 0x1EB2, 115284 }, + { 0x2556, 115287 }, + { 0x006A, 115291 }, + { 0x6E48, 115296 }, + { 0x1BC2, 115299 }, + { 0x1C19, 115301 }, + { 0x1BE1, 115303 }, + { 0x1BDE, 115305 }, + { 0x1D9C, 115307 }, + { 0x2318, 115309 }, + { 0x1FCE, 115312 }, + { 0x1FD3, 115315 }, + { 0x1FCF, 115318 }, + { 0x1FD2, 115321 }, + { 0x1FD1, 115324 }, + { 0x1FD6, 115327 }, + { 0x1FD5, 115330 }, + { 0x1FD4, 115333 }, + { 0x1FD0, 115336 }, + { 0x1FF6, 115339 }, + { 0x1FF7, 115344 }, + { 0x1FF8, 115349 }, + { 0x1FF9, 115354 }, + { 0x1FFA, 115359 }, + { 0x1FFB, 115364 }, + { 0x1FFC, 115369 }, + { 0x1FFD, 115374 }, + { 0x1FFE, 115379 }, + { 0x1FFF, 115384 }, + { 0x2000, 115389 }, + { 0x2001, 115394 }, + { 0x2002, 115399 }, + { 0x2003, 115404 }, + { 0x2004, 115409 }, + { 0x2005, 115414 }, + { 0x2006, 115419 }, + { 0x2007, 115424 }, + { 0x2008, 115429 }, + { 0x2009, 115434 }, + { 0x200A, 115439 }, + { 0x200B, 115444 }, + { 0x200C, 115449 }, + { 0x200D, 115454 }, + { 0x200E, 115459 }, + { 0x200F, 115464 }, + { 0x6B4F, 115469 }, + { 0x6B50, 115474 }, + { 0x6B51, 115479 }, + { 0x6B52, 115484 }, + { 0x6B53, 115489 }, + { 0x6B54, 115494 }, + { 0x6B55, 115499 }, + { 0x6B56, 115504 }, + { 0x6B57, 115509 }, + { 0x6B58, 115514 }, + { 0x6B59, 115519 }, + { 0x6B5A, 115524 }, + { 0x6B5B, 115529 }, + { 0x6B5C, 115534 }, + { 0x6B5D, 115539 }, + { 0x6B5E, 115544 }, + { 0x6B5F, 115549 }, + { 0x6B60, 115554 }, + { 0x6B61, 115559 }, + { 0x6B62, 115564 }, + { 0x6B63, 115569 }, + { 0x6B64, 115574 }, + { 0x6B65, 115579 }, + { 0x6B66, 115584 }, + { 0x6B67, 115589 }, + { 0x6B68, 115594 }, + { 0x2C76, 115599 }, + { 0x2C84, 115602 }, + { 0x2C78, 115606 }, + { 0x2C86, 115609 }, + { 0x2C8C, 115613 }, + { 0x2C7D, 115617 }, + { 0x2C8B, 115620 }, + { 0x2C77, 115624 }, + { 0x2C85, 115627 }, + { 0x2C74, 115631 }, + { 0x2C82, 115634 }, + { 0x2C71, 115638 }, + { 0x2C7F, 115641 }, + { 0x2C75, 115645 }, + { 0x2C83, 115648 }, + { 0x2C73, 115652 }, + { 0x2C81, 115655 }, + { 0x2C70, 115659 }, + { 0x2C7E, 115662 }, + { 0x2C72, 115666 }, + { 0x2C80, 115669 }, + { 0x2C79, 115673 }, + { 0x2C87, 115676 }, + { 0x2C7A, 115680 }, + { 0x2C88, 115683 }, + { 0x2C7C, 115687 }, + { 0x2C8A, 115690 }, + { 0x2C7B, 115694 }, + { 0x2C89, 115697 }, + { 0x2C8E, 115701 }, + { 0x2C8D, 115706 }, + { 0x1FD7, 115710 }, + { 0x1FD8, 115713 }, + { 0x1FD9, 115716 }, + { 0x1FE1, 115719 }, + { 0x1FDC, 115722 }, + { 0x1FDD, 115725 }, + { 0x1FDF, 115728 }, + { 0x1FDB, 115731 }, + { 0x1FE0, 115734 }, + { 0x1FDA, 115737 }, + { 0x1FDE, 115740 }, + { 0x2C8F, 115743 }, + { 0x2C94, 115746 }, + { 0x2C9F, 115749 }, + { 0x2C98, 115752 }, + { 0x2C90, 115755 }, + { 0x2CA9, 115758 }, + { 0x2C9A, 115761 }, + { 0x2C93, 115764 }, + { 0x2C92, 115767 }, + { 0x2CA1, 115770 }, + { 0x2C99, 115773 }, + { 0x2CA3, 115776 }, + { 0x2C97, 115779 }, + { 0x2CB0, 115782 }, + { 0x2CB1, 115785 }, + { 0x2C9C, 115788 }, + { 0x2C9E, 115791 }, + { 0x2C96, 115794 }, + { 0x2CA7, 115797 }, + { 0x2C9D, 115800 }, + { 0x2CB2, 115803 }, + { 0x2C95, 115806 }, + { 0x2CA0, 115809 }, + { 0x2CAA, 115812 }, + { 0x2C91, 115815 }, + { 0x2C9B, 115818 }, + { 0x2CA2, 115821 }, + { 0x2CA4, 115824 }, + { 0x2CAE, 115827 }, + { 0x2CAF, 115830 }, + { 0x2CAD, 115833 }, + { 0x2CA5, 115836 }, + { 0x2CA8, 115839 }, + { 0x2CAB, 115842 }, + { 0x2CAC, 115845 }, + { 0x2CA6, 115848 }, + { 0x231C, 115851 }, + { 0x263B, 115852 }, + { 0x1BC3, 115855 }, + { 0x1C1A, 115857 }, + { 0x1BE2, 115859 }, + { 0x1BDF, 115861 }, + { 0x6F85, 115863 }, + { 0x2541, 115865 }, + { 0x6E37, 115866 }, + { 0x1DCC, 115867 }, + { 0x22A3, 115870 }, + { 0x6F4C, 115872 }, + { 0x6CBE, 115874 }, + { 0x226F, 115875 }, + { 0x0096, 115877 }, + { 0x258E, 115879 }, + { 0x258F, 115885 }, + { 0x2591, 115891 }, + { 0x2595, 115896 }, + { 0x258A, 115900 }, + { 0x258B, 115905 }, + { 0x1EB3, 115909 }, + { 0x2557, 115912 }, + { 0x007A, 115916 }, + { 0x6E49, 115921 }, + { 0x2216, 115924 }, + { 0x2310, 115925 }, + { 0x230E, 115929 }, + { 0x230F, 115933 }, + { 0x2314, 115936 }, + { 0x2295, 115939 }, + { 0x22F7, 115941 }, + { 0x230D, 115944 }, + { 0x6DB8, 115947 }, + { 0x2B2A, 115949 }, + { 0x2B25, 115952 }, + { 0x2B86, 115956 }, + { 0x2B26, 115960 }, + { 0x1F1D, 115964 }, + { 0x7018, 115966 }, + { 0x21D7, 115968 }, + { 0x1F18, 115971 }, + { 0x1F19, 115974 }, + { 0x1F1B, 115977 }, + { 0x1F1A, 115979 }, +}; +static const struct { uint16_t index; uint32_t name:24; } +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +__attribute__((__packed__)) +#endif +unicode_index_to_name[29234] = { + { 0x0000, 34710 }, + { 0x0001, 105577 }, + { 0x0002, 101766 }, + { 0x0003, 52804 }, + { 0x0004, 45726 }, + { 0x0005, 64645 }, + { 0x0006, 86925 }, + { 0x0007, 103181 }, + { 0x0008, 13114 }, + { 0x0009, 33811 }, + { 0x000A, 69127 }, + { 0x000B, 14549 }, + { 0x000C, 19460 }, + { 0x000D, 109938 }, + { 0x000E, 12684 }, + { 0x000F, 66633 }, + { 0x0010, 19554 }, + { 0x0011, 19500 }, + { 0x0012, 19518 }, + { 0x0013, 19581 }, + { 0x0014, 19536 }, + { 0x0015, 19527 }, + { 0x0016, 19509 }, + { 0x0017, 19572 }, + { 0x0018, 19563 }, + { 0x0019, 19545 }, + { 0x001A, 19454 }, + { 0x001B, 102035 }, + { 0x001C, 100347 }, + { 0x001D, 46227 }, + { 0x001E, 109865 }, + { 0x001F, 85914 }, + { 0x0020, 103198 }, + { 0x0021, 28195 }, + { 0x0022, 28418 }, + { 0x0023, 28467 }, + { 0x0024, 28528 }, + { 0x0025, 28608 }, + { 0x0026, 28793 }, + { 0x0027, 28816 }, + { 0x0028, 28882 }, + { 0x0029, 28949 }, + { 0x002A, 29063 }, + { 0x002B, 29085 }, + { 0x002C, 29162 }, + { 0x002D, 29268 }, + { 0x002E, 29298 }, + { 0x002F, 29396 }, + { 0x0030, 29686 }, + { 0x0031, 29736 }, + { 0x0032, 29755 }, + { 0x0033, 29845 }, + { 0x0034, 29936 }, + { 0x0035, 30013 }, + { 0x0036, 30235 }, + { 0x0037, 30265 }, + { 0x0038, 30313 }, + { 0x0039, 30330 }, + { 0x003A, 30409 }, + { 0x003B, 13027 }, + { 0x003C, 65179 }, + { 0x003D, 33715 }, + { 0x003E, 103196 }, + { 0x003F, 6211 }, + { 0x0040, 19785 }, + { 0x0041, 24009 }, + { 0x0042, 24252 }, + { 0x0043, 24315 }, + { 0x0044, 24389 }, + { 0x0045, 24485 }, + { 0x0046, 24689 }, + { 0x0047, 24726 }, + { 0x0048, 24799 }, + { 0x0049, 24880 }, + { 0x004A, 24994 }, + { 0x004B, 25022 }, + { 0x004C, 25106 }, + { 0x004D, 25256 }, + { 0x004E, 25306 }, + { 0x004F, 25436 }, + { 0x0050, 25727 }, + { 0x0051, 25791 }, + { 0x0052, 25823 }, + { 0x0053, 25961 }, + { 0x0054, 26072 }, + { 0x0055, 26175 }, + { 0x0056, 26428 }, + { 0x0057, 26478 }, + { 0x0058, 26533 }, + { 0x0059, 26595 }, + { 0x005A, 26689 }, + { 0x005B, 12859 }, + { 0x005C, 86872 }, + { 0x005D, 33624 }, + { 0x005E, 35241 }, + { 0x005F, 85368 }, + { 0x0060, 82388 }, + { 0x0061, 12142 }, + { 0x0062, 33517 }, + { 0x0063, 73275 }, + { 0x0064, 11842 }, + { 0x0065, 44365 }, + { 0x0066, 65236 }, + { 0x0067, 98266 }, + { 0x0068, 92072 }, + { 0x0069, 80605 }, + { 0x006A, 115291 }, + { 0x006B, 7092 }, + { 0x006C, 14761 }, + { 0x006D, 104643 }, + { 0x006E, 52311 }, + { 0x006F, 45673 }, + { 0x0070, 104631 }, + { 0x0071, 109389 }, + { 0x0072, 109424 }, + { 0x0073, 15382 }, + { 0x0074, 32502 }, + { 0x0075, 64647 }, + { 0x0076, 52758 }, + { 0x0077, 59111 }, + { 0x0078, 109385 }, + { 0x0079, 100810 }, + { 0x007A, 115916 }, + { 0x007B, 57327 }, + { 0x007C, 57299 }, + { 0x007D, 57371 }, + { 0x007E, 82381 }, + { 0x007F, 28312 }, + { 0x0080, 28252 }, + { 0x0081, 28370 }, + { 0x0082, 28318 }, + { 0x0083, 28356 }, + { 0x0084, 28229 }, + { 0x0085, 30481 }, + { 0x0086, 28508 }, + { 0x0087, 28651 }, + { 0x0088, 28633 }, + { 0x0089, 28738 }, + { 0x008A, 28732 }, + { 0x008B, 28992 }, + { 0x008C, 28974 }, + { 0x008D, 29057 }, + { 0x008E, 29043 }, + { 0x008F, 30582 }, + { 0x0090, 29364 }, + { 0x0091, 29510 }, + { 0x0092, 29492 }, + { 0x0093, 29638 }, + { 0x0094, 29516 }, + { 0x0095, 29624 }, + { 0x0096, 115877 }, + { 0x0097, 29603 }, + { 0x0098, 30109 }, + { 0x0099, 30091 }, + { 0x009A, 30222 }, + { 0x009B, 30177 }, + { 0x009C, 30367 }, + { 0x009D, 30703 }, + { 0x009E, 27279 }, + { 0x009F, 24126 }, + { 0x00A0, 24066 }, + { 0x00A1, 24199 }, + { 0x00A2, 24140 }, + { 0x00A3, 24178 }, + { 0x00A4, 24043 }, + { 0x00A5, 26788 }, + { 0x00A6, 24362 }, + { 0x00A7, 24528 }, + { 0x00A8, 24510 }, + { 0x00A9, 24634 }, + { 0x00AA, 24621 }, + { 0x00AB, 24916 }, + { 0x00AC, 24898 }, + { 0x00AD, 24988 }, + { 0x00AE, 24967 }, + { 0x00AF, 27005 }, + { 0x00B0, 25370 }, + { 0x00B1, 25558 }, + { 0x00B2, 25540 }, + { 0x00B3, 25679 }, + { 0x00B4, 25564 }, + { 0x00B5, 25665 }, + { 0x00B6, 75217 }, + { 0x00B7, 25644 }, + { 0x00B8, 26287 }, + { 0x00B9, 26269 }, + { 0x00BA, 26415 }, + { 0x00BB, 26363 }, + { 0x00BC, 26639 }, + { 0x00BD, 27290 }, + { 0x00BE, 26677 }, + { 0x00BF, 28331 }, + { 0x00C0, 24153 }, + { 0x00C1, 28258 }, + { 0x00C2, 24072 }, + { 0x00C3, 28337 }, + { 0x00C4, 24159 }, + { 0x00C5, 28490 }, + { 0x00C6, 24344 }, + { 0x00C7, 28522 }, + { 0x00C8, 24383 }, + { 0x00C9, 28477 }, + { 0x00CA, 24325 }, + { 0x00CB, 28496 }, + { 0x00CC, 24350 }, + { 0x00CD, 28559 }, + { 0x00CE, 24440 }, + { 0x00CF, 28583 }, + { 0x00D0, 24453 }, + { 0x00D1, 28677 }, + { 0x00D2, 24560 }, + { 0x00D3, 28639 }, + { 0x00D4, 24516 }, + { 0x00D5, 28612 }, + { 0x00D6, 24489 }, + { 0x00D7, 28699 }, + { 0x00D8, 24582 }, + { 0x00D9, 28645 }, + { 0x00DA, 24522 }, + { 0x00DB, 28876 }, + { 0x00DC, 24793 }, + { 0x00DD, 28839 }, + { 0x00DE, 24749 }, + { 0x00DF, 28820 }, + { 0x00E0, 24730 }, + { 0x00E1, 28863 }, + { 0x00E2, 24773 }, + { 0x00E3, 28943 }, + { 0x00E4, 24874 }, + { 0x00E5, 28919 }, + { 0x00E6, 24843 }, + { 0x00E7, 28998 }, + { 0x00E8, 24922 }, + { 0x00E9, 29018 }, + { 0x00EA, 24942 }, + { 0x00EB, 28980 }, + { 0x00EC, 24904 }, + { 0x00ED, 29024 }, + { 0x00EE, 24948 }, + { 0x00EF, 28953 }, + { 0x00F0, 27571 }, + { 0x00F1, 30897 }, + { 0x00F2, 27855 }, + { 0x00F3, 29073 }, + { 0x00F4, 25010 }, + { 0x00F5, 29136 }, + { 0x00F6, 25073 }, + { 0x00F7, 27047 }, + { 0x00F8, 29208 }, + { 0x00F9, 25158 }, + { 0x00FA, 29255 }, + { 0x00FB, 25212 }, + { 0x00FC, 29214 }, + { 0x00FD, 25164 }, + { 0x00FE, 29235 }, + { 0x00FF, 25185 }, + { 0x0100, 29249 }, + { 0x0101, 25206 }, + { 0x0102, 29338 }, + { 0x0103, 25352 }, + { 0x0104, 29370 }, + { 0x0105, 25383 }, + { 0x0106, 29344 }, + { 0x0107, 25358 }, + { 0x0108, 25429 }, + { 0x0109, 30574 }, + { 0x010A, 26971 }, + { 0x010B, 29560 }, + { 0x010C, 25608 }, + { 0x010D, 29498 }, + { 0x010E, 25546 }, + { 0x010F, 29546 }, + { 0x0110, 25594 }, + { 0x0111, 30901 }, + { 0x0112, 27859 }, + { 0x0113, 29795 }, + { 0x0114, 25870 }, + { 0x0115, 29820 }, + { 0x0116, 25902 }, + { 0x0117, 29801 }, + { 0x0118, 25876 }, + { 0x0119, 29873 }, + { 0x011A, 25995 }, + { 0x011B, 29930 }, + { 0x011C, 26066 }, + { 0x011D, 29917 }, + { 0x011E, 26046 }, + { 0x011F, 29888 }, + { 0x0120, 26010 }, + { 0x0121, 29986 }, + { 0x0122, 26135 }, + { 0x0123, 29967 }, + { 0x0124, 26109 }, + { 0x0125, 29980 }, + { 0x0126, 26129 }, + { 0x0127, 30115 }, + { 0x0128, 26301 }, + { 0x0129, 30150 }, + { 0x012A, 26336 }, + { 0x012B, 30097 }, + { 0x012C, 26275 }, + { 0x012D, 30084 }, + { 0x012E, 26262 }, + { 0x012F, 30136 }, + { 0x0130, 26322 }, + { 0x0131, 30164 }, + { 0x0132, 26350 }, + { 0x0133, 30307 }, + { 0x0134, 26527 }, + { 0x0135, 30403 }, + { 0x0136, 26683 }, + { 0x0137, 30397 }, + { 0x0138, 30440 }, + { 0x0139, 26726 }, + { 0x013A, 30413 }, + { 0x013B, 26693 }, + { 0x013C, 30446 }, + { 0x013D, 26732 }, + { 0x013E, 27129 }, + { 0x013F, 24290 }, + { 0x0140, 28436 }, + { 0x0141, 28455 }, + { 0x0142, 24296 }, + { 0x0143, 30637 }, + { 0x0144, 27206 }, + { 0x0145, 30632 }, + { 0x0146, 28484 }, + { 0x0147, 24338 }, + { 0x0148, 30777 }, + { 0x0149, 28546 }, + { 0x014A, 28589 }, + { 0x014B, 24459 }, + { 0x014C, 27560 }, + { 0x014D, 30843 }, + { 0x014E, 30680 }, + { 0x014F, 30627 }, + { 0x0150, 28804 }, + { 0x0151, 24700 }, + { 0x0152, 28827 }, + { 0x0153, 30668 }, + { 0x0154, 26858 }, + { 0x0155, 30623 }, + { 0x0156, 29030 }, + { 0x0157, 29096 }, + { 0x0158, 25033 }, + { 0x0159, 25110 }, + { 0x015A, 27364 }, + { 0x015B, 30751 }, + { 0x015C, 29316 }, + { 0x015D, 25344 }, + { 0x015E, 29582 }, + { 0x015F, 29430 }, + { 0x0160, 25478 }, + { 0x0161, 30546 }, + { 0x0162, 26884 }, + { 0x0163, 29697 }, + { 0x0164, 25738 }, + { 0x0165, 27881 }, + { 0x0166, 30642 }, + { 0x0167, 27211 }, + { 0x0168, 30578 }, + { 0x0169, 28166 }, + { 0x016A, 26141 }, + { 0x016B, 29954 }, + { 0x016C, 26096 }, + { 0x016D, 29999 }, + { 0x016E, 30036 }, + { 0x016F, 26207 }, + { 0x0170, 30817 }, + { 0x0171, 30246 }, + { 0x0172, 30348 }, + { 0x0173, 26613 }, + { 0x0174, 30459 }, + { 0x0175, 26752 }, + { 0x0176, 30586 }, + { 0x0177, 30596 }, + { 0x0178, 27038 }, + { 0x0179, 27019 }, + { 0x017A, 27887 }, + { 0x017B, 30647 }, + { 0x017C, 27216 }, + { 0x017D, 28159 }, + { 0x017E, 27892 }, + { 0x017F, 28115 }, + { 0x0180, 28134 }, + { 0x0181, 28138 }, + { 0x0182, 28178 }, + { 0x0183, 30524 }, + { 0x0184, 28573 }, + { 0x0185, 26836 }, + { 0x0186, 30538 }, + { 0x0187, 29220 }, + { 0x0188, 26866 }, + { 0x0189, 30542 }, + { 0x018A, 29356 }, + { 0x018B, 26880 }, + { 0x018C, 28306 }, + { 0x018D, 24120 }, + { 0x018E, 28986 }, + { 0x018F, 24910 }, + { 0x0190, 29504 }, + { 0x0191, 25552 }, + { 0x0192, 30103 }, + { 0x0193, 26281 }, + { 0x0194, 30207 }, + { 0x0195, 26393 }, + { 0x0196, 30183 }, + { 0x0197, 26369 }, + { 0x0198, 30191 }, + { 0x0199, 26377 }, + { 0x019A, 30199 }, + { 0x019B, 26385 }, + { 0x019C, 27399 }, + { 0x019D, 28362 }, + { 0x019E, 24184 }, + { 0x019F, 28206 }, + { 0x01A0, 24020 }, + { 0x01A1, 30491 }, + { 0x01A2, 26798 }, + { 0x01A3, 28857 }, + { 0x01A4, 24767 }, + { 0x01A5, 28845 }, + { 0x01A6, 24755 }, + { 0x01A7, 29115 }, + { 0x01A8, 25052 }, + { 0x01A9, 29589 }, + { 0x01AA, 25630 }, + { 0x01AB, 29595 }, + { 0x01AC, 25636 }, + { 0x01AD, 30590 }, + { 0x01AE, 27025 }, + { 0x01AF, 24998 }, + { 0x01B0, 30520 }, + { 0x01B1, 28565 }, + { 0x01B2, 26832 }, + { 0x01B3, 28833 }, + { 0x01B4, 24743 }, + { 0x01B5, 30672 }, + { 0x01B6, 30656 }, + { 0x01B7, 29350 }, + { 0x01B8, 25364 }, + { 0x01B9, 28236 }, + { 0x01BA, 24050 }, + { 0x01BB, 30485 }, + { 0x01BC, 26792 }, + { 0x01BD, 29609 }, + { 0x01BE, 25650 }, + { 0x01BF, 28324 }, + { 0x01C0, 24146 }, + { 0x01C1, 28349 }, + { 0x01C2, 24171 }, + { 0x01C3, 28670 }, + { 0x01C4, 24553 }, + { 0x01C5, 28725 }, + { 0x01C6, 24614 }, + { 0x01C7, 29011 }, + { 0x01C8, 24935 }, + { 0x01C9, 29036 }, + { 0x01CA, 24960 }, + { 0x01CB, 29553 }, + { 0x01CC, 25601 }, + { 0x01CD, 29617 }, + { 0x01CE, 25658 }, + { 0x01CF, 29807 }, + { 0x01D0, 25882 }, + { 0x01D1, 29833 }, + { 0x01D2, 25937 }, + { 0x01D3, 30143 }, + { 0x01D4, 26329 }, + { 0x01D5, 30170 }, + { 0x01D6, 26356 }, + { 0x01D7, 29903 }, + { 0x01D8, 26025 }, + { 0x01D9, 29973 }, + { 0x01DA, 26115 }, + { 0x01DB, 30660 }, + { 0x01DC, 27225 }, + { 0x01DD, 28913 }, + { 0x01DE, 24837 }, + { 0x01DF, 29330 }, + { 0x01E0, 24407 }, + { 0x01E1, 30554 }, + { 0x01E2, 26892 }, + { 0x01E3, 30427 }, + { 0x01E4, 26713 }, + { 0x01E5, 28199 }, + { 0x01E6, 24013 }, + { 0x01E7, 28711 }, + { 0x01E8, 24594 }, + { 0x01E9, 29630 }, + { 0x01EA, 25671 }, + { 0x01EB, 29530 }, + { 0x01EC, 25578 }, + { 0x01ED, 29400 }, + { 0x01EE, 25440 }, + { 0x01EF, 29407 }, + { 0x01F0, 25447 }, + { 0x01F1, 30385 }, + { 0x01F2, 26665 }, + { 0x01F3, 25138 }, + { 0x01F4, 25324 }, + { 0x01F5, 26090 }, + { 0x01F6, 27576 }, + { 0x01F7, 26827 }, + { 0x01F8, 26896 }, + { 0x01F9, 28343 }, + { 0x01FA, 28502 }, + { 0x01FB, 24356 }, + { 0x01FC, 29166 }, + { 0x01FD, 29992 }, + { 0x01FE, 26032 }, + { 0x01FF, 26738 }, + { 0x0200, 30782 }, + { 0x0201, 27597 }, + { 0x0202, 28449 }, + { 0x0203, 30017 }, + { 0x0204, 30761 }, + { 0x0205, 28705 }, + { 0x0206, 24588 }, + { 0x0207, 29067 }, + { 0x0208, 25004 }, + { 0x0209, 30689 }, + { 0x020A, 25801 }, + { 0x020B, 29814 }, + { 0x020C, 25896 }, + { 0x020D, 30391 }, + { 0x020E, 26671 }, + { 0x020F, 27394 }, + { 0x0210, 27229 }, + { 0x0211, 27555 }, + { 0x0212, 24270 }, + { 0x0213, 27171 }, + { 0x0214, 24332 }, + { 0x0215, 24434 }, + { 0x0216, 24413 }, + { 0x0217, 27694 }, + { 0x0218, 27262 }, + { 0x0219, 27266 }, + { 0x021A, 27158 }, + { 0x021B, 27706 }, + { 0x021C, 27712 }, + { 0x021D, 27345 }, + { 0x021E, 27581 }, + { 0x021F, 24737 }, + { 0x0220, 27370 }, + { 0x0221, 27925 }, + { 0x0222, 27244 }, + { 0x0223, 27196 }, + { 0x0224, 27409 }, + { 0x0225, 24817 }, + { 0x0226, 27109 }, + { 0x0227, 24954 }, + { 0x0228, 27115 }, + { 0x0229, 27942 }, + { 0x022A, 25199 }, + { 0x022B, 25132 }, + { 0x022C, 25233 }, + { 0x022D, 27125 }, + { 0x022E, 27445 }, + { 0x022F, 27450 }, + { 0x0230, 25274 }, + { 0x0231, 25330 }, + { 0x0232, 25409 }, + { 0x0233, 27974 }, + { 0x0234, 27313 }, + { 0x0235, 28042 }, + { 0x0236, 27340 }, + { 0x0237, 27063 }, + { 0x0238, 27472 }, + { 0x0239, 27484 }, + { 0x023A, 27477 }, + { 0x023B, 25857 }, + { 0x023C, 25864 }, + { 0x023D, 25922 }, + { 0x023E, 27699 }, + { 0x023F, 27989 }, + { 0x0240, 28097 }, + { 0x0241, 25989 }, + { 0x0242, 26981 }, + { 0x0243, 27588 }, + { 0x0244, 27284 }, + { 0x0245, 26985 }, + { 0x0246, 27499 }, + { 0x0247, 26161 }, + { 0x0248, 26179 }, + { 0x0249, 27637 }, + { 0x024A, 26445 }, + { 0x024B, 27504 }, + { 0x024C, 27509 }, + { 0x024D, 27514 }, + { 0x024E, 28027 }, + { 0x024F, 26771 }, + { 0x0250, 26707 }, + { 0x0251, 27009 }, + { 0x0252, 27013 }, + { 0x0253, 28124 }, + { 0x0254, 28186 }, + { 0x0255, 28154 }, + { 0x0256, 28182 }, + { 0x0257, 28146 }, + { 0x0258, 27900 }, + { 0x0259, 27334 }, + { 0x025A, 27930 }, + { 0x025B, 27937 }, + { 0x025C, 25016 }, + { 0x025D, 27435 }, + { 0x025E, 27957 }, + { 0x025F, 25795 }, + { 0x0260, 28128 }, + { 0x0261, 28171 }, + { 0x0262, 26842 }, + { 0x0263, 27090 }, + { 0x0264, 26847 }, + { 0x0265, 26914 }, + { 0x0266, 27201 }, + { 0x0267, 26901 }, + { 0x0268, 27095 }, + { 0x0269, 26870 }, + { 0x026A, 26875 }, + { 0x026B, 28150 }, + { 0x026C, 28142 }, + { 0x026D, 27414 }, + { 0x026E, 27421 }, + { 0x026F, 84218 }, + { 0x0270, 84222 }, + { 0x0271, 84234 }, + { 0x0272, 84313 }, + { 0x0273, 84523 }, + { 0x0274, 84528 }, + { 0x0275, 84583 }, + { 0x0276, 84364 }, + { 0x0277, 84372 }, + { 0x0278, 84164 }, + { 0x0279, 84622 }, + { 0x027A, 84691 }, + { 0x027B, 84922 }, + { 0x027C, 84885 }, + { 0x027D, 84167 }, + { 0x027E, 84106 }, + { 0x027F, 84860 }, + { 0x0280, 84889 }, + { 0x0281, 84111 }, + { 0x0282, 84172 }, + { 0x0283, 83921 }, + { 0x0284, 84073 }, + { 0x0285, 84925 }, + { 0x0286, 19331 }, + { 0x0287, 84894 }, + { 0x0288, 84630 }, + { 0x0289, 84129 }, + { 0x028A, 84150 }, + { 0x028B, 84023 }, + { 0x028C, 84013 }, + { 0x028D, 83986 }, + { 0x028E, 83981 }, + { 0x028F, 84953 }, + { 0x0290, 84077 }, + { 0x0291, 84806 }, + { 0x0292, 84800 }, + { 0x0293, 83917 }, + { 0x0294, 84069 }, + { 0x0295, 84119 }, + { 0x0296, 84160 }, + { 0x0297, 19256 }, + { 0x0298, 5900 }, + { 0x0299, 14621 }, + { 0x029A, 52853 }, + { 0x029B, 34486 }, + { 0x029C, 46065 }, + { 0x029D, 84675 }, + { 0x029E, 84146 }, + { 0x029F, 84457 }, + { 0x02A0, 84248 }, + { 0x02A1, 84317 }, + { 0x02A2, 84368 }, + { 0x02A3, 84611 }, + { 0x02A4, 84929 }, + { 0x02A5, 84082 }, + { 0x02A6, 84039 }, + { 0x02A7, 83976 }, + { 0x02A8, 84898 }, + { 0x02A9, 84063 }, + { 0x02AA, 84123 }, + { 0x02AB, 84864 }, + { 0x02AC, 84957 }, + { 0x02AD, 84626 }, + { 0x02AE, 83957 }, + { 0x02AF, 83952 }, + { 0x02B0, 83967 }, + { 0x02B1, 83991 }, + { 0x02B2, 83972 }, + { 0x02B3, 84633 }, + { 0x02B4, 84644 }, + { 0x02B5, 84638 }, + { 0x02B6, 83996 }, + { 0x02B7, 84660 }, + { 0x02B8, 84138 }, + { 0x02B9, 83947 }, + { 0x02BA, 84133 }, + { 0x02BB, 83942 }, + { 0x02BC, 84176 }, + { 0x02BD, 84115 }, + { 0x02BE, 83962 }, + { 0x02BF, 90763 }, + { 0x02C0, 90732 }, + { 0x02C1, 91760 }, + { 0x02C2, 91143 }, + { 0x02C3, 91277 }, + { 0x02C4, 91689 }, + { 0x02C5, 90739 }, + { 0x02C6, 90579 }, + { 0x02C7, 91714 }, + { 0x02C8, 90632 }, + { 0x02C9, 90715 }, + { 0x02CA, 91198 }, + { 0x02CB, 90744 }, + { 0x02CC, 91695 }, + { 0x02CD, 91245 }, + { 0x02CE, 91209 }, + { 0x02CF, 92017 }, + { 0x02D0, 91655 }, + { 0x02D1, 91319 }, + { 0x02D2, 90749 }, + { 0x02D3, 91691 }, + { 0x02D4, 90752 }, + { 0x02D5, 90766 }, + { 0x02D6, 90735 }, + { 0x02D7, 90647 }, + { 0x02D8, 91085 }, + { 0x02D9, 90651 }, + { 0x02DA, 90635 }, + { 0x02DB, 90642 }, + { 0x02DC, 90569 }, + { 0x02DD, 90624 }, + { 0x02DE, 90711 }, + { 0x02DF, 91071 }, + { 0x02E0, 92019 }, + { 0x02E1, 91756 }, + { 0x02E2, 90586 }, + { 0x02E3, 91716 }, + { 0x02E4, 90718 }, + { 0x02E5, 90756 }, + { 0x02E6, 91336 }, + { 0x02E7, 91300 }, + { 0x02E8, 91699 }, + { 0x02E9, 91174 }, + { 0x02EA, 91666 }, + { 0x02EB, 90746 }, + { 0x02EC, 91763 }, + { 0x02ED, 90741 }, + { 0x02EE, 91658 }, + { 0x02EF, 91150 }, + { 0x02F0, 91288 }, + { 0x02F1, 90589 }, + { 0x02F2, 91185 }, + { 0x02F3, 91158 }, + { 0x02F4, 91123 }, + { 0x02F5, 90694 }, + { 0x02F6, 91127 }, + { 0x02F7, 90698 }, + { 0x02F8, 91080 }, + { 0x02F9, 91662 }, + { 0x02FA, 91305 }, + { 0x02FB, 91396 }, + { 0x02FC, 90556 }, + { 0x02FD, 91703 }, + { 0x02FE, 91242 }, + { 0x02FF, 90759 }, + { 0x0300, 90728 }, + { 0x0301, 90789 }, + { 0x0302, 90770 }, + { 0x0303, 90785 }, + { 0x0304, 90792 }, + { 0x0305, 91171 }, + { 0x0306, 91273 }, + { 0x0307, 91250 }, + { 0x0308, 90655 }, + { 0x0309, 90592 }, + { 0x030A, 92005 }, + { 0x030B, 91161 }, + { 0x030C, 90672 }, + { 0x030D, 91399 }, + { 0x030E, 91650 }, + { 0x030F, 91115 }, + { 0x0310, 90637 }, + { 0x0311, 91342 }, + { 0x0312, 90559 }, + { 0x0313, 90685 }, + { 0x0314, 91119 }, + { 0x0315, 91101 }, + { 0x0316, 91075 }, + { 0x0317, 90582 }, + { 0x0318, 91406 }, + { 0x0319, 91194 }, + { 0x031A, 91327 }, + { 0x031B, 91205 }, + { 0x031C, 91202 }, + { 0x031D, 91226 }, + { 0x031E, 91229 }, + { 0x031F, 91213 }, + { 0x0320, 91233 }, + { 0x0321, 91264 }, + { 0x0322, 90795 }, + { 0x0323, 90828 }, + { 0x0324, 90848 }, + { 0x0325, 90882 }, + { 0x0326, 90935 }, + { 0x0327, 90812 }, + { 0x0328, 90823 }, + { 0x0329, 90843 }, + { 0x032A, 90872 }, + { 0x032B, 90908 }, + { 0x032C, 90930 }, + { 0x032D, 90956 }, + { 0x032E, 90966 }, + { 0x032F, 21484 }, + { 0x0330, 20149 }, + { 0x0331, 21956 }, + { 0x0332, 20741 }, + { 0x0333, 22198 }, + { 0x0334, 19871 }, + { 0x0335, 22163 }, + { 0x0336, 21020 }, + { 0x0337, 22692 }, + { 0x0338, 21032 }, + { 0x0339, 19889 }, + { 0x033A, 21025 }, + { 0x033B, 22223 }, + { 0x033C, 21476 }, + { 0x033D, 21049 }, + { 0x033E, 22250 }, + { 0x033F, 21738 }, + { 0x0340, 19790 }, + { 0x0341, 22015 }, + { 0x0342, 21428 }, + { 0x0343, 21558 }, + { 0x0344, 22081 }, + { 0x0345, 22133 }, + { 0x0346, 21930 }, + { 0x0347, 20261 }, + { 0x0348, 21592 }, + { 0x0349, 21480 }, + { 0x034A, 21772 }, + { 0x034B, 21768 }, + { 0x034C, 21961 }, + { 0x034D, 21588 }, + { 0x034E, 21282 }, + { 0x034F, 21952 }, + { 0x0350, 21488 }, + { 0x0351, 21776 }, + { 0x0352, 21780 }, + { 0x0353, 21262 }, + { 0x0354, 21266 }, + { 0x0355, 21274 }, + { 0x0356, 22027 }, + { 0x0357, 21270 }, + { 0x0358, 21454 }, + { 0x0359, 21948 }, + { 0x035A, 21472 }, + { 0x035B, 22093 }, + { 0x035C, 21446 }, + { 0x035D, 21278 }, + { 0x035E, 21450 }, + { 0x035F, 21784 }, + { 0x0360, 21582 }, + { 0x0361, 22157 }, + { 0x0362, 20449 }, + { 0x0363, 20804 }, + { 0x0364, 20069 }, + { 0x0365, 20223 }, + { 0x0366, 20990 }, + { 0x0367, 20295 }, + { 0x0368, 20145 }, + { 0x0369, 20510 }, + { 0x036A, 20501 }, + { 0x036B, 20750 }, + { 0x036C, 20291 }, + { 0x036D, 19915 }, + { 0x036E, 20728 }, + { 0x036F, 20153 }, + { 0x0370, 20514 }, + { 0x0371, 20522 }, + { 0x0372, 19895 }, + { 0x0373, 19899 }, + { 0x0374, 19907 }, + { 0x0375, 20816 }, + { 0x0376, 19903 }, + { 0x0377, 20117 }, + { 0x0378, 20505 }, + { 0x0379, 20724 }, + { 0x037A, 20141 }, + { 0x037B, 20882 }, + { 0x037C, 20109 }, + { 0x037D, 19911 }, + { 0x037E, 20113 }, + { 0x037F, 20526 }, + { 0x0380, 20247 }, + { 0x0381, 20976 }, + { 0x0382, 20870 }, + { 0x0383, 20952 }, + { 0x0384, 20680 }, + { 0x0385, 21248 }, + { 0x0386, 19829 }, + { 0x0387, 21038 }, + { 0x0388, 22201 }, + { 0x0389, 22206 }, + { 0x038A, 22213 }, + { 0x038B, 19810 }, + { 0x038C, 19787 }, + { 0x038D, 19793 }, + { 0x038E, 21220 }, + { 0x038F, 20736 }, + { 0x0390, 21217 }, + { 0x0391, 20732 }, + { 0x0392, 21224 }, + { 0x0393, 20746 }, + { 0x0394, 21181 }, + { 0x0395, 20518 }, + { 0x0396, 21184 }, + { 0x0397, 20720 }, + { 0x0398, 45510 }, + { 0x0399, 45202 }, + { 0x039A, 45372 }, + { 0x039B, 45064 }, + { 0x039C, 45506 }, + { 0x039D, 45198 }, + { 0x039E, 45498 }, + { 0x039F, 45190 }, + { 0x03A0, 45550 }, + { 0x03A1, 45242 }, + { 0x03A2, 45546 }, + { 0x03A3, 45238 }, + { 0x03A4, 45364 }, + { 0x03A5, 45056 }, + { 0x03A6, 19865 }, + { 0x03A7, 19818 }, + { 0x03A8, 21227 }, + { 0x03A9, 21178 }, + { 0x03AA, 21252 }, + { 0x03AB, 21231 }, + { 0x03AC, 22226 }, + { 0x03AD, 21468 }, + { 0x03AE, 20137 }, + { 0x03AF, 22168 }, + { 0x03B0, 21464 }, + { 0x03B1, 20133 }, + { 0x03B2, 19813 }, + { 0x03B3, 22180 }, + { 0x03B4, 21256 }, + { 0x03B5, 22173 }, + { 0x03B6, 74491 }, + { 0x03B7, 74497 }, + { 0x03B8, 74648 }, + { 0x03B9, 74697 }, + { 0x03BA, 75169 }, + { 0x03BB, 74656 }, + { 0x03BC, 75179 }, + { 0x03BD, 74592 }, + { 0x03BE, 74501 }, + { 0x03BF, 74717 }, + { 0x03C0, 74721 }, + { 0x03C1, 74886 }, + { 0x03C2, 74705 }, + { 0x03C3, 74301 }, + { 0x03C4, 74986 }, + { 0x03C5, 74783 }, + { 0x03C6, 74271 }, + { 0x03C7, 74352 }, + { 0x03C8, 74580 }, + { 0x03C9, 74660 }, + { 0x03CA, 74356 }, + { 0x03CB, 74481 }, + { 0x03CC, 74753 }, + { 0x03CD, 74604 }, + { 0x03CE, 74297 }, + { 0x03CF, 74974 }, + { 0x03D0, 74505 }, + { 0x03D1, 74364 }, + { 0x03D2, 74393 }, + { 0x03D3, 74403 }, + { 0x03D4, 74319 }, + { 0x03D5, 74538 }, + { 0x03D6, 74439 }, + { 0x03D7, 74449 }, + { 0x03D8, 74559 }, + { 0x03D9, 74329 }, + { 0x03DA, 74360 }, + { 0x03DB, 74459 }, + { 0x03DC, 74737 }, + { 0x03DD, 74625 }, + { 0x03DE, 74733 }, + { 0x03DF, 74970 }, + { 0x03E0, 74799 }, + { 0x03E1, 74898 }, + { 0x03E2, 74877 }, + { 0x03E3, 74287 }, + { 0x03E4, 74600 }, + { 0x03E5, 74588 }, + { 0x03E6, 73279 }, + { 0x03E7, 73360 }, + { 0x03E8, 73588 }, + { 0x03E9, 73668 }, + { 0x03EA, 73364 }, + { 0x03EB, 73489 }, + { 0x03EC, 73761 }, + { 0x03ED, 73612 }, + { 0x03EE, 73305 }, + { 0x03EF, 74003 }, + { 0x03F0, 73513 }, + { 0x03F1, 73372 }, + { 0x03F2, 73401 }, + { 0x03F3, 73411 }, + { 0x03F4, 73327 }, + { 0x03F5, 73546 }, + { 0x03F6, 73447 }, + { 0x03F7, 73457 }, + { 0x03F8, 73567 }, + { 0x03F9, 73337 }, + { 0x03FA, 73368 }, + { 0x03FB, 73467 }, + { 0x03FC, 73745 }, + { 0x03FD, 73633 }, + { 0x03FE, 73741 }, + { 0x03FF, 73999 }, + { 0x0400, 73807 }, + { 0x0401, 73927 }, + { 0x0402, 73885 }, + { 0x0403, 73295 }, + { 0x0404, 73608 }, + { 0x0405, 73596 }, + { 0x0406, 73499 }, + { 0x0407, 73505 }, + { 0x0408, 73656 }, + { 0x0409, 73705 }, + { 0x040A, 74212 }, + { 0x040B, 73664 }, + { 0x040C, 74237 }, + { 0x040D, 73600 }, + { 0x040E, 73509 }, + { 0x040F, 73725 }, + { 0x0410, 73729 }, + { 0x0411, 73910 }, + { 0x0412, 73713 }, + { 0x0413, 73309 }, + { 0x0414, 74015 }, + { 0x0415, 73791 }, + { 0x0416, 74945 }, + { 0x0417, 73974 }, + { 0x0418, 74749 }, + { 0x0419, 73757 }, + { 0x041A, 75066 }, + { 0x041B, 74105 }, + { 0x041C, 75020 }, + { 0x041D, 74049 }, + { 0x041E, 75089 }, + { 0x041F, 74128 }, + { 0x0420, 74620 }, + { 0x0421, 73628 }, + { 0x0422, 75071 }, + { 0x0423, 74110 }, + { 0x0424, 74709 }, + { 0x0425, 73717 }, + { 0x0426, 74725 }, + { 0x0427, 73733 }, + { 0x0428, 74795 }, + { 0x0429, 73803 }, + { 0x042A, 75044 }, + { 0x042B, 74078 }, + { 0x042C, 75048 }, + { 0x042D, 74082 }, + { 0x042E, 74576 }, + { 0x042F, 73584 }, + { 0x0430, 74955 }, + { 0x0431, 73984 }, + { 0x0432, 74949 }, + { 0x0433, 73978 }, + { 0x0434, 74534 }, + { 0x0435, 73542 }, + { 0x0436, 74941 }, + { 0x0437, 73970 }, + { 0x0438, 75201 }, + { 0x0439, 91422 }, + { 0x043A, 91644 }, + { 0x043B, 91414 }, + { 0x043C, 91418 }, + { 0x043D, 91636 }, + { 0x043E, 91624 }, + { 0x043F, 91632 }, + { 0x0440, 74979 }, + { 0x0441, 74008 }, + { 0x0442, 75115 }, + { 0x0443, 74158 }, + { 0x0444, 74443 }, + { 0x0445, 73451 }, + { 0x0446, 74685 }, + { 0x0447, 73693 }, + { 0x0448, 74671 }, + { 0x0449, 73679 }, + { 0x044A, 74664 }, + { 0x044B, 73672 }, + { 0x044C, 74763 }, + { 0x044D, 73771 }, + { 0x044E, 74608 }, + { 0x044F, 73616 }, + { 0x0450, 74528 }, + { 0x0451, 73536 }, + { 0x0452, 74521 }, + { 0x0453, 73529 }, + { 0x0454, 74515 }, + { 0x0455, 73523 }, + { 0x0456, 75029 }, + { 0x0457, 74063 }, + { 0x0458, 74433 }, + { 0x0459, 73441 }, + { 0x045A, 75189 }, + { 0x045B, 74247 }, + { 0x045C, 74542 }, + { 0x045D, 73550 }, + { 0x045E, 75132 }, + { 0x045F, 74175 }, + { 0x0460, 74453 }, + { 0x0461, 73461 }, + { 0x0462, 74570 }, + { 0x0463, 73578 }, + { 0x0464, 75120 }, + { 0x0465, 74163 }, + { 0x0466, 75125 }, + { 0x0467, 74168 }, + { 0x0468, 74475 }, + { 0x0469, 73483 }, + { 0x046A, 75194 }, + { 0x046B, 74252 }, + { 0x046C, 74636 }, + { 0x046D, 73644 }, + { 0x046E, 74629 }, + { 0x046F, 73637 }, + { 0x0470, 74848 }, + { 0x0471, 73856 }, + { 0x0472, 75137 }, + { 0x0473, 74180 }, + { 0x0474, 75142 }, + { 0x0475, 74185 }, + { 0x0476, 74264 }, + { 0x0477, 74757 }, + { 0x0478, 73765 }, + { 0x0479, 74509 }, + { 0x047A, 73517 }, + { 0x047B, 74374 }, + { 0x047C, 73382 }, + { 0x047D, 74407 }, + { 0x047E, 73415 }, + { 0x047F, 74420 }, + { 0x0480, 73428 }, + { 0x0481, 75174 }, + { 0x0482, 74222 }, + { 0x0483, 74397 }, + { 0x0484, 73405 }, + { 0x0485, 74134 }, + { 0x0486, 74275 }, + { 0x0487, 73283 }, + { 0x0488, 74281 }, + { 0x0489, 73289 }, + { 0x048A, 75184 }, + { 0x048B, 74242 }, + { 0x048C, 74485 }, + { 0x048D, 73493 }, + { 0x048E, 74960 }, + { 0x048F, 73989 }, + { 0x0490, 74964 }, + { 0x0491, 73993 }, + { 0x0492, 74769 }, + { 0x0493, 73777 }, + { 0x0494, 74614 }, + { 0x0495, 73622 }, + { 0x0496, 75149 }, + { 0x0497, 74192 }, + { 0x0498, 74307 }, + { 0x0499, 73315 }, + { 0x049A, 74313 }, + { 0x049B, 73321 }, + { 0x049C, 74323 }, + { 0x049D, 73331 }, + { 0x049E, 74991 }, + { 0x049F, 74020 }, + { 0x04A0, 74996 }, + { 0x04A1, 74025 }, + { 0x04A2, 74291 }, + { 0x04A3, 73299 }, + { 0x04A4, 74340 }, + { 0x04A5, 73348 }, + { 0x04A6, 74346 }, + { 0x04A7, 73354 }, + { 0x04A8, 74333 }, + { 0x04A9, 73341 }, + { 0x04AA, 74642 }, + { 0x04AB, 73650 }, + { 0x04AC, 74691 }, + { 0x04AD, 73699 }, + { 0x04AE, 74909 }, + { 0x04AF, 73938 }, + { 0x04B0, 74677 }, + { 0x04B1, 73685 }, + { 0x04B2, 74463 }, + { 0x04B3, 73471 }, + { 0x04B4, 74469 }, + { 0x04B5, 73477 }, + { 0x04B6, 74808 }, + { 0x04B7, 73816 }, + { 0x04B8, 74813 }, + { 0x04B9, 73821 }, + { 0x04BA, 74838 }, + { 0x04BB, 73846 }, + { 0x04BC, 74843 }, + { 0x04BD, 73851 }, + { 0x04BE, 74818 }, + { 0x04BF, 73826 }, + { 0x04C0, 74823 }, + { 0x04C1, 73831 }, + { 0x04C2, 74828 }, + { 0x04C3, 73836 }, + { 0x04C4, 74833 }, + { 0x04C5, 73841 }, + { 0x04C6, 75100 }, + { 0x04C7, 74143 }, + { 0x04C8, 74368 }, + { 0x04C9, 73376 }, + { 0x04CA, 74713 }, + { 0x04CB, 73721 }, + { 0x04CC, 74729 }, + { 0x04CD, 73737 }, + { 0x04CE, 74745 }, + { 0x04CF, 73753 }, + { 0x04D0, 74555 }, + { 0x04D1, 73563 }, + { 0x04D2, 74584 }, + { 0x04D3, 73592 }, + { 0x04D4, 74919 }, + { 0x04D5, 73948 }, + { 0x04D6, 74380 }, + { 0x04D7, 73388 }, + { 0x04D8, 74426 }, + { 0x04D9, 73434 }, + { 0x04DA, 74549 }, + { 0x04DB, 73557 }, + { 0x04DC, 74852 }, + { 0x04DD, 73860 }, + { 0x04DE, 74413 }, + { 0x04DF, 73421 }, + { 0x04E0, 74937 }, + { 0x04E1, 73966 }, + { 0x04E2, 74779 }, + { 0x04E3, 73787 }, + { 0x04E4, 74387 }, + { 0x04E5, 73395 }, + { 0x04E6, 69007 }, + { 0x04E7, 69011 }, + { 0x04E8, 69027 }, + { 0x04E9, 68963 }, + { 0x04EA, 69019 }, + { 0x04EB, 69003 }, + { 0x04EC, 68967 }, + { 0x04ED, 68971 }, + { 0x04EE, 68991 }, + { 0x04EF, 69075 }, + { 0x04F0, 69031 }, + { 0x04F1, 69091 }, + { 0x04F2, 69071 }, + { 0x04F3, 68955 }, + { 0x04F4, 69039 }, + { 0x04F5, 68975 }, + { 0x04F6, 68979 }, + { 0x04F7, 69083 }, + { 0x04F8, 69079 }, + { 0x04F9, 69043 }, + { 0x04FA, 68999 }, + { 0x04FB, 69047 }, + { 0x04FC, 69063 }, + { 0x04FD, 68995 }, + { 0x04FE, 69015 }, + { 0x04FF, 69051 }, + { 0x0500, 69087 }, + { 0x0501, 68987 }, + { 0x0502, 69059 }, + { 0x0503, 69067 }, + { 0x0504, 69099 }, + { 0x0505, 69055 }, + { 0x0506, 68959 }, + { 0x0507, 69103 }, + { 0x0508, 69095 }, + { 0x0509, 69035 }, + { 0x050A, 68983 }, + { 0x050B, 69023 }, + { 0x050C, 69110 }, + { 0x050D, 69119 }, + { 0x050E, 69107 }, + { 0x050F, 69121 }, + { 0x0510, 68769 }, + { 0x0511, 69116 }, + { 0x0512, 69124 }, + { 0x0513, 68823 }, + { 0x0514, 68827 }, + { 0x0515, 68843 }, + { 0x0516, 68779 }, + { 0x0517, 68835 }, + { 0x0518, 68819 }, + { 0x0519, 68783 }, + { 0x051A, 68787 }, + { 0x051B, 68807 }, + { 0x051C, 68891 }, + { 0x051D, 68847 }, + { 0x051E, 68907 }, + { 0x051F, 68887 }, + { 0x0520, 68771 }, + { 0x0521, 68855 }, + { 0x0522, 68791 }, + { 0x0523, 68795 }, + { 0x0524, 68899 }, + { 0x0525, 68895 }, + { 0x0526, 68859 }, + { 0x0527, 68815 }, + { 0x0528, 68863 }, + { 0x0529, 68879 }, + { 0x052A, 68811 }, + { 0x052B, 68831 }, + { 0x052C, 68867 }, + { 0x052D, 68903 }, + { 0x052E, 68803 }, + { 0x052F, 68875 }, + { 0x0530, 68883 }, + { 0x0531, 68915 }, + { 0x0532, 68871 }, + { 0x0533, 68775 }, + { 0x0534, 68919 }, + { 0x0535, 68911 }, + { 0x0536, 68851 }, + { 0x0537, 68799 }, + { 0x0538, 68839 }, + { 0x0539, 68923 }, + { 0x053A, 68766 }, + { 0x053B, 68953 }, + { 0x053C, 114868 }, + { 0x053D, 106200 }, + { 0x053E, 68763 }, + { 0x053F, 48037 }, + { 0x0540, 47985 }, + { 0x0541, 48054 }, + { 0x0542, 48003 }, + { 0x0543, 47999 }, + { 0x0544, 48034 }, + { 0x0545, 47982 }, + { 0x0546, 48007 }, + { 0x0547, 48027 }, + { 0x0548, 47996 }, + { 0x0549, 47988 }, + { 0x054A, 48013 }, + { 0x054B, 48016 }, + { 0x054C, 48051 }, + { 0x054D, 48030 }, + { 0x054E, 48040 }, + { 0x054F, 47976 }, + { 0x0550, 47966 }, + { 0x0551, 47973 }, + { 0x0552, 48048 }, + { 0x0553, 48020 }, + { 0x0554, 48023 }, + { 0x0555, 47970 }, + { 0x0556, 47979 }, + { 0x0557, 48044 }, + { 0x0558, 47991 }, + { 0x0559, 47957 }, + { 0x055A, 47963 }, + { 0x055B, 47960 }, + { 0x055C, 48010 }, + { 0x055D, 47884 }, + { 0x055E, 47932 }, + { 0x055F, 47903 }, + { 0x0560, 47899 }, + { 0x0561, 47907 }, + { 0x0562, 47911 }, + { 0x0563, 47935 }, + { 0x0564, 47929 }, + { 0x0565, 47926 }, + { 0x0566, 47943 }, + { 0x0567, 47914 }, + { 0x0568, 47917 }, + { 0x0569, 47950 }, + { 0x056A, 47938 }, + { 0x056B, 47923 }, + { 0x056C, 48393 }, + { 0x056D, 47892 }, + { 0x056E, 48396 }, + { 0x056F, 47895 }, + { 0x0570, 47888 }, + { 0x0571, 48389 }, + { 0x0572, 47880 }, + { 0x0573, 47876 }, + { 0x0574, 48385 }, + { 0x0575, 47946 }, + { 0x0576, 48173 }, + { 0x0577, 48078 }, + { 0x0578, 48311 }, + { 0x0579, 48271 }, + { 0x057A, 48057 }, + { 0x057B, 48147 }, + { 0x057C, 48335 }, + { 0x057D, 48091 }, + { 0x057E, 48139 }, + { 0x057F, 48160 }, + { 0x0580, 48289 }, + { 0x0581, 48094 }, + { 0x0582, 48319 }, + { 0x0583, 48299 }, + { 0x0584, 48107 }, + { 0x0585, 48303 }, + { 0x0586, 48115 }, + { 0x0587, 48343 }, + { 0x0588, 48191 }, + { 0x0589, 48279 }, + { 0x058A, 48065 }, + { 0x058B, 48307 }, + { 0x058C, 48327 }, + { 0x058D, 48123 }, + { 0x058E, 48194 }, + { 0x058F, 48202 }, + { 0x0590, 48131 }, + { 0x0591, 48375 }, + { 0x0592, 48364 }, + { 0x0593, 48380 }, + { 0x0594, 48399 }, + { 0x0595, 48402 }, + { 0x0596, 39401 }, + { 0x0597, 36358 }, + { 0x0598, 39547 }, + { 0x0599, 36355 }, + { 0x059A, 36365 }, + { 0x059B, 39397 }, + { 0x059C, 109700 }, + { 0x059D, 109733 }, + { 0x059E, 36309 }, + { 0x059F, 109696 }, + { 0x05A0, 109691 }, + { 0x05A1, 57824 }, + { 0x05A2, 36424 }, + { 0x05A3, 36311 }, + { 0x05A4, 39404 }, + { 0x05A5, 36352 }, + { 0x05A6, 36384 }, + { 0x05A7, 36361 }, + { 0x05A8, 36380 }, + { 0x05A9, 36347 }, + { 0x05AA, 36377 }, + { 0x05AB, 36568 }, + { 0x05AC, 36706 }, + { 0x05AD, 36650 }, + { 0x05AE, 36718 }, + { 0x05AF, 36715 }, + { 0x05B0, 36721 }, + { 0x05B1, 43310 }, + { 0x05B2, 38551 }, + { 0x05B3, 39501 }, + { 0x05B4, 43302 }, + { 0x05B5, 39378 }, + { 0x05B6, 39024 }, + { 0x05B7, 38315 }, + { 0x05B8, 38271 }, + { 0x05B9, 38010 }, + { 0x05BA, 38293 }, + { 0x05BB, 38099 }, + { 0x05BC, 38254 }, + { 0x05BD, 36946 }, + { 0x05BE, 37934 }, + { 0x05BF, 37896 }, + { 0x05C0, 38812 }, + { 0x05C1, 38498 }, + { 0x05C2, 37292 }, + { 0x05C3, 38528 }, + { 0x05C4, 37082 }, + { 0x05C5, 38799 }, + { 0x05C6, 37707 }, + { 0x05C7, 38858 }, + { 0x05C8, 38708 }, + { 0x05C9, 39160 }, + { 0x05CA, 37815 }, + { 0x05CB, 37053 }, + { 0x05CC, 37859 }, + { 0x05CD, 38231 }, + { 0x05CE, 36885 }, + { 0x05CF, 38995 }, + { 0x05D0, 39041 }, + { 0x05D1, 39055 }, + { 0x05D2, 38964 }, + { 0x05D3, 38918 }, + { 0x05D4, 38926 }, + { 0x05D5, 39523 }, + { 0x05D6, 37175 }, + { 0x05D7, 37665 }, + { 0x05D8, 37517 }, + { 0x05D9, 37571 }, + { 0x05DA, 38554 }, + { 0x05DB, 38596 }, + { 0x05DC, 37390 }, + { 0x05DD, 37983 }, + { 0x05DE, 38376 }, + { 0x05DF, 38060 }, + { 0x05E0, 39541 }, + { 0x05E1, 39530 }, + { 0x05E2, 39553 }, + { 0x05E3, 36468 }, + { 0x05E4, 36444 }, + { 0x05E5, 36498 }, + { 0x05E6, 39408 }, + { 0x05E7, 36730 }, + { 0x05E8, 39394 }, + { 0x05E9, 36492 }, + { 0x05EA, 36495 }, + { 0x05EB, 43312 }, + { 0x05EC, 39550 }, + { 0x05ED, 36329 }, + { 0x05EE, 43308 }, + { 0x05EF, 36745 }, + { 0x05F0, 36751 }, + { 0x05F1, 36740 }, + { 0x05F2, 43305 }, + { 0x05F3, 36475 }, + { 0x05F4, 36420 }, + { 0x05F5, 109721 }, + { 0x05F6, 109703 }, + { 0x05F7, 109709 }, + { 0x05F8, 109730 }, + { 0x05F9, 109715 }, + { 0x05FA, 109712 }, + { 0x05FB, 109706 }, + { 0x05FC, 109727 }, + { 0x05FD, 109724 }, + { 0x05FE, 109718 }, + { 0x05FF, 39513 }, + { 0x0600, 39510 }, + { 0x0601, 43315 }, + { 0x0602, 36314 }, + { 0x0603, 39311 }, + { 0x0604, 39319 }, + { 0x0605, 39390 }, + { 0x0606, 38360 }, + { 0x0607, 38257 }, + { 0x0608, 38264 }, + { 0x0609, 38479 }, + { 0x060A, 38493 }, + { 0x060B, 38483 }, + { 0x060C, 36796 }, + { 0x060D, 38488 }, + { 0x060E, 38835 }, + { 0x060F, 39258 }, + { 0x0610, 38397 }, + { 0x0611, 37899 }, + { 0x0612, 37911 }, + { 0x0613, 37635 }, + { 0x0614, 39222 }, + { 0x0615, 38878 }, + { 0x0616, 37310 }, + { 0x0617, 37302 }, + { 0x0618, 38672 }, + { 0x0619, 38433 }, + { 0x061A, 37345 }, + { 0x061B, 39193 }, + { 0x061C, 39355 }, + { 0x061D, 38420 }, + { 0x061E, 37118 }, + { 0x061F, 37085 }, + { 0x0620, 37091 }, + { 0x0621, 38901 }, + { 0x0622, 39245 }, + { 0x0623, 37162 }, + { 0x0624, 37123 }, + { 0x0625, 37111 }, + { 0x0626, 38695 }, + { 0x0627, 37763 }, + { 0x0628, 37752 }, + { 0x0629, 37710 }, + { 0x062A, 37769 }, + { 0x062B, 37716 }, + { 0x062C, 37725 }, + { 0x062D, 37504 }, + { 0x062E, 37740 }, + { 0x062F, 38711 }, + { 0x0630, 38746 }, + { 0x0631, 38753 }, + { 0x0632, 37818 }, + { 0x0633, 37825 }, + { 0x0634, 37869 }, + { 0x0635, 36903 }, + { 0x0636, 39315 }, + { 0x0637, 37194 }, + { 0x0638, 37178 }, + { 0x0639, 37960 }, + { 0x063A, 37208 }, + { 0x063B, 39114 }, + { 0x063C, 37668 }, + { 0x063D, 37680 }, + { 0x063E, 39032 }, + { 0x063F, 39189 }, + { 0x0640, 37539 }, + { 0x0641, 37520 }, + { 0x0642, 36823 }, + { 0x0643, 37544 }, + { 0x0644, 37244 }, + { 0x0645, 37254 }, + { 0x0646, 39091 }, + { 0x0647, 37247 }, + { 0x0648, 38456 }, + { 0x0649, 37259 }, + { 0x064A, 37585 }, + { 0x064B, 37579 }, + { 0x064C, 37591 }, + { 0x064D, 37598 }, + { 0x064E, 38599 }, + { 0x064F, 38641 }, + { 0x0650, 39137 }, + { 0x0651, 38612 }, + { 0x0652, 38629 }, + { 0x0653, 37476 }, + { 0x0654, 39196 }, + { 0x0655, 37428 }, + { 0x0656, 37393 }, + { 0x0657, 37397 }, + { 0x0658, 37938 }, + { 0x0659, 38005 }, + { 0x065A, 39323 }, + { 0x065B, 36846 }, + { 0x065C, 36793 }, + { 0x065D, 36872 }, + { 0x065E, 39339 }, + { 0x065F, 37998 }, + { 0x0660, 36859 }, + { 0x0661, 38914 }, + { 0x0662, 38094 }, + { 0x0663, 38137 }, + { 0x0664, 37986 }, + { 0x0665, 36770 }, + { 0x0666, 38143 }, + { 0x0667, 38155 }, + { 0x0668, 38159 }, + { 0x0669, 36318 }, + { 0x066A, 36820 }, + { 0x066B, 36696 }, + { 0x066C, 36686 }, + { 0x066D, 36584 }, + { 0x066E, 36555 }, + { 0x066F, 36580 }, + { 0x0670, 36658 }, + { 0x0671, 36606 }, + { 0x0672, 36305 }, + { 0x0673, 36724 }, + { 0x0674, 36670 }, + { 0x0675, 36675 }, + { 0x0676, 36663 }, + { 0x0677, 36590 }, + { 0x0678, 36541 }, + { 0x0679, 36654 }, + { 0x067A, 36545 }, + { 0x067B, 36548 }, + { 0x067C, 36576 }, + { 0x067D, 36596 }, + { 0x067E, 36513 }, + { 0x067F, 36458 }, + { 0x0680, 36463 }, + { 0x0681, 39516 }, + { 0x0682, 36531 }, + { 0x0683, 37138 }, + { 0x0684, 37799 }, + { 0x0685, 80589 }, + { 0x0686, 80565 }, + { 0x0687, 80573 }, + { 0x0688, 80601 }, + { 0x0689, 80581 }, + { 0x068A, 80577 }, + { 0x068B, 80569 }, + { 0x068C, 80597 }, + { 0x068D, 80593 }, + { 0x068E, 80585 }, + { 0x068F, 39163 }, + { 0x0690, 37056 }, + { 0x0691, 38998 }, + { 0x0692, 36368 }, + { 0x0693, 36372 }, + { 0x0694, 37450 }, + { 0x0695, 54859 }, + { 0x0696, 55107 }, + { 0x0697, 55082 }, + { 0x0698, 55111 }, + { 0x0699, 55086 }, + { 0x069A, 55099 }, + { 0x069B, 54873 }, + { 0x069C, 54877 }, + { 0x069D, 55114 }, + { 0x069E, 55094 }, + { 0x069F, 55102 }, + { 0x06A0, 55069 }, + { 0x06A1, 55072 }, + { 0x06A2, 55075 }, + { 0x06A3, 55119 }, + { 0x06A4, 54975 }, + { 0x06A5, 55034 }, + { 0x06A6, 54940 }, + { 0x06A7, 54982 }, + { 0x06A8, 54985 }, + { 0x06A9, 54992 }, + { 0x06AA, 54998 }, + { 0x06AB, 54922 }, + { 0x06AC, 54937 }, + { 0x06AD, 54972 }, + { 0x06AE, 54943 }, + { 0x06AF, 54958 }, + { 0x06B0, 54961 }, + { 0x06B1, 54965 }, + { 0x06B2, 54968 }, + { 0x06B3, 54946 }, + { 0x06B4, 54995 }, + { 0x06B5, 54928 }, + { 0x06B6, 54931 }, + { 0x06B7, 55015 }, + { 0x06B8, 54978 }, + { 0x06B9, 54919 }, + { 0x06BA, 54925 }, + { 0x06BB, 55030 }, + { 0x06BC, 54989 }, + { 0x06BD, 54949 }, + { 0x06BE, 54952 }, + { 0x06BF, 54955 }, + { 0x06C0, 54934 }, + { 0x06C1, 55003 }, + { 0x06C2, 55007 }, + { 0x06C3, 55011 }, + { 0x06C4, 55038 }, + { 0x06C5, 55041 }, + { 0x06C6, 55044 }, + { 0x06C7, 55047 }, + { 0x06C8, 55050 }, + { 0x06C9, 55053 }, + { 0x06CA, 54895 }, + { 0x06CB, 54898 }, + { 0x06CC, 54915 }, + { 0x06CD, 54911 }, + { 0x06CE, 54887 }, + { 0x06CF, 54890 }, + { 0x06D0, 55104 }, + { 0x06D1, 54881 }, + { 0x06D2, 54884 }, + { 0x06D3, 54901 }, + { 0x06D4, 55066 }, + { 0x06D5, 55080 }, + { 0x06D6, 55078 }, + { 0x06D7, 54863 }, + { 0x06D8, 54868 }, + { 0x06D9, 54903 }, + { 0x06DA, 54907 }, + { 0x06DB, 55058 }, + { 0x06DC, 55062 }, + { 0x06DD, 54893 }, + { 0x06DE, 55056 }, + { 0x06DF, 55026 }, + { 0x06E0, 55022 }, + { 0x06E1, 55018 }, + { 0x06E2, 37017 }, + { 0x06E3, 36949 }, + { 0x06E4, 36995 }, + { 0x06E5, 37004 }, + { 0x06E6, 36959 }, + { 0x06E7, 37025 }, + { 0x06E8, 36975 }, + { 0x06E9, 37295 }, + { 0x06EA, 37352 }, + { 0x06EB, 37100 }, + { 0x06EC, 37144 }, + { 0x06ED, 37794 }, + { 0x06EE, 38728 }, + { 0x06EF, 36888 }, + { 0x06F0, 36917 }, + { 0x06F1, 36895 }, + { 0x06F2, 37201 }, + { 0x06F3, 37215 }, + { 0x06F4, 39035 }, + { 0x06F5, 39048 }, + { 0x06F6, 39062 }, + { 0x06F7, 38557 }, + { 0x06F8, 38563 }, + { 0x06F9, 38605 }, + { 0x06FA, 38623 }, + { 0x06FB, 38617 }, + { 0x06FC, 37574 }, + { 0x06FD, 37732 }, + { 0x06FE, 37757 }, + { 0x06FF, 38720 }, + { 0x0700, 37336 }, + { 0x0701, 37316 }, + { 0x0702, 38735 }, + { 0x0703, 37783 }, + { 0x0704, 37327 }, + { 0x0705, 38337 }, + { 0x0706, 38346 }, + { 0x0707, 38934 }, + { 0x0708, 38954 }, + { 0x0709, 38944 }, + { 0x070A, 38032 }, + { 0x070B, 38041 }, + { 0x070C, 38184 }, + { 0x070D, 38194 }, + { 0x070E, 37361 }, + { 0x070F, 38764 }, + { 0x0710, 38773 }, + { 0x0711, 37532 }, + { 0x0712, 57010 }, + { 0x0713, 57115 }, + { 0x0714, 57058 }, + { 0x0715, 57016 }, + { 0x0716, 57007 }, + { 0x0717, 57112 }, + { 0x0718, 57049 }, + { 0x0719, 57040 }, + { 0x071A, 57067 }, + { 0x071B, 57055 }, + { 0x071C, 57043 }, + { 0x071D, 57076 }, + { 0x071E, 57034 }, + { 0x071F, 57052 }, + { 0x0720, 57046 }, + { 0x0721, 57109 }, + { 0x0722, 57064 }, + { 0x0723, 57091 }, + { 0x0724, 57103 }, + { 0x0725, 57100 }, + { 0x0726, 57019 }, + { 0x0727, 57097 }, + { 0x0728, 57094 }, + { 0x0729, 57106 }, + { 0x072A, 57037 }, + { 0x072B, 57028 }, + { 0x072C, 57031 }, + { 0x072D, 57088 }, + { 0x072E, 57022 }, + { 0x072F, 57085 }, + { 0x0730, 57082 }, + { 0x0731, 57073 }, + { 0x0732, 57001 }, + { 0x0733, 57004 }, + { 0x0734, 57025 }, + { 0x0735, 57079 }, + { 0x0736, 57061 }, + { 0x0737, 57070 }, + { 0x0738, 57118 }, + { 0x0739, 57128 }, + { 0x073A, 57122 }, + { 0x073B, 57130 }, + { 0x073C, 57126 }, + { 0x073D, 57136 }, + { 0x073E, 57120 }, + { 0x073F, 57132 }, + { 0x0740, 57124 }, + { 0x0741, 57134 }, + { 0x0742, 56999 }, + { 0x0743, 57013 }, + { 0x0744, 6907 }, + { 0x0745, 6889 }, + { 0x0746, 6895 }, + { 0x0747, 6916 }, + { 0x0748, 6901 }, + { 0x0749, 6898 }, + { 0x074A, 6892 }, + { 0x074B, 6913 }, + { 0x074C, 6910 }, + { 0x074D, 6904 }, + { 0x074E, 6919 }, + { 0x074F, 6943 }, + { 0x0750, 6925 }, + { 0x0751, 6922 }, + { 0x0752, 6934 }, + { 0x0753, 6971 }, + { 0x0754, 6931 }, + { 0x0755, 7020 }, + { 0x0756, 6928 }, + { 0x0757, 6937 }, + { 0x0758, 6974 }, + { 0x0759, 6983 }, + { 0x075A, 6952 }, + { 0x075B, 6992 }, + { 0x075C, 6940 }, + { 0x075D, 6977 }, + { 0x075E, 7005 }, + { 0x075F, 6980 }, + { 0x0760, 6995 }, + { 0x0761, 6946 }, + { 0x0762, 6955 }, + { 0x0763, 6958 }, + { 0x0764, 6967 }, + { 0x0765, 6961 }, + { 0x0766, 6998 }, + { 0x0767, 6964 }, + { 0x0768, 6949 }, + { 0x0769, 6986 }, + { 0x076A, 6989 }, + { 0x076B, 7001 }, + { 0x076C, 7008 }, + { 0x076D, 7016 }, + { 0x076E, 7012 }, + { 0x076F, 7055 }, + { 0x0770, 7050 }, + { 0x0771, 7060 }, + { 0x0772, 7045 }, + { 0x0773, 7035 }, + { 0x0774, 7030 }, + { 0x0775, 7040 }, + { 0x0776, 7070 }, + { 0x0777, 7065 }, + { 0x0778, 6883 }, + { 0x0779, 6879 }, + { 0x077A, 7023 }, + { 0x077B, 7027 }, + { 0x077C, 6887 }, + { 0x077D, 7076 }, + { 0x077E, 7074 }, + { 0x077F, 101940 }, + { 0x0780, 101919 }, + { 0x0781, 101958 }, + { 0x0782, 101955 }, + { 0x0783, 101913 }, + { 0x0784, 101916 }, + { 0x0785, 101937 }, + { 0x0786, 101910 }, + { 0x0787, 101931 }, + { 0x0788, 101934 }, + { 0x0789, 101943 }, + { 0x078A, 101961 }, + { 0x078B, 101922 }, + { 0x078C, 101925 }, + { 0x078D, 101964 }, + { 0x078E, 101907 }, + { 0x078F, 101904 }, + { 0x0790, 101967 }, + { 0x0791, 101928 }, + { 0x0792, 101946 }, + { 0x0793, 101949 }, + { 0x0794, 101952 }, + { 0x0795, 101817 }, + { 0x0796, 101823 }, + { 0x0797, 101829 }, + { 0x0798, 101820 }, + { 0x0799, 101979 }, + { 0x079A, 101832 }, + { 0x079B, 101865 }, + { 0x079C, 101840 }, + { 0x079D, 101899 }, + { 0x079E, 101880 }, + { 0x079F, 101856 }, + { 0x07A0, 101894 }, + { 0x07A1, 101860 }, + { 0x07A2, 101836 }, + { 0x07A3, 101974 }, + { 0x07A4, 101885 }, + { 0x07A5, 101875 }, + { 0x07A6, 101852 }, + { 0x07A7, 101970 }, + { 0x07A8, 101870 }, + { 0x07A9, 101844 }, + { 0x07AA, 101848 }, + { 0x07AB, 101890 }, + { 0x07AC, 101826 }, + { 0x07AD, 102022 }, + { 0x07AE, 102006 }, + { 0x07AF, 101997 }, + { 0x07B0, 101984 }, + { 0x07B1, 102012 }, + { 0x07B2, 102025 }, + { 0x07B3, 102028 }, + { 0x07B4, 102018 }, + { 0x07B5, 102003 }, + { 0x07B6, 102000 }, + { 0x07B7, 101994 }, + { 0x07B8, 101991 }, + { 0x07B9, 102015 }, + { 0x07BA, 101987 }, + { 0x07BB, 102009 }, + { 0x07BC, 62075 }, + { 0x07BD, 62009 }, + { 0x07BE, 62015 }, + { 0x07BF, 62012 }, + { 0x07C0, 62018 }, + { 0x07C1, 62078 }, + { 0x07C2, 62048 }, + { 0x07C3, 62054 }, + { 0x07C4, 62066 }, + { 0x07C5, 62072 }, + { 0x07C6, 62021 }, + { 0x07C7, 62024 }, + { 0x07C8, 62027 }, + { 0x07C9, 62030 }, + { 0x07CA, 62042 }, + { 0x07CB, 62051 }, + { 0x07CC, 62033 }, + { 0x07CD, 62063 }, + { 0x07CE, 62036 }, + { 0x07CF, 62039 }, + { 0x07D0, 62060 }, + { 0x07D1, 62045 }, + { 0x07D2, 62081 }, + { 0x07D3, 62069 }, + { 0x07D4, 62057 }, + { 0x07D5, 62087 }, + { 0x07D6, 62092 }, + { 0x07D7, 62084 }, + { 0x07D8, 62090 }, + { 0x07D9, 36981 }, + { 0x07DA, 36969 }, + { 0x07DB, 38501 }, + { 0x07DC, 37862 }, + { 0x07DD, 37184 }, + { 0x07DE, 37674 }, + { 0x07DF, 37605 }, + { 0x07E0, 38569 }, + { 0x07E1, 38073 }, + { 0x07E2, 38063 }, + { 0x07E3, 37747 }, + { 0x07E4, 37992 }, + { 0x07E5, 39382 }, + { 0x07E6, 37631 }, + { 0x07E7, 37131 }, + { 0x07E8, 37832 }, + { 0x07E9, 37266 }, + { 0x07EA, 39386 }, + { 0x07EB, 38861 }, + { 0x07EC, 36910 }, + { 0x07ED, 37526 }, + { 0x07EE, 36988 }, + { 0x07EF, 37638 }, + { 0x07F0, 37904 }, + { 0x07F1, 37776 }, + { 0x07F2, 38083 }, + { 0x07F3, 39299 }, + { 0x07F4, 39303 }, + { 0x07F5, 39307 }, + { 0x07F6, 36630 }, + { 0x07F7, 36564 }, + { 0x07F8, 36551 }, + { 0x07F9, 36560 }, + { 0x07FA, 36600 }, + { 0x07FB, 36535 }, + { 0x07FC, 36645 }, + { 0x07FD, 36640 }, + { 0x07FE, 36635 }, + { 0x07FF, 36620 }, + { 0x0800, 36615 }, + { 0x0801, 36625 }, + { 0x0802, 36681 }, + { 0x0803, 36610 }, + { 0x0804, 39536 }, + { 0x0805, 39506 }, + { 0x0806, 36429 }, + { 0x0807, 36426 }, + { 0x0808, 36432 }, + { 0x0809, 36438 }, + { 0x080A, 36435 }, + { 0x080B, 36441 }, + { 0x080C, 36392 }, + { 0x080D, 36402 }, + { 0x080E, 36412 }, + { 0x080F, 36397 }, + { 0x0810, 36407 }, + { 0x0811, 36416 }, + { 0x0812, 36341 }, + { 0x0813, 36338 }, + { 0x0814, 36344 }, + { 0x0815, 36572 }, + { 0x0816, 36480 }, + { 0x0817, 36470 }, + { 0x0818, 36500 }, + { 0x0819, 36321 }, + { 0x081A, 36517 }, + { 0x081B, 36325 }, + { 0x081C, 36527 }, + { 0x081D, 36758 }, + { 0x081E, 36763 }, + { 0x081F, 36521 }, + { 0x0820, 36446 }, + { 0x0821, 36333 }, + { 0x0822, 103253 }, + { 0x0823, 103260 }, + { 0x0824, 103247 }, + { 0x0825, 103244 }, + { 0x0826, 103628 }, + { 0x0827, 103429 }, + { 0x0828, 103444 }, + { 0x0829, 103435 }, + { 0x082A, 103474 }, + { 0x082B, 103441 }, + { 0x082C, 103513 }, + { 0x082D, 103664 }, + { 0x082E, 103660 }, + { 0x082F, 103644 }, + { 0x0830, 103632 }, + { 0x0831, 103432 }, + { 0x0832, 103447 }, + { 0x0833, 103648 }, + { 0x0834, 103636 }, + { 0x0835, 103438 }, + { 0x0836, 103450 }, + { 0x0837, 103480 }, + { 0x0838, 103552 }, + { 0x0839, 103468 }, + { 0x083A, 103543 }, + { 0x083B, 103558 }, + { 0x083C, 103459 }, + { 0x083D, 103531 }, + { 0x083E, 103477 }, + { 0x083F, 103546 }, + { 0x0840, 103564 }, + { 0x0841, 103588 }, + { 0x0842, 103618 }, + { 0x0843, 103534 }, + { 0x0844, 103603 }, + { 0x0845, 103561 }, + { 0x0846, 103507 }, + { 0x0847, 103585 }, + { 0x0848, 103462 }, + { 0x0849, 103537 }, + { 0x084A, 103489 }, + { 0x084B, 103615 }, + { 0x084C, 103495 }, + { 0x084D, 103570 }, + { 0x084E, 103456 }, + { 0x084F, 103528 }, + { 0x0850, 103486 }, + { 0x0851, 103519 }, + { 0x0852, 103501 }, + { 0x0853, 103576 }, + { 0x0854, 103483 }, + { 0x0855, 103555 }, + { 0x0856, 103612 }, + { 0x0857, 103516 }, + { 0x0858, 103579 }, + { 0x0859, 103582 }, + { 0x085A, 103504 }, + { 0x085B, 103471 }, + { 0x085C, 103355 }, + { 0x085D, 103367 }, + { 0x085E, 103226 }, + { 0x085F, 103250 }, + { 0x0860, 103335 }, + { 0x0861, 103323 }, + { 0x0862, 103351 }, + { 0x0863, 103331 }, + { 0x0864, 103363 }, + { 0x0865, 103406 }, + { 0x0866, 103416 }, + { 0x0867, 103385 }, + { 0x0868, 103375 }, + { 0x0869, 103319 }, + { 0x086A, 103339 }, + { 0x086B, 103390 }, + { 0x086C, 103380 }, + { 0x086D, 103327 }, + { 0x086E, 103343 }, + { 0x086F, 103234 }, + { 0x0870, 103421 }, + { 0x0871, 103347 }, + { 0x0872, 103213 }, + { 0x0873, 103676 }, + { 0x0874, 103680 }, + { 0x0875, 103316 }, + { 0x0876, 103279 }, + { 0x0877, 103395 }, + { 0x0878, 103359 }, + { 0x0879, 103371 }, + { 0x087A, 103498 }, + { 0x087B, 103609 }, + { 0x087C, 103606 }, + { 0x087D, 103522 }, + { 0x087E, 103621 }, + { 0x087F, 103573 }, + { 0x0880, 103465 }, + { 0x0881, 103594 }, + { 0x0882, 103672 }, + { 0x0883, 103668 }, + { 0x0884, 103401 }, + { 0x0885, 103411 }, + { 0x0886, 103284 }, + { 0x0887, 103426 }, + { 0x0888, 103304 }, + { 0x0889, 103286 }, + { 0x088A, 103292 }, + { 0x088B, 103313 }, + { 0x088C, 103298 }, + { 0x088D, 103295 }, + { 0x088E, 103289 }, + { 0x088F, 103310 }, + { 0x0890, 103307 }, + { 0x0891, 103301 }, + { 0x0892, 103686 }, + { 0x0893, 103221 }, + { 0x0894, 103640 }, + { 0x0895, 103492 }, + { 0x0896, 103567 }, + { 0x0897, 103453 }, + { 0x0898, 103510 }, + { 0x0899, 103591 }, + { 0x089A, 103656 }, + { 0x089B, 103597 }, + { 0x089C, 103624 }, + { 0x089D, 103540 }, + { 0x089E, 103549 }, + { 0x089F, 103652 }, + { 0x08A0, 103600 }, + { 0x08A1, 103525 }, + { 0x08A2, 58013 }, + { 0x08A3, 58030 }, + { 0x08A4, 58024 }, + { 0x08A5, 58021 }, + { 0x08A6, 58130 }, + { 0x08A7, 58145 }, + { 0x08A8, 58136 }, + { 0x08A9, 58169 }, + { 0x08AA, 58142 }, + { 0x08AB, 58211 }, + { 0x08AC, 58285 }, + { 0x08AD, 58281 }, + { 0x08AE, 58133 }, + { 0x08AF, 58148 }, + { 0x08B0, 58139 }, + { 0x08B1, 58151 }, + { 0x08B2, 58175 }, + { 0x08B3, 58235 }, + { 0x08B4, 58163 }, + { 0x08B5, 58229 }, + { 0x08B6, 58238 }, + { 0x08B7, 58157 }, + { 0x08B8, 58220 }, + { 0x08B9, 58172 }, + { 0x08BA, 58232 }, + { 0x08BB, 58244 }, + { 0x08BC, 58265 }, + { 0x08BD, 58274 }, + { 0x08BE, 58223 }, + { 0x08BF, 58271 }, + { 0x08C0, 58241 }, + { 0x08C1, 58208 }, + { 0x08C2, 58262 }, + { 0x08C3, 58160 }, + { 0x08C4, 58226 }, + { 0x08C5, 58184 }, + { 0x08C6, 58187 }, + { 0x08C7, 58247 }, + { 0x08C8, 58154 }, + { 0x08C9, 58217 }, + { 0x08CA, 58181 }, + { 0x08CB, 58214 }, + { 0x08CC, 58190 }, + { 0x08CD, 58178 }, + { 0x08CE, 58256 }, + { 0x08CF, 58259 }, + { 0x08D0, 58205 }, + { 0x08D1, 58166 }, + { 0x08D2, 58015 }, + { 0x08D3, 58027 }, + { 0x08D4, 58088 }, + { 0x08D5, 58076 }, + { 0x08D6, 58100 }, + { 0x08D7, 58084 }, + { 0x08D8, 58104 }, + { 0x08D9, 58113 }, + { 0x08DA, 58123 }, + { 0x08DB, 58072 }, + { 0x08DC, 58092 }, + { 0x08DD, 58080 }, + { 0x08DE, 58096 }, + { 0x08DF, 58018 }, + { 0x08E0, 58277 }, + { 0x08E1, 58009 }, + { 0x08E2, 58253 }, + { 0x08E3, 58250 }, + { 0x08E4, 58268 }, + { 0x08E5, 58293 }, + { 0x08E6, 58289 }, + { 0x08E7, 58108 }, + { 0x08E8, 58118 }, + { 0x08E9, 58051 }, + { 0x08EA, 58033 }, + { 0x08EB, 58039 }, + { 0x08EC, 58060 }, + { 0x08ED, 58045 }, + { 0x08EE, 58042 }, + { 0x08EF, 58036 }, + { 0x08F0, 58057 }, + { 0x08F1, 58054 }, + { 0x08F2, 58048 }, + { 0x08F3, 58199 }, + { 0x08F4, 58193 }, + { 0x08F5, 58066 }, + { 0x08F6, 58069 }, + { 0x08F7, 58297 }, + { 0x08F8, 58309 }, + { 0x08F9, 58317 }, + { 0x08FA, 58313 }, + { 0x08FB, 58301 }, + { 0x08FC, 58321 }, + { 0x08FD, 58128 }, + { 0x08FE, 58063 }, + { 0x08FF, 81389 }, + { 0x0900, 81393 }, + { 0x0901, 81408 }, + { 0x0902, 81481 }, + { 0x0903, 81490 }, + { 0x0904, 81484 }, + { 0x0905, 81520 }, + { 0x0906, 81487 }, + { 0x0907, 81553 }, + { 0x0908, 81508 }, + { 0x0909, 81493 }, + { 0x090A, 81538 }, + { 0x090B, 81496 }, + { 0x090C, 81526 }, + { 0x090D, 81583 }, + { 0x090E, 81514 }, + { 0x090F, 81577 }, + { 0x0910, 81589 }, + { 0x0911, 81502 }, + { 0x0912, 81568 }, + { 0x0913, 81523 }, + { 0x0914, 81580 }, + { 0x0915, 81595 }, + { 0x0916, 81610 }, + { 0x0917, 81622 }, + { 0x0918, 81571 }, + { 0x0919, 81613 }, + { 0x091A, 81592 }, + { 0x091B, 81550 }, + { 0x091C, 81607 }, + { 0x091D, 81505 }, + { 0x091E, 81574 }, + { 0x091F, 81535 }, + { 0x0920, 81541 }, + { 0x0921, 81598 }, + { 0x0922, 81499 }, + { 0x0923, 81565 }, + { 0x0924, 81532 }, + { 0x0925, 81559 }, + { 0x0926, 81544 }, + { 0x0927, 81529 }, + { 0x0928, 81586 }, + { 0x0929, 81556 }, + { 0x092A, 81604 }, + { 0x092B, 81547 }, + { 0x092C, 81517 }, + { 0x092D, 81396 }, + { 0x092E, 81453 }, + { 0x092F, 81445 }, + { 0x0930, 81469 }, + { 0x0931, 81449 }, + { 0x0932, 81477 }, + { 0x0933, 81465 }, + { 0x0934, 81457 }, + { 0x0935, 81473 }, + { 0x0936, 81461 }, + { 0x0937, 81402 }, + { 0x0938, 81399 }, + { 0x0939, 81619 }, + { 0x093A, 81616 }, + { 0x093B, 81562 }, + { 0x093C, 81601 }, + { 0x093D, 81511 }, + { 0x093E, 81431 }, + { 0x093F, 81413 }, + { 0x0940, 81419 }, + { 0x0941, 81440 }, + { 0x0942, 81425 }, + { 0x0943, 81422 }, + { 0x0944, 81416 }, + { 0x0945, 81437 }, + { 0x0946, 81434 }, + { 0x0947, 81428 }, + { 0x0948, 81443 }, + { 0x0949, 81411 }, + { 0x094A, 81385 }, + { 0x094B, 81387 }, + { 0x094C, 81382 }, + { 0x094D, 81405 }, + { 0x094E, 81118 }, + { 0x094F, 81112 }, + { 0x0950, 81109 }, + { 0x0951, 81228 }, + { 0x0952, 81243 }, + { 0x0953, 81234 }, + { 0x0954, 81267 }, + { 0x0955, 81240 }, + { 0x0956, 81297 }, + { 0x0957, 81367 }, + { 0x0958, 81363 }, + { 0x0959, 81220 }, + { 0x095A, 81231 }, + { 0x095B, 81246 }, + { 0x095C, 81224 }, + { 0x095D, 81237 }, + { 0x095E, 81249 }, + { 0x095F, 81273 }, + { 0x0960, 81324 }, + { 0x0961, 81261 }, + { 0x0962, 81318 }, + { 0x0963, 81330 }, + { 0x0964, 81255 }, + { 0x0965, 81309 }, + { 0x0966, 81270 }, + { 0x0967, 81321 }, + { 0x0968, 81336 }, + { 0x0969, 81351 }, + { 0x096A, 81360 }, + { 0x096B, 81312 }, + { 0x096C, 81357 }, + { 0x096D, 81333 }, + { 0x096E, 81294 }, + { 0x096F, 81348 }, + { 0x0970, 81258 }, + { 0x0971, 81315 }, + { 0x0972, 81282 }, + { 0x0973, 81285 }, + { 0x0974, 81339 }, + { 0x0975, 81252 }, + { 0x0976, 81306 }, + { 0x0977, 81279 }, + { 0x0978, 81303 }, + { 0x0979, 81288 }, + { 0x097A, 81276 }, + { 0x097B, 81327 }, + { 0x097C, 81300 }, + { 0x097D, 81342 }, + { 0x097E, 81345 }, + { 0x097F, 81291 }, + { 0x0980, 81264 }, + { 0x0981, 81103 }, + { 0x0982, 81115 }, + { 0x0983, 81170 }, + { 0x0984, 81158 }, + { 0x0985, 81182 }, + { 0x0986, 81166 }, + { 0x0987, 81186 }, + { 0x0988, 81205 }, + { 0x0989, 81215 }, + { 0x098A, 81190 }, + { 0x098B, 81154 }, + { 0x098C, 81174 }, + { 0x098D, 81195 }, + { 0x098E, 81162 }, + { 0x098F, 81178 }, + { 0x0990, 81106 }, + { 0x0991, 81101 }, + { 0x0992, 81375 }, + { 0x0993, 81371 }, + { 0x0994, 81200 }, + { 0x0995, 81210 }, + { 0x0996, 81139 }, + { 0x0997, 81121 }, + { 0x0998, 81127 }, + { 0x0999, 81148 }, + { 0x099A, 81133 }, + { 0x099B, 81130 }, + { 0x099C, 81124 }, + { 0x099D, 81145 }, + { 0x099E, 81142 }, + { 0x099F, 81136 }, + { 0x09A0, 81379 }, + { 0x09A1, 81151 }, + { 0x09A2, 81354 }, + { 0x09A3, 32934 }, + { 0x09A4, 32928 }, + { 0x09A5, 32925 }, + { 0x09A6, 33025 }, + { 0x09A7, 33040 }, + { 0x09A8, 33031 }, + { 0x09A9, 33064 }, + { 0x09AA, 33037 }, + { 0x09AB, 33094 }, + { 0x09AC, 33173 }, + { 0x09AD, 33169 }, + { 0x09AE, 33028 }, + { 0x09AF, 33043 }, + { 0x09B0, 33034 }, + { 0x09B1, 33046 }, + { 0x09B2, 33070 }, + { 0x09B3, 33124 }, + { 0x09B4, 33058 }, + { 0x09B5, 33118 }, + { 0x09B6, 33130 }, + { 0x09B7, 33052 }, + { 0x09B8, 33109 }, + { 0x09B9, 33067 }, + { 0x09BA, 33121 }, + { 0x09BB, 33136 }, + { 0x09BC, 33157 }, + { 0x09BD, 33166 }, + { 0x09BE, 33112 }, + { 0x09BF, 33163 }, + { 0x09C0, 33133 }, + { 0x09C1, 33091 }, + { 0x09C2, 33154 }, + { 0x09C3, 33055 }, + { 0x09C4, 33115 }, + { 0x09C5, 33079 }, + { 0x09C6, 33082 }, + { 0x09C7, 33139 }, + { 0x09C8, 33049 }, + { 0x09C9, 33106 }, + { 0x09CA, 33076 }, + { 0x09CB, 33103 }, + { 0x09CC, 33085 }, + { 0x09CD, 33073 }, + { 0x09CE, 33127 }, + { 0x09CF, 33097 }, + { 0x09D0, 33148 }, + { 0x09D1, 33151 }, + { 0x09D2, 33088 }, + { 0x09D3, 33061 }, + { 0x09D4, 32919 }, + { 0x09D5, 32931 }, + { 0x09D6, 32983 }, + { 0x09D7, 32971 }, + { 0x09D8, 32995 }, + { 0x09D9, 32979 }, + { 0x09DA, 32999 }, + { 0x09DB, 33008 }, + { 0x09DC, 33018 }, + { 0x09DD, 32967 }, + { 0x09DE, 32987 }, + { 0x09DF, 32975 }, + { 0x09E0, 32991 }, + { 0x09E1, 32922 }, + { 0x09E2, 32911 }, + { 0x09E3, 32915 }, + { 0x09E4, 33145 }, + { 0x09E5, 33142 }, + { 0x09E6, 33160 }, + { 0x09E7, 33181 }, + { 0x09E8, 33177 }, + { 0x09E9, 33003 }, + { 0x09EA, 33013 }, + { 0x09EB, 32955 }, + { 0x09EC, 32937 }, + { 0x09ED, 32943 }, + { 0x09EE, 32964 }, + { 0x09EF, 32949 }, + { 0x09F0, 32946 }, + { 0x09F1, 32940 }, + { 0x09F2, 32961 }, + { 0x09F3, 32958 }, + { 0x09F4, 32952 }, + { 0x09F5, 33023 }, + { 0x09F6, 33100 }, + { 0x09F7, 33193 }, + { 0x09F8, 33185 }, + { 0x09F9, 33201 }, + { 0x09FA, 33197 }, + { 0x09FB, 33189 }, + { 0x09FC, 33205 }, + { 0x09FD, 34964 }, + { 0x09FE, 34961 }, + { 0x09FF, 35056 }, + { 0x0A00, 35071 }, + { 0x0A01, 35062 }, + { 0x0A02, 35089 }, + { 0x0A03, 35068 }, + { 0x0A04, 35122 }, + { 0x0A05, 35059 }, + { 0x0A06, 35083 }, + { 0x0A07, 35074 }, + { 0x0A08, 35065 }, + { 0x0A09, 35107 }, + { 0x0A0A, 35077 }, + { 0x0A0B, 35095 }, + { 0x0A0C, 35134 }, + { 0x0A0D, 35080 }, + { 0x0A0E, 35092 }, + { 0x0A0F, 35140 }, + { 0x0A10, 35152 }, + { 0x0A11, 35137 }, + { 0x0A12, 35119 }, + { 0x0A13, 35104 }, + { 0x0A14, 35158 }, + { 0x0A15, 35110 }, + { 0x0A16, 35101 }, + { 0x0A17, 35128 }, + { 0x0A18, 35113 }, + { 0x0A19, 35143 }, + { 0x0A1A, 35098 }, + { 0x0A1B, 35131 }, + { 0x0A1C, 35155 }, + { 0x0A1D, 35125 }, + { 0x0A1E, 35146 }, + { 0x0A1F, 35149 }, + { 0x0A20, 35116 }, + { 0x0A21, 35086 }, + { 0x0A22, 35025 }, + { 0x0A23, 35013 }, + { 0x0A24, 35041 }, + { 0x0A25, 35021 }, + { 0x0A26, 35049 }, + { 0x0A27, 35009 }, + { 0x0A28, 35037 }, + { 0x0A29, 35029 }, + { 0x0A2A, 35017 }, + { 0x0A2B, 35045 }, + { 0x0A2C, 35033 }, + { 0x0A2D, 34958 }, + { 0x0A2E, 34953 }, + { 0x0A2F, 34949 }, + { 0x0A30, 34991 }, + { 0x0A31, 34973 }, + { 0x0A32, 34979 }, + { 0x0A33, 35000 }, + { 0x0A34, 34985 }, + { 0x0A35, 34982 }, + { 0x0A36, 34976 }, + { 0x0A37, 34997 }, + { 0x0A38, 34994 }, + { 0x0A39, 34988 }, + { 0x0A3A, 35169 }, + { 0x0A3B, 35161 }, + { 0x0A3C, 35165 }, + { 0x0A3D, 34955 }, + { 0x0A3E, 35003 }, + { 0x0A3F, 34967 }, + { 0x0A40, 34970 }, + { 0x0A41, 35053 }, + { 0x0A42, 34945 }, + { 0x0A43, 35006 }, + { 0x0A44, 35172 }, + { 0x0A45, 56658 }, + { 0x0A46, 56663 }, + { 0x0A47, 56652 }, + { 0x0A48, 56649 }, + { 0x0A49, 56763 }, + { 0x0A4A, 56778 }, + { 0x0A4B, 56769 }, + { 0x0A4C, 56805 }, + { 0x0A4D, 56775 }, + { 0x0A4E, 56838 }, + { 0x0A4F, 56920 }, + { 0x0A50, 56916 }, + { 0x0A51, 56766 }, + { 0x0A52, 56796 }, + { 0x0A53, 56781 }, + { 0x0A54, 56772 }, + { 0x0A55, 56823 }, + { 0x0A56, 56784 }, + { 0x0A57, 56811 }, + { 0x0A58, 56868 }, + { 0x0A59, 56799 }, + { 0x0A5A, 56862 }, + { 0x0A5B, 56874 }, + { 0x0A5C, 56790 }, + { 0x0A5D, 56850 }, + { 0x0A5E, 56808 }, + { 0x0A5F, 56865 }, + { 0x0A60, 56880 }, + { 0x0A61, 56901 }, + { 0x0A62, 56913 }, + { 0x0A63, 56853 }, + { 0x0A64, 56904 }, + { 0x0A65, 56877 }, + { 0x0A66, 56835 }, + { 0x0A67, 56895 }, + { 0x0A68, 56793 }, + { 0x0A69, 56856 }, + { 0x0A6A, 56820 }, + { 0x0A6B, 56826 }, + { 0x0A6C, 56883 }, + { 0x0A6D, 56787 }, + { 0x0A6E, 56847 }, + { 0x0A6F, 56817 }, + { 0x0A70, 56844 }, + { 0x0A71, 56829 }, + { 0x0A72, 56886 }, + { 0x0A73, 56814 }, + { 0x0A74, 56871 }, + { 0x0A75, 56907 }, + { 0x0A76, 56841 }, + { 0x0A77, 56889 }, + { 0x0A78, 56892 }, + { 0x0A79, 56832 }, + { 0x0A7A, 56802 }, + { 0x0A7B, 56655 }, + { 0x0A7C, 56712 }, + { 0x0A7D, 56700 }, + { 0x0A7E, 56728 }, + { 0x0A7F, 56708 }, + { 0x0A80, 56736 }, + { 0x0A81, 56745 }, + { 0x0A82, 56755 }, + { 0x0A83, 56696 }, + { 0x0A84, 56724 }, + { 0x0A85, 56716 }, + { 0x0A86, 56704 }, + { 0x0A87, 56732 }, + { 0x0A88, 56720 }, + { 0x0A89, 56646 }, + { 0x0A8A, 56760 }, + { 0x0A8B, 56639 }, + { 0x0A8C, 56898 }, + { 0x0A8D, 56859 }, + { 0x0A8E, 56910 }, + { 0x0A8F, 56928 }, + { 0x0A90, 56924 }, + { 0x0A91, 56740 }, + { 0x0A92, 56750 }, + { 0x0A93, 56684 }, + { 0x0A94, 56666 }, + { 0x0A95, 56672 }, + { 0x0A96, 56693 }, + { 0x0A97, 56678 }, + { 0x0A98, 56675 }, + { 0x0A99, 56669 }, + { 0x0A9A, 56690 }, + { 0x0A9B, 56687 }, + { 0x0A9C, 56681 }, + { 0x0A9D, 56968 }, + { 0x0A9E, 56932 }, + { 0x0A9F, 56950 }, + { 0x0AA0, 56977 }, + { 0x0AA1, 56941 }, + { 0x0AA2, 56959 }, + { 0x0AA3, 56986 }, + { 0x0AA4, 56643 }, + { 0x0AA5, 61441 }, + { 0x0AA6, 61454 }, + { 0x0AA7, 61448 }, + { 0x0AA8, 61445 }, + { 0x0AA9, 61560 }, + { 0x0AAA, 61575 }, + { 0x0AAB, 61566 }, + { 0x0AAC, 61605 }, + { 0x0AAD, 61572 }, + { 0x0AAE, 61638 }, + { 0x0AAF, 61711 }, + { 0x0AB0, 61707 }, + { 0x0AB1, 61563 }, + { 0x0AB2, 61593 }, + { 0x0AB3, 61578 }, + { 0x0AB4, 61569 }, + { 0x0AB5, 61623 }, + { 0x0AB6, 61581 }, + { 0x0AB7, 61611 }, + { 0x0AB8, 61665 }, + { 0x0AB9, 61599 }, + { 0x0ABA, 61659 }, + { 0x0ABB, 61671 }, + { 0x0ABC, 61587 }, + { 0x0ABD, 61650 }, + { 0x0ABE, 61608 }, + { 0x0ABF, 61662 }, + { 0x0AC0, 61677 }, + { 0x0AC1, 61695 }, + { 0x0AC2, 61704 }, + { 0x0AC3, 61653 }, + { 0x0AC4, 61698 }, + { 0x0AC5, 61674 }, + { 0x0AC6, 61635 }, + { 0x0AC7, 61692 }, + { 0x0AC8, 61590 }, + { 0x0AC9, 61656 }, + { 0x0ACA, 61620 }, + { 0x0ACB, 61626 }, + { 0x0ACC, 61680 }, + { 0x0ACD, 61584 }, + { 0x0ACE, 61647 }, + { 0x0ACF, 61617 }, + { 0x0AD0, 61644 }, + { 0x0AD1, 61629 }, + { 0x0AD2, 61683 }, + { 0x0AD3, 61614 }, + { 0x0AD4, 61668 }, + { 0x0AD5, 61641 }, + { 0x0AD6, 61686 }, + { 0x0AD7, 61689 }, + { 0x0AD8, 61632 }, + { 0x0AD9, 61602 }, + { 0x0ADA, 61435 }, + { 0x0ADB, 61451 }, + { 0x0ADC, 61509 }, + { 0x0ADD, 61497 }, + { 0x0ADE, 61525 }, + { 0x0ADF, 61505 }, + { 0x0AE0, 61533 }, + { 0x0AE1, 61542 }, + { 0x0AE2, 61552 }, + { 0x0AE3, 61493 }, + { 0x0AE4, 61521 }, + { 0x0AE5, 61513 }, + { 0x0AE6, 61501 }, + { 0x0AE7, 61529 }, + { 0x0AE8, 61517 }, + { 0x0AE9, 61438 }, + { 0x0AEA, 61557 }, + { 0x0AEB, 61431 }, + { 0x0AEC, 61596 }, + { 0x0AED, 61719 }, + { 0x0AEE, 61715 }, + { 0x0AEF, 61537 }, + { 0x0AF0, 61547 }, + { 0x0AF1, 61481 }, + { 0x0AF2, 61463 }, + { 0x0AF3, 61469 }, + { 0x0AF4, 61490 }, + { 0x0AF5, 61475 }, + { 0x0AF6, 61472 }, + { 0x0AF7, 61466 }, + { 0x0AF8, 61487 }, + { 0x0AF9, 61484 }, + { 0x0AFA, 61478 }, + { 0x0AFB, 61457 }, + { 0x0AFC, 61460 }, + { 0x0AFD, 100440 }, + { 0x0AFE, 100434 }, + { 0x0AFF, 100431 }, + { 0x0B00, 100537 }, + { 0x0B01, 100552 }, + { 0x0B02, 100543 }, + { 0x0B03, 100579 }, + { 0x0B04, 100549 }, + { 0x0B05, 100612 }, + { 0x0B06, 100735 }, + { 0x0B07, 100731 }, + { 0x0B08, 100540 }, + { 0x0B09, 100570 }, + { 0x0B0A, 100555 }, + { 0x0B0B, 100546 }, + { 0x0B0C, 100597 }, + { 0x0B0D, 100558 }, + { 0x0B0E, 100585 }, + { 0x0B0F, 100643 }, + { 0x0B10, 100573 }, + { 0x0B11, 100637 }, + { 0x0B12, 100649 }, + { 0x0B13, 100564 }, + { 0x0B14, 100624 }, + { 0x0B15, 100582 }, + { 0x0B16, 100640 }, + { 0x0B17, 100655 }, + { 0x0B18, 100673 }, + { 0x0B19, 100685 }, + { 0x0B1A, 100627 }, + { 0x0B1B, 100676 }, + { 0x0B1C, 100652 }, + { 0x0B1D, 100609 }, + { 0x0B1E, 100670 }, + { 0x0B1F, 100567 }, + { 0x0B20, 100630 }, + { 0x0B21, 100594 }, + { 0x0B22, 100682 }, + { 0x0B23, 100600 }, + { 0x0B24, 100658 }, + { 0x0B25, 100561 }, + { 0x0B26, 100621 }, + { 0x0B27, 100591 }, + { 0x0B28, 100618 }, + { 0x0B29, 100603 }, + { 0x0B2A, 100661 }, + { 0x0B2B, 100588 }, + { 0x0B2C, 100646 }, + { 0x0B2D, 100679 }, + { 0x0B2E, 100615 }, + { 0x0B2F, 100664 }, + { 0x0B30, 100667 }, + { 0x0B31, 100606 }, + { 0x0B32, 100576 }, + { 0x0B33, 100688 }, + { 0x0B34, 100437 }, + { 0x0B35, 100489 }, + { 0x0B36, 100477 }, + { 0x0B37, 100505 }, + { 0x0B38, 100485 }, + { 0x0B39, 100513 }, + { 0x0B3A, 100522 }, + { 0x0B3B, 100532 }, + { 0x0B3C, 100473 }, + { 0x0B3D, 100501 }, + { 0x0B3E, 100493 }, + { 0x0B3F, 100481 }, + { 0x0B40, 100509 }, + { 0x0B41, 100497 }, + { 0x0B42, 100428 }, + { 0x0B43, 100633 }, + { 0x0B44, 100425 }, + { 0x0B45, 100699 }, + { 0x0B46, 100707 }, + { 0x0B47, 100723 }, + { 0x0B48, 100418 }, + { 0x0B49, 100790 }, + { 0x0B4A, 100778 }, + { 0x0B4B, 100798 }, + { 0x0B4C, 100786 }, + { 0x0B4D, 100766 }, + { 0x0B4E, 100806 }, + { 0x0B4F, 100762 }, + { 0x0B50, 100727 }, + { 0x0B51, 100743 }, + { 0x0B52, 100739 }, + { 0x0B53, 100517 }, + { 0x0B54, 100527 }, + { 0x0B55, 100461 }, + { 0x0B56, 100443 }, + { 0x0B57, 100449 }, + { 0x0B58, 100470 }, + { 0x0B59, 100455 }, + { 0x0B5A, 100452 }, + { 0x0B5B, 100446 }, + { 0x0B5C, 100467 }, + { 0x0B5D, 100464 }, + { 0x0B5E, 100458 }, + { 0x0B5F, 100755 }, + { 0x0B60, 100747 }, + { 0x0B61, 100751 }, + { 0x0B62, 100774 }, + { 0x0B63, 100758 }, + { 0x0B64, 100794 }, + { 0x0B65, 100782 }, + { 0x0B66, 100770 }, + { 0x0B67, 100802 }, + { 0x0B68, 100422 }, + { 0x0B69, 100715 }, + { 0x0B6A, 100703 }, + { 0x0B6B, 100719 }, + { 0x0B6C, 100695 }, + { 0x0B6D, 100711 }, + { 0x0B6E, 100691 }, + { 0x0B6F, 66124 }, + { 0x0B70, 66121 }, + { 0x0B71, 66216 }, + { 0x0B72, 66231 }, + { 0x0B73, 66234 }, + { 0x0B74, 66318 }, + { 0x0B75, 66222 }, + { 0x0B76, 66264 }, + { 0x0B77, 66228 }, + { 0x0B78, 66309 }, + { 0x0B79, 66324 }, + { 0x0B7A, 66330 }, + { 0x0B7B, 66321 }, + { 0x0B7C, 66327 }, + { 0x0B7D, 66219 }, + { 0x0B7E, 66255 }, + { 0x0B7F, 66237 }, + { 0x0B80, 66225 }, + { 0x0B81, 66274 }, + { 0x0B82, 66240 }, + { 0x0B83, 66365 }, + { 0x0B84, 66405 }, + { 0x0B85, 66357 }, + { 0x0B86, 66397 }, + { 0x0B87, 66267 }, + { 0x0B88, 66284 }, + { 0x0B89, 66349 }, + { 0x0B8A, 66389 }, + { 0x0B8B, 66361 }, + { 0x0B8C, 66401 }, + { 0x0B8D, 66305 }, + { 0x0B8E, 66300 }, + { 0x0B8F, 66288 }, + { 0x0B90, 66381 }, + { 0x0B91, 66421 }, + { 0x0B92, 66377 }, + { 0x0B93, 66417 }, + { 0x0B94, 66337 }, + { 0x0B95, 66292 }, + { 0x0B96, 66373 }, + { 0x0B97, 66413 }, + { 0x0B98, 66353 }, + { 0x0B99, 66393 }, + { 0x0B9A, 66247 }, + { 0x0B9B, 66280 }, + { 0x0B9C, 66369 }, + { 0x0B9D, 66409 }, + { 0x0B9E, 66345 }, + { 0x0B9F, 66385 }, + { 0x0BA0, 66271 }, + { 0x0BA1, 66212 }, + { 0x0BA2, 66315 }, + { 0x0BA3, 66277 }, + { 0x0BA4, 66243 }, + { 0x0BA5, 66312 }, + { 0x0BA6, 66296 }, + { 0x0BA7, 66341 }, + { 0x0BA8, 66251 }, + { 0x0BA9, 66261 }, + { 0x0BAA, 66333 }, + { 0x0BAB, 66258 }, + { 0x0BAC, 66118 }, + { 0x0BAD, 66200 }, + { 0x0BAE, 66167 }, + { 0x0BAF, 66142 }, + { 0x0BB0, 66157 }, + { 0x0BB1, 66132 }, + { 0x0BB2, 66162 }, + { 0x0BB3, 66137 }, + { 0x0BB4, 66208 }, + { 0x0BB5, 66177 }, + { 0x0BB6, 66127 }, + { 0x0BB7, 66172 }, + { 0x0BB8, 66188 }, + { 0x0BB9, 66181 }, + { 0x0BBA, 66194 }, + { 0x0BBB, 66204 }, + { 0x0BBC, 66102 }, + { 0x0BBD, 66078 }, + { 0x0BBE, 66086 }, + { 0x0BBF, 66114 }, + { 0x0BC0, 66094 }, + { 0x0BC1, 66090 }, + { 0x0BC2, 66082 }, + { 0x0BC3, 66110 }, + { 0x0BC4, 66106 }, + { 0x0BC5, 66098 }, + { 0x0BC6, 66152 }, + { 0x0BC7, 66147 }, + { 0x0BC8, 66507 }, + { 0x0BC9, 14991 }, + { 0x0BCA, 15081 }, + { 0x0BCB, 15089 }, + { 0x0BCC, 15093 }, + { 0x0BCD, 15085 }, + { 0x0BCE, 15097 }, + { 0x0BCF, 15121 }, + { 0x0BD0, 15065 }, + { 0x0BD1, 15077 }, + { 0x0BD2, 15073 }, + { 0x0BD3, 15029 }, + { 0x0BD4, 15069 }, + { 0x0BD5, 15061 }, + { 0x0BD6, 14971 }, + { 0x0BD7, 15049 }, + { 0x0BD8, 15137 }, + { 0x0BD9, 15157 }, + { 0x0BDA, 15153 }, + { 0x0BDB, 15014 }, + { 0x0BDC, 14967 }, + { 0x0BDD, 15045 }, + { 0x0BDE, 15145 }, + { 0x0BDF, 15149 }, + { 0x0BE0, 15141 }, + { 0x0BE1, 15010 }, + { 0x0BE2, 14963 }, + { 0x0BE3, 15018 }, + { 0x0BE4, 15129 }, + { 0x0BE5, 14975 }, + { 0x0BE6, 15125 }, + { 0x0BE7, 14979 }, + { 0x0BE8, 15133 }, + { 0x0BE9, 15006 }, + { 0x0BEA, 15057 }, + { 0x0BEB, 15022 }, + { 0x0BEC, 15026 }, + { 0x0BED, 14995 }, + { 0x0BEE, 15003 }, + { 0x0BEF, 15053 }, + { 0x0BF0, 15041 }, + { 0x0BF1, 15037 }, + { 0x0BF2, 15033 }, + { 0x0BF3, 14983 }, + { 0x0BF4, 14999 }, + { 0x0BF5, 14959 }, + { 0x0BF6, 14987 }, + { 0x0BF7, 15240 }, + { 0x0BF8, 15161 }, + { 0x0BF9, 15117 }, + { 0x0BFA, 15181 }, + { 0x0BFB, 15199 }, + { 0x0BFC, 15169 }, + { 0x0BFD, 15203 }, + { 0x0BFE, 15207 }, + { 0x0BFF, 15215 }, + { 0x0C00, 15177 }, + { 0x0C01, 15211 }, + { 0x0C02, 15225 }, + { 0x0C03, 14955 }, + { 0x0C04, 15165 }, + { 0x0C05, 15185 }, + { 0x0C06, 15173 }, + { 0x0C07, 15189 }, + { 0x0C08, 15194 }, + { 0x0C09, 15246 }, + { 0x0C0A, 15228 }, + { 0x0C0B, 15237 }, + { 0x0C0C, 15101 }, + { 0x0C0D, 15105 }, + { 0x0C0E, 15109 }, + { 0x0C0F, 15113 }, + { 0x0C10, 15249 }, + { 0x0C11, 15231 }, + { 0x0C12, 15234 }, + { 0x0C13, 15222 }, + { 0x0C14, 14943 }, + { 0x0C15, 14925 }, + { 0x0C16, 14931 }, + { 0x0C17, 14952 }, + { 0x0C18, 14937 }, + { 0x0C19, 14934 }, + { 0x0C1A, 14928 }, + { 0x0C1B, 14949 }, + { 0x0C1C, 14946 }, + { 0x0C1D, 14940 }, + { 0x0C1E, 15243 }, + { 0x0C1F, 15219 }, + { 0x0C20, 6114 }, + { 0x0C21, 6161 }, + { 0x0C22, 6157 }, + { 0x0C23, 6165 }, + { 0x0C24, 6084 }, + { 0x0C25, 6140 }, + { 0x0C26, 6168 }, + { 0x0C27, 6087 }, + { 0x0C28, 6148 }, + { 0x0C29, 6183 }, + { 0x0C2A, 6179 }, + { 0x0C2B, 6131 }, + { 0x0C2C, 6081 }, + { 0x0C2D, 6134 }, + { 0x0C2E, 6175 }, + { 0x0C2F, 6098 }, + { 0x0C30, 6171 }, + { 0x0C31, 6102 }, + { 0x0C32, 6128 }, + { 0x0C33, 6154 }, + { 0x0C34, 6120 }, + { 0x0C35, 6124 }, + { 0x0C36, 6151 }, + { 0x0C37, 6144 }, + { 0x0C38, 6110 }, + { 0x0C39, 6078 }, + { 0x0C3A, 6106 }, + { 0x0C3B, 6195 }, + { 0x0C3C, 6012 }, + { 0x0C3D, 6068 }, + { 0x0C3E, 6036 }, + { 0x0C3F, 6044 }, + { 0x0C40, 6020 }, + { 0x0C41, 6056 }, + { 0x0C42, 6032 }, + { 0x0C43, 6064 }, + { 0x0C44, 6028 }, + { 0x0C45, 6060 }, + { 0x0C46, 6073 }, + { 0x0C47, 6199 }, + { 0x0C48, 6203 }, + { 0x0C49, 6016 }, + { 0x0C4A, 6052 }, + { 0x0C4B, 6024 }, + { 0x0C4C, 6048 }, + { 0x0C4D, 6040 }, + { 0x0C4E, 5963 }, + { 0x0C4F, 5966 }, + { 0x0C50, 5974 }, + { 0x0C51, 5970 }, + { 0x0C52, 5978 }, + { 0x0C53, 6207 }, + { 0x0C54, 6197 }, + { 0x0C55, 6000 }, + { 0x0C56, 5982 }, + { 0x0C57, 5988 }, + { 0x0C58, 6009 }, + { 0x0C59, 5994 }, + { 0x0C5A, 5991 }, + { 0x0C5B, 5985 }, + { 0x0C5C, 6006 }, + { 0x0C5D, 6003 }, + { 0x0C5E, 5997 }, + { 0x0C5F, 5960 }, + { 0x0C60, 5957 }, + { 0x0C61, 6187 }, + { 0x0C62, 6191 }, + { 0x0C63, 67866 }, + { 0x0C64, 67285 }, + { 0x0C65, 67276 }, + { 0x0C66, 67267 }, + { 0x0C67, 67406 }, + { 0x0C68, 67387 }, + { 0x0C69, 67345 }, + { 0x0C6A, 67247 }, + { 0x0C6B, 67376 }, + { 0x0C6C, 67340 }, + { 0x0C6D, 67261 }, + { 0x0C6E, 67437 }, + { 0x0C6F, 67432 }, + { 0x0C70, 67326 }, + { 0x0C71, 67308 }, + { 0x0C72, 67380 }, + { 0x0C73, 67316 }, + { 0x0C74, 67237 }, + { 0x0C75, 67321 }, + { 0x0C76, 67353 }, + { 0x0C77, 67292 }, + { 0x0C78, 67856 }, + { 0x0C79, 67861 }, + { 0x0C7A, 68065 }, + { 0x0C7B, 68077 }, + { 0x0C7C, 68072 }, + { 0x0C7D, 67503 }, + { 0x0C7E, 67519 }, + { 0x0C7F, 67508 }, + { 0x0C80, 67482 }, + { 0x0C81, 67498 }, + { 0x0C82, 67513 }, + { 0x0C83, 67601 }, + { 0x0C84, 67543 }, + { 0x0C85, 67549 }, + { 0x0C86, 67610 }, + { 0x0C87, 67555 }, + { 0x0C88, 67552 }, + { 0x0C89, 67546 }, + { 0x0C8A, 67607 }, + { 0x0C8B, 67604 }, + { 0x0C8C, 67598 }, + { 0x0C8D, 67558 }, + { 0x0C8E, 67566 }, + { 0x0C8F, 67594 }, + { 0x0C90, 67574 }, + { 0x0C91, 67570 }, + { 0x0C92, 67562 }, + { 0x0C93, 67590 }, + { 0x0C94, 67586 }, + { 0x0C95, 67578 }, + { 0x0C96, 67582 }, + { 0x0C97, 67329 }, + { 0x0C98, 67296 }, + { 0x0C99, 67361 }, + { 0x0C9A, 67302 }, + { 0x0C9B, 67223 }, + { 0x0C9C, 67243 }, + { 0x0C9D, 67232 }, + { 0x0C9E, 67227 }, + { 0x0C9F, 67218 }, + { 0x0CA0, 67213 }, + { 0x0CA1, 67474 }, + { 0x0CA2, 67460 }, + { 0x0CA3, 67703 }, + { 0x0CA4, 67754 }, + { 0x0CA5, 67694 }, + { 0x0CA6, 67751 }, + { 0x0CA7, 67760 }, + { 0x0CA8, 67688 }, + { 0x0CA9, 67739 }, + { 0x0CAA, 67700 }, + { 0x0CAB, 67766 }, + { 0x0CAC, 67787 }, + { 0x0CAD, 67805 }, + { 0x0CAE, 67742 }, + { 0x0CAF, 67793 }, + { 0x0CB0, 67763 }, + { 0x0CB1, 67724 }, + { 0x0CB2, 67781 }, + { 0x0CB3, 67691 }, + { 0x0CB4, 67745 }, + { 0x0CB5, 67712 }, + { 0x0CB6, 67715 }, + { 0x0CB7, 67769 }, + { 0x0CB8, 67685 }, + { 0x0CB9, 67736 }, + { 0x0CBA, 67709 }, + { 0x0CBB, 67784 }, + { 0x0CBC, 67802 }, + { 0x0CBD, 67748 }, + { 0x0CBE, 67796 }, + { 0x0CBF, 67727 }, + { 0x0CC0, 67790 }, + { 0x0CC1, 67733 }, + { 0x0CC2, 67682 }, + { 0x0CC3, 67730 }, + { 0x0CC4, 67718 }, + { 0x0CC5, 67706 }, + { 0x0CC6, 67775 }, + { 0x0CC7, 67778 }, + { 0x0CC8, 67721 }, + { 0x0CC9, 67697 }, + { 0x0CCA, 67679 }, + { 0x0CCB, 67799 }, + { 0x0CCC, 67808 }, + { 0x0CCD, 67757 }, + { 0x0CCE, 67772 }, + { 0x0CCF, 67629 }, + { 0x0CD0, 67617 }, + { 0x0CD1, 67637 }, + { 0x0CD2, 67625 }, + { 0x0CD3, 67645 }, + { 0x0CD4, 67654 }, + { 0x0CD5, 67664 }, + { 0x0CD6, 67649 }, + { 0x0CD7, 67659 }, + { 0x0CD8, 67613 }, + { 0x0CD9, 67633 }, + { 0x0CDA, 67621 }, + { 0x0CDB, 67641 }, + { 0x0CDC, 67524 }, + { 0x0CDD, 67530 }, + { 0x0CDE, 67669 }, + { 0x0CDF, 67674 }, + { 0x0CE0, 67464 }, + { 0x0CE1, 67470 }, + { 0x0CE2, 67403 }, + { 0x0CE3, 67384 }, + { 0x0CE4, 67456 }, + { 0x0CE5, 67534 }, + { 0x0CE6, 67451 }, + { 0x0CE7, 67478 }, + { 0x0CE8, 67441 }, + { 0x0CE9, 67446 }, + { 0x0CEA, 67538 }, + { 0x0CEB, 67869 }, + { 0x0CEC, 67875 }, + { 0x0CED, 67880 }, + { 0x0CEE, 67918 }, + { 0x0CEF, 67986 }, + { 0x0CF0, 67906 }, + { 0x0CF1, 67982 }, + { 0x0CF2, 67990 }, + { 0x0CF3, 67898 }, + { 0x0CF4, 67966 }, + { 0x0CF5, 67914 }, + { 0x0CF6, 67998 }, + { 0x0CF7, 68022 }, + { 0x0CF8, 68046 }, + { 0x0CF9, 67970 }, + { 0x0CFA, 68030 }, + { 0x0CFB, 67994 }, + { 0x0CFC, 67946 }, + { 0x0CFD, 68014 }, + { 0x0CFE, 67902 }, + { 0x0CFF, 67974 }, + { 0x0D00, 67930 }, + { 0x0D01, 67934 }, + { 0x0D02, 68002 }, + { 0x0D03, 67894 }, + { 0x0D04, 67962 }, + { 0x0D05, 67926 }, + { 0x0D06, 68018 }, + { 0x0D07, 68042 }, + { 0x0D08, 67978 }, + { 0x0D09, 68034 }, + { 0x0D0A, 67950 }, + { 0x0D0B, 68026 }, + { 0x0D0C, 67958 }, + { 0x0D0D, 67890 }, + { 0x0D0E, 67954 }, + { 0x0D0F, 67938 }, + { 0x0D10, 67922 }, + { 0x0D11, 68006 }, + { 0x0D12, 68010 }, + { 0x0D13, 67942 }, + { 0x0D14, 67910 }, + { 0x0D15, 67886 }, + { 0x0D16, 68038 }, + { 0x0D17, 68055 }, + { 0x0D18, 68060 }, + { 0x0D19, 68050 }, + { 0x0D1A, 67202 }, + { 0x0D1B, 67206 }, + { 0x0D1C, 68092 }, + { 0x0D1D, 68097 }, + { 0x0D1E, 68082 }, + { 0x0D1F, 68087 }, + { 0x0D20, 67844 }, + { 0x0D21, 67834 }, + { 0x0D22, 67852 }, + { 0x0D23, 67838 }, + { 0x0D24, 67848 }, + { 0x0D25, 67812 }, + { 0x0D26, 67828 }, + { 0x0D27, 67822 }, + { 0x0D28, 67816 }, + { 0x0D29, 67492 }, + { 0x0D2A, 67487 }, + { 0x0D2B, 67333 }, + { 0x0D2C, 67369 }, + { 0x0D2D, 67312 }, + { 0x0D2E, 67413 }, + { 0x0D2F, 67394 }, + { 0x0D30, 114860 }, + { 0x0D31, 106192 }, + { 0x0D32, 114863 }, + { 0x0D33, 106195 }, + { 0x0D34, 67422 }, + { 0x0D35, 67427 }, + { 0x0D36, 63907 }, + { 0x0D37, 63958 }, + { 0x0D38, 63895 }, + { 0x0D39, 63952 }, + { 0x0D3A, 63984 }, + { 0x0D3B, 63889 }, + { 0x0D3C, 63943 }, + { 0x0D3D, 63904 }, + { 0x0D3E, 63955 }, + { 0x0D3F, 63990 }, + { 0x0D40, 64081 }, + { 0x0D41, 64075 }, + { 0x0D42, 64175 }, + { 0x0D43, 63946 }, + { 0x0D44, 64078 }, + { 0x0D45, 63987 }, + { 0x0D46, 63928 }, + { 0x0D47, 64072 }, + { 0x0D48, 63892 }, + { 0x0D49, 63949 }, + { 0x0D4A, 63916 }, + { 0x0D4B, 63919 }, + { 0x0D4C, 63993 }, + { 0x0D4D, 63886 }, + { 0x0D4E, 63940 }, + { 0x0D4F, 63913 }, + { 0x0D50, 63937 }, + { 0x0D51, 63922 }, + { 0x0D52, 63910 }, + { 0x0D53, 63934 }, + { 0x0D54, 63925 }, + { 0x0D55, 63898 }, + { 0x0D56, 63961 }, + { 0x0D57, 63868 }, + { 0x0D58, 64089 }, + { 0x0D59, 63874 }, + { 0x0D5A, 63901 }, + { 0x0D5B, 63880 }, + { 0x0D5C, 63931 }, + { 0x0D5D, 63871 }, + { 0x0D5E, 63964 }, + { 0x0D5F, 63877 }, + { 0x0D60, 63883 }, + { 0x0D61, 63804 }, + { 0x0D62, 63744 }, + { 0x0D63, 63736 }, + { 0x0D64, 63752 }, + { 0x0D65, 63740 }, + { 0x0D66, 63756 }, + { 0x0D67, 63727 }, + { 0x0D68, 63748 }, + { 0x0D69, 63765 }, + { 0x0D6A, 63760 }, + { 0x0D6B, 63731 }, + { 0x0D6C, 63681 }, + { 0x0D6D, 63567 }, + { 0x0D6E, 63648 }, + { 0x0D6F, 63642 }, + { 0x0D70, 63586 }, + { 0x0D71, 64406 }, + { 0x0D72, 64396 }, + { 0x0D73, 64401 }, + { 0x0D74, 64391 }, + { 0x0D75, 64182 }, + { 0x0D76, 63715 }, + { 0x0D77, 63697 }, + { 0x0D78, 63703 }, + { 0x0D79, 63724 }, + { 0x0D7A, 63709 }, + { 0x0D7B, 63706 }, + { 0x0D7C, 63700 }, + { 0x0D7D, 63721 }, + { 0x0D7E, 63718 }, + { 0x0D7F, 63712 }, + { 0x0D80, 63638 }, + { 0x0D81, 63645 }, + { 0x0D82, 64336 }, + { 0x0D83, 64339 }, + { 0x0D84, 64342 }, + { 0x0D85, 64333 }, + { 0x0D86, 63996 }, + { 0x0D87, 63999 }, + { 0x0D88, 64289 }, + { 0x0D89, 64297 }, + { 0x0D8A, 64285 }, + { 0x0D8B, 64293 }, + { 0x0D8C, 63839 }, + { 0x0D8D, 63849 }, + { 0x0D8E, 63834 }, + { 0x0D8F, 63844 }, + { 0x0D90, 63980 }, + { 0x0D91, 63976 }, + { 0x0D92, 63968 }, + { 0x0D93, 63972 }, + { 0x0D94, 64379 }, + { 0x0D95, 64373 }, + { 0x0D96, 64367 }, + { 0x0D97, 64084 }, + { 0x0D98, 63776 }, + { 0x0D99, 63691 }, + { 0x0D9A, 63684 }, + { 0x0D9B, 64307 }, + { 0x0D9C, 64301 }, + { 0x0D9D, 63854 }, + { 0x0D9E, 63861 }, + { 0x0D9F, 63651 }, + { 0x0DA0, 63657 }, + { 0x0DA1, 63663 }, + { 0x0DA2, 63669 }, + { 0x0DA3, 63675 }, + { 0x0DA4, 64267 }, + { 0x0DA5, 64273 }, + { 0x0DA6, 64279 }, + { 0x0DA7, 63770 }, + { 0x0DA8, 63829 }, + { 0x0DA9, 63819 }, + { 0x0DAA, 63824 }, + { 0x0DAB, 64117 }, + { 0x0DAC, 64145 }, + { 0x0DAD, 64109 }, + { 0x0DAE, 64097 }, + { 0x0DAF, 64125 }, + { 0x0DB0, 64153 }, + { 0x0DB1, 64101 }, + { 0x0DB2, 64121 }, + { 0x0DB3, 64157 }, + { 0x0DB4, 64105 }, + { 0x0DB5, 64093 }, + { 0x0DB6, 64161 }, + { 0x0DB7, 64113 }, + { 0x0DB8, 64385 }, + { 0x0DB9, 63793 }, + { 0x0DBA, 63782 }, + { 0x0DBB, 63787 }, + { 0x0DBC, 63798 }, + { 0x0DBD, 63593 }, + { 0x0DBE, 63597 }, + { 0x0DBF, 63601 }, + { 0x0DC0, 63605 }, + { 0x0DC1, 63609 }, + { 0x0DC2, 63614 }, + { 0x0DC3, 63619 }, + { 0x0DC4, 64186 }, + { 0x0DC5, 63625 }, + { 0x0DC6, 63551 }, + { 0x0DC7, 63527 }, + { 0x0DC8, 63535 }, + { 0x0DC9, 63563 }, + { 0x0DCA, 63543 }, + { 0x0DCB, 63539 }, + { 0x0DCC, 63531 }, + { 0x0DCD, 63559 }, + { 0x0DCE, 63555 }, + { 0x0DCF, 63547 }, + { 0x0DD0, 63630 }, + { 0x0DD1, 63634 }, + { 0x0DD2, 63809 }, + { 0x0DD3, 63814 }, + { 0x0DD4, 64313 }, + { 0x0DD5, 64317 }, + { 0x0DD6, 80925 }, + { 0x0DD7, 80961 }, + { 0x0DD8, 80977 }, + { 0x0DD9, 80973 }, + { 0x0DDA, 80929 }, + { 0x0DDB, 81041 }, + { 0x0DDC, 81049 }, + { 0x0DDD, 81033 }, + { 0x0DDE, 80937 }, + { 0x0DDF, 81001 }, + { 0x0DE0, 81005 }, + { 0x0DE1, 81009 }, + { 0x0DE2, 81013 }, + { 0x0DE3, 80941 }, + { 0x0DE4, 81017 }, + { 0x0DE5, 81081 }, + { 0x0DE6, 81025 }, + { 0x0DE7, 81029 }, + { 0x0DE8, 81037 }, + { 0x0DE9, 80945 }, + { 0x0DEA, 81073 }, + { 0x0DEB, 81069 }, + { 0x0DEC, 81061 }, + { 0x0DED, 81021 }, + { 0x0DEE, 81077 }, + { 0x0DEF, 81057 }, + { 0x0DF0, 80965 }, + { 0x0DF1, 80997 }, + { 0x0DF2, 80969 }, + { 0x0DF3, 81053 }, + { 0x0DF4, 81045 }, + { 0x0DF5, 81065 }, + { 0x0DF6, 80981 }, + { 0x0DF7, 80933 }, + { 0x0DF8, 80989 }, + { 0x0DF9, 80949 }, + { 0x0DFA, 80985 }, + { 0x0DFB, 80993 }, + { 0x0DFC, 80953 }, + { 0x0DFD, 80957 }, + { 0x0DFE, 80784 }, + { 0x0DFF, 80817 }, + { 0x0E00, 80829 }, + { 0x0E01, 80826 }, + { 0x0E02, 80787 }, + { 0x0E03, 80877 }, + { 0x0E04, 80883 }, + { 0x0E05, 80871 }, + { 0x0E06, 80796 }, + { 0x0E07, 80847 }, + { 0x0E08, 80850 }, + { 0x0E09, 80853 }, + { 0x0E0A, 80856 }, + { 0x0E0B, 80799 }, + { 0x0E0C, 80859 }, + { 0x0E0D, 80911 }, + { 0x0E0E, 80865 }, + { 0x0E0F, 80868 }, + { 0x0E10, 80874 }, + { 0x0E11, 80802 }, + { 0x0E12, 80905 }, + { 0x0E13, 80902 }, + { 0x0E14, 80892 }, + { 0x0E15, 80862 }, + { 0x0E16, 80908 }, + { 0x0E17, 80889 }, + { 0x0E18, 80820 }, + { 0x0E19, 80844 }, + { 0x0E1A, 80823 }, + { 0x0E1B, 80886 }, + { 0x0E1C, 80880 }, + { 0x0E1D, 80899 }, + { 0x0E1E, 80832 }, + { 0x0E1F, 80793 }, + { 0x0E20, 80838 }, + { 0x0E21, 80805 }, + { 0x0E22, 80835 }, + { 0x0E23, 80841 }, + { 0x0E24, 80790 }, + { 0x0E25, 80808 }, + { 0x0E26, 80914 }, + { 0x0E27, 80921 }, + { 0x0E28, 80814 }, + { 0x0E29, 81085 }, + { 0x0E2A, 84881 }, + { 0x0E2B, 80811 }, + { 0x0E2C, 80895 }, + { 0x0E2D, 80917 }, + { 0x0E2E, 46753 }, + { 0x0E2F, 46897 }, + { 0x0E30, 46741 }, + { 0x0E31, 46756 }, + { 0x0E32, 46900 }, + { 0x0E33, 46747 }, + { 0x0E34, 46738 }, + { 0x0E35, 46744 }, + { 0x0E36, 46831 }, + { 0x0E37, 46726 }, + { 0x0E38, 46777 }, + { 0x0E39, 46735 }, + { 0x0E3A, 46729 }, + { 0x0E3B, 46819 }, + { 0x0E3C, 46759 }, + { 0x0E3D, 46762 }, + { 0x0E3E, 46771 }, + { 0x0E3F, 46768 }, + { 0x0E40, 46732 }, + { 0x0E41, 46924 }, + { 0x0E42, 46828 }, + { 0x0E43, 46927 }, + { 0x0E44, 46864 }, + { 0x0E45, 47020 }, + { 0x0E46, 46885 }, + { 0x0E47, 46834 }, + { 0x0E48, 46879 }, + { 0x0E49, 46993 }, + { 0x0E4A, 46855 }, + { 0x0E4B, 46987 }, + { 0x0E4C, 46930 }, + { 0x0E4D, 46873 }, + { 0x0E4E, 46933 }, + { 0x0E4F, 46792 }, + { 0x0E50, 47065 }, + { 0x0E51, 47068 }, + { 0x0E52, 47050 }, + { 0x0E53, 47038 }, + { 0x0E54, 47047 }, + { 0x0E55, 46867 }, + { 0x0E56, 47005 }, + { 0x0E57, 47014 }, + { 0x0E58, 47011 }, + { 0x0E59, 46990 }, + { 0x0E5A, 47086 }, + { 0x0E5B, 46891 }, + { 0x0E5C, 46810 }, + { 0x0E5D, 46894 }, + { 0x0E5E, 46816 }, + { 0x0E5F, 46807 }, + { 0x0E60, 46813 }, + { 0x0E61, 47077 }, + { 0x0E62, 47023 }, + { 0x0E63, 46804 }, + { 0x0E64, 46798 }, + { 0x0E65, 46942 }, + { 0x0E66, 46945 }, + { 0x0E67, 46951 }, + { 0x0E68, 46948 }, + { 0x0E69, 46801 }, + { 0x0E6A, 46909 }, + { 0x0E6B, 47062 }, + { 0x0E6C, 47026 }, + { 0x0E6D, 47095 }, + { 0x0E6E, 46765 }, + { 0x0E6F, 46912 }, + { 0x0E70, 46915 }, + { 0x0E71, 46846 }, + { 0x0E72, 46849 }, + { 0x0E73, 46783 }, + { 0x0E74, 46978 }, + { 0x0E75, 46825 }, + { 0x0E76, 46840 }, + { 0x0E77, 46975 }, + { 0x0E78, 46984 }, + { 0x0E79, 46981 }, + { 0x0E7A, 46774 }, + { 0x0E7B, 46837 }, + { 0x0E7C, 46972 }, + { 0x0E7D, 47083 }, + { 0x0E7E, 47044 }, + { 0x0E7F, 47098 }, + { 0x0E80, 47029 }, + { 0x0E81, 46969 }, + { 0x0E82, 47032 }, + { 0x0E83, 47080 }, + { 0x0E84, 47002 }, + { 0x0E85, 47035 }, + { 0x0E86, 46822 }, + { 0x0E87, 46906 }, + { 0x0E88, 46996 }, + { 0x0E89, 46789 }, + { 0x0E8A, 46858 }, + { 0x0E8B, 46861 }, + { 0x0E8C, 46966 }, + { 0x0E8D, 46750 }, + { 0x0E8E, 47755 }, + { 0x0E8F, 47512 }, + { 0x0E90, 47527 }, + { 0x0E91, 47548 }, + { 0x0E92, 47602 }, + { 0x0E93, 47530 }, + { 0x0E94, 47515 }, + { 0x0E95, 47605 }, + { 0x0E96, 47551 }, + { 0x0E97, 47521 }, + { 0x0E98, 47539 }, + { 0x0E99, 47596 }, + { 0x0E9A, 47536 }, + { 0x0E9B, 47557 }, + { 0x0E9C, 47524 }, + { 0x0E9D, 47599 }, + { 0x0E9E, 47542 }, + { 0x0E9F, 47545 }, + { 0x0EA0, 47560 }, + { 0x0EA1, 47533 }, + { 0x0EA2, 47554 }, + { 0x0EA3, 47518 }, + { 0x0EA4, 47563 }, + { 0x0EA5, 47566 }, + { 0x0EA6, 47659 }, + { 0x0EA7, 47728 }, + { 0x0EA8, 47611 }, + { 0x0EA9, 47614 }, + { 0x0EAA, 47695 }, + { 0x0EAB, 47731 }, + { 0x0EAC, 47734 }, + { 0x0EAD, 47644 }, + { 0x0EAE, 47581 }, + { 0x0EAF, 47650 }, + { 0x0EB0, 47584 }, + { 0x0EB1, 47587 }, + { 0x0EB2, 47743 }, + { 0x0EB3, 47764 }, + { 0x0EB4, 47767 }, + { 0x0EB5, 47674 }, + { 0x0EB6, 47671 }, + { 0x0EB7, 47590 }, + { 0x0EB8, 47653 }, + { 0x0EB9, 47788 }, + { 0x0EBA, 47656 }, + { 0x0EBB, 47593 }, + { 0x0EBC, 47677 }, + { 0x0EBD, 47749 }, + { 0x0EBE, 47680 }, + { 0x0EBF, 47770 }, + { 0x0EC0, 47752 }, + { 0x0EC1, 47689 }, + { 0x0EC2, 47683 }, + { 0x0EC3, 47626 }, + { 0x0EC4, 47701 }, + { 0x0EC5, 47665 }, + { 0x0EC6, 47569 }, + { 0x0EC7, 47632 }, + { 0x0EC8, 47575 }, + { 0x0EC9, 47578 }, + { 0x0ECA, 47629 }, + { 0x0ECB, 47785 }, + { 0x0ECC, 47692 }, + { 0x0ECD, 47791 }, + { 0x0ECE, 47782 }, + { 0x0ECF, 47779 }, + { 0x0ED0, 47794 }, + { 0x0ED1, 47608 }, + { 0x0ED2, 47662 }, + { 0x0ED3, 47761 }, + { 0x0ED4, 47647 }, + { 0x0ED5, 47716 }, + { 0x0ED6, 47125 }, + { 0x0ED7, 47269 }, + { 0x0ED8, 47212 }, + { 0x0ED9, 47116 }, + { 0x0EDA, 47230 }, + { 0x0EDB, 47233 }, + { 0x0EDC, 47128 }, + { 0x0EDD, 47122 }, + { 0x0EDE, 47311 }, + { 0x0EDF, 47254 }, + { 0x0EE0, 47260 }, + { 0x0EE1, 47161 }, + { 0x0EE2, 47383 }, + { 0x0EE3, 47380 }, + { 0x0EE4, 47251 }, + { 0x0EE5, 47113 }, + { 0x0EE6, 47119 }, + { 0x0EE7, 47158 }, + { 0x0EE8, 47101 }, + { 0x0EE9, 47149 }, + { 0x0EEA, 47110 }, + { 0x0EEB, 47104 }, + { 0x0EEC, 47131 }, + { 0x0EED, 47134 }, + { 0x0EEE, 47143 }, + { 0x0EEF, 47140 }, + { 0x0EF0, 47107 }, + { 0x0EF1, 47293 }, + { 0x0EF2, 47473 }, + { 0x0EF3, 47299 }, + { 0x0EF4, 47302 }, + { 0x0EF5, 47155 }, + { 0x0EF6, 47356 }, + { 0x0EF7, 47359 }, + { 0x0EF8, 47386 }, + { 0x0EF9, 47332 }, + { 0x0EFA, 47455 }, + { 0x0EFB, 47257 }, + { 0x0EFC, 47314 }, + { 0x0EFD, 47485 }, + { 0x0EFE, 47194 }, + { 0x0EFF, 47479 }, + { 0x0F00, 47434 }, + { 0x0F01, 47437 }, + { 0x0F02, 47461 }, + { 0x0F03, 47500 }, + { 0x0F04, 47422 }, + { 0x0F05, 47377 }, + { 0x0F06, 47374 }, + { 0x0F07, 47467 }, + { 0x0F08, 47296 }, + { 0x0F09, 47227 }, + { 0x0F0A, 47224 }, + { 0x0F0B, 47152 }, + { 0x0F0C, 47416 }, + { 0x0F0D, 47350 }, + { 0x0F0E, 47347 }, + { 0x0F0F, 47218 }, + { 0x0F10, 47338 }, + { 0x0F11, 47248 }, + { 0x0F12, 47371 }, + { 0x0F13, 47242 }, + { 0x0F14, 47341 }, + { 0x0F15, 47263 }, + { 0x0F16, 47266 }, + { 0x0F17, 47176 }, + { 0x0F18, 47173 }, + { 0x0F19, 47137 }, + { 0x0F1A, 47281 }, + { 0x0F1B, 47449 }, + { 0x0F1C, 47182 }, + { 0x0F1D, 47335 }, + { 0x0F1E, 47146 }, + { 0x0F1F, 47389 }, + { 0x0F20, 47446 }, + { 0x0F21, 47365 }, + { 0x0F22, 47413 }, + { 0x0F23, 47203 }, + { 0x0F24, 47209 }, + { 0x0F25, 47200 }, + { 0x0F26, 47206 }, + { 0x0F27, 47278 }, + { 0x0F28, 47287 }, + { 0x0F29, 47290 }, + { 0x0F2A, 47392 }, + { 0x0F2B, 47395 }, + { 0x0F2C, 47284 }, + { 0x0F2D, 47188 }, + { 0x0F2E, 79233 }, + { 0x0F2F, 79245 }, + { 0x0F30, 79239 }, + { 0x0F31, 79653 }, + { 0x0F32, 79656 }, + { 0x0F33, 79236 }, + { 0x0F34, 79242 }, + { 0x0F35, 79674 }, + { 0x0F36, 79278 }, + { 0x0F37, 79290 }, + { 0x0F38, 79284 }, + { 0x0F39, 79737 }, + { 0x0F3A, 79740 }, + { 0x0F3B, 79281 }, + { 0x0F3C, 79287 }, + { 0x0F3D, 79746 }, + { 0x0F3E, 79659 }, + { 0x0F3F, 79671 }, + { 0x0F40, 79665 }, + { 0x0F41, 80211 }, + { 0x0F42, 80214 }, + { 0x0F43, 79662 }, + { 0x0F44, 79668 }, + { 0x0F45, 80217 }, + { 0x0F46, 79293 }, + { 0x0F47, 79305 }, + { 0x0F48, 79299 }, + { 0x0F49, 79749 }, + { 0x0F4A, 79752 }, + { 0x0F4B, 79296 }, + { 0x0F4C, 79302 }, + { 0x0F4D, 79758 }, + { 0x0F4E, 79935 }, + { 0x0F4F, 79947 }, + { 0x0F50, 79941 }, + { 0x0F51, 80322 }, + { 0x0F52, 80325 }, + { 0x0F53, 79938 }, + { 0x0F54, 79944 }, + { 0x0F55, 80328 }, + { 0x0F56, 79353 }, + { 0x0F57, 79365 }, + { 0x0F58, 79359 }, + { 0x0F59, 79878 }, + { 0x0F5A, 79881 }, + { 0x0F5B, 79356 }, + { 0x0F5C, 79362 }, + { 0x0F5D, 79887 }, + { 0x0F5E, 79368 }, + { 0x0F5F, 79380 }, + { 0x0F60, 79374 }, + { 0x0F61, 79893 }, + { 0x0F62, 79896 }, + { 0x0F63, 79371 }, + { 0x0F64, 79377 }, + { 0x0F65, 79932 }, + { 0x0F66, 79899 }, + { 0x0F67, 79911 }, + { 0x0F68, 79905 }, + { 0x0F69, 80304 }, + { 0x0F6A, 80307 }, + { 0x0F6B, 79902 }, + { 0x0F6C, 79908 }, + { 0x0F6D, 80313 }, + { 0x0F6E, 79338 }, + { 0x0F6F, 79350 }, + { 0x0F70, 79344 }, + { 0x0F71, 79830 }, + { 0x0F72, 79833 }, + { 0x0F73, 79341 }, + { 0x0F74, 79347 }, + { 0x0F75, 79851 }, + { 0x0F76, 79854 }, + { 0x0F77, 79860 }, + { 0x0F78, 80292 }, + { 0x0F79, 80295 }, + { 0x0F7A, 79857 }, + { 0x0F7B, 79836 }, + { 0x0F7C, 79848 }, + { 0x0F7D, 79842 }, + { 0x0F7E, 80277 }, + { 0x0F7F, 80280 }, + { 0x0F80, 79839 }, + { 0x0F81, 79845 }, + { 0x0F82, 80283 }, + { 0x0F83, 80289 }, + { 0x0F84, 80439 }, + { 0x0F85, 80442 }, + { 0x0F86, 80286 }, + { 0x0F87, 79158 }, + { 0x0F88, 79170 }, + { 0x0F89, 79164 }, + { 0x0F8A, 79473 }, + { 0x0F8B, 79491 }, + { 0x0F8C, 79161 }, + { 0x0F8D, 79167 }, + { 0x0F8E, 79497 }, + { 0x0F8F, 79398 }, + { 0x0F90, 79410 }, + { 0x0F91, 79404 }, + { 0x0F92, 80007 }, + { 0x0F93, 80010 }, + { 0x0F94, 79401 }, + { 0x0F95, 79407 }, + { 0x0F96, 80013 }, + { 0x0F97, 79383 }, + { 0x0F98, 79395 }, + { 0x0F99, 79389 }, + { 0x0F9A, 79950 }, + { 0x0F9B, 79953 }, + { 0x0F9C, 79386 }, + { 0x0F9D, 79392 }, + { 0x0F9E, 79989 }, + { 0x0F9F, 79173 }, + { 0x0FA0, 79185 }, + { 0x0FA1, 79179 }, + { 0x0FA2, 79506 }, + { 0x0FA3, 79524 }, + { 0x0FA4, 79176 }, + { 0x0FA5, 79182 }, + { 0x0FA6, 79545 }, + { 0x0FA7, 79428 }, + { 0x0FA8, 79440 }, + { 0x0FA9, 79434 }, + { 0x0FAA, 80025 }, + { 0x0FAB, 80028 }, + { 0x0FAC, 79431 }, + { 0x0FAD, 79437 }, + { 0x0FAE, 80031 }, + { 0x0FAF, 80034 }, + { 0x0FB0, 80040 }, + { 0x0FB1, 80373 }, + { 0x0FB2, 80376 }, + { 0x0FB3, 80037 }, + { 0x0FB4, 79308 }, + { 0x0FB5, 79320 }, + { 0x0FB6, 79314 }, + { 0x0FB7, 79770 }, + { 0x0FB8, 79773 }, + { 0x0FB9, 79311 }, + { 0x0FBA, 79317 }, + { 0x0FBB, 79779 }, + { 0x0FBC, 79782 }, + { 0x0FBD, 79794 }, + { 0x0FBE, 79788 }, + { 0x0FBF, 80250 }, + { 0x0FC0, 80253 }, + { 0x0FC1, 79785 }, + { 0x0FC2, 79791 }, + { 0x0FC3, 80259 }, + { 0x0FC4, 80457 }, + { 0x0FC5, 80473 }, + { 0x0FC6, 80465 }, + { 0x0FC7, 80477 }, + { 0x0FC8, 80481 }, + { 0x0FC9, 80461 }, + { 0x0FCA, 80469 }, + { 0x0FCB, 80489 }, + { 0x0FCC, 79263 }, + { 0x0FCD, 79275 }, + { 0x0FCE, 79269 }, + { 0x0FCF, 79689 }, + { 0x0FD0, 79692 }, + { 0x0FD1, 79266 }, + { 0x0FD2, 79272 }, + { 0x0FD3, 79695 }, + { 0x0FD4, 79698 }, + { 0x0FD5, 79704 }, + { 0x0FD6, 80220 }, + { 0x0FD7, 80223 }, + { 0x0FD8, 79701 }, + { 0x0FD9, 79707 }, + { 0x0FDA, 79719 }, + { 0x0FDB, 79713 }, + { 0x0FDC, 80226 }, + { 0x0FDD, 80229 }, + { 0x0FDE, 79710 }, + { 0x0FDF, 79716 }, + { 0x0FE0, 80232 }, + { 0x0FE1, 80238 }, + { 0x0FE2, 80433 }, + { 0x0FE3, 80436 }, + { 0x0FE4, 80235 }, + { 0x0FE5, 79413 }, + { 0x0FE6, 79425 }, + { 0x0FE7, 79419 }, + { 0x0FE8, 80016 }, + { 0x0FE9, 80019 }, + { 0x0FEA, 79416 }, + { 0x0FEB, 79422 }, + { 0x0FEC, 80022 }, + { 0x0FED, 80509 }, + { 0x0FEE, 80525 }, + { 0x0FEF, 80517 }, + { 0x0FF0, 80529 }, + { 0x0FF1, 80533 }, + { 0x0FF2, 80513 }, + { 0x0FF3, 80521 }, + { 0x0FF4, 79458 }, + { 0x0FF5, 79470 }, + { 0x0FF6, 79464 }, + { 0x0FF7, 80067 }, + { 0x0FF8, 80070 }, + { 0x0FF9, 79461 }, + { 0x0FFA, 79467 }, + { 0x0FFB, 80091 }, + { 0x0FFC, 80073 }, + { 0x0FFD, 80085 }, + { 0x0FFE, 80079 }, + { 0x0FFF, 80385 }, + { 0x1000, 80388 }, + { 0x1001, 80076 }, + { 0x1002, 80082 }, + { 0x1003, 80391 }, + { 0x1004, 79443 }, + { 0x1005, 79455 }, + { 0x1006, 79449 }, + { 0x1007, 80058 }, + { 0x1008, 80061 }, + { 0x1009, 79446 }, + { 0x100A, 79452 }, + { 0x100B, 80064 }, + { 0x100C, 79188 }, + { 0x100D, 79200 }, + { 0x100E, 79194 }, + { 0x100F, 79548 }, + { 0x1010, 79566 }, + { 0x1011, 79191 }, + { 0x1012, 79197 }, + { 0x1013, 79572 }, + { 0x1014, 79551 }, + { 0x1015, 79563 }, + { 0x1016, 79557 }, + { 0x1017, 80151 }, + { 0x1018, 80154 }, + { 0x1019, 79554 }, + { 0x101A, 79560 }, + { 0x101B, 80172 }, + { 0x101C, 79248 }, + { 0x101D, 79260 }, + { 0x101E, 79254 }, + { 0x101F, 79677 }, + { 0x1020, 79680 }, + { 0x1021, 79251 }, + { 0x1022, 79257 }, + { 0x1023, 79686 }, + { 0x1024, 79218 }, + { 0x1025, 79230 }, + { 0x1026, 79224 }, + { 0x1027, 79605 }, + { 0x1028, 79608 }, + { 0x1029, 79221 }, + { 0x102A, 79227 }, + { 0x102B, 79626 }, + { 0x102C, 79629 }, + { 0x102D, 79635 }, + { 0x102E, 80199 }, + { 0x102F, 80202 }, + { 0x1030, 79632 }, + { 0x1031, 79611 }, + { 0x1032, 79623 }, + { 0x1033, 79617 }, + { 0x1034, 80184 }, + { 0x1035, 80187 }, + { 0x1036, 79614 }, + { 0x1037, 79620 }, + { 0x1038, 80427 }, + { 0x1039, 79956 }, + { 0x103A, 79968 }, + { 0x103B, 79962 }, + { 0x103C, 80331 }, + { 0x103D, 80334 }, + { 0x103E, 79959 }, + { 0x103F, 79965 }, + { 0x1040, 80340 }, + { 0x1041, 79527 }, + { 0x1042, 79539 }, + { 0x1043, 79533 }, + { 0x1044, 80139 }, + { 0x1045, 80142 }, + { 0x1046, 79530 }, + { 0x1047, 79536 }, + { 0x1048, 80148 }, + { 0x1049, 79803 }, + { 0x104A, 79815 }, + { 0x104B, 79809 }, + { 0x104C, 80262 }, + { 0x104D, 80265 }, + { 0x104E, 79806 }, + { 0x104F, 79812 }, + { 0x1050, 80271 }, + { 0x1051, 79974 }, + { 0x1052, 79986 }, + { 0x1053, 79980 }, + { 0x1054, 80343 }, + { 0x1055, 80346 }, + { 0x1056, 79977 }, + { 0x1057, 79983 }, + { 0x1058, 80349 }, + { 0x1059, 79992 }, + { 0x105A, 80004 }, + { 0x105B, 79998 }, + { 0x105C, 80364 }, + { 0x105D, 80367 }, + { 0x105E, 79995 }, + { 0x105F, 80001 }, + { 0x1060, 80370 }, + { 0x1061, 79203 }, + { 0x1062, 79215 }, + { 0x1063, 79209 }, + { 0x1064, 79587 }, + { 0x1065, 79590 }, + { 0x1066, 79206 }, + { 0x1067, 79212 }, + { 0x1068, 79593 }, + { 0x1069, 79323 }, + { 0x106A, 79335 }, + { 0x106B, 79329 }, + { 0x106C, 79797 }, + { 0x106D, 79800 }, + { 0x106E, 79326 }, + { 0x106F, 79332 }, + { 0x1070, 79821 }, + { 0x1071, 79890 }, + { 0x1072, 79767 }, + { 0x1073, 79602 }, + { 0x1074, 80542 }, + { 0x1075, 80537 }, + { 0x1076, 80549 }, + { 0x1077, 79152 }, + { 0x1078, 80558 }, + { 0x1079, 79040 }, + { 0x107A, 79045 }, + { 0x107B, 80556 }, + { 0x107C, 79043 }, + { 0x107D, 79149 }, + { 0x107E, 79155 }, + { 0x107F, 80553 }, + { 0x1080, 79047 }, + { 0x1081, 79053 }, + { 0x1082, 79071 }, + { 0x1083, 79059 }, + { 0x1084, 79056 }, + { 0x1085, 79050 }, + { 0x1086, 79068 }, + { 0x1087, 79065 }, + { 0x1088, 79062 }, + { 0x1089, 79115 }, + { 0x108A, 79140 }, + { 0x108B, 79137 }, + { 0x108C, 79125 }, + { 0x108D, 79122 }, + { 0x108E, 79128 }, + { 0x108F, 79146 }, + { 0x1090, 79131 }, + { 0x1091, 79134 }, + { 0x1092, 79143 }, + { 0x1093, 79118 }, + { 0x1094, 80501 }, + { 0x1095, 79764 }, + { 0x1096, 80247 }, + { 0x1097, 79761 }, + { 0x1098, 80493 }, + { 0x1099, 79503 }, + { 0x109A, 80115 }, + { 0x109B, 79500 }, + { 0x109C, 80497 }, + { 0x109D, 79599 }, + { 0x109E, 80181 }, + { 0x109F, 79596 }, + { 0x10A0, 80505 }, + { 0x10A1, 79827 }, + { 0x10A2, 80274 }, + { 0x10A3, 79824 }, + { 0x10A4, 79099 }, + { 0x10A5, 79078 }, + { 0x10A6, 79107 }, + { 0x10A7, 79094 }, + { 0x10A8, 79082 }, + { 0x10A9, 79090 }, + { 0x10AA, 79103 }, + { 0x10AB, 79086 }, + { 0x10AC, 79111 }, + { 0x10AD, 79074 }, + { 0x10AE, 72870 }, + { 0x10AF, 72873 }, + { 0x10B0, 72876 }, + { 0x10B1, 72879 }, + { 0x10B2, 72885 }, + { 0x10B3, 72888 }, + { 0x10B4, 72909 }, + { 0x10B5, 72945 }, + { 0x10B6, 72912 }, + { 0x10B7, 72915 }, + { 0x10B8, 72918 }, + { 0x10B9, 72921 }, + { 0x10BA, 72924 }, + { 0x10BB, 72927 }, + { 0x10BC, 72930 }, + { 0x10BD, 72933 }, + { 0x10BE, 72936 }, + { 0x10BF, 72939 }, + { 0x10C0, 72942 }, + { 0x10C1, 72948 }, + { 0x10C2, 72951 }, + { 0x10C3, 72954 }, + { 0x10C4, 72957 }, + { 0x10C5, 72960 }, + { 0x10C6, 72963 }, + { 0x10C7, 72966 }, + { 0x10C8, 72969 }, + { 0x10C9, 72972 }, + { 0x10CA, 72975 }, + { 0x10CB, 72978 }, + { 0x10CC, 72984 }, + { 0x10CD, 73068 }, + { 0x10CE, 73071 }, + { 0x10CF, 72987 }, + { 0x10D0, 72990 }, + { 0x10D1, 72993 }, + { 0x10D2, 72996 }, + { 0x10D3, 72999 }, + { 0x10D4, 73074 }, + { 0x10D5, 73077 }, + { 0x10D6, 73080 }, + { 0x10D7, 73083 }, + { 0x10D8, 73086 }, + { 0x10D9, 73089 }, + { 0x10DA, 73002 }, + { 0x10DB, 72882 }, + { 0x10DC, 73005 }, + { 0x10DD, 73008 }, + { 0x10DE, 73011 }, + { 0x10DF, 73014 }, + { 0x10E0, 73017 }, + { 0x10E1, 72891 }, + { 0x10E2, 73020 }, + { 0x10E3, 72894 }, + { 0x10E4, 73023 }, + { 0x10E5, 72897 }, + { 0x10E6, 73026 }, + { 0x10E7, 72900 }, + { 0x10E8, 72903 }, + { 0x10E9, 72906 }, + { 0x10EA, 73065 }, + { 0x10EB, 73092 }, + { 0x10EC, 73095 }, + { 0x10ED, 73098 }, + { 0x10EE, 73101 }, + { 0x10EF, 73104 }, + { 0x10F0, 73107 }, + { 0x10F1, 73110 }, + { 0x10F2, 73113 }, + { 0x10F3, 73116 }, + { 0x10F4, 73119 }, + { 0x10F5, 73122 }, + { 0x10F6, 73125 }, + { 0x10F7, 73029 }, + { 0x10F8, 73032 }, + { 0x10F9, 73035 }, + { 0x10FA, 73038 }, + { 0x10FB, 73041 }, + { 0x10FC, 73044 }, + { 0x10FD, 73047 }, + { 0x10FE, 73050 }, + { 0x10FF, 73053 }, + { 0x1100, 73056 }, + { 0x1101, 73059 }, + { 0x1102, 73062 }, + { 0x1103, 72981 }, + { 0x1104, 72766 }, + { 0x1105, 72770 }, + { 0x1106, 72774 }, + { 0x1107, 72778 }, + { 0x1108, 72782 }, + { 0x1109, 72674 }, + { 0x110A, 70939 }, + { 0x110B, 69964 }, + { 0x110C, 70216 }, + { 0x110D, 69970 }, + { 0x110E, 70048 }, + { 0x110F, 69985 }, + { 0x1110, 70120 }, + { 0x1111, 71042 }, + { 0x1112, 71110 }, + { 0x1113, 71094 }, + { 0x1114, 69958 }, + { 0x1115, 70006 }, + { 0x1116, 70195 }, + { 0x1117, 72129 }, + { 0x1118, 70198 }, + { 0x1119, 72133 }, + { 0x111A, 70544 }, + { 0x111B, 72273 }, + { 0x111C, 70201 }, + { 0x111D, 72137 }, + { 0x111E, 70547 }, + { 0x111F, 72277 }, + { 0x1120, 71837 }, + { 0x1121, 70192 }, + { 0x1122, 72125 }, + { 0x1123, 70538 }, + { 0x1124, 72269 }, + { 0x1125, 71833 }, + { 0x1126, 70009 }, + { 0x1127, 71038 }, + { 0x1128, 71821 }, + { 0x1129, 70834 }, + { 0x112A, 70838 }, + { 0x112B, 70859 }, + { 0x112C, 70815 }, + { 0x112D, 70842 }, + { 0x112E, 70830 }, + { 0x112F, 70865 }, + { 0x1130, 70870 }, + { 0x1131, 70877 }, + { 0x1132, 70848 }, + { 0x1133, 70826 }, + { 0x1134, 70821 }, + { 0x1135, 70030 }, + { 0x1136, 70051 }, + { 0x1137, 70117 }, + { 0x1138, 70012 }, + { 0x1139, 70129 }, + { 0x113A, 70680 }, + { 0x113B, 70132 }, + { 0x113C, 70382 }, + { 0x113D, 70135 }, + { 0x113E, 70385 }, + { 0x113F, 71066 }, + { 0x1140, 71450 }, + { 0x1141, 71134 }, + { 0x1142, 70126 }, + { 0x1143, 70376 }, + { 0x1144, 70394 }, + { 0x1145, 72225 }, + { 0x1146, 70397 }, + { 0x1147, 72229 }, + { 0x1148, 70686 }, + { 0x1149, 72357 }, + { 0x114A, 70400 }, + { 0x114B, 72233 }, + { 0x114C, 70689 }, + { 0x114D, 72361 }, + { 0x114E, 70391 }, + { 0x114F, 72221 }, + { 0x1150, 70683 }, + { 0x1151, 72353 }, + { 0x1152, 71082 }, + { 0x1153, 69988 }, + { 0x1154, 72085 }, + { 0x1155, 71090 }, + { 0x1156, 70180 }, + { 0x1157, 70752 }, + { 0x1158, 70186 }, + { 0x1159, 70493 }, + { 0x115A, 70189 }, + { 0x115B, 70496 }, + { 0x115C, 71074 }, + { 0x115D, 71370 }, + { 0x115E, 71106 }, + { 0x115F, 70177 }, + { 0x1160, 70475 }, + { 0x1161, 70517 }, + { 0x1162, 72257 }, + { 0x1163, 70520 }, + { 0x1164, 72261 }, + { 0x1165, 70797 }, + { 0x1166, 72401 }, + { 0x1167, 70523 }, + { 0x1168, 72265 }, + { 0x1169, 70800 }, + { 0x116A, 72405 }, + { 0x116B, 70514 }, + { 0x116C, 72253 }, + { 0x116D, 70794 }, + { 0x116E, 72397 }, + { 0x116F, 71877 }, + { 0x1170, 70000 }, + { 0x1171, 70502 }, + { 0x1172, 70508 }, + { 0x1173, 70511 }, + { 0x1174, 70499 }, + { 0x1175, 70057 }, + { 0x1176, 70599 }, + { 0x1177, 70060 }, + { 0x1178, 70262 }, + { 0x1179, 70063 }, + { 0x117A, 70265 }, + { 0x117B, 71050 }, + { 0x117C, 70054 }, + { 0x117D, 70256 }, + { 0x117E, 70271 }, + { 0x117F, 72161 }, + { 0x1180, 70274 }, + { 0x1181, 72165 }, + { 0x1182, 70608 }, + { 0x1183, 72317 }, + { 0x1184, 70277 }, + { 0x1185, 72169 }, + { 0x1186, 70611 }, + { 0x1187, 72321 }, + { 0x1188, 70268 }, + { 0x1189, 72157 }, + { 0x118A, 70602 }, + { 0x118B, 72313 }, + { 0x118C, 71845 }, + { 0x118D, 69973 }, + { 0x118E, 70066 }, + { 0x118F, 72510 }, + { 0x1190, 72514 }, + { 0x1191, 72518 }, + { 0x1192, 72506 }, + { 0x1193, 70021 }, + { 0x1194, 70577 }, + { 0x1195, 70024 }, + { 0x1196, 70229 }, + { 0x1197, 70027 }, + { 0x1198, 70232 }, + { 0x1199, 71046 }, + { 0x119A, 70018 }, + { 0x119B, 70222 }, + { 0x119C, 70238 }, + { 0x119D, 72145 }, + { 0x119E, 70241 }, + { 0x119F, 72149 }, + { 0x11A0, 70583 }, + { 0x11A1, 72301 }, + { 0x11A2, 70244 }, + { 0x11A3, 72153 }, + { 0x11A4, 70586 }, + { 0x11A5, 72305 }, + { 0x11A6, 70235 }, + { 0x11A7, 72141 }, + { 0x11A8, 70580 }, + { 0x11A9, 72297 }, + { 0x11AA, 71841 }, + { 0x11AB, 69961 }, + { 0x11AC, 70998 }, + { 0x11AD, 70087 }, + { 0x11AE, 70635 }, + { 0x11AF, 70093 }, + { 0x11B0, 70319 }, + { 0x11B1, 70096 }, + { 0x11B2, 70322 }, + { 0x11B3, 71058 }, + { 0x11B4, 70084 }, + { 0x11B5, 70313 }, + { 0x11B6, 70328 }, + { 0x11B7, 72201 }, + { 0x11B8, 70331 }, + { 0x11B9, 72205 }, + { 0x11BA, 70641 }, + { 0x11BB, 72341 }, + { 0x11BC, 70334 }, + { 0x11BD, 72209 }, + { 0x11BE, 70644 }, + { 0x11BF, 72345 }, + { 0x11C0, 70325 }, + { 0x11C1, 72197 }, + { 0x11C2, 70638 }, + { 0x11C3, 72337 }, + { 0x11C4, 71849 }, + { 0x11C5, 69979 }, + { 0x11C6, 72081 }, + { 0x11C7, 70090 }, + { 0x11C8, 72437 }, + { 0x11C9, 70970 }, + { 0x11CA, 70102 }, + { 0x11CB, 70647 }, + { 0x11CC, 70111 }, + { 0x11CD, 70352 }, + { 0x11CE, 70114 }, + { 0x11CF, 70358 }, + { 0x11D0, 71062 }, + { 0x11D1, 70099 }, + { 0x11D2, 70337 }, + { 0x11D3, 70367 }, + { 0x11D4, 72217 }, + { 0x11D5, 70364 }, + { 0x11D6, 72213 }, + { 0x11D7, 70671 }, + { 0x11D8, 72349 }, + { 0x11D9, 71853 }, + { 0x11DA, 69982 }, + { 0x11DB, 71210 }, + { 0x11DC, 70108 }, + { 0x11DD, 70072 }, + { 0x11DE, 70614 }, + { 0x11DF, 70078 }, + { 0x11E0, 70295 }, + { 0x11E1, 70081 }, + { 0x11E2, 70298 }, + { 0x11E3, 71054 }, + { 0x11E4, 70069 }, + { 0x11E5, 70280 }, + { 0x11E6, 70304 }, + { 0x11E7, 72185 }, + { 0x11E8, 70307 }, + { 0x11E9, 72189 }, + { 0x11EA, 70629 }, + { 0x11EB, 72329 }, + { 0x11EC, 70310 }, + { 0x11ED, 72193 }, + { 0x11EE, 70632 }, + { 0x11EF, 72333 }, + { 0x11F0, 70301 }, + { 0x11F1, 72181 }, + { 0x11F2, 70626 }, + { 0x11F3, 72325 }, + { 0x11F4, 69976 }, + { 0x11F5, 72077 }, + { 0x11F6, 70942 }, + { 0x11F7, 70162 }, + { 0x11F8, 70713 }, + { 0x11F9, 70168 }, + { 0x11FA, 70454 }, + { 0x11FB, 70171 }, + { 0x11FC, 70457 }, + { 0x11FD, 71070 }, + { 0x11FE, 70159 }, + { 0x11FF, 70436 }, + { 0x1200, 70466 }, + { 0x1201, 72241 }, + { 0x1202, 70469 }, + { 0x1203, 72245 }, + { 0x1204, 70746 }, + { 0x1205, 72389 }, + { 0x1206, 70472 }, + { 0x1207, 72249 }, + { 0x1208, 70749 }, + { 0x1209, 72393 }, + { 0x120A, 70463 }, + { 0x120B, 72237 }, + { 0x120C, 70743 }, + { 0x120D, 72385 }, + { 0x120E, 71873 }, + { 0x120F, 69997 }, + { 0x1210, 72441 }, + { 0x1211, 70174 }, + { 0x1212, 72021 }, + { 0x1213, 72449 }, + { 0x1214, 71829 }, + { 0x1215, 71825 }, + { 0x1216, 71865 }, + { 0x1217, 71869 }, + { 0x1218, 71861 }, + { 0x1219, 71857 }, + { 0x121A, 70445 }, + { 0x121B, 70448 }, + { 0x121C, 70722 }, + { 0x121D, 70451 }, + { 0x121E, 70725 }, + { 0x121F, 70442 }, + { 0x1220, 70716 }, + { 0x1221, 70734 }, + { 0x1222, 72373 }, + { 0x1223, 70737 }, + { 0x1224, 72377 }, + { 0x1225, 70902 }, + { 0x1226, 72425 }, + { 0x1227, 70740 }, + { 0x1228, 72381 }, + { 0x1229, 70905 }, + { 0x122A, 72429 }, + { 0x122B, 70731 }, + { 0x122C, 72369 }, + { 0x122D, 70899 }, + { 0x122E, 72421 }, + { 0x122F, 70165 }, + { 0x1230, 70207 }, + { 0x1231, 70803 }, + { 0x1232, 70210 }, + { 0x1233, 70556 }, + { 0x1234, 70213 }, + { 0x1235, 70559 }, + { 0x1236, 71078 }, + { 0x1237, 70204 }, + { 0x1238, 70550 }, + { 0x1239, 70568 }, + { 0x123A, 72285 }, + { 0x123B, 70571 }, + { 0x123C, 72289 }, + { 0x123D, 70809 }, + { 0x123E, 72413 }, + { 0x123F, 70574 }, + { 0x1240, 72293 }, + { 0x1241, 70812 }, + { 0x1242, 72417 }, + { 0x1243, 70565 }, + { 0x1244, 72281 }, + { 0x1245, 70806 }, + { 0x1246, 72409 }, + { 0x1247, 71881 }, + { 0x1248, 70003 }, + { 0x1249, 72445 }, + { 0x124A, 72093 }, + { 0x124B, 71002 }, + { 0x124C, 70150 }, + { 0x124D, 70962 }, + { 0x124E, 72101 }, + { 0x124F, 70698 }, + { 0x1250, 70153 }, + { 0x1251, 70421 }, + { 0x1252, 70156 }, + { 0x1253, 70424 }, + { 0x1254, 72105 }, + { 0x1255, 70147 }, + { 0x1256, 70415 }, + { 0x1257, 72097 }, + { 0x1258, 70701 }, + { 0x1259, 72365 }, + { 0x125A, 69994 }, + { 0x125B, 72089 }, + { 0x125C, 70946 }, + { 0x125D, 70036 }, + { 0x125E, 70589 }, + { 0x125F, 70039 }, + { 0x1260, 70250 }, + { 0x1261, 70042 }, + { 0x1262, 70253 }, + { 0x1263, 70033 }, + { 0x1264, 70247 }, + { 0x1265, 70596 }, + { 0x1266, 72309 }, + { 0x1267, 69967 }, + { 0x1268, 70484 }, + { 0x1269, 70950 }, + { 0x126A, 70487 }, + { 0x126B, 70954 }, + { 0x126C, 70758 }, + { 0x126D, 70958 }, + { 0x126E, 70490 }, + { 0x126F, 70761 }, + { 0x1270, 70481 }, + { 0x1271, 70755 }, + { 0x1272, 70911 }, + { 0x1273, 72433 }, + { 0x1274, 70183 }, + { 0x1275, 70785 }, + { 0x1276, 70788 }, + { 0x1277, 70791 }, + { 0x1278, 70782 }, + { 0x1279, 70505 }, + { 0x127A, 70529 }, + { 0x127B, 70532 }, + { 0x127C, 70535 }, + { 0x127D, 70526 }, + { 0x127E, 71893 }, + { 0x127F, 71897 }, + { 0x1280, 71909 }, + { 0x1281, 71901 }, + { 0x1282, 71913 }, + { 0x1283, 71889 }, + { 0x1284, 71905 }, + { 0x1285, 71885 }, + { 0x1286, 71917 }, + { 0x1287, 70045 }, + { 0x1288, 70695 }, + { 0x1289, 70141 }, + { 0x128A, 70409 }, + { 0x128B, 70144 }, + { 0x128C, 70412 }, + { 0x128D, 70138 }, + { 0x128E, 70403 }, + { 0x128F, 69991 }, + { 0x1290, 70773 }, + { 0x1291, 70776 }, + { 0x1292, 70779 }, + { 0x1293, 70770 }, + { 0x1294, 72113 }, + { 0x1295, 72117 }, + { 0x1296, 72121 }, + { 0x1297, 72109 }, + { 0x1298, 70887 }, + { 0x1299, 70346 }, + { 0x129A, 70656 }, + { 0x129B, 70349 }, + { 0x129C, 70659 }, + { 0x129D, 70343 }, + { 0x129E, 70650 }, + { 0x129F, 70105 }, + { 0x12A0, 70355 }, + { 0x12A1, 71018 }, + { 0x12A2, 71022 }, + { 0x12A3, 71026 }, + { 0x12A4, 71014 }, + { 0x12A5, 72461 }, + { 0x12A6, 72465 }, + { 0x12A7, 72469 }, + { 0x12A8, 72457 }, + { 0x12A9, 72453 }, + { 0x12AA, 70289 }, + { 0x12AB, 70620 }, + { 0x12AC, 70292 }, + { 0x12AD, 70623 }, + { 0x12AE, 70286 }, + { 0x12AF, 70617 }, + { 0x12B0, 70075 }, + { 0x12B1, 71977 }, + { 0x12B2, 71981 }, + { 0x12B3, 71993 }, + { 0x12B4, 71985 }, + { 0x12B5, 71997 }, + { 0x12B6, 71973 }, + { 0x12B7, 71989 }, + { 0x12B8, 71969 }, + { 0x12B9, 71086 }, + { 0x12BA, 72009 }, + { 0x12BB, 72013 }, + { 0x12BC, 72017 }, + { 0x12BD, 72005 }, + { 0x12BE, 72065 }, + { 0x12BF, 72069 }, + { 0x12C0, 72073 }, + { 0x12C1, 72061 }, + { 0x12C2, 72049 }, + { 0x12C3, 72053 }, + { 0x12C4, 72057 }, + { 0x12C5, 72045 }, + { 0x12C6, 72033 }, + { 0x12C7, 72037 }, + { 0x12C8, 72041 }, + { 0x12C9, 72029 }, + { 0x12CA, 70978 }, + { 0x12CB, 70982 }, + { 0x12CC, 70986 }, + { 0x12CD, 70974 }, + { 0x12CE, 71438 }, + { 0x12CF, 71434 }, + { 0x12D0, 71426 }, + { 0x12D1, 71715 }, + { 0x12D2, 71430 }, + { 0x12D3, 71422 }, + { 0x12D4, 71262 }, + { 0x12D5, 71258 }, + { 0x12D6, 71250 }, + { 0x12D7, 71578 }, + { 0x12D8, 71254 }, + { 0x12D9, 71246 }, + { 0x12DA, 71306 }, + { 0x12DB, 71302 }, + { 0x12DC, 71294 }, + { 0x12DD, 71686 }, + { 0x12DE, 71298 }, + { 0x12DF, 71290 }, + { 0x12E0, 71470 }, + { 0x12E1, 71466 }, + { 0x12E2, 71458 }, + { 0x12E3, 71719 }, + { 0x12E4, 71462 }, + { 0x12E5, 71454 }, + { 0x12E6, 71622 }, + { 0x12E7, 71618 }, + { 0x12E8, 71610 }, + { 0x12E9, 71743 }, + { 0x12EA, 71614 }, + { 0x12EB, 71606 }, + { 0x12EC, 71682 }, + { 0x12ED, 71678 }, + { 0x12EE, 71670 }, + { 0x12EF, 71775 }, + { 0x12F0, 71674 }, + { 0x12F1, 71666 }, + { 0x12F2, 71242 }, + { 0x12F3, 71238 }, + { 0x12F4, 71230 }, + { 0x12F5, 71574 }, + { 0x12F6, 71234 }, + { 0x12F7, 71226 }, + { 0x12F8, 71098 }, + { 0x12F9, 71130 }, + { 0x12FA, 71126 }, + { 0x12FB, 71118 }, + { 0x12FC, 71418 }, + { 0x12FD, 71122 }, + { 0x12FE, 71114 }, + { 0x12FF, 71518 }, + { 0x1300, 71514 }, + { 0x1301, 71506 }, + { 0x1302, 71727 }, + { 0x1303, 71510 }, + { 0x1304, 71502 }, + { 0x1305, 71538 }, + { 0x1306, 71534 }, + { 0x1307, 71526 }, + { 0x1308, 71731 }, + { 0x1309, 71530 }, + { 0x130A, 71522 }, + { 0x130B, 71158 }, + { 0x130C, 71222 }, + { 0x130D, 71218 }, + { 0x130E, 71206 }, + { 0x130F, 71570 }, + { 0x1310, 71214 }, + { 0x1311, 71202 }, + { 0x1312, 71198 }, + { 0x1313, 71194 }, + { 0x1314, 71186 }, + { 0x1315, 71566 }, + { 0x1316, 71190 }, + { 0x1317, 71182 }, + { 0x1318, 71326 }, + { 0x1319, 71322 }, + { 0x131A, 71314 }, + { 0x131B, 71690 }, + { 0x131C, 71318 }, + { 0x131D, 71310 }, + { 0x131E, 71154 }, + { 0x131F, 70994 }, + { 0x1320, 71150 }, + { 0x1321, 71142 }, + { 0x1322, 71474 }, + { 0x1323, 71146 }, + { 0x1324, 70990 }, + { 0x1325, 71138 }, + { 0x1326, 71494 }, + { 0x1327, 71490 }, + { 0x1328, 71482 }, + { 0x1329, 71723 }, + { 0x132A, 71486 }, + { 0x132B, 71478 }, + { 0x132C, 71178 }, + { 0x132D, 71174 }, + { 0x132E, 71166 }, + { 0x132F, 71542 }, + { 0x1330, 71170 }, + { 0x1331, 71162 }, + { 0x1332, 71390 }, + { 0x1333, 71386 }, + { 0x1334, 71378 }, + { 0x1335, 71707 }, + { 0x1336, 71382 }, + { 0x1337, 71374 }, + { 0x1338, 71562 }, + { 0x1339, 71558 }, + { 0x133A, 71550 }, + { 0x133B, 71735 }, + { 0x133C, 71554 }, + { 0x133D, 71546 }, + { 0x133E, 71767 }, + { 0x133F, 71763 }, + { 0x1340, 71755 }, + { 0x1341, 71799 }, + { 0x1342, 71759 }, + { 0x1343, 71751 }, + { 0x1344, 71642 }, + { 0x1345, 71638 }, + { 0x1346, 71630 }, + { 0x1347, 71747 }, + { 0x1348, 71634 }, + { 0x1349, 71626 }, + { 0x134A, 71346 }, + { 0x134B, 71342 }, + { 0x134C, 71334 }, + { 0x134D, 71694 }, + { 0x134E, 71338 }, + { 0x134F, 71330 }, + { 0x1350, 71102 }, + { 0x1351, 71812 }, + { 0x1352, 71410 }, + { 0x1353, 71406 }, + { 0x1354, 71398 }, + { 0x1355, 71711 }, + { 0x1356, 71402 }, + { 0x1357, 71394 }, + { 0x1358, 71286 }, + { 0x1359, 71282 }, + { 0x135A, 71270 }, + { 0x135B, 71582 }, + { 0x135C, 71278 }, + { 0x135D, 71266 }, + { 0x135E, 71602 }, + { 0x135F, 71598 }, + { 0x1360, 71590 }, + { 0x1361, 71739 }, + { 0x1362, 71594 }, + { 0x1363, 71586 }, + { 0x1364, 71274 }, + { 0x1365, 71662 }, + { 0x1366, 71658 }, + { 0x1367, 71650 }, + { 0x1368, 71771 }, + { 0x1369, 71654 }, + { 0x136A, 71646 }, + { 0x136B, 71366 }, + { 0x136C, 71362 }, + { 0x136D, 71354 }, + { 0x136E, 71698 }, + { 0x136F, 71358 }, + { 0x1370, 71350 }, + { 0x1371, 71795 }, + { 0x1372, 71791 }, + { 0x1373, 71783 }, + { 0x1374, 71803 }, + { 0x1375, 71787 }, + { 0x1376, 71779 }, + { 0x1377, 70225 }, + { 0x1378, 70592 }, + { 0x1379, 70406 }, + { 0x137A, 70653 }, + { 0x137B, 70665 }, + { 0x137C, 70893 }, + { 0x137D, 70668 }, + { 0x137E, 70896 }, + { 0x137F, 70662 }, + { 0x1380, 70890 }, + { 0x1381, 72494 }, + { 0x1382, 72477 }, + { 0x1383, 72498 }, + { 0x1384, 72481 }, + { 0x1385, 72502 }, + { 0x1386, 72473 }, + { 0x1387, 72490 }, + { 0x1388, 72485 }, + { 0x1389, 72025 }, + { 0x138A, 32819 }, + { 0x138B, 32864 }, + { 0x138C, 32846 }, + { 0x138D, 32870 }, + { 0x138E, 32858 }, + { 0x138F, 32852 }, + { 0x1390, 32861 }, + { 0x1391, 32837 }, + { 0x1392, 32876 }, + { 0x1393, 32834 }, + { 0x1394, 32867 }, + { 0x1395, 32849 }, + { 0x1396, 32840 }, + { 0x1397, 32891 }, + { 0x1398, 32879 }, + { 0x1399, 32855 }, + { 0x139A, 32831 }, + { 0x139B, 32828 }, + { 0x139C, 32825 }, + { 0x139D, 32885 }, + { 0x139E, 32888 }, + { 0x139F, 32882 }, + { 0x13A0, 32822 }, + { 0x13A1, 32894 }, + { 0x13A2, 32843 }, + { 0x13A3, 32897 }, + { 0x13A4, 32873 }, + { 0x13A5, 32900 }, + { 0x13A6, 32903 }, + { 0x13A7, 34061 }, + { 0x13A8, 33993 }, + { 0x13A9, 34089 }, + { 0x13AA, 34028 }, + { 0x13AB, 34002 }, + { 0x13AC, 33996 }, + { 0x13AD, 34232 }, + { 0x13AE, 34040 }, + { 0x13AF, 34098 }, + { 0x13B0, 34021 }, + { 0x13B1, 34008 }, + { 0x13B2, 34055 }, + { 0x13B3, 34266 }, + { 0x13B4, 34254 }, + { 0x13B5, 33987 }, + { 0x13B6, 34012 }, + { 0x13B7, 34015 }, + { 0x13B8, 34126 }, + { 0x13B9, 34123 }, + { 0x13BA, 34031 }, + { 0x13BB, 34082 }, + { 0x13BC, 33981 }, + { 0x13BD, 34037 }, + { 0x13BE, 34067 }, + { 0x13BF, 34043 }, + { 0x13C0, 34143 }, + { 0x13C1, 34173 }, + { 0x13C2, 34115 }, + { 0x13C3, 34286 }, + { 0x13C4, 34282 }, + { 0x13C5, 34191 }, + { 0x13C6, 34274 }, + { 0x13C7, 34226 }, + { 0x13C8, 34072 }, + { 0x13C9, 33978 }, + { 0x13CA, 34119 }, + { 0x13CB, 34046 }, + { 0x13CC, 34247 }, + { 0x13CD, 34240 }, + { 0x13CE, 34078 }, + { 0x13CF, 34200 }, + { 0x13D0, 34094 }, + { 0x13D1, 34205 }, + { 0x13D2, 34132 }, + { 0x13D3, 34258 }, + { 0x13D4, 33972 }, + { 0x13D5, 34005 }, + { 0x13D6, 34137 }, + { 0x13D7, 34262 }, + { 0x13D8, 33975 }, + { 0x13D9, 34217 }, + { 0x13DA, 34290 }, + { 0x13DB, 34229 }, + { 0x13DC, 34197 }, + { 0x13DD, 34110 }, + { 0x13DE, 34186 }, + { 0x13DF, 34278 }, + { 0x13E0, 34270 }, + { 0x13E1, 34180 }, + { 0x13E2, 34223 }, + { 0x13E3, 34177 }, + { 0x13E4, 34049 }, + { 0x13E5, 34105 }, + { 0x13E6, 34212 }, + { 0x13E7, 34034 }, + { 0x13E8, 34052 }, + { 0x13E9, 34209 }, + { 0x13EA, 34058 }, + { 0x13EB, 34102 }, + { 0x13EC, 34086 }, + { 0x13ED, 34251 }, + { 0x13EE, 34244 }, + { 0x13EF, 34237 }, + { 0x13F0, 33990 }, + { 0x13F1, 33999 }, + { 0x13F2, 34294 }, + { 0x13F3, 34300 }, + { 0x13F4, 33966 }, + { 0x13F5, 33969 }, + { 0x13F6, 34303 }, + { 0x13F7, 34297 }, + { 0x13F8, 33984 }, + { 0x13F9, 34025 }, + { 0x13FA, 34018 }, + { 0x13FB, 34163 }, + { 0x13FC, 34158 }, + { 0x13FD, 34153 }, + { 0x13FE, 34148 }, + { 0x13FF, 34168 }, + { 0x1400, 67117 }, + { 0x1401, 67120 }, + { 0x1402, 67123 }, + { 0x1403, 67138 }, + { 0x1404, 67132 }, + { 0x1405, 67165 }, + { 0x1406, 67156 }, + { 0x1407, 67129 }, + { 0x1408, 67147 }, + { 0x1409, 67150 }, + { 0x140A, 67126 }, + { 0x140B, 67144 }, + { 0x140C, 67162 }, + { 0x140D, 67141 }, + { 0x140E, 67159 }, + { 0x140F, 67153 }, + { 0x1410, 67135 }, + { 0x1411, 67109 }, + { 0x1412, 67113 }, + { 0x1413, 67106 }, + { 0x1414, 61355 }, + { 0x1415, 61358 }, + { 0x1416, 61361 }, + { 0x1417, 61376 }, + { 0x1418, 61370 }, + { 0x1419, 61406 }, + { 0x141A, 61397 }, + { 0x141B, 61367 }, + { 0x141C, 61385 }, + { 0x141D, 61388 }, + { 0x141E, 61364 }, + { 0x141F, 61382 }, + { 0x1420, 61403 }, + { 0x1421, 61391 }, + { 0x1422, 61379 }, + { 0x1423, 61400 }, + { 0x1424, 61394 }, + { 0x1425, 61373 }, + { 0x1426, 61347 }, + { 0x1427, 61351 }, + { 0x1428, 61344 }, + { 0x1429, 104540 }, + { 0x142A, 104537 }, + { 0x142B, 19268 }, + { 0x142C, 19271 }, + { 0x142D, 19274 }, + { 0x142E, 19289 }, + { 0x142F, 19283 }, + { 0x1430, 19319 }, + { 0x1431, 19310 }, + { 0x1432, 19280 }, + { 0x1433, 19298 }, + { 0x1434, 19301 }, + { 0x1435, 19277 }, + { 0x1436, 19295 }, + { 0x1437, 19316 }, + { 0x1438, 19304 }, + { 0x1439, 19292 }, + { 0x143A, 19313 }, + { 0x143B, 19307 }, + { 0x143C, 19286 }, + { 0x143D, 19260 }, + { 0x143E, 19264 }, + { 0x143F, 86371 }, + { 0x1440, 86374 }, + { 0x1441, 86377 }, + { 0x1442, 86389 }, + { 0x1443, 86386 }, + { 0x1444, 86416 }, + { 0x1445, 86407 }, + { 0x1446, 86383 }, + { 0x1447, 86398 }, + { 0x1448, 86401 }, + { 0x1449, 86380 }, + { 0x144A, 86395 }, + { 0x144B, 86413 }, + { 0x144C, 86392 }, + { 0x144D, 86410 }, + { 0x144E, 86404 }, + { 0x144F, 86363 }, + { 0x1450, 86367 }, + { 0x1451, 23609 }, + { 0x1452, 23657 }, + { 0x1453, 23612 }, + { 0x1454, 23660 }, + { 0x1455, 23663 }, + { 0x1456, 23594 }, + { 0x1457, 23651 }, + { 0x1458, 23597 }, + { 0x1459, 23654 }, + { 0x145A, 23669 }, + { 0x145B, 23600 }, + { 0x145C, 23690 }, + { 0x145D, 23603 }, + { 0x145E, 23693 }, + { 0x145F, 23666 }, + { 0x1460, 23639 }, + { 0x1461, 23684 }, + { 0x1462, 23642 }, + { 0x1463, 23687 }, + { 0x1464, 23624 }, + { 0x1465, 23591 }, + { 0x1466, 23672 }, + { 0x1467, 23627 }, + { 0x1468, 23675 }, + { 0x1469, 23621 }, + { 0x146A, 23648 }, + { 0x146B, 23633 }, + { 0x146C, 23618 }, + { 0x146D, 23645 }, + { 0x146E, 23678 }, + { 0x146F, 23681 }, + { 0x1470, 23636 }, + { 0x1471, 23606 }, + { 0x1472, 23615 }, + { 0x1473, 23630 }, + { 0x1474, 23908 }, + { 0x1475, 23900 }, + { 0x1476, 23884 }, + { 0x1477, 23916 }, + { 0x1478, 23888 }, + { 0x1479, 23932 }, + { 0x147A, 23936 }, + { 0x147B, 23944 }, + { 0x147C, 23892 }, + { 0x147D, 23940 }, + { 0x147E, 23876 }, + { 0x147F, 23896 }, + { 0x1480, 23880 }, + { 0x1481, 23904 }, + { 0x1482, 23920 }, + { 0x1483, 23926 }, + { 0x1484, 23912 }, + { 0x1485, 23587 }, + { 0x1486, 23583 }, + { 0x1487, 23535 }, + { 0x1488, 23523 }, + { 0x1489, 23555 }, + { 0x148A, 23531 }, + { 0x148B, 23579 }, + { 0x148C, 23527 }, + { 0x148D, 23571 }, + { 0x148E, 23567 }, + { 0x148F, 23559 }, + { 0x1490, 23575 }, + { 0x1491, 23551 }, + { 0x1492, 23519 }, + { 0x1493, 23539 }, + { 0x1494, 23543 }, + { 0x1495, 23563 }, + { 0x1496, 23547 }, + { 0x1497, 23459 }, + { 0x1498, 23462 }, + { 0x1499, 23486 }, + { 0x149A, 23477 }, + { 0x149B, 23465 }, + { 0x149C, 23431 }, + { 0x149D, 23428 }, + { 0x149E, 23480 }, + { 0x149F, 23453 }, + { 0x14A0, 23422 }, + { 0x14A1, 23446 }, + { 0x14A2, 23450 }, + { 0x14A3, 23425 }, + { 0x14A4, 23474 }, + { 0x14A5, 23419 }, + { 0x14A6, 23471 }, + { 0x14A7, 23437 }, + { 0x14A8, 23415 }, + { 0x14A9, 23434 }, + { 0x14AA, 23442 }, + { 0x14AB, 23456 }, + { 0x14AC, 23872 }, + { 0x14AD, 23483 }, + { 0x14AE, 23468 }, + { 0x14AF, 23507 }, + { 0x14B0, 23489 }, + { 0x14B1, 23495 }, + { 0x14B2, 23516 }, + { 0x14B3, 23501 }, + { 0x14B4, 23498 }, + { 0x14B5, 23492 }, + { 0x14B6, 23513 }, + { 0x14B7, 23510 }, + { 0x14B8, 23504 }, + { 0x14B9, 23722 }, + { 0x14BA, 23732 }, + { 0x14BB, 23717 }, + { 0x14BC, 23712 }, + { 0x14BD, 23727 }, + { 0x14BE, 23737 }, + { 0x14BF, 23757 }, + { 0x14C0, 23747 }, + { 0x14C1, 23742 }, + { 0x14C2, 23752 }, + { 0x14C3, 100843 }, + { 0x14C4, 101501 }, + { 0x14C5, 100856 }, + { 0x14C6, 100831 }, + { 0x14C7, 100854 }, + { 0x14C8, 100813 }, + { 0x14C9, 100839 }, + { 0x14CA, 100834 }, + { 0x14CB, 101470 }, + { 0x14CC, 101466 }, + { 0x14CD, 101473 }, + { 0x14CE, 100816 }, + { 0x14CF, 100821 }, + { 0x14D0, 100826 }, + { 0x14D1, 100902 }, + { 0x14D2, 100876 }, + { 0x14D3, 100858 }, + { 0x14D4, 100864 }, + { 0x14D5, 100885 }, + { 0x14D6, 100870 }, + { 0x14D7, 100867 }, + { 0x14D8, 100861 }, + { 0x14D9, 100882 }, + { 0x14DA, 100879 }, + { 0x14DB, 100873 }, + { 0x14DC, 100910 }, + { 0x14DD, 100913 }, + { 0x14DE, 100916 }, + { 0x14DF, 100919 }, + { 0x14E0, 100922 }, + { 0x14E1, 100955 }, + { 0x14E2, 100973 }, + { 0x14E3, 100931 }, + { 0x14E4, 100952 }, + { 0x14E5, 101126 }, + { 0x14E6, 100925 }, + { 0x14E7, 100958 }, + { 0x14E8, 100961 }, + { 0x14E9, 100937 }, + { 0x14EA, 100949 }, + { 0x14EB, 100946 }, + { 0x14EC, 100967 }, + { 0x14ED, 101144 }, + { 0x14EE, 100970 }, + { 0x14EF, 100928 }, + { 0x14F0, 101129 }, + { 0x14F1, 100940 }, + { 0x14F2, 100979 }, + { 0x14F3, 100964 }, + { 0x14F4, 100976 }, + { 0x14F5, 100934 }, + { 0x14F6, 100943 }, + { 0x14F7, 101138 }, + { 0x14F8, 101147 }, + { 0x14F9, 100982 }, + { 0x14FA, 101135 }, + { 0x14FB, 101153 }, + { 0x14FC, 101141 }, + { 0x14FD, 101150 }, + { 0x14FE, 101132 }, + { 0x14FF, 101356 }, + { 0x1500, 101244 }, + { 0x1501, 101248 }, + { 0x1502, 101252 }, + { 0x1503, 101256 }, + { 0x1504, 101284 }, + { 0x1505, 101300 }, + { 0x1506, 101324 }, + { 0x1507, 101260 }, + { 0x1508, 101288 }, + { 0x1509, 101292 }, + { 0x150A, 101268 }, + { 0x150B, 101280 }, + { 0x150C, 101296 }, + { 0x150D, 101264 }, + { 0x150E, 101328 }, + { 0x150F, 101272 }, + { 0x1510, 101352 }, + { 0x1511, 101308 }, + { 0x1512, 101304 }, + { 0x1513, 101276 }, + { 0x1514, 101336 }, + { 0x1515, 101340 }, + { 0x1516, 101344 }, + { 0x1517, 101348 }, + { 0x1518, 101332 }, + { 0x1519, 101156 }, + { 0x151A, 101160 }, + { 0x151B, 101184 }, + { 0x151C, 101204 }, + { 0x151D, 101164 }, + { 0x151E, 101212 }, + { 0x151F, 101192 }, + { 0x1520, 101176 }, + { 0x1521, 101180 }, + { 0x1522, 101196 }, + { 0x1523, 101232 }, + { 0x1524, 101200 }, + { 0x1525, 101168 }, + { 0x1526, 101188 }, + { 0x1527, 101172 }, + { 0x1528, 101220 }, + { 0x1529, 101224 }, + { 0x152A, 101236 }, + { 0x152B, 101208 }, + { 0x152C, 101228 }, + { 0x152D, 101216 }, + { 0x152E, 101240 }, + { 0x152F, 101362 }, + { 0x1530, 101370 }, + { 0x1531, 101374 }, + { 0x1532, 101366 }, + { 0x1533, 101462 }, + { 0x1534, 101114 }, + { 0x1535, 101108 }, + { 0x1536, 101093 }, + { 0x1537, 101103 }, + { 0x1538, 101120 }, + { 0x1539, 101088 }, + { 0x153A, 101082 }, + { 0x153B, 100985 }, + { 0x153C, 100990 }, + { 0x153D, 101010 }, + { 0x153E, 101035 }, + { 0x153F, 101000 }, + { 0x1540, 101055 }, + { 0x1541, 101077 }, + { 0x1542, 101030 }, + { 0x1543, 101040 }, + { 0x1544, 101020 }, + { 0x1545, 101005 }, + { 0x1546, 101015 }, + { 0x1547, 101045 }, + { 0x1548, 101050 }, + { 0x1549, 101060 }, + { 0x154A, 101025 }, + { 0x154B, 100995 }, + { 0x154C, 101312 }, + { 0x154D, 101318 }, + { 0x154E, 101414 }, + { 0x154F, 101432 }, + { 0x1550, 101378 }, + { 0x1551, 101420 }, + { 0x1552, 101444 }, + { 0x1553, 101456 }, + { 0x1554, 101384 }, + { 0x1555, 101408 }, + { 0x1556, 101438 }, + { 0x1557, 101402 }, + { 0x1558, 101450 }, + { 0x1559, 101390 }, + { 0x155A, 101065 }, + { 0x155B, 101071 }, + { 0x155C, 101396 }, + { 0x155D, 101098 }, + { 0x155E, 101426 }, + { 0x155F, 70123 }, + { 0x1560, 70015 }, + { 0x1561, 70219 }, + { 0x1562, 70541 }, + { 0x1563, 70388 }, + { 0x1564, 70379 }, + { 0x1565, 70692 }, + { 0x1566, 70478 }, + { 0x1567, 70259 }, + { 0x1568, 70605 }, + { 0x1569, 70316 }, + { 0x156A, 70361 }, + { 0x156B, 70340 }, + { 0x156C, 70283 }, + { 0x156D, 70460 }, + { 0x156E, 70439 }, + { 0x156F, 70728 }, + { 0x1570, 70719 }, + { 0x1571, 70908 }, + { 0x1572, 70562 }, + { 0x1573, 70553 }, + { 0x1574, 70418 }, + { 0x1575, 70370 }, + { 0x1576, 71953 }, + { 0x1577, 70674 }, + { 0x1578, 71961 }, + { 0x1579, 70373 }, + { 0x157A, 71957 }, + { 0x157B, 70677 }, + { 0x157C, 71965 }, + { 0x157D, 70704 }, + { 0x157E, 70430 }, + { 0x157F, 70707 }, + { 0x1580, 70433 }, + { 0x1581, 70710 }, + { 0x1582, 70427 }, + { 0x1583, 71937 }, + { 0x1584, 71945 }, + { 0x1585, 71925 }, + { 0x1586, 71921 }, + { 0x1587, 71929 }, + { 0x1588, 71933 }, + { 0x1589, 71941 }, + { 0x158A, 71949 }, + { 0x158B, 71817 }, + { 0x158C, 72001 }, + { 0x158D, 70854 }, + { 0x158E, 70882 }, + { 0x158F, 70966 }, + { 0x1590, 72177 }, + { 0x1591, 72173 }, + { 0x1592, 70767 }, + { 0x1593, 70764 }, + { 0x1594, 70926 }, + { 0x1595, 70923 }, + { 0x1596, 70920 }, + { 0x1597, 70917 }, + { 0x1598, 70914 }, + { 0x1599, 71034 }, + { 0x159A, 71030 }, + { 0x159B, 71006 }, + { 0x159C, 71446 }, + { 0x159D, 71702 }, + { 0x159E, 71414 }, + { 0x159F, 71442 }, + { 0x15A0, 71010 }, + { 0x15A1, 71498 }, + { 0x15A2, 70929 }, + { 0x15A3, 70934 }, + { 0x15A4, 71807 }, + { 0x15A5, 31318 }, + { 0x15A6, 31228 }, + { 0x15A7, 31273 }, + { 0x15A8, 31219 }, + { 0x15A9, 31267 }, + { 0x15AA, 31276 }, + { 0x15AB, 31213 }, + { 0x15AC, 31261 }, + { 0x15AD, 31225 }, + { 0x15AE, 31270 }, + { 0x15AF, 31294 }, + { 0x15B0, 31249 }, + { 0x15B1, 31288 }, + { 0x15B2, 31216 }, + { 0x15B3, 31264 }, + { 0x15B4, 31237 }, + { 0x15B5, 31240 }, + { 0x15B6, 31279 }, + { 0x15B7, 31210 }, + { 0x15B8, 31258 }, + { 0x15B9, 31234 }, + { 0x15BA, 31255 }, + { 0x15BB, 31243 }, + { 0x15BC, 31231 }, + { 0x15BD, 31252 }, + { 0x15BE, 31282 }, + { 0x15BF, 31285 }, + { 0x15C0, 31246 }, + { 0x15C1, 31222 }, + { 0x15C2, 31297 }, + { 0x15C3, 31291 }, + { 0x15C4, 31174 }, + { 0x15C5, 31182 }, + { 0x15C6, 31190 }, + { 0x15C7, 31202 }, + { 0x15C8, 31194 }, + { 0x15C9, 31206 }, + { 0x15CA, 31198 }, + { 0x15CB, 31178 }, + { 0x15CC, 31186 }, + { 0x15CD, 31311 }, + { 0x15CE, 31303 }, + { 0x15CF, 31307 }, + { 0x15D0, 31138 }, + { 0x15D1, 31166 }, + { 0x15D2, 31170 }, + { 0x15D3, 31162 }, + { 0x15D4, 31150 }, + { 0x15D5, 31154 }, + { 0x15D6, 31146 }, + { 0x15D7, 31158 }, + { 0x15D8, 31142 }, + { 0x15D9, 31105 }, + { 0x15DA, 31102 }, + { 0x15DB, 31099 }, + { 0x15DC, 31096 }, + { 0x15DD, 31315 }, + { 0x15DE, 31300 }, + { 0x15DF, 31126 }, + { 0x15E0, 31108 }, + { 0x15E1, 31114 }, + { 0x15E2, 31135 }, + { 0x15E3, 31120 }, + { 0x15E4, 31117 }, + { 0x15E5, 31111 }, + { 0x15E6, 31132 }, + { 0x15E7, 31129 }, + { 0x15E8, 31123 }, + { 0x15E9, 9754 }, + { 0x15EA, 9798 }, + { 0x15EB, 9814 }, + { 0x15EC, 9826 }, + { 0x15ED, 9782 }, + { 0x15EE, 9802 }, + { 0x15EF, 9786 }, + { 0x15F0, 9822 }, + { 0x15F1, 9758 }, + { 0x15F2, 9774 }, + { 0x15F3, 9818 }, + { 0x15F4, 9762 }, + { 0x15F5, 9746 }, + { 0x15F6, 9794 }, + { 0x15F7, 9750 }, + { 0x15F8, 9778 }, + { 0x15F9, 9810 }, + { 0x15FA, 9830 }, + { 0x15FB, 9766 }, + { 0x15FC, 9714 }, + { 0x15FD, 9722 }, + { 0x15FE, 9738 }, + { 0x15FF, 9742 }, + { 0x1600, 9730 }, + { 0x1601, 9770 }, + { 0x1602, 9726 }, + { 0x1603, 9790 }, + { 0x1604, 9718 }, + { 0x1605, 9806 }, + { 0x1606, 9734 }, + { 0x1607, 9834 }, + { 0x1608, 9838 }, + { 0x1609, 9842 }, + { 0x160A, 9846 }, + { 0x160B, 9850 }, + { 0x160C, 6749 }, + { 0x160D, 6617 }, + { 0x160E, 6719 }, + { 0x160F, 6773 }, + { 0x1610, 6791 }, + { 0x1611, 6587 }, + { 0x1612, 6641 }, + { 0x1613, 6659 }, + { 0x1614, 6815 }, + { 0x1615, 6755 }, + { 0x1616, 6779 }, + { 0x1617, 6683 }, + { 0x1618, 6623 }, + { 0x1619, 6647 }, + { 0x161A, 6761 }, + { 0x161B, 6809 }, + { 0x161C, 6737 }, + { 0x161D, 6629 }, + { 0x161E, 6677 }, + { 0x161F, 6605 }, + { 0x1620, 6743 }, + { 0x1621, 6797 }, + { 0x1622, 6731 }, + { 0x1623, 6611 }, + { 0x1624, 6665 }, + { 0x1625, 6599 }, + { 0x1626, 6707 }, + { 0x1627, 6767 }, + { 0x1628, 6725 }, + { 0x1629, 6575 }, + { 0x162A, 6635 }, + { 0x162B, 6593 }, + { 0x162C, 6713 }, + { 0x162D, 6701 }, + { 0x162E, 6695 }, + { 0x162F, 6581 }, + { 0x1630, 6569 }, + { 0x1631, 6563 }, + { 0x1632, 6785 }, + { 0x1633, 6821 }, + { 0x1634, 6653 }, + { 0x1635, 6689 }, + { 0x1636, 6803 }, + { 0x1637, 6671 }, + { 0x1638, 6556 }, + { 0x1639, 6478 }, + { 0x163A, 6496 }, + { 0x163B, 6472 }, + { 0x163C, 6526 }, + { 0x163D, 6460 }, + { 0x163E, 6484 }, + { 0x163F, 6466 }, + { 0x1640, 6508 }, + { 0x1641, 6520 }, + { 0x1642, 6490 }, + { 0x1643, 6538 }, + { 0x1644, 6532 }, + { 0x1645, 6514 }, + { 0x1646, 6544 }, + { 0x1647, 6550 }, + { 0x1648, 6502 }, + { 0x1649, 6857 }, + { 0x164A, 6863 }, + { 0x164B, 6851 }, + { 0x164C, 6845 }, + { 0x164D, 6839 }, + { 0x164E, 6833 }, + { 0x164F, 6827 }, + { 0x1650, 6400 }, + { 0x1651, 6405 }, + { 0x1652, 6440 }, + { 0x1653, 6410 }, + { 0x1654, 6420 }, + { 0x1655, 6455 }, + { 0x1656, 6430 }, + { 0x1657, 6425 }, + { 0x1658, 6415 }, + { 0x1659, 6450 }, + { 0x165A, 6445 }, + { 0x165B, 6435 }, + { 0x165C, 6394 }, + { 0x165D, 6384 }, + { 0x165E, 6389 }, + { 0x165F, 23869 }, + { 0x1660, 23782 }, + { 0x1661, 23766 }, + { 0x1662, 23700 }, + { 0x1663, 23774 }, + { 0x1664, 23790 }, + { 0x1665, 23862 }, + { 0x1666, 23846 }, + { 0x1667, 23838 }, + { 0x1668, 23854 }, + { 0x1669, 23708 }, + { 0x166A, 23822 }, + { 0x166B, 23806 }, + { 0x166C, 23798 }, + { 0x166D, 23814 }, + { 0x166E, 23830 }, + { 0x166F, 23866 }, + { 0x1670, 23778 }, + { 0x1671, 23762 }, + { 0x1672, 23696 }, + { 0x1673, 23770 }, + { 0x1674, 23786 }, + { 0x1675, 23858 }, + { 0x1676, 23842 }, + { 0x1677, 23834 }, + { 0x1678, 23850 }, + { 0x1679, 23704 }, + { 0x167A, 23818 }, + { 0x167B, 23802 }, + { 0x167C, 23794 }, + { 0x167D, 23810 }, + { 0x167E, 23826 }, + { 0x167F, 69898 }, + { 0x1680, 69889 }, + { 0x1681, 69931 }, + { 0x1682, 69940 }, + { 0x1683, 69910 }, + { 0x1684, 69880 }, + { 0x1685, 69904 }, + { 0x1686, 69928 }, + { 0x1687, 69919 }, + { 0x1688, 69886 }, + { 0x1689, 69907 }, + { 0x168A, 69934 }, + { 0x168B, 69883 }, + { 0x168C, 69895 }, + { 0x168D, 69937 }, + { 0x168E, 69943 }, + { 0x168F, 69925 }, + { 0x1690, 69913 }, + { 0x1691, 69901 }, + { 0x1692, 69922 }, + { 0x1693, 69916 }, + { 0x1694, 69877 }, + { 0x1695, 69892 }, + { 0x1696, 69861 }, + { 0x1697, 69869 }, + { 0x1698, 69857 }, + { 0x1699, 69865 }, + { 0x169A, 69873 }, + { 0x169B, 69946 }, + { 0x169C, 69853 }, + { 0x169D, 10331 }, + { 0x169E, 10361 }, + { 0x169F, 10366 }, + { 0x16A0, 10245 }, + { 0x16A1, 10280 }, + { 0x16A2, 10275 }, + { 0x16A3, 10304 }, + { 0x16A4, 10316 }, + { 0x16A5, 10356 }, + { 0x16A6, 10230 }, + { 0x16A7, 10255 }, + { 0x16A8, 10270 }, + { 0x16A9, 10308 }, + { 0x16AA, 10400 }, + { 0x16AB, 10391 }, + { 0x16AC, 10182 }, + { 0x16AD, 10295 }, + { 0x16AE, 10396 }, + { 0x16AF, 10346 }, + { 0x16B0, 10386 }, + { 0x16B1, 10260 }, + { 0x16B2, 10290 }, + { 0x16B3, 10202 }, + { 0x16B4, 10178 }, + { 0x16B5, 10336 }, + { 0x16B6, 10371 }, + { 0x16B7, 10321 }, + { 0x16B8, 10250 }, + { 0x16B9, 10235 }, + { 0x16BA, 10285 }, + { 0x16BB, 10198 }, + { 0x16BC, 10265 }, + { 0x16BD, 10351 }, + { 0x16BE, 10210 }, + { 0x16BF, 10312 }, + { 0x16C0, 10194 }, + { 0x16C1, 10300 }, + { 0x16C2, 10218 }, + { 0x16C3, 10376 }, + { 0x16C4, 10381 }, + { 0x16C5, 10341 }, + { 0x16C6, 10326 }, + { 0x16C7, 10226 }, + { 0x16C8, 10166 }, + { 0x16C9, 10240 }, + { 0x16CA, 10170 }, + { 0x16CB, 10190 }, + { 0x16CC, 10174 }, + { 0x16CD, 10214 }, + { 0x16CE, 10186 }, + { 0x16CF, 10206 }, + { 0x16D0, 10222 }, + { 0x16D1, 10404 }, + { 0x16D2, 10463 }, + { 0x16D3, 10457 }, + { 0x16D4, 10419 }, + { 0x16D5, 9923 }, + { 0x16D6, 10451 }, + { 0x16D7, 10436 }, + { 0x16D8, 10442 }, + { 0x16D9, 10426 }, + { 0x16DA, 10414 }, + { 0x16DB, 10431 }, + { 0x16DC, 9965 }, + { 0x16DD, 10066 }, + { 0x16DE, 10143 }, + { 0x16DF, 10091 }, + { 0x16E0, 10154 }, + { 0x16E1, 10076 }, + { 0x16E2, 10106 }, + { 0x16E3, 10133 }, + { 0x16E4, 10149 }, + { 0x16E5, 10086 }, + { 0x16E6, 10138 }, + { 0x16E7, 10081 }, + { 0x16E8, 10117 }, + { 0x16E9, 10128 }, + { 0x16EA, 10071 }, + { 0x16EB, 10096 }, + { 0x16EC, 10123 }, + { 0x16ED, 10101 }, + { 0x16EE, 10160 }, + { 0x16EF, 10111 }, + { 0x16F0, 9918 }, + { 0x16F1, 9981 }, + { 0x16F2, 9985 }, + { 0x16F3, 9950 }, + { 0x16F4, 9955 }, + { 0x16F5, 9960 }, + { 0x16F6, 9904 }, + { 0x16F7, 9913 }, + { 0x16F8, 10003 }, + { 0x16F9, 10409 }, + { 0x16FA, 9884 }, + { 0x16FB, 9854 }, + { 0x16FC, 9864 }, + { 0x16FD, 9899 }, + { 0x16FE, 9874 }, + { 0x16FF, 9869 }, + { 0x1700, 9859 }, + { 0x1701, 9894 }, + { 0x1702, 9889 }, + { 0x1703, 9879 }, + { 0x1704, 10046 }, + { 0x1705, 10016 }, + { 0x1706, 10026 }, + { 0x1707, 10061 }, + { 0x1708, 10036 }, + { 0x1709, 10031 }, + { 0x170A, 10021 }, + { 0x170B, 10056 }, + { 0x170C, 10051 }, + { 0x170D, 10041 }, + { 0x170E, 9973 }, + { 0x170F, 10008 }, + { 0x1710, 9969 }, + { 0x1711, 9942 }, + { 0x1712, 9909 }, + { 0x1713, 9977 }, + { 0x1714, 9997 }, + { 0x1715, 9929 }, + { 0x1716, 9938 }, + { 0x1717, 9989 }, + { 0x1718, 9993 }, + { 0x1719, 10012 }, + { 0x171A, 9934 }, + { 0x171B, 9946 }, + { 0x171C, 91338 }, + { 0x171D, 92052 }, + { 0x171E, 91653 }, + { 0x171F, 91719 }, + { 0x1720, 91313 }, + { 0x1721, 90621 }, + { 0x1722, 91323 }, + { 0x1723, 90707 }, + { 0x1724, 91189 }, + { 0x1725, 91066 }, + { 0x1726, 91308 }, + { 0x1727, 92023 }, + { 0x1728, 91269 }, + { 0x1729, 92026 }, + { 0x172A, 92029 }, + { 0x172B, 69140 }, + { 0x172C, 69144 }, + { 0x172D, 69151 }, + { 0x172E, 69154 }, + { 0x172F, 69148 }, + { 0x1730, 69435 }, + { 0x1731, 69438 }, + { 0x1732, 69445 }, + { 0x1733, 69448 }, + { 0x1734, 69459 }, + { 0x1735, 69462 }, + { 0x1736, 69367 }, + { 0x1737, 69371 }, + { 0x1738, 69338 }, + { 0x1739, 69342 }, + { 0x173A, 69442 }, + { 0x173B, 69466 }, + { 0x173C, 69452 }, + { 0x173D, 69455 }, + { 0x173E, 69328 }, + { 0x173F, 69331 }, + { 0x1740, 69311 }, + { 0x1741, 69314 }, + { 0x1742, 69417 }, + { 0x1743, 69283 }, + { 0x1744, 69286 }, + { 0x1745, 69321 }, + { 0x1746, 69324 }, + { 0x1747, 69420 }, + { 0x1748, 69394 }, + { 0x1749, 69398 }, + { 0x174A, 69297 }, + { 0x174B, 69302 }, + { 0x174C, 69353 }, + { 0x174D, 69387 }, + { 0x174E, 69390 }, + { 0x174F, 69290 }, + { 0x1750, 69293 }, + { 0x1751, 69350 }, + { 0x1752, 69357 }, + { 0x1753, 69360 }, + { 0x1754, 69276 }, + { 0x1755, 69279 }, + { 0x1756, 69347 }, + { 0x1757, 69410 }, + { 0x1758, 69364 }, + { 0x1759, 69335 }, + { 0x175A, 69407 }, + { 0x175B, 69379 }, + { 0x175C, 69383 }, + { 0x175D, 69376 }, + { 0x175E, 69318 }, + { 0x175F, 69157 }, + { 0x1760, 69270 }, + { 0x1761, 69223 }, + { 0x1762, 69227 }, + { 0x1763, 69232 }, + { 0x1764, 69236 }, + { 0x1765, 69212 }, + { 0x1766, 69217 }, + { 0x1767, 69201 }, + { 0x1768, 69206 }, + { 0x1769, 69250 }, + { 0x176A, 69254 }, + { 0x176B, 69265 }, + { 0x176C, 69259 }, + { 0x176D, 69241 }, + { 0x176E, 69245 }, + { 0x176F, 69137 }, + { 0x1770, 69413 }, + { 0x1771, 69427 }, + { 0x1772, 69431 }, + { 0x1773, 69307 }, + { 0x1774, 69403 }, + { 0x1775, 69423 }, + { 0x1776, 69469 }, + { 0x1777, 69187 }, + { 0x1778, 69169 }, + { 0x1779, 69175 }, + { 0x177A, 69196 }, + { 0x177B, 69181 }, + { 0x177C, 69178 }, + { 0x177D, 69172 }, + { 0x177E, 69193 }, + { 0x177F, 69190 }, + { 0x1780, 69184 }, + { 0x1781, 69199 }, + { 0x1782, 69473 }, + { 0x1783, 69274 }, + { 0x1784, 69166 }, + { 0x1785, 69160 }, + { 0x1786, 69163 }, + { 0x1787, 69620 }, + { 0x1788, 69497 }, + { 0x1789, 69489 }, + { 0x178A, 69501 }, + { 0x178B, 69475 }, + { 0x178C, 69484 }, + { 0x178D, 69493 }, + { 0x178E, 69505 }, + { 0x178F, 69513 }, + { 0x1790, 69509 }, + { 0x1791, 69479 }, + { 0x1792, 69532 }, + { 0x1793, 69527 }, + { 0x1794, 69549 }, + { 0x1795, 69537 }, + { 0x1796, 69561 }, + { 0x1797, 69554 }, + { 0x1798, 69542 }, + { 0x1799, 69522 }, + { 0x179A, 69517 }, + { 0x179B, 69602 }, + { 0x179C, 69596 }, + { 0x179D, 69614 }, + { 0x179E, 69608 }, + { 0x179F, 69566 }, + { 0x17A0, 69578 }, + { 0x17A1, 69584 }, + { 0x17A2, 69590 }, + { 0x17A3, 69572 }, + { 0x17A4, 102119 }, + { 0x17A5, 102122 }, + { 0x17A6, 102125 }, + { 0x17A7, 102182 }, + { 0x17A8, 102188 }, + { 0x17A9, 102194 }, + { 0x17AA, 102197 }, + { 0x17AB, 102191 }, + { 0x17AC, 102185 }, + { 0x17AD, 102209 }, + { 0x17AE, 102224 }, + { 0x17AF, 102239 }, + { 0x17B0, 102215 }, + { 0x17B1, 102275 }, + { 0x17B2, 102203 }, + { 0x17B3, 102221 }, + { 0x17B4, 102263 }, + { 0x17B5, 102278 }, + { 0x17B6, 102248 }, + { 0x17B7, 102206 }, + { 0x17B8, 102233 }, + { 0x17B9, 102236 }, + { 0x17BA, 102212 }, + { 0x17BB, 102251 }, + { 0x17BC, 102200 }, + { 0x17BD, 102230 }, + { 0x17BE, 102260 }, + { 0x17BF, 102242 }, + { 0x17C0, 102227 }, + { 0x17C1, 102254 }, + { 0x17C2, 102245 }, + { 0x17C3, 102257 }, + { 0x17C4, 102218 }, + { 0x17C5, 102315 }, + { 0x17C6, 102301 }, + { 0x17C7, 102297 }, + { 0x17C8, 102166 }, + { 0x17C9, 102162 }, + { 0x17CA, 102174 }, + { 0x17CB, 102170 }, + { 0x17CC, 102158 }, + { 0x17CD, 102178 }, + { 0x17CE, 102116 }, + { 0x17CF, 102113 }, + { 0x17D0, 102305 }, + { 0x17D1, 102310 }, + { 0x17D2, 102269 }, + { 0x17D3, 102284 }, + { 0x17D4, 102146 }, + { 0x17D5, 102128 }, + { 0x17D6, 102134 }, + { 0x17D7, 102155 }, + { 0x17D8, 102140 }, + { 0x17D9, 102137 }, + { 0x17DA, 102131 }, + { 0x17DB, 102152 }, + { 0x17DC, 102149 }, + { 0x17DD, 102143 }, + { 0x17DE, 102295 }, + { 0x17DF, 102281 }, + { 0x17E0, 102272 }, + { 0x17E1, 102266 }, + { 0x17E2, 102287 }, + { 0x17E3, 102291 }, + { 0x17E4, 18573 }, + { 0x17E5, 18664 }, + { 0x17E6, 18594 }, + { 0x17E7, 18672 }, + { 0x17E8, 18652 }, + { 0x17E9, 18582 }, + { 0x17EA, 18636 }, + { 0x17EB, 18609 }, + { 0x17EC, 18684 }, + { 0x17ED, 18606 }, + { 0x17EE, 18656 }, + { 0x17EF, 18618 }, + { 0x17F0, 18696 }, + { 0x17F1, 18640 }, + { 0x17F2, 18591 }, + { 0x17F3, 18668 }, + { 0x17F4, 18597 }, + { 0x17F5, 18588 }, + { 0x17F6, 18612 }, + { 0x17F7, 18688 }, + { 0x17F8, 18603 }, + { 0x17F9, 18680 }, + { 0x17FA, 18648 }, + { 0x17FB, 18644 }, + { 0x17FC, 18615 }, + { 0x17FD, 18692 }, + { 0x17FE, 18660 }, + { 0x17FF, 18621 }, + { 0x1800, 18700 }, + { 0x1801, 18630 }, + { 0x1802, 18600 }, + { 0x1803, 18676 }, + { 0x1804, 18633 }, + { 0x1805, 18585 }, + { 0x1806, 18627 }, + { 0x1807, 18624 }, + { 0x1808, 18576 }, + { 0x1809, 18579 }, + { 0x180A, 18528 }, + { 0x180B, 18531 }, + { 0x180C, 18568 }, + { 0x180D, 18554 }, + { 0x180E, 18535 }, + { 0x180F, 18558 }, + { 0x1810, 18539 }, + { 0x1811, 18563 }, + { 0x1812, 18543 }, + { 0x1813, 18547 }, + { 0x1814, 18727 }, + { 0x1815, 18723 }, + { 0x1816, 18721 }, + { 0x1817, 18731 }, + { 0x1818, 18704 }, + { 0x1819, 18717 }, + { 0x181A, 18709 }, + { 0x181B, 18713 }, + { 0x181C, 49600 }, + { 0x181D, 49657 }, + { 0x181E, 49654 }, + { 0x181F, 49591 }, + { 0x1820, 49648 }, + { 0x1821, 49663 }, + { 0x1822, 49582 }, + { 0x1823, 49636 }, + { 0x1824, 49597 }, + { 0x1825, 49666 }, + { 0x1826, 49621 }, + { 0x1827, 49678 }, + { 0x1828, 49585 }, + { 0x1829, 49609 }, + { 0x182A, 49612 }, + { 0x182B, 49672 }, + { 0x182C, 49669 }, + { 0x182D, 49588 }, + { 0x182E, 49645 }, + { 0x182F, 49579 }, + { 0x1830, 49633 }, + { 0x1831, 49606 }, + { 0x1832, 49660 }, + { 0x1833, 49681 }, + { 0x1834, 49687 }, + { 0x1835, 49642 }, + { 0x1836, 49630 }, + { 0x1837, 49615 }, + { 0x1838, 49603 }, + { 0x1839, 49594 }, + { 0x183A, 49651 }, + { 0x183B, 49624 }, + { 0x183C, 49618 }, + { 0x183D, 49675 }, + { 0x183E, 49627 }, + { 0x183F, 49576 }, + { 0x1840, 49733 }, + { 0x1841, 49729 }, + { 0x1842, 49564 }, + { 0x1843, 49552 }, + { 0x1844, 49556 }, + { 0x1845, 49568 }, + { 0x1846, 49560 }, + { 0x1847, 49572 }, + { 0x1848, 49548 }, + { 0x1849, 49693 }, + { 0x184A, 49701 }, + { 0x184B, 49697 }, + { 0x184C, 49705 }, + { 0x184D, 49709 }, + { 0x184E, 49713 }, + { 0x184F, 49717 }, + { 0x1850, 49725 }, + { 0x1851, 49721 }, + { 0x1852, 49512 }, + { 0x1853, 49515 }, + { 0x1854, 49745 }, + { 0x1855, 49737 }, + { 0x1856, 49742 }, + { 0x1857, 49751 }, + { 0x1858, 49748 }, + { 0x1859, 49536 }, + { 0x185A, 49518 }, + { 0x185B, 49524 }, + { 0x185C, 49545 }, + { 0x185D, 49530 }, + { 0x185E, 49527 }, + { 0x185F, 49521 }, + { 0x1860, 49542 }, + { 0x1861, 49539 }, + { 0x1862, 49533 }, + { 0x1863, 49684 }, + { 0x1864, 49690 }, + { 0x1865, 49639 }, + { 0x1866, 141 }, + { 0x1867, 117 }, + { 0x1868, 125 }, + { 0x1869, 153 }, + { 0x186A, 133 }, + { 0x186B, 129 }, + { 0x186C, 121 }, + { 0x186D, 149 }, + { 0x186E, 145 }, + { 0x186F, 137 }, + { 0x1870, 192 }, + { 0x1871, 168 }, + { 0x1872, 160 }, + { 0x1873, 252 }, + { 0x1874, 164 }, + { 0x1875, 268 }, + { 0x1876, 240 }, + { 0x1877, 236 }, + { 0x1878, 244 }, + { 0x1879, 248 }, + { 0x187A, 200 }, + { 0x187B, 188 }, + { 0x187C, 180 }, + { 0x187D, 264 }, + { 0x187E, 184 }, + { 0x187F, 208 }, + { 0x1880, 224 }, + { 0x1881, 228 }, + { 0x1882, 276 }, + { 0x1883, 232 }, + { 0x1884, 196 }, + { 0x1885, 176 }, + { 0x1886, 256 }, + { 0x1887, 172 }, + { 0x1888, 260 }, + { 0x1889, 204 }, + { 0x188A, 272 }, + { 0x188B, 212 }, + { 0x188C, 220 }, + { 0x188D, 216 }, + { 0x188E, 110 }, + { 0x188F, 280 }, + { 0x1890, 287 }, + { 0x1891, 157 }, + { 0x1892, 284 }, + { 0x1893, 114 }, + { 0x1894, 296 }, + { 0x1895, 291 }, + { 0x1896, 74095 }, + { 0x1897, 74227 }, + { 0x1898, 74054 }, + { 0x1899, 73922 }, + { 0x189A, 73890 }, + { 0x189B, 74232 }, + { 0x189C, 73900 }, + { 0x189D, 73895 }, + { 0x189E, 74217 }, + { 0x189F, 102343 }, + { 0x18A0, 102351 }, + { 0x18A1, 102347 }, + { 0x18A2, 102339 }, + { 0x18A3, 102334 }, + { 0x18A4, 102329 }, + { 0x18A5, 102324 }, + { 0x18A6, 102319 }, + { 0x18A7, 35542 }, + { 0x18A8, 35506 }, + { 0x18A9, 35539 }, + { 0x18AA, 35476 }, + { 0x18AB, 35479 }, + { 0x18AC, 35564 }, + { 0x18AD, 35570 }, + { 0x18AE, 35551 }, + { 0x18AF, 35518 }, + { 0x18B0, 35557 }, + { 0x18B1, 35527 }, + { 0x18B2, 35531 }, + { 0x18B3, 35535 }, + { 0x18B4, 35493 }, + { 0x18B5, 35497 }, + { 0x18B6, 35509 }, + { 0x18B7, 35545 }, + { 0x18B8, 35575 }, + { 0x18B9, 35424 }, + { 0x18BA, 35414 }, + { 0x18BB, 35466 }, + { 0x18BC, 35428 }, + { 0x18BD, 35471 }, + { 0x18BE, 35418 }, + { 0x18BF, 35432 }, + { 0x18C0, 35453 }, + { 0x18C1, 35457 }, + { 0x18C2, 35443 }, + { 0x18C3, 35447 }, + { 0x18C4, 35407 }, + { 0x18C5, 35461 }, + { 0x18C6, 35398 }, + { 0x18C7, 35402 }, + { 0x18C8, 35438 }, + { 0x18C9, 35490 }, + { 0x18CA, 35410 }, + { 0x18CB, 35514 }, + { 0x18CC, 35484 }, + { 0x18CD, 35487 }, + { 0x18CE, 35502 }, + { 0x18CF, 35522 }, + { 0x18D0, 27895 }, + { 0x18D1, 28037 }, + { 0x18D2, 27519 }, + { 0x18D3, 28073 }, + { 0x18D4, 27905 }, + { 0x18D5, 27910 }, + { 0x18D6, 28052 }, + { 0x18D7, 27915 }, + { 0x18D8, 27549 }, + { 0x18D9, 27430 }, + { 0x18DA, 27947 }, + { 0x18DB, 27952 }, + { 0x18DC, 27962 }, + { 0x18DD, 27969 }, + { 0x18DE, 28103 }, + { 0x18DF, 27979 }, + { 0x18E0, 28067 }, + { 0x18E1, 27733 }, + { 0x18E2, 27750 }, + { 0x18E3, 27738 }, + { 0x18E4, 27524 }, + { 0x18E5, 28047 }, + { 0x18E6, 27076 }, + { 0x18E7, 27323 }, + { 0x18E8, 27984 }, + { 0x18E9, 28109 }, + { 0x18EA, 28091 }, + { 0x18EB, 28007 }, + { 0x18EC, 28012 }, + { 0x18ED, 27745 }, + { 0x18EE, 27762 }, + { 0x18EF, 27756 }, + { 0x18F0, 28017 }, + { 0x18F1, 28022 }, + { 0x18F2, 28032 }, + { 0x18F3, 28057 }, + { 0x18F4, 28119 }, + { 0x18F5, 27884 }, + { 0x18F6, 21202 }, + { 0x18F7, 21207 }, + { 0x18F8, 21187 }, + { 0x18F9, 21197 }, + { 0x18FA, 21192 }, + { 0x18FB, 74259 }, + { 0x18FC, 84695 }, + { 0x18FD, 84777 }, + { 0x18FE, 84699 }, + { 0x18FF, 84785 }, + { 0x1900, 84703 }, + { 0x1901, 84707 }, + { 0x1902, 84790 }, + { 0x1903, 84711 }, + { 0x1904, 84715 }, + { 0x1905, 84725 }, + { 0x1906, 84729 }, + { 0x1907, 84733 }, + { 0x1908, 84737 }, + { 0x1909, 84741 }, + { 0x190A, 84745 }, + { 0x190B, 84795 }, + { 0x190C, 84749 }, + { 0x190D, 84781 }, + { 0x190E, 84753 }, + { 0x190F, 84757 }, + { 0x1910, 84761 }, + { 0x1911, 84765 }, + { 0x1912, 84773 }, + { 0x1913, 84184 }, + { 0x1914, 84495 }, + { 0x1915, 84449 }, + { 0x1916, 84540 }, + { 0x1917, 84188 }, + { 0x1918, 84202 }, + { 0x1919, 84206 }, + { 0x191A, 84471 }, + { 0x191B, 84439 }, + { 0x191C, 84545 }, + { 0x191D, 84214 }, + { 0x191E, 84505 }, + { 0x191F, 84244 }, + { 0x1920, 84281 }, + { 0x1921, 84401 }, + { 0x1922, 84305 }, + { 0x1923, 84444 }, + { 0x1924, 84421 }, + { 0x1925, 84484 }, + { 0x1926, 84309 }, + { 0x1927, 84327 }, + { 0x1928, 84338 }, + { 0x1929, 84617 }, + { 0x192A, 84510 }, + { 0x192B, 84354 }, + { 0x192C, 84393 }, + { 0x192D, 84427 }, + { 0x192E, 84466 }, + { 0x192F, 84453 }, + { 0x1930, 84461 }, + { 0x1931, 84397 }, + { 0x1932, 30920 }, + { 0x1933, 30960 }, + { 0x1934, 30975 }, + { 0x1935, 30980 }, + { 0x1936, 22271 }, + { 0x1937, 22276 }, + { 0x1938, 22266 }, + { 0x1939, 22261 }, + { 0x193A, 22256 }, + { 0x193B, 26923 }, + { 0x193C, 24283 }, + { 0x193D, 24446 }, + { 0x193E, 24706 }, + { 0x193F, 25286 }, + { 0x1940, 25376 }, + { 0x1941, 25750 }, + { 0x1942, 25889 }, + { 0x1943, 25928 }, + { 0x1944, 26039 }, + { 0x1945, 26122 }, + { 0x1946, 26745 }, + { 0x1947, 27404 }, + { 0x1948, 84867 }, + { 0x1949, 27612 }, + { 0x194A, 26908 }, + { 0x194B, 27829 }, + { 0x194C, 27119 }, + { 0x194D, 25757 }, + { 0x194E, 27836 }, + { 0x194F, 27641 }, + { 0x1950, 24302 }, + { 0x1951, 24471 }, + { 0x1952, 24719 }, + { 0x1953, 24786 }, + { 0x1954, 25086 }, + { 0x1955, 25218 }, + { 0x1956, 25293 }, + { 0x1957, 25396 }, + { 0x1958, 25771 }, + { 0x1959, 25915 }, + { 0x195A, 26059 }, + { 0x195B, 26991 }, + { 0x195C, 26464 }, + { 0x195D, 26582 }, + { 0x195E, 26758 }, + { 0x195F, 24192 }, + { 0x1960, 27233 }, + { 0x1961, 24419 }, + { 0x1962, 24627 }, + { 0x1963, 27163 }, + { 0x1964, 27720 }, + { 0x1965, 27272 }, + { 0x1966, 24981 }, + { 0x1967, 27183 }, + { 0x1968, 26998 }, + { 0x1969, 26408 }, + { 0x196A, 27031 }, + { 0x196B, 84551 }, + { 0x196C, 84192 }, + { 0x196D, 84196 }, + { 0x196E, 84409 }, + { 0x196F, 84605 }, + { 0x1970, 84210 }, + { 0x1971, 84589 }, + { 0x1972, 84490 }, + { 0x1973, 84500 }, + { 0x1974, 84228 }, + { 0x1975, 84435 }, + { 0x1976, 84556 }, + { 0x1977, 84561 }, + { 0x1978, 84238 }, + { 0x1979, 84274 }, + { 0x197A, 84259 }, + { 0x197B, 84568 }, + { 0x197C, 84285 }, + { 0x197D, 84515 }, + { 0x197E, 84291 }, + { 0x197F, 84298 }, + { 0x1980, 84573 }, + { 0x1981, 84479 }, + { 0x1982, 84417 }, + { 0x1983, 84321 }, + { 0x1984, 84405 }, + { 0x1985, 84331 }, + { 0x1986, 84342 }, + { 0x1987, 84596 }, + { 0x1988, 84578 }, + { 0x1989, 84358 }, + { 0x198A, 84535 }, + { 0x198B, 84376 }, + { 0x198C, 84386 }, + { 0x198D, 84380 }, + { 0x198E, 84413 }, + { 0x198F, 84475 }, + { 0x1990, 91181 }, + { 0x1991, 91177 }, + { 0x1992, 91136 }, + { 0x1993, 92014 }, + { 0x1994, 92038 }, + { 0x1995, 92036 }, + { 0x1996, 92042 }, + { 0x1997, 92032 }, + { 0x1998, 92056 }, + { 0x1999, 92054 }, + { 0x199A, 90913 }, + { 0x199B, 92034 }, + { 0x199C, 92040 }, + { 0x199D, 91260 }, + { 0x199E, 91302 }, + { 0x199F, 91330 }, + { 0x19A0, 90562 }, + { 0x19A1, 90573 }, + { 0x19A2, 90576 }, + { 0x19A3, 91028 }, + { 0x19A4, 90976 }, + { 0x19A5, 90981 }, + { 0x19A6, 90986 }, + { 0x19A7, 90817 }, + { 0x19A8, 91022 }, + { 0x19A9, 90996 }, + { 0x19AA, 90838 }, + { 0x19AB, 91036 }, + { 0x19AC, 90853 }, + { 0x19AD, 90858 }, + { 0x19AE, 91042 }, + { 0x19AF, 91048 }, + { 0x19B0, 90877 }, + { 0x19B1, 91054 }, + { 0x19B2, 91060 }, + { 0x19B3, 90919 }, + { 0x19B4, 90925 }, + { 0x19B5, 91006 }, + { 0x19B6, 90971 }, + { 0x19B7, 91012 }, + { 0x19B8, 90807 }, + { 0x19B9, 91001 }, + { 0x19BA, 91017 }, + { 0x19BB, 90833 }, + { 0x19BC, 90863 }, + { 0x19BD, 90887 }, + { 0x19BE, 90903 }, + { 0x19BF, 90991 }, + { 0x19C0, 90940 }, + { 0x19C1, 90961 }, + { 0x19C2, 90800 }, + { 0x19C3, 90896 }, + { 0x19C4, 90949 }, + { 0x19C5, 90565 }, + { 0x19C6, 91647 }, + { 0x19C7, 91237 }, + { 0x19C8, 91166 }, + { 0x19C9, 90681 }, + { 0x19CA, 91108 }, + { 0x19CB, 28245 }, + { 0x19CC, 24059 }, + { 0x19CD, 28422 }, + { 0x19CE, 24256 }, + { 0x19CF, 28429 }, + { 0x19D0, 24263 }, + { 0x19D1, 28442 }, + { 0x19D2, 24276 }, + { 0x19D3, 28514 }, + { 0x19D4, 24368 }, + { 0x19D5, 28532 }, + { 0x19D6, 24393 }, + { 0x19D7, 28539 }, + { 0x19D8, 24400 }, + { 0x19D9, 28552 }, + { 0x19DA, 24427 }, + { 0x19DB, 28595 }, + { 0x19DC, 24465 }, + { 0x19DD, 28601 }, + { 0x19DE, 24478 }, + { 0x19DF, 28691 }, + { 0x19E0, 24574 }, + { 0x19E1, 28683 }, + { 0x19E2, 24566 }, + { 0x19E3, 28786 }, + { 0x19E4, 24682 }, + { 0x19E5, 28663 }, + { 0x19E6, 24546 }, + { 0x19E7, 28717 }, + { 0x19E8, 24600 }, + { 0x19E9, 28797 }, + { 0x19EA, 24693 }, + { 0x19EB, 28851 }, + { 0x19EC, 24761 }, + { 0x19ED, 28886 }, + { 0x19EE, 24803 }, + { 0x19EF, 28893 }, + { 0x19F0, 24810 }, + { 0x19F1, 28937 }, + { 0x19F2, 24868 }, + { 0x19F3, 28925 }, + { 0x19F4, 24849 }, + { 0x19F5, 28906 }, + { 0x19F6, 24830 }, + { 0x19F7, 29004 }, + { 0x19F8, 24928 }, + { 0x19F9, 29049 }, + { 0x19FA, 24973 }, + { 0x19FB, 29109 }, + { 0x19FC, 25046 }, + { 0x19FD, 29089 }, + { 0x19FE, 25026 }, + { 0x19FF, 29102 }, + { 0x1A00, 25039 }, + { 0x1A01, 29172 }, + { 0x1A02, 25116 }, + { 0x1A03, 29179 }, + { 0x1A04, 25123 }, + { 0x1A05, 29201 }, + { 0x1A06, 25151 }, + { 0x1A07, 29261 }, + { 0x1A08, 25249 }, + { 0x1A09, 29292 }, + { 0x1A0A, 25280 }, + { 0x1A0B, 29272 }, + { 0x1A0C, 25260 }, + { 0x1A0D, 29279 }, + { 0x1A0E, 25267 }, + { 0x1A0F, 29302 }, + { 0x1A10, 25310 }, + { 0x1A11, 29309 }, + { 0x1A12, 25317 }, + { 0x1A13, 29323 }, + { 0x1A14, 25337 }, + { 0x1A15, 29389 }, + { 0x1A16, 25416 }, + { 0x1A17, 29522 }, + { 0x1A18, 25570 }, + { 0x1A19, 29538 }, + { 0x1A1A, 25586 }, + { 0x1A1B, 29574 }, + { 0x1A1C, 25622 }, + { 0x1A1D, 29566 }, + { 0x1A1E, 25614 }, + { 0x1A1F, 29703 }, + { 0x1A20, 25744 }, + { 0x1A21, 29690 }, + { 0x1A22, 25731 }, + { 0x1A23, 29759 }, + { 0x1A24, 25827 }, + { 0x1A25, 29766 }, + { 0x1A26, 25834 }, + { 0x1A27, 29773 }, + { 0x1A28, 25841 }, + { 0x1A29, 29782 }, + { 0x1A2A, 25850 }, + { 0x1A2B, 29849 }, + { 0x1A2C, 25965 }, + { 0x1A2D, 29856 }, + { 0x1A2E, 25972 }, + { 0x1A2F, 29879 }, + { 0x1A30, 26001 }, + { 0x1A31, 29894 }, + { 0x1A32, 26016 }, + { 0x1A33, 29863 }, + { 0x1A34, 25979 }, + { 0x1A35, 29940 }, + { 0x1A36, 26076 }, + { 0x1A37, 29947 }, + { 0x1A38, 26083 }, + { 0x1A39, 29960 }, + { 0x1A3A, 26102 }, + { 0x1A3B, 30006 }, + { 0x1A3C, 26168 }, + { 0x1A3D, 30215 }, + { 0x1A3E, 26401 }, + { 0x1A3F, 30129 }, + { 0x1A40, 26315 }, + { 0x1A41, 30228 }, + { 0x1A42, 26421 }, + { 0x1A43, 30121 }, + { 0x1A44, 26307 }, + { 0x1A45, 30156 }, + { 0x1A46, 26342 }, + { 0x1A47, 30252 }, + { 0x1A48, 26458 }, + { 0x1A49, 30239 }, + { 0x1A4A, 26432 }, + { 0x1A4B, 30295 }, + { 0x1A4C, 26515 }, + { 0x1A4D, 30289 }, + { 0x1A4E, 26509 }, + { 0x1A4F, 30301 }, + { 0x1A50, 26521 }, + { 0x1A51, 30269 }, + { 0x1A52, 26482 }, + { 0x1A53, 30276 }, + { 0x1A54, 26489 }, + { 0x1A55, 30317 }, + { 0x1A56, 26537 }, + { 0x1A57, 30324 }, + { 0x1A58, 26589 }, + { 0x1A59, 30334 }, + { 0x1A5A, 26599 }, + { 0x1A5B, 30471 }, + { 0x1A5C, 26778 }, + { 0x1A5D, 30420 }, + { 0x1A5E, 26700 }, + { 0x1A5F, 30433 }, + { 0x1A60, 26719 }, + { 0x1A61, 24823 }, + { 0x1A62, 26155 }, + { 0x1A63, 26502 }, + { 0x1A64, 26632 }, + { 0x1A65, 24132 }, + { 0x1A66, 27134 }, + { 0x1A67, 27150 }, + { 0x1A68, 27142 }, + { 0x1A69, 30684 }, + { 0x1A6A, 27240 }, + { 0x1A6B, 28215 }, + { 0x1A6C, 24029 }, + { 0x1A6D, 28222 }, + { 0x1A6E, 24036 }, + { 0x1A6F, 28394 }, + { 0x1A70, 24223 }, + { 0x1A71, 28402 }, + { 0x1A72, 24231 }, + { 0x1A73, 28385 }, + { 0x1A74, 24214 }, + { 0x1A75, 28410 }, + { 0x1A76, 24239 }, + { 0x1A77, 28376 }, + { 0x1A78, 24205 }, + { 0x1A79, 28282 }, + { 0x1A7A, 24096 }, + { 0x1A7B, 28290 }, + { 0x1A7C, 24104 }, + { 0x1A7D, 28273 }, + { 0x1A7E, 24087 }, + { 0x1A7F, 28298 }, + { 0x1A80, 24112 }, + { 0x1A81, 28264 }, + { 0x1A82, 24078 }, + { 0x1A83, 28619 }, + { 0x1A84, 24496 }, + { 0x1A85, 28626 }, + { 0x1A86, 24503 }, + { 0x1A87, 28657 }, + { 0x1A88, 24540 }, + { 0x1A89, 28762 }, + { 0x1A8A, 24658 }, + { 0x1A8B, 28770 }, + { 0x1A8C, 24666 }, + { 0x1A8D, 28753 }, + { 0x1A8E, 24649 }, + { 0x1A8F, 28778 }, + { 0x1A90, 24674 }, + { 0x1A91, 28744 }, + { 0x1A92, 24640 }, + { 0x1A93, 28967 }, + { 0x1A94, 24891 }, + { 0x1A95, 28960 }, + { 0x1A96, 24884 }, + { 0x1A97, 29416 }, + { 0x1A98, 25456 }, + { 0x1A99, 29423 }, + { 0x1A9A, 25471 }, + { 0x1A9B, 29662 }, + { 0x1A9C, 25703 }, + { 0x1A9D, 29670 }, + { 0x1A9E, 25711 }, + { 0x1A9F, 29653 }, + { 0x1AA0, 25694 }, + { 0x1AA1, 29678 }, + { 0x1AA2, 25719 }, + { 0x1AA3, 29644 }, + { 0x1AA4, 25685 }, + { 0x1AA5, 29454 }, + { 0x1AA6, 25502 }, + { 0x1AA7, 29462 }, + { 0x1AA8, 25510 }, + { 0x1AA9, 29445 }, + { 0x1AAA, 25493 }, + { 0x1AAB, 29470 }, + { 0x1AAC, 25518 }, + { 0x1AAD, 29436 }, + { 0x1AAE, 25484 }, + { 0x1AAF, 30022 }, + { 0x1AB0, 26193 }, + { 0x1AB1, 30029 }, + { 0x1AB2, 26200 }, + { 0x1AB3, 30060 }, + { 0x1AB4, 26231 }, + { 0x1AB5, 30068 }, + { 0x1AB6, 26239 }, + { 0x1AB7, 30051 }, + { 0x1AB8, 26222 }, + { 0x1AB9, 30076 }, + { 0x1ABA, 26247 }, + { 0x1ABB, 30042 }, + { 0x1ABC, 26213 }, + { 0x1ABD, 30373 }, + { 0x1ABE, 26645 }, + { 0x1ABF, 30341 }, + { 0x1AC0, 26606 }, + { 0x1AC1, 30354 }, + { 0x1AC2, 26619 }, + { 0x1AC3, 30379 }, + { 0x1AC4, 26659 }, + { 0x1AC5, 30882 }, + { 0x1AC6, 27814 }, + { 0x1AC7, 30877 }, + { 0x1AC8, 27809 }, + { 0x1AC9, 30361 }, + { 0x1ACA, 26626 }, + { 0x1ACB, 20381 }, + { 0x1ACC, 20313 }, + { 0x1ACD, 20405 }, + { 0x1ACE, 20337 }, + { 0x1ACF, 20387 }, + { 0x1AD0, 20319 }, + { 0x1AD1, 20423 }, + { 0x1AD2, 20355 }, + { 0x1AD3, 21670 }, + { 0x1AD4, 21602 }, + { 0x1AD5, 21694 }, + { 0x1AD6, 21626 }, + { 0x1AD7, 21676 }, + { 0x1AD8, 21608 }, + { 0x1AD9, 21712 }, + { 0x1ADA, 21644 }, + { 0x1ADB, 20782 }, + { 0x1ADC, 20760 }, + { 0x1ADD, 20796 }, + { 0x1ADE, 20774 }, + { 0x1ADF, 20788 }, + { 0x1AE0, 20766 }, + { 0x1AE1, 21993 }, + { 0x1AE2, 21971 }, + { 0x1AE3, 22007 }, + { 0x1AE4, 21985 }, + { 0x1AE5, 21999 }, + { 0x1AE6, 21977 }, + { 0x1AE7, 20001 }, + { 0x1AE8, 19933 }, + { 0x1AE9, 20025 }, + { 0x1AEA, 19957 }, + { 0x1AEB, 20007 }, + { 0x1AEC, 19939 }, + { 0x1AED, 20043 }, + { 0x1AEE, 19975 }, + { 0x1AEF, 21360 }, + { 0x1AF0, 21292 }, + { 0x1AF1, 21384 }, + { 0x1AF2, 21316 }, + { 0x1AF3, 21366 }, + { 0x1AF4, 21298 }, + { 0x1AF5, 21402 }, + { 0x1AF6, 21334 }, + { 0x1AF7, 20193 }, + { 0x1AF8, 20163 }, + { 0x1AF9, 20207 }, + { 0x1AFA, 20177 }, + { 0x1AFB, 20199 }, + { 0x1AFC, 20169 }, + { 0x1AFD, 20215 }, + { 0x1AFE, 20185 }, + { 0x1AFF, 21528 }, + { 0x1B00, 21498 }, + { 0x1B01, 21542 }, + { 0x1B02, 21512 }, + { 0x1B03, 21534 }, + { 0x1B04, 21504 }, + { 0x1B05, 21550 }, + { 0x1B06, 21520 }, + { 0x1B07, 20848 }, + { 0x1B08, 20826 }, + { 0x1B09, 20862 }, + { 0x1B0A, 20840 }, + { 0x1B0B, 20854 }, + { 0x1B0C, 20832 }, + { 0x1B0D, 22059 }, + { 0x1B0E, 22037 }, + { 0x1B0F, 22073 }, + { 0x1B10, 22051 }, + { 0x1B11, 22065 }, + { 0x1B12, 22043 }, + { 0x1B13, 20922 }, + { 0x1B14, 20892 }, + { 0x1B15, 20936 }, + { 0x1B16, 20906 }, + { 0x1B17, 20928 }, + { 0x1B18, 20898 }, + { 0x1B19, 20944 }, + { 0x1B1A, 20914 }, + { 0x1B1B, 22103 }, + { 0x1B1C, 22117 }, + { 0x1B1D, 22109 }, + { 0x1B1E, 22125 }, + { 0x1B1F, 20612 }, + { 0x1B20, 20544 }, + { 0x1B21, 20636 }, + { 0x1B22, 20568 }, + { 0x1B23, 20618 }, + { 0x1B24, 20550 }, + { 0x1B25, 20654 }, + { 0x1B26, 20586 }, + { 0x1B27, 21862 }, + { 0x1B28, 21794 }, + { 0x1B29, 21886 }, + { 0x1B2A, 21818 }, + { 0x1B2B, 21868 }, + { 0x1B2C, 21800 }, + { 0x1B2D, 21904 }, + { 0x1B2E, 21836 }, + { 0x1B2F, 20455 }, + { 0x1B30, 20299 }, + { 0x1B31, 20810 }, + { 0x1B32, 20754 }, + { 0x1B33, 20075 }, + { 0x1B34, 19919 }, + { 0x1B35, 20229 }, + { 0x1B36, 20157 }, + { 0x1B37, 20876 }, + { 0x1B38, 20820 }, + { 0x1B39, 20958 }, + { 0x1B3A, 20886 }, + { 0x1B3B, 20686 }, + { 0x1B3C, 20530 }, + { 0x1B3D, 20441 }, + { 0x1B3E, 20373 }, + { 0x1B3F, 20413 }, + { 0x1B40, 20345 }, + { 0x1B41, 20395 }, + { 0x1B42, 20327 }, + { 0x1B43, 20431 }, + { 0x1B44, 20363 }, + { 0x1B45, 21730 }, + { 0x1B46, 21662 }, + { 0x1B47, 21702 }, + { 0x1B48, 21634 }, + { 0x1B49, 21684 }, + { 0x1B4A, 21616 }, + { 0x1B4B, 21720 }, + { 0x1B4C, 21652 }, + { 0x1B4D, 20061 }, + { 0x1B4E, 19993 }, + { 0x1B4F, 20033 }, + { 0x1B50, 19965 }, + { 0x1B51, 20015 }, + { 0x1B52, 19947 }, + { 0x1B53, 20051 }, + { 0x1B54, 19983 }, + { 0x1B55, 21420 }, + { 0x1B56, 21352 }, + { 0x1B57, 21392 }, + { 0x1B58, 21324 }, + { 0x1B59, 21374 }, + { 0x1B5A, 21306 }, + { 0x1B5B, 21410 }, + { 0x1B5C, 21342 }, + { 0x1B5D, 20672 }, + { 0x1B5E, 20604 }, + { 0x1B5F, 20644 }, + { 0x1B60, 20576 }, + { 0x1B61, 20626 }, + { 0x1B62, 20558 }, + { 0x1B63, 20662 }, + { 0x1B64, 20594 }, + { 0x1B65, 21922 }, + { 0x1B66, 21854 }, + { 0x1B67, 21894 }, + { 0x1B68, 21826 }, + { 0x1B69, 21876 }, + { 0x1B6A, 21808 }, + { 0x1B6B, 21912 }, + { 0x1B6C, 21844 }, + { 0x1B6D, 20475 }, + { 0x1B6E, 20469 }, + { 0x1B6F, 20461 }, + { 0x1B70, 20495 }, + { 0x1B71, 20305 }, + { 0x1B72, 20481 }, + { 0x1B73, 20487 }, + { 0x1B74, 21756 }, + { 0x1B75, 21750 }, + { 0x1B76, 21744 }, + { 0x1B77, 21596 }, + { 0x1B78, 21762 }, + { 0x1B79, 22189 }, + { 0x1B7A, 22694 }, + { 0x1B7B, 19875 }, + { 0x1B7C, 22542 }, + { 0x1B7D, 22246 }, + { 0x1B7E, 20081 }, + { 0x1B7F, 20103 }, + { 0x1B80, 19925 }, + { 0x1B81, 20089 }, + { 0x1B82, 20095 }, + { 0x1B83, 22021 }, + { 0x1B84, 21965 }, + { 0x1B85, 21434 }, + { 0x1B86, 21286 }, + { 0x1B87, 21440 }, + { 0x1B88, 19881 }, + { 0x1B89, 19877 }, + { 0x1B8A, 19885 }, + { 0x1B8B, 20241 }, + { 0x1B8C, 20235 }, + { 0x1B8D, 20269 }, + { 0x1B8E, 20253 }, + { 0x1B8F, 20285 }, + { 0x1B90, 20277 }, + { 0x1B91, 21576 }, + { 0x1B92, 21570 }, + { 0x1B93, 21564 }, + { 0x1B94, 21492 }, + { 0x1B95, 19857 }, + { 0x1B96, 19853 }, + { 0x1B97, 19861 }, + { 0x1B98, 20970 }, + { 0x1B99, 20964 }, + { 0x1B9A, 20998 }, + { 0x1B9B, 20982 }, + { 0x1B9C, 20127 }, + { 0x1B9D, 20121 }, + { 0x1B9E, 21014 }, + { 0x1B9F, 21006 }, + { 0x1BA0, 22151 }, + { 0x1BA1, 22145 }, + { 0x1BA2, 22139 }, + { 0x1BA3, 22097 }, + { 0x1BA4, 21458 }, + { 0x1BA5, 22242 }, + { 0x1BA6, 22238 }, + { 0x1BA7, 21051 }, + { 0x1BA8, 20692 }, + { 0x1BA9, 20714 }, + { 0x1BAA, 20536 }, + { 0x1BAB, 20700 }, + { 0x1BAC, 20706 }, + { 0x1BAD, 22087 }, + { 0x1BAE, 22031 }, + { 0x1BAF, 21936 }, + { 0x1BB0, 21788 }, + { 0x1BB1, 21942 }, + { 0x1BB2, 19843 }, + { 0x1BB3, 19851 }, + { 0x1BB4, 81 }, + { 0x1BB5, 75 }, + { 0x1BB6, 83 }, + { 0x1BB7, 77 }, + { 0x1BB8, 114884 }, + { 0x1BB9, 105582 }, + { 0x1BBA, 105488 }, + { 0x1BBB, 46300 }, + { 0x1BBC, 106224 }, + { 0x1BBD, 15255 }, + { 0x1BBE, 12710 }, + { 0x1BBF, 15365 }, + { 0x1BC0, 15375 }, + { 0x1BC1, 15368 }, + { 0x1BC2, 115299 }, + { 0x1BC3, 115855 }, + { 0x1BC4, 48422 }, + { 0x1BC5, 114616 }, + { 0x1BC6, 46298 }, + { 0x1BC7, 79 }, + { 0x1BC8, 73 }, + { 0x1BC9, 104115 }, + { 0x1BCA, 46201 }, + { 0x1BCB, 46049 }, + { 0x1BCC, 13020 }, + { 0x1BCD, 33708 }, + { 0x1BCE, 53794 }, + { 0x1BCF, 53808 }, + { 0x1BD0, 13004 }, + { 0x1BD1, 33692 }, + { 0x1BD2, 46074 }, + { 0x1BD3, 46216 }, + { 0x1BD4, 45652 }, + { 0x1BD5, 46091 }, + { 0x1BD6, 44374 }, + { 0x1BD7, 105500 }, + { 0x1BD8, 8931 }, + { 0x1BD9, 10880 }, + { 0x1BDA, 104149 }, + { 0x1BDB, 105586 }, + { 0x1BDC, 13133 }, + { 0x1BDD, 101747 }, + { 0x1BDE, 115305 }, + { 0x1BDF, 115861 }, + { 0x1BE0, 9277 }, + { 0x1BE1, 115303 }, + { 0x1BE2, 115859 }, + { 0x1BE3, 52784 }, + { 0x1BE4, 9266 }, + { 0x1BE5, 9260 }, + { 0x1BE6, 33530 }, + { 0x1BE7, 46078 }, + { 0x1BE8, 57153 }, + { 0x1BE9, 86079 }, + { 0x1BEA, 86086 }, + { 0x1BEB, 86116 }, + { 0x1BEC, 19327 }, + { 0x1BED, 53798 }, + { 0x1BEE, 53803 }, + { 0x1BEF, 101808 }, + { 0x1BF0, 46207 }, + { 0x1BF1, 106189 }, + { 0x1BF2, 85403 }, + { 0x1BF3, 86809 }, + { 0x1BF4, 90479 }, + { 0x1BF5, 19328 }, + { 0x1BF6, 69130 }, + { 0x1BF7, 48426 }, + { 0x1BF8, 80612 }, + { 0x1BF9, 13046 }, + { 0x1BFA, 33734 }, + { 0x1BFB, 46174 }, + { 0x1BFC, 85916 }, + { 0x1BFD, 105579 }, + { 0x1BFE, 86621 }, + { 0x1BFF, 86119 }, + { 0x1C00, 19122 }, + { 0x1C01, 19146 }, + { 0x1C02, 6218 }, + { 0x1C03, 86133 }, + { 0x1C04, 19437 }, + { 0x1C05, 10919 }, + { 0x1C06, 103200 }, + { 0x1C07, 34731 }, + { 0x1C08, 82384 }, + { 0x1C09, 46318 }, + { 0x1C0A, 35186 }, + { 0x1C0B, 101761 }, + { 0x1C0C, 12649 }, + { 0x1C0D, 12632 }, + { 0x1C0E, 10883 }, + { 0x1C0F, 12646 }, + { 0x1C10, 46030 }, + { 0x1C11, 86701 }, + { 0x1C12, 86837 }, + { 0x1C13, 52409 }, + { 0x1C14, 15359 }, + { 0x1C15, 80622 }, + { 0x1C16, 99530 }, + { 0x1C17, 99532 }, + { 0x1C18, 99528 }, + { 0x1C19, 115301 }, + { 0x1C1A, 115857 }, + { 0x1C1B, 19745 }, + { 0x1C1C, 9274 }, + { 0x1C1D, 61420 }, + { 0x1C1E, 68750 }, + { 0x1C1F, 61416 }, + { 0x1C20, 68746 }, + { 0x1C21, 84990 }, + { 0x1C22, 64474 }, + { 0x1C23, 109403 }, + { 0x1C24, 109407 }, + { 0x1C25, 109393 }, + { 0x1C26, 109391 }, + { 0x1C27, 109387 }, + { 0x1C28, 109422 }, + { 0x1C29, 109405 }, + { 0x1C2A, 109398 }, + { 0x1C2B, 109400 }, + { 0x1C2C, 109417 }, + { 0x1C2D, 109426 }, + { 0x1C2E, 109395 }, + { 0x1C2F, 109419 }, + { 0x1C30, 109412 }, + { 0x1C31, 102090 }, + { 0x1C32, 102072 }, + { 0x1C33, 102076 }, + { 0x1C34, 102101 }, + { 0x1C35, 102080 }, + { 0x1C36, 102078 }, + { 0x1C37, 102074 }, + { 0x1C38, 102099 }, + { 0x1C39, 102092 }, + { 0x1C3A, 102085 }, + { 0x1C3B, 102087 }, + { 0x1C3C, 102094 }, + { 0x1C3D, 102103 }, + { 0x1C3E, 102082 }, + { 0x1C3F, 102096 }, + { 0x1C40, 30905 }, + { 0x1C41, 30910 }, + { 0x1C42, 30950 }, + { 0x1C43, 30985 }, + { 0x1C44, 30990 }, + { 0x1C45, 30915 }, + { 0x1C46, 30930 }, + { 0x1C47, 30935 }, + { 0x1C48, 30940 }, + { 0x1C49, 30945 }, + { 0x1C4A, 30955 }, + { 0x1C4B, 30965 }, + { 0x1C4C, 30970 }, + { 0x1C4D, 115044 }, + { 0x1C4E, 19455 }, + { 0x1C4F, 73272 }, + { 0x1C50, 46329 }, + { 0x1C51, 13160 }, + { 0x1C52, 13898 }, + { 0x1C53, 32615 }, + { 0x1C54, 53468 }, + { 0x1C55, 34306 }, + { 0x1C56, 11839 }, + { 0x1C57, 6876 }, + { 0x1C58, 12491 }, + { 0x1C59, 12520 }, + { 0x1C5A, 5955 }, + { 0x1C5B, 57204 }, + { 0x1C5C, 60888 }, + { 0x1C5D, 46335 }, + { 0x1C5E, 14540 }, + { 0x1C5F, 61338 }, + { 0x1C60, 57831 }, + { 0x1C61, 61409 }, + { 0x1C62, 12140 }, + { 0x1C63, 31321 }, + { 0x1C64, 86223 }, + { 0x1C65, 35175 }, + { 0x1C66, 48428 }, + { 0x1C67, 68400 }, + { 0x1C68, 52788 }, + { 0x1C69, 31430 }, + { 0x1C6A, 33962 }, + { 0x1C6B, 12738 }, + { 0x1C6C, 90677 }, + { 0x1C6D, 91097 }, + { 0x1C6E, 90702 }, + { 0x1C6F, 91131 }, + { 0x1C70, 92048 }, + { 0x1C71, 91710 }, + { 0x1C72, 90659 }, + { 0x1C73, 91089 }, + { 0x1C74, 90721 }, + { 0x1C75, 91706 }, + { 0x1C76, 92044 }, + { 0x1C77, 91139 }, + { 0x1C78, 90628 }, + { 0x1C79, 91722 }, + { 0x1C7A, 91735 }, + { 0x1C7B, 91743 }, + { 0x1C7C, 91725 }, + { 0x1C7D, 90667 }, + { 0x1C7E, 91732 }, + { 0x1C7F, 91729 }, + { 0x1C80, 91738 }, + { 0x1C81, 91392 }, + { 0x1C82, 91255 }, + { 0x1C83, 91333 }, + { 0x1C84, 91316 }, + { 0x1C85, 90724 }, + { 0x1C86, 91746 }, + { 0x1C87, 90689 }, + { 0x1C88, 92008 }, + { 0x1C89, 91750 }, + { 0x1C8A, 90663 }, + { 0x1C8B, 91093 }, + { 0x1C8C, 91403 }, + { 0x1C8D, 57822 }, + { 0x1C8E, 86913 }, + { 0x1C8F, 114998 }, + { 0x1C90, 45675 }, + { 0x1C91, 44537 }, + { 0x1C92, 12136 }, + { 0x1C93, 12123 }, + { 0x1C94, 19732 }, + { 0x1C95, 65235 }, + { 0x1C96, 45677 }, + { 0x1C97, 53739 }, + { 0x1C98, 53757 }, + { 0x1C99, 109743 }, + { 0x1C9A, 115001 }, + { 0x1C9B, 53472 }, + { 0x1C9C, 53474 }, + { 0x1C9D, 53760 }, + { 0x1C9E, 109746 }, + { 0x1C9F, 53763 }, + { 0x1CA0, 53742 }, + { 0x1CA1, 0 }, + { 0x1CA2, 115004 }, + { 0x1CA3, 52846 }, + { 0x1CA4, 34587 }, + { 0x1CA5, 53769 }, + { 0x1CA6, 115007 }, + { 0x1CA7, 115010 }, + { 0x1CA8, 53772 }, + { 0x1CA9, 109749 }, + { 0x1CAA, 115013 }, + { 0x1CAB, 114618 }, + { 0x1CAC, 86057 }, + { 0x1CAD, 65239 }, + { 0x1CAE, 102363 }, + { 0x1CAF, 35294 }, + { 0x1CB0, 86810 }, + { 0x1CB1, 115016 }, + { 0x1CB2, 33497 }, + { 0x1CB3, 7185 }, + { 0x1CB4, 82375 }, + { 0x1CB5, 109752 }, + { 0x1CB6, 57231 }, + { 0x1CB7, 49302 }, + { 0x1CB8, 68760 }, + { 0x1CB9, 53748 }, + { 0x1CBA, 109740 }, + { 0x1CBB, 98559 }, + { 0x1CBC, 53736 }, + { 0x1CBD, 53751 }, + { 0x1CBE, 53754 }, + { 0x1CBF, 57265 }, + { 0x1CC0, 53766 }, + { 0x1CC1, 53745 }, + { 0x1CC2, 12039 }, + { 0x1CC3, 4447 }, + { 0x1CC4, 19775 }, + { 0x1CC5, 19494 }, + { 0x1CC6, 106172 }, + { 0x1CC7, 65225 }, + { 0x1CC8, 98589 }, + { 0x1CC9, 114972 }, + { 0x1CCA, 114975 }, + { 0x1CCB, 115022 }, + { 0x1CCC, 115019 }, + { 0x1CCD, 114969 }, + { 0x1CCE, 57272 }, + { 0x1CCF, 57276 }, + { 0x1CD0, 86135 }, + { 0x1CD1, 57280 }, + { 0x1CD2, 114994 }, + { 0x1CD3, 114978 }, + { 0x1CD4, 114982 }, + { 0x1CD5, 114986 }, + { 0x1CD6, 114990 }, + { 0x1CD7, 85852 }, + { 0x1CD8, 57268 }, + { 0x1CD9, 9264 }, + { 0x1CDA, 109687 }, + { 0x1CDB, 57246 }, + { 0x1CDC, 54836 }, + { 0x1CDD, 57331 }, + { 0x1CDE, 57307 }, + { 0x1CDF, 57315 }, + { 0x1CE0, 57319 }, + { 0x1CE1, 57339 }, + { 0x1CE2, 57303 }, + { 0x1CE3, 57335 }, + { 0x1CE4, 57363 }, + { 0x1CE5, 57351 }, + { 0x1CE6, 57311 }, + { 0x1CE7, 57343 }, + { 0x1CE8, 57323 }, + { 0x1CE9, 57367 }, + { 0x1CEA, 57347 }, + { 0x1CEB, 57359 }, + { 0x1CEC, 80614 }, + { 0x1CED, 33842 }, + { 0x1CEE, 33879 }, + { 0x1CEF, 33917 }, + { 0x1CF0, 33893 }, + { 0x1CF1, 33882 }, + { 0x1CF2, 33864 }, + { 0x1CF3, 33914 }, + { 0x1CF4, 33899 }, + { 0x1CF5, 33896 }, + { 0x1CF6, 33872 }, + { 0x1CF7, 33920 }, + { 0x1CF8, 33923 }, + { 0x1CF9, 33902 }, + { 0x1CFA, 33845 }, + { 0x1CFB, 33885 }, + { 0x1CFC, 33854 }, + { 0x1CFD, 34419 }, + { 0x1CFE, 34441 }, + { 0x1CFF, 34474 }, + { 0x1D00, 34454 }, + { 0x1D01, 34445 }, + { 0x1D02, 34433 }, + { 0x1D03, 34470 }, + { 0x1D04, 34462 }, + { 0x1D05, 34458 }, + { 0x1D06, 34437 }, + { 0x1D07, 34478 }, + { 0x1D08, 34482 }, + { 0x1D09, 34466 }, + { 0x1D0A, 34423 }, + { 0x1D0B, 34449 }, + { 0x1D0C, 34428 }, + { 0x1D0D, 33858 }, + { 0x1D0E, 33889 }, + { 0x1D0F, 33875 }, + { 0x1D10, 33926 }, + { 0x1D11, 27682 }, + { 0x1D12, 33867 }, + { 0x1D13, 33905 }, + { 0x1D14, 33910 }, + { 0x1D15, 33849 }, + { 0x1D16, 57355 }, + { 0x1D17, 57225 }, + { 0x1D18, 57228 }, + { 0x1D19, 99767 }, + { 0x1D1A, 68412 }, + { 0x1D1B, 104668 }, + { 0x1D1C, 98273 }, + { 0x1D1D, 12886 }, + { 0x1D1E, 345 }, + { 0x1D1F, 32701 }, + { 0x1D20, 32627 }, + { 0x1D21, 34590 }, + { 0x1D22, 34656 }, + { 0x1D23, 99880 }, + { 0x1D24, 104777 }, + { 0x1D25, 99764 }, + { 0x1D26, 104665 }, + { 0x1D27, 99760 }, + { 0x1D28, 68408 }, + { 0x1D29, 104661 }, + { 0x1D2A, 98269 }, + { 0x1D2B, 99826 }, + { 0x1D2C, 104718 }, + { 0x1D2D, 99787 }, + { 0x1D2E, 68418 }, + { 0x1D2F, 104679 }, + { 0x1D30, 98279 }, + { 0x1D31, 348 }, + { 0x1D32, 99813 }, + { 0x1D33, 104705 }, + { 0x1D34, 99817 }, + { 0x1D35, 104709 }, + { 0x1D36, 12882 }, + { 0x1D37, 12896 }, + { 0x1D38, 98388 }, + { 0x1D39, 68422 }, + { 0x1D3A, 68427 }, + { 0x1D3B, 98283 }, + { 0x1D3C, 98288 }, + { 0x1D3D, 104755 }, + { 0x1D3E, 98311 }, + { 0x1D3F, 114892 }, + { 0x1D40, 90497 }, + { 0x1D41, 32704 }, + { 0x1D42, 99773 }, + { 0x1D43, 114896 }, + { 0x1D44, 90501 }, + { 0x1D45, 100088 }, + { 0x1D46, 100093 }, + { 0x1D47, 68621 }, + { 0x1D48, 68616 }, + { 0x1D49, 104995 }, + { 0x1D4A, 105000 }, + { 0x1D4B, 98446 }, + { 0x1D4C, 98441 }, + { 0x1D4D, 104690 }, + { 0x1D4E, 68476 }, + { 0x1D4F, 99798 }, + { 0x1D50, 99994 }, + { 0x1D51, 68558 }, + { 0x1D52, 104901 }, + { 0x1D53, 98380 }, + { 0x1D54, 100006 }, + { 0x1D55, 104913 }, + { 0x1D56, 99980 }, + { 0x1D57, 12925 }, + { 0x1D58, 104887 }, + { 0x1D59, 99972 }, + { 0x1D5A, 68555 }, + { 0x1D5B, 104879 }, + { 0x1D5C, 98377 }, + { 0x1D5D, 12921 }, + { 0x1D5E, 361 }, + { 0x1D5F, 32742 }, + { 0x1D60, 32664 }, + { 0x1D61, 34625 }, + { 0x1D62, 34679 }, + { 0x1D63, 100003 }, + { 0x1D64, 104910 }, + { 0x1D65, 100101 }, + { 0x1D66, 105008 }, + { 0x1D67, 68450 }, + { 0x1D68, 98316 }, + { 0x1D69, 99965 }, + { 0x1D6A, 68552 }, + { 0x1D6B, 104872 }, + { 0x1D6C, 98374 }, + { 0x1D6D, 99769 }, + { 0x1D6E, 104670 }, + { 0x1D6F, 99956 }, + { 0x1D70, 68497 }, + { 0x1D71, 104853 }, + { 0x1D72, 98363 }, + { 0x1D73, 68521 }, + { 0x1D74, 68500 }, + { 0x1D75, 68513 }, + { 0x1D76, 68505 }, + { 0x1D77, 68540 }, + { 0x1D78, 68544 }, + { 0x1D79, 104856 }, + { 0x1D7A, 32710 }, + { 0x1D7B, 34593 }, + { 0x1D7C, 357 }, + { 0x1D7D, 33605 }, + { 0x1D7E, 98342 }, + { 0x1D7F, 35225 }, + { 0x1D80, 99889 }, + { 0x1D81, 104786 }, + { 0x1D82, 12901 }, + { 0x1D83, 99868 }, + { 0x1D84, 104765 }, + { 0x1D85, 12889 }, + { 0x1D86, 100181 }, + { 0x1D87, 105088 }, + { 0x1D88, 12942 }, + { 0x1D89, 5929 }, + { 0x1D8A, 103203 }, + { 0x1D8B, 64639 }, + { 0x1D8C, 35181 }, + { 0x1D8D, 35177 }, + { 0x1D8E, 19660 }, + { 0x1D8F, 99525 }, + { 0x1D90, 32614 }, + { 0x1D91, 61011 }, + { 0x1D92, 7088 }, + { 0x1D93, 34500 }, + { 0x1D94, 73147 }, + { 0x1D95, 12456 }, + { 0x1D96, 34529 }, + { 0x1D97, 5915 }, + { 0x1D98, 32606 }, + { 0x1D99, 32608 }, + { 0x1D9A, 32610 }, + { 0x1D9B, 32506 }, + { 0x1D9C, 115307 }, + { 0x1D9D, 5898 }, + { 0x1D9E, 75219 }, + { 0x1D9F, 9297 }, + { 0x1DA0, 69128 }, + { 0x1DA1, 14628 }, + { 0x1DA2, 44375 }, + { 0x1DA3, 54167 }, + { 0x1DA4, 12427 }, + { 0x1DA5, 46327 }, + { 0x1DA6, 114854 }, + { 0x1DA7, 82329 }, + { 0x1DA8, 33571 }, + { 0x1DA9, 15720 }, + { 0x1DAA, 83225 }, + { 0x1DAB, 102058 }, + { 0x1DAC, 60878 }, + { 0x1DAD, 12446 }, + { 0x1DAE, 85405 }, + { 0x1DAF, 7133 }, + { 0x1DB0, 61777 }, + { 0x1DB1, 61745 }, + { 0x1DB2, 109940 }, + { 0x1DB3, 35299 }, + { 0x1DB4, 82335 }, + { 0x1DB5, 46170 }, + { 0x1DB6, 57167 }, + { 0x1DB7, 60132 }, + { 0x1DB8, 67101 }, + { 0x1DB9, 57297 }, + { 0x1DBA, 90522 }, + { 0x1DBB, 90519 }, + { 0x1DBC, 114908 }, + { 0x1DBD, 102637 }, + { 0x1DBE, 58006 }, + { 0x1DBF, 33538 }, + { 0x1DC0, 104636 }, + { 0x1DC1, 5902 }, + { 0x1DC2, 46287 }, + { 0x1DC3, 99001 }, + { 0x1DC4, 104114 }, + { 0x1DC5, 35254 }, + { 0x1DC6, 86081 }, + { 0x1DC7, 82378 }, + { 0x1DC8, 14747 }, + { 0x1DC9, 57816 }, + { 0x1DCA, 7102 }, + { 0x1DCB, 32532 }, + { 0x1DCC, 115867 }, + { 0x1DCD, 7146 }, + { 0x1DCE, 114956 }, + { 0x1DCF, 114945 }, + { 0x1DD0, 64461 }, + { 0x1DD1, 36295 }, + { 0x1DD2, 7104 }, + { 0x1DD3, 36290 }, + { 0x1DD4, 57155 }, + { 0x1DD5, 4072 }, + { 0x1DD6, 103693 }, + { 0x1DD7, 115049 }, + { 0x1DD8, 103689 }, + { 0x1DD9, 103182 }, + { 0x1DDA, 115046 }, + { 0x1DDB, 114959 }, + { 0x1DDC, 23187 }, + { 0x1DDD, 19457 }, + { 0x1DDE, 46285 }, + { 0x1DDF, 14617 }, + { 0x1DE0, 14623 }, + { 0x1DE1, 105537 }, + { 0x1DE2, 98561 }, + { 0x1DE3, 105575 }, + { 0x1DE4, 14914 }, + { 0x1DE5, 19497 }, + { 0x1DE6, 19700 }, + { 0x1DE7, 83223 }, + { 0x1DE8, 104640 }, + { 0x1DE9, 7099 }, + { 0x1DEA, 99512 }, + { 0x1DEB, 7136 }, + { 0x1DEC, 86231 }, + { 0x1DED, 100279 }, + { 0x1DEE, 109797 }, + { 0x1DEF, 100343 }, + { 0x1DF0, 109861 }, + { 0x1DF1, 100333 }, + { 0x1DF2, 109851 }, + { 0x1DF3, 14164 }, + { 0x1DF4, 14166 }, + { 0x1DF5, 58331 }, + { 0x1DF6, 7141 }, + { 0x1DF7, 7139 }, + { 0x1DF8, 7144 }, + { 0x1DF9, 64433 }, + { 0x1DFA, 64447 }, + { 0x1DFB, 100313 }, + { 0x1DFC, 109834 }, + { 0x1DFD, 64438 }, + { 0x1DFE, 64456 }, + { 0x1DFF, 100320 }, + { 0x1E00, 109831 }, + { 0x1E01, 64443 }, + { 0x1E02, 64452 }, + { 0x1E03, 85799 }, + { 0x1E04, 86234 }, + { 0x1E05, 85800 }, + { 0x1E06, 86235 }, + { 0x1E07, 85804 }, + { 0x1E08, 86239 }, + { 0x1E09, 12475 }, + { 0x1E0A, 12483 }, + { 0x1E0B, 54449 }, + { 0x1E0C, 86282 }, + { 0x1E0D, 7080 }, + { 0x1E0E, 7084 }, + { 0x1E0F, 54451 }, + { 0x1E10, 86284 }, + { 0x1E11, 64419 }, + { 0x1E12, 64426 }, + { 0x1E13, 54464 }, + { 0x1E14, 86297 }, + { 0x1E15, 84982 }, + { 0x1E16, 84985 }, + { 0x1E17, 84983 }, + { 0x1E18, 54277 }, + { 0x1E19, 54397 }, + { 0x1E1A, 54287 }, + { 0x1E1B, 54407 }, + { 0x1E1C, 54056 }, + { 0x1E1D, 54058 }, + { 0x1E1E, 59135 }, + { 0x1E1F, 59438 }, + { 0x1E20, 59440 }, + { 0x1E21, 59787 }, + { 0x1E22, 59121 }, + { 0x1E23, 59137 }, + { 0x1E24, 59778 }, + { 0x1E25, 59450 }, + { 0x1E26, 59127 }, + { 0x1E27, 66894 }, + { 0x1E28, 67034 }, + { 0x1E29, 67049 }, + { 0x1E2A, 66852 }, + { 0x1E2B, 33566 }, + { 0x1E2C, 12827 }, + { 0x1E2D, 12500 }, + { 0x1E2E, 376 }, + { 0x1E2F, 88689 }, + { 0x1E30, 52772 }, + { 0x1E31, 15270 }, + { 0x1E32, 46324 }, + { 0x1E33, 57175 }, + { 0x1E34, 46195 }, + { 0x1E35, 12443 }, + { 0x1E36, 7094 }, + { 0x1E37, 12440 }, + { 0x1E38, 64412 }, + { 0x1E39, 85844 }, + { 0x1E3A, 86279 }, + { 0x1E3B, 52791 }, + { 0x1E3C, 73150 }, + { 0x1E3D, 52794 }, + { 0x1E3E, 73154 }, + { 0x1E3F, 85387 }, + { 0x1E40, 23185 }, + { 0x1E41, 84978 }, + { 0x1E42, 99504 }, + { 0x1E43, 106174 }, + { 0x1E44, 11841 }, + { 0x1E45, 14172 }, + { 0x1E46, 7079 }, + { 0x1E47, 33573 }, + { 0x1E48, 33792 }, + { 0x1E49, 32603 }, + { 0x1E4A, 32600 }, + { 0x1E4B, 32612 }, + { 0x1E4C, 32564 }, + { 0x1E4D, 60705 }, + { 0x1E4E, 5904 }, + { 0x1E4F, 14916 }, + { 0x1E50, 75221 }, + { 0x1E51, 43991 }, + { 0x1E52, 13011 }, + { 0x1E53, 33699 }, + { 0x1E54, 13111 }, + { 0x1E55, 33808 }, + { 0x1E56, 86083 }, + { 0x1E57, 19485 }, + { 0x1E58, 19488 }, + { 0x1E59, 46116 }, + { 0x1E5A, 46179 }, + { 0x1E5B, 46210 }, + { 0x1E5C, 46089 }, + { 0x1E5D, 101756 }, + { 0x1E5E, 19720 }, + { 0x1E5F, 100349 }, + { 0x1E60, 109867 }, + { 0x1E61, 15277 }, + { 0x1E62, 15280 }, + { 0x1E63, 100396 }, + { 0x1E64, 109914 }, + { 0x1E65, 19712 }, + { 0x1E66, 19716 }, + { 0x1E67, 19704 }, + { 0x1E68, 19708 }, + { 0x1E69, 12478 }, + { 0x1E6A, 12486 }, + { 0x1E6B, 7119 }, + { 0x1E6C, 7126 }, + { 0x1E6D, 54280 }, + { 0x1E6E, 54400 }, + { 0x1E6F, 100338 }, + { 0x1E70, 109856 }, + { 0x1E71, 85808 }, + { 0x1E72, 86243 }, + { 0x1E73, 7108 }, + { 0x1E74, 12461 }, + { 0x1E75, 7112 }, + { 0x1E76, 12467 }, + { 0x1E77, 86905 }, + { 0x1E78, 62341 }, + { 0x1E79, 387 }, + { 0x1E7A, 12507 }, + { 0x1E7B, 61024 }, + { 0x1E7C, 61038 }, + { 0x1E7D, 34508 }, + { 0x1E7E, 61013 }, + { 0x1E7F, 61030 }, + { 0x1E80, 34503 }, + { 0x1E81, 61034 }, + { 0x1E82, 61018 }, + { 0x1E83, 73161 }, + { 0x1E84, 73169 }, + { 0x1E85, 34537 }, + { 0x1E86, 73166 }, + { 0x1E87, 34533 }, + { 0x1E88, 12 }, + { 0x1E89, 75213 }, + { 0x1E8A, 79021 }, + { 0x1E8B, 23177 }, + { 0x1E8C, 391 }, + { 0x1E8D, 12511 }, + { 0x1E8E, 104635 }, + { 0x1E8F, 106223 }, + { 0x1E90, 15343 }, + { 0x1E91, 13073 }, + { 0x1E92, 33761 }, + { 0x1E93, 12877 }, + { 0x1E94, 33642 }, + { 0x1E95, 43965 }, + { 0x1E96, 43952 }, + { 0x1E97, 10861 }, + { 0x1E98, 10843 }, + { 0x1E99, 86059 }, + { 0x1E9A, 54368 }, + { 0x1E9B, 4442 }, + { 0x1E9C, 65238 }, + { 0x1E9D, 53783 }, + { 0x1E9E, 102374 }, + { 0x1E9F, 85797 }, + { 0x1EA0, 86911 }, + { 0x1EA1, 33511 }, + { 0x1EA2, 57211 }, + { 0x1EA3, 35586 }, + { 0x1EA4, 99507 }, + { 0x1EA5, 10850 }, + { 0x1EA6, 10868 }, + { 0x1EA7, 43959 }, + { 0x1EA8, 43972 }, + { 0x1EA9, 10840 }, + { 0x1EAA, 43949 }, + { 0x1EAB, 19773 }, + { 0x1EAC, 34573 }, + { 0x1EAD, 399 }, + { 0x1EAE, 52854 }, + { 0x1EAF, 19728 }, + { 0x1EB0, 7 }, + { 0x1EB1, 83091 }, + { 0x1EB2, 115284 }, + { 0x1EB3, 115909 }, + { 0x1EB4, 19724 }, + { 0x1EB5, 58325 }, + { 0x1EB6, 109761 }, + { 0x1EB7, 4075 }, + { 0x1EB8, 86362 }, + { 0x1EB9, 35292 }, + { 0x1EBA, 98267 }, + { 0x1EBB, 60130 }, + { 0x1EBC, 34367 }, + { 0x1EBD, 105539 }, + { 0x1EBE, 105540 }, + { 0x1EBF, 4388 }, + { 0x1EC0, 4392 }, + { 0x1EC1, 4222 }, + { 0x1EC2, 4237 }, + { 0x1EC3, 4242 }, + { 0x1EC4, 4195 }, + { 0x1EC5, 4232 }, + { 0x1EC6, 4368 }, + { 0x1EC7, 4358 }, + { 0x1EC8, 4339 }, + { 0x1EC9, 4412 }, + { 0x1ECA, 4227 }, + { 0x1ECB, 4258 }, + { 0x1ECC, 4275 }, + { 0x1ECD, 4286 }, + { 0x1ECE, 4422 }, + { 0x1ECF, 4432 }, + { 0x1ED0, 4269 }, + { 0x1ED1, 4280 }, + { 0x1ED2, 4378 }, + { 0x1ED3, 4153 }, + { 0x1ED4, 4310 }, + { 0x1ED5, 4206 }, + { 0x1ED6, 4217 }, + { 0x1ED7, 4147 }, + { 0x1ED8, 4407 }, + { 0x1ED9, 4247 }, + { 0x1EDA, 4094 }, + { 0x1EDB, 4112 }, + { 0x1EDC, 4184 }, + { 0x1EDD, 4190 }, + { 0x1EDE, 4088 }, + { 0x1EDF, 4417 }, + { 0x1EE0, 4263 }, + { 0x1EE1, 4334 }, + { 0x1EE2, 4315 }, + { 0x1EE3, 4397 }, + { 0x1EE4, 4127 }, + { 0x1EE5, 4373 }, + { 0x1EE6, 4082 }, + { 0x1EE7, 4329 }, + { 0x1EE8, 4363 }, + { 0x1EE9, 4212 }, + { 0x1EEA, 4100 }, + { 0x1EEB, 4122 }, + { 0x1EEC, 4291 }, + { 0x1EED, 4132 }, + { 0x1EEE, 4383 }, + { 0x1EEF, 4141 }, + { 0x1EF0, 4174 }, + { 0x1EF1, 4349 }, + { 0x1EF2, 4437 }, + { 0x1EF3, 4305 }, + { 0x1EF4, 4117 }, + { 0x1EF5, 4354 }, + { 0x1EF6, 4344 }, + { 0x1EF7, 4427 }, + { 0x1EF8, 4200 }, + { 0x1EF9, 4253 }, + { 0x1EFA, 4159 }, + { 0x1EFB, 4106 }, + { 0x1EFC, 4165 }, + { 0x1EFD, 4137 }, + { 0x1EFE, 4320 }, + { 0x1EFF, 4300 }, + { 0x1F00, 4402 }, + { 0x1F01, 4169 }, + { 0x1F02, 4324 }, + { 0x1F03, 4296 }, + { 0x1F04, 7096 }, + { 0x1F05, 33577 }, + { 0x1F06, 105482 }, + { 0x1F07, 12072 }, + { 0x1F08, 86884 }, + { 0x1F09, 99526 }, + { 0x1F0A, 103206 }, + { 0x1F0B, 114966 }, + { 0x1F0C, 79029 }, + { 0x1F0D, 105531 }, + { 0x1F0E, 35857 }, + { 0x1F0F, 19698 }, + { 0x1F10, 105507 }, + { 0x1F11, 12721 }, + { 0x1F12, 60106 }, + { 0x1F13, 59933 }, + { 0x1F14, 44369 }, + { 0x1F15, 15271 }, + { 0x1F16, 104530 }, + { 0x1F17, 104151 }, + { 0x1F18, 115971 }, + { 0x1F19, 115974 }, + { 0x1F1A, 115979 }, + { 0x1F1B, 115977 }, + { 0x1F1C, 45721 }, + { 0x1F1D, 115964 }, + { 0x1F1E, 4180 }, + { 0x1F1F, 60325 }, + { 0x1F20, 85849 }, + { 0x1F21, 14470 }, + { 0x1F22, 33531 }, + { 0x1F23, 19350 }, + { 0x1F24, 13120 }, + { 0x1F25, 13124 }, + { 0x1F26, 13116 }, + { 0x1F27, 33817 }, + { 0x1F28, 33821 }, + { 0x1F29, 33813 }, + { 0x1F2A, 13061 }, + { 0x1F2B, 13066 }, + { 0x1F2C, 13056 }, + { 0x1F2D, 33749 }, + { 0x1F2E, 33754 }, + { 0x1F2F, 33744 }, + { 0x1F30, 12867 }, + { 0x1F31, 12872 }, + { 0x1F32, 12862 }, + { 0x1F33, 19482 }, + { 0x1F34, 33632 }, + { 0x1F35, 33637 }, + { 0x1F36, 33627 }, + { 0x1F37, 82371 }, + { 0x1F38, 104120 }, + { 0x1F39, 35340 }, + { 0x1F3A, 35364 }, + { 0x1F3B, 102106 }, + { 0x1F3C, 102111 }, + { 0x1F3D, 10871 }, + { 0x1F3E, 43975 }, + { 0x1F3F, 43978 }, + { 0x1F40, 65150 }, + { 0x1F41, 13107 }, + { 0x1F42, 33804 }, + { 0x1F43, 104128 }, + { 0x1F44, 104131 }, + { 0x1F45, 104134 }, + { 0x1F46, 104137 }, + { 0x1F47, 98227 }, + { 0x1F48, 98247 }, + { 0x1F49, 98254 }, + { 0x1F4A, 98204 }, + { 0x1F4B, 98174 }, + { 0x1F4C, 98260 }, + { 0x1F4D, 98212 }, + { 0x1F4E, 98182 }, + { 0x1F4F, 98234 }, + { 0x1F50, 98196 }, + { 0x1F51, 98166 }, + { 0x1F52, 98190 }, + { 0x1F53, 98160 }, + { 0x1F54, 98220 }, + { 0x1F55, 98240 }, + { 0x1F56, 54129 }, + { 0x1F57, 53680 }, + { 0x1F58, 19638 }, + { 0x1F59, 86889 }, + { 0x1F5A, 83896 }, + { 0x1F5B, 83892 }, + { 0x1F5C, 83898 }, + { 0x1F5D, 83887 }, + { 0x1F5E, 83878 }, + { 0x1F5F, 83883 }, + { 0x1F60, 83902 }, + { 0x1F61, 83906 }, + { 0x1F62, 83904 }, + { 0x1F63, 19611 }, + { 0x1F64, 12691 }, + { 0x1F65, 10878 }, + { 0x1F66, 43989 }, + { 0x1F67, 10858 }, + { 0x1F68, 43962 }, + { 0x1F69, 10874 }, + { 0x1F6A, 43985 }, + { 0x1F6B, 36000 }, + { 0x1F6C, 58327 }, + { 0x1F6D, 114883 }, + { 0x1F6E, 80610 }, + { 0x1F6F, 67 }, + { 0x1F70, 103691 }, + { 0x1F71, 60322 }, + { 0x1F72, 19220 }, + { 0x1F73, 19192 }, + { 0x1F74, 19160 }, + { 0x1F75, 19176 }, + { 0x1F76, 19224 }, + { 0x1F77, 19196 }, + { 0x1F78, 19240 }, + { 0x1F79, 15714 }, + { 0x1F7A, 102071 }, + { 0x1F7B, 35276 }, + { 0x1F7C, 99508 }, + { 0x1F7D, 19007 }, + { 0x1F7E, 19016 }, + { 0x1F7F, 18989 }, + { 0x1F80, 18998 }, + { 0x1F81, 46181 }, + { 0x1F82, 19030 }, + { 0x1F83, 18897 }, + { 0x1F84, 33528 }, + { 0x1F85, 33525 }, + { 0x1F86, 33519 }, + { 0x1F87, 33522 }, + { 0x1F88, 54741 }, + { 0x1F89, 54772 }, + { 0x1F8A, 54767 }, + { 0x1F8B, 54700 }, + { 0x1F8C, 54710 }, + { 0x1F8D, 54815 }, + { 0x1F8E, 54852 }, + { 0x1F8F, 54721 }, + { 0x1F90, 54833 }, + { 0x1F91, 54840 }, + { 0x1F92, 54737 }, + { 0x1F93, 54829 }, + { 0x1F94, 54733 }, + { 0x1F95, 54821 }, + { 0x1F96, 54760 }, + { 0x1F97, 54756 }, + { 0x1F98, 54724 }, + { 0x1F99, 54788 }, + { 0x1F9A, 54793 }, + { 0x1F9B, 54803 }, + { 0x1F9C, 54798 }, + { 0x1F9D, 54825 }, + { 0x1F9E, 54855 }, + { 0x1F9F, 54715 }, + { 0x1FA0, 54777 }, + { 0x1FA1, 54705 }, + { 0x1FA2, 54844 }, + { 0x1FA3, 54808 }, + { 0x1FA4, 54729 }, + { 0x1FA5, 54748 }, + { 0x1FA6, 54811 }, + { 0x1FA7, 54744 }, + { 0x1FA8, 54764 }, + { 0x1FA9, 54780 }, + { 0x1FAA, 19252 }, + { 0x1FAB, 14479 }, + { 0x1FAC, 54818 }, + { 0x1FAD, 54783 }, + { 0x1FAE, 54847 }, + { 0x1FAF, 7163 }, + { 0x1FB0, 7165 }, + { 0x1FB1, 7161 }, + { 0x1FB2, 7182 }, + { 0x1FB3, 7156 }, + { 0x1FB4, 7153 }, + { 0x1FB5, 7171 }, + { 0x1FB6, 7167 }, + { 0x1FB7, 7159 }, + { 0x1FB8, 7178 }, + { 0x1FB9, 7175 }, + { 0x1FBA, 59143 }, + { 0x1FBB, 59149 }, + { 0x1FBC, 59170 }, + { 0x1FBD, 59155 }, + { 0x1FBE, 59152 }, + { 0x1FBF, 59146 }, + { 0x1FC0, 59167 }, + { 0x1FC1, 59164 }, + { 0x1FC2, 59158 }, + { 0x1FC3, 59574 }, + { 0x1FC4, 59649 }, + { 0x1FC5, 59697 }, + { 0x1FC6, 59766 }, + { 0x1FC7, 59760 }, + { 0x1FC8, 59745 }, + { 0x1FC9, 59754 }, + { 0x1FCA, 59769 }, + { 0x1FCB, 59757 }, + { 0x1FCC, 59763 }, + { 0x1FCD, 59700 }, + { 0x1FCE, 115312 }, + { 0x1FCF, 115318 }, + { 0x1FD0, 115336 }, + { 0x1FD1, 115324 }, + { 0x1FD2, 115321 }, + { 0x1FD3, 115315 }, + { 0x1FD4, 115333 }, + { 0x1FD5, 115330 }, + { 0x1FD6, 115327 }, + { 0x1FD7, 115710 }, + { 0x1FD8, 115713 }, + { 0x1FD9, 115716 }, + { 0x1FDA, 115737 }, + { 0x1FDB, 115731 }, + { 0x1FDC, 115722 }, + { 0x1FDD, 115725 }, + { 0x1FDE, 115740 }, + { 0x1FDF, 115728 }, + { 0x1FE0, 115734 }, + { 0x1FE1, 115719 }, + { 0x1FE2, 19502 }, + { 0x1FE3, 19520 }, + { 0x1FE4, 19583 }, + { 0x1FE5, 19538 }, + { 0x1FE6, 19529 }, + { 0x1FE7, 19511 }, + { 0x1FE8, 19574 }, + { 0x1FE9, 19565 }, + { 0x1FEA, 19547 }, + { 0x1FEB, 52800 }, + { 0x1FEC, 52806 }, + { 0x1FED, 52810 }, + { 0x1FEE, 52838 }, + { 0x1FEF, 52830 }, + { 0x1FF0, 52818 }, + { 0x1FF1, 52822 }, + { 0x1FF2, 52842 }, + { 0x1FF3, 52826 }, + { 0x1FF4, 52834 }, + { 0x1FF5, 52814 }, + { 0x1FF6, 115339 }, + { 0x1FF7, 115344 }, + { 0x1FF8, 115349 }, + { 0x1FF9, 115354 }, + { 0x1FFA, 115359 }, + { 0x1FFB, 115364 }, + { 0x1FFC, 115369 }, + { 0x1FFD, 115374 }, + { 0x1FFE, 115379 }, + { 0x1FFF, 115384 }, + { 0x2000, 115389 }, + { 0x2001, 115394 }, + { 0x2002, 115399 }, + { 0x2003, 115404 }, + { 0x2004, 115409 }, + { 0x2005, 115414 }, + { 0x2006, 115419 }, + { 0x2007, 115424 }, + { 0x2008, 115429 }, + { 0x2009, 115434 }, + { 0x200A, 115439 }, + { 0x200B, 115444 }, + { 0x200C, 115449 }, + { 0x200D, 115454 }, + { 0x200E, 115459 }, + { 0x200F, 115464 }, + { 0x2010, 59308 }, + { 0x2011, 59313 }, + { 0x2012, 59318 }, + { 0x2013, 59323 }, + { 0x2014, 59328 }, + { 0x2015, 59333 }, + { 0x2016, 59338 }, + { 0x2017, 59343 }, + { 0x2018, 59348 }, + { 0x2019, 59353 }, + { 0x201A, 59358 }, + { 0x201B, 59363 }, + { 0x201C, 59368 }, + { 0x201D, 59373 }, + { 0x201E, 59378 }, + { 0x201F, 59383 }, + { 0x2020, 59388 }, + { 0x2021, 59393 }, + { 0x2022, 59398 }, + { 0x2023, 59403 }, + { 0x2024, 59408 }, + { 0x2025, 59413 }, + { 0x2026, 59418 }, + { 0x2027, 59423 }, + { 0x2028, 59428 }, + { 0x2029, 59433 }, + { 0x202A, 59178 }, + { 0x202B, 59183 }, + { 0x202C, 59188 }, + { 0x202D, 59193 }, + { 0x202E, 59198 }, + { 0x202F, 59203 }, + { 0x2030, 59208 }, + { 0x2031, 59213 }, + { 0x2032, 59218 }, + { 0x2033, 59223 }, + { 0x2034, 59228 }, + { 0x2035, 59233 }, + { 0x2036, 59238 }, + { 0x2037, 59243 }, + { 0x2038, 59248 }, + { 0x2039, 59253 }, + { 0x203A, 59258 }, + { 0x203B, 59263 }, + { 0x203C, 59268 }, + { 0x203D, 59273 }, + { 0x203E, 59278 }, + { 0x203F, 59283 }, + { 0x2040, 59288 }, + { 0x2041, 59293 }, + { 0x2042, 59298 }, + { 0x2043, 59303 }, + { 0x2044, 59161 }, + { 0x2045, 85153 }, + { 0x2046, 85157 }, + { 0x2047, 85185 }, + { 0x2048, 85177 }, + { 0x2049, 85165 }, + { 0x204A, 85169 }, + { 0x204B, 85189 }, + { 0x204C, 85173 }, + { 0x204D, 85181 }, + { 0x204E, 85161 }, + { 0x204F, 46118 }, + { 0x2050, 46126 }, + { 0x2051, 46150 }, + { 0x2052, 46134 }, + { 0x2053, 46130 }, + { 0x2054, 46122 }, + { 0x2055, 46146 }, + { 0x2056, 46142 }, + { 0x2057, 46138 }, + { 0x2058, 46154 }, + { 0x2059, 84993 }, + { 0x205A, 5091 }, + { 0x205B, 4912 }, + { 0x205C, 5057 }, + { 0x205D, 4878 }, + { 0x205E, 5028 }, + { 0x205F, 4872 }, + { 0x2060, 5022 }, + { 0x2061, 4866 }, + { 0x2062, 5085 }, + { 0x2063, 4906 }, + { 0x2064, 5079 }, + { 0x2065, 4900 }, + { 0x2066, 4983 }, + { 0x2067, 4666 }, + { 0x2068, 4621 }, + { 0x2069, 4827 }, + { 0x206A, 4977 }, + { 0x206B, 4651 }, + { 0x206C, 4606 }, + { 0x206D, 4821 }, + { 0x206E, 4933 }, + { 0x206F, 4534 }, + { 0x2070, 4489 }, + { 0x2071, 4805 }, + { 0x2072, 4920 }, + { 0x2073, 4519 }, + { 0x2074, 4474 }, + { 0x2075, 4792 }, + { 0x2076, 5067 }, + { 0x2077, 5251 }, + { 0x2078, 4481 }, + { 0x2079, 4613 }, + { 0x207A, 5230 }, + { 0x207B, 4658 }, + { 0x207C, 4526 }, + { 0x207D, 4888 }, + { 0x207E, 5061 }, + { 0x207F, 5244 }, + { 0x2080, 4466 }, + { 0x2081, 4598 }, + { 0x2082, 5223 }, + { 0x2083, 4643 }, + { 0x2084, 4511 }, + { 0x2085, 4882 }, + { 0x2086, 4989 }, + { 0x2087, 4748 }, + { 0x2088, 5121 }, + { 0x2089, 4673 }, + { 0x208A, 4628 }, + { 0x208B, 5145 }, + { 0x208C, 4772 }, + { 0x208D, 4833 }, + { 0x208E, 4939 }, + { 0x208F, 4740 }, + { 0x2090, 5113 }, + { 0x2091, 4541 }, + { 0x2092, 4496 }, + { 0x2093, 5137 }, + { 0x2094, 4764 }, + { 0x2095, 4811 }, + { 0x2096, 5073 }, + { 0x2097, 4756 }, + { 0x2098, 5129 }, + { 0x2099, 5258 }, + { 0x209A, 4458 }, + { 0x209B, 4590 }, + { 0x209C, 5237 }, + { 0x209D, 4722 }, + { 0x209E, 5095 }, + { 0x209F, 4731 }, + { 0x20A0, 5104 }, + { 0x20A1, 4635 }, + { 0x20A2, 4503 }, + { 0x20A3, 5153 }, + { 0x20A4, 4780 }, + { 0x20A5, 4894 }, + { 0x20A6, 5016 }, + { 0x20A7, 4860 }, + { 0x20A8, 5010 }, + { 0x20A9, 4854 }, + { 0x20AA, 5219 }, + { 0x20AB, 5197 }, + { 0x20AC, 4708 }, + { 0x20AD, 4687 }, + { 0x20AE, 5185 }, + { 0x20AF, 4701 }, + { 0x20B0, 4680 }, + { 0x20B1, 5179 }, + { 0x20B2, 4576 }, + { 0x20B3, 4555 }, + { 0x20B4, 5167 }, + { 0x20B5, 4569 }, + { 0x20B6, 4548 }, + { 0x20B7, 5161 }, + { 0x20B8, 5293 }, + { 0x20B9, 5272 }, + { 0x20BA, 5207 }, + { 0x20BB, 5286 }, + { 0x20BC, 5265 }, + { 0x20BD, 5201 }, + { 0x20BE, 4715 }, + { 0x20BF, 4694 }, + { 0x20C0, 5191 }, + { 0x20C1, 4583 }, + { 0x20C2, 4562 }, + { 0x20C3, 5173 }, + { 0x20C4, 5300 }, + { 0x20C5, 5279 }, + { 0x20C6, 5213 }, + { 0x20C7, 4966 }, + { 0x20C8, 4959 }, + { 0x20C9, 4945 }, + { 0x20CA, 4952 }, + { 0x20CB, 5048 }, + { 0x20CC, 5039 }, + { 0x20CD, 5034 }, + { 0x20CE, 4995 }, + { 0x20CF, 4916 }, + { 0x20D0, 5006 }, + { 0x20D1, 4973 }, + { 0x20D2, 4839 }, + { 0x20D3, 4788 }, + { 0x20D4, 4850 }, + { 0x20D5, 4817 }, + { 0x20D6, 4999 }, + { 0x20D7, 4926 }, + { 0x20D8, 4843 }, + { 0x20D9, 4798 }, + { 0x20DA, 35329 }, + { 0x20DB, 31324 }, + { 0x20DC, 31328 }, + { 0x20DD, 31420 }, + { 0x20DE, 31336 }, + { 0x20DF, 31332 }, + { 0x20E0, 31424 }, + { 0x20E1, 31416 }, + { 0x20E2, 12686 }, + { 0x20E3, 12950 }, + { 0x20E4, 12958 }, + { 0x20E5, 12812 }, + { 0x20E6, 12820 }, + { 0x20E7, 12954 }, + { 0x20E8, 12777 }, + { 0x20E9, 12773 }, + { 0x20EA, 33559 }, + { 0x20EB, 31076 }, + { 0x20EC, 52372 }, + { 0x20ED, 12429 }, + { 0x20EE, 35325 }, + { 0x20EF, 33548 }, + { 0x20F0, 85854 }, + { 0x20F1, 85857 }, + { 0x20F2, 85860 }, + { 0x20F3, 85863 }, + { 0x20F4, 85872 }, + { 0x20F5, 85878 }, + { 0x20F6, 85887 }, + { 0x20F7, 85896 }, + { 0x20F8, 85899 }, + { 0x20F9, 85905 }, + { 0x20FA, 19028 }, + { 0x20FB, 35831 }, + { 0x20FC, 35863 }, + { 0x20FD, 35894 }, + { 0x20FE, 54246 }, + { 0x20FF, 54238 }, + { 0x2100, 54250 }, + { 0x2101, 54198 }, + { 0x2102, 54213 }, + { 0x2103, 54233 }, + { 0x2104, 18867 }, + { 0x2105, 35752 }, + { 0x2106, 19129 }, + { 0x2107, 35993 }, + { 0x2108, 19113 }, + { 0x2109, 35988 }, + { 0x210A, 19214 }, + { 0x210B, 36053 }, + { 0x210C, 19164 }, + { 0x210D, 36013 }, + { 0x210E, 19156 }, + { 0x210F, 36009 }, + { 0x2110, 19237 }, + { 0x2111, 36065 }, + { 0x2112, 19216 }, + { 0x2113, 36055 }, + { 0x2114, 19231 }, + { 0x2115, 36059 }, + { 0x2116, 19180 }, + { 0x2117, 36040 }, + { 0x2118, 19172 }, + { 0x2119, 36036 }, + { 0x211A, 19206 }, + { 0x211B, 36050 }, + { 0x211C, 19188 }, + { 0x211D, 36043 }, + { 0x211E, 19203 }, + { 0x211F, 36047 }, + { 0x2120, 19040 }, + { 0x2121, 35906 }, + { 0x2122, 35927 }, + { 0x2123, 61078 }, + { 0x2124, 61808 }, + { 0x2125, 35763 }, + { 0x2126, 46034 }, + { 0x2127, 44805 }, + { 0x2128, 69955 }, + { 0x2129, 18895 }, + { 0x212A, 44772 }, + { 0x212B, 44782 }, + { 0x212C, 44777 }, + { 0x212D, 44794 }, + { 0x212E, 44799 }, + { 0x212F, 44756 }, + { 0x2130, 12816 }, + { 0x2131, 33555 }, + { 0x2132, 61426 }, + { 0x2133, 61423 }, + { 0x2134, 35335 }, + { 0x2135, 31342 }, + { 0x2136, 35353 }, + { 0x2137, 35375 }, + { 0x2138, 31388 }, + { 0x2139, 31357 }, + { 0x213A, 35332 }, + { 0x213B, 31339 }, + { 0x213C, 18844 }, + { 0x213D, 18840 }, + { 0x213E, 18881 }, + { 0x213F, 18885 }, + { 0x2140, 35761 }, + { 0x2141, 54174 }, + { 0x2142, 54193 }, + { 0x2143, 54206 }, + { 0x2144, 54186 }, + { 0x2145, 35868 }, + { 0x2146, 36016 }, + { 0x2147, 109449 }, + { 0x2148, 109455 }, + { 0x2149, 23997 }, + { 0x214A, 35845 }, + { 0x214B, 35833 }, + { 0x214C, 35839 }, + { 0x214D, 35851 }, + { 0x214E, 35792 }, + { 0x214F, 35780 }, + { 0x2150, 35786 }, + { 0x2151, 35798 }, + { 0x2152, 35358 }, + { 0x2153, 35390 }, + { 0x2154, 31362 }, + { 0x2155, 35819 }, + { 0x2156, 18980 }, + { 0x2157, 35815 }, + { 0x2158, 18968 }, + { 0x2159, 31403 }, + { 0x215A, 18745 }, + { 0x215B, 19439 }, + { 0x215C, 86799 }, + { 0x215D, 66629 }, + { 0x215E, 19459 }, + { 0x215F, 18784 }, + { 0x2160, 35689 }, + { 0x2161, 100412 }, + { 0x2162, 114886 }, + { 0x2163, 9324 }, + { 0x2164, 88687 }, + { 0x2165, 103211 }, + { 0x2166, 105534 }, + { 0x2167, 104533 }, + { 0x2168, 19131 }, + { 0x2169, 35995 }, + { 0x216A, 43877 }, + { 0x216B, 43894 }, + { 0x216C, 43879 }, + { 0x216D, 65233 }, + { 0x216E, 86803 }, + { 0x216F, 5942 }, + { 0x2170, 35746 }, + { 0x2171, 18857 }, + { 0x2172, 86153 }, + { 0x2173, 86122 }, + { 0x2174, 18772 }, + { 0x2175, 18848 }, + { 0x2176, 35680 }, + { 0x2177, 35604 }, + { 0x2178, 35737 }, + { 0x2179, 35645 }, + { 0x217A, 34361 }, + { 0x217B, 59109 }, + { 0x217C, 106226 }, + { 0x217D, 89009 }, + { 0x217E, 69956 }, + { 0x217F, 12041 }, + { 0x2180, 85389 }, + { 0x2181, 5329 }, + { 0x2182, 19464 }, + { 0x2183, 19467 }, + { 0x2184, 14911 }, + { 0x2185, 19734 }, + { 0x2186, 4070 }, + { 0x2187, 46429 }, + { 0x2188, 33505 }, + { 0x2189, 11844 }, + { 0x218A, 68388 }, + { 0x218B, 68376 }, + { 0x218C, 68373 }, + { 0x218D, 68391 }, + { 0x218E, 68379 }, + { 0x218F, 68385 }, + { 0x2190, 68394 }, + { 0x2191, 68382 }, + { 0x2192, 35601 }, + { 0x2193, 35965 }, + { 0x2194, 35949 }, + { 0x2195, 19072 }, + { 0x2196, 35617 }, + { 0x2197, 19748 }, + { 0x2198, 12740 }, + { 0x2199, 62340 }, + { 0x219A, 46293 }, + { 0x219B, 19601 }, + { 0x219C, 13401 }, + { 0x219D, 61430 }, + { 0x219E, 53730 }, + { 0x219F, 57291 }, + { 0x21A0, 64467 }, + { 0x21A1, 33515 }, + { 0x21A2, 15730 }, + { 0x21A3, 56635 }, + { 0x21A4, 46334 }, + { 0x21A5, 44384 }, + { 0x21A6, 6210 }, + { 0x21A7, 35585 }, + { 0x21A8, 31028 }, + { 0x21A9, 86141 }, + { 0x21AA, 106230 }, + { 0x21AB, 90266 }, + { 0x21AC, 68762 }, + { 0x21AD, 53470 }, + { 0x21AE, 35706 }, + { 0x21AF, 35715 }, + { 0x21B0, 35712 }, + { 0x21B1, 35718 }, + { 0x21B2, 35721 }, + { 0x21B3, 35709 }, + { 0x21B4, 18807 }, + { 0x21B5, 18816 }, + { 0x21B6, 18813 }, + { 0x21B7, 18819 }, + { 0x21B8, 18822 }, + { 0x21B9, 18810 }, + { 0x21BA, 18876 }, + { 0x21BB, 35724 }, + { 0x21BC, 35912 }, + { 0x21BD, 18749 }, + { 0x21BE, 35758 }, + { 0x21BF, 18831 }, + { 0x21C0, 19042 }, + { 0x21C1, 35636 }, + { 0x21C2, 5940 }, + { 0x21C3, 65148 }, + { 0x21C4, 46225 }, + { 0x21C5, 43922 }, + { 0x21C6, 43929 }, + { 0x21C7, 32552 }, + { 0x21C8, 32558 }, + { 0x21C9, 32555 }, + { 0x21CA, 15347 }, + { 0x21CB, 12517 }, + { 0x21CC, 102639 }, + { 0x21CD, 101768 }, + { 0x21CE, 101773 }, + { 0x21CF, 101778 }, + { 0x21D0, 101783 }, + { 0x21D1, 101788 }, + { 0x21D2, 101793 }, + { 0x21D3, 101798 }, + { 0x21D4, 101803 }, + { 0x21D5, 19136 }, + { 0x21D6, 85920 }, + { 0x21D7, 115968 }, + { 0x21D8, 101752 }, + { 0x21D9, 105505 }, + { 0x21DA, 5883 }, + { 0x21DB, 5885 }, + { 0x21DC, 5887 }, + { 0x21DD, 5889 }, + { 0x21DE, 5891 }, + { 0x21DF, 5893 }, + { 0x21E0, 35765 }, + { 0x21E1, 35770 }, + { 0x21E2, 18912 }, + { 0x21E3, 18901 }, + { 0x21E4, 84963 }, + { 0x21E5, 84960 }, + { 0x21E6, 45711 }, + { 0x21E7, 45691 }, + { 0x21E8, 45695 }, + { 0x21E9, 45707 }, + { 0x21EA, 35654 }, + { 0x21EB, 18757 }, + { 0x21EC, 46426 }, + { 0x21ED, 36304 }, + { 0x21EE, 60143 }, + { 0x21EF, 34720 }, + { 0x21F0, 53731 }, + { 0x21F1, 57826 }, + { 0x21F2, 46314 }, + { 0x21F3, 12697 }, + { 0x21F4, 34717 }, + { 0x21F5, 12042 }, + { 0x21F6, 109788 }, + { 0x21F7, 85400 }, + { 0x21F8, 35205 }, + { 0x21F9, 35201 }, + { 0x21FA, 68735 }, + { 0x21FB, 12724 }, + { 0x21FC, 60885 }, + { 0x21FD, 60882 }, + { 0x21FE, 106184 }, + { 0x21FF, 13397 }, + { 0x2200, 13411 }, + { 0x2201, 13403 }, + { 0x2202, 86892 }, + { 0x2203, 104123 }, + { 0x2204, 52388 }, + { 0x2205, 52348 }, + { 0x2206, 52374 }, + { 0x2207, 83220 }, + { 0x2208, 60879 }, + { 0x2209, 102642 }, + { 0x220A, 44878 }, + { 0x220B, 61086 }, + { 0x220C, 52787 }, + { 0x220D, 19332 }, + { 0x220E, 53437 }, + { 0x220F, 12732 }, + { 0x2210, 35580 }, + { 0x2211, 44753 }, + { 0x2212, 18781 }, + { 0x2213, 65241 }, + { 0x2214, 106233 }, + { 0x2215, 85919 }, + { 0x2216, 115924 }, + { 0x2217, 53817 }, + { 0x2218, 69638 }, + { 0x2219, 66857 }, + { 0x221A, 35957 }, + { 0x221B, 35960 }, + { 0x221C, 19086 }, + { 0x221D, 19089 }, + { 0x221E, 66630 }, + { 0x221F, 9328 }, + { 0x2220, 14609 }, + { 0x2221, 19075 }, + { 0x2222, 67198 }, + { 0x2223, 57259 }, + { 0x2224, 57216 }, + { 0x2225, 35908 }, + { 0x2226, 73270 }, + { 0x2227, 75215 }, + { 0x2228, 101648 }, + { 0x2229, 14542 }, + { 0x222A, 5312 }, + { 0x222B, 48405 }, + { 0x222C, 59781 }, + { 0x222D, 44540 }, + { 0x222E, 90 }, + { 0x222F, 86919 }, + { 0x2230, 19077 }, + { 0x2231, 35952 }, + { 0x2232, 18768 }, + { 0x2233, 35676 }, + { 0x2234, 19597 }, + { 0x2235, 22926 }, + { 0x2236, 12986 }, + { 0x2237, 67072 }, + { 0x2238, 61057 }, + { 0x2239, 18879 }, + { 0x223A, 104645 }, + { 0x223B, 104648 }, + { 0x223C, 109736 }, + { 0x223D, 22940 }, + { 0x223E, 101751 }, + { 0x223F, 114872 }, + { 0x2240, 106204 }, + { 0x2241, 82386 }, + { 0x2242, 18825 }, + { 0x2243, 53790 }, + { 0x2244, 44754 }, + { 0x2245, 44534 }, + { 0x2246, 82192 }, + { 0x2247, 12701 }, + { 0x2248, 12698 }, + { 0x2249, 6251 }, + { 0x224A, 84971 }, + { 0x224B, 86800 }, + { 0x224C, 80611 }, + { 0x224D, 12635 }, + { 0x224E, 19736 }, + { 0x224F, 86139 }, + { 0x2250, 54131 }, + { 0x2251, 34359 }, + { 0x2252, 5946 }, + { 0x2253, 53439 }, + { 0x2254, 14924 }, + { 0x2255, 82393 }, + { 0x2256, 99501 }, + { 0x2257, 12675 }, + { 0x2258, 5879 }, + { 0x2259, 35656 }, + { 0x225A, 19025 }, + { 0x225B, 35361 }, + { 0x225C, 19100 }, + { 0x225D, 31377 }, + { 0x225E, 35974 }, + { 0x225F, 35727 }, + { 0x2260, 102365 }, + { 0x2261, 14919 }, + { 0x2262, 68753 }, + { 0x2263, 79031 }, + { 0x2264, 53525 }, + { 0x2265, 53527 }, + { 0x2266, 68732 }, + { 0x2267, 68744 }, + { 0x2268, 31385 }, + { 0x2269, 53438 }, + { 0x226A, 35372 }, + { 0x226B, 35613 }, + { 0x226C, 18743 }, + { 0x226D, 19348 }, + { 0x226E, 22811 }, + { 0x226F, 115875 }, + { 0x2270, 23120 }, + { 0x2271, 43875 }, + { 0x2272, 22930 }, + { 0x2273, 85394 }, + { 0x2274, 22839 }, + { 0x2275, 14495 }, + { 0x2276, 22759 }, + { 0x2277, 24007 }, + { 0x2278, 86146 }, + { 0x2279, 85397 }, + { 0x227A, 62007 }, + { 0x227B, 14908 }, + { 0x227C, 12670 }, + { 0x227D, 12667 }, + { 0x227E, 22755 }, + { 0x227F, 12664 }, + { 0x2280, 18759 }, + { 0x2281, 35667 }, + { 0x2282, 86218 }, + { 0x2283, 54443 }, + { 0x2284, 59442 }, + { 0x2285, 14491 }, + { 0x2286, 18891 }, + { 0x2287, 85391 }, + { 0x2288, 23030 }, + { 0x2289, 85793 }, + { 0x228A, 86143 }, + { 0x228B, 23020 }, + { 0x228C, 14498 }, + { 0x228D, 19613 }, + { 0x228E, 19616 }, + { 0x228F, 19620 }, + { 0x2290, 9306 }, + { 0x2291, 19624 }, + { 0x2292, 22828 }, + { 0x2293, 57285 }, + { 0x2294, 66510 }, + { 0x2295, 115939 }, + { 0x2296, 14501 }, + { 0x2297, 23153 }, + { 0x2298, 9314 }, + { 0x2299, 19092 }, + { 0x229A, 35963 }, + { 0x229B, 19629 }, + { 0x229C, 59129 }, + { 0x229D, 23156 }, + { 0x229E, 102053 }, + { 0x229F, 35238 }, + { 0x22A0, 22997 }, + { 0x22A1, 66637 }, + { 0x22A2, 23005 }, + { 0x22A3, 115870 }, + { 0x22A4, 19634 }, + { 0x22A5, 22834 }, + { 0x22A6, 19470 }, + { 0x22A7, 86150 }, + { 0x22A8, 85208 }, + { 0x22A9, 31411 }, + { 0x22AA, 35393 }, + { 0x22AB, 31398 }, + { 0x22AC, 35385 }, + { 0x22AD, 19096 }, + { 0x22AE, 35970 }, + { 0x22AF, 36005 }, + { 0x22B0, 19050 }, + { 0x22B1, 23086 }, + { 0x22B2, 31093 }, + { 0x22B3, 52396 }, + { 0x22B4, 23034 }, + { 0x22B5, 22980 }, + { 0x22B6, 22974 }, + { 0x22B7, 22962 }, + { 0x22B8, 22956 }, + { 0x22B9, 22730 }, + { 0x22BA, 22723 }, + { 0x22BB, 45647 }, + { 0x22BC, 23090 }, + { 0x22BD, 22842 }, + { 0x22BE, 22794 }, + { 0x22BF, 65205 }, + { 0x22C0, 46312 }, + { 0x22C1, 65221 }, + { 0x22C2, 52344 }, + { 0x22C3, 52368 }, + { 0x22C4, 52399 }, + { 0x22C5, 52404 }, + { 0x22C6, 52412 }, + { 0x22C7, 52417 }, + { 0x22C8, 23114 }, + { 0x22C9, 23128 }, + { 0x22CA, 23109 }, + { 0x22CB, 23123 }, + { 0x22CC, 31052 }, + { 0x22CD, 31070 }, + { 0x22CE, 52339 }, + { 0x22CF, 52363 }, + { 0x22D0, 60762 }, + { 0x22D1, 60772 }, + { 0x22D2, 60802 }, + { 0x22D3, 60782 }, + { 0x22D4, 60777 }, + { 0x22D5, 60767 }, + { 0x22D6, 60797 }, + { 0x22D7, 60792 }, + { 0x22D8, 60787 }, + { 0x22D9, 60807 }, + { 0x22DA, 60707 }, + { 0x22DB, 60717 }, + { 0x22DC, 60752 }, + { 0x22DD, 60727 }, + { 0x22DE, 60722 }, + { 0x22DF, 60712 }, + { 0x22E0, 60747 }, + { 0x22E1, 60742 }, + { 0x22E2, 60732 }, + { 0x22E3, 60757 }, + { 0x22E4, 60812 }, + { 0x22E5, 60824 }, + { 0x22E6, 60866 }, + { 0x22E7, 60836 }, + { 0x22E8, 60830 }, + { 0x22E9, 60818 }, + { 0x22EA, 60860 }, + { 0x22EB, 60854 }, + { 0x22EC, 60842 }, + { 0x22ED, 60872 }, + { 0x22EE, 23097 }, + { 0x22EF, 22768 }, + { 0x22F0, 22859 }, + { 0x22F1, 23022 }, + { 0x22F2, 22888 }, + { 0x22F3, 23066 }, + { 0x22F4, 22862 }, + { 0x22F5, 75236 }, + { 0x22F6, 23101 }, + { 0x22F7, 115941 }, + { 0x22F8, 23160 }, + { 0x22F9, 45669 }, + { 0x22FA, 22948 }, + { 0x22FB, 19143 }, + { 0x22FC, 67175 }, + { 0x22FD, 67194 }, + { 0x22FE, 19149 }, + { 0x22FF, 22804 }, + { 0x2300, 22797 }, + { 0x2301, 34712 }, + { 0x2302, 23148 }, + { 0x2303, 114875 }, + { 0x2304, 106207 }, + { 0x2305, 105512 }, + { 0x2306, 109792 }, + { 0x2307, 22853 }, + { 0x2308, 22914 }, + { 0x2309, 64485 }, + { 0x230A, 19480 }, + { 0x230B, 64497 }, + { 0x230C, 59173 }, + { 0x230D, 115944 }, + { 0x230E, 115929 }, + { 0x230F, 115933 }, + { 0x2310, 115925 }, + { 0x2311, 23139 }, + { 0x2312, 23144 }, + { 0x2313, 23134 }, + { 0x2314, 115936 }, + { 0x2315, 23164 }, + { 0x2316, 114887 }, + { 0x2317, 23105 }, + { 0x2318, 115309 }, + { 0x2319, 46071 }, + { 0x231A, 35232 }, + { 0x231B, 35976 }, + { 0x231C, 115851 }, + { 0x231D, 14507 }, + { 0x231E, 14519 }, + { 0x231F, 13085 }, + { 0x2320, 33780 }, + { 0x2321, 311 }, + { 0x2322, 65189 }, + { 0x2323, 86359 }, + { 0x2324, 86811 }, + { 0x2325, 112020 }, + { 0x2326, 13347 }, + { 0x2327, 112187 }, + { 0x2328, 67069 }, + { 0x2329, 67066 }, + { 0x232A, 35915 }, + { 0x232B, 4078 }, + { 0x232C, 61048 }, + { 0x232D, 31380 }, + { 0x232E, 35348 }, + { 0x232F, 12879 }, + { 0x2330, 33644 }, + { 0x2331, 12688 }, + { 0x2332, 23950 }, + { 0x2333, 23990 }, + { 0x2334, 12760 }, + { 0x2335, 12756 }, + { 0x2336, 13083 }, + { 0x2337, 13344 }, + { 0x2338, 13332 }, + { 0x2339, 378 }, + { 0x233A, 61809 }, + { 0x233B, 36021 }, + { 0x233C, 36024 }, + { 0x233D, 36030 }, + { 0x233E, 35874 }, + { 0x233F, 35879 }, + { 0x2340, 111529 }, + { 0x2341, 111553 }, + { 0x2342, 111525 }, + { 0x2343, 111549 }, + { 0x2344, 111540 }, + { 0x2345, 111564 }, + { 0x2346, 111534 }, + { 0x2347, 111558 }, + { 0x2348, 111545 }, + { 0x2349, 111569 }, + { 0x234A, 68632 }, + { 0x234B, 98457 }, + { 0x234C, 114904 }, + { 0x234D, 90515 }, + { 0x234E, 33610 }, + { 0x234F, 13349 }, + { 0x2350, 13371 }, + { 0x2351, 13335 }, + { 0x2352, 13357 }, + { 0x2353, 13379 }, + { 0x2354, 13339 }, + { 0x2355, 13352 }, + { 0x2356, 13374 }, + { 0x2357, 13361 }, + { 0x2358, 13383 }, + { 0x2359, 13389 }, + { 0x235A, 58339 }, + { 0x235B, 58342 }, + { 0x235C, 58345 }, + { 0x235D, 58366 }, + { 0x235E, 58348 }, + { 0x235F, 58369 }, + { 0x2360, 58387 }, + { 0x2361, 58450 }, + { 0x2362, 58351 }, + { 0x2363, 58372 }, + { 0x2364, 58390 }, + { 0x2365, 58453 }, + { 0x2366, 58405 }, + { 0x2367, 58468 }, + { 0x2368, 58513 }, + { 0x2369, 58618 }, + { 0x236A, 58354 }, + { 0x236B, 58375 }, + { 0x236C, 58393 }, + { 0x236D, 58456 }, + { 0x236E, 58408 }, + { 0x236F, 58471 }, + { 0x2370, 58516 }, + { 0x2371, 58621 }, + { 0x2372, 58420 }, + { 0x2373, 58483 }, + { 0x2374, 58528 }, + { 0x2375, 58633 }, + { 0x2376, 58558 }, + { 0x2377, 58663 }, + { 0x2378, 58723 }, + { 0x2379, 58828 }, + { 0x237A, 58357 }, + { 0x237B, 58378 }, + { 0x237C, 58396 }, + { 0x237D, 58459 }, + { 0x237E, 58411 }, + { 0x237F, 58474 }, + { 0x2380, 58519 }, + { 0x2381, 58624 }, + { 0x2382, 58423 }, + { 0x2383, 58486 }, + { 0x2384, 58531 }, + { 0x2385, 58636 }, + { 0x2386, 58561 }, + { 0x2387, 58666 }, + { 0x2388, 58726 }, + { 0x2389, 58831 }, + { 0x238A, 58432 }, + { 0x238B, 58495 }, + { 0x238C, 58540 }, + { 0x238D, 58645 }, + { 0x238E, 58570 }, + { 0x238F, 58675 }, + { 0x2390, 58735 }, + { 0x2391, 58840 }, + { 0x2392, 58588 }, + { 0x2393, 58693 }, + { 0x2394, 58753 }, + { 0x2395, 58858 }, + { 0x2396, 58783 }, + { 0x2397, 58888 }, + { 0x2398, 58933 }, + { 0x2399, 58996 }, + { 0x239A, 58360 }, + { 0x239B, 58381 }, + { 0x239C, 58399 }, + { 0x239D, 58462 }, + { 0x239E, 58414 }, + { 0x239F, 58477 }, + { 0x23A0, 58522 }, + { 0x23A1, 58627 }, + { 0x23A2, 58426 }, + { 0x23A3, 58489 }, + { 0x23A4, 58534 }, + { 0x23A5, 58639 }, + { 0x23A6, 58564 }, + { 0x23A7, 58669 }, + { 0x23A8, 58729 }, + { 0x23A9, 58834 }, + { 0x23AA, 58435 }, + { 0x23AB, 58498 }, + { 0x23AC, 58543 }, + { 0x23AD, 58648 }, + { 0x23AE, 58573 }, + { 0x23AF, 58678 }, + { 0x23B0, 58738 }, + { 0x23B1, 58843 }, + { 0x23B2, 58591 }, + { 0x23B3, 58696 }, + { 0x23B4, 58756 }, + { 0x23B5, 58861 }, + { 0x23B6, 58786 }, + { 0x23B7, 58891 }, + { 0x23B8, 58936 }, + { 0x23B9, 58999 }, + { 0x23BA, 58441 }, + { 0x23BB, 58504 }, + { 0x23BC, 58549 }, + { 0x23BD, 58654 }, + { 0x23BE, 58579 }, + { 0x23BF, 58684 }, + { 0x23C0, 58744 }, + { 0x23C1, 58849 }, + { 0x23C2, 58597 }, + { 0x23C3, 58702 }, + { 0x23C4, 58762 }, + { 0x23C5, 58867 }, + { 0x23C6, 58792 }, + { 0x23C7, 58897 }, + { 0x23C8, 58942 }, + { 0x23C9, 59005 }, + { 0x23CA, 58606 }, + { 0x23CB, 58711 }, + { 0x23CC, 58771 }, + { 0x23CD, 58876 }, + { 0x23CE, 58801 }, + { 0x23CF, 58906 }, + { 0x23D0, 58951 }, + { 0x23D1, 59014 }, + { 0x23D2, 58813 }, + { 0x23D3, 58918 }, + { 0x23D4, 58963 }, + { 0x23D5, 59026 }, + { 0x23D6, 58978 }, + { 0x23D7, 59041 }, + { 0x23D8, 59059 }, + { 0x23D9, 59080 }, + { 0x23DA, 58363 }, + { 0x23DB, 58384 }, + { 0x23DC, 58402 }, + { 0x23DD, 58465 }, + { 0x23DE, 58417 }, + { 0x23DF, 58480 }, + { 0x23E0, 58525 }, + { 0x23E1, 58630 }, + { 0x23E2, 58429 }, + { 0x23E3, 58492 }, + { 0x23E4, 58537 }, + { 0x23E5, 58642 }, + { 0x23E6, 58567 }, + { 0x23E7, 58672 }, + { 0x23E8, 58732 }, + { 0x23E9, 58837 }, + { 0x23EA, 58438 }, + { 0x23EB, 58501 }, + { 0x23EC, 58546 }, + { 0x23ED, 58651 }, + { 0x23EE, 58576 }, + { 0x23EF, 58681 }, + { 0x23F0, 58741 }, + { 0x23F1, 58846 }, + { 0x23F2, 58594 }, + { 0x23F3, 58699 }, + { 0x23F4, 58759 }, + { 0x23F5, 58864 }, + { 0x23F6, 58789 }, + { 0x23F7, 58894 }, + { 0x23F8, 58939 }, + { 0x23F9, 59002 }, + { 0x23FA, 58444 }, + { 0x23FB, 58507 }, + { 0x23FC, 58552 }, + { 0x23FD, 58657 }, + { 0x23FE, 58582 }, + { 0x23FF, 58687 }, + { 0x2400, 58747 }, + { 0x2401, 58852 }, + { 0x2402, 58600 }, + { 0x2403, 58705 }, + { 0x2404, 58765 }, + { 0x2405, 58870 }, + { 0x2406, 58795 }, + { 0x2407, 58900 }, + { 0x2408, 58945 }, + { 0x2409, 59008 }, + { 0x240A, 58609 }, + { 0x240B, 58714 }, + { 0x240C, 58774 }, + { 0x240D, 58879 }, + { 0x240E, 58804 }, + { 0x240F, 58909 }, + { 0x2410, 58954 }, + { 0x2411, 59017 }, + { 0x2412, 58816 }, + { 0x2413, 58921 }, + { 0x2414, 58966 }, + { 0x2415, 59029 }, + { 0x2416, 58981 }, + { 0x2417, 59044 }, + { 0x2418, 59062 }, + { 0x2419, 59083 }, + { 0x241A, 58447 }, + { 0x241B, 58510 }, + { 0x241C, 58555 }, + { 0x241D, 58660 }, + { 0x241E, 58585 }, + { 0x241F, 58690 }, + { 0x2420, 58750 }, + { 0x2421, 58855 }, + { 0x2422, 58603 }, + { 0x2423, 58708 }, + { 0x2424, 58768 }, + { 0x2425, 58873 }, + { 0x2426, 58798 }, + { 0x2427, 58903 }, + { 0x2428, 58948 }, + { 0x2429, 59011 }, + { 0x242A, 58612 }, + { 0x242B, 58717 }, + { 0x242C, 58777 }, + { 0x242D, 58882 }, + { 0x242E, 58807 }, + { 0x242F, 58912 }, + { 0x2430, 58957 }, + { 0x2431, 59020 }, + { 0x2432, 58819 }, + { 0x2433, 58924 }, + { 0x2434, 58969 }, + { 0x2435, 59032 }, + { 0x2436, 58984 }, + { 0x2437, 59047 }, + { 0x2438, 59065 }, + { 0x2439, 59086 }, + { 0x243A, 58615 }, + { 0x243B, 58720 }, + { 0x243C, 58780 }, + { 0x243D, 58885 }, + { 0x243E, 58810 }, + { 0x243F, 58915 }, + { 0x2440, 58960 }, + { 0x2441, 59023 }, + { 0x2442, 58822 }, + { 0x2443, 58927 }, + { 0x2444, 58972 }, + { 0x2445, 59035 }, + { 0x2446, 58987 }, + { 0x2447, 59050 }, + { 0x2448, 59068 }, + { 0x2449, 59089 }, + { 0x244A, 58825 }, + { 0x244B, 58930 }, + { 0x244C, 58975 }, + { 0x244D, 59038 }, + { 0x244E, 58990 }, + { 0x244F, 59053 }, + { 0x2450, 59071 }, + { 0x2451, 59092 }, + { 0x2452, 58993 }, + { 0x2453, 59056 }, + { 0x2454, 59074 }, + { 0x2455, 59095 }, + { 0x2456, 59077 }, + { 0x2457, 59098 }, + { 0x2458, 59101 }, + { 0x2459, 59104 }, + { 0x245A, 105065 }, + { 0x245B, 105052 }, + { 0x245C, 99985 }, + { 0x245D, 104892 }, + { 0x245E, 12931 }, + { 0x245F, 105025 }, + { 0x2460, 99975 }, + { 0x2461, 104882 }, + { 0x2462, 98332 }, + { 0x2463, 68466 }, + { 0x2464, 68563 }, + { 0x2465, 98385 }, + { 0x2466, 99968 }, + { 0x2467, 104875 }, + { 0x2468, 99999 }, + { 0x2469, 104906 }, + { 0x246A, 105071 }, + { 0x246B, 104760 }, + { 0x246C, 68414 }, + { 0x246D, 98275 }, + { 0x246E, 104730 }, + { 0x246F, 104722 }, + { 0x2470, 105030 }, + { 0x2471, 105044 }, + { 0x2472, 105035 }, + { 0x2473, 100110 }, + { 0x2474, 105017 }, + { 0x2475, 99991 }, + { 0x2476, 104898 }, + { 0x2477, 99782 }, + { 0x2478, 104674 }, + { 0x2479, 99791 }, + { 0x247A, 104683 }, + { 0x247B, 32695 }, + { 0x247C, 32621 }, + { 0x247D, 32722 }, + { 0x247E, 32637 }, + { 0x247F, 34605 }, + { 0x2480, 34666 }, + { 0x2481, 32715 }, + { 0x2482, 32630 }, + { 0x2483, 34598 }, + { 0x2484, 34659 }, + { 0x2485, 53721 }, + { 0x2486, 61071 }, + { 0x2487, 34610 }, + { 0x2488, 32649 }, + { 0x2489, 61065 }, + { 0x248A, 53715 }, + { 0x248B, 32642 }, + { 0x248C, 32727 }, + { 0x248D, 15333 }, + { 0x248E, 15743 }, + { 0x248F, 15749 }, + { 0x2490, 15731 }, + { 0x2491, 15737 }, + { 0x2492, 104652 }, + { 0x2493, 99751 }, + { 0x2494, 10820 }, + { 0x2495, 43941 }, + { 0x2496, 10814 }, + { 0x2497, 10824 }, + { 0x2498, 31406 }, + { 0x2499, 31372 }, + { 0x249A, 114900 }, + { 0x249B, 90511 }, + { 0x249C, 104796 }, + { 0x249D, 99899 }, + { 0x249E, 34348 }, + { 0x249F, 104713 }, + { 0x24A0, 99821 }, + { 0x24A1, 104826 }, + { 0x24A2, 12907 }, + { 0x24A3, 68641 }, + { 0x24A4, 12788 }, + { 0x24A5, 12795 }, + { 0x24A6, 331 }, + { 0x24A7, 324 }, + { 0x24A8, 12781 }, + { 0x24A9, 338 }, + { 0x24AA, 12802 }, + { 0x24AB, 317 }, + { 0x24AC, 100011 }, + { 0x24AD, 104918 }, + { 0x24AE, 68602 }, + { 0x24AF, 98427 }, + { 0x24B0, 100055 }, + { 0x24B1, 104962 }, + { 0x24B2, 68566 }, + { 0x24B3, 98391 }, + { 0x24B4, 100018 }, + { 0x24B5, 104925 }, + { 0x24B6, 68609 }, + { 0x24B7, 98434 }, + { 0x24B8, 100062 }, + { 0x24B9, 104969 }, + { 0x24BA, 68573 }, + { 0x24BB, 98398 }, + { 0x24BC, 100033 }, + { 0x24BD, 68580 }, + { 0x24BE, 104951 }, + { 0x24BF, 98416 }, + { 0x24C0, 100044 }, + { 0x24C1, 100069 }, + { 0x24C2, 104940 }, + { 0x24C3, 104976 }, + { 0x24C4, 100025 }, + { 0x24C5, 100080 }, + { 0x24C6, 104932 }, + { 0x24C7, 104987 }, + { 0x24C8, 68591 }, + { 0x24C9, 98405 }, + { 0x24CA, 33682 }, + { 0x24CB, 46277 }, + { 0x24CC, 35271 }, + { 0x24CD, 99905 }, + { 0x24CE, 104802 }, + { 0x24CF, 104807 }, + { 0x24D0, 100380 }, + { 0x24D1, 99937 }, + { 0x24D2, 109904 }, + { 0x24D3, 54511 }, + { 0x24D4, 99933 }, + { 0x24D5, 86344 }, + { 0x24D6, 12809 }, + { 0x24D7, 33552 }, + { 0x24D8, 373 }, + { 0x24D9, 12497 }, + { 0x24DA, 57185 }, + { 0x24DB, 26 }, + { 0x24DC, 29 }, + { 0x24DD, 12962 }, + { 0x24DE, 33647 }, + { 0x24DF, 12983 }, + { 0x24E0, 33668 }, + { 0x24E1, 16 }, + { 0x24E2, 37 }, + { 0x24E3, 21 }, + { 0x24E4, 42 }, + { 0x24E5, 13051 }, + { 0x24E6, 33739 }, + { 0x24E7, 13030 }, + { 0x24E8, 33726 }, + { 0x24E9, 13038 }, + { 0x24EA, 33718 }, + { 0x24EB, 12835 }, + { 0x24EC, 33591 }, + { 0x24ED, 12765 }, + { 0x24EE, 33540 }, + { 0x24EF, 46055 }, + { 0x24F0, 46084 }, + { 0x24F1, 12850 }, + { 0x24F2, 33615 }, + { 0x24F3, 46032 }, + { 0x24F4, 86899 }, + { 0x24F5, 83323 }, + { 0x24F6, 33596 }, + { 0x24F7, 83327 }, + { 0x24F8, 15721 }, + { 0x24F9, 15380 }, + { 0x24FA, 102064 }, + { 0x24FB, 102060 }, + { 0x24FC, 57214 }, + { 0x24FD, 86068 }, + { 0x24FE, 15725 }, + { 0x24FF, 86070 }, + { 0x2500, 64503 }, + { 0x2501, 64507 }, + { 0x2502, 83239 }, + { 0x2503, 83227 }, + { 0x2504, 83263 }, + { 0x2505, 83251 }, + { 0x2506, 83299 }, + { 0x2507, 83275 }, + { 0x2508, 83311 }, + { 0x2509, 83287 }, + { 0x250A, 86076 }, + { 0x250B, 19680 }, + { 0x250C, 19674 }, + { 0x250D, 19668 }, + { 0x250E, 19662 }, + { 0x250F, 44809 }, + { 0x2510, 59936 }, + { 0x2511, 59931 }, + { 0x2512, 59775 }, + { 0x2513, 60116 }, + { 0x2514, 44817 }, + { 0x2515, 44813 }, + { 0x2516, 60124 }, + { 0x2517, 383 }, + { 0x2518, 59445 }, + { 0x2519, 59448 }, + { 0x251A, 60104 }, + { 0x251B, 60114 }, + { 0x251C, 44787 }, + { 0x251D, 44764 }, + { 0x251E, 67053 }, + { 0x251F, 67062 }, + { 0x2520, 67074 }, + { 0x2521, 67043 }, + { 0x2522, 67060 }, + { 0x2523, 10905 }, + { 0x2524, 86685 }, + { 0x2525, 86698 }, + { 0x2526, 4 }, + { 0x2527, 86689 }, + { 0x2528, 33794 }, + { 0x2529, 13097 }, + { 0x252A, 86816 }, + { 0x252B, 43992 }, + { 0x252C, 43997 }, + { 0x252D, 18889 }, + { 0x252E, 35278 }, + { 0x252F, 35283 }, + { 0x2530, 35991 }, + { 0x2531, 19120 }, + { 0x2532, 13070 }, + { 0x2533, 33758 }, + { 0x2534, 13000 }, + { 0x2535, 33688 }, + { 0x2536, 104153 }, + { 0x2537, 10811 }, + { 0x2538, 82330 }, + { 0x2539, 109768 }, + { 0x253A, 54242 }, + { 0x253B, 99523 }, + { 0x253C, 65691 }, + { 0x253D, 46229 }, + { 0x253E, 46234 }, + { 0x253F, 99514 }, + { 0x2540, 46338 }, + { 0x2541, 115865 }, + { 0x2542, 115032 }, + { 0x2543, 115038 }, + { 0x2544, 19045 }, + { 0x2545, 19062 }, + { 0x2546, 35775 }, + { 0x2547, 18907 }, + { 0x2548, 109782 }, + { 0x2549, 109773 }, + { 0x254A, 109785 }, + { 0x254B, 109776 }, + { 0x254C, 109779 }, + { 0x254D, 109770 }, + { 0x254E, 114879 }, + { 0x254F, 65186 }, + { 0x2550, 66634 }, + { 0x2551, 65181 }, + { 0x2552, 4452 }, + { 0x2553, 4449 }, + { 0x2554, 46060 }, + { 0x2555, 57148 }, + { 0x2556, 115287 }, + { 0x2557, 115912 }, + { 0x2558, 15259 }, + { 0x2559, 13900 }, + { 0x255A, 32588 }, + { 0x255B, 32592 }, + { 0x255C, 32596 }, + { 0x255D, 32566 }, + { 0x255E, 32571 }, + { 0x255F, 32584 }, + { 0x2560, 32580 }, + { 0x2561, 10915 }, + { 0x2562, 10911 }, + { 0x2563, 32561 }, + { 0x2564, 52775 }, + { 0x2565, 102108 }, + { 0x2566, 101763 }, + { 0x2567, 46302 }, + { 0x2568, 82343 }, + { 0x2569, 82367 }, + { 0x256A, 105529 }, + { 0x256B, 114918 }, + { 0x256C, 13141 }, + { 0x256D, 13148 }, + { 0x256E, 13135 }, + { 0x256F, 82362 }, + { 0x2570, 104637 }, + { 0x2571, 82353 }, + { 0x2572, 82336 }, + { 0x2573, 82359 }, + { 0x2574, 82340 }, + { 0x2575, 82347 }, + { 0x2576, 82350 }, + { 0x2577, 12731 }, + { 0x2578, 23993 }, + { 0x2579, 59 }, + { 0x257A, 51 }, + { 0x257B, 55 }, + { 0x257C, 14577 }, + { 0x257D, 14598 }, + { 0x257E, 14583 }, + { 0x257F, 14567 }, + { 0x2580, 14588 }, + { 0x2581, 14593 }, + { 0x2582, 14572 }, + { 0x2583, 32517 }, + { 0x2584, 32512 }, + { 0x2585, 32527 }, + { 0x2586, 32522 }, + { 0x2587, 14551 }, + { 0x2588, 14557 }, + { 0x2589, 57292 }, + { 0x258A, 115900 }, + { 0x258B, 115905 }, + { 0x258C, 105477 }, + { 0x258D, 34571 }, + { 0x258E, 115879 }, + { 0x258F, 115885 }, + { 0x2590, 60118 }, + { 0x2591, 115891 }, + { 0x2592, 59784 }, + { 0x2593, 14563 }, + { 0x2594, 32508 }, + { 0x2595, 115896 }, + { 0x2596, 82373 }, + { 0x2597, 101812 }, + { 0x2598, 63 }, + { 0x2599, 109688 }, + { 0x259A, 109941 }, + { 0x259B, 35300 }, + { 0x259C, 35308 }, + { 0x259D, 109948 }, + { 0x259E, 109944 }, + { 0x259F, 35304 }, + { 0x25A0, 35316 }, + { 0x25A1, 109956 }, + { 0x25A2, 35311 }, + { 0x25A3, 109951 }, + { 0x25A4, 35319 }, + { 0x25A5, 109959 }, + { 0x25A6, 44837 }, + { 0x25A7, 44874 }, + { 0x25A8, 46109 }, + { 0x25A9, 46106 }, + { 0x25AA, 44841 }, + { 0x25AB, 61779 }, + { 0x25AC, 61747 }, + { 0x25AD, 46161 }, + { 0x25AE, 46158 }, + { 0x25AF, 10931 }, + { 0x25B0, 10927 }, + { 0x25B1, 66551 }, + { 0x25B2, 66554 }, + { 0x25B3, 61772 }, + { 0x25B4, 61794 }, + { 0x25B5, 61762 }, + { 0x25B6, 61803 }, + { 0x25B7, 61767 }, + { 0x25B8, 61784 }, + { 0x25B9, 61799 }, + { 0x25BA, 61789 }, + { 0x25BB, 34378 }, + { 0x25BC, 61752 }, + { 0x25BD, 61757 }, + { 0x25BE, 47 }, + { 0x25BF, 33 }, + { 0x25C0, 46242 }, + { 0x25C1, 99519 }, + { 0x25C2, 57189 }, + { 0x25C3, 57196 }, + { 0x25C4, 35256 }, + { 0x25C5, 35261 }, + { 0x25C6, 66075 }, + { 0x25C7, 92068 }, + { 0x25C8, 46282 }, + { 0x25C9, 36298 }, + { 0x25CA, 114951 }, + { 0x25CB, 46262 }, + { 0x25CC, 14604 }, + { 0x25CD, 46267 }, + { 0x25CE, 46068 }, + { 0x25CF, 10923 }, + { 0x25D0, 35228 }, + { 0x25D1, 46247 }, + { 0x25D2, 103695 }, + { 0x25D3, 100352 }, + { 0x25D4, 109870 }, + { 0x25D5, 100356 }, + { 0x25D6, 109874 }, + { 0x25D7, 100283 }, + { 0x25D8, 109801 }, + { 0x25D9, 100305 }, + { 0x25DA, 109823 }, + { 0x25DB, 100288 }, + { 0x25DC, 109806 }, + { 0x25DD, 100296 }, + { 0x25DE, 109814 }, + { 0x25DF, 100317 }, + { 0x25E0, 109838 }, + { 0x25E1, 100327 }, + { 0x25E2, 109845 }, + { 0x25E3, 100323 }, + { 0x25E4, 109841 }, + { 0x25E5, 100384 }, + { 0x25E6, 109908 }, + { 0x25E7, 100361 }, + { 0x25E8, 109879 }, + { 0x25E9, 100366 }, + { 0x25EA, 109884 }, + { 0x25EB, 100390 }, + { 0x25EC, 109898 }, + { 0x25ED, 100371 }, + { 0x25EE, 109889 }, + { 0x25EF, 66513 }, + { 0x25F0, 66526 }, + { 0x25F1, 66518 }, + { 0x25F2, 66531 }, + { 0x25F3, 105541 }, + { 0x25F4, 105546 }, + { 0x25F5, 105551 }, + { 0x25F6, 105557 }, + { 0x25F7, 66057 }, + { 0x25F8, 66060 }, + { 0x25F9, 66063 }, + { 0x25FA, 66069 }, + { 0x25FB, 46095 }, + { 0x25FC, 46103 }, + { 0x25FD, 46098 }, + { 0x25FE, 109933 }, + { 0x25FF, 109919 }, + { 0x2600, 100401 }, + { 0x2601, 109922 }, + { 0x2602, 100405 }, + { 0x2603, 109926 }, + { 0x2604, 66557 }, + { 0x2605, 49504 }, + { 0x2606, 66559 }, + { 0x2607, 49506 }, + { 0x2608, 46257 }, + { 0x2609, 85839 }, + { 0x260A, 86274 }, + { 0x260B, 85833 }, + { 0x260C, 86268 }, + { 0x260D, 85829 }, + { 0x260E, 86264 }, + { 0x260F, 85813 }, + { 0x2610, 86248 }, + { 0x2611, 85824 }, + { 0x2612, 86259 }, + { 0x2613, 85818 }, + { 0x2614, 86253 }, + { 0x2615, 46172 }, + { 0x2616, 46177 }, + { 0x2617, 54492 }, + { 0x2618, 86325 }, + { 0x2619, 54495 }, + { 0x261A, 86328 }, + { 0x261B, 54500 }, + { 0x261C, 86333 }, + { 0x261D, 54456 }, + { 0x261E, 86289 }, + { 0x261F, 54487 }, + { 0x2620, 86320 }, + { 0x2621, 54476 }, + { 0x2622, 86309 }, + { 0x2623, 54481 }, + { 0x2624, 86314 }, + { 0x2625, 54470 }, + { 0x2626, 86303 }, + { 0x2627, 54144 }, + { 0x2628, 54313 }, + { 0x2629, 44848 }, + { 0x262A, 44865 }, + { 0x262B, 44850 }, + { 0x262C, 44867 }, + { 0x262D, 54508 }, + { 0x262E, 86338 }, + { 0x262F, 54505 }, + { 0x2630, 86341 }, + { 0x2631, 86356 }, + { 0x2632, 86348 }, + { 0x2633, 61052 }, + { 0x2634, 101757 }, + { 0x2635, 109430 }, + { 0x2636, 61085 }, + { 0x2637, 104532 }, + { 0x2638, 34341 }, + { 0x2639, 34333 }, + { 0x263A, 34310 }, + { 0x263B, 115852 }, + { 0x263C, 86826 }, + { 0x263D, 46184 }, + { 0x263E, 86821 }, + { 0x263F, 46189 }, + { 0x2640, 13324 }, + { 0x2641, 34336 }, + { 0x2642, 34313 }, + { 0x2643, 34318 }, + { 0x2644, 46052 }, + { 0x2645, 46046 }, + { 0x2646, 46112 }, + { 0x2647, 86094 }, + { 0x2648, 12449 }, + { 0x2649, 86874 }, + { 0x264A, 86879 }, + { 0x264B, 12502 }, + { 0x264C, 85411 }, + { 0x264D, 85407 }, + { 0x264E, 57180 }, + { 0x264F, 57169 }, + { 0x2650, 57150 }, + { 0x2651, 57157 }, + { 0x2652, 57160 }, + { 0x2653, 105563 }, + { 0x2654, 105569 }, + { 0x2655, 57163 }, + { 0x2656, 24002 }, + { 0x2657, 46167 }, + { 0x2658, 35982 }, + { 0x2659, 32576 }, + { 0x265A, 32660 }, + { 0x265B, 32738 }, + { 0x265C, 34621 }, + { 0x265D, 34675 }, + { 0x265E, 12917 }, + { 0x265F, 99941 }, + { 0x2660, 68482 }, + { 0x2661, 98348 }, + { 0x2662, 32656 }, + { 0x2663, 32734 }, + { 0x2664, 34617 }, + { 0x2665, 34671 }, + { 0x2666, 12913 }, + { 0x2667, 353 }, + { 0x2668, 104700 }, + { 0x2669, 104695 }, + { 0x266A, 99808 }, + { 0x266B, 99803 }, + { 0x266C, 54169 }, + { 0x266D, 54228 }, + { 0x266E, 54221 }, + { 0x266F, 54179 }, + { 0x2670, 60682 }, + { 0x2671, 60687 }, + { 0x2672, 60677 }, + { 0x2673, 60692 }, + { 0x2674, 46038 }, + { 0x2675, 18837 }, + { 0x2676, 35731 }, + { 0x2677, 18795 }, + { 0x2678, 35691 }, + { 0x2679, 19094 }, + { 0x267A, 35968 }, + { 0x267B, 35939 }, + { 0x267C, 19060 }, + { 0x267D, 104140 }, + { 0x267E, 18834 }, + { 0x267F, 18983 }, + { 0x2680, 35822 }, + { 0x2681, 18986 }, + { 0x2682, 35825 }, + { 0x2683, 18870 }, + { 0x2684, 18873 }, + { 0x2685, 35755 }, + { 0x2686, 19140 }, + { 0x2687, 36002 }, + { 0x2688, 19110 }, + { 0x2689, 35985 }, + { 0x268A, 12840 }, + { 0x268B, 35219 }, + { 0x268C, 12845 }, + { 0x268D, 13367 }, + { 0x268E, 100158 }, + { 0x268F, 100145 }, + { 0x2690, 100118 }, + { 0x2691, 100164 }, + { 0x2692, 99863 }, + { 0x2693, 99838 }, + { 0x2694, 99830 }, + { 0x2695, 100123 }, + { 0x2696, 100137 }, + { 0x2697, 100128 }, + { 0x2698, 99929 }, + { 0x2699, 15328 }, + { 0x269A, 46272 }, + { 0x269B, 65164 }, + { 0x269C, 99922 }, + { 0x269D, 104834 }, + { 0x269E, 104830 }, + { 0x269F, 100107 }, + { 0x26A0, 105014 }, + { 0x26A1, 65170 }, + { 0x26A2, 104819 }, + { 0x26A3, 35266 }, + { 0x26A4, 99910 }, + { 0x26A5, 99916 }, + { 0x26A6, 104813 }, + { 0x26A7, 98551 }, + { 0x26A8, 34344 }, + { 0x26A9, 34354 }, + { 0x26AA, 35812 }, + { 0x26AB, 18864 }, + { 0x26AC, 35749 }, + { 0x26AD, 19234 }, + { 0x26AE, 36062 }, + { 0x26AF, 22847 }, + { 0x26B0, 22763 }, + { 0x26B1, 22935 }, + { 0x26B2, 22933 }, + { 0x26B3, 23000 }, + { 0x26B4, 66539 }, + { 0x26B5, 105517 }, + { 0x26B6, 66545 }, + { 0x26B7, 105523 }, + { 0x26B8, 12074 }, + { 0x26B9, 34325 }, + { 0x26BA, 100197 }, + { 0x26BB, 68656 }, + { 0x26BC, 105100 }, + { 0x26BD, 98475 }, + { 0x26BE, 12946 }, + { 0x26BF, 369 }, + { 0x26C0, 32763 }, + { 0x26C1, 32685 }, + { 0x26C2, 34646 }, + { 0x26C3, 34700 }, + { 0x26C4, 100271 }, + { 0x26C5, 68724 }, + { 0x26C6, 105174 }, + { 0x26C7, 98543 }, + { 0x26C8, 90549 }, + { 0x26C9, 114930 }, + { 0x26CA, 100200 }, + { 0x26CB, 68659 }, + { 0x26CC, 105103 }, + { 0x26CD, 98478 }, + { 0x26CE, 32767 }, + { 0x26CF, 32689 }, + { 0x26D0, 34650 }, + { 0x26D1, 34704 }, + { 0x26D2, 100252 }, + { 0x26D3, 68697 }, + { 0x26D4, 105155 }, + { 0x26D5, 98516 }, + { 0x26D6, 104117 }, + { 0x26D7, 86834 }, + { 0x26D8, 100205 }, + { 0x26D9, 68716 }, + { 0x26DA, 105108 }, + { 0x26DB, 98535 }, + { 0x26DC, 100275 }, + { 0x26DD, 68728 }, + { 0x26DE, 105178 }, + { 0x26DF, 98547 }, + { 0x26E0, 99944 }, + { 0x26E1, 68485 }, + { 0x26E2, 104841 }, + { 0x26E3, 98351 }, + { 0x26E4, 114935 }, + { 0x26E5, 114940 }, + { 0x26E6, 114925 }, + { 0x26E7, 114920 }, + { 0x26E8, 53676 }, + { 0x26E9, 53678 }, + { 0x26EA, 64470 }, + { 0x26EB, 64472 }, + { 0x26EC, 12655 }, + { 0x26ED, 104838 }, + { 0x26EE, 67170 }, + { 0x26EF, 67189 }, + { 0x26F0, 67179 }, + { 0x26F1, 67184 }, + { 0x26F2, 19125 }, + { 0x26F3, 19082 }, + { 0x26F4, 19152 }, + { 0x26F5, 19116 }, + { 0x26F6, 98489 }, + { 0x26F7, 98496 }, + { 0x26F8, 68670 }, + { 0x26F9, 68677 }, + { 0x26FA, 100218 }, + { 0x26FB, 105121 }, + { 0x26FC, 100225 }, + { 0x26FD, 105128 }, + { 0x26FE, 18930 }, + { 0x26FF, 18936 }, + { 0x2700, 18918 }, + { 0x2701, 18924 }, + { 0x2702, 18942 }, + { 0x2703, 18954 }, + { 0x2704, 18948 }, + { 0x2705, 18960 }, + { 0x2706, 53691 }, + { 0x2707, 53695 }, + { 0x2708, 53683 }, + { 0x2709, 53687 }, + { 0x270A, 53699 }, + { 0x270B, 53707 }, + { 0x270C, 53703 }, + { 0x270D, 53711 }, + { 0x270E, 68526 }, + { 0x270F, 393 }, + { 0x2710, 43898 }, + { 0x2711, 59115 }, + { 0x2712, 59124 }, + { 0x2713, 19037 }, + { 0x2714, 19055 }, + { 0x2715, 57220 }, + { 0x2716, 104143 }, + { 0x2717, 19064 }, + { 0x2718, 18993 }, + { 0x2719, 19002 }, + { 0x271A, 19011 }, + { 0x271B, 19020 }, + { 0x271C, 10832 }, + { 0x271D, 43945 }, + { 0x271E, 31042 }, + { 0x271F, 65210 }, + { 0x2720, 35663 }, + { 0x2721, 65216 }, + { 0x2722, 54415 }, + { 0x2723, 109432 }, + { 0x2724, 100152 }, + { 0x2725, 68647 }, + { 0x2726, 105059 }, + { 0x2727, 98466 }, + { 0x2728, 103919 }, + { 0x2729, 103948 }, + { 0x272A, 103972 }, + { 0x272B, 104048 }, + { 0x272C, 103988 }, + { 0x272D, 104024 }, + { 0x272E, 104090 }, + { 0x272F, 103992 }, + { 0x2730, 104044 }, + { 0x2731, 103960 }, + { 0x2732, 104052 }, + { 0x2733, 103903 }, + { 0x2734, 104032 }, + { 0x2735, 103964 }, + { 0x2736, 104073 }, + { 0x2737, 104077 }, + { 0x2738, 104000 }, + { 0x2739, 103928 }, + { 0x273A, 104036 }, + { 0x273B, 104004 }, + { 0x273C, 104008 }, + { 0x273D, 104040 }, + { 0x273E, 103944 }, + { 0x273F, 103996 }, + { 0x2740, 103956 }, + { 0x2741, 103932 }, + { 0x2742, 103907 }, + { 0x2743, 103968 }, + { 0x2744, 103940 }, + { 0x2745, 104028 }, + { 0x2746, 103936 }, + { 0x2747, 103984 }, + { 0x2748, 103980 }, + { 0x2749, 103976 }, + { 0x274A, 104085 }, + { 0x274B, 103915 }, + { 0x274C, 104012 }, + { 0x274D, 104017 }, + { 0x274E, 103911 }, + { 0x274F, 104063 }, + { 0x2750, 103923 }, + { 0x2751, 104057 }, + { 0x2752, 103952 }, + { 0x2753, 104069 }, + { 0x2754, 104081 }, + { 0x2755, 104099 }, + { 0x2756, 104094 }, + { 0x2757, 103718 }, + { 0x2758, 103747 }, + { 0x2759, 103771 }, + { 0x275A, 103847 }, + { 0x275B, 103787 }, + { 0x275C, 103823 }, + { 0x275D, 103889 }, + { 0x275E, 103791 }, + { 0x275F, 103843 }, + { 0x2760, 103759 }, + { 0x2761, 103851 }, + { 0x2762, 103702 }, + { 0x2763, 103831 }, + { 0x2764, 103763 }, + { 0x2765, 103872 }, + { 0x2766, 103876 }, + { 0x2767, 103799 }, + { 0x2768, 103727 }, + { 0x2769, 103835 }, + { 0x276A, 103803 }, + { 0x276B, 103807 }, + { 0x276C, 103839 }, + { 0x276D, 103743 }, + { 0x276E, 103795 }, + { 0x276F, 103755 }, + { 0x2770, 103731 }, + { 0x2771, 103706 }, + { 0x2772, 103767 }, + { 0x2773, 103739 }, + { 0x2774, 103827 }, + { 0x2775, 103735 }, + { 0x2776, 103783 }, + { 0x2777, 103779 }, + { 0x2778, 103775 }, + { 0x2779, 103884 }, + { 0x277A, 103714 }, + { 0x277B, 103811 }, + { 0x277C, 103816 }, + { 0x277D, 103710 }, + { 0x277E, 103862 }, + { 0x277F, 103722 }, + { 0x2780, 103856 }, + { 0x2781, 103751 }, + { 0x2782, 103868 }, + { 0x2783, 103880 }, + { 0x2784, 103898 }, + { 0x2785, 103893 }, + { 0x2786, 29228 }, + { 0x2787, 25170 }, + { 0x2788, 29242 }, + { 0x2789, 29709 }, + { 0x278A, 29789 }, + { 0x278B, 24165 }, + { 0x278C, 26148 }, + { 0x278D, 28931 }, + { 0x278E, 24862 }, + { 0x278F, 29156 }, + { 0x2790, 25100 }, + { 0x2791, 30465 }, + { 0x2792, 26765 }, + { 0x2793, 30664 }, + { 0x2794, 29286 }, + { 0x2795, 30731 }, + { 0x2796, 30766 }, + { 0x2797, 26451 }, + { 0x2798, 30283 }, + { 0x2799, 26496 }, + { 0x279A, 26439 }, + { 0x279B, 30614 }, + { 0x279C, 27100 }, + { 0x279D, 27768 }, + { 0x279E, 24534 }, + { 0x279F, 27492 }, + { 0x27A0, 25463 }, + { 0x27A1, 28079 }, + { 0x27A2, 30925 }, + { 0x27A3, 84769 }, + { 0x27A4, 29910 }, + { 0x27A5, 30452 }, + { 0x27A6, 45490 }, + { 0x27A7, 45182 }, + { 0x27A8, 45518 }, + { 0x27A9, 45210 }, + { 0x27AA, 45530 }, + { 0x27AB, 45222 }, + { 0x27AC, 45526 }, + { 0x27AD, 45218 }, + { 0x27AE, 45368 }, + { 0x27AF, 45060 }, + { 0x27B0, 45482 }, + { 0x27B1, 45174 }, + { 0x27B2, 45522 }, + { 0x27B3, 45214 }, + { 0x27B4, 45494 }, + { 0x27B5, 45186 }, + { 0x27B6, 45554 }, + { 0x27B7, 45246 }, + { 0x27B8, 45534 }, + { 0x27B9, 45226 }, + { 0x27BA, 45502 }, + { 0x27BB, 45194 }, + { 0x27BC, 45538 }, + { 0x27BD, 45230 }, + { 0x27BE, 45344 }, + { 0x27BF, 45036 }, + { 0x27C0, 45348 }, + { 0x27C1, 45040 }, + { 0x27C2, 45380 }, + { 0x27C3, 45072 }, + { 0x27C4, 45336 }, + { 0x27C5, 45028 }, + { 0x27C6, 45352 }, + { 0x27C7, 45044 }, + { 0x27C8, 45356 }, + { 0x27C9, 45048 }, + { 0x27CA, 45514 }, + { 0x27CB, 45206 }, + { 0x27CC, 45486 }, + { 0x27CD, 45178 }, + { 0x27CE, 45360 }, + { 0x27CF, 45052 }, + { 0x27D0, 45340 }, + { 0x27D1, 45032 }, + { 0x27D2, 45376 }, + { 0x27D3, 45068 }, + { 0x27D4, 45478 }, + { 0x27D5, 45170 }, + { 0x27D6, 45474 }, + { 0x27D7, 45166 }, + { 0x27D8, 45583 }, + { 0x27D9, 45275 }, + { 0x27DA, 45390 }, + { 0x27DB, 45082 }, + { 0x27DC, 45603 }, + { 0x27DD, 45295 }, + { 0x27DE, 45593 }, + { 0x27DF, 45285 }, + { 0x27E0, 45578 }, + { 0x27E1, 45270 }, + { 0x27E2, 45598 }, + { 0x27E3, 45290 }, + { 0x27E4, 45420 }, + { 0x27E5, 45112 }, + { 0x27E6, 45542 }, + { 0x27E7, 45234 }, + { 0x27E8, 45558 }, + { 0x27E9, 45250 }, + { 0x27EA, 45432 }, + { 0x27EB, 45124 }, + { 0x27EC, 45402 }, + { 0x27ED, 45094 }, + { 0x27EE, 45563 }, + { 0x27EF, 45255 }, + { 0x27F0, 45588 }, + { 0x27F1, 45280 }, + { 0x27F2, 45426 }, + { 0x27F3, 45118 }, + { 0x27F4, 45384 }, + { 0x27F5, 45076 }, + { 0x27F6, 45573 }, + { 0x27F7, 45265 }, + { 0x27F8, 45414 }, + { 0x27F9, 45106 }, + { 0x27FA, 45408 }, + { 0x27FB, 45100 }, + { 0x27FC, 45444 }, + { 0x27FD, 45136 }, + { 0x27FE, 45396 }, + { 0x27FF, 45088 }, + { 0x2800, 45438 }, + { 0x2801, 45130 }, + { 0x2802, 45468 }, + { 0x2803, 45160 }, + { 0x2804, 45450 }, + { 0x2805, 45142 }, + { 0x2806, 45456 }, + { 0x2807, 45148 }, + { 0x2808, 45462 }, + { 0x2809, 45154 }, + { 0x280A, 45318 }, + { 0x280B, 45310 }, + { 0x280C, 45314 }, + { 0x280D, 45333 }, + { 0x280E, 45325 }, + { 0x280F, 45321 }, + { 0x2810, 45329 }, + { 0x2811, 45608 }, + { 0x2812, 45300 }, + { 0x2813, 45613 }, + { 0x2814, 45305 }, + { 0x2815, 45622 }, + { 0x2816, 45626 }, + { 0x2817, 45630 }, + { 0x2818, 45568 }, + { 0x2819, 45260 }, + { 0x281A, 44882 }, + { 0x281B, 44892 }, + { 0x281C, 44898 }, + { 0x281D, 44887 }, + { 0x281E, 45618 }, + { 0x281F, 44904 }, + { 0x2820, 45634 }, + { 0x2821, 80624 }, + { 0x2822, 80660 }, + { 0x2823, 80676 }, + { 0x2824, 80672 }, + { 0x2825, 80628 }, + { 0x2826, 80740 }, + { 0x2827, 80748 }, + { 0x2828, 80732 }, + { 0x2829, 80636 }, + { 0x282A, 80700 }, + { 0x282B, 80704 }, + { 0x282C, 80708 }, + { 0x282D, 80712 }, + { 0x282E, 80640 }, + { 0x282F, 80716 }, + { 0x2830, 80780 }, + { 0x2831, 80724 }, + { 0x2832, 80728 }, + { 0x2833, 80736 }, + { 0x2834, 80644 }, + { 0x2835, 80772 }, + { 0x2836, 80768 }, + { 0x2837, 80760 }, + { 0x2838, 80720 }, + { 0x2839, 80776 }, + { 0x283A, 80756 }, + { 0x283B, 80664 }, + { 0x283C, 80696 }, + { 0x283D, 80668 }, + { 0x283E, 80752 }, + { 0x283F, 80744 }, + { 0x2840, 80764 }, + { 0x2841, 80680 }, + { 0x2842, 80632 }, + { 0x2843, 80688 }, + { 0x2844, 80648 }, + { 0x2845, 80684 }, + { 0x2846, 80692 }, + { 0x2847, 80652 }, + { 0x2848, 80656 }, + { 0x2849, 86427 }, + { 0x284A, 86445 }, + { 0x284B, 86509 }, + { 0x284C, 86454 }, + { 0x284D, 86554 }, + { 0x284E, 86565 }, + { 0x284F, 86460 }, + { 0x2850, 86448 }, + { 0x2851, 86518 }, + { 0x2852, 86515 }, + { 0x2853, 86551 }, + { 0x2854, 86502 }, + { 0x2855, 86451 }, + { 0x2856, 86463 }, + { 0x2857, 86574 }, + { 0x2858, 86557 }, + { 0x2859, 86457 }, + { 0x285A, 86560 }, + { 0x285B, 86570 }, + { 0x285C, 86524 }, + { 0x285D, 86442 }, + { 0x285E, 86527 }, + { 0x285F, 86590 }, + { 0x2860, 86478 }, + { 0x2861, 86578 }, + { 0x2862, 86433 }, + { 0x2863, 86545 }, + { 0x2864, 86602 }, + { 0x2865, 86598 }, + { 0x2866, 86466 }, + { 0x2867, 86469 }, + { 0x2868, 86472 }, + { 0x2869, 86586 }, + { 0x286A, 86594 }, + { 0x286B, 86475 }, + { 0x286C, 86439 }, + { 0x286D, 86481 }, + { 0x286E, 86530 }, + { 0x286F, 86521 }, + { 0x2870, 86582 }, + { 0x2871, 86505 }, + { 0x2872, 86484 }, + { 0x2873, 86536 }, + { 0x2874, 86533 }, + { 0x2875, 86487 }, + { 0x2876, 86539 }, + { 0x2877, 86512 }, + { 0x2878, 86542 }, + { 0x2879, 86490 }, + { 0x287A, 86493 }, + { 0x287B, 86496 }, + { 0x287C, 86499 }, + { 0x287D, 86606 }, + { 0x287E, 86548 }, + { 0x287F, 86430 }, + { 0x2880, 86436 }, + { 0x2881, 86610 }, + { 0x2882, 86618 }, + { 0x2883, 86615 }, + { 0x2884, 79743 }, + { 0x2885, 79755 }, + { 0x2886, 79884 }, + { 0x2887, 79914 }, + { 0x2888, 80310 }, + { 0x2889, 79494 }, + { 0x288A, 79971 }, + { 0x288B, 79542 }, + { 0x288C, 79776 }, + { 0x288D, 80256 }, + { 0x288E, 80485 }, + { 0x288F, 80088 }, + { 0x2890, 79569 }, + { 0x2891, 80169 }, + { 0x2892, 79683 }, + { 0x2893, 80337 }, + { 0x2894, 80145 }, + { 0x2895, 80268 }, + { 0x2896, 79818 }, + { 0x2897, 80190 }, + { 0x2898, 80196 }, + { 0x2899, 80430 }, + { 0x289A, 80193 }, + { 0x289B, 79917 }, + { 0x289C, 79929 }, + { 0x289D, 79923 }, + { 0x289E, 80316 }, + { 0x289F, 80319 }, + { 0x28A0, 79920 }, + { 0x28A1, 79926 }, + { 0x28A2, 79509 }, + { 0x28A3, 79521 }, + { 0x28A4, 79515 }, + { 0x28A5, 80118 }, + { 0x28A6, 80121 }, + { 0x28A7, 79512 }, + { 0x28A8, 79518 }, + { 0x28A9, 80094 }, + { 0x28AA, 80106 }, + { 0x28AB, 80100 }, + { 0x28AC, 80394 }, + { 0x28AD, 80397 }, + { 0x28AE, 80097 }, + { 0x28AF, 80103 }, + { 0x28B0, 80124 }, + { 0x28B1, 80136 }, + { 0x28B2, 80130 }, + { 0x28B3, 80400 }, + { 0x28B4, 80403 }, + { 0x28B5, 80127 }, + { 0x28B6, 80133 }, + { 0x28B7, 79863 }, + { 0x28B8, 79875 }, + { 0x28B9, 79869 }, + { 0x28BA, 80298 }, + { 0x28BB, 80301 }, + { 0x28BC, 79866 }, + { 0x28BD, 79872 }, + { 0x28BE, 79722 }, + { 0x28BF, 79734 }, + { 0x28C0, 79728 }, + { 0x28C1, 80241 }, + { 0x28C2, 80244 }, + { 0x28C3, 79725 }, + { 0x28C4, 79731 }, + { 0x28C5, 80043 }, + { 0x28C6, 80055 }, + { 0x28C7, 80049 }, + { 0x28C8, 80379 }, + { 0x28C9, 80382 }, + { 0x28CA, 80046 }, + { 0x28CB, 80052 }, + { 0x28CC, 79638 }, + { 0x28CD, 79650 }, + { 0x28CE, 79644 }, + { 0x28CF, 80205 }, + { 0x28D0, 80208 }, + { 0x28D1, 79641 }, + { 0x28D2, 79647 }, + { 0x28D3, 91457 }, + { 0x28D4, 91509 }, + { 0x28D5, 91534 }, + { 0x28D6, 91461 }, + { 0x28D7, 91550 }, + { 0x28D8, 91521 }, + { 0x28D9, 91497 }, + { 0x28DA, 91469 }, + { 0x28DB, 91473 }, + { 0x28DC, 91477 }, + { 0x28DD, 91449 }, + { 0x28DE, 91501 }, + { 0x28DF, 91481 }, + { 0x28E0, 91485 }, + { 0x28E1, 91505 }, + { 0x28E2, 91489 }, + { 0x28E3, 91542 }, + { 0x28E4, 91530 }, + { 0x28E5, 91538 }, + { 0x28E6, 91584 }, + { 0x28E7, 91554 }, + { 0x28E8, 91576 }, + { 0x28E9, 91441 }, + { 0x28EA, 91493 }, + { 0x28EB, 91572 }, + { 0x28EC, 91609 }, + { 0x28ED, 91546 }, + { 0x28EE, 91517 }, + { 0x28EF, 91593 }, + { 0x28F0, 91588 }, + { 0x28F1, 91525 }, + { 0x28F2, 91603 }, + { 0x28F3, 33601 }, + { 0x28F4, 33583 }, + { 0x28F5, 13127 }, + { 0x28F6, 33824 }, + { 0x28F7, 12992 }, + { 0x28F8, 33674 }, + { 0x28F9, 53551 }, + { 0x28FA, 53545 }, + { 0x28FB, 46040 }, + { 0x28FC, 13130 }, + { 0x28FD, 33827 }, + { 0x28FE, 53549 }, + { 0x28FF, 13016 }, + { 0x2900, 33704 }, + { 0x2901, 98557 }, + { 0x2902, 106218 }, + { 0x2903, 46325 }, + { 0x2904, 86099 }, + { 0x2905, 109939 }, + { 0x2906, 46036 }, + { 0x2907, 98372 }, + { 0x2908, 68550 }, + { 0x2909, 46043 }, + { 0x290A, 46164 }, + { 0x290B, 82391 }, + { 0x290C, 14534 }, + { 0x290D, 48423 }, + { 0x290E, 35250 }, + { 0x290F, 12769 }, + { 0x2910, 33544 }, + { 0x2911, 35242 }, + { 0x2912, 35246 }, + { 0x2913, 13102 }, + { 0x2914, 33799 }, + { 0x2915, 10846 }, + { 0x2916, 10864 }, + { 0x2917, 43955 }, + { 0x2918, 43968 }, + { 0x2919, 13089 }, + { 0x291A, 33784 }, + { 0x291B, 13008 }, + { 0x291C, 33696 }, + { 0x291D, 10890 }, + { 0x291E, 8925 }, + { 0x291F, 66888 }, + { 0x2920, 12629 }, + { 0x2921, 86130 }, + { 0x2922, 86897 }, + { 0x2923, 14626 }, + { 0x2924, 15361 }, + { 0x2925, 57223 }, + { 0x2926, 53519 }, + { 0x2927, 53543 }, + { 0x2928, 57270 }, + { 0x2929, 45653 }, + { 0x292A, 45657 }, + { 0x292B, 57263 }, + { 0x292C, 10836 }, + { 0x292D, 57289 }, + { 0x292E, 86425 }, + { 0x292F, 114880 }, + { 0x2930, 86831 }, + { 0x2931, 57801 }, + { 0x2932, 90265 }, + { 0x2933, 46093 }, + { 0x2934, 86074 }, + { 0x2935, 46212 }, + { 0x2936, 12433 }, + { 0x2937, 46204 }, + { 0x2938, 5696 }, + { 0x2939, 5603 }, + { 0x293A, 5699 }, + { 0x293B, 5703 }, + { 0x293C, 5707 }, + { 0x293D, 5693 }, + { 0x293E, 5439 }, + { 0x293F, 5670 }, + { 0x2940, 5632 }, + { 0x2941, 5636 }, + { 0x2942, 5731 }, + { 0x2943, 5570 }, + { 0x2944, 5651 }, + { 0x2945, 5655 }, + { 0x2946, 5534 }, + { 0x2947, 5538 }, + { 0x2948, 5546 }, + { 0x2949, 5542 }, + { 0x294A, 5659 }, + { 0x294B, 5719 }, + { 0x294C, 5662 }, + { 0x294D, 5666 }, + { 0x294E, 5624 }, + { 0x294F, 5628 }, + { 0x2950, 5522 }, + { 0x2951, 5496 }, + { 0x2952, 5600 }, + { 0x2953, 5499 }, + { 0x2954, 5564 }, + { 0x2955, 5606 }, + { 0x2956, 5690 }, + { 0x2957, 5728 }, + { 0x2958, 5676 }, + { 0x2959, 5680 }, + { 0x295A, 5516 }, + { 0x295B, 5485 }, + { 0x295C, 5489 }, + { 0x295D, 5734 }, + { 0x295E, 5442 }, + { 0x295F, 5445 }, + { 0x2960, 5531 }, + { 0x2961, 5505 }, + { 0x2962, 5463 }, + { 0x2963, 5711 }, + { 0x2964, 5715 }, + { 0x2965, 5684 }, + { 0x2966, 5573 }, + { 0x2967, 5808 }, + { 0x2968, 5466 }, + { 0x2969, 5470 }, + { 0x296A, 5478 }, + { 0x296B, 5474 }, + { 0x296C, 5561 }, + { 0x296D, 5648 }, + { 0x296E, 5493 }, + { 0x296F, 5460 }, + { 0x2970, 5482 }, + { 0x2971, 5592 }, + { 0x2972, 5596 }, + { 0x2973, 5558 }, + { 0x2974, 5687 }, + { 0x2975, 5612 }, + { 0x2976, 5616 }, + { 0x2977, 5620 }, + { 0x2978, 5673 }, + { 0x2979, 5725 }, + { 0x297A, 5584 }, + { 0x297B, 5588 }, + { 0x297C, 5764 }, + { 0x297D, 5740 }, + { 0x297E, 5528 }, + { 0x297F, 5832 }, + { 0x2980, 5820 }, + { 0x2981, 5519 }, + { 0x2982, 5772 }, + { 0x2983, 5744 }, + { 0x2984, 5576 }, + { 0x2985, 5580 }, + { 0x2986, 5513 }, + { 0x2987, 5792 }, + { 0x2988, 5550 }, + { 0x2989, 5554 }, + { 0x298A, 5800 }, + { 0x298B, 5788 }, + { 0x298C, 5640 }, + { 0x298D, 5644 }, + { 0x298E, 5567 }, + { 0x298F, 5502 }, + { 0x2990, 5836 }, + { 0x2991, 5796 }, + { 0x2992, 5812 }, + { 0x2993, 5760 }, + { 0x2994, 5448 }, + { 0x2995, 5452 }, + { 0x2996, 5456 }, + { 0x2997, 5756 }, + { 0x2998, 5525 }, + { 0x2999, 5816 }, + { 0x299A, 5510 }, + { 0x299B, 5609 }, + { 0x299C, 5780 }, + { 0x299D, 5768 }, + { 0x299E, 5804 }, + { 0x299F, 5748 }, + { 0x29A0, 5752 }, + { 0x29A1, 5784 }, + { 0x29A2, 5845 }, + { 0x29A3, 5776 }, + { 0x29A4, 5849 }, + { 0x29A5, 5824 }, + { 0x29A6, 5853 }, + { 0x29A7, 5828 }, + { 0x29A8, 5722 }, + { 0x29A9, 5857 }, + { 0x29AA, 5841 }, + { 0x29AB, 48709 }, + { 0x29AC, 48877 }, + { 0x29AD, 48667 }, + { 0x29AE, 49068 }, + { 0x29AF, 49189 }, + { 0x29B0, 48847 }, + { 0x29B1, 48739 }, + { 0x29B2, 48694 }, + { 0x29B3, 48697 }, + { 0x29B4, 48871 }, + { 0x29B5, 49000 }, + { 0x29B6, 48997 }, + { 0x29B7, 48796 }, + { 0x29B8, 48988 }, + { 0x29B9, 48688 }, + { 0x29BA, 49104 }, + { 0x29BB, 48896 }, + { 0x29BC, 49027 }, + { 0x29BD, 49039 }, + { 0x29BE, 48961 }, + { 0x29BF, 49089 }, + { 0x29C0, 49042 }, + { 0x29C1, 49170 }, + { 0x29C2, 48736 }, + { 0x29C3, 49289 }, + { 0x29C4, 48915 }, + { 0x29C5, 48982 }, + { 0x29C6, 49256 }, + { 0x29C7, 48964 }, + { 0x29C8, 49036 }, + { 0x29C9, 49286 }, + { 0x29CA, 48994 }, + { 0x29CB, 49259 }, + { 0x29CC, 48642 }, + { 0x29CD, 48645 }, + { 0x29CE, 49238 }, + { 0x29CF, 48655 }, + { 0x29D0, 49125 }, + { 0x29D1, 48979 }, + { 0x29D2, 48909 }, + { 0x29D3, 48853 }, + { 0x29D4, 49077 }, + { 0x29D5, 48862 }, + { 0x29D6, 49146 }, + { 0x29D7, 49198 }, + { 0x29D8, 49274 }, + { 0x29D9, 49047 }, + { 0x29DA, 48958 }, + { 0x29DB, 49253 }, + { 0x29DC, 49214 }, + { 0x29DD, 48670 }, + { 0x29DE, 49064 }, + { 0x29DF, 49156 }, + { 0x29E0, 48883 }, + { 0x29E1, 48742 }, + { 0x29E2, 49056 }, + { 0x29E3, 48658 }, + { 0x29E4, 49080 }, + { 0x29E5, 49229 }, + { 0x29E6, 48927 }, + { 0x29E7, 49021 }, + { 0x29E8, 49244 }, + { 0x29E9, 48793 }, + { 0x29EA, 48838 }, + { 0x29EB, 49143 }, + { 0x29EC, 48715 }, + { 0x29ED, 49186 }, + { 0x29EE, 49149 }, + { 0x29EF, 48652 }, + { 0x29F0, 49201 }, + { 0x29F1, 48703 }, + { 0x29F2, 48733 }, + { 0x29F3, 48727 }, + { 0x29F4, 48890 }, + { 0x29F5, 48939 }, + { 0x29F6, 48859 }, + { 0x29F7, 48930 }, + { 0x29F8, 48991 }, + { 0x29F9, 49223 }, + { 0x29FA, 48638 }, + { 0x29FB, 49235 }, + { 0x29FC, 48685 }, + { 0x29FD, 48781 }, + { 0x29FE, 49095 }, + { 0x29FF, 49116 }, + { 0x2A00, 48812 }, + { 0x2A01, 48784 }, + { 0x2A02, 49167 }, + { 0x2A03, 49160 }, + { 0x2A04, 48833 }, + { 0x2A05, 49074 }, + { 0x2A06, 48809 }, + { 0x2A07, 48661 }, + { 0x2A08, 48664 }, + { 0x2A09, 49277 }, + { 0x2A0A, 48856 }, + { 0x2A0B, 49030 }, + { 0x2A0C, 48936 }, + { 0x2A0D, 49101 }, + { 0x2A0E, 48874 }, + { 0x2A0F, 48746 }, + { 0x2A10, 49003 }, + { 0x2A11, 48764 }, + { 0x2A12, 49280 }, + { 0x2A13, 49152 }, + { 0x2A14, 49122 }, + { 0x2A15, 48924 }, + { 0x2A16, 48790 }, + { 0x2A17, 48679 }, + { 0x2A18, 49086 }, + { 0x2A19, 48967 }, + { 0x2A1A, 49098 }, + { 0x2A1B, 49195 }, + { 0x2A1C, 49113 }, + { 0x2A1D, 49015 }, + { 0x2A1E, 48775 }, + { 0x2A1F, 49092 }, + { 0x2A20, 49137 }, + { 0x2A21, 48906 }, + { 0x2A22, 48921 }, + { 0x2A23, 48691 }, + { 0x2A24, 48700 }, + { 0x2A25, 49050 }, + { 0x2A26, 49241 }, + { 0x2A27, 48706 }, + { 0x2A28, 48649 }, + { 0x2A29, 48900 }, + { 0x2A2A, 48673 }, + { 0x2A2B, 48976 }, + { 0x2A2C, 48887 }, + { 0x2A2D, 49271 }, + { 0x2A2E, 48918 }, + { 0x2A2F, 49131 }, + { 0x2A30, 49180 }, + { 0x2A31, 49208 }, + { 0x2A32, 49183 }, + { 0x2A33, 48758 }, + { 0x2A34, 49283 }, + { 0x2A35, 48985 }, + { 0x2A36, 49018 }, + { 0x2A37, 49107 }, + { 0x2A38, 49174 }, + { 0x2A39, 48973 }, + { 0x2A3A, 48945 }, + { 0x2A3B, 49232 }, + { 0x2A3C, 48949 }, + { 0x2A3D, 48730 }, + { 0x2A3E, 48850 }, + { 0x2A3F, 49192 }, + { 0x2A40, 49220 }, + { 0x2A41, 48749 }, + { 0x2A42, 48712 }, + { 0x2A43, 49134 }, + { 0x2A44, 49053 }, + { 0x2A45, 48721 }, + { 0x2A46, 48724 }, + { 0x2A47, 48818 }, + { 0x2A48, 48761 }, + { 0x2A49, 48772 }, + { 0x2A4A, 49140 }, + { 0x2A4B, 49250 }, + { 0x2A4C, 48942 }, + { 0x2A4D, 48778 }, + { 0x2A4E, 48955 }, + { 0x2A4F, 49295 }, + { 0x2A50, 49262 }, + { 0x2A51, 48827 }, + { 0x2A52, 48880 }, + { 0x2A53, 48824 }, + { 0x2A54, 49033 }, + { 0x2A55, 49071 }, + { 0x2A56, 49059 }, + { 0x2A57, 48903 }, + { 0x2A58, 48755 }, + { 0x2A59, 49128 }, + { 0x2A5A, 48806 }, + { 0x2A5B, 49247 }, + { 0x2A5C, 49204 }, + { 0x2A5D, 48868 }, + { 0x2A5E, 49083 }, + { 0x2A5F, 48865 }, + { 0x2A60, 48952 }, + { 0x2A61, 48682 }, + { 0x2A62, 48676 }, + { 0x2A63, 48841 }, + { 0x2A64, 49268 }, + { 0x2A65, 49024 }, + { 0x2A66, 48769 }, + { 0x2A67, 48933 }, + { 0x2A68, 48830 }, + { 0x2A69, 49006 }, + { 0x2A6A, 49298 }, + { 0x2A6B, 49265 }, + { 0x2A6C, 49012 }, + { 0x2A6D, 48815 }, + { 0x2A6E, 48752 }, + { 0x2A6F, 48912 }, + { 0x2A70, 48787 }, + { 0x2A71, 49119 }, + { 0x2A72, 48844 }, + { 0x2A73, 49226 }, + { 0x2A74, 49177 }, + { 0x2A75, 48970 }, + { 0x2A76, 49292 }, + { 0x2A77, 48821 }, + { 0x2A78, 49211 }, + { 0x2A79, 48800 }, + { 0x2A7A, 48718 }, + { 0x2A7B, 48893 }, + { 0x2A7C, 48803 }, + { 0x2A7D, 49110 }, + { 0x2A7E, 49164 }, + { 0x2A7F, 49217 }, + { 0x2A80, 49009 }, + { 0x2A81, 106098 }, + { 0x2A82, 106112 }, + { 0x2A83, 106104 }, + { 0x2A84, 106118 }, + { 0x2A85, 106093 }, + { 0x2A86, 106136 }, + { 0x2A87, 106142 }, + { 0x2A88, 106130 }, + { 0x2A89, 106155 }, + { 0x2A8A, 106162 }, + { 0x2A8B, 106148 }, + { 0x2A8C, 106126 }, + { 0x2A8D, 105601 }, + { 0x2A8E, 105595 }, + { 0x2A8F, 105588 }, + { 0x2A90, 19590 }, + { 0x2A91, 82411 }, + { 0x2A92, 105621 }, + { 0x2A93, 105610 }, + { 0x2A94, 105603 }, + { 0x2A95, 12832 }, + { 0x2A96, 33588 }, + { 0x2A97, 12996 }, + { 0x2A98, 33678 }, + { 0x2A99, 12989 }, + { 0x2A9A, 33671 }, + { 0x2A9B, 12966 }, + { 0x2A9C, 33651 }, + { 0x2A9D, 12855 }, + { 0x2A9E, 33620 }, + { 0x2A9F, 53492 }, + { 0x2AA0, 12704 }, + { 0x2AA1, 13093 }, + { 0x2AA2, 33788 }, + { 0x2AA3, 12979 }, + { 0x2AA4, 33664 }, + { 0x2AA5, 12974 }, + { 0x2AA6, 33659 }, + { 0x2AA7, 12970 }, + { 0x2AA8, 33655 }, + { 0x2AA9, 15326 }, + { 0x2AAA, 86089 }, + { 0x2AAB, 46080 }, + { 0x2AAC, 6213 }, + { 0x2AAD, 53494 }, + { 0x2AAE, 81626 }, + { 0x2AAF, 81635 }, + { 0x2AB0, 81653 }, + { 0x2AB1, 81641 }, + { 0x2AB2, 81638 }, + { 0x2AB3, 81629 }, + { 0x2AB4, 81650 }, + { 0x2AB5, 81647 }, + { 0x2AB6, 81644 }, + { 0x2AB7, 105597 }, + { 0x2AB8, 105606 }, + { 0x2AB9, 105617 }, + { 0x2ABA, 105613 }, + { 0x2ABB, 46721 }, + { 0x2ABC, 46435 }, + { 0x2ABD, 15341 }, + { 0x2ABE, 86840 }, + { 0x2ABF, 86856 }, + { 0x2AC0, 86850 }, + { 0x2AC1, 86863 }, + { 0x2AC2, 86844 }, + { 0x2AC3, 59772 }, + { 0x2AC4, 105624 }, + { 0x2AC5, 81632 }, + { 0x2AC6, 81659 }, + { 0x2AC7, 81656 }, + { 0x2AC8, 86907 }, + { 0x2AC9, 13417 }, + { 0x2ACA, 14536 }, + { 0x2ACB, 106026 }, + { 0x2ACC, 105591 }, + { 0x2ACD, 82130 }, + { 0x2ACE, 81908 }, + { 0x2ACF, 82138 }, + { 0x2AD0, 81914 }, + { 0x2AD1, 82146 }, + { 0x2AD2, 81923 }, + { 0x2AD3, 82134 }, + { 0x2AD4, 81911 }, + { 0x2AD5, 82142 }, + { 0x2AD6, 81920 }, + { 0x2AD7, 81986 }, + { 0x2AD8, 81956 }, + { 0x2AD9, 81992 }, + { 0x2ADA, 81962 }, + { 0x2ADB, 81998 }, + { 0x2ADC, 81968 }, + { 0x2ADD, 81989 }, + { 0x2ADE, 81959 }, + { 0x2ADF, 81995 }, + { 0x2AE0, 81965 }, + { 0x2AE1, 82061 }, + { 0x2AE2, 82115 }, + { 0x2AE3, 82067 }, + { 0x2AE4, 82121 }, + { 0x2AE5, 82073 }, + { 0x2AE6, 82127 }, + { 0x2AE7, 82064 }, + { 0x2AE8, 82118 }, + { 0x2AE9, 82070 }, + { 0x2AEA, 82124 }, + { 0x2AEB, 82076 }, + { 0x2AEC, 81941 }, + { 0x2AED, 82082 }, + { 0x2AEE, 81947 }, + { 0x2AEF, 82158 }, + { 0x2AF0, 82088 }, + { 0x2AF1, 81953 }, + { 0x2AF2, 82079 }, + { 0x2AF3, 81944 }, + { 0x2AF4, 82085 }, + { 0x2AF5, 81950 }, + { 0x2AF6, 82016 }, + { 0x2AF7, 82022 }, + { 0x2AF8, 82028 }, + { 0x2AF9, 82019 }, + { 0x2AFA, 82025 }, + { 0x2AFB, 81971 }, + { 0x2AFC, 81926 }, + { 0x2AFD, 82031 }, + { 0x2AFE, 81977 }, + { 0x2AFF, 81932 }, + { 0x2B00, 82037 }, + { 0x2B01, 81983 }, + { 0x2B02, 81938 }, + { 0x2B03, 82043 }, + { 0x2B04, 81974 }, + { 0x2B05, 81929 }, + { 0x2B06, 82034 }, + { 0x2B07, 81980 }, + { 0x2B08, 81935 }, + { 0x2B09, 82040 }, + { 0x2B0A, 82001 }, + { 0x2B0B, 82007 }, + { 0x2B0C, 82013 }, + { 0x2B0D, 82004 }, + { 0x2B0E, 82010 }, + { 0x2B0F, 82166 }, + { 0x2B10, 82106 }, + { 0x2B11, 82174 }, + { 0x2B12, 82112 }, + { 0x2B13, 82170 }, + { 0x2B14, 82109 }, + { 0x2B15, 82046 }, + { 0x2B16, 82052 }, + { 0x2B17, 82058 }, + { 0x2B18, 82049 }, + { 0x2B19, 82055 }, + { 0x2B1A, 82162 }, + { 0x2B1B, 82094 }, + { 0x2B1C, 82100 }, + { 0x2B1D, 82097 }, + { 0x2B1E, 82103 }, + { 0x2B1F, 81917 }, + { 0x2B20, 82091 }, + { 0x2B21, 82150 }, + { 0x2B22, 82154 }, + { 0x2B23, 92058 }, + { 0x2B24, 92063 }, + { 0x2B25, 115952 }, + { 0x2B26, 115960 }, + { 0x2B27, 82189 }, + { 0x2B28, 82182 }, + { 0x2B29, 82186 }, + { 0x2B2A, 115949 }, + { 0x2B2B, 82962 }, + { 0x2B2C, 82728 }, + { 0x2B2D, 82970 }, + { 0x2B2E, 82734 }, + { 0x2B2F, 82978 }, + { 0x2B30, 82743 }, + { 0x2B31, 82966 }, + { 0x2B32, 82731 }, + { 0x2B33, 82974 }, + { 0x2B34, 82740 }, + { 0x2B35, 82806 }, + { 0x2B36, 82776 }, + { 0x2B37, 82812 }, + { 0x2B38, 82782 }, + { 0x2B39, 82818 }, + { 0x2B3A, 82788 }, + { 0x2B3B, 82809 }, + { 0x2B3C, 82779 }, + { 0x2B3D, 82815 }, + { 0x2B3E, 82785 }, + { 0x2B3F, 82881 }, + { 0x2B40, 82947 }, + { 0x2B41, 82887 }, + { 0x2B42, 82953 }, + { 0x2B43, 82893 }, + { 0x2B44, 82959 }, + { 0x2B45, 82884 }, + { 0x2B46, 82950 }, + { 0x2B47, 82890 }, + { 0x2B48, 82956 }, + { 0x2B49, 82896 }, + { 0x2B4A, 82761 }, + { 0x2B4B, 82902 }, + { 0x2B4C, 82767 }, + { 0x2B4D, 83054 }, + { 0x2B4E, 82908 }, + { 0x2B4F, 82773 }, + { 0x2B50, 82899 }, + { 0x2B51, 82764 }, + { 0x2B52, 82905 }, + { 0x2B53, 82770 }, + { 0x2B54, 82836 }, + { 0x2B55, 82842 }, + { 0x2B56, 82848 }, + { 0x2B57, 82839 }, + { 0x2B58, 82845 }, + { 0x2B59, 82791 }, + { 0x2B5A, 82746 }, + { 0x2B5B, 82851 }, + { 0x2B5C, 82797 }, + { 0x2B5D, 82752 }, + { 0x2B5E, 82857 }, + { 0x2B5F, 82803 }, + { 0x2B60, 82758 }, + { 0x2B61, 82863 }, + { 0x2B62, 82794 }, + { 0x2B63, 82749 }, + { 0x2B64, 82854 }, + { 0x2B65, 82800 }, + { 0x2B66, 82755 }, + { 0x2B67, 82860 }, + { 0x2B68, 82821 }, + { 0x2B69, 82827 }, + { 0x2B6A, 82833 }, + { 0x2B6B, 82824 }, + { 0x2B6C, 82830 }, + { 0x2B6D, 83062 }, + { 0x2B6E, 82938 }, + { 0x2B6F, 83070 }, + { 0x2B70, 82944 }, + { 0x2B71, 83066 }, + { 0x2B72, 82941 }, + { 0x2B73, 82866 }, + { 0x2B74, 82872 }, + { 0x2B75, 82878 }, + { 0x2B76, 82869 }, + { 0x2B77, 82875 }, + { 0x2B78, 83058 }, + { 0x2B79, 82926 }, + { 0x2B7A, 82932 }, + { 0x2B7B, 82929 }, + { 0x2B7C, 82935 }, + { 0x2B7D, 82737 }, + { 0x2B7E, 82923 }, + { 0x2B7F, 83002 }, + { 0x2B80, 83006 }, + { 0x2B81, 82911 }, + { 0x2B82, 82917 }, + { 0x2B83, 82914 }, + { 0x2B84, 82920 }, + { 0x2B85, 83078 }, + { 0x2B86, 115956 }, + { 0x2B87, 83088 }, + { 0x2B88, 83081 }, + { 0x2B89, 83085 }, + { 0x2B8A, 69664 }, + { 0x2B8B, 69706 }, + { 0x2B8C, 69697 }, + { 0x2B8D, 69676 }, + { 0x2B8E, 69670 }, + { 0x2B8F, 69718 }, + { 0x2B90, 69700 }, + { 0x2B91, 69694 }, + { 0x2B92, 69679 }, + { 0x2B93, 69691 }, + { 0x2B94, 69682 }, + { 0x2B95, 69688 }, + { 0x2B96, 69709 }, + { 0x2B97, 69727 }, + { 0x2B98, 69808 }, + { 0x2B99, 69748 }, + { 0x2B9A, 69805 }, + { 0x2B9B, 69712 }, + { 0x2B9C, 69730 }, + { 0x2B9D, 69667 }, + { 0x2B9E, 69715 }, + { 0x2B9F, 69661 }, + { 0x2BA0, 69703 }, + { 0x2BA1, 69673 }, + { 0x2BA2, 69754 }, + { 0x2BA3, 69733 }, + { 0x2BA4, 69757 }, + { 0x2BA5, 69742 }, + { 0x2BA6, 69802 }, + { 0x2BA7, 69739 }, + { 0x2BA8, 69760 }, + { 0x2BA9, 69817 }, + { 0x2BAA, 69823 }, + { 0x2BAB, 69763 }, + { 0x2BAC, 69685 }, + { 0x2BAD, 69721 }, + { 0x2BAE, 69784 }, + { 0x2BAF, 69724 }, + { 0x2BB0, 69793 }, + { 0x2BB1, 69769 }, + { 0x2BB2, 69775 }, + { 0x2BB3, 46547 }, + { 0x2BB4, 46646 }, + { 0x2BB5, 46616 }, + { 0x2BB6, 46529 }, + { 0x2BB7, 46622 }, + { 0x2BB8, 46625 }, + { 0x2BB9, 46550 }, + { 0x2BBA, 46649 }, + { 0x2BBB, 46535 }, + { 0x2BBC, 46664 }, + { 0x2BBD, 46634 }, + { 0x2BBE, 46637 }, + { 0x2BBF, 46589 }, + { 0x2BC0, 46691 }, + { 0x2BC1, 46688 }, + { 0x2BC2, 46631 }, + { 0x2BC3, 46526 }, + { 0x2BC4, 46532 }, + { 0x2BC5, 46613 }, + { 0x2BC6, 46586 }, + { 0x2BC7, 46505 }, + { 0x2BC8, 46577 }, + { 0x2BC9, 46523 }, + { 0x2BCA, 46517 }, + { 0x2BCB, 46601 }, + { 0x2BCC, 46559 }, + { 0x2BCD, 46562 }, + { 0x2BCE, 46571 }, + { 0x2BCF, 46568 }, + { 0x2BD0, 46520 }, + { 0x2BD1, 46442 }, + { 0x2BD2, 46457 }, + { 0x2BD3, 46478 }, + { 0x2BD4, 46499 }, + { 0x2BD5, 46460 }, + { 0x2BD6, 46445 }, + { 0x2BD7, 46502 }, + { 0x2BD8, 46481 }, + { 0x2BD9, 46451 }, + { 0x2BDA, 46469 }, + { 0x2BDB, 46493 }, + { 0x2BDC, 46466 }, + { 0x2BDD, 46487 }, + { 0x2BDE, 46454 }, + { 0x2BDF, 46496 }, + { 0x2BE0, 46472 }, + { 0x2BE1, 46475 }, + { 0x2BE2, 46490 }, + { 0x2BE3, 46463 }, + { 0x2BE4, 46484 }, + { 0x2BE5, 46448 }, + { 0x2BE6, 46440 }, + { 0x2BE7, 46610 }, + { 0x2BE8, 46655 }, + { 0x2BE9, 46583 }, + { 0x2BEA, 46679 }, + { 0x2BEB, 46712 }, + { 0x2BEC, 46667 }, + { 0x2BED, 46700 }, + { 0x2BEE, 46685 }, + { 0x2BEF, 46715 }, + { 0x2BF0, 46619 }, + { 0x2BF1, 46580 }, + { 0x2BF2, 46676 }, + { 0x2BF3, 46670 }, + { 0x2BF4, 46658 }, + { 0x2BF5, 46661 }, + { 0x2BF6, 46706 }, + { 0x2BF7, 46709 }, + { 0x2BF8, 46628 }, + { 0x2BF9, 46682 }, + { 0x2BFA, 46673 }, + { 0x2BFB, 46718 }, + { 0x2BFC, 46640 }, + { 0x2BFD, 46595 }, + { 0x2BFE, 46643 }, + { 0x2BFF, 46598 }, + { 0x2C00, 46592 }, + { 0x2C01, 46565 }, + { 0x2C02, 46607 }, + { 0x2C03, 46574 }, + { 0x2C04, 46694 }, + { 0x2C05, 46703 }, + { 0x2C06, 46697 }, + { 0x2C07, 46604 }, + { 0x2C08, 46652 }, + { 0x2C09, 46538 }, + { 0x2C0A, 46553 }, + { 0x2C0B, 46508 }, + { 0x2C0C, 46556 }, + { 0x2C0D, 46541 }, + { 0x2C0E, 46511 }, + { 0x2C0F, 46514 }, + { 0x2C10, 46544 }, + { 0x2C11, 106085 }, + { 0x2C12, 106089 }, + { 0x2C13, 106033 }, + { 0x2C14, 106041 }, + { 0x2C15, 106061 }, + { 0x2C16, 106045 }, + { 0x2C17, 106037 }, + { 0x2C18, 106077 }, + { 0x2C19, 106065 }, + { 0x2C1A, 106053 }, + { 0x2C1B, 106081 }, + { 0x2C1C, 106057 }, + { 0x2C1D, 106069 }, + { 0x2C1E, 106073 }, + { 0x2C1F, 106049 }, + { 0x2C20, 106029 }, + { 0x2C21, 69745 }, + { 0x2C22, 69811 }, + { 0x2C23, 69787 }, + { 0x2C24, 69772 }, + { 0x2C25, 69751 }, + { 0x2C26, 69826 }, + { 0x2C27, 69799 }, + { 0x2C28, 69838 }, + { 0x2C29, 69781 }, + { 0x2C2A, 69820 }, + { 0x2C2B, 69829 }, + { 0x2C2C, 69841 }, + { 0x2C2D, 69778 }, + { 0x2C2E, 69832 }, + { 0x2C2F, 69844 }, + { 0x2C30, 69847 }, + { 0x2C31, 69736 }, + { 0x2C32, 69796 }, + { 0x2C33, 69835 }, + { 0x2C34, 69850 }, + { 0x2C35, 69653 }, + { 0x2C36, 69657 }, + { 0x2C37, 69649 }, + { 0x2C38, 69645 }, + { 0x2C39, 69766 }, + { 0x2C3A, 69790 }, + { 0x2C3B, 69814 }, + { 0x2C3C, 5349 }, + { 0x2C3D, 5388 }, + { 0x2C3E, 5391 }, + { 0x2C3F, 5394 }, + { 0x2C40, 5379 }, + { 0x2C41, 5406 }, + { 0x2C42, 5397 }, + { 0x2C43, 5355 }, + { 0x2C44, 5424 }, + { 0x2C45, 5433 }, + { 0x2C46, 5400 }, + { 0x2C47, 5427 }, + { 0x2C48, 5418 }, + { 0x2C49, 5403 }, + { 0x2C4A, 5430 }, + { 0x2C4B, 5337 }, + { 0x2C4C, 5334 }, + { 0x2C4D, 5346 }, + { 0x2C4E, 5340 }, + { 0x2C4F, 5373 }, + { 0x2C50, 5331 }, + { 0x2C51, 5358 }, + { 0x2C52, 5352 }, + { 0x2C53, 5382 }, + { 0x2C54, 5412 }, + { 0x2C55, 5376 }, + { 0x2C56, 5370 }, + { 0x2C57, 5361 }, + { 0x2C58, 5367 }, + { 0x2C59, 5385 }, + { 0x2C5A, 5415 }, + { 0x2C5B, 5409 }, + { 0x2C5C, 5421 }, + { 0x2C5D, 5436 }, + { 0x2C5E, 5364 }, + { 0x2C5F, 5343 }, + { 0x2C60, 83010 }, + { 0x2C61, 83042 }, + { 0x2C62, 83046 }, + { 0x2C63, 83050 }, + { 0x2C64, 83018 }, + { 0x2C65, 82982 }, + { 0x2C66, 82990 }, + { 0x2C67, 82998 }, + { 0x2C68, 82986 }, + { 0x2C69, 82994 }, + { 0x2C6A, 83014 }, + { 0x2C6B, 83022 }, + { 0x2C6C, 83030 }, + { 0x2C6D, 83038 }, + { 0x2C6E, 83026 }, + { 0x2C6F, 83034 }, + { 0x2C70, 115659 }, + { 0x2C71, 115638 }, + { 0x2C72, 115666 }, + { 0x2C73, 115652 }, + { 0x2C74, 115631 }, + { 0x2C75, 115645 }, + { 0x2C76, 115599 }, + { 0x2C77, 115624 }, + { 0x2C78, 115606 }, + { 0x2C79, 115673 }, + { 0x2C7A, 115680 }, + { 0x2C7B, 115694 }, + { 0x2C7C, 115687 }, + { 0x2C7D, 115617 }, + { 0x2C7E, 115662 }, + { 0x2C7F, 115641 }, + { 0x2C80, 115669 }, + { 0x2C81, 115655 }, + { 0x2C82, 115634 }, + { 0x2C83, 115648 }, + { 0x2C84, 115602 }, + { 0x2C85, 115627 }, + { 0x2C86, 115609 }, + { 0x2C87, 115676 }, + { 0x2C88, 115683 }, + { 0x2C89, 115697 }, + { 0x2C8A, 115690 }, + { 0x2C8B, 115620 }, + { 0x2C8C, 115613 }, + { 0x2C8D, 115706 }, + { 0x2C8E, 115701 }, + { 0x2C8F, 115743 }, + { 0x2C90, 115755 }, + { 0x2C91, 115815 }, + { 0x2C92, 115767 }, + { 0x2C93, 115764 }, + { 0x2C94, 115746 }, + { 0x2C95, 115806 }, + { 0x2C96, 115794 }, + { 0x2C97, 115779 }, + { 0x2C98, 115752 }, + { 0x2C99, 115773 }, + { 0x2C9A, 115761 }, + { 0x2C9B, 115818 }, + { 0x2C9C, 115788 }, + { 0x2C9D, 115800 }, + { 0x2C9E, 115791 }, + { 0x2C9F, 115749 }, + { 0x2CA0, 115809 }, + { 0x2CA1, 115770 }, + { 0x2CA2, 115821 }, + { 0x2CA3, 115776 }, + { 0x2CA4, 115824 }, + { 0x2CA5, 115836 }, + { 0x2CA6, 115848 }, + { 0x2CA7, 115797 }, + { 0x2CA8, 115839 }, + { 0x2CA9, 115758 }, + { 0x2CAA, 115812 }, + { 0x2CAB, 115842 }, + { 0x2CAC, 115845 }, + { 0x2CAD, 115833 }, + { 0x2CAE, 115827 }, + { 0x2CAF, 115830 }, + { 0x2CB0, 115782 }, + { 0x2CB1, 115785 }, + { 0x2CB2, 115803 }, + { 0x2CB3, 60068 }, + { 0x2CB4, 60098 }, + { 0x2CB5, 60047 }, + { 0x2CB6, 59978 }, + { 0x2CB7, 59577 }, + { 0x2CB8, 59703 }, + { 0x2CB9, 59655 }, + { 0x2CBA, 59595 }, + { 0x2CBB, 59586 }, + { 0x2CBC, 59637 }, + { 0x2CBD, 59748 }, + { 0x2CBE, 59643 }, + { 0x2CBF, 106219 }, + { 0x2CC0, 59709 }, + { 0x2CC1, 59717 }, + { 0x2CC2, 59741 }, + { 0x2CC3, 59725 }, + { 0x2CC4, 59721 }, + { 0x2CC5, 59713 }, + { 0x2CC6, 59737 }, + { 0x2CC7, 59733 }, + { 0x2CC8, 59729 }, + { 0x2CC9, 59652 }, + { 0x2CCA, 59661 }, + { 0x2CCB, 59669 }, + { 0x2CCC, 59693 }, + { 0x2CCD, 59677 }, + { 0x2CCE, 59673 }, + { 0x2CCF, 59512 }, + { 0x2CD0, 59491 }, + { 0x2CD1, 59519 }, + { 0x2CD2, 59505 }, + { 0x2CD3, 59484 }, + { 0x2CD4, 59498 }, + { 0x2CD5, 59452 }, + { 0x2CD6, 59473 }, + { 0x2CD7, 59459 }, + { 0x2CD8, 59526 }, + { 0x2CD9, 59533 }, + { 0x2CDA, 59547 }, + { 0x2CDB, 59540 }, + { 0x2CDC, 59466 }, + { 0x2CDD, 59515 }, + { 0x2CDE, 59494 }, + { 0x2CDF, 59522 }, + { 0x2CE0, 59508 }, + { 0x2CE1, 59487 }, + { 0x2CE2, 59501 }, + { 0x2CE3, 59455 }, + { 0x2CE4, 59476 }, + { 0x2CE5, 59462 }, + { 0x2CE6, 59529 }, + { 0x2CE7, 59536 }, + { 0x2CE8, 59550 }, + { 0x2CE9, 59543 }, + { 0x2CEA, 59469 }, + { 0x2CEB, 59570 }, + { 0x2CEC, 59566 }, + { 0x2CED, 59480 }, + { 0x2CEE, 49501 }, + { 0x2CEF, 59942 }, + { 0x2CF0, 59954 }, + { 0x2CF1, 60032 }, + { 0x2CF2, 59966 }, + { 0x2CF3, 59963 }, + { 0x2CF4, 59945 }, + { 0x2CF5, 60023 }, + { 0x2CF6, 60005 }, + { 0x2CF7, 59993 }, + { 0x2CF8, 59951 }, + { 0x2CF9, 59987 }, + { 0x2CFA, 59960 }, + { 0x2CFB, 60035 }, + { 0x2CFC, 59999 }, + { 0x2CFD, 60011 }, + { 0x2CFE, 60002 }, + { 0x2CFF, 59948 }, + { 0x2D00, 60026 }, + { 0x2D01, 59969 }, + { 0x2D02, 60056 }, + { 0x2D03, 59990 }, + { 0x2D04, 60059 }, + { 0x2D05, 60089 }, + { 0x2D06, 60101 }, + { 0x2D07, 60008 }, + { 0x2D08, 60050 }, + { 0x2D09, 59984 }, + { 0x2D0A, 60044 }, + { 0x2D0B, 60077 }, + { 0x2D0C, 60086 }, + { 0x2D0D, 60017 }, + { 0x2D0E, 60083 }, + { 0x2D0F, 59975 }, + { 0x2D10, 59996 }, + { 0x2D11, 59957 }, + { 0x2D12, 60053 }, + { 0x2D13, 59972 }, + { 0x2D14, 60041 }, + { 0x2D15, 59939 }, + { 0x2D16, 59981 }, + { 0x2D17, 60020 }, + { 0x2D18, 60065 }, + { 0x2D19, 60071 }, + { 0x2D1A, 60029 }, + { 0x2D1B, 60092 }, + { 0x2D1C, 60095 }, + { 0x2D1D, 60074 }, + { 0x2D1E, 60062 }, + { 0x2D1F, 60014 }, + { 0x2D20, 59665 }, + { 0x2D21, 59689 }, + { 0x2D22, 59685 }, + { 0x2D23, 59681 }, + { 0x2D24, 59592 }, + { 0x2D25, 59601 }, + { 0x2D26, 59609 }, + { 0x2D27, 59633 }, + { 0x2D28, 59617 }, + { 0x2D29, 59613 }, + { 0x2D2A, 59605 }, + { 0x2D2B, 59629 }, + { 0x2D2C, 59625 }, + { 0x2D2D, 59621 }, + { 0x2D2E, 59583 }, + { 0x2D2F, 105996 }, + { 0x2D30, 106011 }, + { 0x2D31, 105986 }, + { 0x2D32, 105981 }, + { 0x2D33, 105816 }, + { 0x2D34, 105976 }, + { 0x2D35, 105971 }, + { 0x2D36, 105991 }, + { 0x2D37, 106021 }, + { 0x2D38, 106001 }, + { 0x2D39, 106016 }, + { 0x2D3A, 106006 }, + { 0x2D3B, 53913 }, + { 0x2D3C, 54076 }, + { 0x2D3D, 53903 }, + { 0x2D3E, 61742 }, + { 0x2D3F, 59790 }, + { 0x2D40, 59796 }, + { 0x2D41, 59802 }, + { 0x2D42, 59793 }, + { 0x2D43, 59799 }, + { 0x2D44, 59820 }, + { 0x2D45, 59826 }, + { 0x2D46, 59832 }, + { 0x2D47, 59823 }, + { 0x2D48, 59829 }, + { 0x2D49, 59880 }, + { 0x2D4A, 59886 }, + { 0x2D4B, 59892 }, + { 0x2D4C, 59883 }, + { 0x2D4D, 59889 }, + { 0x2D4E, 59895 }, + { 0x2D4F, 59901 }, + { 0x2D50, 59907 }, + { 0x2D51, 59898 }, + { 0x2D52, 59904 }, + { 0x2D53, 59850 }, + { 0x2D54, 59856 }, + { 0x2D55, 59862 }, + { 0x2D56, 59853 }, + { 0x2D57, 59859 }, + { 0x2D58, 59805 }, + { 0x2D59, 59811 }, + { 0x2D5A, 59817 }, + { 0x2D5B, 59808 }, + { 0x2D5C, 59814 }, + { 0x2D5D, 59835 }, + { 0x2D5E, 59841 }, + { 0x2D5F, 59847 }, + { 0x2D60, 59838 }, + { 0x2D61, 59844 }, + { 0x2D62, 59922 }, + { 0x2D63, 59928 }, + { 0x2D64, 59925 }, + { 0x2D65, 59865 }, + { 0x2D66, 59871 }, + { 0x2D67, 59877 }, + { 0x2D68, 59868 }, + { 0x2D69, 59874 }, + { 0x2D6A, 59910 }, + { 0x2D6B, 59916 }, + { 0x2D6C, 59913 }, + { 0x2D6D, 59919 }, + { 0x2D6E, 54330 }, + { 0x2D6F, 54332 }, + { 0x2D70, 54257 }, + { 0x2D71, 54121 }, + { 0x2D72, 54342 }, + { 0x2D73, 54138 }, + { 0x2D74, 54119 }, + { 0x2D75, 54390 }, + { 0x2D76, 54263 }, + { 0x2D77, 54155 }, + { 0x2D78, 54157 }, + { 0x2D79, 54293 }, + { 0x2D7A, 54362 }, + { 0x2D7B, 54364 }, + { 0x2D7C, 54267 }, + { 0x2D7D, 54265 }, + { 0x2D7E, 54134 }, + { 0x2D7F, 54269 }, + { 0x2D80, 54346 }, + { 0x2D81, 54360 }, + { 0x2D82, 54142 }, + { 0x2D83, 54434 }, + { 0x2D84, 54438 }, + { 0x2D85, 54426 }, + { 0x2D86, 54336 }, + { 0x2D87, 54422 }, + { 0x2D88, 54428 }, + { 0x2D89, 54366 }, + { 0x2D8A, 54295 }, + { 0x2D8B, 54344 }, + { 0x2D8C, 54297 }, + { 0x2D8D, 54384 }, + { 0x2D8E, 54420 }, + { 0x2D8F, 54386 }, + { 0x2D90, 54320 }, + { 0x2D91, 54322 }, + { 0x2D92, 54261 }, + { 0x2D93, 54125 }, + { 0x2D94, 54127 }, + { 0x2D95, 54117 }, + { 0x2D96, 54153 }, + { 0x2D97, 54303 }, + { 0x2D98, 54271 }, + { 0x2D99, 54413 }, + { 0x2D9A, 54305 }, + { 0x2D9B, 54358 }, + { 0x2D9C, 54432 }, + { 0x2D9D, 54352 }, + { 0x2D9E, 54161 }, + { 0x2D9F, 54123 }, + { 0x2DA0, 54395 }, + { 0x2DA1, 54340 }, + { 0x2DA2, 54388 }, + { 0x2DA3, 54275 }, + { 0x2DA4, 54424 }, + { 0x2DA5, 54159 }, + { 0x2DA6, 54350 }, + { 0x2DA7, 54338 }, + { 0x2DA8, 54309 }, + { 0x2DA9, 54307 }, + { 0x2DAA, 54259 }, + { 0x2DAB, 54354 }, + { 0x2DAC, 54334 }, + { 0x2DAD, 54084 }, + { 0x2DAE, 54311 }, + { 0x2DAF, 54273 }, + { 0x2DB0, 54136 }, + { 0x2DB1, 54370 }, + { 0x2DB2, 54301 }, + { 0x2DB3, 54299 }, + { 0x2DB4, 54348 }, + { 0x2DB5, 54372 }, + { 0x2DB6, 54378 }, + { 0x2DB7, 54151 }, + { 0x2DB8, 54430 }, + { 0x2DB9, 54149 }, + { 0x2DBA, 54376 }, + { 0x2DBB, 54374 }, + { 0x2DBC, 54326 }, + { 0x2DBD, 54328 }, + { 0x2DBE, 54255 }, + { 0x2DBF, 54380 }, + { 0x2DC0, 54165 }, + { 0x2DC1, 54318 }, + { 0x2DC2, 54382 }, + { 0x2DC3, 54163 }, + { 0x2DC4, 54418 }, + { 0x2DC5, 54324 }, + { 0x2DC6, 105863 }, + { 0x2DC7, 105821 }, + { 0x2DC8, 105839 }, + { 0x2DC9, 105881 }, + { 0x2DCA, 105851 }, + { 0x2DCB, 105845 }, + { 0x2DCC, 105827 }, + { 0x2DCD, 105875 }, + { 0x2DCE, 105869 }, + { 0x2DCF, 105857 }, + { 0x2DD0, 105833 }, + { 0x2DD1, 105887 }, + { 0x2DD2, 105893 }, + { 0x2DD3, 105935 }, + { 0x2DD4, 105923 }, + { 0x2DD5, 105905 }, + { 0x2DD6, 105911 }, + { 0x2DD7, 105941 }, + { 0x2DD8, 105917 }, + { 0x2DD9, 105929 }, + { 0x2DDA, 105899 }, + { 0x2DDB, 105947 }, + { 0x2DDC, 105953 }, + { 0x2DDD, 105965 }, + { 0x2DDE, 105959 }, + { 0x2DDF, 54086 }, + { 0x2DE0, 53887 }, + { 0x2DE1, 53869 }, + { 0x2DE2, 54052 }, + { 0x2DE3, 54023 }, + { 0x2DE4, 54030 }, + { 0x2DE5, 53895 }, + { 0x2DE6, 53900 }, + { 0x2DE7, 53897 }, + { 0x2DE8, 53921 }, + { 0x2DE9, 54064 }, + { 0x2DEA, 54068 }, + { 0x2DEB, 54072 }, + { 0x2DEC, 54060 }, + { 0x2DED, 54436 }, + { 0x2DEE, 54027 }, + { 0x2DEF, 54011 }, + { 0x2DF0, 53977 }, + { 0x2DF1, 53956 }, + { 0x2DF2, 53923 }, + { 0x2DF3, 53925 }, + { 0x2DF4, 53958 }, + { 0x2DF5, 53907 }, + { 0x2DF6, 54054 }, + { 0x2DF7, 54140 }, + { 0x2DF8, 54032 }, + { 0x2DF9, 54013 }, + { 0x2DFA, 53980 }, + { 0x2DFB, 53983 }, + { 0x2DFC, 53963 }, + { 0x2DFD, 53927 }, + { 0x2DFE, 53917 }, + { 0x2DFF, 54088 }, + { 0x2E00, 54094 }, + { 0x2E01, 54080 }, + { 0x2E02, 54115 }, + { 0x2E03, 53986 }, + { 0x2E04, 53965 }, + { 0x2E05, 53893 }, + { 0x2E06, 53931 }, + { 0x2E07, 53905 }, + { 0x2E08, 54015 }, + { 0x2E09, 53989 }, + { 0x2E0A, 53967 }, + { 0x2E0B, 53877 }, + { 0x2E0C, 53933 }, + { 0x2E0D, 53972 }, + { 0x2E0E, 53882 }, + { 0x2E0F, 53860 }, + { 0x2E10, 53941 }, + { 0x2E11, 53969 }, + { 0x2E12, 53879 }, + { 0x2E13, 53857 }, + { 0x2E14, 53935 }, + { 0x2E15, 53848 }, + { 0x2E16, 53852 }, + { 0x2E17, 54025 }, + { 0x2E18, 54090 }, + { 0x2E19, 54100 }, + { 0x2E1A, 54082 }, + { 0x2E1B, 54104 }, + { 0x2E1C, 54106 }, + { 0x2E1D, 54110 }, + { 0x2E1E, 54040 }, + { 0x2E1F, 54017 }, + { 0x2E20, 53992 }, + { 0x2E21, 53975 }, + { 0x2E22, 54042 }, + { 0x2E23, 54019 }, + { 0x2E24, 53995 }, + { 0x2E25, 54001 }, + { 0x2E26, 53946 }, + { 0x2E27, 54003 }, + { 0x2E28, 54044 }, + { 0x2E29, 54021 }, + { 0x2E2A, 53998 }, + { 0x2E2B, 54006 }, + { 0x2E2C, 53948 }, + { 0x2E2D, 54008 }, + { 0x2E2E, 53842 }, + { 0x2E2F, 53845 }, + { 0x2E30, 53867 }, + { 0x2E31, 53871 }, + { 0x2E32, 53873 }, + { 0x2E33, 53875 }, + { 0x2E34, 53838 }, + { 0x2E35, 53885 }, + { 0x2E36, 53889 }, + { 0x2E37, 53909 }, + { 0x2E38, 53911 }, + { 0x2E39, 53915 }, + { 0x2E3A, 53919 }, + { 0x2E3B, 53929 }, + { 0x2E3C, 53938 }, + { 0x2E3D, 53944 }, + { 0x2E3E, 53950 }, + { 0x2E3F, 53952 }, + { 0x2E40, 54092 }, + { 0x2E41, 53954 }, + { 0x2E42, 53960 }, + { 0x2E43, 54096 }, + { 0x2E44, 54098 }, + { 0x2E45, 54034 }, + { 0x2E46, 54036 }, + { 0x2E47, 54102 }, + { 0x2E48, 54038 }, + { 0x2E49, 54046 }, + { 0x2E4A, 54048 }, + { 0x2E4B, 54050 }, + { 0x2E4C, 53863 }, + { 0x2E4D, 53834 }, + { 0x2E4E, 105630 }, + { 0x2E4F, 105648 }, + { 0x2E50, 105684 }, + { 0x2E51, 105660 }, + { 0x2E52, 105654 }, + { 0x2E53, 105636 }, + { 0x2E54, 105678 }, + { 0x2E55, 105672 }, + { 0x2E56, 105666 }, + { 0x2E57, 105642 }, + { 0x2E58, 105690 }, + { 0x2E59, 105702 }, + { 0x2E5A, 105744 }, + { 0x2E5B, 105732 }, + { 0x2E5C, 105714 }, + { 0x2E5D, 105720 }, + { 0x2E5E, 105750 }, + { 0x2E5F, 105726 }, + { 0x2E60, 105738 }, + { 0x2E61, 105708 }, + { 0x2E62, 105762 }, + { 0x2E63, 105774 }, + { 0x2E64, 105810 }, + { 0x2E65, 105786 }, + { 0x2E66, 105780 }, + { 0x2E67, 105768 }, + { 0x2E68, 105804 }, + { 0x2E69, 105798 }, + { 0x2E6A, 105792 }, + { 0x2E6B, 105696 }, + { 0x2E6C, 105756 }, + { 0x2E6D, 54078 }, + { 0x2E6E, 81711 }, + { 0x2E6F, 81725 }, + { 0x2E70, 81862 }, + { 0x2E71, 81832 }, + { 0x2E72, 81808 }, + { 0x2E73, 81814 }, + { 0x2E74, 81664 }, + { 0x2E75, 81794 }, + { 0x2E76, 81770 }, + { 0x2E77, 81829 }, + { 0x2E78, 81767 }, + { 0x2E79, 81889 }, + { 0x2E7A, 81874 }, + { 0x2E7B, 81751 }, + { 0x2E7C, 81798 }, + { 0x2E7D, 81871 }, + { 0x2E7E, 81845 }, + { 0x2E7F, 81730 }, + { 0x2E80, 81811 }, + { 0x2E81, 81904 }, + { 0x2E82, 81782 }, + { 0x2E83, 81740 }, + { 0x2E84, 81858 }, + { 0x2E85, 81791 }, + { 0x2E86, 81855 }, + { 0x2E87, 81747 }, + { 0x2E88, 81763 }, + { 0x2E89, 81755 }, + { 0x2E8A, 81686 }, + { 0x2E8B, 81706 }, + { 0x2E8C, 81852 }, + { 0x2E8D, 81820 }, + { 0x2E8E, 81805 }, + { 0x2E8F, 81743 }, + { 0x2E90, 81826 }, + { 0x2E91, 81839 }, + { 0x2E92, 81672 }, + { 0x2E93, 81880 }, + { 0x2E94, 81898 }, + { 0x2E95, 81892 }, + { 0x2E96, 81817 }, + { 0x2E97, 81823 }, + { 0x2E98, 81901 }, + { 0x2E99, 81786 }, + { 0x2E9A, 81848 }, + { 0x2E9B, 81801 }, + { 0x2E9C, 81883 }, + { 0x2E9D, 81668 }, + { 0x2E9E, 81886 }, + { 0x2E9F, 81702 }, + { 0x2EA0, 81697 }, + { 0x2EA1, 81691 }, + { 0x2EA2, 81895 }, + { 0x2EA3, 81716 }, + { 0x2EA4, 81836 }, + { 0x2EA5, 81721 }, + { 0x2EA6, 81676 }, + { 0x2EA7, 81681 }, + { 0x2EA8, 81868 }, + { 0x2EA9, 81877 }, + { 0x2EAA, 81759 }, + { 0x2EAB, 81774 }, + { 0x2EAC, 81736 }, + { 0x2EAD, 81778 }, + { 0x2EAE, 691 }, + { 0x2EAF, 694 }, + { 0x2EB0, 577 }, + { 0x2EB1, 688 }, + { 0x2EB2, 1357 }, + { 0x2EB3, 1360 }, + { 0x2EB4, 685 }, + { 0x2EB5, 1354 }, + { 0x2EB6, 586 }, + { 0x2EB7, 589 }, + { 0x2EB8, 571 }, + { 0x2EB9, 583 }, + { 0x2EBA, 2068 }, + { 0x2EBB, 859 }, + { 0x2EBC, 2065 }, + { 0x2EBD, 778 }, + { 0x2EBE, 781 }, + { 0x2EBF, 580 }, + { 0x2EC0, 775 }, + { 0x2EC1, 643 }, + { 0x2EC2, 574 }, + { 0x2EC3, 886 }, + { 0x2EC4, 967 }, + { 0x2EC5, 970 }, + { 0x2EC6, 598 }, + { 0x2EC7, 964 }, + { 0x2EC8, 2398 }, + { 0x2EC9, 2401 }, + { 0x2ECA, 961 }, + { 0x2ECB, 2395 }, + { 0x2ECC, 931 }, + { 0x2ECD, 934 }, + { 0x2ECE, 592 }, + { 0x2ECF, 928 }, + { 0x2ED0, 2407 }, + { 0x2ED1, 982 }, + { 0x2ED2, 2404 }, + { 0x2ED3, 976 }, + { 0x2ED4, 979 }, + { 0x2ED5, 601 }, + { 0x2ED6, 973 }, + { 0x2ED7, 958 }, + { 0x2ED8, 595 }, + { 0x2ED9, 955 }, + { 0x2EDA, 991 }, + { 0x2EDB, 994 }, + { 0x2EDC, 604 }, + { 0x2EDD, 985 }, + { 0x2EDE, 2410 }, + { 0x2EDF, 988 }, + { 0x2EE0, 1003 }, + { 0x2EE1, 1006 }, + { 0x2EE2, 607 }, + { 0x2EE3, 997 }, + { 0x2EE4, 2413 }, + { 0x2EE5, 1000 }, + { 0x2EE6, 1762 }, + { 0x2EE7, 1765 }, + { 0x2EE8, 787 }, + { 0x2EE9, 1759 }, + { 0x2EEA, 3331 }, + { 0x2EEB, 1756 }, + { 0x2EEC, 3328 }, + { 0x2EED, 1750 }, + { 0x2EEE, 1753 }, + { 0x2EEF, 784 }, + { 0x2EF0, 1747 }, + { 0x2EF1, 3337 }, + { 0x2EF2, 1777 }, + { 0x2EF3, 3334 }, + { 0x2EF4, 1771 }, + { 0x2EF5, 1774 }, + { 0x2EF6, 790 }, + { 0x2EF7, 1768 }, + { 0x2EF8, 1786 }, + { 0x2EF9, 1789 }, + { 0x2EFA, 793 }, + { 0x2EFB, 1780 }, + { 0x2EFC, 3340 }, + { 0x2EFD, 1783 }, + { 0x2EFE, 1798 }, + { 0x2EFF, 1801 }, + { 0x2F00, 796 }, + { 0x2F01, 1792 }, + { 0x2F02, 3343 }, + { 0x2F03, 1795 }, + { 0x2F04, 2356 }, + { 0x2F05, 2359 }, + { 0x2F06, 943 }, + { 0x2F07, 2353 }, + { 0x2F08, 3766 }, + { 0x2F09, 3769 }, + { 0x2F0A, 2350 }, + { 0x2F0B, 3763 }, + { 0x2F0C, 2338 }, + { 0x2F0D, 2341 }, + { 0x2F0E, 937 }, + { 0x2F0F, 2335 }, + { 0x2F10, 3775 }, + { 0x2F11, 2371 }, + { 0x2F12, 3772 }, + { 0x2F13, 2365 }, + { 0x2F14, 2368 }, + { 0x2F15, 946 }, + { 0x2F16, 2362 }, + { 0x2F17, 2347 }, + { 0x2F18, 940 }, + { 0x2F19, 2344 }, + { 0x2F1A, 2380 }, + { 0x2F1B, 2383 }, + { 0x2F1C, 949 }, + { 0x2F1D, 2374 }, + { 0x2F1E, 3778 }, + { 0x2F1F, 2377 }, + { 0x2F20, 2389 }, + { 0x2F21, 2392 }, + { 0x2F22, 952 }, + { 0x2F23, 2386 }, + { 0x2F24, 3016 }, + { 0x2F25, 3019 }, + { 0x2F26, 1618 }, + { 0x2F27, 3013 }, + { 0x2F28, 3928 }, + { 0x2F29, 3010 }, + { 0x2F2A, 3925 }, + { 0x2F2B, 3004 }, + { 0x2F2C, 3007 }, + { 0x2F2D, 1615 }, + { 0x2F2E, 3001 }, + { 0x2F2F, 3025 }, + { 0x2F30, 3028 }, + { 0x2F31, 1621 }, + { 0x2F32, 3022 }, + { 0x2F33, 3037 }, + { 0x2F34, 3040 }, + { 0x2F35, 1624 }, + { 0x2F36, 3031 }, + { 0x2F37, 3931 }, + { 0x2F38, 3034 }, + { 0x2F39, 3049 }, + { 0x2F3A, 3052 }, + { 0x2F3B, 1627 }, + { 0x2F3C, 3043 }, + { 0x2F3D, 3934 }, + { 0x2F3E, 3046 }, + { 0x2F3F, 2704 }, + { 0x2F40, 2707 }, + { 0x2F41, 1309 }, + { 0x2F42, 2701 }, + { 0x2F43, 3850 }, + { 0x2F44, 2698 }, + { 0x2F45, 3847 }, + { 0x2F46, 2692 }, + { 0x2F47, 2695 }, + { 0x2F48, 1306 }, + { 0x2F49, 2689 }, + { 0x2F4A, 3856 }, + { 0x2F4B, 2719 }, + { 0x2F4C, 3853 }, + { 0x2F4D, 2713 }, + { 0x2F4E, 2716 }, + { 0x2F4F, 1312 }, + { 0x2F50, 2710 }, + { 0x2F51, 2728 }, + { 0x2F52, 2731 }, + { 0x2F53, 1315 }, + { 0x2F54, 2722 }, + { 0x2F55, 3859 }, + { 0x2F56, 2725 }, + { 0x2F57, 2740 }, + { 0x2F58, 1318 }, + { 0x2F59, 2734 }, + { 0x2F5A, 3862 }, + { 0x2F5B, 2737 }, + { 0x2F5C, 1570 }, + { 0x2F5D, 1573 }, + { 0x2F5E, 748 }, + { 0x2F5F, 1567 }, + { 0x2F60, 2986 }, + { 0x2F61, 1564 }, + { 0x2F62, 2983 }, + { 0x2F63, 1543 }, + { 0x2F64, 1546 }, + { 0x2F65, 742 }, + { 0x2F66, 1540 }, + { 0x2F67, 2992 }, + { 0x2F68, 2995 }, + { 0x2F69, 1585 }, + { 0x2F6A, 2989 }, + { 0x2F6B, 1579 }, + { 0x2F6C, 1582 }, + { 0x2F6D, 751 }, + { 0x2F6E, 1576 }, + { 0x2F6F, 1549 }, + { 0x2F70, 745 }, + { 0x2F71, 1594 }, + { 0x2F72, 1597 }, + { 0x2F73, 754 }, + { 0x2F74, 1588 }, + { 0x2F75, 2998 }, + { 0x2F76, 1591 }, + { 0x2F77, 1603 }, + { 0x2F78, 1606 }, + { 0x2F79, 757 }, + { 0x2F7A, 1600 }, + { 0x2F7B, 1165 }, + { 0x2F7C, 1168 }, + { 0x2F7D, 649 }, + { 0x2F7E, 1162 }, + { 0x2F7F, 1156 }, + { 0x2F80, 1159 }, + { 0x2F81, 646 }, + { 0x2F82, 1153 }, + { 0x2F83, 1174 }, + { 0x2F84, 652 }, + { 0x2F85, 1171 }, + { 0x2F86, 1183 }, + { 0x2F87, 1186 }, + { 0x2F88, 655 }, + { 0x2F89, 1177 }, + { 0x2F8A, 2551 }, + { 0x2F8B, 1180 }, + { 0x2F8C, 1192 }, + { 0x2F8D, 1195 }, + { 0x2F8E, 658 }, + { 0x2F8F, 1189 }, + { 0x2F90, 2092 }, + { 0x2F91, 2095 }, + { 0x2F92, 865 }, + { 0x2F93, 2089 }, + { 0x2F94, 3580 }, + { 0x2F95, 3583 }, + { 0x2F96, 2086 }, + { 0x2F97, 3577 }, + { 0x2F98, 2074 }, + { 0x2F99, 2077 }, + { 0x2F9A, 862 }, + { 0x2F9B, 2071 }, + { 0x2F9C, 2101 }, + { 0x2F9D, 2104 }, + { 0x2F9E, 868 }, + { 0x2F9F, 2098 }, + { 0x2FA0, 2083 }, + { 0x2FA1, 2080 }, + { 0x2FA2, 2113 }, + { 0x2FA3, 2116 }, + { 0x2FA4, 871 }, + { 0x2FA5, 2107 }, + { 0x2FA6, 3586 }, + { 0x2FA7, 2110 }, + { 0x2FA8, 2125 }, + { 0x2FA9, 2128 }, + { 0x2FAA, 874 }, + { 0x2FAB, 2119 }, + { 0x2FAC, 3589 }, + { 0x2FAD, 2122 }, + { 0x2FAE, 1123 }, + { 0x2FAF, 1126 }, + { 0x2FB0, 634 }, + { 0x2FB1, 1120 }, + { 0x2FB2, 2542 }, + { 0x2FB3, 1117 }, + { 0x2FB4, 2539 }, + { 0x2FB5, 1090 }, + { 0x2FB6, 1093 }, + { 0x2FB7, 628 }, + { 0x2FB8, 1087 }, + { 0x2FB9, 2545 }, + { 0x2FBA, 1138 }, + { 0x2FBB, 1132 }, + { 0x2FBC, 1135 }, + { 0x2FBD, 637 }, + { 0x2FBE, 1129 }, + { 0x2FBF, 1114 }, + { 0x2FC0, 631 }, + { 0x2FC1, 1111 }, + { 0x2FC2, 1147 }, + { 0x2FC3, 1150 }, + { 0x2FC4, 640 }, + { 0x2FC5, 1141 }, + { 0x2FC6, 2548 }, + { 0x2FC7, 1144 }, + { 0x2FC8, 2035 }, + { 0x2FC9, 2038 }, + { 0x2FCA, 850 }, + { 0x2FCB, 2032 }, + { 0x2FCC, 3562 }, + { 0x2FCD, 2029 }, + { 0x2FCE, 3559 }, + { 0x2FCF, 2017 }, + { 0x2FD0, 2020 }, + { 0x2FD1, 844 }, + { 0x2FD2, 2014 }, + { 0x2FD3, 3568 }, + { 0x2FD4, 3571 }, + { 0x2FD5, 2050 }, + { 0x2FD6, 3565 }, + { 0x2FD7, 2044 }, + { 0x2FD8, 2047 }, + { 0x2FD9, 853 }, + { 0x2FDA, 2041 }, + { 0x2FDB, 2026 }, + { 0x2FDC, 847 }, + { 0x2FDD, 2023 }, + { 0x2FDE, 2059 }, + { 0x2FDF, 2062 }, + { 0x2FE0, 856 }, + { 0x2FE1, 2053 }, + { 0x2FE2, 3574 }, + { 0x2FE3, 2056 }, + { 0x2FE4, 2509 }, + { 0x2FE5, 2512 }, + { 0x2FE6, 1102 }, + { 0x2FE7, 2506 }, + { 0x2FE8, 3799 }, + { 0x2FE9, 2503 }, + { 0x2FEA, 3796 }, + { 0x2FEB, 2491 }, + { 0x2FEC, 2494 }, + { 0x2FED, 1096 }, + { 0x2FEE, 2488 }, + { 0x2FEF, 3805 }, + { 0x2FF0, 2524 }, + { 0x2FF1, 3802 }, + { 0x2FF2, 2518 }, + { 0x2FF3, 2521 }, + { 0x2FF4, 1105 }, + { 0x2FF5, 2515 }, + { 0x2FF6, 2500 }, + { 0x2FF7, 1099 }, + { 0x2FF8, 2497 }, + { 0x2FF9, 2533 }, + { 0x2FFA, 2536 }, + { 0x2FFB, 1108 }, + { 0x2FFC, 2527 }, + { 0x2FFD, 3808 }, + { 0x2FFE, 2530 }, + { 0x2FFF, 3076 }, + { 0x3000, 3079 }, + { 0x3001, 1636 }, + { 0x3002, 3073 }, + { 0x3003, 3937 }, + { 0x3004, 3070 }, + { 0x3005, 3058 }, + { 0x3006, 3061 }, + { 0x3007, 1630 }, + { 0x3008, 3055 }, + { 0x3009, 3085 }, + { 0x300A, 3088 }, + { 0x300B, 1639 }, + { 0x300C, 3082 }, + { 0x300D, 3067 }, + { 0x300E, 1633 }, + { 0x300F, 3064 }, + { 0x3010, 3097 }, + { 0x3011, 3100 }, + { 0x3012, 1642 }, + { 0x3013, 3091 }, + { 0x3014, 3940 }, + { 0x3015, 3094 }, + { 0x3016, 2764 }, + { 0x3017, 2767 }, + { 0x3018, 1327 }, + { 0x3019, 2761 }, + { 0x301A, 3868 }, + { 0x301B, 3871 }, + { 0x301C, 2758 }, + { 0x301D, 3865 }, + { 0x301E, 2746 }, + { 0x301F, 2749 }, + { 0x3020, 1321 }, + { 0x3021, 2743 }, + { 0x3022, 3874 }, + { 0x3023, 2779 }, + { 0x3024, 2773 }, + { 0x3025, 2776 }, + { 0x3026, 2770 }, + { 0x3027, 2755 }, + { 0x3028, 1324 }, + { 0x3029, 2752 }, + { 0x302A, 2782 }, + { 0x302B, 1666 }, + { 0x302C, 1669 }, + { 0x302D, 766 }, + { 0x302E, 1663 }, + { 0x302F, 3136 }, + { 0x3030, 1660 }, + { 0x3031, 3133 }, + { 0x3032, 1612 }, + { 0x3033, 760 }, + { 0x3034, 1609 }, + { 0x3035, 3235 }, + { 0x3036, 1708 }, + { 0x3037, 3232 }, + { 0x3038, 1687 }, + { 0x3039, 1690 }, + { 0x303A, 769 }, + { 0x303B, 1684 }, + { 0x303C, 1648 }, + { 0x303D, 763 }, + { 0x303E, 1645 }, + { 0x303F, 1717 }, + { 0x3040, 1720 }, + { 0x3041, 772 }, + { 0x3042, 1711 }, + { 0x3043, 3238 }, + { 0x3044, 1714 }, + { 0x3045, 2650 }, + { 0x3046, 2653 }, + { 0x3047, 1294 }, + { 0x3048, 2647 }, + { 0x3049, 3832 }, + { 0x304A, 2644 }, + { 0x304B, 3829 }, + { 0x304C, 2632 }, + { 0x304D, 2635 }, + { 0x304E, 1288 }, + { 0x304F, 2629 }, + { 0x3050, 3838 }, + { 0x3051, 2662 }, + { 0x3052, 3835 }, + { 0x3053, 2659 }, + { 0x3054, 1297 }, + { 0x3055, 2656 }, + { 0x3056, 2641 }, + { 0x3057, 1291 }, + { 0x3058, 2638 }, + { 0x3059, 2671 }, + { 0x305A, 2674 }, + { 0x305B, 1300 }, + { 0x305C, 2665 }, + { 0x305D, 3841 }, + { 0x305E, 2668 }, + { 0x305F, 2683 }, + { 0x3060, 2686 }, + { 0x3061, 1303 }, + { 0x3062, 2677 }, + { 0x3063, 3844 }, + { 0x3064, 2680 }, + { 0x3065, 1498 }, + { 0x3066, 1501 }, + { 0x3067, 730 }, + { 0x3068, 1495 }, + { 0x3069, 2920 }, + { 0x306A, 2923 }, + { 0x306B, 1492 }, + { 0x306C, 2917 }, + { 0x306D, 1480 }, + { 0x306E, 1483 }, + { 0x306F, 724 }, + { 0x3070, 1477 }, + { 0x3071, 2929 }, + { 0x3072, 2932 }, + { 0x3073, 1513 }, + { 0x3074, 2926 }, + { 0x3075, 1507 }, + { 0x3076, 1510 }, + { 0x3077, 733 }, + { 0x3078, 1504 }, + { 0x3079, 1489 }, + { 0x307A, 727 }, + { 0x307B, 1486 }, + { 0x307C, 1522 }, + { 0x307D, 1525 }, + { 0x307E, 736 }, + { 0x307F, 1516 }, + { 0x3080, 2935 }, + { 0x3081, 1519 }, + { 0x3082, 1534 }, + { 0x3083, 1537 }, + { 0x3084, 739 }, + { 0x3085, 1528 }, + { 0x3086, 2938 }, + { 0x3087, 1531 }, + { 0x3088, 1237 }, + { 0x3089, 1240 }, + { 0x308A, 667 }, + { 0x308B, 1234 }, + { 0x308C, 2608 }, + { 0x308D, 2611 }, + { 0x308E, 1231 }, + { 0x308F, 2605 }, + { 0x3090, 1201 }, + { 0x3091, 1204 }, + { 0x3092, 661 }, + { 0x3093, 1198 }, + { 0x3094, 2617 }, + { 0x3095, 2620 }, + { 0x3096, 1252 }, + { 0x3097, 2614 }, + { 0x3098, 1246 }, + { 0x3099, 1249 }, + { 0x309A, 670 }, + { 0x309B, 1243 }, + { 0x309C, 1210 }, + { 0x309D, 1213 }, + { 0x309E, 664 }, + { 0x309F, 1207 }, + { 0x30A0, 1261 }, + { 0x30A1, 1264 }, + { 0x30A2, 673 }, + { 0x30A3, 1255 }, + { 0x30A4, 2623 }, + { 0x30A5, 1258 }, + { 0x30A6, 1447 }, + { 0x30A7, 1450 }, + { 0x30A8, 715 }, + { 0x30A9, 1444 }, + { 0x30AA, 2905 }, + { 0x30AB, 1441 }, + { 0x30AC, 2902 }, + { 0x30AD, 1426 }, + { 0x30AE, 1429 }, + { 0x30AF, 709 }, + { 0x30B0, 1423 }, + { 0x30B1, 2911 }, + { 0x30B2, 1462 }, + { 0x30B3, 2908 }, + { 0x30B4, 1456 }, + { 0x30B5, 1459 }, + { 0x30B6, 718 }, + { 0x30B7, 1453 }, + { 0x30B8, 1435 }, + { 0x30B9, 1438 }, + { 0x30BA, 712 }, + { 0x30BB, 1432 }, + { 0x30BC, 1471 }, + { 0x30BD, 1474 }, + { 0x30BE, 721 }, + { 0x30BF, 1465 }, + { 0x30C0, 2914 }, + { 0x30C1, 1468 }, + { 0x30C2, 2575 }, + { 0x30C3, 2578 }, + { 0x30C4, 1222 }, + { 0x30C5, 3814 }, + { 0x30C6, 2572 }, + { 0x30C7, 3811 }, + { 0x30C8, 2557 }, + { 0x30C9, 2560 }, + { 0x30CA, 1216 }, + { 0x30CB, 2554 }, + { 0x30CC, 3820 }, + { 0x30CD, 3823 }, + { 0x30CE, 2590 }, + { 0x30CF, 3817 }, + { 0x30D0, 2584 }, + { 0x30D1, 2587 }, + { 0x30D2, 1225 }, + { 0x30D3, 2581 }, + { 0x30D4, 2566 }, + { 0x30D5, 2569 }, + { 0x30D6, 1219 }, + { 0x30D7, 2563 }, + { 0x30D8, 2599 }, + { 0x30D9, 2602 }, + { 0x30DA, 1228 }, + { 0x30DB, 2593 }, + { 0x30DC, 3826 }, + { 0x30DD, 2596 }, + { 0x30DE, 3913 }, + { 0x30DF, 2956 }, + { 0x30E0, 2944 }, + { 0x30E1, 2947 }, + { 0x30E2, 1552 }, + { 0x30E3, 2941 }, + { 0x30E4, 3919 }, + { 0x30E5, 2968 }, + { 0x30E6, 3916 }, + { 0x30E7, 2962 }, + { 0x30E8, 2965 }, + { 0x30E9, 1558 }, + { 0x30EA, 2959 }, + { 0x30EB, 2953 }, + { 0x30EC, 1555 }, + { 0x30ED, 2950 }, + { 0x30EE, 2977 }, + { 0x30EF, 2980 }, + { 0x30F0, 1561 }, + { 0x30F1, 2971 }, + { 0x30F2, 3922 }, + { 0x30F3, 2974 }, + { 0x30F4, 2815 }, + { 0x30F5, 2818 }, + { 0x30F6, 1348 }, + { 0x30F7, 2812 }, + { 0x30F8, 3880 }, + { 0x30F9, 3883 }, + { 0x30FA, 2809 }, + { 0x30FB, 3877 }, + { 0x30FC, 2797 }, + { 0x30FD, 2800 }, + { 0x30FE, 1342 }, + { 0x30FF, 2794 }, + { 0x3100, 3889 }, + { 0x3101, 3892 }, + { 0x3102, 2830 }, + { 0x3103, 3886 }, + { 0x3104, 2824 }, + { 0x3105, 2827 }, + { 0x3106, 1351 }, + { 0x3107, 2821 }, + { 0x3108, 2806 }, + { 0x3109, 1345 }, + { 0x310A, 2803 }, + { 0x310B, 3946 }, + { 0x310C, 3118 }, + { 0x310D, 3943 }, + { 0x310E, 3106 }, + { 0x310F, 3109 }, + { 0x3110, 1651 }, + { 0x3111, 3103 }, + { 0x3112, 3949 }, + { 0x3113, 3952 }, + { 0x3114, 3130 }, + { 0x3115, 3124 }, + { 0x3116, 3127 }, + { 0x3117, 1657 }, + { 0x3118, 3121 }, + { 0x3119, 3115 }, + { 0x311A, 1654 }, + { 0x311B, 3112 }, + { 0x311C, 1285 }, + { 0x311D, 2626 }, + { 0x311E, 1282 }, + { 0x311F, 1270 }, + { 0x3120, 1273 }, + { 0x3121, 676 }, + { 0x3122, 1267 }, + { 0x3123, 2788 }, + { 0x3124, 2791 }, + { 0x3125, 1339 }, + { 0x3126, 2785 }, + { 0x3127, 1333 }, + { 0x3128, 1336 }, + { 0x3129, 682 }, + { 0x312A, 1330 }, + { 0x312B, 1279 }, + { 0x312C, 679 }, + { 0x312D, 1276 }, + { 0x312E, 2134 }, + { 0x312F, 2137 }, + { 0x3130, 877 }, + { 0x3131, 2131 }, + { 0x3132, 3595 }, + { 0x3133, 2152 }, + { 0x3134, 3592 }, + { 0x3135, 2149 }, + { 0x3136, 883 }, + { 0x3137, 2146 }, + { 0x3138, 2143 }, + { 0x3139, 880 }, + { 0x313A, 2140 }, + { 0x313B, 2275 }, + { 0x313C, 2278 }, + { 0x313D, 916 }, + { 0x313E, 2272 }, + { 0x313F, 3694 }, + { 0x3140, 2269 }, + { 0x3141, 3691 }, + { 0x3142, 2242 }, + { 0x3143, 2245 }, + { 0x3144, 910 }, + { 0x3145, 2239 }, + { 0x3146, 3700 }, + { 0x3147, 2290 }, + { 0x3148, 3697 }, + { 0x3149, 2284 }, + { 0x314A, 2287 }, + { 0x314B, 919 }, + { 0x314C, 2281 }, + { 0x314D, 2251 }, + { 0x314E, 913 }, + { 0x314F, 2248 }, + { 0x3150, 2299 }, + { 0x3151, 2302 }, + { 0x3152, 922 }, + { 0x3153, 2293 }, + { 0x3154, 3703 }, + { 0x3155, 2296 }, + { 0x3156, 2311 }, + { 0x3157, 2314 }, + { 0x3158, 925 }, + { 0x3159, 2305 }, + { 0x315A, 3706 }, + { 0x315B, 2308 }, + { 0x315C, 1045 }, + { 0x315D, 1048 }, + { 0x315E, 616 }, + { 0x315F, 1042 }, + { 0x3160, 2470 }, + { 0x3161, 2473 }, + { 0x3162, 1039 }, + { 0x3163, 2467 }, + { 0x3164, 1012 }, + { 0x3165, 1015 }, + { 0x3166, 610 }, + { 0x3167, 1009 }, + { 0x3168, 2479 }, + { 0x3169, 1060 }, + { 0x316A, 2476 }, + { 0x316B, 1054 }, + { 0x316C, 1057 }, + { 0x316D, 619 }, + { 0x316E, 1051 }, + { 0x316F, 1021 }, + { 0x3170, 613 }, + { 0x3171, 1018 }, + { 0x3172, 1069 }, + { 0x3173, 1072 }, + { 0x3174, 622 }, + { 0x3175, 1063 }, + { 0x3176, 2482 }, + { 0x3177, 1066 }, + { 0x3178, 1081 }, + { 0x3179, 1084 }, + { 0x317A, 625 }, + { 0x317B, 1075 }, + { 0x317C, 2485 }, + { 0x317D, 1078 }, + { 0x317E, 3730 }, + { 0x317F, 3733 }, + { 0x3180, 2323 }, + { 0x3181, 3727 }, + { 0x3182, 4054 }, + { 0x3183, 4057 }, + { 0x3184, 3724 }, + { 0x3185, 4051 }, + { 0x3186, 3712 }, + { 0x3187, 3715 }, + { 0x3188, 2317 }, + { 0x3189, 3709 }, + { 0x318A, 3739 }, + { 0x318B, 2326 }, + { 0x318C, 3736 }, + { 0x318D, 3721 }, + { 0x318E, 2320 }, + { 0x318F, 3718 }, + { 0x3190, 3748 }, + { 0x3191, 2329 }, + { 0x3192, 3742 }, + { 0x3193, 4060 }, + { 0x3194, 3745 }, + { 0x3195, 3757 }, + { 0x3196, 3760 }, + { 0x3197, 2332 }, + { 0x3198, 3751 }, + { 0x3199, 4063 }, + { 0x319A, 3754 }, + { 0x319B, 3292 }, + { 0x319C, 3295 }, + { 0x319D, 1738 }, + { 0x319E, 3289 }, + { 0x319F, 3997 }, + { 0x31A0, 3286 }, + { 0x31A1, 3994 }, + { 0x31A2, 3277 }, + { 0x31A3, 3280 }, + { 0x31A4, 1732 }, + { 0x31A5, 3274 }, + { 0x31A6, 4000 }, + { 0x31A7, 3304 }, + { 0x31A8, 3301 }, + { 0x31A9, 3298 }, + { 0x31AA, 3283 }, + { 0x31AB, 1735 }, + { 0x31AC, 3313 }, + { 0x31AD, 1741 }, + { 0x31AE, 3307 }, + { 0x31AF, 4003 }, + { 0x31B0, 3310 }, + { 0x31B1, 3322 }, + { 0x31B2, 3325 }, + { 0x31B3, 1744 }, + { 0x31B4, 3316 }, + { 0x31B5, 4006 }, + { 0x31B6, 3319 }, + { 0x31B7, 1954 }, + { 0x31B8, 1957 }, + { 0x31B9, 832 }, + { 0x31BA, 1951 }, + { 0x31BB, 3487 }, + { 0x31BC, 1948 }, + { 0x31BD, 3484 }, + { 0x31BE, 1921 }, + { 0x31BF, 1924 }, + { 0x31C0, 826 }, + { 0x31C1, 1918 }, + { 0x31C2, 3550 }, + { 0x31C3, 1987 }, + { 0x31C4, 3547 }, + { 0x31C5, 1963 }, + { 0x31C6, 1966 }, + { 0x31C7, 835 }, + { 0x31C8, 1960 }, + { 0x31C9, 1930 }, + { 0x31CA, 829 }, + { 0x31CB, 1927 }, + { 0x31CC, 1996 }, + { 0x31CD, 1999 }, + { 0x31CE, 838 }, + { 0x31CF, 1990 }, + { 0x31D0, 3553 }, + { 0x31D1, 1993 }, + { 0x31D2, 2008 }, + { 0x31D3, 2011 }, + { 0x31D4, 841 }, + { 0x31D5, 2002 }, + { 0x31D6, 3556 }, + { 0x31D7, 2005 }, + { 0x31D8, 3511 }, + { 0x31D9, 3514 }, + { 0x31DA, 1975 }, + { 0x31DB, 3508 }, + { 0x31DC, 4033 }, + { 0x31DD, 3505 }, + { 0x31DE, 4030 }, + { 0x31DF, 3493 }, + { 0x31E0, 3496 }, + { 0x31E1, 1969 }, + { 0x31E2, 3490 }, + { 0x31E3, 3520 }, + { 0x31E4, 3523 }, + { 0x31E5, 1978 }, + { 0x31E6, 3517 }, + { 0x31E7, 3502 }, + { 0x31E8, 1972 }, + { 0x31E9, 3499 }, + { 0x31EA, 3529 }, + { 0x31EB, 3532 }, + { 0x31EC, 1981 }, + { 0x31ED, 3526 }, + { 0x31EE, 3541 }, + { 0x31EF, 3544 }, + { 0x31F0, 1984 }, + { 0x31F1, 3535 }, + { 0x31F2, 4036 }, + { 0x31F3, 3538 }, + { 0x31F4, 3640 }, + { 0x31F5, 3643 }, + { 0x31F6, 2254 }, + { 0x31F7, 3637 }, + { 0x31F8, 4042 }, + { 0x31F9, 3664 }, + { 0x31FA, 4039 }, + { 0x31FB, 3658 }, + { 0x31FC, 3661 }, + { 0x31FD, 2260 }, + { 0x31FE, 3655 }, + { 0x31FF, 3649 }, + { 0x3200, 3652 }, + { 0x3201, 2257 }, + { 0x3202, 3646 }, + { 0x3203, 3673 }, + { 0x3204, 3676 }, + { 0x3205, 2263 }, + { 0x3206, 3667 }, + { 0x3207, 4045 }, + { 0x3208, 3670 }, + { 0x3209, 3685 }, + { 0x320A, 3688 }, + { 0x320B, 2266 }, + { 0x320C, 3679 }, + { 0x320D, 4048 }, + { 0x320E, 3682 }, + { 0x320F, 2419 }, + { 0x3210, 2422 }, + { 0x3211, 1024 }, + { 0x3212, 2416 }, + { 0x3213, 3784 }, + { 0x3214, 3787 }, + { 0x3215, 2443 }, + { 0x3216, 3781 }, + { 0x3217, 2437 }, + { 0x3218, 2440 }, + { 0x3219, 1030 }, + { 0x321A, 2434 }, + { 0x321B, 2428 }, + { 0x321C, 2431 }, + { 0x321D, 1027 }, + { 0x321E, 2425 }, + { 0x321F, 2452 }, + { 0x3220, 1033 }, + { 0x3221, 2446 }, + { 0x3222, 3790 }, + { 0x3223, 2449 }, + { 0x3224, 2461 }, + { 0x3225, 2464 }, + { 0x3226, 1036 }, + { 0x3227, 2455 }, + { 0x3228, 3793 }, + { 0x3229, 2458 }, + { 0x322A, 3370 }, + { 0x322B, 1876 }, + { 0x322C, 4009 }, + { 0x322D, 3391 }, + { 0x322E, 3385 }, + { 0x322F, 3388 }, + { 0x3230, 1882 }, + { 0x3231, 3382 }, + { 0x3232, 3376 }, + { 0x3233, 3379 }, + { 0x3234, 1879 }, + { 0x3235, 3373 }, + { 0x3236, 3400 }, + { 0x3237, 3403 }, + { 0x3238, 1885 }, + { 0x3239, 3394 }, + { 0x323A, 4012 }, + { 0x323B, 3397 }, + { 0x323C, 3412 }, + { 0x323D, 3415 }, + { 0x323E, 1888 }, + { 0x323F, 3406 }, + { 0x3240, 4015 }, + { 0x3241, 3409 }, + { 0x3242, 3187 }, + { 0x3243, 3190 }, + { 0x3244, 1693 }, + { 0x3245, 3184 }, + { 0x3246, 3205 }, + { 0x3247, 1699 }, + { 0x3248, 3202 }, + { 0x3249, 3196 }, + { 0x324A, 3199 }, + { 0x324B, 1696 }, + { 0x324C, 3193 }, + { 0x324D, 3214 }, + { 0x324E, 3217 }, + { 0x324F, 1702 }, + { 0x3250, 3208 }, + { 0x3251, 3973 }, + { 0x3252, 3211 }, + { 0x3253, 3226 }, + { 0x3254, 3229 }, + { 0x3255, 1705 }, + { 0x3256, 3220 }, + { 0x3257, 3976 }, + { 0x3258, 3223 }, + { 0x3259, 3433 }, + { 0x325A, 3436 }, + { 0x325B, 1933 }, + { 0x325C, 3430 }, + { 0x325D, 4021 }, + { 0x325E, 3457 }, + { 0x325F, 4018 }, + { 0x3260, 3451 }, + { 0x3261, 3454 }, + { 0x3262, 1939 }, + { 0x3263, 3448 }, + { 0x3264, 3442 }, + { 0x3265, 3445 }, + { 0x3266, 1936 }, + { 0x3267, 3439 }, + { 0x3268, 3466 }, + { 0x3269, 3469 }, + { 0x326A, 1942 }, + { 0x326B, 3460 }, + { 0x326C, 4024 }, + { 0x326D, 3463 }, + { 0x326E, 3478 }, + { 0x326F, 3481 }, + { 0x3270, 1945 }, + { 0x3271, 3472 }, + { 0x3272, 4027 }, + { 0x3273, 3475 }, + { 0x3274, 1855 }, + { 0x3275, 1858 }, + { 0x3276, 811 }, + { 0x3277, 1852 }, + { 0x3278, 3421 }, + { 0x3279, 1891 }, + { 0x327A, 3418 }, + { 0x327B, 1870 }, + { 0x327C, 1873 }, + { 0x327D, 817 }, + { 0x327E, 1867 }, + { 0x327F, 1864 }, + { 0x3280, 814 }, + { 0x3281, 1861 }, + { 0x3282, 1900 }, + { 0x3283, 1903 }, + { 0x3284, 820 }, + { 0x3285, 1894 }, + { 0x3286, 3424 }, + { 0x3287, 1897 }, + { 0x3288, 1912 }, + { 0x3289, 1915 }, + { 0x328A, 823 }, + { 0x328B, 1906 }, + { 0x328C, 3427 }, + { 0x328D, 1909 }, + { 0x328E, 1369 }, + { 0x328F, 1372 }, + { 0x3290, 697 }, + { 0x3291, 1366 }, + { 0x3292, 2836 }, + { 0x3293, 2839 }, + { 0x3294, 1363 }, + { 0x3295, 2833 }, + { 0x3296, 2890 }, + { 0x3297, 2893 }, + { 0x3298, 1396 }, + { 0x3299, 2887 }, + { 0x329A, 1390 }, + { 0x329B, 1393 }, + { 0x329C, 700 }, + { 0x329D, 1387 }, + { 0x329E, 1405 }, + { 0x329F, 1408 }, + { 0x32A0, 703 }, + { 0x32A1, 1399 }, + { 0x32A2, 2896 }, + { 0x32A3, 1402 }, + { 0x32A4, 1417 }, + { 0x32A5, 1420 }, + { 0x32A6, 706 }, + { 0x32A7, 1411 }, + { 0x32A8, 2899 }, + { 0x32A9, 1414 }, + { 0x32AA, 1810 }, + { 0x32AB, 1813 }, + { 0x32AC, 799 }, + { 0x32AD, 1807 }, + { 0x32AE, 3349 }, + { 0x32AF, 3352 }, + { 0x32B0, 1804 }, + { 0x32B1, 3346 }, + { 0x32B2, 3358 }, + { 0x32B3, 3361 }, + { 0x32B4, 1825 }, + { 0x32B5, 3355 }, + { 0x32B6, 1819 }, + { 0x32B7, 1822 }, + { 0x32B8, 802 }, + { 0x32B9, 1816 }, + { 0x32BA, 1834 }, + { 0x32BB, 1837 }, + { 0x32BC, 805 }, + { 0x32BD, 1828 }, + { 0x32BE, 3364 }, + { 0x32BF, 1831 }, + { 0x32C0, 1846 }, + { 0x32C1, 1849 }, + { 0x32C2, 808 }, + { 0x32C3, 1840 }, + { 0x32C4, 3367 }, + { 0x32C5, 1843 }, + { 0x32C6, 2848 }, + { 0x32C7, 2851 }, + { 0x32C8, 1375 }, + { 0x32C9, 2845 }, + { 0x32CA, 3898 }, + { 0x32CB, 3901 }, + { 0x32CC, 2842 }, + { 0x32CD, 3895 }, + { 0x32CE, 3907 }, + { 0x32CF, 2863 }, + { 0x32D0, 3904 }, + { 0x32D1, 2857 }, + { 0x32D2, 2860 }, + { 0x32D3, 1378 }, + { 0x32D4, 2854 }, + { 0x32D5, 2872 }, + { 0x32D6, 2875 }, + { 0x32D7, 1381 }, + { 0x32D8, 2866 }, + { 0x32D9, 3910 }, + { 0x32DA, 2869 }, + { 0x32DB, 2881 }, + { 0x32DC, 2884 }, + { 0x32DD, 1384 }, + { 0x32DE, 2878 }, + { 0x32DF, 3145 }, + { 0x32E0, 3148 }, + { 0x32E1, 1672 }, + { 0x32E2, 3142 }, + { 0x32E3, 3958 }, + { 0x32E4, 3961 }, + { 0x32E5, 3139 }, + { 0x32E6, 3955 }, + { 0x32E7, 3964 }, + { 0x32E8, 3160 }, + { 0x32E9, 3154 }, + { 0x32EA, 3157 }, + { 0x32EB, 1675 }, + { 0x32EC, 3151 }, + { 0x32ED, 3169 }, + { 0x32EE, 1678 }, + { 0x32EF, 3163 }, + { 0x32F0, 3967 }, + { 0x32F1, 3166 }, + { 0x32F2, 3178 }, + { 0x32F3, 3181 }, + { 0x32F4, 1681 }, + { 0x32F5, 3172 }, + { 0x32F6, 3970 }, + { 0x32F7, 3175 }, + { 0x32F8, 3247 }, + { 0x32F9, 3250 }, + { 0x32FA, 1723 }, + { 0x32FB, 3244 }, + { 0x32FC, 3982 }, + { 0x32FD, 3985 }, + { 0x32FE, 3241 }, + { 0x32FF, 3979 }, + { 0x3300, 3991 }, + { 0x3301, 3262 }, + { 0x3302, 3988 }, + { 0x3303, 3256 }, + { 0x3304, 3259 }, + { 0x3305, 1726 }, + { 0x3306, 3253 }, + { 0x3307, 3268 }, + { 0x3308, 3271 }, + { 0x3309, 1729 }, + { 0x330A, 3265 }, + { 0x330B, 2161 }, + { 0x330C, 2164 }, + { 0x330D, 889 }, + { 0x330E, 2158 }, + { 0x330F, 3601 }, + { 0x3310, 3604 }, + { 0x3311, 2155 }, + { 0x3312, 3598 }, + { 0x3313, 3607 }, + { 0x3314, 2176 }, + { 0x3315, 2170 }, + { 0x3316, 2173 }, + { 0x3317, 892 }, + { 0x3318, 2167 }, + { 0x3319, 2185 }, + { 0x331A, 2188 }, + { 0x331B, 895 }, + { 0x331C, 2179 }, + { 0x331D, 3610 }, + { 0x331E, 2182 }, + { 0x331F, 2197 }, + { 0x3320, 2200 }, + { 0x3321, 898 }, + { 0x3322, 2194 }, + { 0x3323, 3616 }, + { 0x3324, 3619 }, + { 0x3325, 2191 }, + { 0x3326, 3613 }, + { 0x3327, 3625 }, + { 0x3328, 3628 }, + { 0x3329, 2212 }, + { 0x332A, 3622 }, + { 0x332B, 2206 }, + { 0x332C, 2209 }, + { 0x332D, 901 }, + { 0x332E, 2203 }, + { 0x332F, 2221 }, + { 0x3330, 2224 }, + { 0x3331, 904 }, + { 0x3332, 2215 }, + { 0x3333, 3631 }, + { 0x3334, 2218 }, + { 0x3335, 2233 }, + { 0x3336, 2236 }, + { 0x3337, 907 }, + { 0x3338, 2227 }, + { 0x3339, 3634 }, + { 0x333A, 2230 }, + { 0x333B, 487 }, + { 0x333C, 421 }, + { 0x333D, 469 }, + { 0x333E, 550 }, + { 0x333F, 451 }, + { 0x3340, 493 }, + { 0x3341, 526 }, + { 0x3342, 457 }, + { 0x3343, 424 }, + { 0x3344, 532 }, + { 0x3345, 475 }, + { 0x3346, 517 }, + { 0x3347, 478 }, + { 0x3348, 436 }, + { 0x3349, 481 }, + { 0x334A, 538 }, + { 0x334B, 496 }, + { 0x334C, 412 }, + { 0x334D, 511 }, + { 0x334E, 454 }, + { 0x334F, 523 }, + { 0x3350, 442 }, + { 0x3351, 529 }, + { 0x3352, 553 }, + { 0x3353, 430 }, + { 0x3354, 427 }, + { 0x3355, 544 }, + { 0x3356, 508 }, + { 0x3357, 484 }, + { 0x3358, 463 }, + { 0x3359, 505 }, + { 0x335A, 502 }, + { 0x335B, 490 }, + { 0x335C, 499 }, + { 0x335D, 439 }, + { 0x335E, 415 }, + { 0x335F, 556 }, + { 0x3360, 466 }, + { 0x3361, 460 }, + { 0x3362, 541 }, + { 0x3363, 433 }, + { 0x3364, 409 }, + { 0x3365, 565 }, + { 0x3366, 472 }, + { 0x3367, 406 }, + { 0x3368, 520 }, + { 0x3369, 448 }, + { 0x336A, 535 }, + { 0x336B, 559 }, + { 0x336C, 514 }, + { 0x336D, 562 }, + { 0x336E, 445 }, + { 0x336F, 568 }, + { 0x3370, 547 }, + { 0x3371, 418 }, + { 0x3372, 13180 }, + { 0x3373, 13219 }, + { 0x3374, 13264 }, + { 0x3375, 13186 }, + { 0x3376, 13225 }, + { 0x3377, 13270 }, + { 0x3378, 13195 }, + { 0x3379, 13204 }, + { 0x337A, 13258 }, + { 0x337B, 13201 }, + { 0x337C, 13183 }, + { 0x337D, 13246 }, + { 0x337E, 13249 }, + { 0x337F, 13273 }, + { 0x3380, 13309 }, + { 0x3381, 13210 }, + { 0x3382, 13213 }, + { 0x3383, 13207 }, + { 0x3384, 13222 }, + { 0x3385, 13276 }, + { 0x3386, 13243 }, + { 0x3387, 13261 }, + { 0x3388, 13198 }, + { 0x3389, 13237 }, + { 0x338A, 13255 }, + { 0x338B, 13192 }, + { 0x338C, 13234 }, + { 0x338D, 13267 }, + { 0x338E, 13240 }, + { 0x338F, 13252 }, + { 0x3390, 13162 }, + { 0x3391, 13177 }, + { 0x3392, 13165 }, + { 0x3393, 13189 }, + { 0x3394, 13168 }, + { 0x3395, 13171 }, + { 0x3396, 13174 }, + { 0x3397, 13228 }, + { 0x3398, 13231 }, + { 0x3399, 13216 }, + { 0x339A, 13294 }, + { 0x339B, 13279 }, + { 0x339C, 13299 }, + { 0x339D, 13284 }, + { 0x339E, 13289 }, + { 0x339F, 13304 }, + { 0x33A0, 13316 }, + { 0x33A1, 13312 }, + { 0x33A2, 11075 }, + { 0x33A3, 11384 }, + { 0x33A4, 11420 }, + { 0x33A5, 11612 }, + { 0x33A6, 11783 }, + { 0x33A7, 11549 }, + { 0x33A8, 11657 }, + { 0x33A9, 11336 }, + { 0x33AA, 11708 }, + { 0x33AB, 11699 }, + { 0x33AC, 11801 }, + { 0x33AD, 11684 }, + { 0x33AE, 11387 }, + { 0x33AF, 11603 }, + { 0x33B0, 11582 }, + { 0x33B1, 11777 }, + { 0x33B2, 11663 }, + { 0x33B3, 11795 }, + { 0x33B4, 11468 }, + { 0x33B5, 11555 }, + { 0x33B6, 11363 }, + { 0x33B7, 11729 }, + { 0x33B8, 11561 }, + { 0x33B9, 11771 }, + { 0x33BA, 11636 }, + { 0x33BB, 11789 }, + { 0x33BC, 11357 }, + { 0x33BD, 11438 }, + { 0x33BE, 11759 }, + { 0x33BF, 11630 }, + { 0x33C0, 11447 }, + { 0x33C1, 11827 }, + { 0x33C2, 11408 }, + { 0x33C3, 11489 }, + { 0x33C4, 11510 }, + { 0x33C5, 11765 }, + { 0x33C6, 11018 }, + { 0x33C7, 11126 }, + { 0x33C8, 11117 }, + { 0x33C9, 11426 }, + { 0x33CA, 11297 }, + { 0x33CB, 11618 }, + { 0x33CC, 11219 }, + { 0x33CD, 11345 }, + { 0x33CE, 11036 }, + { 0x33CF, 11480 }, + { 0x33D0, 11459 }, + { 0x33D1, 11720 }, + { 0x33D2, 11399 }, + { 0x33D3, 11087 }, + { 0x33D4, 11282 }, + { 0x33D5, 11264 }, + { 0x33D6, 11591 }, + { 0x33D7, 11372 }, + { 0x33D8, 11672 }, + { 0x33D9, 11165 }, + { 0x33DA, 11234 }, + { 0x33DB, 11066 }, + { 0x33DC, 11501 }, + { 0x33DD, 11249 }, + { 0x33DE, 11570 }, + { 0x33DF, 11327 }, + { 0x33E0, 11645 }, + { 0x33E1, 11051 }, + { 0x33E2, 11135 }, + { 0x33E3, 11519 }, + { 0x33E4, 11312 }, + { 0x33E5, 11150 }, + { 0x33E6, 11747 }, + { 0x33E7, 11102 }, + { 0x33E8, 11180 }, + { 0x33E9, 11198 }, + { 0x33EA, 11537 }, + { 0x33EB, 11012 }, + { 0x33EC, 11027 }, + { 0x33ED, 11735 }, + { 0x33EE, 11111 }, + { 0x33EF, 11417 }, + { 0x33F0, 11291 }, + { 0x33F1, 11609 }, + { 0x33F2, 11213 }, + { 0x33F3, 11339 }, + { 0x33F4, 11030 }, + { 0x33F5, 11474 }, + { 0x33F6, 11453 }, + { 0x33F7, 11696 }, + { 0x33F8, 11714 }, + { 0x33F9, 11393 }, + { 0x33FA, 11081 }, + { 0x33FB, 11276 }, + { 0x33FC, 11258 }, + { 0x33FD, 11585 }, + { 0x33FE, 11366 }, + { 0x33FF, 11666 }, + { 0x3400, 11159 }, + { 0x3401, 11228 }, + { 0x3402, 11060 }, + { 0x3403, 11495 }, + { 0x3404, 11243 }, + { 0x3405, 11564 }, + { 0x3406, 11321 }, + { 0x3407, 11639 }, + { 0x3408, 11045 }, + { 0x3409, 11129 }, + { 0x340A, 11513 }, + { 0x340B, 11306 }, + { 0x340C, 11144 }, + { 0x340D, 11444 }, + { 0x340E, 11741 }, + { 0x340F, 11096 }, + { 0x3410, 11174 }, + { 0x3411, 11189 }, + { 0x3412, 11531 }, + { 0x3413, 11210 }, + { 0x3414, 11546 }, + { 0x3415, 11432 }, + { 0x3416, 11624 }, + { 0x3417, 11786 }, + { 0x3418, 11552 }, + { 0x3419, 11660 }, + { 0x341A, 11354 }, + { 0x341B, 11711 }, + { 0x341C, 11705 }, + { 0x341D, 11804 }, + { 0x341E, 11693 }, + { 0x341F, 11390 }, + { 0x3420, 11606 }, + { 0x3421, 11600 }, + { 0x3422, 11780 }, + { 0x3423, 11681 }, + { 0x3424, 11798 }, + { 0x3425, 11471 }, + { 0x3426, 11558 }, + { 0x3427, 11381 }, + { 0x3428, 11732 }, + { 0x3429, 11579 }, + { 0x342A, 11774 }, + { 0x342B, 11654 }, + { 0x342C, 11792 }, + { 0x342D, 11360 }, + { 0x342E, 11441 }, + { 0x342F, 11762 }, + { 0x3430, 11633 }, + { 0x3431, 11450 }, + { 0x3432, 11833 }, + { 0x3433, 11414 }, + { 0x3434, 11492 }, + { 0x3435, 11528 }, + { 0x3436, 11768 }, + { 0x3437, 11024 }, + { 0x3438, 11273 }, + { 0x3439, 11123 }, + { 0x343A, 11435 }, + { 0x343B, 11303 }, + { 0x343C, 11627 }, + { 0x343D, 11225 }, + { 0x343E, 11351 }, + { 0x343F, 11042 }, + { 0x3440, 11486 }, + { 0x3441, 11465 }, + { 0x3442, 11726 }, + { 0x3443, 11405 }, + { 0x3444, 11093 }, + { 0x3445, 11288 }, + { 0x3446, 11270 }, + { 0x3447, 11597 }, + { 0x3448, 11378 }, + { 0x3449, 11678 }, + { 0x344A, 11171 }, + { 0x344B, 11240 }, + { 0x344C, 11072 }, + { 0x344D, 11507 }, + { 0x344E, 11255 }, + { 0x344F, 11576 }, + { 0x3450, 11333 }, + { 0x3451, 11651 }, + { 0x3452, 11057 }, + { 0x3453, 11141 }, + { 0x3454, 11525 }, + { 0x3455, 11318 }, + { 0x3456, 11156 }, + { 0x3457, 11753 }, + { 0x3458, 11108 }, + { 0x3459, 11186 }, + { 0x345A, 11204 }, + { 0x345B, 11543 }, + { 0x345C, 11021 }, + { 0x345D, 11207 }, + { 0x345E, 11756 }, + { 0x345F, 11120 }, + { 0x3460, 11429 }, + { 0x3461, 11300 }, + { 0x3462, 11621 }, + { 0x3463, 11222 }, + { 0x3464, 11348 }, + { 0x3465, 11039 }, + { 0x3466, 11483 }, + { 0x3467, 11462 }, + { 0x3468, 11723 }, + { 0x3469, 11402 }, + { 0x346A, 11690 }, + { 0x346B, 11090 }, + { 0x346C, 11285 }, + { 0x346D, 11267 }, + { 0x346E, 11594 }, + { 0x346F, 11375 }, + { 0x3470, 11675 }, + { 0x3471, 11168 }, + { 0x3472, 11237 }, + { 0x3473, 11069 }, + { 0x3474, 11504 }, + { 0x3475, 11252 }, + { 0x3476, 11573 }, + { 0x3477, 11330 }, + { 0x3478, 11648 }, + { 0x3479, 11054 }, + { 0x347A, 11138 }, + { 0x347B, 11522 }, + { 0x347C, 11315 }, + { 0x347D, 11153 }, + { 0x347E, 11750 }, + { 0x347F, 11105 }, + { 0x3480, 11183 }, + { 0x3481, 11201 }, + { 0x3482, 11540 }, + { 0x3483, 11015 }, + { 0x3484, 11078 }, + { 0x3485, 11738 }, + { 0x3486, 11114 }, + { 0x3487, 11423 }, + { 0x3488, 11294 }, + { 0x3489, 11615 }, + { 0x348A, 11216 }, + { 0x348B, 11342 }, + { 0x348C, 11033 }, + { 0x348D, 11477 }, + { 0x348E, 11456 }, + { 0x348F, 11702 }, + { 0x3490, 11717 }, + { 0x3491, 11396 }, + { 0x3492, 11687 }, + { 0x3493, 11084 }, + { 0x3494, 11279 }, + { 0x3495, 11261 }, + { 0x3496, 11588 }, + { 0x3497, 11369 }, + { 0x3498, 11669 }, + { 0x3499, 11162 }, + { 0x349A, 11231 }, + { 0x349B, 11063 }, + { 0x349C, 11498 }, + { 0x349D, 11246 }, + { 0x349E, 11567 }, + { 0x349F, 11324 }, + { 0x34A0, 11642 }, + { 0x34A1, 11048 }, + { 0x34A2, 11132 }, + { 0x34A3, 11516 }, + { 0x34A4, 11309 }, + { 0x34A5, 11147 }, + { 0x34A6, 11744 }, + { 0x34A7, 11830 }, + { 0x34A8, 11099 }, + { 0x34A9, 11411 }, + { 0x34AA, 11177 }, + { 0x34AB, 11192 }, + { 0x34AC, 11534 }, + { 0x34AD, 11195 }, + { 0x34AE, 11836 }, + { 0x34AF, 10938 }, + { 0x34B0, 10935 }, + { 0x34B1, 11009 }, + { 0x34B2, 11811 }, + { 0x34B3, 11815 }, + { 0x34B4, 11823 }, + { 0x34B5, 11003 }, + { 0x34B6, 11006 }, + { 0x34B7, 10994 }, + { 0x34B8, 10973 }, + { 0x34B9, 10979 }, + { 0x34BA, 10970 }, + { 0x34BB, 10976 }, + { 0x34BC, 10982 }, + { 0x34BD, 11000 }, + { 0x34BE, 10991 }, + { 0x34BF, 10997 }, + { 0x34C0, 10985 }, + { 0x34C1, 10988 }, + { 0x34C2, 10958 }, + { 0x34C3, 10940 }, + { 0x34C4, 10946 }, + { 0x34C5, 10967 }, + { 0x34C6, 10952 }, + { 0x34C7, 10949 }, + { 0x34C8, 10943 }, + { 0x34C9, 10964 }, + { 0x34CA, 10961 }, + { 0x34CB, 10955 }, + { 0x34CC, 11819 }, + { 0x34CD, 11807 }, + { 0x34CE, 75025 }, + { 0x34CF, 74059 }, + { 0x34D0, 74933 }, + { 0x34D1, 73962 }, + { 0x34D2, 75105 }, + { 0x34D3, 74148 }, + { 0x34D4, 74804 }, + { 0x34D5, 73812 }, + { 0x34D6, 74929 }, + { 0x34D7, 73958 }, + { 0x34D8, 75164 }, + { 0x34D9, 74207 }, + { 0x34DA, 74924 }, + { 0x34DB, 73953 }, + { 0x34DC, 75056 }, + { 0x34DD, 74090 }, + { 0x34DE, 74902 }, + { 0x34DF, 73931 }, + { 0x34E0, 75077 }, + { 0x34E1, 74116 }, + { 0x34E2, 75095 }, + { 0x34E3, 74138 }, + { 0x34E4, 75061 }, + { 0x34E5, 74100 }, + { 0x34E6, 75003 }, + { 0x34E7, 74032 }, + { 0x34E8, 75034 }, + { 0x34E9, 74068 }, + { 0x34EA, 75082 }, + { 0x34EB, 74121 }, + { 0x34EC, 74596 }, + { 0x34ED, 73604 }, + { 0x34EE, 75110 }, + { 0x34EF, 74153 }, + { 0x34F0, 74862 }, + { 0x34F1, 73870 }, + { 0x34F2, 74867 }, + { 0x34F3, 73875 }, + { 0x34F4, 74872 }, + { 0x34F5, 73880 }, + { 0x34F6, 75159 }, + { 0x34F7, 74202 }, + { 0x34F8, 75154 }, + { 0x34F9, 74197 }, + { 0x34FA, 75014 }, + { 0x34FB, 74043 }, + { 0x34FC, 74267 }, + { 0x34FD, 91435 }, + { 0x34FE, 91409 }, + { 0x34FF, 91619 }, + { 0x3500, 91639 }, + { 0x3501, 86200 }, + { 0x3502, 91614 }, + { 0x3503, 91445 }, + { 0x3504, 91513 }, + { 0x3505, 91453 }, + { 0x3506, 91558 }, + { 0x3507, 91568 }, + { 0x3508, 91563 }, + { 0x3509, 91580 }, + { 0x350A, 91438 }, + { 0x350B, 91629 }, + { 0x350C, 74257 }, + { 0x350D, 75199 }, + { 0x350E, 74652 }, + { 0x350F, 73660 }, + { 0x3510, 74787 }, + { 0x3511, 73795 }, + { 0x3512, 74915 }, + { 0x3513, 73944 }, + { 0x3514, 74775 }, + { 0x3515, 73783 }, + { 0x3516, 74791 }, + { 0x3517, 73799 }, + { 0x3518, 74563 }, + { 0x3519, 73571 }, + { 0x351A, 74741 }, + { 0x351B, 73749 }, + { 0x351C, 74894 }, + { 0x351D, 73918 }, + { 0x351E, 74890 }, + { 0x351F, 73914 }, + { 0x3520, 74882 }, + { 0x3521, 73906 }, + { 0x3522, 74701 }, + { 0x3523, 73709 }, + { 0x3524, 74858 }, + { 0x3525, 73866 }, + { 0x3526, 75009 }, + { 0x3527, 74038 }, + { 0x3528, 75039 }, + { 0x3529, 74073 }, + { 0x352A, 84871 }, + { 0x352B, 84876 }, + { 0x352C, 91465 }, + { 0x352D, 91598 }, + { 0x352E, 15763 }, + { 0x352F, 15784 }, + { 0x3530, 15775 }, + { 0x3531, 15793 }, + { 0x3532, 15778 }, + { 0x3533, 15883 }, + { 0x3534, 15904 }, + { 0x3535, 15772 }, + { 0x3536, 15871 }, + { 0x3537, 15766 }, + { 0x3538, 15796 }, + { 0x3539, 15826 }, + { 0x353A, 15889 }, + { 0x353B, 15964 }, + { 0x353C, 15976 }, + { 0x353D, 15979 }, + { 0x353E, 15901 }, + { 0x353F, 15934 }, + { 0x3540, 15982 }, + { 0x3541, 15769 }, + { 0x3542, 15898 }, + { 0x3543, 15814 }, + { 0x3544, 15970 }, + { 0x3545, 15835 }, + { 0x3546, 15991 }, + { 0x3547, 15967 }, + { 0x3548, 15925 }, + { 0x3549, 15856 }, + { 0x354A, 15952 }, + { 0x354B, 15823 }, + { 0x354C, 15985 }, + { 0x354D, 15916 }, + { 0x354E, 15895 }, + { 0x354F, 15919 }, + { 0x3550, 15844 }, + { 0x3551, 15943 }, + { 0x3552, 15922 }, + { 0x3553, 15955 }, + { 0x3554, 15940 }, + { 0x3555, 15946 }, + { 0x3556, 15877 }, + { 0x3557, 15913 }, + { 0x3558, 15874 }, + { 0x3559, 15847 }, + { 0x355A, 15832 }, + { 0x355B, 15802 }, + { 0x355C, 15808 }, + { 0x355D, 15820 }, + { 0x355E, 15961 }, + { 0x355F, 15880 }, + { 0x3560, 15853 }, + { 0x3561, 16000 }, + { 0x3562, 15937 }, + { 0x3563, 15868 }, + { 0x3564, 15892 }, + { 0x3565, 15958 }, + { 0x3566, 15781 }, + { 0x3567, 15850 }, + { 0x3568, 15841 }, + { 0x3569, 15817 }, + { 0x356A, 15799 }, + { 0x356B, 15829 }, + { 0x356C, 15862 }, + { 0x356D, 15790 }, + { 0x356E, 15931 }, + { 0x356F, 15886 }, + { 0x3570, 15865 }, + { 0x3571, 15805 }, + { 0x3572, 15838 }, + { 0x3573, 15787 }, + { 0x3574, 15811 }, + { 0x3575, 15928 }, + { 0x3576, 15910 }, + { 0x3577, 15859 }, + { 0x3578, 15907 }, + { 0x3579, 15949 }, + { 0x357A, 15988 }, + { 0x357B, 15994 }, + { 0x357C, 15973 }, + { 0x357D, 15997 }, + { 0x357E, 18369 }, + { 0x357F, 18373 }, + { 0x3580, 18364 }, + { 0x3581, 15756 }, + { 0x3582, 15759 }, + { 0x3583, 15761 }, + { 0x3584, 18377 }, + { 0x3585, 18366 }, + { 0x3586, 84824 }, + { 0x3587, 84848 }, + { 0x3588, 84830 }, + { 0x3589, 84854 }, + { 0x358A, 84812 }, + { 0x358B, 84836 }, + { 0x358C, 84818 }, + { 0x358D, 84842 }, + { 0x358E, 84934 }, + { 0x358F, 84087 }, + { 0x3590, 84044 }, + { 0x3591, 84000 }, + { 0x3592, 84903 }, + { 0x3593, 84940 }, + { 0x3594, 84093 }, + { 0x3595, 84050 }, + { 0x3596, 84006 }, + { 0x3597, 84909 }, + { 0x3598, 84947 }, + { 0x3599, 84100 }, + { 0x359A, 84057 }, + { 0x359B, 84028 }, + { 0x359C, 84916 }, + { 0x359D, 83932 }, + { 0x359E, 83928 }, + { 0x359F, 83937 }, + { 0x35A0, 84154 }, + { 0x35A1, 84650 }, + { 0x35A2, 84655 }, + { 0x35A3, 84670 }, + { 0x35A4, 84664 }, + { 0x35A5, 84017 }, + { 0x35A6, 84685 }, + { 0x35A7, 84679 }, + { 0x35A8, 30892 }, + { 0x35A9, 27824 }, + { 0x35AA, 30887 }, + { 0x35AB, 27819 }, + { 0x35AC, 30619 }, + { 0x35AD, 27105 }, + { 0x35AE, 30558 }, + { 0x35AF, 26919 }, + { 0x35B0, 30858 }, + { 0x35B1, 27773 }, + { 0x35B2, 30862 }, + { 0x35B3, 27777 }, + { 0x35B4, 30866 }, + { 0x35B5, 27781 }, + { 0x35B6, 27920 }, + { 0x35B7, 28002 }, + { 0x35B8, 30477 }, + { 0x35B9, 26784 }, + { 0x35BA, 30497 }, + { 0x35BB, 26804 }, + { 0x35BC, 30501 }, + { 0x35BD, 26808 }, + { 0x35BE, 30505 }, + { 0x35BF, 26812 }, + { 0x35C0, 30509 }, + { 0x35C1, 26816 }, + { 0x35C2, 30516 }, + { 0x35C3, 26823 }, + { 0x35C4, 30836 }, + { 0x35C5, 27687 }, + { 0x35C6, 29121 }, + { 0x35C7, 25058 }, + { 0x35C8, 29149 }, + { 0x35C9, 25093 }, + { 0x35CA, 29127 }, + { 0x35CB, 25064 }, + { 0x35CC, 30721 }, + { 0x35CD, 27329 }, + { 0x35CE, 29194 }, + { 0x35CF, 25144 }, + { 0x35D0, 29478 }, + { 0x35D1, 25526 }, + { 0x35D2, 29486 }, + { 0x35D3, 25534 }, + { 0x35D4, 30550 }, + { 0x35D5, 26888 }, + { 0x35D6, 29715 }, + { 0x35D7, 25763 }, + { 0x35D8, 29723 }, + { 0x35D9, 25778 }, + { 0x35DA, 29729 }, + { 0x35DB, 25784 }, + { 0x35DC, 29740 }, + { 0x35DD, 25808 }, + { 0x35DE, 29748 }, + { 0x35DF, 25816 }, + { 0x35E0, 29840 }, + { 0x35E1, 25950 }, + { 0x35E2, 30605 }, + { 0x35E3, 27071 }, + { 0x35E4, 30258 }, + { 0x35E5, 26471 }, + { 0x35E6, 30562 }, + { 0x35E7, 26939 }, + { 0x35E8, 30872 }, + { 0x35E9, 27787 }, + { 0x35EA, 30707 }, + { 0x35EB, 27294 }, + { 0x35EC, 30713 }, + { 0x35ED, 27300 }, + { 0x35EE, 30652 }, + { 0x35EF, 27221 }, + { 0x35F0, 30530 }, + { 0x35F1, 26854 }, + { 0x35F2, 30534 }, + { 0x35F3, 26862 }, + { 0x35F4, 30570 }, + { 0x35F5, 26963 }, + { 0x35F6, 83925 }, + { 0x35F7, 26967 }, + { 0x35F8, 27051 }, + { 0x35F9, 27055 }, + { 0x35FA, 27059 }, + { 0x35FB, 27067 }, + { 0x35FC, 28062 }, + { 0x35FD, 27082 }, + { 0x35FE, 26931 }, + { 0x35FF, 30787 }, + { 0x3600, 27602 }, + { 0x3601, 30792 }, + { 0x3602, 27607 }, + { 0x3603, 30797 }, + { 0x3604, 30771 }, + { 0x3605, 27565 }, + { 0x3606, 30746 }, + { 0x3607, 27440 }, + { 0x3608, 30802 }, + { 0x3609, 27617 }, + { 0x360A, 30807 }, + { 0x360B, 27622 }, + { 0x360C, 30812 }, + { 0x360D, 27627 }, + { 0x360E, 84034 }, + { 0x360F, 84143 }, + { 0x3610, 84179 }, + { 0x3611, 30854 }, + { 0x3612, 27729 }, + { 0x3613, 30736 }, + { 0x3614, 25240 }, + { 0x3615, 28191 }, + { 0x3616, 29383 }, + { 0x3617, 25403 }, + { 0x3618, 28471 }, + { 0x3619, 24319 }, + { 0x361A, 24376 }, + { 0x361B, 24855 }, + { 0x361C, 28461 }, + { 0x361D, 24309 }, + { 0x361E, 28810 }, + { 0x361F, 24713 }, + { 0x3620, 30821 }, + { 0x3621, 27647 }, + { 0x3622, 30826 }, + { 0x3623, 27652 }, + { 0x3624, 30831 }, + { 0x3625, 27657 }, + { 0x3626, 28869 }, + { 0x3627, 24779 }, + { 0x3628, 29142 }, + { 0x3629, 25079 }, + { 0x362A, 29376 }, + { 0x362B, 25389 }, + { 0x362C, 29826 }, + { 0x362D, 25908 }, + { 0x362E, 29923 }, + { 0x362F, 26052 }, + { 0x3630, 28900 }, + { 0x3631, 30848 }, + { 0x3632, 30726 }, + { 0x3633, 29188 }, + { 0x3634, 30697 }, + { 0x3635, 30741 }, + { 0x3636, 30756 }, + { 0x3637, 29079 }, + { 0x3638, 30566 }, + { 0x3639, 30610 }, + { 0x363A, 27086 }, + { 0x363B, 30676 }, + { 0x363C, 27253 }, + { 0x363D, 31020 }, + { 0x363E, 84719 }, + { 0x363F, 84600 }, + { 0x3640, 28085 }, + { 0x3641, 31010 }, + { 0x3642, 31015 }, + { 0x3643, 31005 }, + { 0x3644, 30995 }, + { 0x3645, 31000 }, + { 0x3646, 54556 }, + { 0x3647, 54564 }, + { 0x3648, 54527 }, + { 0x3649, 54572 }, + { 0x364A, 54560 }, + { 0x364B, 54568 }, + { 0x364C, 54519 }, + { 0x364D, 54600 }, + { 0x364E, 54656 }, + { 0x364F, 54588 }, + { 0x3650, 54648 }, + { 0x3651, 54523 }, + { 0x3652, 54580 }, + { 0x3653, 54636 }, + { 0x3654, 54596 }, + { 0x3655, 54652 }, + { 0x3656, 54672 }, + { 0x3657, 54680 }, + { 0x3658, 54640 }, + { 0x3659, 54676 }, + { 0x365A, 54628 }, + { 0x365B, 54668 }, + { 0x365C, 54584 }, + { 0x365D, 54644 }, + { 0x365E, 54612 }, + { 0x365F, 54616 }, + { 0x3660, 54660 }, + { 0x3661, 54576 }, + { 0x3662, 54632 }, + { 0x3663, 54608 }, + { 0x3664, 54620 }, + { 0x3665, 54604 }, + { 0x3666, 54664 }, + { 0x3667, 54624 }, + { 0x3668, 54592 }, + { 0x3669, 54531 }, + { 0x366A, 54541 }, + { 0x366B, 54546 }, + { 0x366C, 54536 }, + { 0x366D, 54551 }, + { 0x366E, 54684 }, + { 0x366F, 54688 }, + { 0x3670, 54692 }, + { 0x3671, 54696 }, + { 0x3672, 32791 }, + { 0x3673, 32781 }, + { 0x3674, 32801 }, + { 0x3675, 32796 }, + { 0x3676, 32786 }, + { 0x3677, 32806 }, + { 0x3678, 32777 }, + { 0x3679, 32815 }, + { 0x367A, 32773 }, + { 0x367B, 32811 }, + { 0x367C, 85469 }, + { 0x367D, 85520 }, + { 0x367E, 85460 }, + { 0x367F, 85523 }, + { 0x3680, 85448 }, + { 0x3681, 85508 }, + { 0x3682, 85466 }, + { 0x3683, 85529 }, + { 0x3684, 85493 }, + { 0x3685, 85538 }, + { 0x3686, 85451 }, + { 0x3687, 85478 }, + { 0x3688, 85481 }, + { 0x3689, 85532 }, + { 0x368A, 85445 }, + { 0x368B, 85475 }, + { 0x368C, 85541 }, + { 0x368D, 85550 }, + { 0x368E, 85514 }, + { 0x368F, 85496 }, + { 0x3690, 85547 }, + { 0x3691, 85505 }, + { 0x3692, 85556 }, + { 0x3693, 85502 }, + { 0x3694, 85487 }, + { 0x3695, 85472 }, + { 0x3696, 85535 }, + { 0x3697, 85490 }, + { 0x3698, 85463 }, + { 0x3699, 85430 }, + { 0x369A, 85436 }, + { 0x369B, 85442 }, + { 0x369C, 85433 }, + { 0x369D, 85439 }, + { 0x369E, 85484 }, + { 0x369F, 85499 }, + { 0x36A0, 85457 }, + { 0x36A1, 85517 }, + { 0x36A2, 85454 }, + { 0x36A3, 85587 }, + { 0x36A4, 85591 }, + { 0x36A5, 85544 }, + { 0x36A6, 85553 }, + { 0x36A7, 85511 }, + { 0x36A8, 85526 }, + { 0x36A9, 85564 }, + { 0x36AA, 85572 }, + { 0x36AB, 85560 }, + { 0x36AC, 85568 }, + { 0x36AD, 85583 }, + { 0x36AE, 85595 }, + { 0x36AF, 85576 }, + { 0x36B0, 85579 }, + { 0x36B1, 85426 }, + { 0x36B2, 85419 }, + { 0x36B3, 85422 }, + { 0x36B4, 105214 }, + { 0x36B5, 105211 }, + { 0x36B6, 105319 }, + { 0x36B7, 105334 }, + { 0x36B8, 105325 }, + { 0x36B9, 105361 }, + { 0x36BA, 105331 }, + { 0x36BB, 105394 }, + { 0x36BC, 105461 }, + { 0x36BD, 105469 }, + { 0x36BE, 105457 }, + { 0x36BF, 105465 }, + { 0x36C0, 105322 }, + { 0x36C1, 105352 }, + { 0x36C2, 105337 }, + { 0x36C3, 105328 }, + { 0x36C4, 105379 }, + { 0x36C5, 105340 }, + { 0x36C6, 105367 }, + { 0x36C7, 105421 }, + { 0x36C8, 105355 }, + { 0x36C9, 105415 }, + { 0x36CA, 105427 }, + { 0x36CB, 105346 }, + { 0x36CC, 105406 }, + { 0x36CD, 105364 }, + { 0x36CE, 105418 }, + { 0x36CF, 105433 }, + { 0x36D0, 105448 }, + { 0x36D1, 105454 }, + { 0x36D2, 105409 }, + { 0x36D3, 105451 }, + { 0x36D4, 105430 }, + { 0x36D5, 105391 }, + { 0x36D6, 105445 }, + { 0x36D7, 105349 }, + { 0x36D8, 105412 }, + { 0x36D9, 105376 }, + { 0x36DA, 105382 }, + { 0x36DB, 105436 }, + { 0x36DC, 105343 }, + { 0x36DD, 105403 }, + { 0x36DE, 105373 }, + { 0x36DF, 105400 }, + { 0x36E0, 105385 }, + { 0x36E1, 105370 }, + { 0x36E2, 105397 }, + { 0x36E3, 105439 }, + { 0x36E4, 105442 }, + { 0x36E5, 105388 }, + { 0x36E6, 105358 }, + { 0x36E7, 105424 }, + { 0x36E8, 105473 }, + { 0x36E9, 105268 }, + { 0x36EA, 105256 }, + { 0x36EB, 105284 }, + { 0x36EC, 105264 }, + { 0x36ED, 105292 }, + { 0x36EE, 105301 }, + { 0x36EF, 105311 }, + { 0x36F0, 105296 }, + { 0x36F1, 105306 }, + { 0x36F2, 105252 }, + { 0x36F3, 105280 }, + { 0x36F4, 105272 }, + { 0x36F5, 105260 }, + { 0x36F6, 105288 }, + { 0x36F7, 105276 }, + { 0x36F8, 105208 }, + { 0x36F9, 105217 }, + { 0x36FA, 105220 }, + { 0x36FB, 105316 }, + { 0x36FC, 105240 }, + { 0x36FD, 105222 }, + { 0x36FE, 105228 }, + { 0x36FF, 105249 }, + { 0x3700, 105234 }, + { 0x3701, 105231 }, + { 0x3702, 105225 }, + { 0x3703, 105246 }, + { 0x3704, 105243 }, + { 0x3705, 105237 }, + { 0x3706, 91802 }, + { 0x3707, 91778 }, + { 0x3708, 91786 }, + { 0x3709, 91814 }, + { 0x370A, 91794 }, + { 0x370B, 91790 }, + { 0x370C, 91782 }, + { 0x370D, 91810 }, + { 0x370E, 91806 }, + { 0x370F, 91798 }, + { 0x3710, 91818 }, + { 0x3711, 91822 }, + { 0x3712, 91826 }, + { 0x3713, 91830 }, + { 0x3714, 91834 }, + { 0x3715, 91838 }, + { 0x3716, 91842 }, + { 0x3717, 91774 }, + { 0x3718, 103240 }, + { 0x3719, 103271 }, + { 0x371A, 103229 }, + { 0x371B, 103263 }, + { 0x371C, 103267 }, + { 0x371D, 103275 }, + { 0x371E, 103257 }, + { 0x371F, 103215 }, + { 0x3720, 103282 }, + { 0x3721, 103684 }, + { 0x3722, 103237 }, + { 0x3723, 103218 }, + { 0x3724, 23267 }, + { 0x3725, 23243 }, + { 0x3726, 23251 }, + { 0x3727, 23279 }, + { 0x3728, 23259 }, + { 0x3729, 23255 }, + { 0x372A, 23247 }, + { 0x372B, 23275 }, + { 0x372C, 23271 }, + { 0x372D, 23263 }, + { 0x372E, 23331 }, + { 0x372F, 23391 }, + { 0x3730, 23323 }, + { 0x3731, 23395 }, + { 0x3732, 23363 }, + { 0x3733, 23407 }, + { 0x3734, 23383 }, + { 0x3735, 23399 }, + { 0x3736, 23367 }, + { 0x3737, 23387 }, + { 0x3738, 23343 }, + { 0x3739, 23355 }, + { 0x373A, 23403 }, + { 0x373B, 23339 }, + { 0x373C, 23319 }, + { 0x373D, 23311 }, + { 0x373E, 23359 }, + { 0x373F, 23379 }, + { 0x3740, 23335 }, + { 0x3741, 23375 }, + { 0x3742, 23411 }, + { 0x3743, 23327 }, + { 0x3744, 23371 }, + { 0x3745, 23315 }, + { 0x3746, 23303 }, + { 0x3747, 23347 }, + { 0x3748, 23307 }, + { 0x3749, 23351 }, + { 0x374A, 23299 }, + { 0x374B, 23283 }, + { 0x374C, 23291 }, + { 0x374D, 23295 }, + { 0x374E, 23287 }, + { 0x374F, 23239 }, + { 0x3750, 23230 }, + { 0x3751, 23234 }, + { 0x3752, 23222 }, + { 0x3753, 23226 }, + { 0x3754, 53607 }, + { 0x3755, 53598 }, + { 0x3756, 53643 }, + { 0x3757, 53628 }, + { 0x3758, 53595 }, + { 0x3759, 53616 }, + { 0x375A, 53619 }, + { 0x375B, 53589 }, + { 0x375C, 53613 }, + { 0x375D, 53592 }, + { 0x375E, 53604 }, + { 0x375F, 53646 }, + { 0x3760, 53625 }, + { 0x3761, 53622 }, + { 0x3762, 53610 }, + { 0x3763, 53634 }, + { 0x3764, 53631 }, + { 0x3765, 53601 }, + { 0x3766, 53637 }, + { 0x3767, 53649 }, + { 0x3768, 53640 }, + { 0x3769, 53652 }, + { 0x376A, 53586 }, + { 0x376B, 53558 }, + { 0x376C, 53566 }, + { 0x376D, 53554 }, + { 0x376E, 53570 }, + { 0x376F, 53562 }, + { 0x3770, 53574 }, + { 0x3771, 53582 }, + { 0x3772, 53578 }, + { 0x3773, 53672 }, + { 0x3774, 53664 }, + { 0x3775, 53668 }, + { 0x3776, 53660 }, + { 0x3777, 53655 }, + { 0x3778, 53657 }, + { 0x3779, 46960 }, + { 0x377A, 46963 }, + { 0x377B, 46903 }, + { 0x377C, 46957 }, + { 0x377D, 46936 }, + { 0x377E, 47071 }, + { 0x377F, 46939 }, + { 0x3780, 47074 }, + { 0x3781, 46882 }, + { 0x3782, 46888 }, + { 0x3783, 47053 }, + { 0x3784, 47092 }, + { 0x3785, 46795 }, + { 0x3786, 46876 }, + { 0x3787, 47017 }, + { 0x3788, 46918 }, + { 0x3789, 46921 }, + { 0x378A, 46786 }, + { 0x378B, 47089 }, + { 0x378C, 47008 }, + { 0x378D, 46870 }, + { 0x378E, 47041 }, + { 0x378F, 46852 }, + { 0x3790, 46843 }, + { 0x3791, 47056 }, + { 0x3792, 46954 }, + { 0x3793, 46999 }, + { 0x3794, 46780 }, + { 0x3795, 47059 }, + { 0x3796, 82469 }, + { 0x3797, 82456 }, + { 0x3798, 82463 }, + { 0x3799, 82466 }, + { 0x379A, 82544 }, + { 0x379B, 82553 }, + { 0x379C, 82550 }, + { 0x379D, 82597 }, + { 0x379E, 82560 }, + { 0x379F, 82634 }, + { 0x37A0, 82683 }, + { 0x37A1, 82687 }, + { 0x37A2, 82547 }, + { 0x37A3, 82563 }, + { 0x37A4, 82557 }, + { 0x37A5, 82607 }, + { 0x37A6, 82614 }, + { 0x37A7, 82610 }, + { 0x37A8, 82587 }, + { 0x37A9, 82590 }, + { 0x37AA, 82680 }, + { 0x37AB, 82573 }, + { 0x37AC, 82576 }, + { 0x37AD, 82600 }, + { 0x37AE, 82695 }, + { 0x37AF, 82603 }, + { 0x37B0, 82692 }, + { 0x37B1, 82699 }, + { 0x37B2, 82702 }, + { 0x37B3, 82673 }, + { 0x37B4, 82676 }, + { 0x37B5, 82627 }, + { 0x37B6, 82660 }, + { 0x37B7, 82663 }, + { 0x37B8, 82580 }, + { 0x37B9, 82583 }, + { 0x37BA, 82624 }, + { 0x37BB, 82631 }, + { 0x37BC, 82638 }, + { 0x37BD, 82566 }, + { 0x37BE, 82569 }, + { 0x37BF, 82621 }, + { 0x37C0, 82670 }, + { 0x37C1, 82642 }, + { 0x37C2, 82645 }, + { 0x37C3, 82618 }, + { 0x37C4, 82667 }, + { 0x37C5, 82652 }, + { 0x37C6, 82656 }, + { 0x37C7, 82649 }, + { 0x37C8, 82594 }, + { 0x37C9, 82459 }, + { 0x37CA, 82536 }, + { 0x37CB, 82540 }, + { 0x37CC, 82514 }, + { 0x37CD, 82518 }, + { 0x37CE, 82505 }, + { 0x37CF, 82509 }, + { 0x37D0, 82532 }, + { 0x37D1, 82523 }, + { 0x37D2, 82528 }, + { 0x37D3, 82716 }, + { 0x37D4, 82720 }, + { 0x37D5, 82712 }, + { 0x37D6, 82710 }, + { 0x37D7, 82415 }, + { 0x37D8, 82502 }, + { 0x37D9, 82425 }, + { 0x37DA, 82431 }, + { 0x37DB, 82428 }, + { 0x37DC, 82438 }, + { 0x37DD, 82447 }, + { 0x37DE, 82441 }, + { 0x37DF, 82444 }, + { 0x37E0, 82418 }, + { 0x37E1, 82421 }, + { 0x37E2, 82450 }, + { 0x37E3, 82706 }, + { 0x37E4, 82724 }, + { 0x37E5, 82490 }, + { 0x37E6, 82472 }, + { 0x37E7, 82478 }, + { 0x37E8, 82499 }, + { 0x37E9, 82484 }, + { 0x37EA, 82481 }, + { 0x37EB, 82475 }, + { 0x37EC, 82496 }, + { 0x37ED, 82493 }, + { 0x37EE, 82487 }, + { 0x37EF, 82434 }, + { 0x37F0, 82453 }, + { 0x37F1, 64137 }, + { 0x37F2, 64133 }, + { 0x37F3, 64141 }, + { 0x37F4, 64149 }, + { 0x37F5, 64129 }, + { 0x37F6, 63589 }, + { 0x37F7, 64357 }, + { 0x37F8, 64062 }, + { 0x37F9, 64012 }, + { 0x37FA, 64017 }, + { 0x37FB, 64042 }, + { 0x37FC, 64022 }, + { 0x37FD, 64047 }, + { 0x37FE, 64032 }, + { 0x37FF, 64067 }, + { 0x3800, 64057 }, + { 0x3801, 63507 }, + { 0x3802, 63477 }, + { 0x3803, 63487 }, + { 0x3804, 63522 }, + { 0x3805, 63497 }, + { 0x3806, 63492 }, + { 0x3807, 63482 }, + { 0x3808, 63517 }, + { 0x3809, 63512 }, + { 0x380A, 63502 }, + { 0x380B, 64052 }, + { 0x380C, 64007 }, + { 0x380D, 64037 }, + { 0x380E, 64002 }, + { 0x380F, 64027 }, + { 0x3810, 12214 }, + { 0x3811, 12220 }, + { 0x3812, 12226 }, + { 0x3813, 12217 }, + { 0x3814, 12229 }, + { 0x3815, 12223 }, + { 0x3816, 12247 }, + { 0x3817, 12298 }, + { 0x3818, 12238 }, + { 0x3819, 12292 }, + { 0x381A, 12328 }, + { 0x381B, 12304 }, + { 0x381C, 12283 }, + { 0x381D, 12325 }, + { 0x381E, 12244 }, + { 0x381F, 12295 }, + { 0x3820, 12334 }, + { 0x3821, 12307 }, + { 0x3822, 12331 }, + { 0x3823, 12268 }, + { 0x3824, 12322 }, + { 0x3825, 12235 }, + { 0x3826, 12289 }, + { 0x3827, 12310 }, + { 0x3828, 12256 }, + { 0x3829, 12286 }, + { 0x382A, 12259 }, + { 0x382B, 12316 }, + { 0x382C, 12313 }, + { 0x382D, 12232 }, + { 0x382E, 12280 }, + { 0x382F, 12301 }, + { 0x3830, 12253 }, + { 0x3831, 12277 }, + { 0x3832, 12274 }, + { 0x3833, 12262 }, + { 0x3834, 12250 }, + { 0x3835, 12271 }, + { 0x3836, 12319 }, + { 0x3837, 12265 }, + { 0x3838, 12241 }, + { 0x3839, 12186 }, + { 0x383A, 12174 }, + { 0x383B, 12202 }, + { 0x383C, 12198 }, + { 0x383D, 12182 }, + { 0x383E, 12206 }, + { 0x383F, 12178 }, + { 0x3840, 12190 }, + { 0x3841, 12194 }, + { 0x3842, 12210 }, + { 0x3843, 12393 }, + { 0x3844, 12385 }, + { 0x3845, 12381 }, + { 0x3846, 12389 }, + { 0x3847, 12341 }, + { 0x3848, 12337 }, + { 0x3849, 12373 }, + { 0x384A, 12407 }, + { 0x384B, 12369 }, + { 0x384C, 12361 }, + { 0x384D, 12349 }, + { 0x384E, 12353 }, + { 0x384F, 12365 }, + { 0x3850, 12357 }, + { 0x3851, 12345 }, + { 0x3852, 12377 }, + { 0x3853, 12402 }, + { 0x3854, 12397 }, + { 0x3855, 12162 }, + { 0x3856, 12144 }, + { 0x3857, 12150 }, + { 0x3858, 12171 }, + { 0x3859, 12156 }, + { 0x385A, 12153 }, + { 0x385B, 12147 }, + { 0x385C, 12168 }, + { 0x385D, 12165 }, + { 0x385E, 12159 }, + { 0x385F, 12419 }, + { 0x3860, 12412 }, + { 0x3861, 12415 }, + { 0x3862, 12422 }, + { 0x3863, 64199 }, + { 0x3864, 64191 }, + { 0x3865, 64231 }, + { 0x3866, 64207 }, + { 0x3867, 64247 }, + { 0x3868, 64251 }, + { 0x3869, 64255 }, + { 0x386A, 64263 }, + { 0x386B, 64235 }, + { 0x386C, 64259 }, + { 0x386D, 64239 }, + { 0x386E, 64211 }, + { 0x386F, 64219 }, + { 0x3870, 64203 }, + { 0x3871, 64243 }, + { 0x3872, 64195 }, + { 0x3873, 64362 }, + { 0x3874, 64223 }, + { 0x3875, 64227 }, + { 0x3876, 64215 }, + { 0x3877, 64353 }, + { 0x3878, 64349 }, + { 0x3879, 64345 }, + { 0x387A, 64329 }, + { 0x387B, 64321 }, + { 0x387C, 64325 }, + { 0x387D, 64178 }, + { 0x387E, 63571 }, + { 0x387F, 63576 }, + { 0x3880, 63581 }, + { 0x3881, 64165 }, + { 0x3882, 64170 }, + { 0x3883, 10584 }, + { 0x3884, 10704 }, + { 0x3885, 10639 }, + { 0x3886, 10759 }, + { 0x3887, 10664 }, + { 0x3888, 10784 }, + { 0x3889, 10574 }, + { 0x388A, 10694 }, + { 0x388B, 10644 }, + { 0x388C, 10764 }, + { 0x388D, 10559 }, + { 0x388E, 10679 }, + { 0x388F, 10634 }, + { 0x3890, 10754 }, + { 0x3891, 10614 }, + { 0x3892, 10734 }, + { 0x3893, 10649 }, + { 0x3894, 10769 }, + { 0x3895, 10564 }, + { 0x3896, 10684 }, + { 0x3897, 10619 }, + { 0x3898, 10739 }, + { 0x3899, 10659 }, + { 0x389A, 10779 }, + { 0x389B, 10599 }, + { 0x389C, 10719 }, + { 0x389D, 10554 }, + { 0x389E, 10674 }, + { 0x389F, 10604 }, + { 0x38A0, 10724 }, + { 0x38A1, 10654 }, + { 0x38A2, 10774 }, + { 0x38A3, 10569 }, + { 0x38A4, 10689 }, + { 0x38A5, 10594 }, + { 0x38A6, 10714 }, + { 0x38A7, 10629 }, + { 0x38A8, 10749 }, + { 0x38A9, 10609 }, + { 0x38AA, 10729 }, + { 0x38AB, 10589 }, + { 0x38AC, 10709 }, + { 0x38AD, 10624 }, + { 0x38AE, 10744 }, + { 0x38AF, 10579 }, + { 0x38B0, 10699 }, + { 0x38B1, 10549 }, + { 0x38B2, 10669 }, + { 0x38B3, 10469 }, + { 0x38B4, 10513 }, + { 0x38B5, 10501 }, + { 0x38B6, 10537 }, + { 0x38B7, 10509 }, + { 0x38B8, 10497 }, + { 0x38B9, 10505 }, + { 0x38BA, 10473 }, + { 0x38BB, 10529 }, + { 0x38BC, 10545 }, + { 0x38BD, 10533 }, + { 0x38BE, 10541 }, + { 0x38BF, 10525 }, + { 0x38C0, 10521 }, + { 0x38C1, 10517 }, + { 0x38C2, 10477 }, + { 0x38C3, 10492 }, + { 0x38C4, 10482 }, + { 0x38C5, 10487 }, + { 0x38C6, 10799 }, + { 0x38C7, 10807 }, + { 0x38C8, 10803 }, + { 0x38C9, 10789 }, + { 0x38CA, 10794 }, + { 0x38CB, 52552 }, + { 0x38CC, 52565 }, + { 0x38CD, 52595 }, + { 0x38CE, 52650 }, + { 0x38CF, 52679 }, + { 0x38D0, 52732 }, + { 0x38D1, 52599 }, + { 0x38D2, 52695 }, + { 0x38D3, 52646 }, + { 0x38D4, 52662 }, + { 0x38D5, 52666 }, + { 0x38D6, 52487 }, + { 0x38D7, 52492 }, + { 0x38D8, 52497 }, + { 0x38D9, 52482 }, + { 0x38DA, 52502 }, + { 0x38DB, 52747 }, + { 0x38DC, 52438 }, + { 0x38DD, 52426 }, + { 0x38DE, 52753 }, + { 0x38DF, 52433 }, + { 0x38E0, 52547 }, + { 0x38E1, 52744 }, + { 0x38E2, 80361 }, + { 0x38E3, 80355 }, + { 0x38E4, 80445 }, + { 0x38E5, 80448 }, + { 0x38E6, 80352 }, + { 0x38E7, 80358 }, + { 0x38E8, 80166 }, + { 0x38E9, 80160 }, + { 0x38EA, 80421 }, + { 0x38EB, 80424 }, + { 0x38EC, 80157 }, + { 0x38ED, 80163 }, + { 0x38EE, 79584 }, + { 0x38EF, 79578 }, + { 0x38F0, 80175 }, + { 0x38F1, 80178 }, + { 0x38F2, 79575 }, + { 0x38F3, 79581 }, + { 0x38F4, 80406 }, + { 0x38F5, 80418 }, + { 0x38F6, 80412 }, + { 0x38F7, 80451 }, + { 0x38F8, 80454 }, + { 0x38F9, 80409 }, + { 0x38FA, 80415 }, + { 0x38FB, 79476 }, + { 0x38FC, 79488 }, + { 0x38FD, 79482 }, + { 0x38FE, 80109 }, + { 0x38FF, 80112 }, + { 0x3900, 79479 }, + { 0x3901, 79485 }, + { 0x3902, 27318 }, + { 0x3903, 24247 }, + { 0x3904, 27792 }, + { 0x3905, 27308 }, + { 0x3906, 24608 }, + { 0x3907, 27248 }, + { 0x3908, 27375 }, + { 0x3909, 25225 }, + { 0x390A, 25177 }, + { 0x390B, 25192 }, + { 0x390C, 25300 }, + { 0x390D, 25423 }, + { 0x390E, 26975 }, + { 0x390F, 27797 }, + { 0x3910, 27802 }, + { 0x3911, 27176 }, + { 0x3912, 27667 }, + { 0x3913, 27529 }, + { 0x3914, 27536 }, + { 0x3915, 27458 }, + { 0x3916, 27464 }, + { 0x3917, 27632 }, + { 0x3918, 27994 }, + { 0x3919, 25955 }, + { 0x391A, 27352 }, + { 0x391B, 25944 }, + { 0x391C, 27357 }, + { 0x391D, 27382 }, + { 0x391E, 27387 }, + { 0x391F, 27662 }, + { 0x3920, 26293 }, + { 0x3921, 26184 }, + { 0x3922, 26927 }, + { 0x3923, 27544 }, + { 0x3924, 26255 }, + { 0x3925, 26943 }, + { 0x3926, 26955 }, + { 0x3927, 26947 }, + { 0x3928, 26544 }, + { 0x3929, 26552 }, + { 0x392A, 26560 }, + { 0x392B, 26572 }, + { 0x392C, 26651 }, + { 0x392D, 83912 }, + { 0x392E, 84431 }, + { 0x392F, 84266 }, + { 0x3930, 84252 }, + { 0x3931, 84347 }, + { 0x3932, 27257 }, + { 0x3933, 27677 }, + { 0x3934, 27191 }, + { 0x3935, 26935 }, + { 0x3936, 27672 }, + { 0x3937, 21212 }, + { 0x3938, 72526 }, + { 0x3939, 72530 }, + { 0x393A, 72534 }, + { 0x393B, 72538 }, + { 0x393C, 72546 }, + { 0x393D, 72550 }, + { 0x393E, 72578 }, + { 0x393F, 72626 }, + { 0x3940, 72582 }, + { 0x3941, 72586 }, + { 0x3942, 72590 }, + { 0x3943, 72594 }, + { 0x3944, 72598 }, + { 0x3945, 72602 }, + { 0x3946, 72606 }, + { 0x3947, 72610 }, + { 0x3948, 72614 }, + { 0x3949, 72618 }, + { 0x394A, 72622 }, + { 0x394B, 72630 }, + { 0x394C, 72634 }, + { 0x394D, 72638 }, + { 0x394E, 72642 }, + { 0x394F, 72646 }, + { 0x3950, 72650 }, + { 0x3951, 72654 }, + { 0x3952, 72658 }, + { 0x3953, 72662 }, + { 0x3954, 72666 }, + { 0x3955, 72670 }, + { 0x3956, 72678 }, + { 0x3957, 72790 }, + { 0x3958, 72794 }, + { 0x3959, 72682 }, + { 0x395A, 72686 }, + { 0x395B, 72690 }, + { 0x395C, 72694 }, + { 0x395D, 72698 }, + { 0x395E, 72798 }, + { 0x395F, 72802 }, + { 0x3960, 72806 }, + { 0x3961, 72810 }, + { 0x3962, 72814 }, + { 0x3963, 72818 }, + { 0x3964, 72702 }, + { 0x3965, 72542 }, + { 0x3966, 72706 }, + { 0x3967, 72710 }, + { 0x3968, 72714 }, + { 0x3969, 72718 }, + { 0x396A, 72722 }, + { 0x396B, 72554 }, + { 0x396C, 72726 }, + { 0x396D, 72558 }, + { 0x396E, 72730 }, + { 0x396F, 72562 }, + { 0x3970, 72734 }, + { 0x3971, 72566 }, + { 0x3972, 72570 }, + { 0x3973, 72574 }, + { 0x3974, 72786 }, + { 0x3975, 72822 }, + { 0x3976, 72826 }, + { 0x3977, 72830 }, + { 0x3978, 72834 }, + { 0x3979, 72838 }, + { 0x397A, 72842 }, + { 0x397B, 72846 }, + { 0x397C, 72850 }, + { 0x397D, 72854 }, + { 0x397E, 72858 }, + { 0x397F, 72862 }, + { 0x3980, 72866 }, + { 0x3981, 72738 }, + { 0x3982, 72742 }, + { 0x3983, 72746 }, + { 0x3984, 72750 }, + { 0x3985, 72754 }, + { 0x3986, 72758 }, + { 0x3987, 72762 }, + { 0x3988, 52619 }, + { 0x3989, 52658 }, + { 0x398A, 52628 }, + { 0x398B, 52637 }, + { 0x398C, 52582 }, + { 0x398D, 52573 }, + { 0x398E, 52691 }, + { 0x398F, 52670 }, + { 0x3990, 52711 }, + { 0x3991, 52715 }, + { 0x3992, 52728 }, + { 0x3993, 52683 }, + { 0x3994, 52736 }, + { 0x3995, 52611 }, + { 0x3996, 52591 }, + { 0x3997, 52556 }, + { 0x3998, 52724 }, + { 0x3999, 52740 }, + { 0x399A, 52607 }, + { 0x399B, 52707 }, + { 0x399C, 52654 }, + { 0x399D, 52569 }, + { 0x399E, 52615 }, + { 0x399F, 52603 }, + { 0x39A0, 52703 }, + { 0x39A1, 52699 }, + { 0x39A2, 52687 }, + { 0x39A3, 52623 }, + { 0x39A4, 52632 }, + { 0x39A5, 52641 }, + { 0x39A6, 52586 }, + { 0x39A7, 52577 }, + { 0x39A8, 52674 }, + { 0x39A9, 52719 }, + { 0x39AA, 52560 }, + { 0x39AB, 52522 }, + { 0x39AC, 52512 }, + { 0x39AD, 52507 }, + { 0x39AE, 52532 }, + { 0x39AF, 52537 }, + { 0x39B0, 52527 }, + { 0x39B1, 52542 }, + { 0x39B2, 52517 }, + { 0x39B3, 52750 }, + { 0x39B4, 52422 }, + { 0x39B5, 52429 }, + { 0x39B6, 52466 }, + { 0x39B7, 52442 }, + { 0x39B8, 52450 }, + { 0x39B9, 52478 }, + { 0x39BA, 52458 }, + { 0x39BB, 52454 }, + { 0x39BC, 52446 }, + { 0x39BD, 52474 }, + { 0x39BE, 52470 }, + { 0x39BF, 52462 }, + { 0x39C0, 47719 }, + { 0x39C1, 47713 }, + { 0x39C2, 47668 }, + { 0x39C3, 47737 }, + { 0x39C4, 47740 }, + { 0x39C5, 47725 }, + { 0x39C6, 47722 }, + { 0x39C7, 47746 }, + { 0x39C8, 47686 }, + { 0x39C9, 47617 }, + { 0x39CA, 47698 }, + { 0x39CB, 47620 }, + { 0x39CC, 47623 }, + { 0x39CD, 47758 }, + { 0x39CE, 47707 }, + { 0x39CF, 47710 }, + { 0x39D0, 47635 }, + { 0x39D1, 47704 }, + { 0x39D2, 47638 }, + { 0x39D3, 47641 }, + { 0x39D4, 47572 }, + { 0x39D5, 47773 }, + { 0x39D6, 47776 }, + { 0x39D7, 47236 }, + { 0x39D8, 47353 }, + { 0x39D9, 47272 }, + { 0x39DA, 47470 }, + { 0x39DB, 47329 }, + { 0x39DC, 47275 }, + { 0x39DD, 47494 }, + { 0x39DE, 47326 }, + { 0x39DF, 47401 }, + { 0x39E0, 47404 }, + { 0x39E1, 47464 }, + { 0x39E2, 47476 }, + { 0x39E3, 47491 }, + { 0x39E4, 47458 }, + { 0x39E5, 47482 }, + { 0x39E6, 47503 }, + { 0x39E7, 47398 }, + { 0x39E8, 47509 }, + { 0x39E9, 47344 }, + { 0x39EA, 47221 }, + { 0x39EB, 47431 }, + { 0x39EC, 47185 }, + { 0x39ED, 47428 }, + { 0x39EE, 47215 }, + { 0x39EF, 47308 }, + { 0x39F0, 47497 }, + { 0x39F1, 47245 }, + { 0x39F2, 47191 }, + { 0x39F3, 47452 }, + { 0x39F4, 47239 }, + { 0x39F5, 47368 }, + { 0x39F6, 47170 }, + { 0x39F7, 47488 }, + { 0x39F8, 47440 }, + { 0x39F9, 47443 }, + { 0x39FA, 47320 }, + { 0x39FB, 47164 }, + { 0x39FC, 47317 }, + { 0x39FD, 47323 }, + { 0x39FE, 47167 }, + { 0x39FF, 47362 }, + { 0x3A00, 47506 }, + { 0x3A01, 47410 }, + { 0x3A02, 47407 }, + { 0x3A03, 47197 }, + { 0x3A04, 47425 }, + { 0x3A05, 47179 }, + { 0x3A06, 47305 }, + { 0x3A07, 47419 }, + { 0x3A08, 5861 }, + { 0x3A09, 5864 }, + { 0x3A0A, 5867 }, + { 0x3A0B, 5870 }, + { 0x3A0C, 5873 }, + { 0x3A0D, 27843 }, + { 0x3A0E, 27847 }, + { 0x3A0F, 27851 }, + { 0x3A10, 27867 }, + { 0x3A11, 27871 }, + { 0x3A12, 27875 }, + { 0x3A13, 27863 }, + { 0x3A14, 68938 }, + { 0x3A15, 68928 }, + { 0x3A16, 68933 }, + { 0x3A17, 68948 }, + { 0x3A18, 68943 }, + { 0x3A19, 48163 }, + { 0x3A1A, 47953 }, + { 0x3A1B, 48369 }, + { 0x3A1C, 48351 }, + { 0x3A1D, 48250 }, + { 0x3A1E, 48258 }, + { 0x3A1F, 48238 }, + { 0x3A20, 48242 }, + { 0x3A21, 48267 }, + { 0x3A22, 48262 }, + { 0x3A23, 48254 }, + { 0x3A24, 48246 }, + { 0x3A25, 48355 }, + { 0x3A26, 48211 }, + { 0x3A27, 48205 }, + { 0x3A28, 48230 }, + { 0x3A29, 48222 }, + { 0x3A2A, 48181 }, + { 0x3A2B, 48186 }, + { 0x3A2C, 48176 }, + { 0x3A2D, 48086 }, + { 0x3A2E, 48314 }, + { 0x3A2F, 48274 }, + { 0x3A30, 48060 }, + { 0x3A31, 48155 }, + { 0x3A32, 48338 }, + { 0x3A33, 48142 }, + { 0x3A34, 48168 }, + { 0x3A35, 48293 }, + { 0x3A36, 48102 }, + { 0x3A37, 48322 }, + { 0x3A38, 48110 }, + { 0x3A39, 48118 }, + { 0x3A3A, 48346 }, + { 0x3A3B, 48283 }, + { 0x3A3C, 48073 }, + { 0x3A3D, 48330 }, + { 0x3A3E, 48126 }, + { 0x3A3F, 48197 }, + { 0x3A40, 48217 }, + { 0x3A41, 48134 }, + { 0x3A42, 48150 }, + { 0x3A43, 48081 }, + { 0x3A44, 48097 }, + { 0x3A45, 48068 }, + { 0x3A46, 48360 }, + { 0x3A47, 38370 }, + { 0x3A48, 38364 }, + { 0x3A49, 38415 }, + { 0x3A4A, 38400 }, + { 0x3A4B, 38410 }, + { 0x3A4C, 38405 }, + { 0x3A4D, 37660 }, + { 0x3A4E, 37645 }, + { 0x3A4F, 37655 }, + { 0x3A50, 37650 }, + { 0x3A51, 38896 }, + { 0x3A52, 38881 }, + { 0x3A53, 38891 }, + { 0x3A54, 38886 }, + { 0x3A55, 39276 }, + { 0x3A56, 39261 }, + { 0x3A57, 39271 }, + { 0x3A58, 39266 }, + { 0x3A59, 39240 }, + { 0x3A5A, 39225 }, + { 0x3A5B, 39235 }, + { 0x3A5C, 39230 }, + { 0x3A5D, 38853 }, + { 0x3A5E, 38838 }, + { 0x3A5F, 38848 }, + { 0x3A60, 38843 }, + { 0x3A61, 37978 }, + { 0x3A62, 37963 }, + { 0x3A63, 37973 }, + { 0x3A64, 37968 }, + { 0x3A65, 39132 }, + { 0x3A66, 39117 }, + { 0x3A67, 39127 }, + { 0x3A68, 39122 }, + { 0x3A69, 38451 }, + { 0x3A6A, 38436 }, + { 0x3A6B, 38446 }, + { 0x3A6C, 38441 }, + { 0x3A6D, 38690 }, + { 0x3A6E, 38675 }, + { 0x3A6F, 38685 }, + { 0x3A70, 38680 }, + { 0x3A71, 39217 }, + { 0x3A72, 39202 }, + { 0x3A73, 39212 }, + { 0x3A74, 39207 }, + { 0x3A75, 39373 }, + { 0x3A76, 39358 }, + { 0x3A77, 39368 }, + { 0x3A78, 39363 }, + { 0x3A79, 39253 }, + { 0x3A7A, 39248 }, + { 0x3A7B, 38909 }, + { 0x3A7C, 38904 }, + { 0x3A7D, 37170 }, + { 0x3A7E, 37165 }, + { 0x3A7F, 38428 }, + { 0x3A80, 38423 }, + { 0x3A81, 37512 }, + { 0x3A82, 37507 }, + { 0x3A83, 38703 }, + { 0x3A84, 38698 }, + { 0x3A85, 39086 }, + { 0x3A86, 39071 }, + { 0x3A87, 39081 }, + { 0x3A88, 39076 }, + { 0x3A89, 37287 }, + { 0x3A8A, 37272 }, + { 0x3A8B, 37282 }, + { 0x3A8C, 37277 }, + { 0x3A8D, 38474 }, + { 0x3A8E, 38459 }, + { 0x3A8F, 38469 }, + { 0x3A90, 38464 }, + { 0x3A91, 39109 }, + { 0x3A92, 39094 }, + { 0x3A93, 39104 }, + { 0x3A94, 39099 }, + { 0x3A95, 38651 }, + { 0x3A96, 38645 }, + { 0x3A97, 39155 }, + { 0x3A98, 39140 }, + { 0x3A99, 39150 }, + { 0x3A9A, 39145 }, + { 0x3A9B, 37442 }, + { 0x3A9C, 37434 }, + { 0x3A9D, 37422 }, + { 0x3A9E, 37404 }, + { 0x3A9F, 37416 }, + { 0x3AA0, 37410 }, + { 0x3AA1, 37498 }, + { 0x3AA2, 37480 }, + { 0x3AA3, 37492 }, + { 0x3AA4, 37486 }, + { 0x3AA5, 38210 }, + { 0x3AA6, 38204 }, + { 0x3AA7, 38175 }, + { 0x3AA8, 38166 }, + { 0x3AA9, 39418 }, + { 0x3AAA, 39422 }, + { 0x3AAB, 39426 }, + { 0x3AAC, 39431 }, + { 0x3AAD, 39471 }, + { 0x3AAE, 39476 }, + { 0x3AAF, 39481 }, + { 0x3AB0, 39488 }, + { 0x3AB1, 39448 }, + { 0x3AB2, 39453 }, + { 0x3AB3, 39495 }, + { 0x3AB4, 39436 }, + { 0x3AB5, 39442 }, + { 0x3AB6, 39458 }, + { 0x3AB7, 39461 }, + { 0x3AB8, 39466 }, + { 0x3AB9, 36841 }, + { 0x3ABA, 36826 }, + { 0x3ABB, 36836 }, + { 0x3ABC, 36831 }, + { 0x3ABD, 36815 }, + { 0x3ABE, 36810 }, + { 0x3ABF, 36854 }, + { 0x3AC0, 36849 }, + { 0x3AC1, 36880 }, + { 0x3AC2, 36875 }, + { 0x3AC3, 36802 }, + { 0x3AC4, 36867 }, + { 0x3AC5, 36862 }, + { 0x3AC6, 39333 }, + { 0x3AC7, 39327 }, + { 0x3AC8, 39349 }, + { 0x3AC9, 39343 }, + { 0x3ACA, 36788 }, + { 0x3ACB, 36773 }, + { 0x3ACC, 36783 }, + { 0x3ACD, 36778 }, + { 0x3ACE, 39290 }, + { 0x3ACF, 39281 }, + { 0x3AD0, 41710 }, + { 0x3AD1, 41678 }, + { 0x3AD2, 41538 }, + { 0x3AD3, 41528 }, + { 0x3AD4, 41648 }, + { 0x3AD5, 41638 }, + { 0x3AD6, 41518 }, + { 0x3AD7, 41508 }, + { 0x3AD8, 41558 }, + { 0x3AD9, 41548 }, + { 0x3ADA, 41578 }, + { 0x3ADB, 41568 }, + { 0x3ADC, 41498 }, + { 0x3ADD, 41478 }, + { 0x3ADE, 41488 }, + { 0x3ADF, 43266 }, + { 0x3AE0, 43240 }, + { 0x3AE1, 43253 }, + { 0x3AE2, 38989 }, + { 0x3AE3, 38971 }, + { 0x3AE4, 38983 }, + { 0x3AE5, 38977 }, + { 0x3AE6, 41730 }, + { 0x3AE7, 41598 }, + { 0x3AE8, 41780 }, + { 0x3AE9, 41699 }, + { 0x3AEA, 41668 }, + { 0x3AEB, 39753 }, + { 0x3AEC, 39688 }, + { 0x3AED, 39776 }, + { 0x3AEE, 39804 }, + { 0x3AEF, 39738 }, + { 0x3AF0, 39723 }, + { 0x3AF1, 41161 }, + { 0x3AF2, 41068 }, + { 0x3AF3, 41203 }, + { 0x3AF4, 41277 }, + { 0x3AF5, 41118 }, + { 0x3AF6, 41103 }, + { 0x3AF7, 42759 }, + { 0x3AF8, 42787 }, + { 0x3AF9, 42751 }, + { 0x3AFA, 42736 }, + { 0x3AFB, 41889 }, + { 0x3AFC, 41970 }, + { 0x3AFD, 40121 }, + { 0x3AFE, 40154 }, + { 0x3AFF, 42021 }, + { 0x3B00, 41977 }, + { 0x3B01, 42035 }, + { 0x3B02, 42594 }, + { 0x3B03, 42496 }, + { 0x3B04, 42634 }, + { 0x3B05, 42700 }, + { 0x3B06, 40843 }, + { 0x3B07, 40926 }, + { 0x3B08, 39909 }, + { 0x3B09, 39851 }, + { 0x3B0A, 39941 }, + { 0x3B0B, 39955 }, + { 0x3B0C, 40940 }, + { 0x3B0D, 41027 }, + { 0x3B0E, 41824 }, + { 0x3B0F, 39614 }, + { 0x3B10, 39665 }, + { 0x3B11, 42855 }, + { 0x3B12, 42897 }, + { 0x3B13, 40013 }, + { 0x3B14, 39969 }, + { 0x3B15, 40045 }, + { 0x3B16, 40068 }, + { 0x3B17, 39998 }, + { 0x3B18, 39983 }, + { 0x3B19, 40714 }, + { 0x3B1A, 40794 }, + { 0x3B1B, 40743 }, + { 0x3B1C, 40728 }, + { 0x3B1D, 40309 }, + { 0x3B1E, 40323 }, + { 0x3B1F, 40237 }, + { 0x3B20, 40337 }, + { 0x3B21, 40265 }, + { 0x3B22, 40392 }, + { 0x3B23, 40301 }, + { 0x3B24, 40279 }, + { 0x3B25, 40613 }, + { 0x3B26, 40443 }, + { 0x3B27, 40645 }, + { 0x3B28, 40700 }, + { 0x3B29, 40546 }, + { 0x3B2A, 40464 }, + { 0x3B2B, 42148 }, + { 0x3B2C, 42076 }, + { 0x3B2D, 42189 }, + { 0x3B2E, 42219 }, + { 0x3B2F, 42097 }, + { 0x3B30, 42083 }, + { 0x3B31, 42381 }, + { 0x3B32, 42261 }, + { 0x3B33, 42395 }, + { 0x3B34, 42442 }, + { 0x3B35, 42311 }, + { 0x3B36, 42296 }, + { 0x3B37, 40183 }, + { 0x3B38, 40215 }, + { 0x3B39, 40168 }, + { 0x3B3A, 40161 }, + { 0x3B3B, 41388 }, + { 0x3B3C, 41314 }, + { 0x3B3D, 41402 }, + { 0x3B3E, 41457 }, + { 0x3B3F, 41364 }, + { 0x3B40, 41349 }, + { 0x3B41, 42707 }, + { 0x3B42, 40801 }, + { 0x3B43, 41854 }, + { 0x3B44, 43218 }, + { 0x3B45, 43225 }, + { 0x3B46, 43197 }, + { 0x3B47, 43183 }, + { 0x3B48, 43211 }, + { 0x3B49, 43232 }, + { 0x3B4A, 41628 }, + { 0x3B4B, 41800 }, + { 0x3B4C, 41750 }, + { 0x3B4D, 41790 }, + { 0x3B4E, 41688 }, + { 0x3B4F, 41658 }, + { 0x3B50, 39709 }, + { 0x3B51, 39818 }, + { 0x3B52, 39783 }, + { 0x3B53, 39811 }, + { 0x3B54, 39730 }, + { 0x3B55, 39716 }, + { 0x3B56, 41089 }, + { 0x3B57, 41291 }, + { 0x3B58, 41256 }, + { 0x3B59, 41284 }, + { 0x3B5A, 41110 }, + { 0x3B5B, 41096 }, + { 0x3B5C, 42722 }, + { 0x3B5D, 42801 }, + { 0x3B5E, 42766 }, + { 0x3B5F, 42794 }, + { 0x3B60, 42743 }, + { 0x3B61, 42729 }, + { 0x3B62, 39990 }, + { 0x3B63, 39976 }, + { 0x3B64, 40735 }, + { 0x3B65, 40721 }, + { 0x3B66, 40286 }, + { 0x3B67, 40244 }, + { 0x3B68, 40371 }, + { 0x3B69, 40293 }, + { 0x3B6A, 40272 }, + { 0x3B6B, 40679 }, + { 0x3B6C, 40538 }, + { 0x3B6D, 40457 }, + { 0x3B6E, 42090 }, + { 0x3B6F, 42205 }, + { 0x3B70, 42282 }, + { 0x3B71, 42456 }, + { 0x3B72, 42421 }, + { 0x3B73, 42449 }, + { 0x3B74, 42303 }, + { 0x3B75, 42289 }, + { 0x3B76, 41845 }, + { 0x3B77, 41335 }, + { 0x3B78, 41471 }, + { 0x3B79, 41436 }, + { 0x3B7A, 41464 }, + { 0x3B7B, 41356 }, + { 0x3B7C, 41342 }, + { 0x3B7D, 41720 }, + { 0x3B7E, 41588 }, + { 0x3B7F, 41740 }, + { 0x3B80, 41770 }, + { 0x3B81, 41618 }, + { 0x3B82, 39746 }, + { 0x3B83, 39681 }, + { 0x3B84, 39769 }, + { 0x3B85, 39797 }, + { 0x3B86, 39702 }, + { 0x3B87, 41154 }, + { 0x3B88, 41061 }, + { 0x3B89, 41196 }, + { 0x3B8A, 41270 }, + { 0x3B8B, 41082 }, + { 0x3B8C, 42780 }, + { 0x3B8D, 41882 }, + { 0x3B8E, 41963 }, + { 0x3B8F, 40114 }, + { 0x3B90, 40147 }, + { 0x3B91, 42014 }, + { 0x3B92, 42028 }, + { 0x3B93, 42587 }, + { 0x3B94, 42489 }, + { 0x3B95, 42627 }, + { 0x3B96, 42693 }, + { 0x3B97, 40836 }, + { 0x3B98, 40894 }, + { 0x3B99, 40919 }, + { 0x3B9A, 39902 }, + { 0x3B9B, 39844 }, + { 0x3B9C, 39934 }, + { 0x3B9D, 39948 }, + { 0x3B9E, 40933 }, + { 0x3B9F, 41817 }, + { 0x3BA0, 39607 }, + { 0x3BA1, 39658 }, + { 0x3BA2, 42848 }, + { 0x3BA3, 42890 }, + { 0x3BA4, 40006 }, + { 0x3BA5, 39962 }, + { 0x3BA6, 40038 }, + { 0x3BA7, 40061 }, + { 0x3BA8, 40707 }, + { 0x3BA9, 40787 }, + { 0x3BAA, 40316 }, + { 0x3BAB, 40230 }, + { 0x3BAC, 40330 }, + { 0x3BAD, 40258 }, + { 0x3BAE, 40385 }, + { 0x3BAF, 40606 }, + { 0x3BB0, 40436 }, + { 0x3BB1, 40638 }, + { 0x3BB2, 40693 }, + { 0x3BB3, 40450 }, + { 0x3BB4, 42141 }, + { 0x3BB5, 42069 }, + { 0x3BB6, 42182 }, + { 0x3BB7, 42212 }, + { 0x3BB8, 42374 }, + { 0x3BB9, 42254 }, + { 0x3BBA, 42388 }, + { 0x3BBB, 42435 }, + { 0x3BBC, 42275 }, + { 0x3BBD, 40176 }, + { 0x3BBE, 40208 }, + { 0x3BBF, 40222 }, + { 0x3BC0, 41381 }, + { 0x3BC1, 41307 }, + { 0x3BC2, 41395 }, + { 0x3BC3, 41450 }, + { 0x3BC4, 41328 }, + { 0x3BC5, 41760 }, + { 0x3BC6, 41608 }, + { 0x3BC7, 39790 }, + { 0x3BC8, 39695 }, + { 0x3BC9, 41263 }, + { 0x3BCA, 41075 }, + { 0x3BCB, 42773 }, + { 0x3BCC, 42715 }, + { 0x3BCD, 42686 }, + { 0x3BCE, 42503 }, + { 0x3BCF, 43145 }, + { 0x3BD0, 42979 }, + { 0x3BD1, 40251 }, + { 0x3BD2, 40378 }, + { 0x3BD3, 40686 }, + { 0x3BD4, 42428 }, + { 0x3BD5, 42268 }, + { 0x3BD6, 41443 }, + { 0x3BD7, 41321 }, + { 0x3BD8, 43190 }, + { 0x3BD9, 43176 }, + { 0x3BDA, 43204 }, + { 0x3BDB, 40969 }, + { 0x3BDC, 40954 }, + { 0x3BDD, 39581 }, + { 0x3BDE, 39566 }, + { 0x3BDF, 42840 }, + { 0x3BE0, 42825 }, + { 0x3BE1, 42553 }, + { 0x3BE2, 42538 }, + { 0x3BE3, 43029 }, + { 0x3BE4, 43014 }, + { 0x3BE5, 40097 }, + { 0x3BE6, 40082 }, + { 0x3BE7, 41918 }, + { 0x3BE8, 41903 }, + { 0x3BE9, 42006 }, + { 0x3BEA, 41991 }, + { 0x3BEB, 40886 }, + { 0x3BEC, 40871 }, + { 0x3BED, 39894 }, + { 0x3BEE, 39879 }, + { 0x3BEF, 43067 }, + { 0x3BF0, 42972 }, + { 0x3BF1, 43095 }, + { 0x3BF2, 43159 }, + { 0x3BF3, 43000 }, + { 0x3BF4, 42524 }, + { 0x3BF5, 40857 }, + { 0x3BF6, 39865 }, + { 0x3BF7, 40961 }, + { 0x3BF8, 40947 }, + { 0x3BF9, 39573 }, + { 0x3BFA, 39559 }, + { 0x3BFB, 42832 }, + { 0x3BFC, 42818 }, + { 0x3BFD, 42545 }, + { 0x3BFE, 42531 }, + { 0x3BFF, 43021 }, + { 0x3C00, 43007 }, + { 0x3C01, 40089 }, + { 0x3C02, 40075 }, + { 0x3C03, 41910 }, + { 0x3C04, 41896 }, + { 0x3C05, 41998 }, + { 0x3C06, 41984 }, + { 0x3C07, 40878 }, + { 0x3C08, 40864 }, + { 0x3C09, 39886 }, + { 0x3C0A, 39872 }, + { 0x3C0B, 43046 }, + { 0x3C0C, 42951 }, + { 0x3C0D, 43074 }, + { 0x3C0E, 43138 }, + { 0x3C0F, 42993 }, + { 0x3C10, 42517 }, + { 0x3C11, 40850 }, + { 0x3C12, 39858 }, + { 0x3C13, 43060 }, + { 0x3C14, 42965 }, + { 0x3C15, 43088 }, + { 0x3C16, 43152 }, + { 0x3C17, 42510 }, + { 0x3C18, 42986 }, + { 0x3C19, 41020 }, + { 0x3C1A, 42580 }, + { 0x3C1B, 42482 }, + { 0x3C1C, 42620 }, + { 0x3C1D, 43053 }, + { 0x3C1E, 42958 }, + { 0x3C1F, 43081 }, + { 0x3C20, 41013 }, + { 0x3C21, 41810 }, + { 0x3C22, 41831 }, + { 0x3C23, 41838 }, + { 0x3C24, 52858 }, + { 0x3C25, 52861 }, + { 0x3C26, 41145 }, + { 0x3C27, 41034 }, + { 0x3C28, 41043 }, + { 0x3C29, 41052 }, + { 0x3C2A, 41187 }, + { 0x3C2B, 41238 }, + { 0x3C2C, 41210 }, + { 0x3C2D, 41247 }, + { 0x3C2E, 41926 }, + { 0x3C2F, 41935 }, + { 0x3C30, 40128 }, + { 0x3C31, 40137 }, + { 0x3C32, 42473 }, + { 0x3C33, 42561 }, + { 0x3C34, 42570 }, + { 0x3C35, 42641 }, + { 0x3C36, 42650 }, + { 0x3C37, 42659 }, + { 0x3C38, 42668 }, + { 0x3C39, 42677 }, + { 0x3C3A, 40809 }, + { 0x3C3B, 40818 }, + { 0x3C3C, 40901 }, + { 0x3C3D, 42933 }, + { 0x3C3E, 42942 }, + { 0x3C3F, 43037 }, + { 0x3C40, 43102 }, + { 0x3C41, 43111 }, + { 0x3C42, 43120 }, + { 0x3C43, 43129 }, + { 0x3C44, 39834 }, + { 0x3C45, 39916 }, + { 0x3C46, 39925 }, + { 0x3C47, 40977 }, + { 0x3C48, 40986 }, + { 0x3C49, 41004 }, + { 0x3C4A, 40995 }, + { 0x3C4B, 39589 }, + { 0x3C4C, 39640 }, + { 0x3C4D, 39649 }, + { 0x3C4E, 39630 }, + { 0x3C4F, 42881 }, + { 0x3C50, 42862 }, + { 0x3C51, 42871 }, + { 0x3C52, 40020 }, + { 0x3C53, 40029 }, + { 0x3C54, 40751 }, + { 0x3C55, 40778 }, + { 0x3C56, 40418 }, + { 0x3C57, 40399 }, + { 0x3C58, 40408 }, + { 0x3C59, 40579 }, + { 0x3C5A, 40570 }, + { 0x3C5B, 40620 }, + { 0x3C5C, 40629 }, + { 0x3C5D, 40652 }, + { 0x3C5E, 40661 }, + { 0x3C5F, 42051 }, + { 0x3C60, 42060 }, + { 0x3C61, 42042 }, + { 0x3C62, 42105 }, + { 0x3C63, 42132 }, + { 0x3C64, 42164 }, + { 0x3C65, 42173 }, + { 0x3C66, 42123 }, + { 0x3C67, 40190 }, + { 0x3C68, 40199 }, + { 0x3C69, 42245 }, + { 0x3C6A, 42235 }, + { 0x3C6B, 42356 }, + { 0x3C6C, 42365 }, + { 0x3C6D, 42346 }, + { 0x3C6E, 42402 }, + { 0x3C6F, 42411 }, + { 0x3C70, 41418 }, + { 0x3C71, 41427 }, + { 0x3C72, 39760 }, + { 0x3C73, 41126 }, + { 0x3C74, 41135 }, + { 0x3C75, 41168 }, + { 0x3C76, 41177 }, + { 0x3C77, 41219 }, + { 0x3C78, 41228 }, + { 0x3C79, 41944 }, + { 0x3C7A, 41872 }, + { 0x3C7B, 41953 }, + { 0x3C7C, 42610 }, + { 0x3C7D, 40827 }, + { 0x3C7E, 42924 }, + { 0x3C7F, 39825 }, + { 0x3C80, 40561 }, + { 0x3C81, 40670 }, + { 0x3C82, 41298 }, + { 0x3C83, 41372 }, + { 0x3C84, 41409 }, + { 0x3C85, 42196 }, + { 0x3C86, 40769 }, + { 0x3C87, 42226 }, + { 0x3C88, 40760 }, + { 0x3C89, 40427 }, + { 0x3C8A, 39621 }, + { 0x3C8B, 40344 }, + { 0x3C8C, 42328 }, + { 0x3C8D, 42155 }, + { 0x3C8E, 40597 }, + { 0x3C8F, 40353 }, + { 0x3C90, 40588 }, + { 0x3C91, 42319 }, + { 0x3C92, 41863 }, + { 0x3C93, 40105 }, + { 0x3C94, 42114 }, + { 0x3C95, 40052 }, + { 0x3C96, 39672 }, + { 0x3C97, 40362 }, + { 0x3C98, 39598 }, + { 0x3C99, 40910 }, + { 0x3C9A, 42601 }, + { 0x3C9B, 42337 }, + { 0x3C9C, 42909 }, + { 0x3C9D, 42463 }, + { 0x3C9E, 42813 }, + { 0x3C9F, 42808 }, + { 0x3CA0, 43279 }, + { 0x3CA1, 42904 }, + { 0x3CA2, 43171 }, + { 0x3CA3, 43166 }, + { 0x3CA4, 43284 }, + { 0x3CA5, 42919 }, + { 0x3CA6, 43294 }, + { 0x3CA7, 43299 }, + { 0x3CA8, 14610 }, + { 0x3CA9, 43289 }, + { 0x3CAA, 114731 }, + { 0x3CAB, 114848 }, + { 0x3CAC, 114841 }, + { 0x3CAD, 114726 }, + { 0x3CAE, 114824 }, + { 0x3CAF, 114835 }, + { 0x3CB0, 114818 }, + { 0x3CB1, 114675 }, + { 0x3CB2, 114774 }, + { 0x3CB3, 114829 }, + { 0x3CB4, 91671 }, + { 0x3CB5, 91680 }, + { 0x3CB6, 91216 }, + { 0x3CB7, 91221 }, + { 0x3CB8, 91279 }, + { 0x3CB9, 91291 }, + { 0x3CBA, 91767 }, + { 0x3CBB, 91675 }, + { 0x3CBC, 91684 }, + { 0x3CBD, 91145 }, + { 0x3CBE, 91153 }, + { 0x3CBF, 91283 }, + { 0x3CC0, 91295 }, + { 0x3CC1, 91770 }, + { 0x3CC2, 91425 }, + { 0x3CC3, 91430 }, + { 0x3CC4, 114638 }, + { 0x3CC5, 114620 }, + { 0x3CC6, 114626 }, + { 0x3CC7, 114632 }, + { 0x3CC8, 114719 }, + { 0x3CC9, 114713 }, + { 0x3CCA, 114812 }, + { 0x3CCB, 114660 }, + { 0x3CCC, 114751 }, + { 0x3CCD, 114705 }, + { 0x3CCE, 114804 }, + { 0x3CCF, 114652 }, + { 0x3CD0, 114743 }, + { 0x3CD1, 114690 }, + { 0x3CD2, 114789 }, + { 0x3CD3, 114645 }, + { 0x3CD4, 114736 }, + { 0x3CD5, 114683 }, + { 0x3CD6, 114782 }, + { 0x3CD7, 114667 }, + { 0x3CD8, 114758 }, + { 0x3CD9, 53785 }, + { 0x3CDA, 35828 }, + { 0x3CDB, 114698 }, + { 0x3CDC, 114797 }, + { 0x3CDD, 45667 }, + { 0x3CDE, 103194 }, + { 0x3CDF, 15345 }, + { 0x3CE0, 46062 }, + { 0x3CE1, 45664 }, + { 0x3CE2, 103191 }, + { 0x3CE3, 15338 }, + { 0x3CE4, 34405 }, + { 0x3CE5, 34563 }, + { 0x3CE6, 34385 }, + { 0x3CE7, 34555 }, + { 0x3CE8, 34403 }, + { 0x3CE9, 34547 }, + { 0x3CEA, 34560 }, + { 0x3CEB, 34368 }, + { 0x3CEC, 34397 }, + { 0x3CED, 34416 }, + { 0x3CEE, 34388 }, + { 0x3CEF, 34407 }, + { 0x3CF0, 34392 }, + { 0x3CF1, 34411 }, + { 0x3CF2, 34494 }, + { 0x3CF3, 34550 }, + { 0x3CF4, 34527 }, + { 0x3CF5, 34400 }, + { 0x3CF6, 34569 }, + { 0x3CF7, 34552 }, + { 0x3CF8, 34566 }, + { 0x3CF9, 34491 }, + { 0x3CFA, 34522 }, + { 0x3CFB, 34488 }, + { 0x3CFC, 34519 }, + { 0x3CFD, 34557 }, + { 0x3CFE, 39543 }, + { 0x3CFF, 39525 }, + { 0x3D00, 39532 }, + { 0x3D01, 36389 }, + { 0x3D02, 39555 }, + { 0x3D03, 36488 }, + { 0x3D04, 36484 }, + { 0x3D05, 36454 }, + { 0x3D06, 36450 }, + { 0x3D07, 36509 }, + { 0x3D08, 36505 }, + { 0x3D09, 39414 }, + { 0x3D0A, 39410 }, + { 0x3D0B, 36736 }, + { 0x3D0C, 36732 }, + { 0x3D0D, 39027 }, + { 0x3D0E, 38329 }, + { 0x3D0F, 38321 }, + { 0x3D10, 38285 }, + { 0x3D11, 38277 }, + { 0x3D12, 38024 }, + { 0x3D13, 38016 }, + { 0x3D14, 38307 }, + { 0x3D15, 38299 }, + { 0x3D16, 38129 }, + { 0x3D17, 38105 }, + { 0x3D18, 38121 }, + { 0x3D19, 38113 }, + { 0x3D1A, 38392 }, + { 0x3D1B, 38355 }, + { 0x3D1C, 37048 }, + { 0x3D1D, 37033 }, + { 0x3D1E, 37043 }, + { 0x3D1F, 37038 }, + { 0x3D20, 37949 }, + { 0x3D21, 37943 }, + { 0x3D22, 37955 }, + { 0x3D23, 37919 }, + { 0x3D24, 37929 }, + { 0x3D25, 37924 }, + { 0x3D26, 38830 }, + { 0x3D27, 38815 }, + { 0x3D28, 38825 }, + { 0x3D29, 38820 }, + { 0x3D2A, 38523 }, + { 0x3D2B, 38508 }, + { 0x3D2C, 38518 }, + { 0x3D2D, 38513 }, + { 0x3D2E, 37385 }, + { 0x3D2F, 37370 }, + { 0x3D30, 37380 }, + { 0x3D31, 37375 }, + { 0x3D32, 38546 }, + { 0x3D33, 38531 }, + { 0x3D34, 38541 }, + { 0x3D35, 38536 }, + { 0x3D36, 37157 }, + { 0x3D37, 37152 }, + { 0x3D38, 38807 }, + { 0x3D39, 38802 }, + { 0x3D3A, 37810 }, + { 0x3D3B, 37805 }, + { 0x3D3C, 38873 }, + { 0x3D3D, 38868 }, + { 0x3D3E, 38794 }, + { 0x3D3F, 38779 }, + { 0x3D40, 38789 }, + { 0x3D41, 38784 }, + { 0x3D42, 39184 }, + { 0x3D43, 39169 }, + { 0x3D44, 39179 }, + { 0x3D45, 39174 }, + { 0x3D46, 37854 }, + { 0x3D47, 37839 }, + { 0x3D48, 37849 }, + { 0x3D49, 37844 }, + { 0x3D4A, 37077 }, + { 0x3D4B, 37062 }, + { 0x3D4C, 37072 }, + { 0x3D4D, 37067 }, + { 0x3D4E, 37891 }, + { 0x3D4F, 37876 }, + { 0x3D50, 37886 }, + { 0x3D51, 37881 }, + { 0x3D52, 38249 }, + { 0x3D53, 38234 }, + { 0x3D54, 38244 }, + { 0x3D55, 38239 }, + { 0x3D56, 36941 }, + { 0x3D57, 36926 }, + { 0x3D58, 36936 }, + { 0x3D59, 36931 }, + { 0x3D5A, 39019 }, + { 0x3D5B, 39004 }, + { 0x3D5C, 39014 }, + { 0x3D5D, 39009 }, + { 0x3D5E, 37239 }, + { 0x3D5F, 37224 }, + { 0x3D60, 37234 }, + { 0x3D61, 37229 }, + { 0x3D62, 37702 }, + { 0x3D63, 37687 }, + { 0x3D64, 37697 }, + { 0x3D65, 37692 }, + { 0x3D66, 37566 }, + { 0x3D67, 37551 }, + { 0x3D68, 37561 }, + { 0x3D69, 37556 }, + { 0x3D6A, 37626 }, + { 0x3D6B, 37611 }, + { 0x3D6C, 37621 }, + { 0x3D6D, 37616 }, + { 0x3D6E, 38591 }, + { 0x3D6F, 38576 }, + { 0x3D70, 38586 }, + { 0x3D71, 38581 }, + { 0x3D72, 38667 }, + { 0x3D73, 38636 }, + { 0x3D74, 38662 }, + { 0x3D75, 38657 }, + { 0x3D76, 37471 }, + { 0x3D77, 37456 }, + { 0x3D78, 37466 }, + { 0x3D79, 37461 }, + { 0x3D7A, 38055 }, + { 0x3D7B, 38050 }, + { 0x3D7C, 38386 }, + { 0x3D7D, 38380 }, + { 0x3D7E, 38226 }, + { 0x3D7F, 38150 }, + { 0x3D80, 38221 }, + { 0x3D81, 38216 }, + { 0x3D82, 40521 }, + { 0x3D83, 40511 }, + { 0x3D84, 40481 }, + { 0x3D85, 40471 }, + { 0x3D86, 40501 }, + { 0x3D87, 40491 }, + { 0x3D88, 40554 }, + { 0x3D89, 40531 }, + { 0x3D8A, 15371 }, + { 0x3D8B, 98993 }, + { 0x3D8C, 98980 }, + { 0x3D8D, 98956 }, + { 0x3D8E, 98948 }, + { 0x3D8F, 98959 }, + { 0x3D90, 98975 }, + { 0x3D91, 98985 }, + { 0x3D92, 98622 }, + { 0x3D93, 98940 }, + { 0x3D94, 98967 }, + { 0x3D95, 98625 }, + { 0x3D96, 98630 }, + { 0x3D97, 98999 }, + { 0x3D98, 98607 }, + { 0x3D99, 98965 }, + { 0x3D9A, 98650 }, + { 0x3D9B, 98632 }, + { 0x3D9C, 98638 }, + { 0x3D9D, 98659 }, + { 0x3D9E, 98644 }, + { 0x3D9F, 98641 }, + { 0x3DA0, 98635 }, + { 0x3DA1, 98656 }, + { 0x3DA2, 98653 }, + { 0x3DA3, 98647 }, + { 0x3DA4, 98628 }, + { 0x3DA5, 98983 }, + { 0x3DA6, 98977 }, + { 0x3DA7, 98951 }, + { 0x3DA8, 98996 }, + { 0x3DA9, 98969 }, + { 0x3DAA, 98990 }, + { 0x3DAB, 98795 }, + { 0x3DAC, 98800 }, + { 0x3DAD, 98805 }, + { 0x3DAE, 98810 }, + { 0x3DAF, 98815 }, + { 0x3DB0, 98820 }, + { 0x3DB1, 98825 }, + { 0x3DB2, 98830 }, + { 0x3DB3, 98835 }, + { 0x3DB4, 98840 }, + { 0x3DB5, 98845 }, + { 0x3DB6, 98850 }, + { 0x3DB7, 98855 }, + { 0x3DB8, 98860 }, + { 0x3DB9, 98865 }, + { 0x3DBA, 98870 }, + { 0x3DBB, 98875 }, + { 0x3DBC, 98880 }, + { 0x3DBD, 98885 }, + { 0x3DBE, 98890 }, + { 0x3DBF, 98895 }, + { 0x3DC0, 98900 }, + { 0x3DC1, 98905 }, + { 0x3DC2, 98910 }, + { 0x3DC3, 98915 }, + { 0x3DC4, 98920 }, + { 0x3DC5, 98618 }, + { 0x3DC6, 98962 }, + { 0x3DC7, 98936 }, + { 0x3DC8, 98987 }, + { 0x3DC9, 98592 }, + { 0x3DCA, 98662 }, + { 0x3DCB, 98665 }, + { 0x3DCC, 98670 }, + { 0x3DCD, 98675 }, + { 0x3DCE, 98680 }, + { 0x3DCF, 98685 }, + { 0x3DD0, 98690 }, + { 0x3DD1, 98695 }, + { 0x3DD2, 98700 }, + { 0x3DD3, 98705 }, + { 0x3DD4, 98710 }, + { 0x3DD5, 98715 }, + { 0x3DD6, 98720 }, + { 0x3DD7, 98725 }, + { 0x3DD8, 98730 }, + { 0x3DD9, 98735 }, + { 0x3DDA, 98740 }, + { 0x3DDB, 98745 }, + { 0x3DDC, 98750 }, + { 0x3DDD, 98755 }, + { 0x3DDE, 98760 }, + { 0x3DDF, 98765 }, + { 0x3DE0, 98770 }, + { 0x3DE1, 98775 }, + { 0x3DE2, 98780 }, + { 0x3DE3, 98785 }, + { 0x3DE4, 98790 }, + { 0x3DE5, 98610 }, + { 0x3DE6, 98972 }, + { 0x3DE7, 98928 }, + { 0x3DE8, 98943 }, + { 0x3DE9, 98614 }, + { 0x3DEA, 98932 }, + { 0x3DEB, 99486 }, + { 0x3DEC, 99006 }, + { 0x3DED, 99017 }, + { 0x3DEE, 99490 }, + { 0x3DEF, 99463 }, + { 0x3DF0, 99402 }, + { 0x3DF1, 99418 }, + { 0x3DF2, 99428 }, + { 0x3DF3, 99438 }, + { 0x3DF4, 99423 }, + { 0x3DF5, 99433 }, + { 0x3DF6, 99448 }, + { 0x3DF7, 99458 }, + { 0x3DF8, 99453 }, + { 0x3DF9, 99443 }, + { 0x3DFA, 99493 }, + { 0x3DFB, 99234 }, + { 0x3DFC, 99242 }, + { 0x3DFD, 99254 }, + { 0x3DFE, 99238 }, + { 0x3DFF, 99250 }, + { 0x3E00, 99278 }, + { 0x3E01, 99286 }, + { 0x3E02, 99294 }, + { 0x3E03, 99282 }, + { 0x3E04, 99290 }, + { 0x3E05, 99358 }, + { 0x3E06, 99366 }, + { 0x3E07, 99374 }, + { 0x3E08, 99362 }, + { 0x3E09, 99370 }, + { 0x3E0A, 99378 }, + { 0x3E0B, 99386 }, + { 0x3E0C, 99394 }, + { 0x3E0D, 99382 }, + { 0x3E0E, 99390 }, + { 0x3E0F, 99318 }, + { 0x3E10, 99326 }, + { 0x3E11, 99334 }, + { 0x3E12, 99322 }, + { 0x3E13, 99330 }, + { 0x3E14, 99258 }, + { 0x3E15, 99266 }, + { 0x3E16, 99274 }, + { 0x3E17, 99262 }, + { 0x3E18, 99270 }, + { 0x3E19, 99298 }, + { 0x3E1A, 99306 }, + { 0x3E1B, 99314 }, + { 0x3E1C, 99302 }, + { 0x3E1D, 99310 }, + { 0x3E1E, 99406 }, + { 0x3E1F, 99414 }, + { 0x3E20, 99410 }, + { 0x3E21, 99338 }, + { 0x3E22, 99346 }, + { 0x3E23, 99354 }, + { 0x3E24, 99342 }, + { 0x3E25, 99350 }, + { 0x3E26, 99398 }, + { 0x3E27, 99246 }, + { 0x3E28, 99467 }, + { 0x3E29, 99472 }, + { 0x3E2A, 99024 }, + { 0x3E2B, 99143 }, + { 0x3E2C, 99211 }, + { 0x3E2D, 99187 }, + { 0x3E2E, 99131 }, + { 0x3E2F, 99191 }, + { 0x3E30, 99195 }, + { 0x3E31, 99147 }, + { 0x3E32, 99215 }, + { 0x3E33, 99139 }, + { 0x3E34, 99219 }, + { 0x3E35, 99203 }, + { 0x3E36, 99207 }, + { 0x3E37, 99175 }, + { 0x3E38, 99227 }, + { 0x3E39, 99223 }, + { 0x3E3A, 99199 }, + { 0x3E3B, 99127 }, + { 0x3E3C, 99135 }, + { 0x3E3D, 99183 }, + { 0x3E3E, 99171 }, + { 0x3E3F, 99111 }, + { 0x3E40, 99167 }, + { 0x3E41, 99123 }, + { 0x3E42, 99115 }, + { 0x3E43, 99179 }, + { 0x3E44, 99151 }, + { 0x3E45, 99155 }, + { 0x3E46, 99163 }, + { 0x3E47, 99159 }, + { 0x3E48, 99119 }, + { 0x3E49, 99027 }, + { 0x3E4A, 99047 }, + { 0x3E4B, 99075 }, + { 0x3E4C, 99103 }, + { 0x3E4D, 99051 }, + { 0x3E4E, 99031 }, + { 0x3E4F, 99107 }, + { 0x3E50, 99079 }, + { 0x3E51, 99039 }, + { 0x3E52, 99063 }, + { 0x3E53, 99095 }, + { 0x3E54, 99059 }, + { 0x3E55, 99087 }, + { 0x3E56, 99043 }, + { 0x3E57, 99099 }, + { 0x3E58, 99067 }, + { 0x3E59, 99071 }, + { 0x3E5A, 99091 }, + { 0x3E5B, 99055 }, + { 0x3E5C, 99083 }, + { 0x3E5D, 99035 }, + { 0x3E5E, 98604 }, + { 0x3E5F, 98925 }, + { 0x3E60, 98595 }, + { 0x3E61, 98954 }, + { 0x3E62, 98945 }, + { 0x3E63, 98601 }, + { 0x3E64, 98598 }, + { 0x3E65, 99013 }, + { 0x3E66, 99480 }, + { 0x3E67, 99231 }, + { 0x3E68, 99483 }, + { 0x3E69, 99477 }, + { 0x3E6A, 99010 }, + { 0x3E6B, 99021 }, + { 0x3E6C, 106175 }, + { 0x3E6D, 106178 }, + { 0x3E6E, 106181 }, + { 0x3E6F, 52848 }, + { 0x3E70, 106228 }, + { 0x3E71, 51802 }, + { 0x3E72, 51927 }, + { 0x3E73, 51887 }, + { 0x3E74, 52027 }, + { 0x3E75, 51812 }, + { 0x3E76, 51767 }, + { 0x3E77, 51962 }, + { 0x3E78, 51797 }, + { 0x3E79, 51832 }, + { 0x3E7A, 51982 }, + { 0x3E7B, 52007 }, + { 0x3E7C, 51967 }, + { 0x3E7D, 51917 }, + { 0x3E7E, 52037 }, + { 0x3E7F, 52097 }, + { 0x3E80, 51957 }, + { 0x3E81, 52047 }, + { 0x3E82, 52062 }, + { 0x3E83, 52112 }, + { 0x3E84, 52107 }, + { 0x3E85, 51827 }, + { 0x3E86, 52077 }, + { 0x3E87, 51837 }, + { 0x3E88, 51862 }, + { 0x3E89, 51792 }, + { 0x3E8A, 51867 }, + { 0x3E8B, 51897 }, + { 0x3E8C, 51987 }, + { 0x3E8D, 52002 }, + { 0x3E8E, 51777 }, + { 0x3E8F, 52072 }, + { 0x3E90, 51932 }, + { 0x3E91, 51817 }, + { 0x3E92, 51977 }, + { 0x3E93, 51842 }, + { 0x3E94, 52102 }, + { 0x3E95, 51857 }, + { 0x3E96, 51907 }, + { 0x3E97, 52022 }, + { 0x3E98, 51882 }, + { 0x3E99, 51992 }, + { 0x3E9A, 51772 }, + { 0x3E9B, 51877 }, + { 0x3E9C, 51902 }, + { 0x3E9D, 51807 }, + { 0x3E9E, 51942 }, + { 0x3E9F, 51822 }, + { 0x3EA0, 52012 }, + { 0x3EA1, 52017 }, + { 0x3EA2, 51782 }, + { 0x3EA3, 51922 }, + { 0x3EA4, 51787 }, + { 0x3EA5, 52057 }, + { 0x3EA6, 51997 }, + { 0x3EA7, 52087 }, + { 0x3EA8, 51937 }, + { 0x3EA9, 51947 }, + { 0x3EAA, 51847 }, + { 0x3EAB, 52082 }, + { 0x3EAC, 51852 }, + { 0x3EAD, 51872 }, + { 0x3EAE, 51952 }, + { 0x3EAF, 52117 }, + { 0x3EB0, 52067 }, + { 0x3EB1, 52127 }, + { 0x3EB2, 51972 }, + { 0x3EB3, 51892 }, + { 0x3EB4, 52032 }, + { 0x3EB5, 52092 }, + { 0x3EB6, 51912 }, + { 0x3EB7, 52052 }, + { 0x3EB8, 52042 }, + { 0x3EB9, 52122 }, + { 0x3EBA, 52132 }, + { 0x3EBB, 51141 }, + { 0x3EBC, 51145 }, + { 0x3EBD, 51149 }, + { 0x3EBE, 51153 }, + { 0x3EBF, 51157 }, + { 0x3EC0, 51161 }, + { 0x3EC1, 51165 }, + { 0x3EC2, 51169 }, + { 0x3EC3, 51173 }, + { 0x3EC4, 51177 }, + { 0x3EC5, 51181 }, + { 0x3EC6, 51185 }, + { 0x3EC7, 51189 }, + { 0x3EC8, 51193 }, + { 0x3EC9, 51197 }, + { 0x3ECA, 51202 }, + { 0x3ECB, 51207 }, + { 0x3ECC, 51212 }, + { 0x3ECD, 51542 }, + { 0x3ECE, 51547 }, + { 0x3ECF, 51552 }, + { 0x3ED0, 51557 }, + { 0x3ED1, 51562 }, + { 0x3ED2, 51567 }, + { 0x3ED3, 51572 }, + { 0x3ED4, 51577 }, + { 0x3ED5, 51582 }, + { 0x3ED6, 51587 }, + { 0x3ED7, 51217 }, + { 0x3ED8, 51222 }, + { 0x3ED9, 51227 }, + { 0x3EDA, 51232 }, + { 0x3EDB, 51237 }, + { 0x3EDC, 51737 }, + { 0x3EDD, 51742 }, + { 0x3EDE, 51242 }, + { 0x3EDF, 51247 }, + { 0x3EE0, 51252 }, + { 0x3EE1, 51747 }, + { 0x3EE2, 51752 }, + { 0x3EE3, 51256 }, + { 0x3EE4, 51261 }, + { 0x3EE5, 51266 }, + { 0x3EE6, 51270 }, + { 0x3EE7, 51275 }, + { 0x3EE8, 51279 }, + { 0x3EE9, 51283 }, + { 0x3EEA, 51288 }, + { 0x3EEB, 51292 }, + { 0x3EEC, 51296 }, + { 0x3EED, 51757 }, + { 0x3EEE, 51300 }, + { 0x3EEF, 51304 }, + { 0x3EF0, 51308 }, + { 0x3EF1, 51313 }, + { 0x3EF2, 51317 }, + { 0x3EF3, 51321 }, + { 0x3EF4, 51326 }, + { 0x3EF5, 51331 }, + { 0x3EF6, 51335 }, + { 0x3EF7, 51339 }, + { 0x3EF8, 51343 }, + { 0x3EF9, 51347 }, + { 0x3EFA, 51351 }, + { 0x3EFB, 51355 }, + { 0x3EFC, 51359 }, + { 0x3EFD, 51363 }, + { 0x3EFE, 51367 }, + { 0x3EFF, 51372 }, + { 0x3F00, 51376 }, + { 0x3F01, 51381 }, + { 0x3F02, 51385 }, + { 0x3F03, 51389 }, + { 0x3F04, 51393 }, + { 0x3F05, 51397 }, + { 0x3F06, 51401 }, + { 0x3F07, 51405 }, + { 0x3F08, 51409 }, + { 0x3F09, 51413 }, + { 0x3F0A, 51417 }, + { 0x3F0B, 51421 }, + { 0x3F0C, 51425 }, + { 0x3F0D, 51430 }, + { 0x3F0E, 51435 }, + { 0x3F0F, 51440 }, + { 0x3F10, 51445 }, + { 0x3F11, 51450 }, + { 0x3F12, 51454 }, + { 0x3F13, 51459 }, + { 0x3F14, 51463 }, + { 0x3F15, 51467 }, + { 0x3F16, 51473 }, + { 0x3F17, 51478 }, + { 0x3F18, 51484 }, + { 0x3F19, 51489 }, + { 0x3F1A, 51493 }, + { 0x3F1B, 51762 }, + { 0x3F1C, 51497 }, + { 0x3F1D, 51501 }, + { 0x3F1E, 51505 }, + { 0x3F1F, 51509 }, + { 0x3F20, 51513 }, + { 0x3F21, 51517 }, + { 0x3F22, 51522 }, + { 0x3F23, 51526 }, + { 0x3F24, 51530 }, + { 0x3F25, 51534 }, + { 0x3F26, 51538 }, + { 0x3F27, 51592 }, + { 0x3F28, 51597 }, + { 0x3F29, 51602 }, + { 0x3F2A, 51607 }, + { 0x3F2B, 51612 }, + { 0x3F2C, 51617 }, + { 0x3F2D, 51622 }, + { 0x3F2E, 51627 }, + { 0x3F2F, 51632 }, + { 0x3F30, 51637 }, + { 0x3F31, 51642 }, + { 0x3F32, 51647 }, + { 0x3F33, 51652 }, + { 0x3F34, 51657 }, + { 0x3F35, 51662 }, + { 0x3F36, 51667 }, + { 0x3F37, 51672 }, + { 0x3F38, 51677 }, + { 0x3F39, 51682 }, + { 0x3F3A, 51687 }, + { 0x3F3B, 51692 }, + { 0x3F3C, 51697 }, + { 0x3F3D, 51702 }, + { 0x3F3E, 51707 }, + { 0x3F3F, 51712 }, + { 0x3F40, 51717 }, + { 0x3F41, 51722 }, + { 0x3F42, 51727 }, + { 0x3F43, 51732 }, + { 0x3F44, 36086 }, + { 0x3F45, 36082 }, + { 0x3F46, 36090 }, + { 0x3F47, 36098 }, + { 0x3F48, 36127 }, + { 0x3F49, 36214 }, + { 0x3F4A, 36149 }, + { 0x3F4B, 36138 }, + { 0x3F4C, 36109 }, + { 0x3F4D, 36196 }, + { 0x3F4E, 36171 }, + { 0x3F4F, 36160 }, + { 0x3F50, 36120 }, + { 0x3F51, 36246 }, + { 0x3F52, 36239 }, + { 0x3F53, 36189 }, + { 0x3F54, 36182 }, + { 0x3F55, 36207 }, + { 0x3F56, 36253 }, + { 0x3F57, 36225 }, + { 0x3F58, 36232 }, + { 0x3F59, 36101 }, + { 0x3F5A, 36130 }, + { 0x3F5B, 36217 }, + { 0x3F5C, 36152 }, + { 0x3F5D, 36141 }, + { 0x3F5E, 36112 }, + { 0x3F5F, 36199 }, + { 0x3F60, 36174 }, + { 0x3F61, 36163 }, + { 0x3F62, 36105 }, + { 0x3F63, 36134 }, + { 0x3F64, 36221 }, + { 0x3F65, 36156 }, + { 0x3F66, 36145 }, + { 0x3F67, 36116 }, + { 0x3F68, 36203 }, + { 0x3F69, 36178 }, + { 0x3F6A, 36167 }, + { 0x3F6B, 36123 }, + { 0x3F6C, 36249 }, + { 0x3F6D, 36242 }, + { 0x3F6E, 36192 }, + { 0x3F6F, 36185 }, + { 0x3F70, 36210 }, + { 0x3F71, 36256 }, + { 0x3F72, 36228 }, + { 0x3F73, 36235 }, + { 0x3F74, 36260 }, + { 0x3F75, 36264 }, + { 0x3F76, 36276 }, + { 0x3F77, 36268 }, + { 0x3F78, 36272 }, + { 0x3F79, 36077 }, + { 0x3F7A, 36093 }, + { 0x3F7B, 36284 }, + { 0x3F7C, 36280 }, + { 0x3F7D, 22303 }, + { 0x3F7E, 22281 }, + { 0x3F7F, 22286 }, + { 0x3F80, 22341 }, + { 0x3F81, 22383 }, + { 0x3F82, 22345 }, + { 0x3F83, 22372 }, + { 0x3F84, 22397 }, + { 0x3F85, 22367 }, + { 0x3F86, 22330 }, + { 0x3F87, 22392 }, + { 0x3F88, 22297 }, + { 0x3F89, 22356 }, + { 0x3F8A, 22314 }, + { 0x3F8B, 22377 }, + { 0x3F8C, 22362 }, + { 0x3F8D, 22325 }, + { 0x3F8E, 22387 }, + { 0x3F8F, 22291 }, + { 0x3F90, 22350 }, + { 0x3F91, 22308 }, + { 0x3F92, 22335 }, + { 0x3F93, 22402 }, + { 0x3F94, 22320 }, + { 0x3F95, 22418 }, + { 0x3F96, 22433 }, + { 0x3F97, 22501 }, + { 0x3F98, 22487 }, + { 0x3F99, 22451 }, + { 0x3F9A, 22423 }, + { 0x3F9B, 22491 }, + { 0x3F9C, 22523 }, + { 0x3F9D, 22513 }, + { 0x3F9E, 22517 }, + { 0x3F9F, 22505 }, + { 0x3FA0, 22483 }, + { 0x3FA1, 22447 }, + { 0x3FA2, 22474 }, + { 0x3FA3, 22532 }, + { 0x3FA4, 22536 }, + { 0x3FA5, 22509 }, + { 0x3FA6, 22465 }, + { 0x3FA7, 22437 }, + { 0x3FA8, 22469 }, + { 0x3FA9, 22496 }, + { 0x3FAA, 22527 }, + { 0x3FAB, 22455 }, + { 0x3FAC, 22478 }, + { 0x3FAD, 22408 }, + { 0x3FAE, 22442 }, + { 0x3FAF, 22460 }, + { 0x3FB0, 22413 }, + { 0x3FB1, 22428 }, + { 0x3FB2, 19796 }, + { 0x3FB3, 19800 }, + { 0x3FB4, 19825 }, + { 0x3FB5, 21045 }, + { 0x3FB6, 19845 }, + { 0x3FB7, 21242 }, + { 0x3FB8, 22186 }, + { 0x3FB9, 19840 }, + { 0x3FBA, 19821 }, + { 0x3FBB, 21041 }, + { 0x3FBC, 19836 }, + { 0x3FBD, 19832 }, + { 0x3FBE, 22220 }, + { 0x3FBF, 22191 }, + { 0x3FC0, 19868 }, + { 0x3FC1, 21235 }, + { 0x3FC2, 21245 }, + { 0x3FC3, 21172 }, + { 0x3FC4, 21169 }, + { 0x3FC5, 21175 }, + { 0x3FC6, 22234 }, + { 0x3FC7, 19848 }, + { 0x3FC8, 19806 }, + { 0x3FC9, 22231 }, + { 0x3FCA, 22253 }, + { 0x3FCB, 64477 }, + { 0x3FCC, 33931 }, + { 0x3FCD, 33835 }, + { 0x3FCE, 33943 }, + { 0x3FCF, 33934 }, + { 0x3FD0, 33838 }, + { 0x3FD1, 33937 }, + { 0x3FD2, 33940 }, + { 0x3FD3, 33952 }, + { 0x3FD4, 33955 }, + { 0x3FD5, 33949 }, + { 0x3FD6, 33832 }, + { 0x3FD7, 33946 }, + { 0x3FD8, 21238 }, + { 0x3FD9, 85789 }, + { 0x3FDA, 85728 }, + { 0x3FDB, 85769 }, + { 0x3FDC, 85741 }, + { 0x3FDD, 85674 }, + { 0x3FDE, 85708 }, + { 0x3FDF, 85724 }, + { 0x3FE0, 85757 }, + { 0x3FE1, 85700 }, + { 0x3FE2, 85665 }, + { 0x3FE3, 85608 }, + { 0x3FE4, 85733 }, + { 0x3FE5, 85628 }, + { 0x3FE6, 85761 }, + { 0x3FE7, 85745 }, + { 0x3FE8, 85624 }, + { 0x3FE9, 85616 }, + { 0x3FEA, 85774 }, + { 0x3FEB, 85778 }, + { 0x3FEC, 85716 }, + { 0x3FED, 85632 }, + { 0x3FEE, 85691 }, + { 0x3FEF, 85712 }, + { 0x3FF0, 85737 }, + { 0x3FF1, 85652 }, + { 0x3FF2, 85644 }, + { 0x3FF3, 85640 }, + { 0x3FF4, 85669 }, + { 0x3FF5, 85612 }, + { 0x3FF6, 85620 }, + { 0x3FF7, 85678 }, + { 0x3FF8, 85636 }, + { 0x3FF9, 85704 }, + { 0x3FFA, 85604 }, + { 0x3FFB, 85686 }, + { 0x3FFC, 85656 }, + { 0x3FFD, 85749 }, + { 0x3FFE, 85753 }, + { 0x3FFF, 85648 }, + { 0x4000, 85599 }, + { 0x4001, 85682 }, + { 0x4002, 85720 }, + { 0x4003, 85765 }, + { 0x4004, 85695 }, + { 0x4005, 85660 }, + { 0x4006, 85783 }, + { 0x4007, 52143 }, + { 0x4008, 52152 }, + { 0x4009, 52146 }, + { 0x400A, 52209 }, + { 0x400B, 52155 }, + { 0x400C, 52149 }, + { 0x400D, 52161 }, + { 0x400E, 52197 }, + { 0x400F, 52203 }, + { 0x4010, 52224 }, + { 0x4011, 52164 }, + { 0x4012, 52167 }, + { 0x4013, 52182 }, + { 0x4014, 52170 }, + { 0x4015, 52173 }, + { 0x4016, 52176 }, + { 0x4017, 52218 }, + { 0x4018, 52221 }, + { 0x4019, 52194 }, + { 0x401A, 52179 }, + { 0x401B, 52215 }, + { 0x401C, 52185 }, + { 0x401D, 52188 }, + { 0x401E, 52191 }, + { 0x401F, 52227 }, + { 0x4020, 52206 }, + { 0x4021, 52212 }, + { 0x4022, 52158 }, + { 0x4023, 52200 }, + { 0x4024, 44386 }, + { 0x4025, 44473 }, + { 0x4026, 44392 }, + { 0x4027, 44407 }, + { 0x4028, 44515 }, + { 0x4029, 44425 }, + { 0x402A, 44458 }, + { 0x402B, 44440 }, + { 0x402C, 44422 }, + { 0x402D, 44389 }, + { 0x402E, 44410 }, + { 0x402F, 44416 }, + { 0x4030, 44443 }, + { 0x4031, 44431 }, + { 0x4032, 44479 }, + { 0x4033, 44506 }, + { 0x4034, 44428 }, + { 0x4035, 44518 }, + { 0x4036, 44434 }, + { 0x4037, 44470 }, + { 0x4038, 44437 }, + { 0x4039, 44413 }, + { 0x403A, 44512 }, + { 0x403B, 44419 }, + { 0x403C, 44482 }, + { 0x403D, 44401 }, + { 0x403E, 44395 }, + { 0x403F, 44530 }, + { 0x4040, 44404 }, + { 0x4041, 44455 }, + { 0x4042, 44464 }, + { 0x4043, 44491 }, + { 0x4044, 44398 }, + { 0x4045, 44449 }, + { 0x4046, 44485 }, + { 0x4047, 44509 }, + { 0x4048, 44467 }, + { 0x4049, 44452 }, + { 0x404A, 44521 }, + { 0x404B, 44488 }, + { 0x404C, 44524 }, + { 0x404D, 44476 }, + { 0x404E, 44461 }, + { 0x404F, 44497 }, + { 0x4050, 44500 }, + { 0x4051, 44503 }, + { 0x4052, 44494 }, + { 0x4053, 44446 }, + { 0x4054, 44527 }, + { 0x4055, 45024 }, + { 0x4056, 44907 }, + { 0x4057, 44915 }, + { 0x4058, 44939 }, + { 0x4059, 44923 }, + { 0x405A, 44919 }, + { 0x405B, 44911 }, + { 0x405C, 44935 }, + { 0x405D, 44931 }, + { 0x405E, 44927 }, + { 0x405F, 44953 }, + { 0x4060, 45016 }, + { 0x4061, 45012 }, + { 0x4062, 44986 }, + { 0x4063, 44982 }, + { 0x4064, 44995 }, + { 0x4065, 45020 }, + { 0x4066, 45004 }, + { 0x4067, 45008 }, + { 0x4068, 44943 }, + { 0x4069, 44957 }, + { 0x406A, 44999 }, + { 0x406B, 44967 }, + { 0x406C, 44962 }, + { 0x406D, 44948 }, + { 0x406E, 44990 }, + { 0x406F, 44977 }, + { 0x4070, 44972 }, + { 0x4071, 7511 }, + { 0x4072, 7531 }, + { 0x4073, 7575 }, + { 0x4074, 7535 }, + { 0x4075, 7515 }, + { 0x4076, 7595 }, + { 0x4077, 7599 }, + { 0x4078, 7563 }, + { 0x4079, 7635 }, + { 0x407A, 7519 }, + { 0x407B, 7571 }, + { 0x407C, 7543 }, + { 0x407D, 7547 }, + { 0x407E, 7551 }, + { 0x407F, 7615 }, + { 0x4080, 7523 }, + { 0x4081, 7583 }, + { 0x4082, 7631 }, + { 0x4083, 7579 }, + { 0x4084, 7555 }, + { 0x4085, 7559 }, + { 0x4086, 7587 }, + { 0x4087, 7527 }, + { 0x4088, 7607 }, + { 0x4089, 7627 }, + { 0x408A, 7623 }, + { 0x408B, 7539 }, + { 0x408C, 7611 }, + { 0x408D, 7603 }, + { 0x408E, 7567 }, + { 0x408F, 7591 }, + { 0x4090, 7619 }, + { 0x4091, 7639 }, + { 0x4092, 7647 }, + { 0x4093, 7643 }, + { 0x4094, 7651 }, + { 0x4095, 46347 }, + { 0x4096, 46414 }, + { 0x4097, 46353 }, + { 0x4098, 46350 }, + { 0x4099, 46402 }, + { 0x409A, 46420 }, + { 0x409B, 46359 }, + { 0x409C, 46356 }, + { 0x409D, 46411 }, + { 0x409E, 46341 }, + { 0x409F, 46378 }, + { 0x40A0, 46381 }, + { 0x40A1, 46384 }, + { 0x40A2, 46405 }, + { 0x40A3, 46344 }, + { 0x40A4, 46366 }, + { 0x40A5, 46417 }, + { 0x40A6, 46408 }, + { 0x40A7, 46390 }, + { 0x40A8, 46393 }, + { 0x40A9, 46396 }, + { 0x40AA, 46399 }, + { 0x40AB, 46369 }, + { 0x40AC, 46375 }, + { 0x40AD, 46372 }, + { 0x40AE, 46387 }, + { 0x40AF, 46362 }, + { 0x40B0, 7671 }, + { 0x40B1, 7703 }, + { 0x40B2, 7711 }, + { 0x40B3, 7707 }, + { 0x40B4, 7655 }, + { 0x40B5, 7775 }, + { 0x40B6, 7783 }, + { 0x40B7, 7771 }, + { 0x40B8, 7787 }, + { 0x40B9, 7659 }, + { 0x40BA, 7747 }, + { 0x40BB, 7715 }, + { 0x40BC, 7791 }, + { 0x40BD, 7795 }, + { 0x40BE, 7759 }, + { 0x40BF, 7751 }, + { 0x40C0, 7719 }, + { 0x40C1, 7723 }, + { 0x40C2, 7727 }, + { 0x40C3, 7667 }, + { 0x40C4, 7779 }, + { 0x40C5, 7799 }, + { 0x40C6, 7803 }, + { 0x40C7, 7743 }, + { 0x40C8, 7767 }, + { 0x40C9, 7663 }, + { 0x40CA, 7691 }, + { 0x40CB, 7675 }, + { 0x40CC, 7679 }, + { 0x40CD, 7755 }, + { 0x40CE, 7731 }, + { 0x40CF, 7739 }, + { 0x40D0, 7763 }, + { 0x40D1, 7735 }, + { 0x40D2, 7687 }, + { 0x40D3, 7699 }, + { 0x40D4, 7695 }, + { 0x40D5, 7683 }, + { 0x40D6, 90596 }, + { 0x40D7, 90601 }, + { 0x40D8, 90611 }, + { 0x40D9, 90616 }, + { 0x40DA, 90606 }, + { 0x40DB, 86754 }, + { 0x40DC, 86757 }, + { 0x40DD, 86781 }, + { 0x40DE, 86736 }, + { 0x40DF, 86778 }, + { 0x40E0, 86715 }, + { 0x40E1, 86724 }, + { 0x40E2, 86775 }, + { 0x40E3, 86763 }, + { 0x40E4, 86748 }, + { 0x40E5, 86751 }, + { 0x40E6, 86733 }, + { 0x40E7, 86772 }, + { 0x40E8, 86787 }, + { 0x40E9, 86739 }, + { 0x40EA, 86760 }, + { 0x40EB, 86742 }, + { 0x40EC, 86727 }, + { 0x40ED, 86793 }, + { 0x40EE, 86730 }, + { 0x40EF, 86718 }, + { 0x40F0, 86769 }, + { 0x40F1, 86766 }, + { 0x40F2, 86790 }, + { 0x40F3, 86796 }, + { 0x40F4, 86784 }, + { 0x40F5, 86721 }, + { 0x40F6, 86709 }, + { 0x40F7, 86712 }, + { 0x40F8, 86745 }, + { 0x40F9, 86706 }, + { 0x40FA, 8172 }, + { 0x40FB, 8176 }, + { 0x40FC, 8180 }, + { 0x40FD, 8228 }, + { 0x40FE, 8232 }, + { 0x40FF, 8208 }, + { 0x4100, 8212 }, + { 0x4101, 8292 }, + { 0x4102, 8188 }, + { 0x4103, 8220 }, + { 0x4104, 8224 }, + { 0x4105, 8276 }, + { 0x4106, 8280 }, + { 0x4107, 8192 }, + { 0x4108, 8196 }, + { 0x4109, 8200 }, + { 0x410A, 8312 }, + { 0x410B, 8260 }, + { 0x410C, 8184 }, + { 0x410D, 8204 }, + { 0x410E, 8252 }, + { 0x410F, 8256 }, + { 0x4110, 8240 }, + { 0x4111, 8244 }, + { 0x4112, 8248 }, + { 0x4113, 8296 }, + { 0x4114, 8284 }, + { 0x4115, 8288 }, + { 0x4116, 8264 }, + { 0x4117, 8268 }, + { 0x4118, 8236 }, + { 0x4119, 8272 }, + { 0x411A, 8300 }, + { 0x411B, 8304 }, + { 0x411C, 8308 }, + { 0x411D, 8216 }, + { 0x411E, 8328 }, + { 0x411F, 8336 }, + { 0x4120, 8340 }, + { 0x4121, 8344 }, + { 0x4122, 8324 }, + { 0x4123, 8332 }, + { 0x4124, 8316 }, + { 0x4125, 8320 }, + { 0x4126, 8348 }, + { 0x4127, 8352 }, + { 0x4128, 8360 }, + { 0x4129, 8356 }, + { 0x412A, 8364 }, + { 0x412B, 8368 }, + { 0x412C, 60615 }, + { 0x412D, 60610 }, + { 0x412E, 60605 }, + { 0x412F, 60625 }, + { 0x4130, 60620 }, + { 0x4131, 60630 }, + { 0x4132, 60653 }, + { 0x4133, 60648 }, + { 0x4134, 60643 }, + { 0x4135, 60663 }, + { 0x4136, 60658 }, + { 0x4137, 60668 }, + { 0x4138, 60505 }, + { 0x4139, 60541 }, + { 0x413A, 60545 }, + { 0x413B, 60593 }, + { 0x413C, 60501 }, + { 0x413D, 60581 }, + { 0x413E, 60549 }, + { 0x413F, 60585 }, + { 0x4140, 60553 }, + { 0x4141, 60601 }, + { 0x4142, 60573 }, + { 0x4143, 60577 }, + { 0x4144, 60569 }, + { 0x4145, 60509 }, + { 0x4146, 60589 }, + { 0x4147, 60565 }, + { 0x4148, 60635 }, + { 0x4149, 60529 }, + { 0x414A, 60597 }, + { 0x414B, 60561 }, + { 0x414C, 60639 }, + { 0x414D, 60525 }, + { 0x414E, 60513 }, + { 0x414F, 60517 }, + { 0x4150, 60521 }, + { 0x4151, 60557 }, + { 0x4152, 60537 }, + { 0x4153, 60533 }, + { 0x4154, 60443 }, + { 0x4155, 60438 }, + { 0x4156, 60433 }, + { 0x4157, 60453 }, + { 0x4158, 60448 }, + { 0x4159, 60458 }, + { 0x415A, 60481 }, + { 0x415B, 60476 }, + { 0x415C, 60471 }, + { 0x415D, 60491 }, + { 0x415E, 60486 }, + { 0x415F, 60496 }, + { 0x4160, 60333 }, + { 0x4161, 60369 }, + { 0x4162, 60373 }, + { 0x4163, 60421 }, + { 0x4164, 60329 }, + { 0x4165, 60409 }, + { 0x4166, 60377 }, + { 0x4167, 60413 }, + { 0x4168, 60381 }, + { 0x4169, 60429 }, + { 0x416A, 60401 }, + { 0x416B, 60405 }, + { 0x416C, 60397 }, + { 0x416D, 60337 }, + { 0x416E, 60417 }, + { 0x416F, 60393 }, + { 0x4170, 60463 }, + { 0x4171, 60357 }, + { 0x4172, 60425 }, + { 0x4173, 60389 }, + { 0x4174, 60467 }, + { 0x4175, 60353 }, + { 0x4176, 60341 }, + { 0x4177, 60345 }, + { 0x4178, 60349 }, + { 0x4179, 60385 }, + { 0x417A, 60365 }, + { 0x417B, 60361 }, + { 0x417C, 65658 }, + { 0x417D, 65622 }, + { 0x417E, 65646 }, + { 0x417F, 65598 }, + { 0x4180, 65682 }, + { 0x4181, 65559 }, + { 0x4182, 65664 }, + { 0x4183, 65685 }, + { 0x4184, 65631 }, + { 0x4185, 65643 }, + { 0x4186, 65583 }, + { 0x4187, 65640 }, + { 0x4188, 65601 }, + { 0x4189, 65625 }, + { 0x418A, 65667 }, + { 0x418B, 65637 }, + { 0x418C, 65688 }, + { 0x418D, 65679 }, + { 0x418E, 65628 }, + { 0x418F, 65676 }, + { 0x4190, 65649 }, + { 0x4191, 65652 }, + { 0x4192, 65550 }, + { 0x4193, 65592 }, + { 0x4194, 65577 }, + { 0x4195, 65565 }, + { 0x4196, 65553 }, + { 0x4197, 65670 }, + { 0x4198, 65619 }, + { 0x4199, 65547 }, + { 0x419A, 65661 }, + { 0x419B, 65610 }, + { 0x419C, 65589 }, + { 0x419D, 65568 }, + { 0x419E, 65607 }, + { 0x419F, 65562 }, + { 0x41A0, 65613 }, + { 0x41A1, 65655 }, + { 0x41A2, 65616 }, + { 0x41A3, 65580 }, + { 0x41A4, 65574 }, + { 0x41A5, 65556 }, + { 0x41A6, 65571 }, + { 0x41A7, 65595 }, + { 0x41A8, 65673 }, + { 0x41A9, 65586 }, + { 0x41AA, 65604 }, + { 0x41AB, 65634 }, + { 0x41AC, 64610 }, + { 0x41AD, 64565 }, + { 0x41AE, 64592 }, + { 0x41AF, 64580 }, + { 0x41B0, 64595 }, + { 0x41B1, 64604 }, + { 0x41B2, 64616 }, + { 0x41B3, 64586 }, + { 0x41B4, 64589 }, + { 0x41B5, 64634 }, + { 0x41B6, 64601 }, + { 0x41B7, 64613 }, + { 0x41B8, 64574 }, + { 0x41B9, 64571 }, + { 0x41BA, 64631 }, + { 0x41BB, 64619 }, + { 0x41BC, 64622 }, + { 0x41BD, 64625 }, + { 0x41BE, 64628 }, + { 0x41BF, 64607 }, + { 0x41C0, 64577 }, + { 0x41C1, 64598 }, + { 0x41C2, 64547 }, + { 0x41C3, 64550 }, + { 0x41C4, 64553 }, + { 0x41C5, 64556 }, + { 0x41C6, 64559 }, + { 0x41C7, 64562 }, + { 0x41C8, 64568 }, + { 0x41C9, 64583 }, + { 0x41CA, 64535 }, + { 0x41CB, 64517 }, + { 0x41CC, 64523 }, + { 0x41CD, 64544 }, + { 0x41CE, 64529 }, + { 0x41CF, 64526 }, + { 0x41D0, 64520 }, + { 0x41D1, 64541 }, + { 0x41D2, 64538 }, + { 0x41D3, 64532 }, + { 0x41D4, 33353 }, + { 0x41D5, 33377 }, + { 0x41D6, 33421 }, + { 0x41D7, 33373 }, + { 0x41D8, 33425 }, + { 0x41D9, 33429 }, + { 0x41DA, 33489 }, + { 0x41DB, 33357 }, + { 0x41DC, 33437 }, + { 0x41DD, 33381 }, + { 0x41DE, 33445 }, + { 0x41DF, 33361 }, + { 0x41E0, 33385 }, + { 0x41E1, 33473 }, + { 0x41E2, 33453 }, + { 0x41E3, 33389 }, + { 0x41E4, 33393 }, + { 0x41E5, 33397 }, + { 0x41E6, 33365 }, + { 0x41E7, 33457 }, + { 0x41E8, 33401 }, + { 0x41E9, 33477 }, + { 0x41EA, 33405 }, + { 0x41EB, 33461 }, + { 0x41EC, 33409 }, + { 0x41ED, 33481 }, + { 0x41EE, 33465 }, + { 0x41EF, 33493 }, + { 0x41F0, 33485 }, + { 0x41F1, 33433 }, + { 0x41F2, 33369 }, + { 0x41F3, 33413 }, + { 0x41F4, 33449 }, + { 0x41F5, 33441 }, + { 0x41F6, 33417 }, + { 0x41F7, 33469 }, + { 0x41F8, 33209 }, + { 0x41F9, 33233 }, + { 0x41FA, 33277 }, + { 0x41FB, 33229 }, + { 0x41FC, 33281 }, + { 0x41FD, 33285 }, + { 0x41FE, 33345 }, + { 0x41FF, 33213 }, + { 0x4200, 33293 }, + { 0x4201, 33237 }, + { 0x4202, 33301 }, + { 0x4203, 33217 }, + { 0x4204, 33241 }, + { 0x4205, 33329 }, + { 0x4206, 33309 }, + { 0x4207, 33245 }, + { 0x4208, 33249 }, + { 0x4209, 33253 }, + { 0x420A, 33221 }, + { 0x420B, 33313 }, + { 0x420C, 33257 }, + { 0x420D, 33333 }, + { 0x420E, 33261 }, + { 0x420F, 33317 }, + { 0x4210, 33265 }, + { 0x4211, 33337 }, + { 0x4212, 33321 }, + { 0x4213, 33349 }, + { 0x4214, 33341 }, + { 0x4215, 33289 }, + { 0x4216, 33225 }, + { 0x4217, 33269 }, + { 0x4218, 33305 }, + { 0x4219, 33297 }, + { 0x421A, 33273 }, + { 0x421B, 33325 }, + { 0x421C, 60891 }, + { 0x421D, 60909 }, + { 0x421E, 60912 }, + { 0x421F, 60972 }, + { 0x4220, 60915 }, + { 0x4221, 60990 }, + { 0x4222, 60975 }, + { 0x4223, 60918 }, + { 0x4224, 60894 }, + { 0x4225, 60921 }, + { 0x4226, 60924 }, + { 0x4227, 60981 }, + { 0x4228, 60927 }, + { 0x4229, 60897 }, + { 0x422A, 60930 }, + { 0x422B, 60933 }, + { 0x422C, 60936 }, + { 0x422D, 60987 }, + { 0x422E, 60939 }, + { 0x422F, 60945 }, + { 0x4230, 60942 }, + { 0x4231, 60993 }, + { 0x4232, 60900 }, + { 0x4233, 60948 }, + { 0x4234, 60951 }, + { 0x4235, 60954 }, + { 0x4236, 60996 }, + { 0x4237, 60957 }, + { 0x4238, 60999 }, + { 0x4239, 60960 }, + { 0x423A, 61002 }, + { 0x423B, 60903 }, + { 0x423C, 60963 }, + { 0x423D, 60966 }, + { 0x423E, 60906 }, + { 0x423F, 60969 }, + { 0x4240, 61005 }, + { 0x4241, 60978 }, + { 0x4242, 61008 }, + { 0x4243, 60984 }, + { 0x4244, 90275 }, + { 0x4245, 90283 }, + { 0x4246, 90311 }, + { 0x4247, 90299 }, + { 0x4248, 90267 }, + { 0x4249, 90459 }, + { 0x424A, 90303 }, + { 0x424B, 90463 }, + { 0x424C, 90359 }, + { 0x424D, 90291 }, + { 0x424E, 90455 }, + { 0x424F, 90363 }, + { 0x4250, 90315 }, + { 0x4251, 90355 }, + { 0x4252, 90331 }, + { 0x4253, 90399 }, + { 0x4254, 90447 }, + { 0x4255, 90387 }, + { 0x4256, 90287 }, + { 0x4257, 90407 }, + { 0x4258, 90323 }, + { 0x4259, 90411 }, + { 0x425A, 90395 }, + { 0x425B, 90347 }, + { 0x425C, 90279 }, + { 0x425D, 90375 }, + { 0x425E, 90295 }, + { 0x425F, 90383 }, + { 0x4260, 90335 }, + { 0x4261, 90343 }, + { 0x4262, 90415 }, + { 0x4263, 90467 }, + { 0x4264, 90427 }, + { 0x4265, 90403 }, + { 0x4266, 90271 }, + { 0x4267, 90439 }, + { 0x4268, 90307 }, + { 0x4269, 90391 }, + { 0x426A, 90371 }, + { 0x426B, 90339 }, + { 0x426C, 90471 }, + { 0x426D, 90351 }, + { 0x426E, 90423 }, + { 0x426F, 90443 }, + { 0x4270, 90435 }, + { 0x4271, 90431 }, + { 0x4272, 90319 }, + { 0x4273, 90379 }, + { 0x4274, 90367 }, + { 0x4275, 90451 }, + { 0x4276, 90419 }, + { 0x4277, 90327 }, + { 0x4278, 90475 }, + { 0x4279, 50717 }, + { 0x427A, 50721 }, + { 0x427B, 50725 }, + { 0x427C, 50729 }, + { 0x427D, 50733 }, + { 0x427E, 50737 }, + { 0x427F, 50741 }, + { 0x4280, 50745 }, + { 0x4281, 50749 }, + { 0x4282, 50753 }, + { 0x4283, 50757 }, + { 0x4284, 50761 }, + { 0x4285, 50765 }, + { 0x4286, 50769 }, + { 0x4287, 50773 }, + { 0x4288, 50777 }, + { 0x4289, 51033 }, + { 0x428A, 51037 }, + { 0x428B, 50781 }, + { 0x428C, 51041 }, + { 0x428D, 51045 }, + { 0x428E, 50785 }, + { 0x428F, 51049 }, + { 0x4290, 50789 }, + { 0x4291, 50793 }, + { 0x4292, 50797 }, + { 0x4293, 50801 }, + { 0x4294, 50681 }, + { 0x4295, 50805 }, + { 0x4296, 50809 }, + { 0x4297, 50813 }, + { 0x4298, 50817 }, + { 0x4299, 50821 }, + { 0x429A, 50825 }, + { 0x429B, 50829 }, + { 0x429C, 50833 }, + { 0x429D, 50837 }, + { 0x429E, 50841 }, + { 0x429F, 50845 }, + { 0x42A0, 50849 }, + { 0x42A1, 50853 }, + { 0x42A2, 50857 }, + { 0x42A3, 50861 }, + { 0x42A4, 50865 }, + { 0x42A5, 50869 }, + { 0x42A6, 50873 }, + { 0x42A7, 50877 }, + { 0x42A8, 50881 }, + { 0x42A9, 50885 }, + { 0x42AA, 50889 }, + { 0x42AB, 50893 }, + { 0x42AC, 50897 }, + { 0x42AD, 50901 }, + { 0x42AE, 50905 }, + { 0x42AF, 50909 }, + { 0x42B0, 50913 }, + { 0x42B1, 50917 }, + { 0x42B2, 50921 }, + { 0x42B3, 50925 }, + { 0x42B4, 50929 }, + { 0x42B5, 50933 }, + { 0x42B6, 50937 }, + { 0x42B7, 50941 }, + { 0x42B8, 50945 }, + { 0x42B9, 50949 }, + { 0x42BA, 50953 }, + { 0x42BB, 50957 }, + { 0x42BC, 50961 }, + { 0x42BD, 50965 }, + { 0x42BE, 50969 }, + { 0x42BF, 50973 }, + { 0x42C0, 51061 }, + { 0x42C1, 50977 }, + { 0x42C2, 50981 }, + { 0x42C3, 50685 }, + { 0x42C4, 50985 }, + { 0x42C5, 50989 }, + { 0x42C6, 51053 }, + { 0x42C7, 51057 }, + { 0x42C8, 50689 }, + { 0x42C9, 50993 }, + { 0x42CA, 50997 }, + { 0x42CB, 51001 }, + { 0x42CC, 51005 }, + { 0x42CD, 51009 }, + { 0x42CE, 49755 }, + { 0x42CF, 49759 }, + { 0x42D0, 49763 }, + { 0x42D1, 49767 }, + { 0x42D2, 49771 }, + { 0x42D3, 49775 }, + { 0x42D4, 49779 }, + { 0x42D5, 49783 }, + { 0x42D6, 50693 }, + { 0x42D7, 50697 }, + { 0x42D8, 50701 }, + { 0x42D9, 49787 }, + { 0x42DA, 49791 }, + { 0x42DB, 49795 }, + { 0x42DC, 50705 }, + { 0x42DD, 50709 }, + { 0x42DE, 50713 }, + { 0x42DF, 49799 }, + { 0x42E0, 49803 }, + { 0x42E1, 49807 }, + { 0x42E2, 49811 }, + { 0x42E3, 49815 }, + { 0x42E4, 49819 }, + { 0x42E5, 49823 }, + { 0x42E6, 49827 }, + { 0x42E7, 49831 }, + { 0x42E8, 49835 }, + { 0x42E9, 49839 }, + { 0x42EA, 49843 }, + { 0x42EB, 49847 }, + { 0x42EC, 49851 }, + { 0x42ED, 49855 }, + { 0x42EE, 49859 }, + { 0x42EF, 49863 }, + { 0x42F0, 49867 }, + { 0x42F1, 49871 }, + { 0x42F2, 49875 }, + { 0x42F3, 49879 }, + { 0x42F4, 49883 }, + { 0x42F5, 49887 }, + { 0x42F6, 49891 }, + { 0x42F7, 49895 }, + { 0x42F8, 49899 }, + { 0x42F9, 49903 }, + { 0x42FA, 49907 }, + { 0x42FB, 49911 }, + { 0x42FC, 49915 }, + { 0x42FD, 49919 }, + { 0x42FE, 49923 }, + { 0x42FF, 49927 }, + { 0x4300, 49931 }, + { 0x4301, 49935 }, + { 0x4302, 49939 }, + { 0x4303, 49943 }, + { 0x4304, 49947 }, + { 0x4305, 49951 }, + { 0x4306, 49955 }, + { 0x4307, 49959 }, + { 0x4308, 49963 }, + { 0x4309, 49967 }, + { 0x430A, 49971 }, + { 0x430B, 49975 }, + { 0x430C, 49979 }, + { 0x430D, 49983 }, + { 0x430E, 49987 }, + { 0x430F, 49991 }, + { 0x4310, 49995 }, + { 0x4311, 49999 }, + { 0x4312, 50003 }, + { 0x4313, 50007 }, + { 0x4314, 50011 }, + { 0x4315, 50015 }, + { 0x4316, 50019 }, + { 0x4317, 50023 }, + { 0x4318, 50027 }, + { 0x4319, 51065 }, + { 0x431A, 51069 }, + { 0x431B, 51073 }, + { 0x431C, 51077 }, + { 0x431D, 51081 }, + { 0x431E, 51085 }, + { 0x431F, 51089 }, + { 0x4320, 51093 }, + { 0x4321, 51097 }, + { 0x4322, 51101 }, + { 0x4323, 51105 }, + { 0x4324, 51109 }, + { 0x4325, 51113 }, + { 0x4326, 51117 }, + { 0x4327, 51121 }, + { 0x4328, 51125 }, + { 0x4329, 51129 }, + { 0x432A, 51133 }, + { 0x432B, 51137 }, + { 0x432C, 50031 }, + { 0x432D, 50035 }, + { 0x432E, 50039 }, + { 0x432F, 50043 }, + { 0x4330, 50047 }, + { 0x4331, 50051 }, + { 0x4332, 50055 }, + { 0x4333, 50059 }, + { 0x4334, 50063 }, + { 0x4335, 50067 }, + { 0x4336, 50071 }, + { 0x4337, 50075 }, + { 0x4338, 50079 }, + { 0x4339, 50083 }, + { 0x433A, 50087 }, + { 0x433B, 50091 }, + { 0x433C, 50095 }, + { 0x433D, 50099 }, + { 0x433E, 50103 }, + { 0x433F, 50107 }, + { 0x4340, 50111 }, + { 0x4341, 50115 }, + { 0x4342, 50119 }, + { 0x4343, 50123 }, + { 0x4344, 50127 }, + { 0x4345, 50131 }, + { 0x4346, 50135 }, + { 0x4347, 50139 }, + { 0x4348, 50143 }, + { 0x4349, 50147 }, + { 0x434A, 50151 }, + { 0x434B, 50155 }, + { 0x434C, 50159 }, + { 0x434D, 50163 }, + { 0x434E, 50167 }, + { 0x434F, 50171 }, + { 0x4350, 50175 }, + { 0x4351, 50179 }, + { 0x4352, 50183 }, + { 0x4353, 50187 }, + { 0x4354, 50191 }, + { 0x4355, 50195 }, + { 0x4356, 50199 }, + { 0x4357, 50203 }, + { 0x4358, 50207 }, + { 0x4359, 50211 }, + { 0x435A, 50215 }, + { 0x435B, 50219 }, + { 0x435C, 50223 }, + { 0x435D, 50227 }, + { 0x435E, 50231 }, + { 0x435F, 50235 }, + { 0x4360, 50239 }, + { 0x4361, 50243 }, + { 0x4362, 50247 }, + { 0x4363, 50251 }, + { 0x4364, 50255 }, + { 0x4365, 50259 }, + { 0x4366, 50263 }, + { 0x4367, 50267 }, + { 0x4368, 50271 }, + { 0x4369, 50275 }, + { 0x436A, 50279 }, + { 0x436B, 50283 }, + { 0x436C, 50287 }, + { 0x436D, 50291 }, + { 0x436E, 50295 }, + { 0x436F, 50299 }, + { 0x4370, 50303 }, + { 0x4371, 50307 }, + { 0x4372, 50311 }, + { 0x4373, 50315 }, + { 0x4374, 50319 }, + { 0x4375, 50323 }, + { 0x4376, 50327 }, + { 0x4377, 50331 }, + { 0x4378, 50335 }, + { 0x4379, 50339 }, + { 0x437A, 50343 }, + { 0x437B, 50347 }, + { 0x437C, 50351 }, + { 0x437D, 50355 }, + { 0x437E, 50359 }, + { 0x437F, 50363 }, + { 0x4380, 50367 }, + { 0x4381, 50371 }, + { 0x4382, 50375 }, + { 0x4383, 50379 }, + { 0x4384, 50383 }, + { 0x4385, 50387 }, + { 0x4386, 50391 }, + { 0x4387, 50395 }, + { 0x4388, 50399 }, + { 0x4389, 50403 }, + { 0x438A, 50407 }, + { 0x438B, 50411 }, + { 0x438C, 50415 }, + { 0x438D, 50419 }, + { 0x438E, 50423 }, + { 0x438F, 50427 }, + { 0x4390, 50431 }, + { 0x4391, 50435 }, + { 0x4392, 50439 }, + { 0x4393, 50443 }, + { 0x4394, 50447 }, + { 0x4395, 50451 }, + { 0x4396, 50455 }, + { 0x4397, 50459 }, + { 0x4398, 50463 }, + { 0x4399, 50467 }, + { 0x439A, 50471 }, + { 0x439B, 50475 }, + { 0x439C, 50479 }, + { 0x439D, 50483 }, + { 0x439E, 50487 }, + { 0x439F, 50491 }, + { 0x43A0, 50495 }, + { 0x43A1, 50499 }, + { 0x43A2, 50503 }, + { 0x43A3, 50507 }, + { 0x43A4, 50511 }, + { 0x43A5, 50515 }, + { 0x43A6, 50519 }, + { 0x43A7, 50523 }, + { 0x43A8, 50527 }, + { 0x43A9, 50531 }, + { 0x43AA, 50535 }, + { 0x43AB, 50539 }, + { 0x43AC, 50543 }, + { 0x43AD, 50547 }, + { 0x43AE, 50551 }, + { 0x43AF, 50555 }, + { 0x43B0, 50559 }, + { 0x43B1, 50564 }, + { 0x43B2, 50569 }, + { 0x43B3, 50574 }, + { 0x43B4, 50579 }, + { 0x43B5, 50584 }, + { 0x43B6, 50589 }, + { 0x43B7, 50594 }, + { 0x43B8, 50599 }, + { 0x43B9, 51013 }, + { 0x43BA, 51018 }, + { 0x43BB, 51023 }, + { 0x43BC, 51028 }, + { 0x43BD, 50604 }, + { 0x43BE, 50609 }, + { 0x43BF, 50614 }, + { 0x43C0, 50619 }, + { 0x43C1, 50624 }, + { 0x43C2, 50629 }, + { 0x43C3, 50634 }, + { 0x43C4, 50639 }, + { 0x43C5, 50644 }, + { 0x43C6, 50649 }, + { 0x43C7, 50653 }, + { 0x43C8, 50657 }, + { 0x43C9, 50661 }, + { 0x43CA, 50665 }, + { 0x43CB, 50669 }, + { 0x43CC, 50673 }, + { 0x43CD, 50677 }, + { 0x43CE, 60157 }, + { 0x43CF, 60160 }, + { 0x43D0, 60163 }, + { 0x43D1, 60166 }, + { 0x43D2, 60169 }, + { 0x43D3, 60172 }, + { 0x43D4, 60175 }, + { 0x43D5, 60178 }, + { 0x43D6, 60181 }, + { 0x43D7, 60184 }, + { 0x43D8, 60187 }, + { 0x43D9, 60190 }, + { 0x43DA, 60193 }, + { 0x43DB, 60196 }, + { 0x43DC, 60199 }, + { 0x43DD, 60202 }, + { 0x43DE, 60205 }, + { 0x43DF, 60208 }, + { 0x43E0, 60211 }, + { 0x43E1, 60214 }, + { 0x43E2, 60217 }, + { 0x43E3, 60220 }, + { 0x43E4, 60223 }, + { 0x43E5, 60226 }, + { 0x43E6, 60229 }, + { 0x43E7, 60232 }, + { 0x43E8, 60235 }, + { 0x43E9, 60238 }, + { 0x43EA, 60241 }, + { 0x43EB, 60244 }, + { 0x43EC, 60247 }, + { 0x43ED, 60250 }, + { 0x43EE, 60253 }, + { 0x43EF, 60256 }, + { 0x43F0, 60259 }, + { 0x43F1, 60262 }, + { 0x43F2, 60265 }, + { 0x43F3, 60268 }, + { 0x43F4, 60271 }, + { 0x43F5, 60274 }, + { 0x43F6, 60277 }, + { 0x43F7, 60280 }, + { 0x43F8, 60283 }, + { 0x43F9, 60286 }, + { 0x43FA, 60289 }, + { 0x43FB, 60292 }, + { 0x43FC, 60295 }, + { 0x43FD, 60298 }, + { 0x43FE, 60301 }, + { 0x43FF, 60304 }, + { 0x4400, 60307 }, + { 0x4401, 60310 }, + { 0x4402, 60313 }, + { 0x4403, 60316 }, + { 0x4404, 60319 }, + { 0x4405, 82256 }, + { 0x4406, 82224 }, + { 0x4407, 82260 }, + { 0x4408, 82272 }, + { 0x4409, 82196 }, + { 0x440A, 82216 }, + { 0x440B, 82268 }, + { 0x440C, 82228 }, + { 0x440D, 82248 }, + { 0x440E, 82252 }, + { 0x440F, 82232 }, + { 0x4410, 82276 }, + { 0x4411, 82204 }, + { 0x4412, 82208 }, + { 0x4413, 82280 }, + { 0x4414, 82220 }, + { 0x4415, 82200 }, + { 0x4416, 82264 }, + { 0x4417, 82236 }, + { 0x4418, 82240 }, + { 0x4419, 82244 }, + { 0x441A, 82212 }, + { 0x441B, 82319 }, + { 0x441C, 82284 }, + { 0x441D, 82307 }, + { 0x441E, 82311 }, + { 0x441F, 82298 }, + { 0x4420, 82315 }, + { 0x4421, 82288 }, + { 0x4422, 82293 }, + { 0x4423, 82302 }, + { 0x4424, 101694 }, + { 0x4425, 101670 }, + { 0x4426, 101701 }, + { 0x4427, 101710 }, + { 0x4428, 101649 }, + { 0x4429, 101664 }, + { 0x442A, 101707 }, + { 0x442B, 101673 }, + { 0x442C, 101688 }, + { 0x442D, 101691 }, + { 0x442E, 101676 }, + { 0x442F, 101713 }, + { 0x4430, 101655 }, + { 0x4431, 101697 }, + { 0x4432, 101658 }, + { 0x4433, 101716 }, + { 0x4434, 101667 }, + { 0x4435, 101652 }, + { 0x4436, 101704 }, + { 0x4437, 101679 }, + { 0x4438, 101682 }, + { 0x4439, 101685 }, + { 0x443A, 101661 }, + { 0x443B, 101740 }, + { 0x443C, 101743 }, + { 0x443D, 101719 }, + { 0x443E, 101725 }, + { 0x443F, 101734 }, + { 0x4440, 101731 }, + { 0x4441, 101728 }, + { 0x4442, 101722 }, + { 0x4443, 101737 }, + { 0x4444, 101588 }, + { 0x4445, 101557 }, + { 0x4446, 101572 }, + { 0x4447, 101533 }, + { 0x4448, 101596 }, + { 0x4449, 101605 }, + { 0x444A, 101560 }, + { 0x444B, 101512 }, + { 0x444C, 101527 }, + { 0x444D, 101602 }, + { 0x444E, 101536 }, + { 0x444F, 101551 }, + { 0x4450, 101584 }, + { 0x4451, 101554 }, + { 0x4452, 101576 }, + { 0x4453, 101539 }, + { 0x4454, 101592 }, + { 0x4455, 101608 }, + { 0x4456, 101564 }, + { 0x4457, 101518 }, + { 0x4458, 101568 }, + { 0x4459, 101521 }, + { 0x445A, 101611 }, + { 0x445B, 101530 }, + { 0x445C, 101515 }, + { 0x445D, 101599 }, + { 0x445E, 101542 }, + { 0x445F, 101545 }, + { 0x4460, 101580 }, + { 0x4461, 101548 }, + { 0x4462, 101524 }, + { 0x4463, 101614 }, + { 0x4464, 101624 }, + { 0x4465, 101633 }, + { 0x4466, 101630 }, + { 0x4467, 101639 }, + { 0x4468, 101627 }, + { 0x4469, 101621 }, + { 0x446A, 101636 }, + { 0x446B, 101617 }, + { 0x446C, 47842 }, + { 0x446D, 47818 }, + { 0x446E, 47845 }, + { 0x446F, 47857 }, + { 0x4470, 47797 }, + { 0x4471, 47815 }, + { 0x4472, 47839 }, + { 0x4473, 47821 }, + { 0x4474, 47833 }, + { 0x4475, 47836 }, + { 0x4476, 47824 }, + { 0x4477, 47851 }, + { 0x4478, 47806 }, + { 0x4479, 47809 }, + { 0x447A, 47854 }, + { 0x447B, 47803 }, + { 0x447C, 47800 }, + { 0x447D, 47848 }, + { 0x447E, 47827 }, + { 0x447F, 47830 }, + { 0x4480, 47812 }, + { 0x4481, 47860 }, + { 0x4482, 47870 }, + { 0x4483, 47867 }, + { 0x4484, 47873 }, + { 0x4485, 47863 }, + { 0x4486, 104555 }, + { 0x4487, 104558 }, + { 0x4488, 104594 }, + { 0x4489, 104591 }, + { 0x448A, 104546 }, + { 0x448B, 104582 }, + { 0x448C, 104588 }, + { 0x448D, 104561 }, + { 0x448E, 104579 }, + { 0x448F, 104585 }, + { 0x4490, 104564 }, + { 0x4491, 104597 }, + { 0x4492, 104567 }, + { 0x4493, 104570 }, + { 0x4494, 104606 }, + { 0x4495, 104552 }, + { 0x4496, 104549 }, + { 0x4497, 104603 }, + { 0x4498, 104573 }, + { 0x4499, 104600 }, + { 0x449A, 104609 }, + { 0x449B, 104576 }, + { 0x449C, 104612 }, + { 0x449D, 104619 }, + { 0x449E, 104628 }, + { 0x449F, 104615 }, + { 0x44A0, 104622 }, + { 0x44A1, 104625 }, + { 0x44A2, 104543 }, + { 0x44A3, 52230 }, + { 0x44A4, 52233 }, + { 0x44A5, 52248 }, + { 0x44A6, 52239 }, + { 0x44A7, 52242 }, + { 0x44A8, 52284 }, + { 0x44A9, 52251 }, + { 0x44AA, 52287 }, + { 0x44AB, 52254 }, + { 0x44AC, 52257 }, + { 0x44AD, 52260 }, + { 0x44AE, 52263 }, + { 0x44AF, 52266 }, + { 0x44B0, 52272 }, + { 0x44B1, 52302 }, + { 0x44B2, 52278 }, + { 0x44B3, 52281 }, + { 0x44B4, 52245 }, + { 0x44B5, 52269 }, + { 0x44B6, 52275 }, + { 0x44B7, 52305 }, + { 0x44B8, 52290 }, + { 0x44B9, 52293 }, + { 0x44BA, 52296 }, + { 0x44BB, 52299 }, + { 0x44BC, 52236 }, + { 0x44BD, 52308 }, + { 0x44BE, 83750 }, + { 0x44BF, 83754 }, + { 0x44C0, 83758 }, + { 0x44C1, 83762 }, + { 0x44C2, 83830 }, + { 0x44C3, 83826 }, + { 0x44C4, 83766 }, + { 0x44C5, 83842 }, + { 0x44C6, 83794 }, + { 0x44C7, 83782 }, + { 0x44C8, 83786 }, + { 0x44C9, 83846 }, + { 0x44CA, 83790 }, + { 0x44CB, 83850 }, + { 0x44CC, 83802 }, + { 0x44CD, 83854 }, + { 0x44CE, 83778 }, + { 0x44CF, 83838 }, + { 0x44D0, 83834 }, + { 0x44D1, 83806 }, + { 0x44D2, 83858 }, + { 0x44D3, 83810 }, + { 0x44D4, 83774 }, + { 0x44D5, 83798 }, + { 0x44D6, 83814 }, + { 0x44D7, 83862 }, + { 0x44D8, 83818 }, + { 0x44D9, 83866 }, + { 0x44DA, 83822 }, + { 0x44DB, 83770 }, + { 0x44DC, 83870 }, + { 0x44DD, 83874 }, + { 0x44DE, 83332 }, + { 0x44DF, 83336 }, + { 0x44E0, 83340 }, + { 0x44E1, 83344 }, + { 0x44E2, 83412 }, + { 0x44E3, 83408 }, + { 0x44E4, 83348 }, + { 0x44E5, 83376 }, + { 0x44E6, 83364 }, + { 0x44E7, 83368 }, + { 0x44E8, 83372 }, + { 0x44E9, 83384 }, + { 0x44EA, 83360 }, + { 0x44EB, 83420 }, + { 0x44EC, 83416 }, + { 0x44ED, 83388 }, + { 0x44EE, 83424 }, + { 0x44EF, 83392 }, + { 0x44F0, 83356 }, + { 0x44F1, 83380 }, + { 0x44F2, 83396 }, + { 0x44F3, 83400 }, + { 0x44F4, 83404 }, + { 0x44F5, 83352 }, + { 0x44F6, 83737 }, + { 0x44F7, 83682 }, + { 0x44F8, 83746 }, + { 0x44F9, 83742 }, + { 0x44FA, 83429 }, + { 0x44FB, 83478 }, + { 0x44FC, 83625 }, + { 0x44FD, 83518 }, + { 0x44FE, 83498 }, + { 0x44FF, 83449 }, + { 0x4500, 83596 }, + { 0x4501, 83558 }, + { 0x4502, 83538 }, + { 0x4503, 83469 }, + { 0x4504, 83664 }, + { 0x4505, 83655 }, + { 0x4506, 83587 }, + { 0x4507, 83578 }, + { 0x4508, 83616 }, + { 0x4509, 83673 }, + { 0x450A, 83433 }, + { 0x450B, 83482 }, + { 0x450C, 83629 }, + { 0x450D, 83522 }, + { 0x450E, 83502 }, + { 0x450F, 83453 }, + { 0x4510, 83600 }, + { 0x4511, 83562 }, + { 0x4512, 83542 }, + { 0x4513, 83444 }, + { 0x4514, 83493 }, + { 0x4515, 83640 }, + { 0x4516, 83533 }, + { 0x4517, 83513 }, + { 0x4518, 83464 }, + { 0x4519, 83611 }, + { 0x451A, 83573 }, + { 0x451B, 83553 }, + { 0x451C, 83473 }, + { 0x451D, 83668 }, + { 0x451E, 83659 }, + { 0x451F, 83591 }, + { 0x4520, 83582 }, + { 0x4521, 83620 }, + { 0x4522, 83677 }, + { 0x4523, 83645 }, + { 0x4524, 83650 }, + { 0x4525, 83438 }, + { 0x4526, 83487 }, + { 0x4527, 83634 }, + { 0x4528, 83527 }, + { 0x4529, 83507 }, + { 0x452A, 83458 }, + { 0x452B, 83605 }, + { 0x452C, 83567 }, + { 0x452D, 83547 }, + { 0x452E, 83687 }, + { 0x452F, 83702 }, + { 0x4530, 83732 }, + { 0x4531, 83712 }, + { 0x4532, 83707 }, + { 0x4533, 83692 }, + { 0x4534, 83727 }, + { 0x4535, 83722 }, + { 0x4536, 83717 }, + { 0x4537, 83697 }, + { 0x4538, 104214 }, + { 0x4539, 104193 }, + { 0x453A, 104201 }, + { 0x453B, 104205 }, + { 0x453C, 104189 }, + { 0x453D, 104197 }, + { 0x453E, 104210 }, + { 0x453F, 104166 }, + { 0x4540, 104174 }, + { 0x4541, 104171 }, + { 0x4542, 104235 }, + { 0x4543, 104283 }, + { 0x4544, 104226 }, + { 0x4545, 104280 }, + { 0x4546, 104220 }, + { 0x4547, 104271 }, + { 0x4548, 104232 }, + { 0x4549, 104292 }, + { 0x454A, 104307 }, + { 0x454B, 104313 }, + { 0x454C, 104274 }, + { 0x454D, 104310 }, + { 0x454E, 104289 }, + { 0x454F, 104256 }, + { 0x4550, 104304 }, + { 0x4551, 104223 }, + { 0x4552, 104277 }, + { 0x4553, 104244 }, + { 0x4554, 104247 }, + { 0x4555, 104295 }, + { 0x4556, 104217 }, + { 0x4557, 104268 }, + { 0x4558, 104241 }, + { 0x4559, 104262 }, + { 0x455A, 104250 }, + { 0x455B, 104238 }, + { 0x455C, 104259 }, + { 0x455D, 104298 }, + { 0x455E, 104301 }, + { 0x455F, 104253 }, + { 0x4560, 104265 }, + { 0x4561, 104229 }, + { 0x4562, 104286 }, + { 0x4563, 104316 }, + { 0x4564, 104155 }, + { 0x4565, 104163 }, + { 0x4566, 104159 }, + { 0x4567, 104333 }, + { 0x4568, 104177 }, + { 0x4569, 104180 }, + { 0x456A, 104186 }, + { 0x456B, 104183 }, + { 0x456C, 104327 }, + { 0x456D, 104330 }, + { 0x456E, 104319 }, + { 0x456F, 104323 }, + { 0x4570, 104335 }, + { 0x4571, 104347 }, + { 0x4572, 104351 }, + { 0x4573, 104358 }, + { 0x4574, 104362 }, + { 0x4575, 104344 }, + { 0x4576, 104338 }, + { 0x4577, 104354 }, + { 0x4578, 104341 }, + { 0x4579, 7356 }, + { 0x457A, 7481 }, + { 0x457B, 7401 }, + { 0x457C, 7366 }, + { 0x457D, 7411 }, + { 0x457E, 7386 }, + { 0x457F, 7421 }, + { 0x4580, 7416 }, + { 0x4581, 7396 }, + { 0x4582, 7381 }, + { 0x4583, 7376 }, + { 0x4584, 7406 }, + { 0x4585, 7371 }, + { 0x4586, 7456 }, + { 0x4587, 7461 }, + { 0x4588, 7486 }, + { 0x4589, 7351 }, + { 0x458A, 7391 }, + { 0x458B, 7361 }, + { 0x458C, 7476 }, + { 0x458D, 7451 }, + { 0x458E, 7471 }, + { 0x458F, 7446 }, + { 0x4590, 7426 }, + { 0x4591, 7441 }, + { 0x4592, 7491 }, + { 0x4593, 7436 }, + { 0x4594, 7431 }, + { 0x4595, 7466 }, + { 0x4596, 7496 }, + { 0x4597, 7501 }, + { 0x4598, 7506 }, + { 0x4599, 7221 }, + { 0x459A, 7231 }, + { 0x459B, 7216 }, + { 0x459C, 7306 }, + { 0x459D, 7236 }, + { 0x459E, 7261 }, + { 0x459F, 7286 }, + { 0x45A0, 7241 }, + { 0x45A1, 7196 }, + { 0x45A2, 7256 }, + { 0x45A3, 7281 }, + { 0x45A4, 7226 }, + { 0x45A5, 7311 }, + { 0x45A6, 7301 }, + { 0x45A7, 7246 }, + { 0x45A8, 7291 }, + { 0x45A9, 7211 }, + { 0x45AA, 7276 }, + { 0x45AB, 7191 }, + { 0x45AC, 7201 }, + { 0x45AD, 7296 }, + { 0x45AE, 7206 }, + { 0x45AF, 7331 }, + { 0x45B0, 7251 }, + { 0x45B1, 7326 }, + { 0x45B2, 7316 }, + { 0x45B3, 7266 }, + { 0x45B4, 7321 }, + { 0x45B5, 7271 }, + { 0x45B6, 7336 }, + { 0x45B7, 7341 }, + { 0x45B8, 7346 }, + { 0x45B9, 104425 }, + { 0x45BA, 104392 }, + { 0x45BB, 104428 }, + { 0x45BC, 104431 }, + { 0x45BD, 104455 }, + { 0x45BE, 104452 }, + { 0x45BF, 104371 }, + { 0x45C0, 104386 }, + { 0x45C1, 104365 }, + { 0x45C2, 104449 }, + { 0x45C3, 104467 }, + { 0x45C4, 104434 }, + { 0x45C5, 104458 }, + { 0x45C6, 104395 }, + { 0x45C7, 104410 }, + { 0x45C8, 104419 }, + { 0x45C9, 104398 }, + { 0x45CA, 104413 }, + { 0x45CB, 104437 }, + { 0x45CC, 104461 }, + { 0x45CD, 104470 }, + { 0x45CE, 104473 }, + { 0x45CF, 104377 }, + { 0x45D0, 104380 }, + { 0x45D1, 104464 }, + { 0x45D2, 104389 }, + { 0x45D3, 104422 }, + { 0x45D4, 104374 }, + { 0x45D5, 104368 }, + { 0x45D6, 104443 }, + { 0x45D7, 104401 }, + { 0x45D8, 104416 }, + { 0x45D9, 104440 }, + { 0x45DA, 104404 }, + { 0x45DB, 104407 }, + { 0x45DC, 104446 }, + { 0x45DD, 104383 }, + { 0x45DE, 104520 }, + { 0x45DF, 104524 }, + { 0x45E0, 104476 }, + { 0x45E1, 104486 }, + { 0x45E2, 104483 }, + { 0x45E3, 104489 }, + { 0x45E4, 104479 }, + { 0x45E5, 104508 }, + { 0x45E6, 104517 }, + { 0x45E7, 104511 }, + { 0x45E8, 104495 }, + { 0x45E9, 104492 }, + { 0x45EA, 104500 }, + { 0x45EB, 104504 }, + { 0x45EC, 57833 }, + { 0x45ED, 57848 }, + { 0x45EE, 57857 }, + { 0x45EF, 57932 }, + { 0x45F0, 57854 }, + { 0x45F1, 57929 }, + { 0x45F2, 57851 }, + { 0x45F3, 57935 }, + { 0x45F4, 57836 }, + { 0x45F5, 57869 }, + { 0x45F6, 57842 }, + { 0x45F7, 57899 }, + { 0x45F8, 57839 }, + { 0x45F9, 57881 }, + { 0x45FA, 57845 }, + { 0x45FB, 57914 }, + { 0x45FC, 57887 }, + { 0x45FD, 57920 }, + { 0x45FE, 57974 }, + { 0x45FF, 57971 }, + { 0x4600, 57875 }, + { 0x4601, 57944 }, + { 0x4602, 57947 }, + { 0x4603, 57863 }, + { 0x4604, 57884 }, + { 0x4605, 57911 }, + { 0x4606, 57965 }, + { 0x4607, 57866 }, + { 0x4608, 57941 }, + { 0x4609, 57968 }, + { 0x460A, 57902 }, + { 0x460B, 57872 }, + { 0x460C, 57860 }, + { 0x460D, 57938 }, + { 0x460E, 57953 }, + { 0x460F, 57986 }, + { 0x4610, 57983 }, + { 0x4611, 57896 }, + { 0x4612, 57959 }, + { 0x4613, 57956 }, + { 0x4614, 57893 }, + { 0x4615, 57950 }, + { 0x4616, 57977 }, + { 0x4617, 57923 }, + { 0x4618, 57917 }, + { 0x4619, 57905 }, + { 0x461A, 57890 }, + { 0x461B, 57908 }, + { 0x461C, 57926 }, + { 0x461D, 57962 }, + { 0x461E, 57980 }, + { 0x461F, 57989 }, + { 0x4620, 57992 }, + { 0x4621, 57878 }, + { 0x4622, 57995 }, + { 0x4623, 15260 }, + { 0x4624, 34371 }, + { 0x4625, 23970 }, + { 0x4626, 23953 }, + { 0x4627, 23977 }, + { 0x4628, 23960 }, + { 0x4629, 115222 }, + { 0x462A, 115190 }, + { 0x462B, 115226 }, + { 0x462C, 115238 }, + { 0x462D, 115162 }, + { 0x462E, 115182 }, + { 0x462F, 115234 }, + { 0x4630, 115194 }, + { 0x4631, 115214 }, + { 0x4632, 115218 }, + { 0x4633, 115198 }, + { 0x4634, 115242 }, + { 0x4635, 115170 }, + { 0x4636, 115174 }, + { 0x4637, 115246 }, + { 0x4638, 115186 }, + { 0x4639, 115166 }, + { 0x463A, 115230 }, + { 0x463B, 115202 }, + { 0x463C, 115206 }, + { 0x463D, 115210 }, + { 0x463E, 115178 }, + { 0x463F, 115250 }, + { 0x4640, 115268 }, + { 0x4641, 115276 }, + { 0x4642, 115272 }, + { 0x4643, 115264 }, + { 0x4644, 115280 }, + { 0x4645, 115254 }, + { 0x4646, 115259 }, + { 0x4647, 115092 }, + { 0x4648, 115068 }, + { 0x4649, 115096 }, + { 0x464A, 115108 }, + { 0x464B, 115052 }, + { 0x464C, 115124 }, + { 0x464D, 115104 }, + { 0x464E, 115072 }, + { 0x464F, 115084 }, + { 0x4650, 115088 }, + { 0x4651, 115076 }, + { 0x4652, 115112 }, + { 0x4653, 115120 }, + { 0x4654, 115060 }, + { 0x4655, 115116 }, + { 0x4656, 115056 }, + { 0x4657, 115100 }, + { 0x4658, 115080 }, + { 0x4659, 115064 }, + { 0x465A, 115128 }, + { 0x465B, 115146 }, + { 0x465C, 115154 }, + { 0x465D, 115150 }, + { 0x465E, 115142 }, + { 0x465F, 115158 }, + { 0x4660, 115132 }, + { 0x4661, 115137 }, + { 0x4662, 65073 }, + { 0x4663, 65053 }, + { 0x4664, 65077 }, + { 0x4665, 65089 }, + { 0x4666, 65037 }, + { 0x4667, 65105 }, + { 0x4668, 65085 }, + { 0x4669, 65057 }, + { 0x466A, 65069 }, + { 0x466B, 65061 }, + { 0x466C, 65093 }, + { 0x466D, 65101 }, + { 0x466E, 65045 }, + { 0x466F, 65097 }, + { 0x4670, 65041 }, + { 0x4671, 65081 }, + { 0x4672, 65065 }, + { 0x4673, 65049 }, + { 0x4674, 65143 }, + { 0x4675, 65138 }, + { 0x4676, 65031 }, + { 0x4677, 65025 }, + { 0x4678, 65109 }, + { 0x4679, 65122 }, + { 0x467A, 65130 }, + { 0x467B, 65126 }, + { 0x467C, 65118 }, + { 0x467D, 65134 }, + { 0x467E, 65113 }, + { 0x467F, 7807 }, + { 0x4680, 8017 }, + { 0x4681, 8042 }, + { 0x4682, 7812 }, + { 0x4683, 8027 }, + { 0x4684, 8022 }, + { 0x4685, 7817 }, + { 0x4686, 7902 }, + { 0x4687, 8092 }, + { 0x4688, 7822 }, + { 0x4689, 8032 }, + { 0x468A, 7922 }, + { 0x468B, 8102 }, + { 0x468C, 7832 }, + { 0x468D, 8047 }, + { 0x468E, 7932 }, + { 0x468F, 8107 }, + { 0x4690, 7827 }, + { 0x4691, 8037 }, + { 0x4692, 7927 }, + { 0x4693, 7887 }, + { 0x4694, 8082 }, + { 0x4695, 7867 }, + { 0x4696, 8072 }, + { 0x4697, 7967 }, + { 0x4698, 8127 }, + { 0x4699, 7937 }, + { 0x469A, 8112 }, + { 0x469B, 8007 }, + { 0x469C, 8162 }, + { 0x469D, 7837 }, + { 0x469E, 8052 }, + { 0x469F, 7942 }, + { 0x46A0, 7977 }, + { 0x46A1, 7877 }, + { 0x46A2, 7842 }, + { 0x46A3, 7947 }, + { 0x46A4, 8117 }, + { 0x46A5, 7992 }, + { 0x46A6, 8147 }, + { 0x46A7, 7982 }, + { 0x46A8, 8142 }, + { 0x46A9, 7997 }, + { 0x46AA, 8152 }, + { 0x46AB, 8132 }, + { 0x46AC, 7987 }, + { 0x46AD, 8167 }, + { 0x46AE, 7882 }, + { 0x46AF, 7907 }, + { 0x46B0, 7892 }, + { 0x46B1, 7872 }, + { 0x46B2, 8077 }, + { 0x46B3, 7847 }, + { 0x46B4, 8057 }, + { 0x46B5, 7897 }, + { 0x46B6, 8087 }, + { 0x46B7, 7912 }, + { 0x46B8, 8097 }, + { 0x46B9, 7852 }, + { 0x46BA, 8062 }, + { 0x46BB, 7952 }, + { 0x46BC, 7857 }, + { 0x46BD, 7957 }, + { 0x46BE, 7972 }, + { 0x46BF, 8137 }, + { 0x46C0, 8002 }, + { 0x46C1, 8157 }, + { 0x46C2, 7862 }, + { 0x46C3, 8067 }, + { 0x46C4, 7962 }, + { 0x46C5, 8122 }, + { 0x46C6, 7917 }, + { 0x46C7, 8012 }, + { 0x46C8, 8663 }, + { 0x46C9, 8688 }, + { 0x46CA, 8698 }, + { 0x46CB, 8808 }, + { 0x46CC, 8703 }, + { 0x46CD, 8843 }, + { 0x46CE, 8823 }, + { 0x46CF, 8708 }, + { 0x46D0, 8813 }, + { 0x46D1, 8668 }, + { 0x46D2, 8883 }, + { 0x46D3, 8713 }, + { 0x46D4, 8718 }, + { 0x46D5, 8723 }, + { 0x46D6, 8828 }, + { 0x46D7, 8728 }, + { 0x46D8, 8673 }, + { 0x46D9, 8788 }, + { 0x46DA, 8733 }, + { 0x46DB, 8738 }, + { 0x46DC, 8693 }, + { 0x46DD, 8878 }, + { 0x46DE, 8743 }, + { 0x46DF, 8833 }, + { 0x46E0, 8748 }, + { 0x46E1, 8753 }, + { 0x46E2, 8853 }, + { 0x46E3, 8678 }, + { 0x46E4, 8793 }, + { 0x46E5, 8913 }, + { 0x46E6, 8895 }, + { 0x46E7, 8873 }, + { 0x46E8, 8758 }, + { 0x46E9, 8838 }, + { 0x46EA, 8763 }, + { 0x46EB, 8889 }, + { 0x46EC, 8768 }, + { 0x46ED, 8858 }, + { 0x46EE, 8773 }, + { 0x46EF, 8848 }, + { 0x46F0, 8863 }, + { 0x46F1, 8818 }, + { 0x46F2, 8683 }, + { 0x46F3, 8803 }, + { 0x46F4, 8919 }, + { 0x46F5, 8901 }, + { 0x46F6, 8778 }, + { 0x46F7, 8783 }, + { 0x46F8, 8868 }, + { 0x46F9, 8907 }, + { 0x46FA, 8798 }, + { 0x46FB, 8375 }, + { 0x46FC, 8400 }, + { 0x46FD, 8410 }, + { 0x46FE, 8520 }, + { 0x46FF, 8415 }, + { 0x4700, 8555 }, + { 0x4701, 8535 }, + { 0x4702, 8420 }, + { 0x4703, 8525 }, + { 0x4704, 8380 }, + { 0x4705, 8595 }, + { 0x4706, 8425 }, + { 0x4707, 8430 }, + { 0x4708, 8435 }, + { 0x4709, 8540 }, + { 0x470A, 8440 }, + { 0x470B, 8385 }, + { 0x470C, 8500 }, + { 0x470D, 8445 }, + { 0x470E, 8450 }, + { 0x470F, 8405 }, + { 0x4710, 8590 }, + { 0x4711, 8455 }, + { 0x4712, 8545 }, + { 0x4713, 8460 }, + { 0x4714, 8465 }, + { 0x4715, 8565 }, + { 0x4716, 8390 }, + { 0x4717, 8505 }, + { 0x4718, 8625 }, + { 0x4719, 8607 }, + { 0x471A, 8585 }, + { 0x471B, 8470 }, + { 0x471C, 8550 }, + { 0x471D, 8475 }, + { 0x471E, 8601 }, + { 0x471F, 8480 }, + { 0x4720, 8570 }, + { 0x4721, 8485 }, + { 0x4722, 8560 }, + { 0x4723, 8575 }, + { 0x4724, 8530 }, + { 0x4725, 8395 }, + { 0x4726, 8515 }, + { 0x4727, 8631 }, + { 0x4728, 8613 }, + { 0x4729, 8490 }, + { 0x472A, 8495 }, + { 0x472B, 8580 }, + { 0x472C, 8619 }, + { 0x472D, 8510 }, + { 0x472E, 8637 }, + { 0x472F, 8655 }, + { 0x4730, 8651 }, + { 0x4731, 8659 }, + { 0x4732, 8641 }, + { 0x4733, 8646 }, + { 0x4734, 14631 }, + { 0x4735, 14637 }, + { 0x4736, 14655 }, + { 0x4737, 14643 }, + { 0x4738, 14640 }, + { 0x4739, 14634 }, + { 0x473A, 14652 }, + { 0x473B, 14649 }, + { 0x473C, 14646 }, + { 0x473D, 14666 }, + { 0x473E, 14715 }, + { 0x473F, 14712 }, + { 0x4740, 14692 }, + { 0x4741, 14689 }, + { 0x4742, 14699 }, + { 0x4743, 14718 }, + { 0x4744, 14706 }, + { 0x4745, 14709 }, + { 0x4746, 14658 }, + { 0x4747, 14669 }, + { 0x4748, 14702 }, + { 0x4749, 14677 }, + { 0x474A, 14673 }, + { 0x474B, 14662 }, + { 0x474C, 14695 }, + { 0x474D, 14685 }, + { 0x474E, 14681 }, + { 0x474F, 14721 }, + { 0x4750, 14729 }, + { 0x4751, 14725 }, + { 0x4752, 14733 }, + { 0x4753, 44010 }, + { 0x4754, 44007 }, + { 0x4755, 44004 }, + { 0x4756, 44013 }, + { 0x4757, 44016 }, + { 0x4758, 44115 }, + { 0x4759, 44130 }, + { 0x475A, 44121 }, + { 0x475B, 44154 }, + { 0x475C, 44127 }, + { 0x475D, 44184 }, + { 0x475E, 44266 }, + { 0x475F, 44274 }, + { 0x4760, 44262 }, + { 0x4761, 44270 }, + { 0x4762, 44118 }, + { 0x4763, 44133 }, + { 0x4764, 44124 }, + { 0x4765, 44136 }, + { 0x4766, 44160 }, + { 0x4767, 44211 }, + { 0x4768, 44148 }, + { 0x4769, 44205 }, + { 0x476A, 44217 }, + { 0x476B, 44142 }, + { 0x476C, 44196 }, + { 0x476D, 44157 }, + { 0x476E, 44208 }, + { 0x476F, 44223 }, + { 0x4770, 44253 }, + { 0x4771, 44259 }, + { 0x4772, 44199 }, + { 0x4773, 44256 }, + { 0x4774, 44220 }, + { 0x4775, 44181 }, + { 0x4776, 44250 }, + { 0x4777, 44145 }, + { 0x4778, 44202 }, + { 0x4779, 44169 }, + { 0x477A, 44172 }, + { 0x477B, 44241 }, + { 0x477C, 44139 }, + { 0x477D, 44193 }, + { 0x477E, 44166 }, + { 0x477F, 44190 }, + { 0x4780, 44175 }, + { 0x4781, 44163 }, + { 0x4782, 44187 }, + { 0x4783, 44244 }, + { 0x4784, 44247 }, + { 0x4785, 44178 }, + { 0x4786, 44151 }, + { 0x4787, 44214 }, + { 0x4788, 44231 }, + { 0x4789, 44226 }, + { 0x478A, 44236 }, + { 0x478B, 44067 }, + { 0x478C, 44107 }, + { 0x478D, 44055 }, + { 0x478E, 44079 }, + { 0x478F, 44063 }, + { 0x4790, 44083 }, + { 0x4791, 44092 }, + { 0x4792, 44102 }, + { 0x4793, 44087 }, + { 0x4794, 44097 }, + { 0x4795, 44051 }, + { 0x4796, 44071 }, + { 0x4797, 44059 }, + { 0x4798, 44075 }, + { 0x4799, 44343 }, + { 0x479A, 44019 }, + { 0x479B, 44112 }, + { 0x479C, 44345 }, + { 0x479D, 44354 }, + { 0x479E, 44348 }, + { 0x479F, 44358 }, + { 0x47A0, 44351 }, + { 0x47A1, 44278 }, + { 0x47A2, 44295 }, + { 0x47A3, 44322 }, + { 0x47A4, 44301 }, + { 0x47A5, 44298 }, + { 0x47A6, 44289 }, + { 0x47A7, 44316 }, + { 0x47A8, 44307 }, + { 0x47A9, 44304 }, + { 0x47AA, 44292 }, + { 0x47AB, 44337 }, + { 0x47AC, 44334 }, + { 0x47AD, 44313 }, + { 0x47AE, 44310 }, + { 0x47AF, 44319 }, + { 0x47B0, 44340 }, + { 0x47B1, 44325 }, + { 0x47B2, 44331 }, + { 0x47B3, 44281 }, + { 0x47B4, 44285 }, + { 0x47B5, 44039 }, + { 0x47B6, 44021 }, + { 0x47B7, 44027 }, + { 0x47B8, 44048 }, + { 0x47B9, 44033 }, + { 0x47BA, 44030 }, + { 0x47BB, 44024 }, + { 0x47BC, 44045 }, + { 0x47BD, 44042 }, + { 0x47BE, 44036 }, + { 0x47BF, 44328 }, + { 0x47C0, 48443 }, + { 0x47C1, 48440 }, + { 0x47C2, 48437 }, + { 0x47C3, 48491 }, + { 0x47C4, 48506 }, + { 0x47C5, 48497 }, + { 0x47C6, 48530 }, + { 0x47C7, 48503 }, + { 0x47C8, 48560 }, + { 0x47C9, 48494 }, + { 0x47CA, 48509 }, + { 0x47CB, 48500 }, + { 0x47CC, 48512 }, + { 0x47CD, 48536 }, + { 0x47CE, 48587 }, + { 0x47CF, 48524 }, + { 0x47D0, 48581 }, + { 0x47D1, 48590 }, + { 0x47D2, 48518 }, + { 0x47D3, 48572 }, + { 0x47D4, 48533 }, + { 0x47D5, 48584 }, + { 0x47D6, 48596 }, + { 0x47D7, 48614 }, + { 0x47D8, 48620 }, + { 0x47D9, 48575 }, + { 0x47DA, 48623 }, + { 0x47DB, 48617 }, + { 0x47DC, 48602 }, + { 0x47DD, 48593 }, + { 0x47DE, 48557 }, + { 0x47DF, 48611 }, + { 0x47E0, 48521 }, + { 0x47E1, 48578 }, + { 0x47E2, 48545 }, + { 0x47E3, 48548 }, + { 0x47E4, 48599 }, + { 0x47E5, 48515 }, + { 0x47E6, 48569 }, + { 0x47E7, 48542 }, + { 0x47E8, 48566 }, + { 0x47E9, 48551 }, + { 0x47EA, 48539 }, + { 0x47EB, 48563 }, + { 0x47EC, 48605 }, + { 0x47ED, 48608 }, + { 0x47EE, 48554 }, + { 0x47EF, 48527 }, + { 0x47F0, 48464 }, + { 0x47F1, 48452 }, + { 0x47F2, 48476 }, + { 0x47F3, 48460 }, + { 0x47F4, 48480 }, + { 0x47F5, 48448 }, + { 0x47F6, 48468 }, + { 0x47F7, 48456 }, + { 0x47F8, 48472 }, + { 0x47F9, 48434 }, + { 0x47FA, 48431 }, + { 0x47FB, 48635 }, + { 0x47FC, 48632 }, + { 0x47FD, 48626 }, + { 0x47FE, 48629 }, + { 0x47FF, 48487 }, + { 0x4800, 48446 }, + { 0x4801, 48484 }, + { 0x4802, 14884 }, + { 0x4803, 14888 }, + { 0x4804, 14828 }, + { 0x4805, 14832 }, + { 0x4806, 14836 }, + { 0x4807, 14844 }, + { 0x4808, 14868 }, + { 0x4809, 14900 }, + { 0x480A, 14860 }, + { 0x480B, 14872 }, + { 0x480C, 14892 }, + { 0x480D, 14876 }, + { 0x480E, 14896 }, + { 0x480F, 14880 }, + { 0x4810, 14848 }, + { 0x4811, 14856 }, + { 0x4812, 14852 }, + { 0x4813, 14904 }, + { 0x4814, 14808 }, + { 0x4815, 14840 }, + { 0x4816, 14816 }, + { 0x4817, 14824 }, + { 0x4818, 14820 }, + { 0x4819, 14812 }, + { 0x481A, 14864 }, + { 0x481B, 14792 }, + { 0x481C, 14768 }, + { 0x481D, 14776 }, + { 0x481E, 14804 }, + { 0x481F, 14784 }, + { 0x4820, 14780 }, + { 0x4821, 14772 }, + { 0x4822, 14800 }, + { 0x4823, 14796 }, + { 0x4824, 14788 }, + { 0x4825, 44553 }, + { 0x4826, 44550 }, + { 0x4827, 44547 }, + { 0x4828, 44640 }, + { 0x4829, 44634 }, + { 0x482A, 44637 }, + { 0x482B, 44631 }, + { 0x482C, 44661 }, + { 0x482D, 44709 }, + { 0x482E, 44652 }, + { 0x482F, 44703 }, + { 0x4830, 44712 }, + { 0x4831, 44646 }, + { 0x4832, 44694 }, + { 0x4833, 44658 }, + { 0x4834, 44706 }, + { 0x4835, 44718 }, + { 0x4836, 44727 }, + { 0x4837, 44736 }, + { 0x4838, 44697 }, + { 0x4839, 44733 }, + { 0x483A, 44715 }, + { 0x483B, 44682 }, + { 0x483C, 44724 }, + { 0x483D, 44649 }, + { 0x483E, 44700 }, + { 0x483F, 44670 }, + { 0x4840, 44673 }, + { 0x4841, 44721 }, + { 0x4842, 44643 }, + { 0x4843, 44691 }, + { 0x4844, 44667 }, + { 0x4845, 44730 }, + { 0x4846, 44688 }, + { 0x4847, 44676 }, + { 0x4848, 44664 }, + { 0x4849, 44685 }, + { 0x484A, 44679 }, + { 0x484B, 44655 }, + { 0x484C, 44588 }, + { 0x484D, 44596 }, + { 0x484E, 44616 }, + { 0x484F, 44604 }, + { 0x4850, 44624 }, + { 0x4851, 44592 }, + { 0x4852, 44608 }, + { 0x4853, 44600 }, + { 0x4854, 44612 }, + { 0x4855, 44620 }, + { 0x4856, 44541 }, + { 0x4857, 44544 }, + { 0x4858, 44739 }, + { 0x4859, 44741 }, + { 0x485A, 44576 }, + { 0x485B, 44558 }, + { 0x485C, 44564 }, + { 0x485D, 44585 }, + { 0x485E, 44570 }, + { 0x485F, 44567 }, + { 0x4860, 44561 }, + { 0x4861, 44582 }, + { 0x4862, 44579 }, + { 0x4863, 44573 }, + { 0x4864, 44743 }, + { 0x4865, 44556 }, + { 0x4866, 44628 }, + { 0x4867, 44746 }, + { 0x4868, 83106 }, + { 0x4869, 83112 }, + { 0x486A, 83118 }, + { 0x486B, 83109 }, + { 0x486C, 83115 }, + { 0x486D, 83139 }, + { 0x486E, 83184 }, + { 0x486F, 83130 }, + { 0x4870, 83178 }, + { 0x4871, 83124 }, + { 0x4872, 83169 }, + { 0x4873, 83136 }, + { 0x4874, 83181 }, + { 0x4875, 83190 }, + { 0x4876, 83202 }, + { 0x4877, 83208 }, + { 0x4878, 83172 }, + { 0x4879, 83205 }, + { 0x487A, 83187 }, + { 0x487B, 83160 }, + { 0x487C, 83199 }, + { 0x487D, 83127 }, + { 0x487E, 83175 }, + { 0x487F, 83148 }, + { 0x4880, 83151 }, + { 0x4881, 83193 }, + { 0x4882, 83121 }, + { 0x4883, 83166 }, + { 0x4884, 83145 }, + { 0x4885, 83154 }, + { 0x4886, 83142 }, + { 0x4887, 83163 }, + { 0x4888, 83157 }, + { 0x4889, 83133 }, + { 0x488A, 83196 }, + { 0x488B, 83103 }, + { 0x488C, 83217 }, + { 0x488D, 83211 }, + { 0x488E, 83214 }, + { 0x488F, 65268 }, + { 0x4890, 65262 }, + { 0x4891, 65259 }, + { 0x4892, 65380 }, + { 0x4893, 65395 }, + { 0x4894, 65386 }, + { 0x4895, 65419 }, + { 0x4896, 65392 }, + { 0x4897, 65449 }, + { 0x4898, 65516 }, + { 0x4899, 65524 }, + { 0x489A, 65512 }, + { 0x489B, 65520 }, + { 0x489C, 65383 }, + { 0x489D, 65398 }, + { 0x489E, 65389 }, + { 0x489F, 65401 }, + { 0x48A0, 65425 }, + { 0x48A1, 65476 }, + { 0x48A2, 65413 }, + { 0x48A3, 65470 }, + { 0x48A4, 65482 }, + { 0x48A5, 65407 }, + { 0x48A6, 65461 }, + { 0x48A7, 65422 }, + { 0x48A8, 65473 }, + { 0x48A9, 65488 }, + { 0x48AA, 65503 }, + { 0x48AB, 65509 }, + { 0x48AC, 65464 }, + { 0x48AD, 65506 }, + { 0x48AE, 65485 }, + { 0x48AF, 65446 }, + { 0x48B0, 65500 }, + { 0x48B1, 65410 }, + { 0x48B2, 65467 }, + { 0x48B3, 65434 }, + { 0x48B4, 65437 }, + { 0x48B5, 65491 }, + { 0x48B6, 65404 }, + { 0x48B7, 65458 }, + { 0x48B8, 65431 }, + { 0x48B9, 65455 }, + { 0x48BA, 65440 }, + { 0x48BB, 65428 }, + { 0x48BC, 65479 }, + { 0x48BD, 65452 }, + { 0x48BE, 65494 }, + { 0x48BF, 65497 }, + { 0x48C0, 65443 }, + { 0x48C1, 65416 }, + { 0x48C2, 65333 }, + { 0x48C3, 65321 }, + { 0x48C4, 65345 }, + { 0x48C5, 65329 }, + { 0x48C6, 65349 }, + { 0x48C7, 65358 }, + { 0x48C8, 65368 }, + { 0x48C9, 65353 }, + { 0x48CA, 65363 }, + { 0x48CB, 65317 }, + { 0x48CC, 65337 }, + { 0x48CD, 65325 }, + { 0x48CE, 65341 }, + { 0x48CF, 65253 }, + { 0x48D0, 65265 }, + { 0x48D1, 65271 }, + { 0x48D2, 65274 }, + { 0x48D3, 65246 }, + { 0x48D4, 65277 }, + { 0x48D5, 65377 }, + { 0x48D6, 65541 }, + { 0x48D7, 65537 }, + { 0x48D8, 65528 }, + { 0x48D9, 65250 }, + { 0x48DA, 65373 }, + { 0x48DB, 65309 }, + { 0x48DC, 65314 }, + { 0x48DD, 65297 }, + { 0x48DE, 65279 }, + { 0x48DF, 65285 }, + { 0x48E0, 65306 }, + { 0x48E1, 65291 }, + { 0x48E2, 65288 }, + { 0x48E3, 65282 }, + { 0x48E4, 65303 }, + { 0x48E5, 65300 }, + { 0x48E6, 65294 }, + { 0x48E7, 65248 }, + { 0x48E8, 65256 }, + { 0x48E9, 65539 }, + { 0x48EA, 65544 }, + { 0x48EB, 65531 }, + { 0x48EC, 65534 }, + { 0x48ED, 66425 }, + { 0x48EE, 66433 }, + { 0x48EF, 66457 }, + { 0x48F0, 66441 }, + { 0x48F1, 66437 }, + { 0x48F2, 66429 }, + { 0x48F3, 66453 }, + { 0x48F4, 66449 }, + { 0x48F5, 66445 }, + { 0x48F6, 66471 }, + { 0x48F7, 66499 }, + { 0x48F8, 66495 }, + { 0x48F9, 66479 }, + { 0x48FA, 66475 }, + { 0x48FB, 66483 }, + { 0x48FC, 66503 }, + { 0x48FD, 66487 }, + { 0x48FE, 66491 }, + { 0x48FF, 66461 }, + { 0x4900, 66466 }, + { 0x4901, 49365 }, + { 0x4902, 49380 }, + { 0x4903, 49371 }, + { 0x4904, 49377 }, + { 0x4905, 49368 }, + { 0x4906, 49383 }, + { 0x4907, 49374 }, + { 0x4908, 49386 }, + { 0x4909, 49407 }, + { 0x490A, 49461 }, + { 0x490B, 49398 }, + { 0x490C, 49452 }, + { 0x490D, 49455 }, + { 0x490E, 49467 }, + { 0x490F, 49392 }, + { 0x4910, 49443 }, + { 0x4911, 49404 }, + { 0x4912, 49458 }, + { 0x4913, 49473 }, + { 0x4914, 49482 }, + { 0x4915, 49491 }, + { 0x4916, 49446 }, + { 0x4917, 49488 }, + { 0x4918, 49470 }, + { 0x4919, 49428 }, + { 0x491A, 49479 }, + { 0x491B, 49395 }, + { 0x491C, 49485 }, + { 0x491D, 49449 }, + { 0x491E, 49416 }, + { 0x491F, 49419 }, + { 0x4920, 49476 }, + { 0x4921, 49389 }, + { 0x4922, 49437 }, + { 0x4923, 49440 }, + { 0x4924, 49413 }, + { 0x4925, 49434 }, + { 0x4926, 49422 }, + { 0x4927, 49410 }, + { 0x4928, 49431 }, + { 0x4929, 49425 }, + { 0x492A, 49401 }, + { 0x492B, 49464 }, + { 0x492C, 49342 }, + { 0x492D, 49330 }, + { 0x492E, 49354 }, + { 0x492F, 49338 }, + { 0x4930, 49326 }, + { 0x4931, 49346 }, + { 0x4932, 49334 }, + { 0x4933, 49350 }, + { 0x4934, 49318 }, + { 0x4935, 49315 }, + { 0x4936, 49306 }, + { 0x4937, 49312 }, + { 0x4938, 49324 }, + { 0x4939, 49358 }, + { 0x493A, 49321 }, + { 0x493B, 49494 }, + { 0x493C, 49361 }, + { 0x493D, 49497 }, + { 0x493E, 49309 }, + { 0x493F, 62345 }, + { 0x4940, 62351 }, + { 0x4941, 62354 }, + { 0x4942, 62348 }, + { 0x4943, 62375 }, + { 0x4944, 62423 }, + { 0x4945, 62366 }, + { 0x4946, 62417 }, + { 0x4947, 62360 }, + { 0x4948, 62408 }, + { 0x4949, 62372 }, + { 0x494A, 62420 }, + { 0x494B, 62429 }, + { 0x494C, 62444 }, + { 0x494D, 62453 }, + { 0x494E, 62411 }, + { 0x494F, 62447 }, + { 0x4950, 62450 }, + { 0x4951, 62426 }, + { 0x4952, 62396 }, + { 0x4953, 62441 }, + { 0x4954, 62363 }, + { 0x4955, 62414 }, + { 0x4956, 62384 }, + { 0x4957, 62387 }, + { 0x4958, 62432 }, + { 0x4959, 62357 }, + { 0x495A, 62405 }, + { 0x495B, 62381 }, + { 0x495C, 62402 }, + { 0x495D, 62390 }, + { 0x495E, 62378 }, + { 0x495F, 62399 }, + { 0x4960, 62393 }, + { 0x4961, 62369 }, + { 0x4962, 62438 }, + { 0x4963, 62435 }, + { 0x4964, 62456 }, + { 0x4965, 99609 }, + { 0x4966, 99624 }, + { 0x4967, 99615 }, + { 0x4968, 99648 }, + { 0x4969, 99621 }, + { 0x496A, 99678 }, + { 0x496B, 99612 }, + { 0x496C, 99627 }, + { 0x496D, 99618 }, + { 0x496E, 99630 }, + { 0x496F, 99654 }, + { 0x4970, 99714 }, + { 0x4971, 99642 }, + { 0x4972, 99702 }, + { 0x4973, 99705 }, + { 0x4974, 99717 }, + { 0x4975, 99636 }, + { 0x4976, 99693 }, + { 0x4977, 99651 }, + { 0x4978, 99711 }, + { 0x4979, 99708 }, + { 0x497A, 99723 }, + { 0x497B, 99738 }, + { 0x497C, 99747 }, + { 0x497D, 99696 }, + { 0x497E, 99741 }, + { 0x497F, 99729 }, + { 0x4980, 99744 }, + { 0x4981, 99720 }, + { 0x4982, 99675 }, + { 0x4983, 99735 }, + { 0x4984, 99639 }, + { 0x4985, 99699 }, + { 0x4986, 99663 }, + { 0x4987, 99666 }, + { 0x4988, 99726 }, + { 0x4989, 99633 }, + { 0x498A, 99687 }, + { 0x498B, 99690 }, + { 0x498C, 99660 }, + { 0x498D, 99684 }, + { 0x498E, 99669 }, + { 0x498F, 99657 }, + { 0x4990, 99681 }, + { 0x4991, 99732 }, + { 0x4992, 99672 }, + { 0x4993, 99645 }, + { 0x4994, 99540 }, + { 0x4995, 99589 }, + { 0x4996, 99577 }, + { 0x4997, 99601 }, + { 0x4998, 99585 }, + { 0x4999, 99605 }, + { 0x499A, 99573 }, + { 0x499B, 99593 }, + { 0x499C, 99581 }, + { 0x499D, 99597 }, + { 0x499E, 99534 }, + { 0x499F, 99537 }, + { 0x49A0, 99561 }, + { 0x49A1, 99543 }, + { 0x49A2, 99549 }, + { 0x49A3, 99570 }, + { 0x49A4, 99555 }, + { 0x49A5, 99552 }, + { 0x49A6, 99546 }, + { 0x49A7, 99567 }, + { 0x49A8, 99564 }, + { 0x49A9, 99558 }, + { 0x49AA, 61115 }, + { 0x49AB, 61120 }, + { 0x49AC, 61109 }, + { 0x49AD, 61106 }, + { 0x49AE, 61179 }, + { 0x49AF, 61188 }, + { 0x49B0, 61182 }, + { 0x49B1, 61215 }, + { 0x49B2, 61185 }, + { 0x49B3, 61248 }, + { 0x49B4, 61324 }, + { 0x49B5, 61320 }, + { 0x49B6, 61206 }, + { 0x49B7, 61191 }, + { 0x49B8, 61233 }, + { 0x49B9, 61194 }, + { 0x49BA, 61221 }, + { 0x49BB, 61275 }, + { 0x49BC, 61209 }, + { 0x49BD, 61269 }, + { 0x49BE, 61281 }, + { 0x49BF, 61200 }, + { 0x49C0, 61260 }, + { 0x49C1, 61218 }, + { 0x49C2, 61272 }, + { 0x49C3, 61287 }, + { 0x49C4, 61302 }, + { 0x49C5, 61308 }, + { 0x49C6, 61263 }, + { 0x49C7, 61305 }, + { 0x49C8, 61284 }, + { 0x49C9, 61245 }, + { 0x49CA, 61299 }, + { 0x49CB, 61203 }, + { 0x49CC, 61266 }, + { 0x49CD, 61230 }, + { 0x49CE, 61236 }, + { 0x49CF, 61290 }, + { 0x49D0, 61197 }, + { 0x49D1, 61257 }, + { 0x49D2, 61227 }, + { 0x49D3, 61254 }, + { 0x49D4, 61239 }, + { 0x49D5, 61224 }, + { 0x49D6, 61278 }, + { 0x49D7, 61251 }, + { 0x49D8, 61293 }, + { 0x49D9, 61296 }, + { 0x49DA, 61242 }, + { 0x49DB, 61212 }, + { 0x49DC, 61097 }, + { 0x49DD, 61112 }, + { 0x49DE, 61131 }, + { 0x49DF, 61123 }, + { 0x49E0, 61147 }, + { 0x49E1, 61127 }, + { 0x49E2, 61155 }, + { 0x49E3, 61164 }, + { 0x49E4, 61174 }, + { 0x49E5, 61143 }, + { 0x49E6, 61135 }, + { 0x49E7, 61151 }, + { 0x49E8, 61139 }, + { 0x49E9, 61103 }, + { 0x49EA, 61095 }, + { 0x49EB, 61091 }, + { 0x49EC, 61100 }, + { 0x49ED, 61316 }, + { 0x49EE, 61311 }, + { 0x49EF, 61332 }, + { 0x49F0, 61328 }, + { 0x49F1, 61159 }, + { 0x49F2, 61169 }, + { 0x49F3, 91364 }, + { 0x49F4, 91344 }, + { 0x49F5, 91352 }, + { 0x49F6, 91368 }, + { 0x49F7, 91360 }, + { 0x49F8, 91356 }, + { 0x49F9, 91348 }, + { 0x49FA, 91372 }, + { 0x49FB, 91376 }, + { 0x49FC, 91380 }, + { 0x49FD, 91388 }, + { 0x49FE, 91384 }, + { 0x49FF, 14296 }, + { 0x4A00, 14311 }, + { 0x4A01, 14302 }, + { 0x4A02, 14335 }, + { 0x4A03, 14308 }, + { 0x4A04, 14365 }, + { 0x4A05, 14447 }, + { 0x4A06, 14455 }, + { 0x4A07, 14443 }, + { 0x4A08, 14451 }, + { 0x4A09, 14299 }, + { 0x4A0A, 14314 }, + { 0x4A0B, 14305 }, + { 0x4A0C, 14317 }, + { 0x4A0D, 14341 }, + { 0x4A0E, 14392 }, + { 0x4A0F, 14329 }, + { 0x4A10, 14386 }, + { 0x4A11, 14401 }, + { 0x4A12, 14434 }, + { 0x4A13, 14323 }, + { 0x4A14, 14377 }, + { 0x4A15, 14338 }, + { 0x4A16, 14389 }, + { 0x4A17, 14410 }, + { 0x4A18, 14437 }, + { 0x4A19, 14428 }, + { 0x4A1A, 14440 }, + { 0x4A1B, 14380 }, + { 0x4A1C, 14431 }, + { 0x4A1D, 14407 }, + { 0x4A1E, 14362 }, + { 0x4A1F, 14425 }, + { 0x4A20, 14326 }, + { 0x4A21, 14383 }, + { 0x4A22, 14350 }, + { 0x4A23, 14404 }, + { 0x4A24, 14353 }, + { 0x4A25, 14413 }, + { 0x4A26, 14320 }, + { 0x4A27, 14374 }, + { 0x4A28, 14347 }, + { 0x4A29, 14398 }, + { 0x4A2A, 14371 }, + { 0x4A2B, 14356 }, + { 0x4A2C, 14416 }, + { 0x4A2D, 14344 }, + { 0x4A2E, 14395 }, + { 0x4A2F, 14368 }, + { 0x4A30, 14419 }, + { 0x4A31, 14422 }, + { 0x4A32, 14359 }, + { 0x4A33, 14332 }, + { 0x4A34, 14253 }, + { 0x4A35, 14241 }, + { 0x4A36, 14265 }, + { 0x4A37, 14249 }, + { 0x4A38, 14269 }, + { 0x4A39, 14278 }, + { 0x4A3A, 14288 }, + { 0x4A3B, 14273 }, + { 0x4A3C, 14283 }, + { 0x4A3D, 14237 }, + { 0x4A3E, 14257 }, + { 0x4A3F, 14245 }, + { 0x4A40, 14261 }, + { 0x4A41, 14188 }, + { 0x4A42, 14200 }, + { 0x4A43, 14194 }, + { 0x4A44, 14191 }, + { 0x4A45, 14185 }, + { 0x4A46, 14197 }, + { 0x4A47, 14181 }, + { 0x4A48, 14176 }, + { 0x4A49, 14459 }, + { 0x4A4A, 14205 }, + { 0x4A4B, 14293 }, + { 0x4A4C, 14203 }, + { 0x4A4D, 14178 }, + { 0x4A4E, 14467 }, + { 0x4A4F, 14225 }, + { 0x4A50, 14207 }, + { 0x4A51, 14213 }, + { 0x4A52, 14234 }, + { 0x4A53, 14219 }, + { 0x4A54, 14216 }, + { 0x4A55, 14210 }, + { 0x4A56, 14231 }, + { 0x4A57, 14228 }, + { 0x4A58, 14222 }, + { 0x4A59, 14464 }, + { 0x4A5A, 14461 }, + { 0x4A5B, 68104 }, + { 0x4A5C, 68222 }, + { 0x4A5D, 68237 }, + { 0x4A5E, 68228 }, + { 0x4A5F, 68261 }, + { 0x4A60, 68234 }, + { 0x4A61, 68291 }, + { 0x4A62, 68355 }, + { 0x4A63, 68363 }, + { 0x4A64, 68351 }, + { 0x4A65, 68359 }, + { 0x4A66, 68225 }, + { 0x4A67, 68240 }, + { 0x4A68, 68231 }, + { 0x4A69, 68243 }, + { 0x4A6A, 68267 }, + { 0x4A6B, 68318 }, + { 0x4A6C, 68255 }, + { 0x4A6D, 68312 }, + { 0x4A6E, 68321 }, + { 0x4A6F, 68249 }, + { 0x4A70, 68303 }, + { 0x4A71, 68264 }, + { 0x4A72, 68315 }, + { 0x4A73, 68327 }, + { 0x4A74, 68342 }, + { 0x4A75, 68348 }, + { 0x4A76, 68306 }, + { 0x4A77, 68345 }, + { 0x4A78, 68324 }, + { 0x4A79, 68288 }, + { 0x4A7A, 68339 }, + { 0x4A7B, 68252 }, + { 0x4A7C, 68309 }, + { 0x4A7D, 68276 }, + { 0x4A7E, 68279 }, + { 0x4A7F, 68330 }, + { 0x4A80, 68246 }, + { 0x4A81, 68300 }, + { 0x4A82, 68273 }, + { 0x4A83, 68297 }, + { 0x4A84, 68282 }, + { 0x4A85, 68270 }, + { 0x4A86, 68294 }, + { 0x4A87, 68333 }, + { 0x4A88, 68336 }, + { 0x4A89, 68285 }, + { 0x4A8A, 68258 }, + { 0x4A8B, 68172 }, + { 0x4A8C, 68160 }, + { 0x4A8D, 68184 }, + { 0x4A8E, 68168 }, + { 0x4A8F, 68188 }, + { 0x4A90, 68207 }, + { 0x4A91, 68217 }, + { 0x4A92, 68202 }, + { 0x4A93, 68212 }, + { 0x4A94, 68156 }, + { 0x4A95, 68192 }, + { 0x4A96, 68176 }, + { 0x4A97, 68164 }, + { 0x4A98, 68197 }, + { 0x4A99, 68180 }, + { 0x4A9A, 68121 }, + { 0x4A9B, 68115 }, + { 0x4A9C, 68112 }, + { 0x4A9D, 68109 }, + { 0x4A9E, 68106 }, + { 0x4A9F, 68118 }, + { 0x4AA0, 68154 }, + { 0x4AA1, 68367 }, + { 0x4AA2, 68102 }, + { 0x4AA3, 68142 }, + { 0x4AA4, 68124 }, + { 0x4AA5, 68130 }, + { 0x4AA6, 68151 }, + { 0x4AA7, 68136 }, + { 0x4AA8, 68133 }, + { 0x4AA9, 68127 }, + { 0x4AAA, 68148 }, + { 0x4AAB, 68145 }, + { 0x4AAC, 68139 }, + { 0x4AAD, 65777 }, + { 0x4AAE, 65792 }, + { 0x4AAF, 65783 }, + { 0x4AB0, 65816 }, + { 0x4AB1, 65789 }, + { 0x4AB2, 65846 }, + { 0x4AB3, 65910 }, + { 0x4AB4, 65918 }, + { 0x4AB5, 65906 }, + { 0x4AB6, 65914 }, + { 0x4AB7, 65780 }, + { 0x4AB8, 65795 }, + { 0x4AB9, 65786 }, + { 0x4ABA, 65798 }, + { 0x4ABB, 65822 }, + { 0x4ABC, 65873 }, + { 0x4ABD, 65810 }, + { 0x4ABE, 65867 }, + { 0x4ABF, 65876 }, + { 0x4AC0, 65804 }, + { 0x4AC1, 65858 }, + { 0x4AC2, 65819 }, + { 0x4AC3, 65870 }, + { 0x4AC4, 65882 }, + { 0x4AC5, 65897 }, + { 0x4AC6, 65903 }, + { 0x4AC7, 65861 }, + { 0x4AC8, 65900 }, + { 0x4AC9, 65879 }, + { 0x4ACA, 65843 }, + { 0x4ACB, 65894 }, + { 0x4ACC, 65807 }, + { 0x4ACD, 65864 }, + { 0x4ACE, 65831 }, + { 0x4ACF, 65834 }, + { 0x4AD0, 65885 }, + { 0x4AD1, 65801 }, + { 0x4AD2, 65855 }, + { 0x4AD3, 65828 }, + { 0x4AD4, 65852 }, + { 0x4AD5, 65837 }, + { 0x4AD6, 65825 }, + { 0x4AD7, 65849 }, + { 0x4AD8, 65888 }, + { 0x4AD9, 65891 }, + { 0x4ADA, 65840 }, + { 0x4ADB, 65813 }, + { 0x4ADC, 65734 }, + { 0x4ADD, 65722 }, + { 0x4ADE, 65746 }, + { 0x4ADF, 65730 }, + { 0x4AE0, 65750 }, + { 0x4AE1, 65754 }, + { 0x4AE2, 65759 }, + { 0x4AE3, 65718 }, + { 0x4AE4, 65738 }, + { 0x4AE5, 65726 }, + { 0x4AE6, 65742 }, + { 0x4AE7, 65713 }, + { 0x4AE8, 65710 }, + { 0x4AE9, 65707 }, + { 0x4AEA, 65701 }, + { 0x4AEB, 65698 }, + { 0x4AEC, 65704 }, + { 0x4AED, 65716 }, + { 0x4AEE, 65774 }, + { 0x4AEF, 66045 }, + { 0x4AF0, 66042 }, + { 0x4AF1, 66048 }, + { 0x4AF2, 66051 }, + { 0x4AF3, 66054 }, + { 0x4AF4, 65693 }, + { 0x4AF5, 66010 }, + { 0x4AF6, 66002 }, + { 0x4AF7, 65959 }, + { 0x4AF8, 65941 }, + { 0x4AF9, 65950 }, + { 0x4AFA, 66030 }, + { 0x4AFB, 66035 }, + { 0x4AFC, 65967 }, + { 0x4AFD, 65973 }, + { 0x4AFE, 66024 }, + { 0x4AFF, 66018 }, + { 0x4B00, 65995 }, + { 0x4B01, 65979 }, + { 0x4B02, 65987 }, + { 0x4B03, 65936 }, + { 0x4B04, 65926 }, + { 0x4B05, 65931 }, + { 0x4B06, 65922 }, + { 0x4B07, 65764 }, + { 0x4B08, 65769 }, + { 0x4B09, 14008 }, + { 0x4B0A, 14023 }, + { 0x4B0B, 14014 }, + { 0x4B0C, 14047 }, + { 0x4B0D, 14020 }, + { 0x4B0E, 14077 }, + { 0x4B0F, 14144 }, + { 0x4B10, 14152 }, + { 0x4B11, 14140 }, + { 0x4B12, 14148 }, + { 0x4B13, 14011 }, + { 0x4B14, 14026 }, + { 0x4B15, 14017 }, + { 0x4B16, 14029 }, + { 0x4B17, 14053 }, + { 0x4B18, 14104 }, + { 0x4B19, 14041 }, + { 0x4B1A, 14098 }, + { 0x4B1B, 14110 }, + { 0x4B1C, 14035 }, + { 0x4B1D, 14089 }, + { 0x4B1E, 14050 }, + { 0x4B1F, 14101 }, + { 0x4B20, 14116 }, + { 0x4B21, 14131 }, + { 0x4B22, 14137 }, + { 0x4B23, 14092 }, + { 0x4B24, 14134 }, + { 0x4B25, 14113 }, + { 0x4B26, 14074 }, + { 0x4B27, 14128 }, + { 0x4B28, 14038 }, + { 0x4B29, 14095 }, + { 0x4B2A, 14062 }, + { 0x4B2B, 14065 }, + { 0x4B2C, 14119 }, + { 0x4B2D, 14032 }, + { 0x4B2E, 14086 }, + { 0x4B2F, 14059 }, + { 0x4B30, 14083 }, + { 0x4B31, 14068 }, + { 0x4B32, 14056 }, + { 0x4B33, 14080 }, + { 0x4B34, 14122 }, + { 0x4B35, 14125 }, + { 0x4B36, 14071 }, + { 0x4B37, 14044 }, + { 0x4B38, 14107 }, + { 0x4B39, 13965 }, + { 0x4B3A, 13953 }, + { 0x4B3B, 13977 }, + { 0x4B3C, 13961 }, + { 0x4B3D, 13981 }, + { 0x4B3E, 13990 }, + { 0x4B3F, 14000 }, + { 0x4B40, 13985 }, + { 0x4B41, 13995 }, + { 0x4B42, 13949 }, + { 0x4B43, 13969 }, + { 0x4B44, 13957 }, + { 0x4B45, 13973 }, + { 0x4B46, 13911 }, + { 0x4B47, 13908 }, + { 0x4B48, 13905 }, + { 0x4B49, 13914 }, + { 0x4B4A, 13917 }, + { 0x4B4B, 14005 }, + { 0x4B4C, 14156 }, + { 0x4B4D, 13902 }, + { 0x4B4E, 13937 }, + { 0x4B4F, 13919 }, + { 0x4B50, 13925 }, + { 0x4B51, 13946 }, + { 0x4B52, 13931 }, + { 0x4B53, 13928 }, + { 0x4B54, 13922 }, + { 0x4B55, 13943 }, + { 0x4B56, 13940 }, + { 0x4B57, 13934 }, + { 0x4B58, 100850 }, + { 0x4B59, 101487 }, + { 0x4B5A, 100905 }, + { 0x4B5B, 101475 }, + { 0x4B5C, 100845 }, + { 0x4B5D, 101496 }, + { 0x4B5E, 101490 }, + { 0x4B5F, 101503 }, + { 0x4B60, 101506 }, + { 0x4B61, 100888 }, + { 0x4B62, 100897 }, + { 0x4B63, 100891 }, + { 0x4B64, 101480 }, + { 0x4B65, 34816 }, + { 0x4B66, 34831 }, + { 0x4B67, 34822 }, + { 0x4B68, 34855 }, + { 0x4B69, 34828 }, + { 0x4B6A, 34885 }, + { 0x4B6B, 34819 }, + { 0x4B6C, 34834 }, + { 0x4B6D, 34825 }, + { 0x4B6E, 34837 }, + { 0x4B6F, 34861 }, + { 0x4B70, 34912 }, + { 0x4B71, 34849 }, + { 0x4B72, 34906 }, + { 0x4B73, 34915 }, + { 0x4B74, 34843 }, + { 0x4B75, 34897 }, + { 0x4B76, 34858 }, + { 0x4B77, 34909 }, + { 0x4B78, 34921 }, + { 0x4B79, 34936 }, + { 0x4B7A, 34942 }, + { 0x4B7B, 34900 }, + { 0x4B7C, 34939 }, + { 0x4B7D, 34918 }, + { 0x4B7E, 34882 }, + { 0x4B7F, 34933 }, + { 0x4B80, 34846 }, + { 0x4B81, 34903 }, + { 0x4B82, 34870 }, + { 0x4B83, 34873 }, + { 0x4B84, 34924 }, + { 0x4B85, 34840 }, + { 0x4B86, 34894 }, + { 0x4B87, 34867 }, + { 0x4B88, 34891 }, + { 0x4B89, 34876 }, + { 0x4B8A, 34864 }, + { 0x4B8B, 34888 }, + { 0x4B8C, 34930 }, + { 0x4B8D, 34879 }, + { 0x4B8E, 34852 }, + { 0x4B8F, 34927 }, + { 0x4B90, 34747 }, + { 0x4B91, 34744 }, + { 0x4B92, 34796 }, + { 0x4B93, 34784 }, + { 0x4B94, 34808 }, + { 0x4B95, 34792 }, + { 0x4B96, 34812 }, + { 0x4B97, 34780 }, + { 0x4B98, 34800 }, + { 0x4B99, 34788 }, + { 0x4B9A, 34804 }, + { 0x4B9B, 34741 }, + { 0x4B9C, 34738 }, + { 0x4B9D, 34768 }, + { 0x4B9E, 34750 }, + { 0x4B9F, 34756 }, + { 0x4BA0, 34777 }, + { 0x4BA1, 34762 }, + { 0x4BA2, 34759 }, + { 0x4BA3, 34753 }, + { 0x4BA4, 34774 }, + { 0x4BA5, 34771 }, + { 0x4BA6, 34765 }, + { 0x4BA7, 11952 }, + { 0x4BA8, 11991 }, + { 0x4BA9, 11994 }, + { 0x4BAA, 11961 }, + { 0x4BAB, 11973 }, + { 0x4BAC, 12010 }, + { 0x4BAD, 11964 }, + { 0x4BAE, 12000 }, + { 0x4BAF, 11937 }, + { 0x4BB0, 11958 }, + { 0x4BB1, 11949 }, + { 0x4BB2, 11979 }, + { 0x4BB3, 12003 }, + { 0x4BB4, 11967 }, + { 0x4BB5, 11955 }, + { 0x4BB6, 11970 }, + { 0x4BB7, 11997 }, + { 0x4BB8, 11946 }, + { 0x4BB9, 11934 }, + { 0x4BBA, 11940 }, + { 0x4BBB, 11982 }, + { 0x4BBC, 11943 }, + { 0x4BBD, 12006 }, + { 0x4BBE, 11985 }, + { 0x4BBF, 11976 }, + { 0x4BC0, 11988 }, + { 0x4BC1, 12023 }, + { 0x4BC2, 12028 }, + { 0x4BC3, 12033 }, + { 0x4BC4, 11890 }, + { 0x4BC5, 11910 }, + { 0x4BC6, 11898 }, + { 0x4BC7, 11926 }, + { 0x4BC8, 11906 }, + { 0x4BC9, 11930 }, + { 0x4BCA, 11894 }, + { 0x4BCB, 11922 }, + { 0x4BCC, 11902 }, + { 0x4BCD, 11914 }, + { 0x4BCE, 11918 }, + { 0x4BCF, 11854 }, + { 0x4BD0, 11878 }, + { 0x4BD1, 11860 }, + { 0x4BD2, 11866 }, + { 0x4BD3, 11887 }, + { 0x4BD4, 11872 }, + { 0x4BD5, 11869 }, + { 0x4BD6, 11863 }, + { 0x4BD7, 11884 }, + { 0x4BD8, 11881 }, + { 0x4BD9, 11875 }, + { 0x4BDA, 12014 }, + { 0x4BDB, 12017 }, + { 0x4BDC, 11850 }, + { 0x4BDD, 11857 }, + { 0x4BDE, 11847 }, + { 0x4BDF, 12020 }, + { 0x4BE0, 57762 }, + { 0x4BE1, 57622 }, + { 0x4BE2, 57687 }, + { 0x4BE3, 57702 }, + { 0x4BE4, 57692 }, + { 0x4BE5, 57697 }, + { 0x4BE6, 57662 }, + { 0x4BE7, 57682 }, + { 0x4BE8, 57627 }, + { 0x4BE9, 57632 }, + { 0x4BEA, 57707 }, + { 0x4BEB, 57657 }, + { 0x4BEC, 57667 }, + { 0x4BED, 57717 }, + { 0x4BEE, 57742 }, + { 0x4BEF, 57677 }, + { 0x4BF0, 57712 }, + { 0x4BF1, 57727 }, + { 0x4BF2, 57737 }, + { 0x4BF3, 57767 }, + { 0x4BF4, 57652 }, + { 0x4BF5, 57642 }, + { 0x4BF6, 57637 }, + { 0x4BF7, 57647 }, + { 0x4BF8, 57672 }, + { 0x4BF9, 57747 }, + { 0x4BFA, 57752 }, + { 0x4BFB, 57757 }, + { 0x4BFC, 57722 }, + { 0x4BFD, 57772 }, + { 0x4BFE, 57732 }, + { 0x4BFF, 57777 }, + { 0x4C00, 57566 }, + { 0x4C01, 57426 }, + { 0x4C02, 57491 }, + { 0x4C03, 57506 }, + { 0x4C04, 57496 }, + { 0x4C05, 57501 }, + { 0x4C06, 57466 }, + { 0x4C07, 57486 }, + { 0x4C08, 57431 }, + { 0x4C09, 57436 }, + { 0x4C0A, 57511 }, + { 0x4C0B, 57461 }, + { 0x4C0C, 57471 }, + { 0x4C0D, 57521 }, + { 0x4C0E, 57546 }, + { 0x4C0F, 57481 }, + { 0x4C10, 57516 }, + { 0x4C11, 57531 }, + { 0x4C12, 57541 }, + { 0x4C13, 57571 }, + { 0x4C14, 57456 }, + { 0x4C15, 57446 }, + { 0x4C16, 57441 }, + { 0x4C17, 57451 }, + { 0x4C18, 57476 }, + { 0x4C19, 57551 }, + { 0x4C1A, 57556 }, + { 0x4C1B, 57561 }, + { 0x4C1C, 57526 }, + { 0x4C1D, 57576 }, + { 0x4C1E, 57536 }, + { 0x4C1F, 57581 }, + { 0x4C20, 57410 }, + { 0x4C21, 57386 }, + { 0x4C22, 57394 }, + { 0x4C23, 57422 }, + { 0x4C24, 57402 }, + { 0x4C25, 57398 }, + { 0x4C26, 57390 }, + { 0x4C27, 57418 }, + { 0x4C28, 57414 }, + { 0x4C29, 57406 }, + { 0x4C2A, 57586 }, + { 0x4C2B, 57614 }, + { 0x4C2C, 57610 }, + { 0x4C2D, 57594 }, + { 0x4C2E, 57590 }, + { 0x4C2F, 57598 }, + { 0x4C30, 57618 }, + { 0x4C31, 57602 }, + { 0x4C32, 57606 }, + { 0x4C33, 57383 }, + { 0x4C34, 9018 }, + { 0x4C35, 8998 }, + { 0x4C36, 9003 }, + { 0x4C37, 9008 }, + { 0x4C38, 8973 }, + { 0x4C39, 9048 }, + { 0x4C3A, 9043 }, + { 0x4C3B, 9063 }, + { 0x4C3C, 8988 }, + { 0x4C3D, 8983 }, + { 0x4C3E, 9058 }, + { 0x4C3F, 9028 }, + { 0x4C40, 8963 }, + { 0x4C41, 8968 }, + { 0x4C42, 9033 }, + { 0x4C43, 9073 }, + { 0x4C44, 9013 }, + { 0x4C45, 9068 }, + { 0x4C46, 9023 }, + { 0x4C47, 8978 }, + { 0x4C48, 9053 }, + { 0x4C49, 8938 }, + { 0x4C4A, 8943 }, + { 0x4C4B, 8948 }, + { 0x4C4C, 8953 }, + { 0x4C4D, 8958 }, + { 0x4C4E, 9038 }, + { 0x4C4F, 8993 }, + { 0x4C50, 9102 }, + { 0x4C51, 9078 }, + { 0x4C52, 9108 }, + { 0x4C53, 9090 }, + { 0x4C54, 9096 }, + { 0x4C55, 9084 }, + { 0x4C56, 9114 }, + { 0x4C57, 9126 }, + { 0x4C58, 9120 }, + { 0x4C59, 9137 }, + { 0x4C5A, 9132 }, + { 0x4C5B, 9180 }, + { 0x4C5C, 9143 }, + { 0x4C5D, 9150 }, + { 0x4C5E, 9186 }, + { 0x4C5F, 9161 }, + { 0x4C60, 9156 }, + { 0x4C61, 9167 }, + { 0x4C62, 9174 }, + { 0x4C63, 9210 }, + { 0x4C64, 9204 }, + { 0x4C65, 9215 }, + { 0x4C66, 9222 }, + { 0x4C67, 9233 }, + { 0x4C68, 9228 }, + { 0x4C69, 9193 }, + { 0x4C6A, 9239 }, + { 0x4C6B, 9246 }, + { 0x4C6C, 9198 }, + { 0x4C6D, 88808 }, + { 0x4C6E, 88823 }, + { 0x4C6F, 88814 }, + { 0x4C70, 88847 }, + { 0x4C71, 88820 }, + { 0x4C72, 88877 }, + { 0x4C73, 88941 }, + { 0x4C74, 88945 }, + { 0x4C75, 88937 }, + { 0x4C76, 88811 }, + { 0x4C77, 88826 }, + { 0x4C78, 88817 }, + { 0x4C79, 88829 }, + { 0x4C7A, 88853 }, + { 0x4C7B, 88904 }, + { 0x4C7C, 88841 }, + { 0x4C7D, 88898 }, + { 0x4C7E, 88907 }, + { 0x4C7F, 88835 }, + { 0x4C80, 88889 }, + { 0x4C81, 88850 }, + { 0x4C82, 88901 }, + { 0x4C83, 88913 }, + { 0x4C84, 88928 }, + { 0x4C85, 88934 }, + { 0x4C86, 88892 }, + { 0x4C87, 88931 }, + { 0x4C88, 88910 }, + { 0x4C89, 88874 }, + { 0x4C8A, 88925 }, + { 0x4C8B, 88838 }, + { 0x4C8C, 88895 }, + { 0x4C8D, 88862 }, + { 0x4C8E, 88865 }, + { 0x4C8F, 88916 }, + { 0x4C90, 88832 }, + { 0x4C91, 88886 }, + { 0x4C92, 88859 }, + { 0x4C93, 88883 }, + { 0x4C94, 88868 }, + { 0x4C95, 88856 }, + { 0x4C96, 88880 }, + { 0x4C97, 88919 }, + { 0x4C98, 88922 }, + { 0x4C99, 88871 }, + { 0x4C9A, 88844 }, + { 0x4C9B, 88770 }, + { 0x4C9C, 88758 }, + { 0x4C9D, 88782 }, + { 0x4C9E, 88766 }, + { 0x4C9F, 88786 }, + { 0x4CA0, 88795 }, + { 0x4CA1, 88800 }, + { 0x4CA2, 88790 }, + { 0x4CA3, 88754 }, + { 0x4CA4, 88774 }, + { 0x4CA5, 88762 }, + { 0x4CA6, 88778 }, + { 0x4CA7, 88716 }, + { 0x4CA8, 88710 }, + { 0x4CA9, 88707 }, + { 0x4CAA, 88704 }, + { 0x4CAB, 88713 }, + { 0x4CAC, 88722 }, + { 0x4CAD, 88805 }, + { 0x4CAE, 88719 }, + { 0x4CAF, 88698 }, + { 0x4CB0, 88701 }, + { 0x4CB1, 88742 }, + { 0x4CB2, 88724 }, + { 0x4CB3, 88730 }, + { 0x4CB4, 88751 }, + { 0x4CB5, 88736 }, + { 0x4CB6, 88733 }, + { 0x4CB7, 88727 }, + { 0x4CB8, 88748 }, + { 0x4CB9, 88745 }, + { 0x4CBA, 88739 }, + { 0x4CBB, 88949 }, + { 0x4CBC, 88958 }, + { 0x4CBD, 88985 }, + { 0x4CBE, 88964 }, + { 0x4CBF, 88961 }, + { 0x4CC0, 88952 }, + { 0x4CC1, 88979 }, + { 0x4CC2, 88970 }, + { 0x4CC3, 88967 }, + { 0x4CC4, 88955 }, + { 0x4CC5, 88997 }, + { 0x4CC6, 88994 }, + { 0x4CC7, 88976 }, + { 0x4CC8, 88973 }, + { 0x4CC9, 88982 }, + { 0x4CCA, 89000 }, + { 0x4CCB, 88988 }, + { 0x4CCC, 88991 }, + { 0x4CCD, 89003 }, + { 0x4CCE, 62095 }, + { 0x4CCF, 62098 }, + { 0x4CD0, 62151 }, + { 0x4CD1, 62190 }, + { 0x4CD2, 62142 }, + { 0x4CD3, 62193 }, + { 0x4CD4, 62136 }, + { 0x4CD5, 62184 }, + { 0x4CD6, 62148 }, + { 0x4CD7, 62196 }, + { 0x4CD8, 62172 }, + { 0x4CD9, 62205 }, + { 0x4CDA, 62139 }, + { 0x4CDB, 62160 }, + { 0x4CDC, 62163 }, + { 0x4CDD, 62199 }, + { 0x4CDE, 62133 }, + { 0x4CDF, 62157 }, + { 0x4CE0, 62208 }, + { 0x4CE1, 62214 }, + { 0x4CE2, 62187 }, + { 0x4CE3, 62175 }, + { 0x4CE4, 62211 }, + { 0x4CE5, 62181 }, + { 0x4CE6, 62130 }, + { 0x4CE7, 62178 }, + { 0x4CE8, 62166 }, + { 0x4CE9, 62154 }, + { 0x4CEA, 62202 }, + { 0x4CEB, 62169 }, + { 0x4CEC, 62145 }, + { 0x4CED, 62127 }, + { 0x4CEE, 62245 }, + { 0x4CEF, 62297 }, + { 0x4CF0, 62233 }, + { 0x4CF1, 62301 }, + { 0x4CF2, 62225 }, + { 0x4CF3, 62289 }, + { 0x4CF4, 62241 }, + { 0x4CF5, 62305 }, + { 0x4CF6, 62273 }, + { 0x4CF7, 62317 }, + { 0x4CF8, 62229 }, + { 0x4CF9, 62257 }, + { 0x4CFA, 62261 }, + { 0x4CFB, 62309 }, + { 0x4CFC, 62221 }, + { 0x4CFD, 62253 }, + { 0x4CFE, 62321 }, + { 0x4CFF, 62329 }, + { 0x4D00, 62293 }, + { 0x4D01, 62277 }, + { 0x4D02, 62325 }, + { 0x4D03, 62285 }, + { 0x4D04, 62281 }, + { 0x4D05, 62265 }, + { 0x4D06, 62249 }, + { 0x4D07, 62313 }, + { 0x4D08, 62269 }, + { 0x4D09, 62237 }, + { 0x4D0A, 62217 }, + { 0x4D0B, 62123 }, + { 0x4D0C, 62111 }, + { 0x4D0D, 62119 }, + { 0x4D0E, 62107 }, + { 0x4D0F, 62115 }, + { 0x4D10, 62101 }, + { 0x4D11, 62104 }, + { 0x4D12, 92076 }, + { 0x4D13, 92079 }, + { 0x4D14, 92089 }, + { 0x4D15, 92104 }, + { 0x4D16, 92084 }, + { 0x4D17, 92094 }, + { 0x4D18, 92115 }, + { 0x4D19, 92110 }, + { 0x4D1A, 92099 }, + { 0x4D1B, 92189 }, + { 0x4D1C, 92192 }, + { 0x4D1D, 92235 }, + { 0x4D1E, 92240 }, + { 0x4D1F, 92213 }, + { 0x4D20, 92246 }, + { 0x4D21, 92208 }, + { 0x4D22, 92218 }, + { 0x4D23, 92252 }, + { 0x4D24, 92262 }, + { 0x4D25, 92267 }, + { 0x4D26, 92199 }, + { 0x4D27, 92195 }, + { 0x4D28, 93411 }, + { 0x4D29, 93442 }, + { 0x4D2A, 93426 }, + { 0x4D2B, 93419 }, + { 0x4D2C, 93432 }, + { 0x4D2D, 93437 }, + { 0x4D2E, 92272 }, + { 0x4D2F, 92280 }, + { 0x4D30, 92283 }, + { 0x4D31, 92288 }, + { 0x4D32, 92295 }, + { 0x4D33, 92298 }, + { 0x4D34, 92323 }, + { 0x4D35, 92328 }, + { 0x4D36, 92303 }, + { 0x4D37, 92333 }, + { 0x4D38, 92308 }, + { 0x4D39, 92313 }, + { 0x4D3A, 92318 }, + { 0x4D3B, 95560 }, + { 0x4D3C, 96343 }, + { 0x4D3D, 95563 }, + { 0x4D3E, 95571 }, + { 0x4D3F, 92338 }, + { 0x4D40, 92341 }, + { 0x4D41, 92361 }, + { 0x4D42, 92352 }, + { 0x4D43, 92346 }, + { 0x4D44, 96346 }, + { 0x4D45, 95576 }, + { 0x4D46, 95579 }, + { 0x4D47, 95582 }, + { 0x4D48, 96349 }, + { 0x4D49, 96352 }, + { 0x4D4A, 93447 }, + { 0x4D4B, 93487 }, + { 0x4D4C, 93450 }, + { 0x4D4D, 93475 }, + { 0x4D4E, 93455 }, + { 0x4D4F, 93462 }, + { 0x4D50, 95587 }, + { 0x4D51, 96949 }, + { 0x4D52, 92366 }, + { 0x4D53, 93492 }, + { 0x4D54, 95590 }, + { 0x4D55, 96952 }, + { 0x4D56, 93501 }, + { 0x4D57, 93504 }, + { 0x4D58, 96355 }, + { 0x4D59, 93509 }, + { 0x4D5A, 96358 }, + { 0x4D5B, 92369 }, + { 0x4D5C, 92372 }, + { 0x4D5D, 92377 }, + { 0x4D5E, 92382 }, + { 0x4D5F, 92388 }, + { 0x4D60, 92391 }, + { 0x4D61, 92397 }, + { 0x4D62, 92410 }, + { 0x4D63, 96361 }, + { 0x4D64, 96364 }, + { 0x4D65, 93512 }, + { 0x4D66, 95593 }, + { 0x4D67, 92415 }, + { 0x4D68, 93515 }, + { 0x4D69, 93523 }, + { 0x4D6A, 93657 }, + { 0x4D6B, 93675 }, + { 0x4D6C, 93531 }, + { 0x4D6D, 93537 }, + { 0x4D6E, 93543 }, + { 0x4D6F, 93551 }, + { 0x4D70, 93663 }, + { 0x4D71, 93625 }, + { 0x4D72, 93557 }, + { 0x4D73, 93563 }, + { 0x4D74, 93569 }, + { 0x4D75, 93631 }, + { 0x4D76, 93577 }, + { 0x4D77, 93583 }, + { 0x4D78, 93589 }, + { 0x4D79, 93637 }, + { 0x4D7A, 93597 }, + { 0x4D7B, 93643 }, + { 0x4D7C, 93603 }, + { 0x4D7D, 93669 }, + { 0x4D7E, 93609 }, + { 0x4D7F, 93651 }, + { 0x4D80, 93681 }, + { 0x4D81, 93684 }, + { 0x4D82, 96369 }, + { 0x4D83, 96372 }, + { 0x4D84, 92423 }, + { 0x4D85, 93687 }, + { 0x4D86, 93690 }, + { 0x4D87, 93705 }, + { 0x4D88, 95599 }, + { 0x4D89, 93710 }, + { 0x4D8A, 93713 }, + { 0x4D8B, 95607 }, + { 0x4D8C, 92426 }, + { 0x4D8D, 92433 }, + { 0x4D8E, 92429 }, + { 0x4D8F, 92438 }, + { 0x4D90, 93720 }, + { 0x4D91, 93728 }, + { 0x4D92, 95615 }, + { 0x4D93, 93733 }, + { 0x4D94, 96375 }, + { 0x4D95, 93887 }, + { 0x4D96, 93890 }, + { 0x4D97, 95618 }, + { 0x4D98, 95621 }, + { 0x4D99, 95625 }, + { 0x4D9A, 95630 }, + { 0x4D9B, 95633 }, + { 0x4D9C, 92121 }, + { 0x4D9D, 92132 }, + { 0x4D9E, 92124 }, + { 0x4D9F, 92442 }, + { 0x4DA0, 92445 }, + { 0x4DA1, 92464 }, + { 0x4DA2, 92459 }, + { 0x4DA3, 92479 }, + { 0x4DA4, 92484 }, + { 0x4DA5, 92454 }, + { 0x4DA6, 95636 }, + { 0x4DA7, 95639 }, + { 0x4DA8, 92489 }, + { 0x4DA9, 92492 }, + { 0x4DAA, 92500 }, + { 0x4DAB, 92505 }, + { 0x4DAC, 92495 }, + { 0x4DAD, 92515 }, + { 0x4DAE, 92520 }, + { 0x4DAF, 92511 }, + { 0x4DB0, 95642 }, + { 0x4DB1, 96378 }, + { 0x4DB2, 95645 }, + { 0x4DB3, 95653 }, + { 0x4DB4, 95656 }, + { 0x4DB5, 95661 }, + { 0x4DB6, 95668 }, + { 0x4DB7, 95677 }, + { 0x4DB8, 95723 }, + { 0x4DB9, 95756 }, + { 0x4DBA, 95762 }, + { 0x4DBB, 95682 }, + { 0x4DBC, 95687 }, + { 0x4DBD, 95733 }, + { 0x4DBE, 95769 }, + { 0x4DBF, 95774 }, + { 0x4DC0, 95739 }, + { 0x4DC1, 95693 }, + { 0x4DC2, 95744 }, + { 0x4DC3, 95698 }, + { 0x4DC4, 95703 }, + { 0x4DC5, 95713 }, + { 0x4DC6, 95718 }, + { 0x4DC7, 92525 }, + { 0x4DC8, 92528 }, + { 0x4DC9, 93893 }, + { 0x4DCA, 93901 }, + { 0x4DCB, 93910 }, + { 0x4DCC, 93917 }, + { 0x4DCD, 94064 }, + { 0x4DCE, 93929 }, + { 0x4DCF, 94072 }, + { 0x4DD0, 94277 }, + { 0x4DD1, 94077 }, + { 0x4DD2, 94082 }, + { 0x4DD3, 94089 }, + { 0x4DD4, 94094 }, + { 0x4DD5, 93943 }, + { 0x4DD6, 93948 }, + { 0x4DD7, 94107 }, + { 0x4DD8, 94114 }, + { 0x4DD9, 93953 }, + { 0x4DDA, 93958 }, + { 0x4DDB, 93965 }, + { 0x4DDC, 93970 }, + { 0x4DDD, 94289 }, + { 0x4DDE, 94134 }, + { 0x4DDF, 93983 }, + { 0x4DE0, 94153 }, + { 0x4DE1, 94158 }, + { 0x4DE2, 94295 }, + { 0x4DE3, 93995 }, + { 0x4DE4, 94165 }, + { 0x4DE5, 94170 }, + { 0x4DE6, 94004 }, + { 0x4DE7, 94302 }, + { 0x4DE8, 94177 }, + { 0x4DE9, 94183 }, + { 0x4DEA, 94192 }, + { 0x4DEB, 94337 }, + { 0x4DEC, 94197 }, + { 0x4DED, 94202 }, + { 0x4DEE, 94209 }, + { 0x4DEF, 94011 }, + { 0x4DF0, 94016 }, + { 0x4DF1, 94023 }, + { 0x4DF2, 94233 }, + { 0x4DF3, 94238 }, + { 0x4DF4, 94047 }, + { 0x4DF5, 94245 }, + { 0x4DF6, 94250 }, + { 0x4DF7, 94255 }, + { 0x4DF8, 94260 }, + { 0x4DF9, 94312 }, + { 0x4DFA, 94267 }, + { 0x4DFB, 94322 }, + { 0x4DFC, 93924 }, + { 0x4DFD, 94052 }, + { 0x4DFE, 94057 }, + { 0x4DFF, 93896 }, + { 0x4E00, 95829 }, + { 0x4E01, 95838 }, + { 0x4E02, 94349 }, + { 0x4E03, 94352 }, + { 0x4E04, 94360 }, + { 0x4E05, 94363 }, + { 0x4E06, 96385 }, + { 0x4E07, 94372 }, + { 0x4E08, 94375 }, + { 0x4E09, 95843 }, + { 0x4E0A, 95851 }, + { 0x4E0B, 95846 }, + { 0x4E0C, 95855 }, + { 0x4E0D, 94378 }, + { 0x4E0E, 95860 }, + { 0x4E0F, 96970 }, + { 0x4E10, 97199 }, + { 0x4E11, 97207 }, + { 0x4E12, 92532 }, + { 0x4E13, 92535 }, + { 0x4E14, 92540 }, + { 0x4E15, 92545 }, + { 0x4E16, 94381 }, + { 0x4E17, 94384 }, + { 0x4E18, 94389 }, + { 0x4E19, 96388 }, + { 0x4E1A, 95866 }, + { 0x4E1B, 95869 }, + { 0x4E1C, 95873 }, + { 0x4E1D, 95876 }, + { 0x4E1E, 95900 }, + { 0x4E1F, 95895 }, + { 0x4E20, 95883 }, + { 0x4E21, 95890 }, + { 0x4E22, 96391 }, + { 0x4E23, 95906 }, + { 0x4E24, 95930 }, + { 0x4E25, 95913 }, + { 0x4E26, 95925 }, + { 0x4E27, 95909 }, + { 0x4E28, 92550 }, + { 0x4E29, 92553 }, + { 0x4E2A, 94397 }, + { 0x4E2B, 94410 }, + { 0x4E2C, 94415 }, + { 0x4E2D, 94423 }, + { 0x4E2E, 94428 }, + { 0x4E2F, 94400 }, + { 0x4E30, 94435 }, + { 0x4E31, 94451 }, + { 0x4E32, 94458 }, + { 0x4E33, 94438 }, + { 0x4E34, 94463 }, + { 0x4E35, 94466 }, + { 0x4E36, 94469 }, + { 0x4E37, 94474 }, + { 0x4E38, 95935 }, + { 0x4E39, 96394 }, + { 0x4E3A, 96973 }, + { 0x4E3B, 92558 }, + { 0x4E3C, 92565 }, + { 0x4E3D, 92561 }, + { 0x4E3E, 94477 }, + { 0x4E3F, 92574 }, + { 0x4E40, 92582 }, + { 0x4E41, 92621 }, + { 0x4E42, 92596 }, + { 0x4E43, 92626 }, + { 0x4E44, 92601 }, + { 0x4E45, 92606 }, + { 0x4E46, 92611 }, + { 0x4E47, 92616 }, + { 0x4E48, 92577 }, + { 0x4E49, 92631 }, + { 0x4E4A, 95938 }, + { 0x4E4B, 95941 }, + { 0x4E4C, 95951 }, + { 0x4E4D, 95961 }, + { 0x4E4E, 95956 }, + { 0x4E4F, 95946 }, + { 0x4E50, 95966 }, + { 0x4E51, 92137 }, + { 0x4E52, 92140 }, + { 0x4E53, 92634 }, + { 0x4E54, 95972 }, + { 0x4E55, 95975 }, + { 0x4E56, 95981 }, + { 0x4E57, 92637 }, + { 0x4E58, 94480 }, + { 0x4E59, 94487 }, + { 0x4E5A, 94483 }, + { 0x4E5B, 94495 }, + { 0x4E5C, 94491 }, + { 0x4E5D, 92640 }, + { 0x4E5E, 92643 }, + { 0x4E5F, 94506 }, + { 0x4E60, 92649 }, + { 0x4E61, 92652 }, + { 0x4E62, 92661 }, + { 0x4E63, 92666 }, + { 0x4E64, 92657 }, + { 0x4E65, 95987 }, + { 0x4E66, 92671 }, + { 0x4E67, 92674 }, + { 0x4E68, 94509 }, + { 0x4E69, 92677 }, + { 0x4E6A, 92680 }, + { 0x4E6B, 92697 }, + { 0x4E6C, 92702 }, + { 0x4E6D, 92953 }, + { 0x4E6E, 92854 }, + { 0x4E6F, 93025 }, + { 0x4E70, 92859 }, + { 0x4E71, 92709 }, + { 0x4E72, 93030 }, + { 0x4E73, 92963 }, + { 0x4E74, 92719 }, + { 0x4E75, 92864 }, + { 0x4E76, 92968 }, + { 0x4E77, 92869 }, + { 0x4E78, 92874 }, + { 0x4E79, 92724 }, + { 0x4E7A, 92974 }, + { 0x4E7B, 92984 }, + { 0x4E7C, 92991 }, + { 0x4E7D, 92729 }, + { 0x4E7E, 92998 }, + { 0x4E7F, 92888 }, + { 0x4E80, 92741 }, + { 0x4E81, 92893 }, + { 0x4E82, 92751 }, + { 0x4E83, 92898 }, + { 0x4E84, 92756 }, + { 0x4E85, 92761 }, + { 0x4E86, 92766 }, + { 0x4E87, 92771 }, + { 0x4E88, 92778 }, + { 0x4E89, 92785 }, + { 0x4E8A, 92792 }, + { 0x4E8B, 92797 }, + { 0x4E8C, 92804 }, + { 0x4E8D, 92908 }, + { 0x4E8E, 92814 }, + { 0x4E8F, 92819 }, + { 0x4E90, 92824 }, + { 0x4E91, 92913 }, + { 0x4E92, 92918 }, + { 0x4E93, 92923 }, + { 0x4E94, 93003 }, + { 0x4E95, 92928 }, + { 0x4E96, 92933 }, + { 0x4E97, 93035 }, + { 0x4E98, 92938 }, + { 0x4E99, 92685 }, + { 0x4E9A, 92834 }, + { 0x4E9B, 92839 }, + { 0x4E9C, 93013 }, + { 0x4E9D, 92948 }, + { 0x4E9E, 92849 }, + { 0x4E9F, 94512 }, + { 0x4EA0, 94515 }, + { 0x4EA1, 94520 }, + { 0x4EA2, 95990 }, + { 0x4EA3, 95993 }, + { 0x4EA4, 95996 }, + { 0x4EA5, 95999 }, + { 0x4EA6, 96002 }, + { 0x4EA7, 94523 }, + { 0x4EA8, 94526 }, + { 0x4EA9, 94532 }, + { 0x4EAA, 94535 }, + { 0x4EAB, 94540 }, + { 0x4EAC, 96007 }, + { 0x4EAD, 96010 }, + { 0x4EAE, 96976 }, + { 0x4EAF, 96991 }, + { 0x4EB0, 96979 }, + { 0x4EB1, 96397 }, + { 0x4EB2, 93040 }, + { 0x4EB3, 93053 }, + { 0x4EB4, 93043 }, + { 0x4EB5, 93048 }, + { 0x4EB6, 94549 }, + { 0x4EB7, 94552 }, + { 0x4EB8, 96400 }, + { 0x4EB9, 96013 }, + { 0x4EBA, 97001 }, + { 0x4EBB, 97004 }, + { 0x4EBC, 93058 }, + { 0x4EBD, 93061 }, + { 0x4EBE, 94555 }, + { 0x4EBF, 94558 }, + { 0x4EC0, 94561 }, + { 0x4EC1, 94566 }, + { 0x4EC2, 94569 }, + { 0x4EC3, 94572 }, + { 0x4EC4, 94576 }, + { 0x4EC5, 94579 }, + { 0x4EC6, 94582 }, + { 0x4EC7, 97009 }, + { 0x4EC8, 97012 }, + { 0x4EC9, 93073 }, + { 0x4ECA, 96403 }, + { 0x4ECB, 96406 }, + { 0x4ECC, 96411 }, + { 0x4ECD, 96420 }, + { 0x4ECE, 96427 }, + { 0x4ECF, 96455 }, + { 0x4ED0, 96460 }, + { 0x4ED1, 96573 }, + { 0x4ED2, 96580 }, + { 0x4ED3, 96465 }, + { 0x4ED4, 96585 }, + { 0x4ED5, 96470 }, + { 0x4ED6, 96475 }, + { 0x4ED7, 96590 }, + { 0x4ED8, 96595 }, + { 0x4ED9, 96600 }, + { 0x4EDA, 96485 }, + { 0x4EDB, 96607 }, + { 0x4EDC, 96490 }, + { 0x4EDD, 96612 }, + { 0x4EDE, 96497 }, + { 0x4EDF, 96502 }, + { 0x4EE0, 96509 }, + { 0x4EE1, 96516 }, + { 0x4EE2, 96618 }, + { 0x4EE3, 96623 }, + { 0x4EE4, 96628 }, + { 0x4EE5, 96633 }, + { 0x4EE6, 96696 }, + { 0x4EE7, 96669 }, + { 0x4EE8, 96521 }, + { 0x4EE9, 96642 }, + { 0x4EEA, 96526 }, + { 0x4EEB, 96531 }, + { 0x4EEC, 96674 }, + { 0x4EED, 96538 }, + { 0x4EEE, 96647 }, + { 0x4EEF, 96701 }, + { 0x4EF0, 96710 }, + { 0x4EF1, 96679 }, + { 0x4EF2, 96684 }, + { 0x4EF3, 96654 }, + { 0x4EF4, 96659 }, + { 0x4EF5, 96691 }, + { 0x4EF6, 96543 }, + { 0x4EF7, 96434 }, + { 0x4EF8, 96439 }, + { 0x4EF9, 96446 }, + { 0x4EFA, 96554 }, + { 0x4EFB, 96561 }, + { 0x4EFC, 96664 }, + { 0x4EFD, 96718 }, + { 0x4EFE, 96722 }, + { 0x4EFF, 96737 }, + { 0x4F00, 96742 }, + { 0x4F01, 96725 }, + { 0x4F02, 96729 }, + { 0x4F03, 97015 }, + { 0x4F04, 94587 }, + { 0x4F05, 94590 }, + { 0x4F06, 94595 }, + { 0x4F07, 94598 }, + { 0x4F08, 94603 }, + { 0x4F09, 93076 }, + { 0x4F0A, 94610 }, + { 0x4F0B, 97018 }, + { 0x4F0C, 96016 }, + { 0x4F0D, 93079 }, + { 0x4F0E, 93082 }, + { 0x4F0F, 94613 }, + { 0x4F10, 94626 }, + { 0x4F11, 94679 }, + { 0x4F12, 94713 }, + { 0x4F13, 94725 }, + { 0x4F14, 94731 }, + { 0x4F15, 94631 }, + { 0x4F16, 94638 }, + { 0x4F17, 94737 }, + { 0x4F18, 94742 }, + { 0x4F19, 94747 }, + { 0x4F1A, 94643 }, + { 0x4F1B, 94648 }, + { 0x4F1C, 94771 }, + { 0x4F1D, 94655 }, + { 0x4F1E, 94662 }, + { 0x4F1F, 94667 }, + { 0x4F20, 94672 }, + { 0x4F21, 94754 }, + { 0x4F22, 94766 }, + { 0x4F23, 94622 }, + { 0x4F24, 94790 }, + { 0x4F25, 94795 }, + { 0x4F26, 94786 }, + { 0x4F27, 94776 }, + { 0x4F28, 94800 }, + { 0x4F29, 96749 }, + { 0x4F2A, 96752 }, + { 0x4F2B, 96761 }, + { 0x4F2C, 96757 }, + { 0x4F2D, 94803 }, + { 0x4F2E, 94806 }, + { 0x4F2F, 94809 }, + { 0x4F30, 94812 }, + { 0x4F31, 94817 }, + { 0x4F32, 93087 }, + { 0x4F33, 93094 }, + { 0x4F34, 93090 }, + { 0x4F35, 94825 }, + { 0x4F36, 94828 }, + { 0x4F37, 94831 }, + { 0x4F38, 96019 }, + { 0x4F39, 96766 }, + { 0x4F3A, 93099 }, + { 0x4F3B, 94834 }, + { 0x4F3C, 93102 }, + { 0x4F3D, 94837 }, + { 0x4F3E, 93110 }, + { 0x4F3F, 93113 }, + { 0x4F40, 94840 }, + { 0x4F41, 94843 }, + { 0x4F42, 97021 }, + { 0x4F43, 97024 }, + { 0x4F44, 96025 }, + { 0x4F45, 96056 }, + { 0x4F46, 96066 }, + { 0x4F47, 96061 }, + { 0x4F48, 96028 }, + { 0x4F49, 96033 }, + { 0x4F4A, 96071 }, + { 0x4F4B, 96769 }, + { 0x4F4C, 96776 }, + { 0x4F4D, 96781 }, + { 0x4F4E, 96788 }, + { 0x4F4F, 96772 }, + { 0x4F50, 93118 }, + { 0x4F51, 94847 }, + { 0x4F52, 96076 }, + { 0x4F53, 96085 }, + { 0x4F54, 96079 }, + { 0x4F55, 96089 }, + { 0x4F56, 96798 }, + { 0x4F57, 94856 }, + { 0x4F58, 94853 }, + { 0x4F59, 96094 }, + { 0x4F5A, 93121 }, + { 0x4F5B, 93124 }, + { 0x4F5C, 93129 }, + { 0x4F5D, 93134 }, + { 0x4F5E, 93138 }, + { 0x4F5F, 93141 }, + { 0x4F60, 94860 }, + { 0x4F61, 94863 }, + { 0x4F62, 94874 }, + { 0x4F63, 94866 }, + { 0x4F64, 97027 }, + { 0x4F65, 97042 }, + { 0x4F66, 97077 }, + { 0x4F67, 97082 }, + { 0x4F68, 97100 }, + { 0x4F69, 97057 }, + { 0x4F6A, 97065 }, + { 0x4F6B, 97110 }, + { 0x4F6C, 97122 }, + { 0x4F6D, 97127 }, + { 0x4F6E, 97135 }, + { 0x4F6F, 97142 }, + { 0x4F70, 97070 }, + { 0x4F71, 97151 }, + { 0x4F72, 96801 }, + { 0x4F73, 93146 }, + { 0x4F74, 96100 }, + { 0x4F75, 94883 }, + { 0x4F76, 94895 }, + { 0x4F77, 94924 }, + { 0x4F78, 94901 }, + { 0x4F79, 94907 }, + { 0x4F7A, 94918 }, + { 0x4F7B, 94891 }, + { 0x4F7C, 94886 }, + { 0x4F7D, 94930 }, + { 0x4F7E, 94935 }, + { 0x4F7F, 96804 }, + { 0x4F80, 96862 }, + { 0x4F81, 96807 }, + { 0x4F82, 96831 }, + { 0x4F83, 96837 }, + { 0x4F84, 96843 }, + { 0x4F85, 96850 }, + { 0x4F86, 96813 }, + { 0x4F87, 96819 }, + { 0x4F88, 96856 }, + { 0x4F89, 96825 }, + { 0x4F8A, 96868 }, + { 0x4F8B, 96874 }, + { 0x4F8C, 93149 }, + { 0x4F8D, 94943 }, + { 0x4F8E, 94946 }, + { 0x4F8F, 94949 }, + { 0x4F90, 96881 }, + { 0x4F91, 93152 }, + { 0x4F92, 93155 }, + { 0x4F93, 93175 }, + { 0x4F94, 93180 }, + { 0x4F95, 93185 }, + { 0x4F96, 93160 }, + { 0x4F97, 93165 }, + { 0x4F98, 93190 }, + { 0x4F99, 93170 }, + { 0x4F9A, 93195 }, + { 0x4F9B, 93200 }, + { 0x4F9C, 96888 }, + { 0x4F9D, 96901 }, + { 0x4F9E, 96891 }, + { 0x4F9F, 96896 }, + { 0x4FA0, 96906 }, + { 0x4FA1, 93205 }, + { 0x4FA2, 94952 }, + { 0x4FA3, 93208 }, + { 0x4FA4, 93211 }, + { 0x4FA5, 93214 }, + { 0x4FA6, 95081 }, + { 0x4FA7, 94955 }, + { 0x4FA8, 94973 }, + { 0x4FA9, 94978 }, + { 0x4FAA, 95018 }, + { 0x4FAB, 94988 }, + { 0x4FAC, 95029 }, + { 0x4FAD, 95034 }, + { 0x4FAE, 95039 }, + { 0x4FAF, 94993 }, + { 0x4FB0, 95044 }, + { 0x4FB1, 95049 }, + { 0x4FB2, 95071 }, + { 0x4FB3, 95061 }, + { 0x4FB4, 94998 }, + { 0x4FB5, 95003 }, + { 0x4FB6, 95008 }, + { 0x4FB7, 95013 }, + { 0x4FB8, 95066 }, + { 0x4FB9, 94968 }, + { 0x4FBA, 94958 }, + { 0x4FBB, 95085 }, + { 0x4FBC, 95088 }, + { 0x4FBD, 97181 }, + { 0x4FBE, 95094 }, + { 0x4FBF, 95097 }, + { 0x4FC0, 96124 }, + { 0x4FC1, 96127 }, + { 0x4FC2, 96149 }, + { 0x4FC3, 96159 }, + { 0x4FC4, 96144 }, + { 0x4FC5, 96164 }, + { 0x4FC6, 96154 }, + { 0x4FC7, 96132 }, + { 0x4FC8, 96137 }, + { 0x4FC9, 96169 }, + { 0x4FCA, 96911 }, + { 0x4FCB, 96914 }, + { 0x4FCC, 95100 }, + { 0x4FCD, 95103 }, + { 0x4FCE, 95112 }, + { 0x4FCF, 95123 }, + { 0x4FD0, 96917 }, + { 0x4FD1, 96176 }, + { 0x4FD2, 96920 }, + { 0x4FD3, 97184 }, + { 0x4FD4, 97486 }, + { 0x4FD5, 96179 }, + { 0x4FD6, 96182 }, + { 0x4FD7, 96187 }, + { 0x4FD8, 96192 }, + { 0x4FD9, 96195 }, + { 0x4FDA, 96200 }, + { 0x4FDB, 96241 }, + { 0x4FDC, 96205 }, + { 0x4FDD, 96210 }, + { 0x4FDE, 96215 }, + { 0x4FDF, 96220 }, + { 0x4FE0, 96246 }, + { 0x4FE1, 96226 }, + { 0x4FE2, 96231 }, + { 0x4FE3, 96236 }, + { 0x4FE4, 97187 }, + { 0x4FE5, 96251 }, + { 0x4FE6, 96262 }, + { 0x4FE7, 96254 }, + { 0x4FE8, 96923 }, + { 0x4FE9, 95149 }, + { 0x4FEA, 95152 }, + { 0x4FEB, 96266 }, + { 0x4FEC, 97190 }, + { 0x4FED, 93217 }, + { 0x4FEE, 93220 }, + { 0x4FEF, 95158 }, + { 0x4FF0, 96283 }, + { 0x4FF1, 96286 }, + { 0x4FF2, 96292 }, + { 0x4FF3, 96926 }, + { 0x4FF4, 93229 }, + { 0x4FF5, 93232 }, + { 0x4FF6, 95161 }, + { 0x4FF7, 96295 }, + { 0x4FF8, 96929 }, + { 0x4FF9, 95164 }, + { 0x4FFA, 97193 }, + { 0x4FFB, 95167 }, + { 0x4FFC, 96298 }, + { 0x4FFD, 93237 }, + { 0x4FFE, 93254 }, + { 0x4FFF, 93244 }, + { 0x5000, 93249 }, + { 0x5001, 93240 }, + { 0x5002, 95170 }, + { 0x5003, 95173 }, + { 0x5004, 95184 }, + { 0x5005, 95188 }, + { 0x5006, 95191 }, + { 0x5007, 95201 }, + { 0x5008, 95206 }, + { 0x5009, 95211 }, + { 0x500A, 95216 }, + { 0x500B, 95196 }, + { 0x500C, 96301 }, + { 0x500D, 95221 }, + { 0x500E, 93258 }, + { 0x500F, 93261 }, + { 0x5010, 93265 }, + { 0x5011, 93268 }, + { 0x5012, 95227 }, + { 0x5013, 95230 }, + { 0x5014, 95249 }, + { 0x5015, 95233 }, + { 0x5016, 95238 }, + { 0x5017, 93272 }, + { 0x5018, 96309 }, + { 0x5019, 95254 }, + { 0x501A, 95257 }, + { 0x501B, 95272 }, + { 0x501C, 95275 }, + { 0x501D, 92144 }, + { 0x501E, 92156 }, + { 0x501F, 92151 }, + { 0x5020, 92170 }, + { 0x5021, 92181 }, + { 0x5022, 92160 }, + { 0x5023, 93275 }, + { 0x5024, 93278 }, + { 0x5025, 93281 }, + { 0x5026, 93317 }, + { 0x5027, 93312 }, + { 0x5028, 93307 }, + { 0x5029, 93288 }, + { 0x502A, 93297 }, + { 0x502B, 93284 }, + { 0x502C, 93321 }, + { 0x502D, 93325 }, + { 0x502E, 96312 }, + { 0x502F, 93331 }, + { 0x5030, 93356 }, + { 0x5031, 93344 }, + { 0x5032, 93351 }, + { 0x5033, 93334 }, + { 0x5034, 96932 }, + { 0x5035, 96315 }, + { 0x5036, 96323 }, + { 0x5037, 96318 }, + { 0x5038, 93361 }, + { 0x5039, 93364 }, + { 0x503A, 93368 }, + { 0x503B, 93375 }, + { 0x503C, 93371 }, + { 0x503D, 95283 }, + { 0x503E, 95286 }, + { 0x503F, 95293 }, + { 0x5040, 95300 }, + { 0x5041, 95305 }, + { 0x5042, 95334 }, + { 0x5043, 95310 }, + { 0x5044, 95322 }, + { 0x5045, 95315 }, + { 0x5046, 95343 }, + { 0x5047, 95346 }, + { 0x5048, 96328 }, + { 0x5049, 95349 }, + { 0x504A, 95352 }, + { 0x504B, 95475 }, + { 0x504C, 95404 }, + { 0x504D, 95409 }, + { 0x504E, 95364 }, + { 0x504F, 95414 }, + { 0x5050, 95454 }, + { 0x5051, 95419 }, + { 0x5052, 95369 }, + { 0x5053, 95374 }, + { 0x5054, 95424 }, + { 0x5055, 95379 }, + { 0x5056, 95429 }, + { 0x5057, 95384 }, + { 0x5058, 95439 }, + { 0x5059, 95444 }, + { 0x505A, 95389 }, + { 0x505B, 95449 }, + { 0x505C, 95460 }, + { 0x505D, 95394 }, + { 0x505E, 95357 }, + { 0x505F, 95399 }, + { 0x5060, 95470 }, + { 0x5061, 96935 }, + { 0x5062, 96938 }, + { 0x5063, 95485 }, + { 0x5064, 95488 }, + { 0x5065, 95493 }, + { 0x5066, 95498 }, + { 0x5067, 95503 }, + { 0x5068, 96334 }, + { 0x5069, 96331 }, + { 0x506A, 97196 }, + { 0x506B, 96943 }, + { 0x506C, 95508 }, + { 0x506D, 95511 }, + { 0x506E, 95516 }, + { 0x506F, 93380 }, + { 0x5070, 93383 }, + { 0x5071, 93387 }, + { 0x5072, 95522 }, + { 0x5073, 96337 }, + { 0x5074, 95525 }, + { 0x5075, 93393 }, + { 0x5076, 93396 }, + { 0x5077, 95528 }, + { 0x5078, 95531 }, + { 0x5079, 95534 }, + { 0x507A, 95539 }, + { 0x507B, 96340 }, + { 0x507C, 93401 }, + { 0x507D, 95542 }, + { 0x507E, 95545 }, + { 0x507F, 96946 }, + { 0x5080, 95557 }, + { 0x5081, 94545 }, + { 0x5082, 92224 }, + { 0x5083, 93414 }, + { 0x5084, 95566 }, + { 0x5085, 93617 }, + { 0x5086, 95596 }, + { 0x5087, 95610 }, + { 0x5088, 93723 }, + { 0x5089, 95728 }, + { 0x508A, 95751 }, + { 0x508B, 93934 }, + { 0x508C, 94272 }, + { 0x508D, 95863 }, + { 0x508E, 94394 }, + { 0x508F, 95969 }, + { 0x5090, 93020 }, + { 0x5091, 92958 }, + { 0x5092, 92979 }, + { 0x5093, 92883 }, + { 0x5094, 92734 }, + { 0x5095, 92903 }, + { 0x5096, 92809 }, + { 0x5097, 93008 }, + { 0x5098, 92829 }, + { 0x5099, 92943 }, + { 0x509A, 96480 }, + { 0x509B, 94780 }, + { 0x509C, 94718 }, + { 0x509D, 94703 }, + { 0x509E, 96022 }, + { 0x509F, 96793 }, + { 0x50A0, 94850 }, + { 0x50A1, 94880 }, + { 0x50A2, 96097 }, + { 0x50A3, 97089 }, + { 0x50A4, 97047 }, + { 0x50A5, 96115 }, + { 0x50A6, 96884 }, + { 0x50A7, 96121 }, + { 0x50A8, 95023 }, + { 0x50A9, 95224 }, + { 0x50AA, 93339 }, + { 0x50AB, 92147 }, + { 0x50AC, 97616 }, + { 0x50AD, 98020 }, + { 0x50AE, 97759 }, + { 0x50AF, 97688 }, + { 0x50B0, 97583 }, + { 0x50B1, 97961 }, + { 0x50B2, 97915 }, + { 0x50B3, 97854 }, + { 0x50B4, 98048 }, + { 0x50B5, 97787 }, + { 0x50B6, 97716 }, + { 0x50B7, 97594 }, + { 0x50B8, 97966 }, + { 0x50B9, 97920 }, + { 0x50BA, 97859 }, + { 0x50BB, 97747 }, + { 0x50BC, 97676 }, + { 0x50BD, 97571 }, + { 0x50BE, 97949 }, + { 0x50BF, 97903 }, + { 0x50C0, 97842 }, + { 0x50C1, 97524 }, + { 0x50C2, 97642 }, + { 0x50C3, 98053 }, + { 0x50C4, 97792 }, + { 0x50C5, 97721 }, + { 0x50C6, 97599 }, + { 0x50C7, 97971 }, + { 0x50C8, 97925 }, + { 0x50C9, 97864 }, + { 0x50CA, 97529 }, + { 0x50CB, 97647 }, + { 0x50CC, 98058 }, + { 0x50CD, 97797 }, + { 0x50CE, 97726 }, + { 0x50CF, 97652 }, + { 0x50D0, 98063 }, + { 0x50D1, 98068 }, + { 0x50D2, 97802 }, + { 0x50D3, 97731 }, + { 0x50D4, 97604 }, + { 0x50D5, 97976 }, + { 0x50D6, 97930 }, + { 0x50D7, 97869 }, + { 0x50D8, 97534 }, + { 0x50D9, 97657 }, + { 0x50DA, 98075 }, + { 0x50DB, 98080 }, + { 0x50DC, 97807 }, + { 0x50DD, 97736 }, + { 0x50DE, 98012 }, + { 0x50DF, 98004 }, + { 0x50E0, 97508 }, + { 0x50E1, 97632 }, + { 0x50E2, 98036 }, + { 0x50E3, 98041 }, + { 0x50E4, 97782 }, + { 0x50E5, 97711 }, + { 0x50E6, 98087 }, + { 0x50E7, 98094 }, + { 0x50E8, 97812 }, + { 0x50E9, 97835 }, + { 0x50EA, 97819 }, + { 0x50EB, 97827 }, + { 0x50EC, 97609 }, + { 0x50ED, 97997 }, + { 0x50EE, 97981 }, + { 0x50EF, 97989 }, + { 0x50F0, 97935 }, + { 0x50F1, 97942 }, + { 0x50F2, 97874 }, + { 0x50F3, 97889 }, + { 0x50F4, 97896 }, + { 0x50F5, 97881 }, + { 0x50F6, 97621 }, + { 0x50F7, 98025 }, + { 0x50F8, 97764 }, + { 0x50F9, 97693 }, + { 0x50FA, 97588 }, + { 0x50FB, 97503 }, + { 0x50FC, 97627 }, + { 0x50FD, 98031 }, + { 0x50FE, 97770 }, + { 0x50FF, 97775 }, + { 0x5100, 97699 }, + { 0x5101, 97704 }, + { 0x5102, 98127 }, + { 0x5103, 98123 }, + { 0x5104, 97519 }, + { 0x5105, 97637 }, + { 0x5106, 97539 }, + { 0x5107, 97662 }, + { 0x5108, 97741 }, + { 0x5109, 97545 }, + { 0x510A, 97668 }, + { 0x510B, 97553 }, + { 0x510C, 97559 }, + { 0x510D, 97489 }, + { 0x510E, 97496 }, + { 0x510F, 97565 }, + { 0x5110, 97513 }, + { 0x5111, 98101 }, + { 0x5112, 98107 }, + { 0x5113, 98118 }, + { 0x5114, 98113 }, + { 0x5115, 97752 }, + { 0x5116, 97681 }, + { 0x5117, 97576 }, + { 0x5118, 97954 }, + { 0x5119, 97908 }, + { 0x511A, 97847 }, + { 0x511B, 98131 }, + { 0x511C, 98153 }, + { 0x511D, 98138 }, + { 0x511E, 98143 }, + { 0x511F, 98148 }, + { 0x5120, 92229 }, + { 0x5121, 92257 }, + { 0x5122, 92275 }, + { 0x5123, 93495 }, + { 0x5124, 96965 }, + { 0x5125, 96955 }, + { 0x5126, 96960 }, + { 0x5127, 92403 }, + { 0x5128, 92418 }, + { 0x5129, 93518 }, + { 0x512A, 93700 }, + { 0x512B, 93693 }, + { 0x512C, 95602 }, + { 0x512D, 93855 }, + { 0x512E, 93777 }, + { 0x512F, 93782 }, + { 0x5130, 93789 }, + { 0x5131, 93794 }, + { 0x5132, 93860 }, + { 0x5133, 93736 }, + { 0x5134, 93741 }, + { 0x5135, 93839 }, + { 0x5136, 93845 }, + { 0x5137, 93746 }, + { 0x5138, 93751 }, + { 0x5139, 93799 }, + { 0x513A, 93865 }, + { 0x513B, 93805 }, + { 0x513C, 93870 }, + { 0x513D, 93875 }, + { 0x513E, 93882 }, + { 0x513F, 93810 }, + { 0x5140, 93815 }, + { 0x5141, 93822 }, + { 0x5142, 93850 }, + { 0x5143, 93829 }, + { 0x5144, 93756 }, + { 0x5145, 93761 }, + { 0x5146, 93766 }, + { 0x5147, 93834 }, + { 0x5148, 93771 }, + { 0x5149, 92469 }, + { 0x514A, 92474 }, + { 0x514B, 96381 }, + { 0x514C, 95648 }, + { 0x514D, 95804 }, + { 0x514E, 95780 }, + { 0x514F, 95810 }, + { 0x5150, 95786 }, + { 0x5151, 95817 }, + { 0x5152, 95792 }, + { 0x5153, 95823 }, + { 0x5154, 95798 }, + { 0x5155, 95708 }, + { 0x5156, 94332 }, + { 0x5157, 94101 }, + { 0x5158, 94119 }, + { 0x5159, 94127 }, + { 0x515A, 94284 }, + { 0x515B, 93978 }, + { 0x515C, 94139 }, + { 0x515D, 94146 }, + { 0x515E, 93988 }, + { 0x515F, 94342 }, + { 0x5160, 94216 }, + { 0x5161, 94221 }, + { 0x5162, 94228 }, + { 0x5163, 94307 }, + { 0x5164, 94028 }, + { 0x5165, 94033 }, + { 0x5166, 94040 }, + { 0x5167, 94317 }, + { 0x5168, 94327 }, + { 0x5169, 95832 }, + { 0x516A, 97202 }, + { 0x516B, 95918 }, + { 0x516C, 94404 }, + { 0x516D, 94444 }, + { 0x516E, 92569 }, + { 0x516F, 92587 }, + { 0x5170, 92714 }, + { 0x5171, 92746 }, + { 0x5172, 92690 }, + { 0x5173, 92844 }, + { 0x5174, 96566 }, + { 0x5175, 97212 }, + { 0x5176, 97215 }, + { 0x5177, 97218 }, + { 0x5178, 97221 }, + { 0x5179, 97224 }, + { 0x517A, 97227 }, + { 0x517B, 97230 }, + { 0x517C, 97233 }, + { 0x517D, 97239 }, + { 0x517E, 97242 }, + { 0x517F, 97247 }, + { 0x5180, 97250 }, + { 0x5181, 97253 }, + { 0x5182, 97256 }, + { 0x5183, 97259 }, + { 0x5184, 97262 }, + { 0x5185, 97265 }, + { 0x5186, 97268 }, + { 0x5187, 97271 }, + { 0x5188, 97274 }, + { 0x5189, 97277 }, + { 0x518A, 97280 }, + { 0x518B, 97283 }, + { 0x518C, 97286 }, + { 0x518D, 97289 }, + { 0x518E, 97292 }, + { 0x518F, 97295 }, + { 0x5190, 97298 }, + { 0x5191, 97301 }, + { 0x5192, 97304 }, + { 0x5193, 97316 }, + { 0x5194, 97321 }, + { 0x5195, 97328 }, + { 0x5196, 97309 }, + { 0x5197, 97337 }, + { 0x5198, 97340 }, + { 0x5199, 97343 }, + { 0x519A, 97346 }, + { 0x519B, 97349 }, + { 0x519C, 97352 }, + { 0x519D, 97355 }, + { 0x519E, 97358 }, + { 0x519F, 97361 }, + { 0x51A0, 97364 }, + { 0x51A1, 97367 }, + { 0x51A2, 97390 }, + { 0x51A3, 97395 }, + { 0x51A4, 97410 }, + { 0x51A5, 97400 }, + { 0x51A6, 97370 }, + { 0x51A7, 97405 }, + { 0x51A8, 97375 }, + { 0x51A9, 97380 }, + { 0x51AA, 97385 }, + { 0x51AB, 97417 }, + { 0x51AC, 97422 }, + { 0x51AD, 97425 }, + { 0x51AE, 97443 }, + { 0x51AF, 97428 }, + { 0x51B0, 97448 }, + { 0x51B1, 97453 }, + { 0x51B2, 97433 }, + { 0x51B3, 97459 }, + { 0x51B4, 97468 }, + { 0x51B5, 97438 }, + { 0x51B6, 97475 }, + { 0x51B7, 97480 }, + { 0x51B8, 97483 }, + { 0x51B9, 94616 }, + { 0x51BA, 94708 }, + { 0x51BB, 94684 }, + { 0x51BC, 94689 }, + { 0x51BD, 94694 }, + { 0x51BE, 94761 }, + { 0x51BF, 93105 }, + { 0x51C0, 96042 }, + { 0x51C1, 96049 }, + { 0x51C2, 97094 }, + { 0x51C3, 97156 }, + { 0x51C4, 97105 }, + { 0x51C5, 97052 }, + { 0x51C6, 97166 }, + { 0x51C7, 97176 }, + { 0x51C8, 97161 }, + { 0x51C9, 97115 }, + { 0x51CA, 97030 }, + { 0x51CB, 97035 }, + { 0x51CC, 97171 }, + { 0x51CD, 94962 }, + { 0x51CE, 94983 }, + { 0x51CF, 95054 }, + { 0x51D0, 95076 }, + { 0x51D1, 96172 }, + { 0x51D2, 95107 }, + { 0x51D3, 95139 }, + { 0x51D4, 95144 }, + { 0x51D5, 95134 }, + { 0x51D6, 96276 }, + { 0x51D7, 96269 }, + { 0x51D8, 93224 }, + { 0x51D9, 96304 }, + { 0x51DA, 95260 }, + { 0x51DB, 95266 }, + { 0x51DC, 95339 }, + { 0x51DD, 95329 }, + { 0x51DE, 95465 }, + { 0x51DF, 95480 }, + { 0x51E0, 95434 }, + { 0x51E1, 95519 }, + { 0x51E2, 93404 }, + { 0x51E3, 95550 }, + { 0x51E4, 75806 }, + { 0x51E5, 75809 }, + { 0x51E6, 75812 }, + { 0x51E7, 75815 }, + { 0x51E8, 75818 }, + { 0x51E9, 78080 }, + { 0x51EA, 75821 }, + { 0x51EB, 78083 }, + { 0x51EC, 78086 }, + { 0x51ED, 75824 }, + { 0x51EE, 75827 }, + { 0x51EF, 75830 }, + { 0x51F0, 75833 }, + { 0x51F1, 75836 }, + { 0x51F2, 75839 }, + { 0x51F3, 75842 }, + { 0x51F4, 75845 }, + { 0x51F5, 78089 }, + { 0x51F6, 75848 }, + { 0x51F7, 75851 }, + { 0x51F8, 75854 }, + { 0x51F9, 78092 }, + { 0x51FA, 75857 }, + { 0x51FB, 75860 }, + { 0x51FC, 75863 }, + { 0x51FD, 75866 }, + { 0x51FE, 75869 }, + { 0x51FF, 75872 }, + { 0x5200, 75875 }, + { 0x5201, 75878 }, + { 0x5202, 75881 }, + { 0x5203, 75884 }, + { 0x5204, 75887 }, + { 0x5205, 75890 }, + { 0x5206, 75893 }, + { 0x5207, 75896 }, + { 0x5208, 75899 }, + { 0x5209, 78095 }, + { 0x520A, 75902 }, + { 0x520B, 75905 }, + { 0x520C, 75908 }, + { 0x520D, 75911 }, + { 0x520E, 75914 }, + { 0x520F, 75917 }, + { 0x5210, 75920 }, + { 0x5211, 75923 }, + { 0x5212, 78098 }, + { 0x5213, 75926 }, + { 0x5214, 75929 }, + { 0x5215, 78101 }, + { 0x5216, 75932 }, + { 0x5217, 78104 }, + { 0x5218, 75935 }, + { 0x5219, 75938 }, + { 0x521A, 78107 }, + { 0x521B, 75941 }, + { 0x521C, 75944 }, + { 0x521D, 75947 }, + { 0x521E, 75950 }, + { 0x521F, 75953 }, + { 0x5220, 75956 }, + { 0x5221, 75959 }, + { 0x5222, 75962 }, + { 0x5223, 75965 }, + { 0x5224, 75968 }, + { 0x5225, 75971 }, + { 0x5226, 75974 }, + { 0x5227, 75977 }, + { 0x5228, 75980 }, + { 0x5229, 75983 }, + { 0x522A, 75986 }, + { 0x522B, 75989 }, + { 0x522C, 75992 }, + { 0x522D, 75995 }, + { 0x522E, 75998 }, + { 0x522F, 76001 }, + { 0x5230, 76004 }, + { 0x5231, 76007 }, + { 0x5232, 76010 }, + { 0x5233, 76013 }, + { 0x5234, 76016 }, + { 0x5235, 76019 }, + { 0x5236, 76022 }, + { 0x5237, 76025 }, + { 0x5238, 76028 }, + { 0x5239, 78206 }, + { 0x523A, 76031 }, + { 0x523B, 76034 }, + { 0x523C, 76037 }, + { 0x523D, 76040 }, + { 0x523E, 76043 }, + { 0x523F, 76046 }, + { 0x5240, 78209 }, + { 0x5241, 78212 }, + { 0x5242, 78215 }, + { 0x5243, 76049 }, + { 0x5244, 76052 }, + { 0x5245, 76055 }, + { 0x5246, 76058 }, + { 0x5247, 76061 }, + { 0x5248, 76064 }, + { 0x5249, 76067 }, + { 0x524A, 76070 }, + { 0x524B, 78218 }, + { 0x524C, 76073 }, + { 0x524D, 76076 }, + { 0x524E, 76079 }, + { 0x524F, 76082 }, + { 0x5250, 76085 }, + { 0x5251, 76088 }, + { 0x5252, 76091 }, + { 0x5253, 76094 }, + { 0x5254, 76097 }, + { 0x5255, 76100 }, + { 0x5256, 76103 }, + { 0x5257, 76106 }, + { 0x5258, 76109 }, + { 0x5259, 76112 }, + { 0x525A, 76115 }, + { 0x525B, 76118 }, + { 0x525C, 76121 }, + { 0x525D, 76124 }, + { 0x525E, 76127 }, + { 0x525F, 76130 }, + { 0x5260, 76133 }, + { 0x5261, 76136 }, + { 0x5262, 78221 }, + { 0x5263, 76139 }, + { 0x5264, 76142 }, + { 0x5265, 76145 }, + { 0x5266, 76148 }, + { 0x5267, 76151 }, + { 0x5268, 76154 }, + { 0x5269, 76157 }, + { 0x526A, 76160 }, + { 0x526B, 76163 }, + { 0x526C, 76166 }, + { 0x526D, 76169 }, + { 0x526E, 76172 }, + { 0x526F, 76175 }, + { 0x5270, 76178 }, + { 0x5271, 76181 }, + { 0x5272, 76184 }, + { 0x5273, 76187 }, + { 0x5274, 76190 }, + { 0x5275, 76193 }, + { 0x5276, 78224 }, + { 0x5277, 76196 }, + { 0x5278, 76199 }, + { 0x5279, 76202 }, + { 0x527A, 76205 }, + { 0x527B, 78227 }, + { 0x527C, 76208 }, + { 0x527D, 76211 }, + { 0x527E, 76214 }, + { 0x527F, 78230 }, + { 0x5280, 76217 }, + { 0x5281, 76220 }, + { 0x5282, 76223 }, + { 0x5283, 76226 }, + { 0x5284, 76229 }, + { 0x5285, 76232 }, + { 0x5286, 76235 }, + { 0x5287, 76238 }, + { 0x5288, 76241 }, + { 0x5289, 76244 }, + { 0x528A, 76247 }, + { 0x528B, 76250 }, + { 0x528C, 78233 }, + { 0x528D, 76253 }, + { 0x528E, 76256 }, + { 0x528F, 78236 }, + { 0x5290, 76259 }, + { 0x5291, 76262 }, + { 0x5292, 78239 }, + { 0x5293, 78242 }, + { 0x5294, 78245 }, + { 0x5295, 78248 }, + { 0x5296, 78251 }, + { 0x5297, 78254 }, + { 0x5298, 78257 }, + { 0x5299, 78260 }, + { 0x529A, 78263 }, + { 0x529B, 76265 }, + { 0x529C, 76268 }, + { 0x529D, 78266 }, + { 0x529E, 76271 }, + { 0x529F, 76274 }, + { 0x52A0, 78269 }, + { 0x52A1, 76277 }, + { 0x52A2, 76280 }, + { 0x52A3, 76283 }, + { 0x52A4, 76286 }, + { 0x52A5, 76289 }, + { 0x52A6, 76292 }, + { 0x52A7, 76295 }, + { 0x52A8, 76298 }, + { 0x52A9, 76301 }, + { 0x52AA, 76304 }, + { 0x52AB, 76307 }, + { 0x52AC, 76310 }, + { 0x52AD, 76313 }, + { 0x52AE, 78272 }, + { 0x52AF, 78275 }, + { 0x52B0, 78278 }, + { 0x52B1, 78281 }, + { 0x52B2, 78284 }, + { 0x52B3, 78287 }, + { 0x52B4, 78290 }, + { 0x52B5, 78293 }, + { 0x52B6, 76316 }, + { 0x52B7, 76319 }, + { 0x52B8, 76322 }, + { 0x52B9, 76325 }, + { 0x52BA, 76328 }, + { 0x52BB, 76331 }, + { 0x52BC, 76334 }, + { 0x52BD, 76337 }, + { 0x52BE, 78296 }, + { 0x52BF, 76340 }, + { 0x52C0, 78299 }, + { 0x52C1, 76343 }, + { 0x52C2, 76346 }, + { 0x52C3, 76349 }, + { 0x52C4, 76352 }, + { 0x52C5, 76355 }, + { 0x52C6, 76358 }, + { 0x52C7, 76361 }, + { 0x52C8, 78302 }, + { 0x52C9, 76364 }, + { 0x52CA, 78305 }, + { 0x52CB, 76367 }, + { 0x52CC, 76370 }, + { 0x52CD, 76373 }, + { 0x52CE, 78308 }, + { 0x52CF, 76376 }, + { 0x52D0, 76379 }, + { 0x52D1, 76382 }, + { 0x52D2, 76385 }, + { 0x52D3, 76388 }, + { 0x52D4, 76391 }, + { 0x52D5, 76394 }, + { 0x52D6, 76397 }, + { 0x52D7, 78311 }, + { 0x52D8, 76400 }, + { 0x52D9, 76403 }, + { 0x52DA, 76406 }, + { 0x52DB, 76409 }, + { 0x52DC, 76412 }, + { 0x52DD, 76415 }, + { 0x52DE, 78314 }, + { 0x52DF, 76418 }, + { 0x52E0, 76421 }, + { 0x52E1, 76424 }, + { 0x52E2, 76427 }, + { 0x52E3, 78317 }, + { 0x52E4, 76430 }, + { 0x52E5, 76433 }, + { 0x52E6, 76436 }, + { 0x52E7, 76439 }, + { 0x52E8, 76442 }, + { 0x52E9, 76445 }, + { 0x52EA, 76448 }, + { 0x52EB, 76451 }, + { 0x52EC, 76454 }, + { 0x52ED, 76457 }, + { 0x52EE, 76460 }, + { 0x52EF, 76463 }, + { 0x52F0, 78320 }, + { 0x52F1, 76466 }, + { 0x52F2, 76469 }, + { 0x52F3, 76472 }, + { 0x52F4, 76475 }, + { 0x52F5, 76478 }, + { 0x52F6, 76481 }, + { 0x52F7, 76484 }, + { 0x52F8, 76487 }, + { 0x52F9, 78323 }, + { 0x52FA, 76490 }, + { 0x52FB, 76493 }, + { 0x52FC, 76496 }, + { 0x52FD, 76499 }, + { 0x52FE, 76502 }, + { 0x52FF, 76505 }, + { 0x5300, 76508 }, + { 0x5301, 76511 }, + { 0x5302, 76514 }, + { 0x5303, 76517 }, + { 0x5304, 78326 }, + { 0x5305, 76520 }, + { 0x5306, 76523 }, + { 0x5307, 76526 }, + { 0x5308, 76529 }, + { 0x5309, 76532 }, + { 0x530A, 76535 }, + { 0x530B, 78329 }, + { 0x530C, 76538 }, + { 0x530D, 78332 }, + { 0x530E, 76541 }, + { 0x530F, 76544 }, + { 0x5310, 76547 }, + { 0x5311, 76550 }, + { 0x5312, 76553 }, + { 0x5313, 76556 }, + { 0x5314, 76559 }, + { 0x5315, 78335 }, + { 0x5316, 76562 }, + { 0x5317, 78338 }, + { 0x5318, 76565 }, + { 0x5319, 78341 }, + { 0x531A, 76568 }, + { 0x531B, 76571 }, + { 0x531C, 76574 }, + { 0x531D, 76577 }, + { 0x531E, 78344 }, + { 0x531F, 78347 }, + { 0x5320, 78350 }, + { 0x5321, 76580 }, + { 0x5322, 76583 }, + { 0x5323, 76586 }, + { 0x5324, 76589 }, + { 0x5325, 76592 }, + { 0x5326, 76595 }, + { 0x5327, 76598 }, + { 0x5328, 76601 }, + { 0x5329, 78353 }, + { 0x532A, 76604 }, + { 0x532B, 78356 }, + { 0x532C, 78359 }, + { 0x532D, 76607 }, + { 0x532E, 76610 }, + { 0x532F, 76613 }, + { 0x5330, 76616 }, + { 0x5331, 78362 }, + { 0x5332, 76619 }, + { 0x5333, 76622 }, + { 0x5334, 76625 }, + { 0x5335, 76628 }, + { 0x5336, 76631 }, + { 0x5337, 76634 }, + { 0x5338, 76637 }, + { 0x5339, 76640 }, + { 0x533A, 76643 }, + { 0x533B, 78365 }, + { 0x533C, 76646 }, + { 0x533D, 76649 }, + { 0x533E, 76652 }, + { 0x533F, 76655 }, + { 0x5340, 76658 }, + { 0x5341, 76661 }, + { 0x5342, 78368 }, + { 0x5343, 76664 }, + { 0x5344, 76667 }, + { 0x5345, 76670 }, + { 0x5346, 76673 }, + { 0x5347, 76676 }, + { 0x5348, 76679 }, + { 0x5349, 76682 }, + { 0x534A, 76685 }, + { 0x534B, 76688 }, + { 0x534C, 76691 }, + { 0x534D, 78371 }, + { 0x534E, 76694 }, + { 0x534F, 78374 }, + { 0x5350, 76697 }, + { 0x5351, 76700 }, + { 0x5352, 76703 }, + { 0x5353, 76706 }, + { 0x5354, 76709 }, + { 0x5355, 76712 }, + { 0x5356, 78377 }, + { 0x5357, 76715 }, + { 0x5358, 76718 }, + { 0x5359, 78380 }, + { 0x535A, 76721 }, + { 0x535B, 76724 }, + { 0x535C, 76727 }, + { 0x535D, 76730 }, + { 0x535E, 76733 }, + { 0x535F, 76736 }, + { 0x5360, 76739 }, + { 0x5361, 76742 }, + { 0x5362, 76745 }, + { 0x5363, 76748 }, + { 0x5364, 76751 }, + { 0x5365, 76754 }, + { 0x5366, 76757 }, + { 0x5367, 76760 }, + { 0x5368, 76763 }, + { 0x5369, 78383 }, + { 0x536A, 76766 }, + { 0x536B, 76769 }, + { 0x536C, 76772 }, + { 0x536D, 76775 }, + { 0x536E, 76778 }, + { 0x536F, 76781 }, + { 0x5370, 76784 }, + { 0x5371, 78386 }, + { 0x5372, 76787 }, + { 0x5373, 76790 }, + { 0x5374, 76793 }, + { 0x5375, 76796 }, + { 0x5376, 78389 }, + { 0x5377, 76799 }, + { 0x5378, 78392 }, + { 0x5379, 76802 }, + { 0x537A, 78395 }, + { 0x537B, 76805 }, + { 0x537C, 76808 }, + { 0x537D, 76811 }, + { 0x537E, 76814 }, + { 0x537F, 76817 }, + { 0x5380, 76820 }, + { 0x5381, 76823 }, + { 0x5382, 76826 }, + { 0x5383, 76829 }, + { 0x5384, 76832 }, + { 0x5385, 76835 }, + { 0x5386, 76838 }, + { 0x5387, 76841 }, + { 0x5388, 76844 }, + { 0x5389, 78398 }, + { 0x538A, 76847 }, + { 0x538B, 76850 }, + { 0x538C, 76853 }, + { 0x538D, 76856 }, + { 0x538E, 78401 }, + { 0x538F, 76859 }, + { 0x5390, 76862 }, + { 0x5391, 76865 }, + { 0x5392, 78404 }, + { 0x5393, 78407 }, + { 0x5394, 76868 }, + { 0x5395, 76871 }, + { 0x5396, 78410 }, + { 0x5397, 76874 }, + { 0x5398, 76877 }, + { 0x5399, 76880 }, + { 0x539A, 76883 }, + { 0x539B, 76886 }, + { 0x539C, 76889 }, + { 0x539D, 76892 }, + { 0x539E, 78413 }, + { 0x539F, 76895 }, + { 0x53A0, 76898 }, + { 0x53A1, 78416 }, + { 0x53A2, 78419 }, + { 0x53A3, 78422 }, + { 0x53A4, 78425 }, + { 0x53A5, 78428 }, + { 0x53A6, 78431 }, + { 0x53A7, 78434 }, + { 0x53A8, 78437 }, + { 0x53A9, 76901 }, + { 0x53AA, 76904 }, + { 0x53AB, 76907 }, + { 0x53AC, 78440 }, + { 0x53AD, 76910 }, + { 0x53AE, 78443 }, + { 0x53AF, 76913 }, + { 0x53B0, 78446 }, + { 0x53B1, 76916 }, + { 0x53B2, 76919 }, + { 0x53B3, 76922 }, + { 0x53B4, 76925 }, + { 0x53B5, 76928 }, + { 0x53B6, 78449 }, + { 0x53B7, 76931 }, + { 0x53B8, 76934 }, + { 0x53B9, 78452 }, + { 0x53BA, 76937 }, + { 0x53BB, 76940 }, + { 0x53BC, 76943 }, + { 0x53BD, 76946 }, + { 0x53BE, 78455 }, + { 0x53BF, 76949 }, + { 0x53C0, 76952 }, + { 0x53C1, 76955 }, + { 0x53C2, 78458 }, + { 0x53C3, 76958 }, + { 0x53C4, 76961 }, + { 0x53C5, 78461 }, + { 0x53C6, 78464 }, + { 0x53C7, 76964 }, + { 0x53C8, 76967 }, + { 0x53C9, 76970 }, + { 0x53CA, 76973 }, + { 0x53CB, 76976 }, + { 0x53CC, 76979 }, + { 0x53CD, 76982 }, + { 0x53CE, 78467 }, + { 0x53CF, 76985 }, + { 0x53D0, 76988 }, + { 0x53D1, 76991 }, + { 0x53D2, 76994 }, + { 0x53D3, 76997 }, + { 0x53D4, 77000 }, + { 0x53D5, 77003 }, + { 0x53D6, 77006 }, + { 0x53D7, 77009 }, + { 0x53D8, 77012 }, + { 0x53D9, 77015 }, + { 0x53DA, 77018 }, + { 0x53DB, 77021 }, + { 0x53DC, 77024 }, + { 0x53DD, 77027 }, + { 0x53DE, 77030 }, + { 0x53DF, 77033 }, + { 0x53E0, 77036 }, + { 0x53E1, 77039 }, + { 0x53E2, 77042 }, + { 0x53E3, 77045 }, + { 0x53E4, 77048 }, + { 0x53E5, 78470 }, + { 0x53E6, 78473 }, + { 0x53E7, 77051 }, + { 0x53E8, 77054 }, + { 0x53E9, 77057 }, + { 0x53EA, 77060 }, + { 0x53EB, 77063 }, + { 0x53EC, 77066 }, + { 0x53ED, 77069 }, + { 0x53EE, 78476 }, + { 0x53EF, 77072 }, + { 0x53F0, 77075 }, + { 0x53F1, 77078 }, + { 0x53F2, 77081 }, + { 0x53F3, 77084 }, + { 0x53F4, 77087 }, + { 0x53F5, 77090 }, + { 0x53F6, 77093 }, + { 0x53F7, 78479 }, + { 0x53F8, 77096 }, + { 0x53F9, 78482 }, + { 0x53FA, 77099 }, + { 0x53FB, 78485 }, + { 0x53FC, 77102 }, + { 0x53FD, 77105 }, + { 0x53FE, 78488 }, + { 0x53FF, 77108 }, + { 0x5400, 77111 }, + { 0x5401, 77114 }, + { 0x5402, 77117 }, + { 0x5403, 77120 }, + { 0x5404, 78491 }, + { 0x5405, 78494 }, + { 0x5406, 78497 }, + { 0x5407, 78500 }, + { 0x5408, 78503 }, + { 0x5409, 79001 }, + { 0x540A, 78506 }, + { 0x540B, 78509 }, + { 0x540C, 78512 }, + { 0x540D, 78515 }, + { 0x540E, 78518 }, + { 0x540F, 78521 }, + { 0x5410, 78524 }, + { 0x5411, 78527 }, + { 0x5412, 78530 }, + { 0x5413, 78533 }, + { 0x5414, 78536 }, + { 0x5415, 78539 }, + { 0x5416, 79004 }, + { 0x5417, 78542 }, + { 0x5418, 78545 }, + { 0x5419, 78548 }, + { 0x541A, 78551 }, + { 0x541B, 78554 }, + { 0x541C, 78557 }, + { 0x541D, 78560 }, + { 0x541E, 78563 }, + { 0x541F, 78566 }, + { 0x5420, 78569 }, + { 0x5421, 78572 }, + { 0x5422, 78575 }, + { 0x5423, 78578 }, + { 0x5424, 79007 }, + { 0x5425, 78581 }, + { 0x5426, 79010 }, + { 0x5427, 78584 }, + { 0x5428, 78587 }, + { 0x5429, 78590 }, + { 0x542A, 78593 }, + { 0x542B, 78596 }, + { 0x542C, 78599 }, + { 0x542D, 78602 }, + { 0x542E, 79013 }, + { 0x542F, 78605 }, + { 0x5430, 78608 }, + { 0x5431, 78611 }, + { 0x5432, 78614 }, + { 0x5433, 79016 }, + { 0x5434, 77123 }, + { 0x5435, 78617 }, + { 0x5436, 77126 }, + { 0x5437, 77129 }, + { 0x5438, 77132 }, + { 0x5439, 77135 }, + { 0x543A, 78620 }, + { 0x543B, 77138 }, + { 0x543C, 78623 }, + { 0x543D, 78626 }, + { 0x543E, 78629 }, + { 0x543F, 78632 }, + { 0x5440, 78635 }, + { 0x5441, 78638 }, + { 0x5442, 77141 }, + { 0x5443, 77144 }, + { 0x5444, 77147 }, + { 0x5445, 77150 }, + { 0x5446, 78641 }, + { 0x5447, 78644 }, + { 0x5448, 78647 }, + { 0x5449, 77153 }, + { 0x544A, 77156 }, + { 0x544B, 77159 }, + { 0x544C, 77162 }, + { 0x544D, 77165 }, + { 0x544E, 77168 }, + { 0x544F, 77171 }, + { 0x5450, 77174 }, + { 0x5451, 77177 }, + { 0x5452, 78650 }, + { 0x5453, 77180 }, + { 0x5454, 78653 }, + { 0x5455, 77183 }, + { 0x5456, 77186 }, + { 0x5457, 77189 }, + { 0x5458, 77192 }, + { 0x5459, 78656 }, + { 0x545A, 77195 }, + { 0x545B, 78659 }, + { 0x545C, 77198 }, + { 0x545D, 77201 }, + { 0x545E, 77204 }, + { 0x545F, 77207 }, + { 0x5460, 78662 }, + { 0x5461, 77210 }, + { 0x5462, 78665 }, + { 0x5463, 77213 }, + { 0x5464, 77216 }, + { 0x5465, 77219 }, + { 0x5466, 78668 }, + { 0x5467, 77222 }, + { 0x5468, 77225 }, + { 0x5469, 77228 }, + { 0x546A, 78671 }, + { 0x546B, 78674 }, + { 0x546C, 78677 }, + { 0x546D, 78680 }, + { 0x546E, 77231 }, + { 0x546F, 77234 }, + { 0x5470, 77237 }, + { 0x5471, 77240 }, + { 0x5472, 77243 }, + { 0x5473, 77246 }, + { 0x5474, 77249 }, + { 0x5475, 77252 }, + { 0x5476, 77255 }, + { 0x5477, 77258 }, + { 0x5478, 77261 }, + { 0x5479, 77264 }, + { 0x547A, 77267 }, + { 0x547B, 77270 }, + { 0x547C, 78683 }, + { 0x547D, 78686 }, + { 0x547E, 77273 }, + { 0x547F, 77276 }, + { 0x5480, 78689 }, + { 0x5481, 77279 }, + { 0x5482, 77282 }, + { 0x5483, 78692 }, + { 0x5484, 77285 }, + { 0x5485, 77288 }, + { 0x5486, 77291 }, + { 0x5487, 77294 }, + { 0x5488, 77297 }, + { 0x5489, 77300 }, + { 0x548A, 77303 }, + { 0x548B, 77306 }, + { 0x548C, 77309 }, + { 0x548D, 77312 }, + { 0x548E, 77315 }, + { 0x548F, 77318 }, + { 0x5490, 77321 }, + { 0x5491, 77324 }, + { 0x5492, 77327 }, + { 0x5493, 77330 }, + { 0x5494, 77333 }, + { 0x5495, 78695 }, + { 0x5496, 77336 }, + { 0x5497, 78698 }, + { 0x5498, 78701 }, + { 0x5499, 77339 }, + { 0x549A, 77342 }, + { 0x549B, 77345 }, + { 0x549C, 77348 }, + { 0x549D, 77351 }, + { 0x549E, 77354 }, + { 0x549F, 77357 }, + { 0x54A0, 78704 }, + { 0x54A1, 77360 }, + { 0x54A2, 77363 }, + { 0x54A3, 77366 }, + { 0x54A4, 77369 }, + { 0x54A5, 77372 }, + { 0x54A6, 77375 }, + { 0x54A7, 78707 }, + { 0x54A8, 77378 }, + { 0x54A9, 77381 }, + { 0x54AA, 77384 }, + { 0x54AB, 77387 }, + { 0x54AC, 77390 }, + { 0x54AD, 77393 }, + { 0x54AE, 77396 }, + { 0x54AF, 77399 }, + { 0x54B0, 77402 }, + { 0x54B1, 77405 }, + { 0x54B2, 77408 }, + { 0x54B3, 77411 }, + { 0x54B4, 77414 }, + { 0x54B5, 77417 }, + { 0x54B6, 77420 }, + { 0x54B7, 78710 }, + { 0x54B8, 77423 }, + { 0x54B9, 77426 }, + { 0x54BA, 77429 }, + { 0x54BB, 77432 }, + { 0x54BC, 78713 }, + { 0x54BD, 77435 }, + { 0x54BE, 77438 }, + { 0x54BF, 77441 }, + { 0x54C0, 77444 }, + { 0x54C1, 77447 }, + { 0x54C2, 77450 }, + { 0x54C3, 77453 }, + { 0x54C4, 77456 }, + { 0x54C5, 78716 }, + { 0x54C6, 78719 }, + { 0x54C7, 77459 }, + { 0x54C8, 77462 }, + { 0x54C9, 77465 }, + { 0x54CA, 78722 }, + { 0x54CB, 77468 }, + { 0x54CC, 77471 }, + { 0x54CD, 77474 }, + { 0x54CE, 77477 }, + { 0x54CF, 77480 }, + { 0x54D0, 77483 }, + { 0x54D1, 77486 }, + { 0x54D2, 77489 }, + { 0x54D3, 77492 }, + { 0x54D4, 78725 }, + { 0x54D5, 78728 }, + { 0x54D6, 77495 }, + { 0x54D7, 77498 }, + { 0x54D8, 77501 }, + { 0x54D9, 77504 }, + { 0x54DA, 77507 }, + { 0x54DB, 77510 }, + { 0x54DC, 77513 }, + { 0x54DD, 77516 }, + { 0x54DE, 77519 }, + { 0x54DF, 78731 }, + { 0x54E0, 77522 }, + { 0x54E1, 77525 }, + { 0x54E2, 77528 }, + { 0x54E3, 77531 }, + { 0x54E4, 77534 }, + { 0x54E5, 77537 }, + { 0x54E6, 77540 }, + { 0x54E7, 77543 }, + { 0x54E8, 77546 }, + { 0x54E9, 77549 }, + { 0x54EA, 77552 }, + { 0x54EB, 77555 }, + { 0x54EC, 77558 }, + { 0x54ED, 77561 }, + { 0x54EE, 78734 }, + { 0x54EF, 77564 }, + { 0x54F0, 77567 }, + { 0x54F1, 77570 }, + { 0x54F2, 77573 }, + { 0x54F3, 78737 }, + { 0x54F4, 77576 }, + { 0x54F5, 78740 }, + { 0x54F6, 77579 }, + { 0x54F7, 78743 }, + { 0x54F8, 77582 }, + { 0x54F9, 77585 }, + { 0x54FA, 78746 }, + { 0x54FB, 77588 }, + { 0x54FC, 77591 }, + { 0x54FD, 77594 }, + { 0x54FE, 77597 }, + { 0x54FF, 77600 }, + { 0x5500, 78749 }, + { 0x5501, 77603 }, + { 0x5502, 77606 }, + { 0x5503, 77609 }, + { 0x5504, 77612 }, + { 0x5505, 77615 }, + { 0x5506, 77618 }, + { 0x5507, 77621 }, + { 0x5508, 77624 }, + { 0x5509, 77627 }, + { 0x550A, 77630 }, + { 0x550B, 77633 }, + { 0x550C, 77636 }, + { 0x550D, 77639 }, + { 0x550E, 77642 }, + { 0x550F, 77645 }, + { 0x5510, 77648 }, + { 0x5511, 78752 }, + { 0x5512, 77651 }, + { 0x5513, 78755 }, + { 0x5514, 77654 }, + { 0x5515, 77657 }, + { 0x5516, 77660 }, + { 0x5517, 77663 }, + { 0x5518, 77666 }, + { 0x5519, 77669 }, + { 0x551A, 77672 }, + { 0x551B, 77675 }, + { 0x551C, 77678 }, + { 0x551D, 78758 }, + { 0x551E, 78761 }, + { 0x551F, 77681 }, + { 0x5520, 77684 }, + { 0x5521, 77687 }, + { 0x5522, 77690 }, + { 0x5523, 77693 }, + { 0x5524, 77696 }, + { 0x5525, 77699 }, + { 0x5526, 77702 }, + { 0x5527, 77705 }, + { 0x5528, 77708 }, + { 0x5529, 77711 }, + { 0x552A, 77714 }, + { 0x552B, 77717 }, + { 0x552C, 77720 }, + { 0x552D, 77723 }, + { 0x552E, 77726 }, + { 0x552F, 77729 }, + { 0x5530, 78764 }, + { 0x5531, 77732 }, + { 0x5532, 77735 }, + { 0x5533, 77738 }, + { 0x5534, 77741 }, + { 0x5535, 77744 }, + { 0x5536, 77747 }, + { 0x5537, 78767 }, + { 0x5538, 77750 }, + { 0x5539, 77753 }, + { 0x553A, 77756 }, + { 0x553B, 78770 }, + { 0x553C, 77759 }, + { 0x553D, 77762 }, + { 0x553E, 77765 }, + { 0x553F, 77768 }, + { 0x5540, 77771 }, + { 0x5541, 77774 }, + { 0x5542, 77777 }, + { 0x5543, 77780 }, + { 0x5544, 77783 }, + { 0x5545, 77786 }, + { 0x5546, 77789 }, + { 0x5547, 78773 }, + { 0x5548, 78776 }, + { 0x5549, 78779 }, + { 0x554A, 78782 }, + { 0x554B, 78785 }, + { 0x554C, 78788 }, + { 0x554D, 78791 }, + { 0x554E, 78794 }, + { 0x554F, 78797 }, + { 0x5550, 77792 }, + { 0x5551, 78800 }, + { 0x5552, 77795 }, + { 0x5553, 77798 }, + { 0x5554, 77801 }, + { 0x5555, 77804 }, + { 0x5556, 77807 }, + { 0x5557, 78803 }, + { 0x5558, 78806 }, + { 0x5559, 77810 }, + { 0x555A, 77813 }, + { 0x555B, 77816 }, + { 0x555C, 77819 }, + { 0x555D, 78809 }, + { 0x555E, 78812 }, + { 0x555F, 78815 }, + { 0x5560, 77822 }, + { 0x5561, 78818 }, + { 0x5562, 78821 }, + { 0x5563, 77825 }, + { 0x5564, 77828 }, + { 0x5565, 77831 }, + { 0x5566, 77834 }, + { 0x5567, 77837 }, + { 0x5568, 77840 }, + { 0x5569, 77843 }, + { 0x556A, 77846 }, + { 0x556B, 78824 }, + { 0x556C, 78827 }, + { 0x556D, 78830 }, + { 0x556E, 78833 }, + { 0x556F, 78836 }, + { 0x5570, 78839 }, + { 0x5571, 78842 }, + { 0x5572, 78845 }, + { 0x5573, 78848 }, + { 0x5574, 78851 }, + { 0x5575, 78854 }, + { 0x5576, 78857 }, + { 0x5577, 77849 }, + { 0x5578, 77852 }, + { 0x5579, 77855 }, + { 0x557A, 78860 }, + { 0x557B, 77858 }, + { 0x557C, 77861 }, + { 0x557D, 77864 }, + { 0x557E, 77867 }, + { 0x557F, 77870 }, + { 0x5580, 78863 }, + { 0x5581, 77873 }, + { 0x5582, 78866 }, + { 0x5583, 77876 }, + { 0x5584, 78869 }, + { 0x5585, 77879 }, + { 0x5586, 78872 }, + { 0x5587, 77882 }, + { 0x5588, 77885 }, + { 0x5589, 78875 }, + { 0x558A, 77888 }, + { 0x558B, 77891 }, + { 0x558C, 77894 }, + { 0x558D, 77897 }, + { 0x558E, 78878 }, + { 0x558F, 77900 }, + { 0x5590, 77903 }, + { 0x5591, 77906 }, + { 0x5592, 78881 }, + { 0x5593, 77909 }, + { 0x5594, 77912 }, + { 0x5595, 77915 }, + { 0x5596, 78884 }, + { 0x5597, 77918 }, + { 0x5598, 77921 }, + { 0x5599, 77924 }, + { 0x559A, 77927 }, + { 0x559B, 77930 }, + { 0x559C, 77933 }, + { 0x559D, 78887 }, + { 0x559E, 77936 }, + { 0x559F, 78890 }, + { 0x55A0, 77939 }, + { 0x55A1, 77942 }, + { 0x55A2, 77945 }, + { 0x55A3, 77948 }, + { 0x55A4, 78893 }, + { 0x55A5, 77951 }, + { 0x55A6, 77954 }, + { 0x55A7, 77957 }, + { 0x55A8, 78896 }, + { 0x55A9, 77960 }, + { 0x55AA, 78899 }, + { 0x55AB, 77963 }, + { 0x55AC, 77966 }, + { 0x55AD, 77969 }, + { 0x55AE, 77972 }, + { 0x55AF, 77975 }, + { 0x55B0, 77978 }, + { 0x55B1, 78902 }, + { 0x55B2, 77981 }, + { 0x55B3, 77984 }, + { 0x55B4, 77987 }, + { 0x55B5, 77990 }, + { 0x55B6, 77993 }, + { 0x55B7, 78905 }, + { 0x55B8, 78908 }, + { 0x55B9, 77996 }, + { 0x55BA, 77999 }, + { 0x55BB, 78911 }, + { 0x55BC, 78002 }, + { 0x55BD, 78005 }, + { 0x55BE, 78914 }, + { 0x55BF, 78008 }, + { 0x55C0, 78917 }, + { 0x55C1, 78011 }, + { 0x55C2, 78014 }, + { 0x55C3, 78017 }, + { 0x55C4, 78020 }, + { 0x55C5, 78023 }, + { 0x55C6, 78026 }, + { 0x55C7, 78029 }, + { 0x55C8, 78032 }, + { 0x55C9, 78035 }, + { 0x55CA, 78920 }, + { 0x55CB, 78923 }, + { 0x55CC, 78926 }, + { 0x55CD, 78929 }, + { 0x55CE, 78038 }, + { 0x55CF, 78932 }, + { 0x55D0, 78935 }, + { 0x55D1, 78041 }, + { 0x55D2, 78938 }, + { 0x55D3, 78044 }, + { 0x55D4, 78941 }, + { 0x55D5, 78047 }, + { 0x55D6, 78050 }, + { 0x55D7, 78053 }, + { 0x55D8, 78056 }, + { 0x55D9, 78059 }, + { 0x55DA, 78062 }, + { 0x55DB, 78065 }, + { 0x55DC, 78068 }, + { 0x55DD, 78071 }, + { 0x55DE, 78074 }, + { 0x55DF, 78944 }, + { 0x55E0, 78947 }, + { 0x55E1, 78950 }, + { 0x55E2, 78953 }, + { 0x55E3, 78956 }, + { 0x55E4, 78959 }, + { 0x55E5, 78962 }, + { 0x55E6, 78965 }, + { 0x55E7, 78968 }, + { 0x55E8, 78077 }, + { 0x55E9, 78971 }, + { 0x55EA, 78974 }, + { 0x55EB, 78977 }, + { 0x55EC, 78980 }, + { 0x55ED, 78983 }, + { 0x55EE, 78986 }, + { 0x55EF, 78989 }, + { 0x55F0, 78992 }, + { 0x55F1, 78110 }, + { 0x55F2, 78113 }, + { 0x55F3, 78116 }, + { 0x55F4, 78119 }, + { 0x55F5, 78122 }, + { 0x55F6, 78125 }, + { 0x55F7, 78128 }, + { 0x55F8, 78995 }, + { 0x55F9, 78998 }, + { 0x55FA, 78131 }, + { 0x55FB, 78134 }, + { 0x55FC, 78137 }, + { 0x55FD, 78140 }, + { 0x55FE, 78143 }, + { 0x55FF, 78146 }, + { 0x5600, 78149 }, + { 0x5601, 78152 }, + { 0x5602, 78155 }, + { 0x5603, 78158 }, + { 0x5604, 78161 }, + { 0x5605, 78164 }, + { 0x5606, 78167 }, + { 0x5607, 78170 }, + { 0x5608, 78173 }, + { 0x5609, 78176 }, + { 0x560A, 78179 }, + { 0x560B, 78182 }, + { 0x560C, 78185 }, + { 0x560D, 78188 }, + { 0x560E, 78191 }, + { 0x560F, 78194 }, + { 0x5610, 78197 }, + { 0x5611, 78200 }, + { 0x5612, 78203 }, + { 0x5613, 86926 }, + { 0x5614, 86929 }, + { 0x5615, 86932 }, + { 0x5616, 86935 }, + { 0x5617, 86938 }, + { 0x5618, 86941 }, + { 0x5619, 86944 }, + { 0x561A, 86947 }, + { 0x561B, 86950 }, + { 0x561C, 86953 }, + { 0x561D, 88511 }, + { 0x561E, 86956 }, + { 0x561F, 86959 }, + { 0x5620, 86962 }, + { 0x5621, 86965 }, + { 0x5622, 86968 }, + { 0x5623, 86971 }, + { 0x5624, 86974 }, + { 0x5625, 86977 }, + { 0x5626, 86980 }, + { 0x5627, 86983 }, + { 0x5628, 86986 }, + { 0x5629, 86989 }, + { 0x562A, 86992 }, + { 0x562B, 86995 }, + { 0x562C, 86998 }, + { 0x562D, 87001 }, + { 0x562E, 88514 }, + { 0x562F, 87004 }, + { 0x5630, 87007 }, + { 0x5631, 87010 }, + { 0x5632, 87013 }, + { 0x5633, 87016 }, + { 0x5634, 87019 }, + { 0x5635, 87022 }, + { 0x5636, 87025 }, + { 0x5637, 87028 }, + { 0x5638, 87031 }, + { 0x5639, 87034 }, + { 0x563A, 87037 }, + { 0x563B, 87040 }, + { 0x563C, 88517 }, + { 0x563D, 87043 }, + { 0x563E, 87046 }, + { 0x563F, 88520 }, + { 0x5640, 87049 }, + { 0x5641, 87052 }, + { 0x5642, 87055 }, + { 0x5643, 87058 }, + { 0x5644, 88523 }, + { 0x5645, 87061 }, + { 0x5646, 88526 }, + { 0x5647, 88529 }, + { 0x5648, 87064 }, + { 0x5649, 87067 }, + { 0x564A, 87070 }, + { 0x564B, 87073 }, + { 0x564C, 87076 }, + { 0x564D, 87079 }, + { 0x564E, 87082 }, + { 0x564F, 87085 }, + { 0x5650, 87088 }, + { 0x5651, 87091 }, + { 0x5652, 87094 }, + { 0x5653, 87097 }, + { 0x5654, 87100 }, + { 0x5655, 87103 }, + { 0x5656, 87106 }, + { 0x5657, 87109 }, + { 0x5658, 87112 }, + { 0x5659, 87115 }, + { 0x565A, 87118 }, + { 0x565B, 87121 }, + { 0x565C, 88532 }, + { 0x565D, 88535 }, + { 0x565E, 88538 }, + { 0x565F, 87124 }, + { 0x5660, 87127 }, + { 0x5661, 87130 }, + { 0x5662, 87133 }, + { 0x5663, 87136 }, + { 0x5664, 87139 }, + { 0x5665, 87142 }, + { 0x5666, 87145 }, + { 0x5667, 87148 }, + { 0x5668, 87151 }, + { 0x5669, 87154 }, + { 0x566A, 87157 }, + { 0x566B, 87160 }, + { 0x566C, 87163 }, + { 0x566D, 87166 }, + { 0x566E, 87169 }, + { 0x566F, 87172 }, + { 0x5670, 87175 }, + { 0x5671, 87178 }, + { 0x5672, 87181 }, + { 0x5673, 87184 }, + { 0x5674, 87187 }, + { 0x5675, 87190 }, + { 0x5676, 87193 }, + { 0x5677, 87196 }, + { 0x5678, 87199 }, + { 0x5679, 87202 }, + { 0x567A, 87205 }, + { 0x567B, 87208 }, + { 0x567C, 87211 }, + { 0x567D, 87214 }, + { 0x567E, 88541 }, + { 0x567F, 87217 }, + { 0x5680, 88544 }, + { 0x5681, 87220 }, + { 0x5682, 87223 }, + { 0x5683, 88547 }, + { 0x5684, 87226 }, + { 0x5685, 88550 }, + { 0x5686, 87229 }, + { 0x5687, 88553 }, + { 0x5688, 87232 }, + { 0x5689, 87235 }, + { 0x568A, 88556 }, + { 0x568B, 88559 }, + { 0x568C, 88562 }, + { 0x568D, 87238 }, + { 0x568E, 88565 }, + { 0x568F, 88568 }, + { 0x5690, 87241 }, + { 0x5691, 87244 }, + { 0x5692, 88571 }, + { 0x5693, 88574 }, + { 0x5694, 88577 }, + { 0x5695, 87247 }, + { 0x5696, 87250 }, + { 0x5697, 87253 }, + { 0x5698, 88580 }, + { 0x5699, 88583 }, + { 0x569A, 87256 }, + { 0x569B, 87259 }, + { 0x569C, 87262 }, + { 0x569D, 87265 }, + { 0x569E, 87268 }, + { 0x569F, 88586 }, + { 0x56A0, 87271 }, + { 0x56A1, 87274 }, + { 0x56A2, 87277 }, + { 0x56A3, 87280 }, + { 0x56A4, 87283 }, + { 0x56A5, 87286 }, + { 0x56A6, 87289 }, + { 0x56A7, 87292 }, + { 0x56A8, 87295 }, + { 0x56A9, 87298 }, + { 0x56AA, 88589 }, + { 0x56AB, 87301 }, + { 0x56AC, 87304 }, + { 0x56AD, 87307 }, + { 0x56AE, 87310 }, + { 0x56AF, 87313 }, + { 0x56B0, 87316 }, + { 0x56B1, 87319 }, + { 0x56B2, 87322 }, + { 0x56B3, 87325 }, + { 0x56B4, 87328 }, + { 0x56B5, 88592 }, + { 0x56B6, 87331 }, + { 0x56B7, 87334 }, + { 0x56B8, 87337 }, + { 0x56B9, 87340 }, + { 0x56BA, 87343 }, + { 0x56BB, 87346 }, + { 0x56BC, 87349 }, + { 0x56BD, 87352 }, + { 0x56BE, 87355 }, + { 0x56BF, 87358 }, + { 0x56C0, 87361 }, + { 0x56C1, 87364 }, + { 0x56C2, 87367 }, + { 0x56C3, 87370 }, + { 0x56C4, 87373 }, + { 0x56C5, 87376 }, + { 0x56C6, 87379 }, + { 0x56C7, 87382 }, + { 0x56C8, 87385 }, + { 0x56C9, 87388 }, + { 0x56CA, 87391 }, + { 0x56CB, 87394 }, + { 0x56CC, 87397 }, + { 0x56CD, 87400 }, + { 0x56CE, 87403 }, + { 0x56CF, 87406 }, + { 0x56D0, 87409 }, + { 0x56D1, 87412 }, + { 0x56D2, 87415 }, + { 0x56D3, 87418 }, + { 0x56D4, 87421 }, + { 0x56D5, 87424 }, + { 0x56D6, 87427 }, + { 0x56D7, 87430 }, + { 0x56D8, 87433 }, + { 0x56D9, 87436 }, + { 0x56DA, 87439 }, + { 0x56DB, 87442 }, + { 0x56DC, 87445 }, + { 0x56DD, 87448 }, + { 0x56DE, 87451 }, + { 0x56DF, 87454 }, + { 0x56E0, 87457 }, + { 0x56E1, 87460 }, + { 0x56E2, 87463 }, + { 0x56E3, 87466 }, + { 0x56E4, 87469 }, + { 0x56E5, 87472 }, + { 0x56E6, 87475 }, + { 0x56E7, 87478 }, + { 0x56E8, 87481 }, + { 0x56E9, 87484 }, + { 0x56EA, 87487 }, + { 0x56EB, 87490 }, + { 0x56EC, 87493 }, + { 0x56ED, 87496 }, + { 0x56EE, 87499 }, + { 0x56EF, 87502 }, + { 0x56F0, 87505 }, + { 0x56F1, 87508 }, + { 0x56F2, 87511 }, + { 0x56F3, 87514 }, + { 0x56F4, 87517 }, + { 0x56F5, 87520 }, + { 0x56F6, 87523 }, + { 0x56F7, 87526 }, + { 0x56F8, 87529 }, + { 0x56F9, 88595 }, + { 0x56FA, 88598 }, + { 0x56FB, 87532 }, + { 0x56FC, 87535 }, + { 0x56FD, 87538 }, + { 0x56FE, 87541 }, + { 0x56FF, 87544 }, + { 0x5700, 88601 }, + { 0x5701, 87547 }, + { 0x5702, 87550 }, + { 0x5703, 88604 }, + { 0x5704, 87553 }, + { 0x5705, 87556 }, + { 0x5706, 87559 }, + { 0x5707, 87562 }, + { 0x5708, 87565 }, + { 0x5709, 87568 }, + { 0x570A, 88607 }, + { 0x570B, 87571 }, + { 0x570C, 88610 }, + { 0x570D, 87574 }, + { 0x570E, 87577 }, + { 0x570F, 87580 }, + { 0x5710, 87583 }, + { 0x5711, 87586 }, + { 0x5712, 87589 }, + { 0x5713, 87592 }, + { 0x5714, 87595 }, + { 0x5715, 87598 }, + { 0x5716, 87601 }, + { 0x5717, 87604 }, + { 0x5718, 88613 }, + { 0x5719, 87607 }, + { 0x571A, 87610 }, + { 0x571B, 87613 }, + { 0x571C, 87616 }, + { 0x571D, 87619 }, + { 0x571E, 87622 }, + { 0x571F, 87625 }, + { 0x5720, 87628 }, + { 0x5721, 87631 }, + { 0x5722, 87634 }, + { 0x5723, 87637 }, + { 0x5724, 87640 }, + { 0x5725, 87643 }, + { 0x5726, 87646 }, + { 0x5727, 87649 }, + { 0x5728, 87652 }, + { 0x5729, 87655 }, + { 0x572A, 87658 }, + { 0x572B, 87661 }, + { 0x572C, 87664 }, + { 0x572D, 87667 }, + { 0x572E, 87670 }, + { 0x572F, 87673 }, + { 0x5730, 87676 }, + { 0x5731, 87679 }, + { 0x5732, 87682 }, + { 0x5733, 87685 }, + { 0x5734, 87688 }, + { 0x5735, 87691 }, + { 0x5736, 87694 }, + { 0x5737, 87697 }, + { 0x5738, 87700 }, + { 0x5739, 87703 }, + { 0x573A, 87706 }, + { 0x573B, 87709 }, + { 0x573C, 87712 }, + { 0x573D, 87715 }, + { 0x573E, 87718 }, + { 0x573F, 87721 }, + { 0x5740, 87724 }, + { 0x5741, 88616 }, + { 0x5742, 87727 }, + { 0x5743, 87730 }, + { 0x5744, 87733 }, + { 0x5745, 87736 }, + { 0x5746, 87739 }, + { 0x5747, 87742 }, + { 0x5748, 87745 }, + { 0x5749, 87748 }, + { 0x574A, 87751 }, + { 0x574B, 87754 }, + { 0x574C, 87757 }, + { 0x574D, 87760 }, + { 0x574E, 87763 }, + { 0x574F, 87766 }, + { 0x5750, 87769 }, + { 0x5751, 87772 }, + { 0x5752, 87775 }, + { 0x5753, 87778 }, + { 0x5754, 87781 }, + { 0x5755, 87784 }, + { 0x5756, 87787 }, + { 0x5757, 87790 }, + { 0x5758, 88619 }, + { 0x5759, 87793 }, + { 0x575A, 87796 }, + { 0x575B, 87799 }, + { 0x575C, 87802 }, + { 0x575D, 87805 }, + { 0x575E, 88622 }, + { 0x575F, 87808 }, + { 0x5760, 87811 }, + { 0x5761, 87814 }, + { 0x5762, 87817 }, + { 0x5763, 87820 }, + { 0x5764, 88625 }, + { 0x5765, 87823 }, + { 0x5766, 87826 }, + { 0x5767, 87829 }, + { 0x5768, 87832 }, + { 0x5769, 87835 }, + { 0x576A, 87838 }, + { 0x576B, 87841 }, + { 0x576C, 87844 }, + { 0x576D, 87847 }, + { 0x576E, 87850 }, + { 0x576F, 88628 }, + { 0x5770, 87853 }, + { 0x5771, 87856 }, + { 0x5772, 87859 }, + { 0x5773, 87862 }, + { 0x5774, 87865 }, + { 0x5775, 87868 }, + { 0x5776, 87871 }, + { 0x5777, 87874 }, + { 0x5778, 87877 }, + { 0x5779, 87880 }, + { 0x577A, 87883 }, + { 0x577B, 87886 }, + { 0x577C, 87889 }, + { 0x577D, 87892 }, + { 0x577E, 87895 }, + { 0x577F, 87898 }, + { 0x5780, 87901 }, + { 0x5781, 87904 }, + { 0x5782, 87907 }, + { 0x5783, 87910 }, + { 0x5784, 88631 }, + { 0x5785, 87913 }, + { 0x5786, 87916 }, + { 0x5787, 88634 }, + { 0x5788, 88637 }, + { 0x5789, 88640 }, + { 0x578A, 87919 }, + { 0x578B, 87922 }, + { 0x578C, 87925 }, + { 0x578D, 87928 }, + { 0x578E, 88643 }, + { 0x578F, 88646 }, + { 0x5790, 88649 }, + { 0x5791, 87931 }, + { 0x5792, 87934 }, + { 0x5793, 87937 }, + { 0x5794, 87940 }, + { 0x5795, 87943 }, + { 0x5796, 87946 }, + { 0x5797, 87949 }, + { 0x5798, 87952 }, + { 0x5799, 87955 }, + { 0x579A, 87958 }, + { 0x579B, 87961 }, + { 0x579C, 87964 }, + { 0x579D, 87967 }, + { 0x579E, 87970 }, + { 0x579F, 87973 }, + { 0x57A0, 87976 }, + { 0x57A1, 87979 }, + { 0x57A2, 87982 }, + { 0x57A3, 87985 }, + { 0x57A4, 87988 }, + { 0x57A5, 87991 }, + { 0x57A6, 87994 }, + { 0x57A7, 87997 }, + { 0x57A8, 88652 }, + { 0x57A9, 88000 }, + { 0x57AA, 88003 }, + { 0x57AB, 88006 }, + { 0x57AC, 88009 }, + { 0x57AD, 88012 }, + { 0x57AE, 88655 }, + { 0x57AF, 88015 }, + { 0x57B0, 88018 }, + { 0x57B1, 88021 }, + { 0x57B2, 88024 }, + { 0x57B3, 88658 }, + { 0x57B4, 88027 }, + { 0x57B5, 88030 }, + { 0x57B6, 88033 }, + { 0x57B7, 88661 }, + { 0x57B8, 88036 }, + { 0x57B9, 88039 }, + { 0x57BA, 88042 }, + { 0x57BB, 88045 }, + { 0x57BC, 88048 }, + { 0x57BD, 88051 }, + { 0x57BE, 88054 }, + { 0x57BF, 88057 }, + { 0x57C0, 88060 }, + { 0x57C1, 88063 }, + { 0x57C2, 88664 }, + { 0x57C3, 88066 }, + { 0x57C4, 88069 }, + { 0x57C5, 88667 }, + { 0x57C6, 88075 }, + { 0x57C7, 88078 }, + { 0x57C8, 88081 }, + { 0x57C9, 88670 }, + { 0x57CA, 88084 }, + { 0x57CB, 88087 }, + { 0x57CC, 88090 }, + { 0x57CD, 88093 }, + { 0x57CE, 88096 }, + { 0x57CF, 88099 }, + { 0x57D0, 88102 }, + { 0x57D1, 88106 }, + { 0x57D2, 88109 }, + { 0x57D3, 88112 }, + { 0x57D4, 88115 }, + { 0x57D5, 88118 }, + { 0x57D6, 88121 }, + { 0x57D7, 88124 }, + { 0x57D8, 88127 }, + { 0x57D9, 88130 }, + { 0x57DA, 88133 }, + { 0x57DB, 88136 }, + { 0x57DC, 88139 }, + { 0x57DD, 88142 }, + { 0x57DE, 88145 }, + { 0x57DF, 88148 }, + { 0x57E0, 88151 }, + { 0x57E1, 88154 }, + { 0x57E2, 88673 }, + { 0x57E3, 88160 }, + { 0x57E4, 88163 }, + { 0x57E5, 88166 }, + { 0x57E6, 88169 }, + { 0x57E7, 88172 }, + { 0x57E8, 88175 }, + { 0x57E9, 88178 }, + { 0x57EA, 88181 }, + { 0x57EB, 88184 }, + { 0x57EC, 88187 }, + { 0x57ED, 88190 }, + { 0x57EE, 88193 }, + { 0x57EF, 88196 }, + { 0x57F0, 88199 }, + { 0x57F1, 88202 }, + { 0x57F2, 88205 }, + { 0x57F3, 88208 }, + { 0x57F4, 88211 }, + { 0x57F5, 88214 }, + { 0x57F6, 88217 }, + { 0x57F7, 88220 }, + { 0x57F8, 88223 }, + { 0x57F9, 88226 }, + { 0x57FA, 88229 }, + { 0x57FB, 88232 }, + { 0x57FC, 88235 }, + { 0x57FD, 88238 }, + { 0x57FE, 88241 }, + { 0x57FF, 88244 }, + { 0x5800, 88247 }, + { 0x5801, 88250 }, + { 0x5802, 88253 }, + { 0x5803, 88256 }, + { 0x5804, 88259 }, + { 0x5805, 88262 }, + { 0x5806, 88265 }, + { 0x5807, 88268 }, + { 0x5808, 88271 }, + { 0x5809, 88274 }, + { 0x580A, 88277 }, + { 0x580B, 88679 }, + { 0x580C, 88280 }, + { 0x580D, 88283 }, + { 0x580E, 88286 }, + { 0x580F, 88289 }, + { 0x5810, 88292 }, + { 0x5811, 88295 }, + { 0x5812, 88298 }, + { 0x5813, 88682 }, + { 0x5814, 88301 }, + { 0x5815, 88304 }, + { 0x5816, 88307 }, + { 0x5817, 88310 }, + { 0x5818, 88313 }, + { 0x5819, 88316 }, + { 0x581A, 88319 }, + { 0x581B, 88322 }, + { 0x581C, 88325 }, + { 0x581D, 88328 }, + { 0x581E, 88331 }, + { 0x581F, 88334 }, + { 0x5820, 88337 }, + { 0x5821, 88340 }, + { 0x5822, 88343 }, + { 0x5823, 88346 }, + { 0x5824, 88349 }, + { 0x5825, 88352 }, + { 0x5826, 88355 }, + { 0x5827, 88358 }, + { 0x5828, 88361 }, + { 0x5829, 88364 }, + { 0x582A, 88367 }, + { 0x582B, 88370 }, + { 0x582C, 88373 }, + { 0x582D, 88376 }, + { 0x582E, 88379 }, + { 0x582F, 88382 }, + { 0x5830, 88385 }, + { 0x5831, 88388 }, + { 0x5832, 88391 }, + { 0x5833, 88394 }, + { 0x5834, 88397 }, + { 0x5835, 88400 }, + { 0x5836, 88403 }, + { 0x5837, 88406 }, + { 0x5838, 88409 }, + { 0x5839, 88412 }, + { 0x583A, 88415 }, + { 0x583B, 88418 }, + { 0x583C, 88421 }, + { 0x583D, 88424 }, + { 0x583E, 88427 }, + { 0x583F, 88430 }, + { 0x5840, 88433 }, + { 0x5841, 88436 }, + { 0x5842, 88439 }, + { 0x5843, 88442 }, + { 0x5844, 88445 }, + { 0x5845, 88448 }, + { 0x5846, 88451 }, + { 0x5847, 88454 }, + { 0x5848, 88457 }, + { 0x5849, 88460 }, + { 0x584A, 88463 }, + { 0x584B, 88466 }, + { 0x584C, 88469 }, + { 0x584D, 88472 }, + { 0x584E, 88475 }, + { 0x584F, 88478 }, + { 0x5850, 88481 }, + { 0x5851, 88484 }, + { 0x5852, 88487 }, + { 0x5853, 88490 }, + { 0x5854, 88493 }, + { 0x5855, 88496 }, + { 0x5856, 88499 }, + { 0x5857, 88502 }, + { 0x5858, 88505 }, + { 0x5859, 88508 }, + { 0x585A, 16235 }, + { 0x585B, 16214 }, + { 0x585C, 16097 }, + { 0x585D, 16091 }, + { 0x585E, 16046 }, + { 0x585F, 16366 }, + { 0x5860, 16209 }, + { 0x5861, 16068 }, + { 0x5862, 16280 }, + { 0x5863, 16084 }, + { 0x5864, 16077 }, + { 0x5865, 16354 }, + { 0x5866, 16018 }, + { 0x5867, 16260 }, + { 0x5868, 16338 }, + { 0x5869, 16302 }, + { 0x586A, 16358 }, + { 0x586B, 16326 }, + { 0x586C, 16318 }, + { 0x586D, 16350 }, + { 0x586E, 16264 }, + { 0x586F, 16119 }, + { 0x5870, 16362 }, + { 0x5871, 16219 }, + { 0x5872, 16031 }, + { 0x5873, 16167 }, + { 0x5874, 16298 }, + { 0x5875, 16276 }, + { 0x5876, 16342 }, + { 0x5877, 16322 }, + { 0x5878, 16041 }, + { 0x5879, 16186 }, + { 0x587A, 16003 }, + { 0x587B, 16370 }, + { 0x587C, 16172 }, + { 0x587D, 16205 }, + { 0x587E, 16256 }, + { 0x587F, 16374 }, + { 0x5880, 16310 }, + { 0x5881, 16131 }, + { 0x5882, 16013 }, + { 0x5883, 16055 }, + { 0x5884, 16073 }, + { 0x5885, 16334 }, + { 0x5886, 16151 }, + { 0x5887, 16103 }, + { 0x5888, 16240 }, + { 0x5889, 16223 }, + { 0x588A, 16290 }, + { 0x588B, 16346 }, + { 0x588C, 16248 }, + { 0x588D, 16027 }, + { 0x588E, 16378 }, + { 0x588F, 16139 }, + { 0x5890, 16306 }, + { 0x5891, 16201 }, + { 0x5892, 16244 }, + { 0x5893, 16127 }, + { 0x5894, 16107 }, + { 0x5895, 16135 }, + { 0x5896, 16111 }, + { 0x5897, 16036 }, + { 0x5898, 16286 }, + { 0x5899, 16163 }, + { 0x589A, 16195 }, + { 0x589B, 16181 }, + { 0x589C, 16272 }, + { 0x589D, 16314 }, + { 0x589E, 16330 }, + { 0x589F, 16231 }, + { 0x58A0, 16227 }, + { 0x58A1, 16155 }, + { 0x58A2, 16252 }, + { 0x58A3, 16177 }, + { 0x58A4, 16294 }, + { 0x58A5, 16115 }, + { 0x58A6, 16191 }, + { 0x58A7, 16268 }, + { 0x58A8, 16143 }, + { 0x58A9, 16064 }, + { 0x58AA, 16023 }, + { 0x58AB, 16159 }, + { 0x58AC, 16123 }, + { 0x58AD, 16009 }, + { 0x58AE, 16060 }, + { 0x58AF, 16051 }, + { 0x58B0, 16147 }, + { 0x58B1, 16573 }, + { 0x58B2, 16401 }, + { 0x58B3, 16497 }, + { 0x58B4, 16452 }, + { 0x58B5, 16428 }, + { 0x58B6, 16433 }, + { 0x58B7, 16514 }, + { 0x58B8, 16581 }, + { 0x58B9, 16589 }, + { 0x58BA, 16410 }, + { 0x58BB, 16577 }, + { 0x58BC, 16509 }, + { 0x58BD, 16418 }, + { 0x58BE, 16527 }, + { 0x58BF, 16438 }, + { 0x58C0, 16622 }, + { 0x58C1, 16448 }, + { 0x58C2, 16396 }, + { 0x58C3, 16492 }, + { 0x58C4, 16618 }, + { 0x58C5, 16479 }, + { 0x58C6, 16465 }, + { 0x58C7, 16443 }, + { 0x58C8, 16544 }, + { 0x58C9, 16610 }, + { 0x58CA, 16585 }, + { 0x58CB, 16548 }, + { 0x58CC, 16532 }, + { 0x58CD, 16505 }, + { 0x58CE, 16593 }, + { 0x58CF, 16522 }, + { 0x58D0, 16536 }, + { 0x58D1, 16606 }, + { 0x58D2, 16501 }, + { 0x58D3, 16470 }, + { 0x58D4, 16564 }, + { 0x58D5, 16568 }, + { 0x58D6, 16556 }, + { 0x58D7, 16457 }, + { 0x58D8, 16552 }, + { 0x58D9, 16614 }, + { 0x58DA, 16598 }, + { 0x58DB, 16602 }, + { 0x58DC, 16474 }, + { 0x58DD, 16461 }, + { 0x58DE, 16518 }, + { 0x58DF, 16406 }, + { 0x58E0, 16540 }, + { 0x58E1, 16391 }, + { 0x58E2, 16386 }, + { 0x58E3, 16424 }, + { 0x58E4, 16560 }, + { 0x58E5, 16488 }, + { 0x58E6, 16382 }, + { 0x58E7, 16414 }, + { 0x58E8, 16484 }, + { 0x58E9, 16878 }, + { 0x58EA, 16704 }, + { 0x58EB, 16728 }, + { 0x58EC, 17021 }, + { 0x58ED, 16866 }, + { 0x58EE, 17025 }, + { 0x58EF, 16874 }, + { 0x58F0, 16920 }, + { 0x58F1, 17001 }, + { 0x58F2, 16842 }, + { 0x58F3, 16815 }, + { 0x58F4, 16699 }, + { 0x58F5, 16850 }, + { 0x58F6, 16985 }, + { 0x58F7, 16948 }, + { 0x58F8, 16754 }, + { 0x58F9, 17029 }, + { 0x58FA, 16736 }, + { 0x58FB, 16924 }, + { 0x58FC, 16644 }, + { 0x58FD, 16904 }, + { 0x58FE, 16763 }, + { 0x58FF, 16981 }, + { 0x5900, 16759 }, + { 0x5901, 16838 }, + { 0x5902, 16928 }, + { 0x5903, 16653 }, + { 0x5904, 16821 }, + { 0x5905, 16862 }, + { 0x5906, 16989 }, + { 0x5907, 16891 }, + { 0x5908, 16829 }, + { 0x5909, 16912 }, + { 0x590A, 16972 }, + { 0x590B, 16834 }, + { 0x590C, 17009 }, + { 0x590D, 16635 }, + { 0x590E, 16807 }, + { 0x590F, 16952 }, + { 0x5910, 16679 }, + { 0x5911, 17005 }, + { 0x5912, 16968 }, + { 0x5913, 17013 }, + { 0x5914, 16993 }, + { 0x5915, 16870 }, + { 0x5916, 16649 }, + { 0x5917, 16858 }, + { 0x5918, 16695 }, + { 0x5919, 16895 }, + { 0x591A, 16732 }, + { 0x591B, 17017 }, + { 0x591C, 16940 }, + { 0x591D, 16640 }, + { 0x591E, 16883 }, + { 0x591F, 16675 }, + { 0x5920, 16997 }, + { 0x5921, 16899 }, + { 0x5922, 16956 }, + { 0x5923, 16667 }, + { 0x5924, 16787 }, + { 0x5925, 16846 }, + { 0x5926, 16944 }, + { 0x5927, 16626 }, + { 0x5928, 16671 }, + { 0x5929, 16795 }, + { 0x592A, 16791 }, + { 0x592B, 16720 }, + { 0x592C, 16977 }, + { 0x592D, 16799 }, + { 0x592E, 16811 }, + { 0x592F, 16744 }, + { 0x5930, 16803 }, + { 0x5931, 16775 }, + { 0x5932, 16630 }, + { 0x5933, 16724 }, + { 0x5934, 16779 }, + { 0x5935, 16908 }, + { 0x5936, 16960 }, + { 0x5937, 16687 }, + { 0x5938, 16932 }, + { 0x5939, 16936 }, + { 0x593A, 16964 }, + { 0x593B, 16854 }, + { 0x593C, 16740 }, + { 0x593D, 16749 }, + { 0x593E, 16916 }, + { 0x593F, 16887 }, + { 0x5940, 16767 }, + { 0x5941, 16771 }, + { 0x5942, 16825 }, + { 0x5943, 16657 }, + { 0x5944, 16662 }, + { 0x5945, 16783 }, + { 0x5946, 16691 }, + { 0x5947, 16683 }, + { 0x5948, 16712 }, + { 0x5949, 16708 }, + { 0x594A, 16716 }, + { 0x594B, 17208 }, + { 0x594C, 17163 }, + { 0x594D, 17093 }, + { 0x594E, 17220 }, + { 0x594F, 17361 }, + { 0x5950, 17195 }, + { 0x5951, 17357 }, + { 0x5952, 17369 }, + { 0x5953, 17489 }, + { 0x5954, 17260 }, + { 0x5955, 17389 }, + { 0x5956, 17353 }, + { 0x5957, 17280 }, + { 0x5958, 17349 }, + { 0x5959, 17501 }, + { 0x595A, 17300 }, + { 0x595B, 17453 }, + { 0x595C, 17244 }, + { 0x595D, 17147 }, + { 0x595E, 17065 }, + { 0x595F, 17485 }, + { 0x5960, 17183 }, + { 0x5961, 17131 }, + { 0x5962, 17333 }, + { 0x5963, 17341 }, + { 0x5964, 17465 }, + { 0x5965, 17216 }, + { 0x5966, 17449 }, + { 0x5967, 17167 }, + { 0x5968, 17481 }, + { 0x5969, 17316 }, + { 0x596A, 17477 }, + { 0x596B, 17057 }, + { 0x596C, 17171 }, + { 0x596D, 17433 }, + { 0x596E, 17497 }, + { 0x596F, 17236 }, + { 0x5970, 17469 }, + { 0x5971, 17401 }, + { 0x5972, 17240 }, + { 0x5973, 17224 }, + { 0x5974, 17409 }, + { 0x5975, 17272 }, + { 0x5976, 17413 }, + { 0x5977, 17089 }, + { 0x5978, 17085 }, + { 0x5979, 17437 }, + { 0x597A, 17199 }, + { 0x597B, 17321 }, + { 0x597C, 17264 }, + { 0x597D, 17457 }, + { 0x597E, 17143 }, + { 0x597F, 17393 }, + { 0x5980, 17175 }, + { 0x5981, 17276 }, + { 0x5982, 17385 }, + { 0x5983, 17493 }, + { 0x5984, 17405 }, + { 0x5985, 17441 }, + { 0x5986, 17179 }, + { 0x5987, 17109 }, + { 0x5988, 17445 }, + { 0x5989, 17268 }, + { 0x598A, 17077 }, + { 0x598B, 17417 }, + { 0x598C, 17337 }, + { 0x598D, 17473 }, + { 0x598E, 17308 }, + { 0x598F, 17101 }, + { 0x5990, 17312 }, + { 0x5991, 17232 }, + { 0x5992, 17377 }, + { 0x5993, 17292 }, + { 0x5994, 17069 }, + { 0x5995, 17421 }, + { 0x5996, 17429 }, + { 0x5997, 17304 }, + { 0x5998, 17212 }, + { 0x5999, 17073 }, + { 0x599A, 17248 }, + { 0x599B, 17296 }, + { 0x599C, 17461 }, + { 0x599D, 17345 }, + { 0x599E, 17191 }, + { 0x599F, 17425 }, + { 0x59A0, 17373 }, + { 0x59A1, 17365 }, + { 0x59A2, 17397 }, + { 0x59A3, 17037 }, + { 0x59A4, 17117 }, + { 0x59A5, 17155 }, + { 0x59A6, 17159 }, + { 0x59A7, 17097 }, + { 0x59A8, 17127 }, + { 0x59A9, 17325 }, + { 0x59AA, 17329 }, + { 0x59AB, 17033 }, + { 0x59AC, 17151 }, + { 0x59AD, 17041 }, + { 0x59AE, 17284 }, + { 0x59AF, 17381 }, + { 0x59B0, 17187 }, + { 0x59B1, 17049 }, + { 0x59B2, 17139 }, + { 0x59B3, 17252 }, + { 0x59B4, 17105 }, + { 0x59B5, 17045 }, + { 0x59B6, 17288 }, + { 0x59B7, 17113 }, + { 0x59B8, 17228 }, + { 0x59B9, 17081 }, + { 0x59BA, 17122 }, + { 0x59BB, 17053 }, + { 0x59BC, 17256 }, + { 0x59BD, 17203 }, + { 0x59BE, 17135 }, + { 0x59BF, 17061 }, + { 0x59C0, 17849 }, + { 0x59C1, 17955 }, + { 0x59C2, 18003 }, + { 0x59C3, 17606 }, + { 0x59C4, 17740 }, + { 0x59C5, 17810 }, + { 0x59C6, 17664 }, + { 0x59C7, 17700 }, + { 0x59C8, 17680 }, + { 0x59C9, 18087 }, + { 0x59CA, 17857 }, + { 0x59CB, 17926 }, + { 0x59CC, 17708 }, + { 0x59CD, 17861 }, + { 0x59CE, 17999 }, + { 0x59CF, 17748 }, + { 0x59D0, 17688 }, + { 0x59D1, 18135 }, + { 0x59D2, 17902 }, + { 0x59D3, 17724 }, + { 0x59D4, 17802 }, + { 0x59D5, 17614 }, + { 0x59D6, 18083 }, + { 0x59D7, 17865 }, + { 0x59D8, 17818 }, + { 0x59D9, 18075 }, + { 0x59DA, 17869 }, + { 0x59DB, 18039 }, + { 0x59DC, 18091 }, + { 0x59DD, 18035 }, + { 0x59DE, 17906 }, + { 0x59DF, 17684 }, + { 0x59E0, 18115 }, + { 0x59E1, 17826 }, + { 0x59E2, 17991 }, + { 0x59E3, 18139 }, + { 0x59E4, 18123 }, + { 0x59E5, 17626 }, + { 0x59E6, 17814 }, + { 0x59E7, 18107 }, + { 0x59E8, 17853 }, + { 0x59E9, 17950 }, + { 0x59EA, 17692 }, + { 0x59EB, 17672 }, + { 0x59EC, 17844 }, + { 0x59ED, 18143 }, + { 0x59EE, 17975 }, + { 0x59EF, 17987 }, + { 0x59F0, 17959 }, + { 0x59F1, 18059 }, + { 0x59F2, 17574 }, + { 0x59F3, 18051 }, + { 0x59F4, 17995 }, + { 0x59F5, 18047 }, + { 0x59F6, 18095 }, + { 0x59F7, 18055 }, + { 0x59F8, 17963 }, + { 0x59F9, 17806 }, + { 0x59FA, 17578 }, + { 0x59FB, 17946 }, + { 0x59FC, 18103 }, + { 0x59FD, 18131 }, + { 0x59FE, 18127 }, + { 0x59FF, 18011 }, + { 0x5A00, 17822 }, + { 0x5A01, 17894 }, + { 0x5A02, 17882 }, + { 0x5A03, 17782 }, + { 0x5A04, 17732 }, + { 0x5A05, 17798 }, + { 0x5A06, 17752 }, + { 0x5A07, 17659 }, + { 0x5A08, 17756 }, + { 0x5A09, 18007 }, + { 0x5A0A, 18015 }, + { 0x5A0B, 18043 }, + { 0x5A0C, 17979 }, + { 0x5A0D, 18071 }, + { 0x5A0E, 17594 }, + { 0x5A0F, 17983 }, + { 0x5A10, 18027 }, + { 0x5A11, 17598 }, + { 0x5A12, 17622 }, + { 0x5A13, 18119 }, + { 0x5A14, 17786 }, + { 0x5A15, 17517 }, + { 0x5A16, 17890 }, + { 0x5A17, 17910 }, + { 0x5A18, 17967 }, + { 0x5A19, 18111 }, + { 0x5A1A, 17654 }, + { 0x5A1B, 17898 }, + { 0x5A1C, 17922 }, + { 0x5A1D, 17830 }, + { 0x5A1E, 17778 }, + { 0x5A1F, 17646 }, + { 0x5A20, 17834 }, + { 0x5A21, 18067 }, + { 0x5A22, 17521 }, + { 0x5A23, 17642 }, + { 0x5A24, 17930 }, + { 0x5A25, 18023 }, + { 0x5A26, 17602 }, + { 0x5A27, 17918 }, + { 0x5A28, 17886 }, + { 0x5A29, 18099 }, + { 0x5A2A, 18019 }, + { 0x5A2B, 17560 }, + { 0x5A2C, 17526 }, + { 0x5A2D, 17590 }, + { 0x5A2E, 17873 }, + { 0x5A2F, 17505 }, + { 0x5A30, 17728 }, + { 0x5A31, 17513 }, + { 0x5A32, 17509 }, + { 0x5A33, 17610 }, + { 0x5A34, 17565 }, + { 0x5A35, 17704 }, + { 0x5A36, 17712 }, + { 0x5A37, 17838 }, + { 0x5A38, 17938 }, + { 0x5A39, 17971 }, + { 0x5A3A, 18031 }, + { 0x5A3B, 18063 }, + { 0x5A3C, 17765 }, + { 0x5A3D, 17760 }, + { 0x5A3E, 17774 }, + { 0x5A3F, 17770 }, + { 0x5A40, 17794 }, + { 0x5A41, 17914 }, + { 0x5A42, 17877 }, + { 0x5A43, 17668 }, + { 0x5A44, 17744 }, + { 0x5A45, 17586 }, + { 0x5A46, 17736 }, + { 0x5A47, 17544 }, + { 0x5A48, 17552 }, + { 0x5A49, 17934 }, + { 0x5A4A, 17676 }, + { 0x5A4B, 18079 }, + { 0x5A4C, 17650 }, + { 0x5A4D, 17696 }, + { 0x5A4E, 17942 }, + { 0x5A4F, 17531 }, + { 0x5A50, 17556 }, + { 0x5A51, 17570 }, + { 0x5A52, 17618 }, + { 0x5A53, 17540 }, + { 0x5A54, 17634 }, + { 0x5A55, 17548 }, + { 0x5A56, 17630 }, + { 0x5A57, 17720 }, + { 0x5A58, 17536 }, + { 0x5A59, 17638 }, + { 0x5A5A, 17716 }, + { 0x5A5B, 17582 }, + { 0x5A5C, 17790 }, + { 0x5A5D, 18160 }, + { 0x5A5E, 18152 }, + { 0x5A5F, 18168 }, + { 0x5A60, 18156 }, + { 0x5A61, 18240 }, + { 0x5A62, 18268 }, + { 0x5A63, 18232 }, + { 0x5A64, 18172 }, + { 0x5A65, 18248 }, + { 0x5A66, 18328 }, + { 0x5A67, 18344 }, + { 0x5A68, 18264 }, + { 0x5A69, 18296 }, + { 0x5A6A, 18348 }, + { 0x5A6B, 18148 }, + { 0x5A6C, 18260 }, + { 0x5A6D, 18336 }, + { 0x5A6E, 18200 }, + { 0x5A6F, 18332 }, + { 0x5A70, 18284 }, + { 0x5A71, 18220 }, + { 0x5A72, 18312 }, + { 0x5A73, 18192 }, + { 0x5A74, 18352 }, + { 0x5A75, 18280 }, + { 0x5A76, 18256 }, + { 0x5A77, 18208 }, + { 0x5A78, 18304 }, + { 0x5A79, 18316 }, + { 0x5A7A, 18308 }, + { 0x5A7B, 18276 }, + { 0x5A7C, 18236 }, + { 0x5A7D, 18196 }, + { 0x5A7E, 18188 }, + { 0x5A7F, 18324 }, + { 0x5A80, 18216 }, + { 0x5A81, 18360 }, + { 0x5A82, 18300 }, + { 0x5A83, 18252 }, + { 0x5A84, 18320 }, + { 0x5A85, 18212 }, + { 0x5A86, 18204 }, + { 0x5A87, 18176 }, + { 0x5A88, 18228 }, + { 0x5A89, 18164 }, + { 0x5A8A, 18292 }, + { 0x5A8B, 18244 }, + { 0x5A8C, 18180 }, + { 0x5A8D, 18184 }, + { 0x5A8E, 18288 }, + { 0x5A8F, 18272 }, + { 0x5A90, 18224 }, + { 0x5A91, 18356 }, + { 0x5A92, 18340 }, + { 0x5A93, 6329 }, + { 0x5A94, 6356 }, + { 0x5A95, 6335 }, + { 0x5A96, 6353 }, + { 0x5A97, 6299 }, + { 0x5A98, 6302 }, + { 0x5A99, 6290 }, + { 0x5A9A, 6362 }, + { 0x5A9B, 6371 }, + { 0x5A9C, 6347 }, + { 0x5A9D, 6341 }, + { 0x5A9E, 6338 }, + { 0x5A9F, 6380 }, + { 0x5AA0, 6314 }, + { 0x5AA1, 6374 }, + { 0x5AA2, 6359 }, + { 0x5AA3, 6320 }, + { 0x5AA4, 6317 }, + { 0x5AA5, 6296 }, + { 0x5AA6, 6326 }, + { 0x5AA7, 6365 }, + { 0x5AA8, 6377 }, + { 0x5AA9, 6305 }, + { 0x5AAA, 6332 }, + { 0x5AAB, 6293 }, + { 0x5AAC, 6308 }, + { 0x5AAD, 6350 }, + { 0x5AAE, 6311 }, + { 0x5AAF, 6344 }, + { 0x5AB0, 6323 }, + { 0x5AB1, 6368 }, + { 0x5AB2, 6275 }, + { 0x5AB3, 6257 }, + { 0x5AB4, 6263 }, + { 0x5AB5, 6284 }, + { 0x5AB6, 6269 }, + { 0x5AB7, 6266 }, + { 0x5AB8, 6260 }, + { 0x5AB9, 6281 }, + { 0x5ABA, 6278 }, + { 0x5ABB, 6272 }, + { 0x5ABC, 6255 }, + { 0x5ABD, 6287 }, + { 0x5ABE, 18483 }, + { 0x5ABF, 18427 }, + { 0x5AC0, 18439 }, + { 0x5AC1, 18419 }, + { 0x5AC2, 18467 }, + { 0x5AC3, 18475 }, + { 0x5AC4, 18459 }, + { 0x5AC5, 18479 }, + { 0x5AC6, 18491 }, + { 0x5AC7, 18423 }, + { 0x5AC8, 18487 }, + { 0x5AC9, 18451 }, + { 0x5ACA, 18455 }, + { 0x5ACB, 18463 }, + { 0x5ACC, 18411 }, + { 0x5ACD, 18407 }, + { 0x5ACE, 18471 }, + { 0x5ACF, 18443 }, + { 0x5AD0, 18403 }, + { 0x5AD1, 18447 }, + { 0x5AD2, 18495 }, + { 0x5AD3, 18435 }, + { 0x5AD4, 18499 }, + { 0x5AD5, 18383 }, + { 0x5AD6, 18395 }, + { 0x5AD7, 18431 }, + { 0x5AD8, 18399 }, + { 0x5AD9, 18415 }, + { 0x5ADA, 18387 }, + { 0x5ADB, 18391 }, + { 0x5ADC, 18513 }, + { 0x5ADD, 18503 }, + { 0x5ADE, 18508 }, + { 0x5ADF, 18518 }, + { 0x5AE0, 18523 }, + { 0x5AE1, 18379 }, + { 0x5AE2, 53294 }, + { 0x5AE3, 53298 }, + { 0x5AE4, 53230 }, + { 0x5AE5, 53234 }, + { 0x5AE6, 53278 }, + { 0x5AE7, 53282 }, + { 0x5AE8, 53246 }, + { 0x5AE9, 53250 }, + { 0x5AEA, 53222 }, + { 0x5AEB, 53226 }, + { 0x5AEC, 53270 }, + { 0x5AED, 53274 }, + { 0x5AEE, 53310 }, + { 0x5AEF, 53314 }, + { 0x5AF0, 53286 }, + { 0x5AF1, 53290 }, + { 0x5AF2, 53318 }, + { 0x5AF3, 53322 }, + { 0x5AF4, 53238 }, + { 0x5AF5, 53242 }, + { 0x5AF6, 53302 }, + { 0x5AF7, 53306 }, + { 0x5AF8, 53214 }, + { 0x5AF9, 53218 }, + { 0x5AFA, 53254 }, + { 0x5AFB, 53258 }, + { 0x5AFC, 53262 }, + { 0x5AFD, 53266 }, + { 0x5AFE, 53385 }, + { 0x5AFF, 53429 }, + { 0x5B00, 53369 }, + { 0x5B01, 53365 }, + { 0x5B02, 53413 }, + { 0x5B03, 53381 }, + { 0x5B04, 53409 }, + { 0x5B05, 53417 }, + { 0x5B06, 53393 }, + { 0x5B07, 53401 }, + { 0x5B08, 53373 }, + { 0x5B09, 53397 }, + { 0x5B0A, 53421 }, + { 0x5B0B, 53405 }, + { 0x5B0C, 53433 }, + { 0x5B0D, 53425 }, + { 0x5B0E, 53377 }, + { 0x5B0F, 53357 }, + { 0x5B10, 53389 }, + { 0x5B11, 53361 }, + { 0x5B12, 52976 }, + { 0x5B13, 52961 }, + { 0x5B14, 52971 }, + { 0x5B15, 52981 }, + { 0x5B16, 52986 }, + { 0x5B17, 52966 }, + { 0x5B18, 52991 }, + { 0x5B19, 53089 }, + { 0x5B1A, 53099 }, + { 0x5B1B, 53048 }, + { 0x5B1C, 53094 }, + { 0x5B1D, 53074 }, + { 0x5B1E, 53159 }, + { 0x5B1F, 53144 }, + { 0x5B20, 53149 }, + { 0x5B21, 53154 }, + { 0x5B22, 53084 }, + { 0x5B23, 53114 }, + { 0x5B24, 53079 }, + { 0x5B25, 53000 }, + { 0x5B26, 53132 }, + { 0x5B27, 53031 }, + { 0x5B28, 53198 }, + { 0x5B29, 53174 }, + { 0x5B2A, 53182 }, + { 0x5B2B, 53210 }, + { 0x5B2C, 53190 }, + { 0x5B2D, 53186 }, + { 0x5B2E, 53178 }, + { 0x5B2F, 53206 }, + { 0x5B30, 53202 }, + { 0x5B31, 53194 }, + { 0x5B32, 53336 }, + { 0x5B33, 53345 }, + { 0x5B34, 53331 }, + { 0x5B35, 53349 }, + { 0x5B36, 53340 }, + { 0x5B37, 53326 }, + { 0x5B38, 53353 }, + { 0x5B39, 53069 }, + { 0x5B3A, 53140 }, + { 0x5B3B, 53053 }, + { 0x5B3C, 53169 }, + { 0x5B3D, 53105 }, + { 0x5B3E, 53110 }, + { 0x5B3F, 53124 }, + { 0x5B40, 53136 }, + { 0x5B41, 53128 }, + { 0x5B42, 52996 }, + { 0x5B43, 53164 }, + { 0x5B44, 53119 }, + { 0x5B45, 53065 }, + { 0x5B46, 53057 }, + { 0x5B47, 53061 }, + { 0x5B48, 53017 }, + { 0x5B49, 53011 }, + { 0x5B4A, 53037 }, + { 0x5B4B, 53042 }, + { 0x5B4C, 53005 }, + { 0x5B4D, 53025 }, + { 0x5B4E, 52956 }, + { 0x5B4F, 52946 }, + { 0x5B50, 52886 }, + { 0x5B51, 52916 }, + { 0x5B52, 52951 }, + { 0x5B53, 52876 }, + { 0x5B54, 52906 }, + { 0x5B55, 52921 }, + { 0x5B56, 52931 }, + { 0x5B57, 52936 }, + { 0x5B58, 52926 }, + { 0x5B59, 52911 }, + { 0x5B5A, 52871 }, + { 0x5B5B, 52891 }, + { 0x5B5C, 52866 }, + { 0x5B5D, 52901 }, + { 0x5B5E, 52941 }, + { 0x5B5F, 52881 }, + { 0x5B60, 52896 }, + { 0x5B61, 13653 }, + { 0x5B62, 13626 }, + { 0x5B63, 13678 }, + { 0x5B64, 13742 }, + { 0x5B65, 13647 }, + { 0x5B66, 13727 }, + { 0x5B67, 13844 }, + { 0x5B68, 13632 }, + { 0x5B69, 13665 }, + { 0x5B6A, 13760 }, + { 0x5B6B, 13662 }, + { 0x5B6C, 13629 }, + { 0x5B6D, 13694 }, + { 0x5B6E, 13682 }, + { 0x5B6F, 13757 }, + { 0x5B70, 13709 }, + { 0x5B71, 13650 }, + { 0x5B72, 13733 }, + { 0x5B73, 13686 }, + { 0x5B74, 13848 }, + { 0x5B75, 13736 }, + { 0x5B76, 13790 }, + { 0x5B77, 13644 }, + { 0x5B78, 13724 }, + { 0x5B79, 13721 }, + { 0x5B7A, 13784 }, + { 0x5B7B, 13796 }, + { 0x5B7C, 13772 }, + { 0x5B7D, 13817 }, + { 0x5B7E, 13814 }, + { 0x5B7F, 13641 }, + { 0x5B80, 13635 }, + { 0x5B81, 13674 }, + { 0x5B82, 13656 }, + { 0x5B83, 13745 }, + { 0x5B84, 13730 }, + { 0x5B85, 13787 }, + { 0x5B86, 13852 }, + { 0x5B87, 13638 }, + { 0x5B88, 13671 }, + { 0x5B89, 13715 }, + { 0x5B8A, 13781 }, + { 0x5B8B, 13802 }, + { 0x5B8C, 13778 }, + { 0x5B8D, 13739 }, + { 0x5B8E, 13793 }, + { 0x5B8F, 13799 }, + { 0x5B90, 13775 }, + { 0x5B91, 13702 }, + { 0x5B92, 13698 }, + { 0x5B93, 13860 }, + { 0x5B94, 13748 }, + { 0x5B95, 13751 }, + { 0x5B96, 13763 }, + { 0x5B97, 13805 }, + { 0x5B98, 13754 }, + { 0x5B99, 13712 }, + { 0x5B9A, 13690 }, + { 0x5B9B, 13659 }, + { 0x5B9C, 13706 }, + { 0x5B9D, 13766 }, + { 0x5B9E, 13769 }, + { 0x5B9F, 13808 }, + { 0x5BA0, 13856 }, + { 0x5BA1, 13811 }, + { 0x5BA2, 13820 }, + { 0x5BA3, 13668 }, + { 0x5BA4, 13623 }, + { 0x5BA5, 13718 }, + { 0x5BA6, 13888 }, + { 0x5BA7, 13433 }, + { 0x5BA8, 13425 }, + { 0x5BA9, 13429 }, + { 0x5BAA, 13449 }, + { 0x5BAB, 13481 }, + { 0x5BAC, 13565 }, + { 0x5BAD, 13493 }, + { 0x5BAE, 13569 }, + { 0x5BAF, 13465 }, + { 0x5BB0, 13537 }, + { 0x5BB1, 13553 }, + { 0x5BB2, 13473 }, + { 0x5BB3, 13453 }, + { 0x5BB4, 13505 }, + { 0x5BB5, 13573 }, + { 0x5BB6, 13589 }, + { 0x5BB7, 13457 }, + { 0x5BB8, 13513 }, + { 0x5BB9, 13581 }, + { 0x5BBA, 13605 }, + { 0x5BBB, 13525 }, + { 0x5BBC, 13517 }, + { 0x5BBD, 13521 }, + { 0x5BBE, 13529 }, + { 0x5BBF, 13585 }, + { 0x5BC0, 13469 }, + { 0x5BC1, 13545 }, + { 0x5BC2, 13593 }, + { 0x5BC3, 13609 }, + { 0x5BC4, 13549 }, + { 0x5BC5, 13597 }, + { 0x5BC6, 13601 }, + { 0x5BC7, 13477 }, + { 0x5BC8, 13557 }, + { 0x5BC9, 13485 }, + { 0x5BCA, 13561 }, + { 0x5BCB, 13577 }, + { 0x5BCC, 13618 }, + { 0x5BCD, 13509 }, + { 0x5BCE, 13613 }, + { 0x5BCF, 13489 }, + { 0x5BD0, 13501 }, + { 0x5BD1, 13497 }, + { 0x5BD2, 13541 }, + { 0x5BD3, 13461 }, + { 0x5BD4, 13533 }, + { 0x5BD5, 13446 }, + { 0x5BD6, 13436 }, + { 0x5BD7, 13440 }, + { 0x5BD8, 13443 }, + { 0x5BD9, 13823 }, + { 0x5BDA, 13826 }, + { 0x5BDB, 13829 }, + { 0x5BDC, 13832 }, + { 0x5BDD, 13835 }, + { 0x5BDE, 13838 }, + { 0x5BDF, 13841 }, + { 0x5BE0, 13864 }, + { 0x5BE1, 13868 }, + { 0x5BE2, 13872 }, + { 0x5BE3, 13876 }, + { 0x5BE4, 13880 }, + { 0x5BE5, 13884 }, + { 0x5BE6, 55122 }, + { 0x5BE7, 55125 }, + { 0x5BE8, 55127 }, + { 0x5BE9, 55129 }, + { 0x5BEA, 55131 }, + { 0x5BEB, 55133 }, + { 0x5BEC, 55135 }, + { 0x5BED, 55137 }, + { 0x5BEE, 55139 }, + { 0x5BEF, 55141 }, + { 0x5BF0, 55143 }, + { 0x5BF1, 55145 }, + { 0x5BF2, 55147 }, + { 0x5BF3, 55149 }, + { 0x5BF4, 55151 }, + { 0x5BF5, 55153 }, + { 0x5BF6, 55155 }, + { 0x5BF7, 55157 }, + { 0x5BF8, 55159 }, + { 0x5BF9, 55161 }, + { 0x5BFA, 55163 }, + { 0x5BFB, 55165 }, + { 0x5BFC, 55167 }, + { 0x5BFD, 55169 }, + { 0x5BFE, 55171 }, + { 0x5BFF, 55173 }, + { 0x5C00, 55175 }, + { 0x5C01, 55177 }, + { 0x5C02, 55179 }, + { 0x5C03, 55181 }, + { 0x5C04, 55183 }, + { 0x5C05, 55185 }, + { 0x5C06, 55187 }, + { 0x5C07, 55189 }, + { 0x5C08, 55191 }, + { 0x5C09, 55193 }, + { 0x5C0A, 55195 }, + { 0x5C0B, 55197 }, + { 0x5C0C, 55199 }, + { 0x5C0D, 55201 }, + { 0x5C0E, 55203 }, + { 0x5C0F, 55205 }, + { 0x5C10, 55207 }, + { 0x5C11, 55209 }, + { 0x5C12, 55211 }, + { 0x5C13, 55213 }, + { 0x5C14, 55215 }, + { 0x5C15, 55217 }, + { 0x5C16, 55219 }, + { 0x5C17, 55221 }, + { 0x5C18, 55223 }, + { 0x5C19, 55225 }, + { 0x5C1A, 55227 }, + { 0x5C1B, 55229 }, + { 0x5C1C, 55231 }, + { 0x5C1D, 55233 }, + { 0x5C1E, 55235 }, + { 0x5C1F, 55237 }, + { 0x5C20, 55239 }, + { 0x5C21, 55241 }, + { 0x5C22, 55243 }, + { 0x5C23, 55245 }, + { 0x5C24, 55247 }, + { 0x5C25, 55249 }, + { 0x5C26, 55251 }, + { 0x5C27, 55253 }, + { 0x5C28, 55255 }, + { 0x5C29, 55257 }, + { 0x5C2A, 55259 }, + { 0x5C2B, 55261 }, + { 0x5C2C, 55263 }, + { 0x5C2D, 55265 }, + { 0x5C2E, 55267 }, + { 0x5C2F, 55269 }, + { 0x5C30, 55271 }, + { 0x5C31, 55273 }, + { 0x5C32, 55275 }, + { 0x5C33, 55277 }, + { 0x5C34, 55279 }, + { 0x5C35, 55281 }, + { 0x5C36, 55283 }, + { 0x5C37, 55285 }, + { 0x5C38, 55287 }, + { 0x5C39, 55289 }, + { 0x5C3A, 55291 }, + { 0x5C3B, 55293 }, + { 0x5C3C, 55295 }, + { 0x5C3D, 55297 }, + { 0x5C3E, 55299 }, + { 0x5C3F, 55301 }, + { 0x5C40, 55303 }, + { 0x5C41, 55305 }, + { 0x5C42, 55307 }, + { 0x5C43, 55309 }, + { 0x5C44, 55311 }, + { 0x5C45, 55313 }, + { 0x5C46, 55315 }, + { 0x5C47, 55317 }, + { 0x5C48, 55319 }, + { 0x5C49, 55321 }, + { 0x5C4A, 55323 }, + { 0x5C4B, 55325 }, + { 0x5C4C, 55327 }, + { 0x5C4D, 55329 }, + { 0x5C4E, 55331 }, + { 0x5C4F, 55333 }, + { 0x5C50, 55335 }, + { 0x5C51, 55337 }, + { 0x5C52, 55339 }, + { 0x5C53, 55341 }, + { 0x5C54, 55343 }, + { 0x5C55, 55345 }, + { 0x5C56, 55347 }, + { 0x5C57, 55349 }, + { 0x5C58, 55351 }, + { 0x5C59, 55353 }, + { 0x5C5A, 55355 }, + { 0x5C5B, 55357 }, + { 0x5C5C, 55359 }, + { 0x5C5D, 55361 }, + { 0x5C5E, 55363 }, + { 0x5C5F, 55365 }, + { 0x5C60, 55367 }, + { 0x5C61, 55369 }, + { 0x5C62, 55371 }, + { 0x5C63, 55373 }, + { 0x5C64, 55375 }, + { 0x5C65, 55377 }, + { 0x5C66, 55379 }, + { 0x5C67, 55381 }, + { 0x5C68, 55383 }, + { 0x5C69, 55385 }, + { 0x5C6A, 55387 }, + { 0x5C6B, 55389 }, + { 0x5C6C, 55391 }, + { 0x5C6D, 55393 }, + { 0x5C6E, 55395 }, + { 0x5C6F, 55397 }, + { 0x5C70, 55399 }, + { 0x5C71, 55401 }, + { 0x5C72, 55403 }, + { 0x5C73, 55405 }, + { 0x5C74, 55407 }, + { 0x5C75, 55409 }, + { 0x5C76, 55411 }, + { 0x5C77, 55413 }, + { 0x5C78, 55415 }, + { 0x5C79, 55417 }, + { 0x5C7A, 55419 }, + { 0x5C7B, 55421 }, + { 0x5C7C, 55423 }, + { 0x5C7D, 55425 }, + { 0x5C7E, 55427 }, + { 0x5C7F, 55429 }, + { 0x5C80, 55431 }, + { 0x5C81, 55433 }, + { 0x5C82, 55435 }, + { 0x5C83, 55437 }, + { 0x5C84, 55439 }, + { 0x5C85, 55441 }, + { 0x5C86, 55443 }, + { 0x5C87, 55445 }, + { 0x5C88, 55447 }, + { 0x5C89, 55449 }, + { 0x5C8A, 55451 }, + { 0x5C8B, 55453 }, + { 0x5C8C, 55455 }, + { 0x5C8D, 55457 }, + { 0x5C8E, 55459 }, + { 0x5C8F, 55461 }, + { 0x5C90, 55463 }, + { 0x5C91, 55465 }, + { 0x5C92, 55467 }, + { 0x5C93, 55469 }, + { 0x5C94, 55471 }, + { 0x5C95, 55473 }, + { 0x5C96, 55475 }, + { 0x5C97, 55477 }, + { 0x5C98, 55479 }, + { 0x5C99, 55481 }, + { 0x5C9A, 55483 }, + { 0x5C9B, 55485 }, + { 0x5C9C, 55487 }, + { 0x5C9D, 55489 }, + { 0x5C9E, 55491 }, + { 0x5C9F, 55493 }, + { 0x5CA0, 55495 }, + { 0x5CA1, 55497 }, + { 0x5CA2, 55499 }, + { 0x5CA3, 55501 }, + { 0x5CA4, 55503 }, + { 0x5CA5, 55505 }, + { 0x5CA6, 55507 }, + { 0x5CA7, 55509 }, + { 0x5CA8, 55511 }, + { 0x5CA9, 55513 }, + { 0x5CAA, 55515 }, + { 0x5CAB, 55517 }, + { 0x5CAC, 55519 }, + { 0x5CAD, 55521 }, + { 0x5CAE, 55523 }, + { 0x5CAF, 55525 }, + { 0x5CB0, 55527 }, + { 0x5CB1, 55529 }, + { 0x5CB2, 55531 }, + { 0x5CB3, 55533 }, + { 0x5CB4, 55535 }, + { 0x5CB5, 55537 }, + { 0x5CB6, 55539 }, + { 0x5CB7, 55541 }, + { 0x5CB8, 55543 }, + { 0x5CB9, 55545 }, + { 0x5CBA, 55547 }, + { 0x5CBB, 55549 }, + { 0x5CBC, 55551 }, + { 0x5CBD, 55553 }, + { 0x5CBE, 55555 }, + { 0x5CBF, 55557 }, + { 0x5CC0, 55559 }, + { 0x5CC1, 55561 }, + { 0x5CC2, 55563 }, + { 0x5CC3, 55565 }, + { 0x5CC4, 55567 }, + { 0x5CC5, 55569 }, + { 0x5CC6, 55571 }, + { 0x5CC7, 55573 }, + { 0x5CC8, 55575 }, + { 0x5CC9, 55577 }, + { 0x5CCA, 55579 }, + { 0x5CCB, 55581 }, + { 0x5CCC, 55583 }, + { 0x5CCD, 55585 }, + { 0x5CCE, 55587 }, + { 0x5CCF, 55589 }, + { 0x5CD0, 55591 }, + { 0x5CD1, 55593 }, + { 0x5CD2, 55595 }, + { 0x5CD3, 55597 }, + { 0x5CD4, 55599 }, + { 0x5CD5, 55601 }, + { 0x5CD6, 55603 }, + { 0x5CD7, 55605 }, + { 0x5CD8, 55607 }, + { 0x5CD9, 55609 }, + { 0x5CDA, 55611 }, + { 0x5CDB, 55613 }, + { 0x5CDC, 55615 }, + { 0x5CDD, 55617 }, + { 0x5CDE, 55619 }, + { 0x5CDF, 55621 }, + { 0x5CE0, 55623 }, + { 0x5CE1, 55625 }, + { 0x5CE2, 55627 }, + { 0x5CE3, 55629 }, + { 0x5CE4, 55631 }, + { 0x5CE5, 55633 }, + { 0x5CE6, 55635 }, + { 0x5CE7, 55637 }, + { 0x5CE8, 55639 }, + { 0x5CE9, 55641 }, + { 0x5CEA, 55643 }, + { 0x5CEB, 55645 }, + { 0x5CEC, 55647 }, + { 0x5CED, 55649 }, + { 0x5CEE, 55651 }, + { 0x5CEF, 55653 }, + { 0x5CF0, 55655 }, + { 0x5CF1, 55657 }, + { 0x5CF2, 55659 }, + { 0x5CF3, 55661 }, + { 0x5CF4, 55663 }, + { 0x5CF5, 55665 }, + { 0x5CF6, 55667 }, + { 0x5CF7, 55669 }, + { 0x5CF8, 55671 }, + { 0x5CF9, 55673 }, + { 0x5CFA, 55675 }, + { 0x5CFB, 55677 }, + { 0x5CFC, 55679 }, + { 0x5CFD, 55681 }, + { 0x5CFE, 55683 }, + { 0x5CFF, 55685 }, + { 0x5D00, 55687 }, + { 0x5D01, 55689 }, + { 0x5D02, 55691 }, + { 0x5D03, 55693 }, + { 0x5D04, 55695 }, + { 0x5D05, 55697 }, + { 0x5D06, 55699 }, + { 0x5D07, 55701 }, + { 0x5D08, 55703 }, + { 0x5D09, 55705 }, + { 0x5D0A, 55707 }, + { 0x5D0B, 55709 }, + { 0x5D0C, 55711 }, + { 0x5D0D, 55713 }, + { 0x5D0E, 55715 }, + { 0x5D0F, 55717 }, + { 0x5D10, 55719 }, + { 0x5D11, 55721 }, + { 0x5D12, 55723 }, + { 0x5D13, 55725 }, + { 0x5D14, 55727 }, + { 0x5D15, 55729 }, + { 0x5D16, 55731 }, + { 0x5D17, 55733 }, + { 0x5D18, 55735 }, + { 0x5D19, 55737 }, + { 0x5D1A, 55739 }, + { 0x5D1B, 55741 }, + { 0x5D1C, 55743 }, + { 0x5D1D, 55745 }, + { 0x5D1E, 55747 }, + { 0x5D1F, 55749 }, + { 0x5D20, 55751 }, + { 0x5D21, 55753 }, + { 0x5D22, 55755 }, + { 0x5D23, 55757 }, + { 0x5D24, 55759 }, + { 0x5D25, 55761 }, + { 0x5D26, 55763 }, + { 0x5D27, 55765 }, + { 0x5D28, 55767 }, + { 0x5D29, 55769 }, + { 0x5D2A, 55771 }, + { 0x5D2B, 55773 }, + { 0x5D2C, 55775 }, + { 0x5D2D, 55777 }, + { 0x5D2E, 55779 }, + { 0x5D2F, 55781 }, + { 0x5D30, 55783 }, + { 0x5D31, 55785 }, + { 0x5D32, 55787 }, + { 0x5D33, 55789 }, + { 0x5D34, 55791 }, + { 0x5D35, 55793 }, + { 0x5D36, 55795 }, + { 0x5D37, 55797 }, + { 0x5D38, 55799 }, + { 0x5D39, 55801 }, + { 0x5D3A, 55803 }, + { 0x5D3B, 55805 }, + { 0x5D3C, 55807 }, + { 0x5D3D, 55809 }, + { 0x5D3E, 55811 }, + { 0x5D3F, 55813 }, + { 0x5D40, 55815 }, + { 0x5D41, 55817 }, + { 0x5D42, 55819 }, + { 0x5D43, 55821 }, + { 0x5D44, 55823 }, + { 0x5D45, 55825 }, + { 0x5D46, 55827 }, + { 0x5D47, 55829 }, + { 0x5D48, 55831 }, + { 0x5D49, 55833 }, + { 0x5D4A, 55835 }, + { 0x5D4B, 55837 }, + { 0x5D4C, 55839 }, + { 0x5D4D, 55841 }, + { 0x5D4E, 55843 }, + { 0x5D4F, 55845 }, + { 0x5D50, 55847 }, + { 0x5D51, 55849 }, + { 0x5D52, 55851 }, + { 0x5D53, 55853 }, + { 0x5D54, 55855 }, + { 0x5D55, 55857 }, + { 0x5D56, 55859 }, + { 0x5D57, 55861 }, + { 0x5D58, 55863 }, + { 0x5D59, 55865 }, + { 0x5D5A, 55867 }, + { 0x5D5B, 55869 }, + { 0x5D5C, 55871 }, + { 0x5D5D, 55873 }, + { 0x5D5E, 55875 }, + { 0x5D5F, 55877 }, + { 0x5D60, 55879 }, + { 0x5D61, 55881 }, + { 0x5D62, 55883 }, + { 0x5D63, 55885 }, + { 0x5D64, 55887 }, + { 0x5D65, 55889 }, + { 0x5D66, 55891 }, + { 0x5D67, 55893 }, + { 0x5D68, 55895 }, + { 0x5D69, 55897 }, + { 0x5D6A, 55899 }, + { 0x5D6B, 55901 }, + { 0x5D6C, 55903 }, + { 0x5D6D, 55905 }, + { 0x5D6E, 55907 }, + { 0x5D6F, 55909 }, + { 0x5D70, 55911 }, + { 0x5D71, 55913 }, + { 0x5D72, 55915 }, + { 0x5D73, 55917 }, + { 0x5D74, 55919 }, + { 0x5D75, 55921 }, + { 0x5D76, 55923 }, + { 0x5D77, 55925 }, + { 0x5D78, 55927 }, + { 0x5D79, 55929 }, + { 0x5D7A, 55931 }, + { 0x5D7B, 55933 }, + { 0x5D7C, 55935 }, + { 0x5D7D, 55937 }, + { 0x5D7E, 55939 }, + { 0x5D7F, 55941 }, + { 0x5D80, 55943 }, + { 0x5D81, 55945 }, + { 0x5D82, 55947 }, + { 0x5D83, 55949 }, + { 0x5D84, 55951 }, + { 0x5D85, 55953 }, + { 0x5D86, 55955 }, + { 0x5D87, 55957 }, + { 0x5D88, 55959 }, + { 0x5D89, 55961 }, + { 0x5D8A, 55963 }, + { 0x5D8B, 55965 }, + { 0x5D8C, 55967 }, + { 0x5D8D, 55969 }, + { 0x5D8E, 55971 }, + { 0x5D8F, 55973 }, + { 0x5D90, 55975 }, + { 0x5D91, 55977 }, + { 0x5D92, 55979 }, + { 0x5D93, 55981 }, + { 0x5D94, 55983 }, + { 0x5D95, 55985 }, + { 0x5D96, 55987 }, + { 0x5D97, 55989 }, + { 0x5D98, 55991 }, + { 0x5D99, 55993 }, + { 0x5D9A, 55995 }, + { 0x5D9B, 55997 }, + { 0x5D9C, 55999 }, + { 0x5D9D, 56001 }, + { 0x5D9E, 56003 }, + { 0x5D9F, 56005 }, + { 0x5DA0, 56007 }, + { 0x5DA1, 56009 }, + { 0x5DA2, 56011 }, + { 0x5DA3, 56013 }, + { 0x5DA4, 56015 }, + { 0x5DA5, 56017 }, + { 0x5DA6, 56019 }, + { 0x5DA7, 56021 }, + { 0x5DA8, 56023 }, + { 0x5DA9, 56025 }, + { 0x5DAA, 56027 }, + { 0x5DAB, 56029 }, + { 0x5DAC, 56031 }, + { 0x5DAD, 56033 }, + { 0x5DAE, 56035 }, + { 0x5DAF, 56037 }, + { 0x5DB0, 56039 }, + { 0x5DB1, 56041 }, + { 0x5DB2, 56043 }, + { 0x5DB3, 56045 }, + { 0x5DB4, 56047 }, + { 0x5DB5, 56049 }, + { 0x5DB6, 56051 }, + { 0x5DB7, 56053 }, + { 0x5DB8, 56055 }, + { 0x5DB9, 56057 }, + { 0x5DBA, 56059 }, + { 0x5DBB, 56061 }, + { 0x5DBC, 56063 }, + { 0x5DBD, 56065 }, + { 0x5DBE, 56067 }, + { 0x5DBF, 56069 }, + { 0x5DC0, 56071 }, + { 0x5DC1, 56073 }, + { 0x5DC2, 56075 }, + { 0x5DC3, 56077 }, + { 0x5DC4, 56079 }, + { 0x5DC5, 56081 }, + { 0x5DC6, 56083 }, + { 0x5DC7, 56085 }, + { 0x5DC8, 56087 }, + { 0x5DC9, 56089 }, + { 0x5DCA, 56091 }, + { 0x5DCB, 56093 }, + { 0x5DCC, 56095 }, + { 0x5DCD, 56097 }, + { 0x5DCE, 56099 }, + { 0x5DCF, 56101 }, + { 0x5DD0, 56103 }, + { 0x5DD1, 56105 }, + { 0x5DD2, 56107 }, + { 0x5DD3, 56109 }, + { 0x5DD4, 56111 }, + { 0x5DD5, 56113 }, + { 0x5DD6, 56115 }, + { 0x5DD7, 56117 }, + { 0x5DD8, 56119 }, + { 0x5DD9, 56121 }, + { 0x5DDA, 56123 }, + { 0x5DDB, 56125 }, + { 0x5DDC, 56127 }, + { 0x5DDD, 56129 }, + { 0x5DDE, 56131 }, + { 0x5DDF, 56133 }, + { 0x5DE0, 56135 }, + { 0x5DE1, 56137 }, + { 0x5DE2, 56139 }, + { 0x5DE3, 56141 }, + { 0x5DE4, 56143 }, + { 0x5DE5, 56145 }, + { 0x5DE6, 56147 }, + { 0x5DE7, 56149 }, + { 0x5DE8, 56151 }, + { 0x5DE9, 56153 }, + { 0x5DEA, 56155 }, + { 0x5DEB, 56157 }, + { 0x5DEC, 56159 }, + { 0x5DED, 56161 }, + { 0x5DEE, 56163 }, + { 0x5DEF, 56165 }, + { 0x5DF0, 56167 }, + { 0x5DF1, 56169 }, + { 0x5DF2, 56171 }, + { 0x5DF3, 56173 }, + { 0x5DF4, 56175 }, + { 0x5DF5, 56177 }, + { 0x5DF6, 56179 }, + { 0x5DF7, 56181 }, + { 0x5DF8, 56183 }, + { 0x5DF9, 56185 }, + { 0x5DFA, 56187 }, + { 0x5DFB, 56189 }, + { 0x5DFC, 56191 }, + { 0x5DFD, 56193 }, + { 0x5DFE, 56195 }, + { 0x5DFF, 56197 }, + { 0x5E00, 56199 }, + { 0x5E01, 56201 }, + { 0x5E02, 56203 }, + { 0x5E03, 56205 }, + { 0x5E04, 56207 }, + { 0x5E05, 56209 }, + { 0x5E06, 56211 }, + { 0x5E07, 56213 }, + { 0x5E08, 56215 }, + { 0x5E09, 56217 }, + { 0x5E0A, 56219 }, + { 0x5E0B, 56221 }, + { 0x5E0C, 56223 }, + { 0x5E0D, 56225 }, + { 0x5E0E, 56227 }, + { 0x5E0F, 56229 }, + { 0x5E10, 56231 }, + { 0x5E11, 56233 }, + { 0x5E12, 56235 }, + { 0x5E13, 56237 }, + { 0x5E14, 56239 }, + { 0x5E15, 56241 }, + { 0x5E16, 56243 }, + { 0x5E17, 56245 }, + { 0x5E18, 56247 }, + { 0x5E19, 56249 }, + { 0x5E1A, 56251 }, + { 0x5E1B, 56253 }, + { 0x5E1C, 56255 }, + { 0x5E1D, 56257 }, + { 0x5E1E, 56259 }, + { 0x5E1F, 56261 }, + { 0x5E20, 56263 }, + { 0x5E21, 56265 }, + { 0x5E22, 56267 }, + { 0x5E23, 56269 }, + { 0x5E24, 56271 }, + { 0x5E25, 56273 }, + { 0x5E26, 56275 }, + { 0x5E27, 56277 }, + { 0x5E28, 56279 }, + { 0x5E29, 56281 }, + { 0x5E2A, 56283 }, + { 0x5E2B, 56285 }, + { 0x5E2C, 56287 }, + { 0x5E2D, 56289 }, + { 0x5E2E, 56291 }, + { 0x5E2F, 56293 }, + { 0x5E30, 56295 }, + { 0x5E31, 56297 }, + { 0x5E32, 56299 }, + { 0x5E33, 56301 }, + { 0x5E34, 56303 }, + { 0x5E35, 56305 }, + { 0x5E36, 56307 }, + { 0x5E37, 56309 }, + { 0x5E38, 56311 }, + { 0x5E39, 56313 }, + { 0x5E3A, 56315 }, + { 0x5E3B, 56317 }, + { 0x5E3C, 56319 }, + { 0x5E3D, 56321 }, + { 0x5E3E, 56323 }, + { 0x5E3F, 56325 }, + { 0x5E40, 56327 }, + { 0x5E41, 56329 }, + { 0x5E42, 56331 }, + { 0x5E43, 56333 }, + { 0x5E44, 56335 }, + { 0x5E45, 56337 }, + { 0x5E46, 56339 }, + { 0x5E47, 56341 }, + { 0x5E48, 56343 }, + { 0x5E49, 56345 }, + { 0x5E4A, 56347 }, + { 0x5E4B, 56349 }, + { 0x5E4C, 56351 }, + { 0x5E4D, 56353 }, + { 0x5E4E, 56355 }, + { 0x5E4F, 56357 }, + { 0x5E50, 56359 }, + { 0x5E51, 56361 }, + { 0x5E52, 56363 }, + { 0x5E53, 56365 }, + { 0x5E54, 56367 }, + { 0x5E55, 56369 }, + { 0x5E56, 56371 }, + { 0x5E57, 56373 }, + { 0x5E58, 56375 }, + { 0x5E59, 56377 }, + { 0x5E5A, 56379 }, + { 0x5E5B, 56381 }, + { 0x5E5C, 56383 }, + { 0x5E5D, 56385 }, + { 0x5E5E, 56387 }, + { 0x5E5F, 56389 }, + { 0x5E60, 56391 }, + { 0x5E61, 56393 }, + { 0x5E62, 56395 }, + { 0x5E63, 56397 }, + { 0x5E64, 56399 }, + { 0x5E65, 56401 }, + { 0x5E66, 56403 }, + { 0x5E67, 56405 }, + { 0x5E68, 56407 }, + { 0x5E69, 56409 }, + { 0x5E6A, 56411 }, + { 0x5E6B, 56413 }, + { 0x5E6C, 56415 }, + { 0x5E6D, 56417 }, + { 0x5E6E, 56419 }, + { 0x5E6F, 56421 }, + { 0x5E70, 56423 }, + { 0x5E71, 56425 }, + { 0x5E72, 56427 }, + { 0x5E73, 56429 }, + { 0x5E74, 56431 }, + { 0x5E75, 56433 }, + { 0x5E76, 56435 }, + { 0x5E77, 56437 }, + { 0x5E78, 56439 }, + { 0x5E79, 56441 }, + { 0x5E7A, 56443 }, + { 0x5E7B, 56445 }, + { 0x5E7C, 56447 }, + { 0x5E7D, 56449 }, + { 0x5E7E, 56451 }, + { 0x5E7F, 56453 }, + { 0x5E80, 56455 }, + { 0x5E81, 56457 }, + { 0x5E82, 56459 }, + { 0x5E83, 56461 }, + { 0x5E84, 56463 }, + { 0x5E85, 56465 }, + { 0x5E86, 56467 }, + { 0x5E87, 56469 }, + { 0x5E88, 56471 }, + { 0x5E89, 56473 }, + { 0x5E8A, 56475 }, + { 0x5E8B, 56477 }, + { 0x5E8C, 56479 }, + { 0x5E8D, 56481 }, + { 0x5E8E, 56483 }, + { 0x5E8F, 56485 }, + { 0x5E90, 56487 }, + { 0x5E91, 56489 }, + { 0x5E92, 56491 }, + { 0x5E93, 56493 }, + { 0x5E94, 56495 }, + { 0x5E95, 56497 }, + { 0x5E96, 56499 }, + { 0x5E97, 56501 }, + { 0x5E98, 56503 }, + { 0x5E99, 56505 }, + { 0x5E9A, 56507 }, + { 0x5E9B, 56509 }, + { 0x5E9C, 56511 }, + { 0x5E9D, 56513 }, + { 0x5E9E, 56515 }, + { 0x5E9F, 56517 }, + { 0x5EA0, 56519 }, + { 0x5EA1, 56521 }, + { 0x5EA2, 56523 }, + { 0x5EA3, 56525 }, + { 0x5EA4, 56527 }, + { 0x5EA5, 56529 }, + { 0x5EA6, 56531 }, + { 0x5EA7, 56533 }, + { 0x5EA8, 56535 }, + { 0x5EA9, 56537 }, + { 0x5EAA, 56539 }, + { 0x5EAB, 56541 }, + { 0x5EAC, 56543 }, + { 0x5EAD, 56545 }, + { 0x5EAE, 56547 }, + { 0x5EAF, 56549 }, + { 0x5EB0, 56551 }, + { 0x5EB1, 56553 }, + { 0x5EB2, 56555 }, + { 0x5EB3, 56557 }, + { 0x5EB4, 56559 }, + { 0x5EB5, 56561 }, + { 0x5EB6, 56563 }, + { 0x5EB7, 56565 }, + { 0x5EB8, 56567 }, + { 0x5EB9, 56569 }, + { 0x5EBA, 56571 }, + { 0x5EBB, 56573 }, + { 0x5EBC, 56575 }, + { 0x5EBD, 56577 }, + { 0x5EBE, 56579 }, + { 0x5EBF, 56581 }, + { 0x5EC0, 56583 }, + { 0x5EC1, 56585 }, + { 0x5EC2, 56587 }, + { 0x5EC3, 56589 }, + { 0x5EC4, 56591 }, + { 0x5EC5, 56593 }, + { 0x5EC6, 56595 }, + { 0x5EC7, 56597 }, + { 0x5EC8, 56599 }, + { 0x5EC9, 56601 }, + { 0x5ECA, 56603 }, + { 0x5ECB, 56605 }, + { 0x5ECC, 56607 }, + { 0x5ECD, 56609 }, + { 0x5ECE, 56611 }, + { 0x5ECF, 56613 }, + { 0x5ED0, 56615 }, + { 0x5ED1, 56617 }, + { 0x5ED2, 56619 }, + { 0x5ED3, 56621 }, + { 0x5ED4, 56623 }, + { 0x5ED5, 56625 }, + { 0x5ED6, 56627 }, + { 0x5ED7, 56629 }, + { 0x5ED8, 56631 }, + { 0x5ED9, 56633 }, + { 0x5EDA, 83074 }, + { 0x5EDB, 82178 }, + { 0x5EDC, 75427 }, + { 0x5EDD, 75642 }, + { 0x5EDE, 75537 }, + { 0x5EDF, 75613 }, + { 0x5EE0, 75412 }, + { 0x5EE1, 75477 }, + { 0x5EE2, 75489 }, + { 0x5EE3, 75399 }, + { 0x5EE4, 75402 }, + { 0x5EE5, 75632 }, + { 0x5EE6, 75419 }, + { 0x5EE7, 75544 }, + { 0x5EE8, 75540 }, + { 0x5EE9, 75405 }, + { 0x5EEA, 75415 }, + { 0x5EEB, 75480 }, + { 0x5EEC, 75547 }, + { 0x5EED, 75678 }, + { 0x5EEE, 75757 }, + { 0x5EEF, 75645 }, + { 0x5EF0, 75660 }, + { 0x5EF1, 75745 }, + { 0x5EF2, 75654 }, + { 0x5EF3, 75663 }, + { 0x5EF4, 75675 }, + { 0x5EF5, 75492 }, + { 0x5EF6, 75513 }, + { 0x5EF7, 75433 }, + { 0x5EF8, 75551 }, + { 0x5EF9, 75495 }, + { 0x5EFA, 75516 }, + { 0x5EFB, 75436 }, + { 0x5EFC, 75554 }, + { 0x5EFD, 75508 }, + { 0x5EFE, 75529 }, + { 0x5EFF, 75464 }, + { 0x5F00, 75469 }, + { 0x5F01, 75602 }, + { 0x5F02, 75607 }, + { 0x5F03, 75504 }, + { 0x5F04, 75525 }, + { 0x5F05, 75454 }, + { 0x5F06, 75589 }, + { 0x5F07, 75499 }, + { 0x5F08, 75520 }, + { 0x5F09, 75440 }, + { 0x5F0A, 75558 }, + { 0x5F0B, 75458 }, + { 0x5F0C, 75445 }, + { 0x5F0D, 75449 }, + { 0x5F0E, 75593 }, + { 0x5F0F, 75597 }, + { 0x5F10, 75580 }, + { 0x5F11, 75584 }, + { 0x5F12, 75621 }, + { 0x5F13, 75616 }, + { 0x5F14, 75635 }, + { 0x5F15, 75690 }, + { 0x5F16, 75638 }, + { 0x5F17, 75576 }, + { 0x5F18, 75572 }, + { 0x5F19, 75484 }, + { 0x5F1A, 75422 }, + { 0x5F1B, 75563 }, + { 0x5F1C, 75567 }, + { 0x5F1D, 75396 }, + { 0x5F1E, 75777 }, + { 0x5F1F, 75666 }, + { 0x5F20, 75534 }, + { 0x5F21, 75705 }, + { 0x5F22, 75430 }, + { 0x5F23, 75409 }, + { 0x5F24, 75657 }, + { 0x5F25, 75741 }, + { 0x5F26, 75684 }, + { 0x5F27, 75648 }, + { 0x5F28, 75765 }, + { 0x5F29, 75793 }, + { 0x5F2A, 75761 }, + { 0x5F2B, 75717 }, + { 0x5F2C, 75702 }, + { 0x5F2D, 75625 }, + { 0x5F2E, 75651 }, + { 0x5F2F, 75699 }, + { 0x5F30, 75628 }, + { 0x5F31, 75721 }, + { 0x5F32, 75797 }, + { 0x5F33, 75681 }, + { 0x5F34, 75749 }, + { 0x5F35, 75708 }, + { 0x5F36, 75672 }, + { 0x5F37, 75669 }, + { 0x5F38, 75687 }, + { 0x5F39, 75696 }, + { 0x5F3A, 75693 }, + { 0x5F3B, 75711 }, + { 0x5F3C, 75714 }, + { 0x5F3D, 75737 }, + { 0x5F3E, 75733 }, + { 0x5F3F, 75729 }, + { 0x5F40, 75725 }, + { 0x5F41, 75785 }, + { 0x5F42, 75781 }, + { 0x5F43, 75769 }, + { 0x5F44, 75753 }, + { 0x5F45, 75773 }, + { 0x5F46, 75789 }, + { 0x5F47, 75347 }, + { 0x5F48, 75299 }, + { 0x5F49, 75352 }, + { 0x5F4A, 75289 }, + { 0x5F4B, 75294 }, + { 0x5F4C, 75342 }, + { 0x5F4D, 75371 }, + { 0x5F4E, 75384 }, + { 0x5F4F, 75375 }, + { 0x5F50, 75367 }, + { 0x5F51, 75357 }, + { 0x5F52, 75362 }, + { 0x5F53, 75379 }, + { 0x5F54, 75321 }, + { 0x5F55, 75329 }, + { 0x5F56, 75325 }, + { 0x5F57, 75312 }, + { 0x5F58, 75304 }, + { 0x5F59, 75334 }, + { 0x5F5A, 75308 }, + { 0x5F5B, 75317 }, + { 0x5F5C, 75338 }, + { 0x5F5D, 75264 }, + { 0x5F5E, 75276 }, + { 0x5F5F, 75272 }, + { 0x5F60, 75255 }, + { 0x5F61, 75247 }, + { 0x5F62, 75281 }, + { 0x5F63, 75251 }, + { 0x5F64, 75260 }, + { 0x5F65, 75285 }, + { 0x5F66, 75268 }, + { 0x5F67, 75242 }, + { 0x5F68, 75389 }, + { 0x5F69, 75393 }, + { 0x5F6A, 75801 }, + { 0x5F6B, 102045 }, + { 0x5F6C, 102049 }, + { 0x5F6D, 102041 }, + { 0x5F6E, 102037 }, + { 0x5F6F, 89160 }, + { 0x5F70, 89194 }, + { 0x5F71, 90187 }, + { 0x5F72, 89155 }, + { 0x5F73, 89150 }, + { 0x5F74, 89531 }, + { 0x5F75, 89526 }, + { 0x5F76, 89826 }, + { 0x5F77, 90092 }, + { 0x5F78, 90173 }, + { 0x5F79, 90100 }, + { 0x5F7A, 90104 }, + { 0x5F7B, 89843 }, + { 0x5F7C, 89108 }, + { 0x5F7D, 89017 }, + { 0x5F7E, 89513 }, + { 0x5F7F, 90042 }, + { 0x5F80, 90125 }, + { 0x5F81, 90134 }, + { 0x5F82, 89718 }, + { 0x5F83, 89181 }, + { 0x5F84, 89472 }, + { 0x5F85, 89390 }, + { 0x5F86, 89496 }, + { 0x5F87, 89753 }, + { 0x5F88, 89185 }, + { 0x5F89, 89031 }, + { 0x5F8A, 89649 }, + { 0x5F8B, 90064 }, + { 0x5F8C, 89941 }, + { 0x5F8D, 89928 }, + { 0x5F8E, 89697 }, + { 0x5F8F, 89481 }, + { 0x5F90, 89730 }, + { 0x5F91, 89744 }, + { 0x5F92, 89749 }, + { 0x5F93, 89418 }, + { 0x5F94, 89164 }, + { 0x5F95, 89491 }, + { 0x5F96, 89726 }, + { 0x5F97, 90201 }, + { 0x5F98, 89500 }, + { 0x5F99, 89713 }, + { 0x5F9A, 89707 }, + { 0x5F9B, 90078 }, + { 0x5F9C, 89172 }, + { 0x5F9D, 89141 }, + { 0x5F9E, 89013 }, + { 0x5F9F, 89046 }, + { 0x5FA0, 89722 }, + { 0x5FA1, 90069 }, + { 0x5FA2, 89102 }, + { 0x5FA3, 89306 }, + { 0x5FA4, 90034 }, + { 0x5FA5, 90005 }, + { 0x5FA6, 89413 }, + { 0x5FA7, 89932 }, + { 0x5FA8, 90083 }, + { 0x5FA9, 89830 }, + { 0x5FAA, 89762 }, + { 0x5FAB, 89689 }, + { 0x5FAC, 90168 }, + { 0x5FAD, 90182 }, + { 0x5FAE, 89627 }, + { 0x5FAF, 89036 }, + { 0x5FB0, 89681 }, + { 0x5FB1, 89834 }, + { 0x5FB2, 90000 }, + { 0x5FB3, 90209 }, + { 0x5FB4, 90205 }, + { 0x5FB5, 89026 }, + { 0x5FB6, 89467 }, + { 0x5FB7, 89145 }, + { 0x5FB8, 89685 }, + { 0x5FB9, 89839 }, + { 0x5FBA, 90241 }, + { 0x5FBB, 90233 }, + { 0x5FBC, 89936 }, + { 0x5FBD, 90046 }, + { 0x5FBE, 89631 }, + { 0x5FBF, 89569 }, + { 0x5FC0, 90129 }, + { 0x5FC1, 90119 }, + { 0x5FC2, 89735 }, + { 0x5FC3, 90237 }, + { 0x5FC4, 89616 }, + { 0x5FC5, 89608 }, + { 0x5FC6, 89462 }, + { 0x5FC7, 89521 }, + { 0x5FC8, 89486 }, + { 0x5FC9, 90087 }, + { 0x5FCA, 89477 }, + { 0x5FCB, 90109 }, + { 0x5FCC, 89677 }, + { 0x5FCD, 90177 }, + { 0x5FCE, 90163 }, + { 0x5FCF, 89236 }, + { 0x5FD0, 89673 }, + { 0x5FD1, 90229 }, + { 0x5FD2, 89995 }, + { 0x5FD3, 90139 }, + { 0x5FD4, 89702 }, + { 0x5FD5, 89168 }, + { 0x5FD6, 89757 }, + { 0x5FD7, 89818 }, + { 0x5FD8, 89504 }, + { 0x5FD9, 89189 }, + { 0x5FDA, 90253 }, + { 0x5FDB, 90245 }, + { 0x5FDC, 90221 }, + { 0x5FDD, 90257 }, + { 0x5FDE, 90261 }, + { 0x5FDF, 90225 }, + { 0x5FE0, 90249 }, + { 0x5FE1, 90217 }, + { 0x5FE2, 90213 }, + { 0x5FE3, 89241 }, + { 0x5FE4, 90073 }, + { 0x5FE5, 90191 }, + { 0x5FE6, 90196 }, + { 0x5FE7, 89176 }, + { 0x5FE8, 89040 }, + { 0x5FE9, 90038 }, + { 0x5FEA, 90015 }, + { 0x5FEB, 89055 }, + { 0x5FEC, 89050 }, + { 0x5FED, 89693 }, + { 0x5FEE, 89422 }, + { 0x5FEF, 89136 }, + { 0x5FF0, 89668 }, + { 0x5FF1, 89663 }, + { 0x5FF2, 89658 }, + { 0x5FF3, 89739 }, + { 0x5FF4, 89022 }, + { 0x5FF5, 89132 }, + { 0x5FF6, 89517 }, + { 0x5FF7, 89991 }, + { 0x5FF8, 89654 }, + { 0x5FF9, 89438 }, + { 0x5FFA, 89432 }, + { 0x5FFB, 89444 }, + { 0x5FFC, 89456 }, + { 0x5FFD, 89450 }, + { 0x5FFE, 89378 }, + { 0x5FFF, 89401 }, + { 0x6000, 89395 }, + { 0x6001, 89789 }, + { 0x6002, 89806 }, + { 0x6003, 89799 }, + { 0x6004, 89793 }, + { 0x6005, 90096 }, + { 0x6006, 89113 }, + { 0x6007, 90155 }, + { 0x6008, 89612 }, + { 0x6009, 89070 }, + { 0x600A, 89092 }, + { 0x600B, 89060 }, + { 0x600C, 89087 }, + { 0x600D, 89065 }, + { 0x600E, 89082 }, + { 0x600F, 89097 }, + { 0x6010, 89076 }, + { 0x6011, 89867 }, + { 0x6012, 89847 }, + { 0x6013, 89898 }, + { 0x6014, 89854 }, + { 0x6015, 89873 }, + { 0x6016, 89917 }, + { 0x6017, 89904 }, + { 0x6018, 89910 }, + { 0x6019, 89879 }, + { 0x601A, 89885 }, + { 0x601B, 89407 }, + { 0x601C, 90113 }, + { 0x601D, 90029 }, + { 0x601E, 90024 }, + { 0x601F, 90019 }, + { 0x6020, 89861 }, + { 0x6021, 89922 }, + { 0x6022, 89891 }, + { 0x6023, 90143 }, + { 0x6024, 90149 }, + { 0x6025, 89620 }, + { 0x6026, 89822 }, + { 0x6027, 90159 }, + { 0x6028, 89311 }, + { 0x6029, 89344 }, + { 0x602A, 89356 }, + { 0x602B, 89260 }, + { 0x602C, 89318 }, + { 0x602D, 89299 }, + { 0x602E, 89324 }, + { 0x602F, 89350 }, + { 0x6030, 89337 }, + { 0x6031, 89330 }, + { 0x6032, 89271 }, + { 0x6033, 89278 }, + { 0x6034, 89246 }, + { 0x6035, 89292 }, + { 0x6036, 89266 }, + { 0x6037, 89117 }, + { 0x6038, 89122 }, + { 0x6039, 89127 }, + { 0x603A, 89253 }, + { 0x603B, 89362 }, + { 0x603C, 89564 }, + { 0x603D, 89226 }, + { 0x603E, 89231 }, + { 0x603F, 89198 }, + { 0x6040, 89219 }, + { 0x6041, 89205 }, + { 0x6042, 89212 }, + { 0x6043, 89536 }, + { 0x6044, 89557 }, + { 0x6045, 89543 }, + { 0x6046, 89550 }, + { 0x6047, 89368 }, + { 0x6048, 89373 }, + { 0x6049, 89767 }, + { 0x604A, 89773 }, + { 0x604B, 89779 }, + { 0x604C, 89784 }, + { 0x604D, 89968 }, + { 0x604E, 89973 }, + { 0x604F, 89979 }, + { 0x6050, 89985 }, + { 0x6051, 89945 }, + { 0x6052, 89950 }, + { 0x6053, 89956 }, + { 0x6054, 89962 }, + { 0x6055, 89813 }, + { 0x6056, 90010 }, + { 0x6057, 89509 }, + { 0x6058, 89593 }, + { 0x6059, 89603 }, + { 0x605A, 89578 }, + { 0x605B, 89573 }, + { 0x605C, 89583 }, + { 0x605D, 89598 }, + { 0x605E, 89588 }, + { 0x605F, 90058 }, + { 0x6060, 89643 }, + { 0x6061, 90052 }, + { 0x6062, 89637 }, + { 0x6063, 89427 }, + { 0x6064, 89384 }, + { 0x6065, 62894 }, + { 0x6066, 62792 }, + { 0x6067, 62672 }, + { 0x6068, 63027 }, + { 0x6069, 62776 }, + { 0x606A, 62738 }, + { 0x606B, 62605 }, + { 0x606C, 62722 }, + { 0x606D, 62890 }, + { 0x606E, 62517 }, + { 0x606F, 62506 }, + { 0x6070, 62727 }, + { 0x6071, 62558 }, + { 0x6072, 63108 }, + { 0x6073, 63112 }, + { 0x6074, 63116 }, + { 0x6075, 62991 }, + { 0x6076, 62994 }, + { 0x6077, 62753 }, + { 0x6078, 62978 }, + { 0x6079, 62663 }, + { 0x607A, 62975 }, + { 0x607B, 63060 }, + { 0x607C, 63193 }, + { 0x607D, 63411 }, + { 0x607E, 63331 }, + { 0x607F, 63327 }, + { 0x6080, 63120 }, + { 0x6081, 63407 }, + { 0x6082, 63418 }, + { 0x6083, 62483 }, + { 0x6084, 62487 }, + { 0x6085, 62493 }, + { 0x6086, 62463 }, + { 0x6087, 62467 }, + { 0x6088, 62471 }, + { 0x6089, 62477 }, + { 0x608A, 62568 }, + { 0x608B, 62572 }, + { 0x608C, 63051 }, + { 0x608D, 62788 }, + { 0x608E, 62784 }, + { 0x608F, 62576 }, + { 0x6090, 62580 }, + { 0x6091, 62998 }, + { 0x6092, 63002 }, + { 0x6093, 62730 }, + { 0x6094, 62734 }, + { 0x6095, 63022 }, + { 0x6096, 63017 }, + { 0x6097, 62772 }, + { 0x6098, 62513 }, + { 0x6099, 62882 }, + { 0x609A, 62886 }, + { 0x609B, 63435 }, + { 0x609C, 63439 }, + { 0x609D, 62706 }, + { 0x609E, 62749 }, + { 0x609F, 62596 }, + { 0x60A0, 63013 }, + { 0x60A1, 62800 }, + { 0x60A2, 63371 }, + { 0x60A3, 63455 }, + { 0x60A4, 63447 }, + { 0x60A5, 62548 }, + { 0x60A6, 62499 }, + { 0x60A7, 62624 }, + { 0x60A8, 62764 }, + { 0x60A9, 62907 }, + { 0x60AA, 62902 }, + { 0x60AB, 63151 }, + { 0x60AC, 63131 }, + { 0x60AD, 63175 }, + { 0x60AE, 63169 }, + { 0x60AF, 63187 }, + { 0x60B0, 63181 }, + { 0x60B1, 63163 }, + { 0x60B2, 63157 }, + { 0x60B3, 63144 }, + { 0x60B4, 63137 }, + { 0x60B5, 62615 }, + { 0x60B6, 62610 }, + { 0x60B7, 63465 }, + { 0x60B8, 63459 }, + { 0x60B9, 63428 }, + { 0x60BA, 62639 }, + { 0x60BB, 63056 }, + { 0x60BC, 62620 }, + { 0x60BD, 62986 }, + { 0x60BE, 62981 }, + { 0x60BF, 62666 }, + { 0x60C0, 62745 }, + { 0x60C1, 62592 }, + { 0x60C2, 63009 }, + { 0x60C3, 62796 }, + { 0x60C4, 63367 }, + { 0x60C5, 63451 }, + { 0x60C6, 63443 }, + { 0x60C7, 62542 }, + { 0x60C8, 63228 }, + { 0x60C9, 63307 }, + { 0x60CA, 63290 }, + { 0x60CB, 63294 }, + { 0x60CC, 63298 }, + { 0x60CD, 63035 }, + { 0x60CE, 63039 }, + { 0x60CF, 63043 }, + { 0x60D0, 63302 }, + { 0x60D1, 63249 }, + { 0x60D2, 63253 }, + { 0x60D3, 63257 }, + { 0x60D4, 63261 }, + { 0x60D5, 63265 }, + { 0x60D6, 62651 }, + { 0x60D7, 62530 }, + { 0x60D8, 62647 }, + { 0x60D9, 62526 }, + { 0x60DA, 62655 }, + { 0x60DB, 62534 }, + { 0x60DC, 62659 }, + { 0x60DD, 62538 }, + { 0x60DE, 63240 }, + { 0x60DF, 63286 }, + { 0x60E0, 63269 }, + { 0x60E1, 63312 }, + { 0x60E2, 63278 }, + { 0x60E3, 63320 }, + { 0x60E4, 63316 }, + { 0x60E5, 63232 }, + { 0x60E6, 63375 }, + { 0x60E7, 63379 }, + { 0x60E8, 63210 }, + { 0x60E9, 63202 }, + { 0x60EA, 63219 }, + { 0x60EB, 63236 }, + { 0x60EC, 63206 }, + { 0x60ED, 63244 }, + { 0x60EE, 63273 }, + { 0x60EF, 63432 }, + { 0x60F0, 62912 }, + { 0x60F1, 62503 }, + { 0x60F2, 62719 }, + { 0x60F3, 62703 }, + { 0x60F4, 62676 }, + { 0x60F5, 63324 }, + { 0x60F6, 63415 }, + { 0x60F7, 62685 }, + { 0x60F8, 62679 }, + { 0x60F9, 62510 }, + { 0x60FA, 62628 }, + { 0x60FB, 63047 }, + { 0x60FC, 62635 }, + { 0x60FD, 62631 }, + { 0x60FE, 63064 }, + { 0x60FF, 63068 }, + { 0x6100, 63072 }, + { 0x6101, 63076 }, + { 0x6102, 63080 }, + { 0x6103, 63084 }, + { 0x6104, 63088 }, + { 0x6105, 63092 }, + { 0x6106, 63096 }, + { 0x6107, 63100 }, + { 0x6108, 63104 }, + { 0x6109, 63422 }, + { 0x610A, 63425 }, + { 0x610B, 62521 }, + { 0x610C, 62780 }, + { 0x610D, 63214 }, + { 0x610E, 63197 }, + { 0x610F, 63282 }, + { 0x6110, 63223 }, + { 0x6111, 62715 }, + { 0x6112, 62710 }, + { 0x6113, 62600 }, + { 0x6114, 63335 }, + { 0x6115, 63339 }, + { 0x6116, 62643 }, + { 0x6117, 62561 }, + { 0x6118, 62564 }, + { 0x6119, 62868 }, + { 0x611A, 62690 }, + { 0x611B, 62757 }, + { 0x611C, 63391 }, + { 0x611D, 63387 }, + { 0x611E, 62871 }, + { 0x611F, 62878 }, + { 0x6120, 63403 }, + { 0x6121, 63399 }, + { 0x6122, 62588 }, + { 0x6123, 62584 }, + { 0x6124, 62693 }, + { 0x6125, 62698 }, + { 0x6126, 62760 }, + { 0x6127, 63383 }, + { 0x6128, 62874 }, + { 0x6129, 63395 }, + { 0x612A, 62915 }, + { 0x612B, 62930 }, + { 0x612C, 62922 }, + { 0x612D, 62937 }, + { 0x612E, 62944 }, + { 0x612F, 62951 }, + { 0x6130, 62959 }, + { 0x6131, 62967 }, + { 0x6132, 62669 }, + { 0x6133, 63343 }, + { 0x6134, 63348 }, + { 0x6135, 62898 }, + { 0x6136, 62742 }, + { 0x6137, 63006 }, + { 0x6138, 62769 }, + { 0x6139, 63360 }, + { 0x613A, 63032 }, + { 0x613B, 63124 }, + { 0x613C, 63353 }, + { 0x613D, 63356 }, + { 0x613E, 63363 }, + { 0x613F, 63127 }, + { 0x6140, 62554 }, + { 0x6141, 62804 }, + { 0x6142, 62809 }, + { 0x6143, 62825 }, + { 0x6144, 62863 }, + { 0x6145, 62830 }, + { 0x6146, 62820 }, + { 0x6147, 62856 }, + { 0x6148, 62849 }, + { 0x6149, 62842 }, + { 0x614A, 62835 }, + { 0x614B, 62815 }, + { 0x614C, 21053 }, + { 0x614D, 21057 }, + { 0x614E, 21061 }, + { 0x614F, 21065 }, + { 0x6150, 21069 }, + { 0x6151, 21073 }, + { 0x6152, 21077 }, + { 0x6153, 21081 }, + { 0x6154, 21085 }, + { 0x6155, 21089 }, + { 0x6156, 21093 }, + { 0x6157, 21097 }, + { 0x6158, 21101 }, + { 0x6159, 21105 }, + { 0x615A, 21109 }, + { 0x615B, 21113 }, + { 0x615C, 21117 }, + { 0x615D, 21121 }, + { 0x615E, 21125 }, + { 0x615F, 21129 }, + { 0x6160, 21133 }, + { 0x6161, 21137 }, + { 0x6162, 21141 }, + { 0x6163, 21145 }, + { 0x6164, 21149 }, + { 0x6165, 21153 }, + { 0x6166, 21157 }, + { 0x6167, 21161 }, + { 0x6168, 21165 }, + { 0x6169, 22544 }, + { 0x616A, 22548 }, + { 0x616B, 22552 }, + { 0x616C, 22556 }, + { 0x616D, 22560 }, + { 0x616E, 22564 }, + { 0x616F, 22568 }, + { 0x6170, 22572 }, + { 0x6171, 22576 }, + { 0x6172, 22580 }, + { 0x6173, 22584 }, + { 0x6174, 22588 }, + { 0x6175, 22592 }, + { 0x6176, 22596 }, + { 0x6177, 22600 }, + { 0x6178, 22604 }, + { 0x6179, 22608 }, + { 0x617A, 22612 }, + { 0x617B, 22616 }, + { 0x617C, 22620 }, + { 0x617D, 22624 }, + { 0x617E, 22628 }, + { 0x617F, 22632 }, + { 0x6180, 22636 }, + { 0x6181, 22640 }, + { 0x6182, 22644 }, + { 0x6183, 22648 }, + { 0x6184, 22652 }, + { 0x6185, 22656 }, + { 0x6186, 22660 }, + { 0x6187, 22664 }, + { 0x6188, 22668 }, + { 0x6189, 22672 }, + { 0x618A, 22676 }, + { 0x618B, 22680 }, + { 0x618C, 22684 }, + { 0x618D, 22688 }, + { 0x618E, 90773 }, + { 0x618F, 90781 }, + { 0x6190, 90777 }, + { 0x6191, 22195 }, + { 0x6192, 84966 }, + { 0x6193, 45715 }, + { 0x6194, 45687 }, + { 0x6195, 45703 }, + { 0x6196, 45699 }, + { 0x6197, 45684 }, + { 0x6198, 102430 }, + { 0x6199, 102397 }, + { 0x619A, 102412 }, + { 0x619B, 102458 }, + { 0x619C, 102477 }, + { 0x619D, 102602 }, + { 0x619E, 102427 }, + { 0x619F, 102593 }, + { 0x61A0, 102531 }, + { 0x61A1, 102629 }, + { 0x61A2, 102584 }, + { 0x61A3, 102626 }, + { 0x61A4, 102514 }, + { 0x61A5, 102611 }, + { 0x61A6, 102415 }, + { 0x61A7, 102464 }, + { 0x61A8, 102473 }, + { 0x61A9, 102502 }, + { 0x61AA, 102550 }, + { 0x61AB, 102455 }, + { 0x61AC, 102496 }, + { 0x61AD, 102596 }, + { 0x61AE, 102394 }, + { 0x61AF, 102382 }, + { 0x61B0, 102581 }, + { 0x61B1, 102547 }, + { 0x61B2, 102440 }, + { 0x61B3, 102433 }, + { 0x61B4, 102617 }, + { 0x61B5, 102390 }, + { 0x61B6, 102490 }, + { 0x61B7, 102446 }, + { 0x61B8, 102535 }, + { 0x61B9, 102481 }, + { 0x61BA, 102556 }, + { 0x61BB, 102523 }, + { 0x61BC, 102449 }, + { 0x61BD, 102508 }, + { 0x61BE, 102569 }, + { 0x61BF, 102385 }, + { 0x61C0, 102517 }, + { 0x61C1, 102404 }, + { 0x61C2, 102587 }, + { 0x61C3, 102418 }, + { 0x61C4, 102563 }, + { 0x61C5, 102605 }, + { 0x61C6, 102493 }, + { 0x61C7, 102452 }, + { 0x61C8, 102443 }, + { 0x61C9, 102526 }, + { 0x61CA, 102538 }, + { 0x61CB, 102487 }, + { 0x61CC, 102505 }, + { 0x61CD, 102421 }, + { 0x61CE, 102623 }, + { 0x61CF, 102436 }, + { 0x61D0, 102608 }, + { 0x61D1, 102559 }, + { 0x61D2, 102484 }, + { 0x61D3, 102614 }, + { 0x61D4, 102634 }, + { 0x61D5, 102401 }, + { 0x61D6, 102424 }, + { 0x61D7, 102499 }, + { 0x61D8, 102409 }, + { 0x61D9, 102544 }, + { 0x61DA, 102541 }, + { 0x61DB, 102467 }, + { 0x61DC, 102590 }, + { 0x61DD, 102572 }, + { 0x61DE, 102520 }, + { 0x61DF, 102511 }, + { 0x61E0, 102575 }, + { 0x61E1, 102461 }, + { 0x61E2, 102470 }, + { 0x61E3, 102599 }, + { 0x61E4, 102578 }, + { 0x61E5, 102377 }, + { 0x61E6, 102620 }, + { 0x61E7, 102566 }, + { 0x61E8, 102553 }, + { 0x61E9, 73223 }, + { 0x61EA, 73233 }, + { 0x61EB, 73263 }, + { 0x61EC, 73243 }, + { 0x61ED, 73238 }, + { 0x61EE, 73228 }, + { 0x61EF, 73258 }, + { 0x61F0, 73253 }, + { 0x61F1, 73248 }, + { 0x61F2, 73178 }, + { 0x61F3, 73188 }, + { 0x61F4, 73218 }, + { 0x61F5, 73198 }, + { 0x61F6, 73193 }, + { 0x61F7, 73183 }, + { 0x61F8, 73213 }, + { 0x61F9, 73208 }, + { 0x61FA, 73203 }, + { 0x61FB, 111048 }, + { 0x61FC, 111052 }, + { 0x61FD, 111056 }, + { 0x61FE, 111060 }, + { 0x61FF, 111064 }, + { 0x6200, 111068 }, + { 0x6201, 111072 }, + { 0x6202, 111076 }, + { 0x6203, 111080 }, + { 0x6204, 111084 }, + { 0x6205, 111088 }, + { 0x6206, 111092 }, + { 0x6207, 111096 }, + { 0x6208, 111100 }, + { 0x6209, 111104 }, + { 0x620A, 111108 }, + { 0x620B, 111112 }, + { 0x620C, 111116 }, + { 0x620D, 111120 }, + { 0x620E, 111124 }, + { 0x620F, 111128 }, + { 0x6210, 111132 }, + { 0x6211, 111136 }, + { 0x6212, 111140 }, + { 0x6213, 111144 }, + { 0x6214, 111148 }, + { 0x6215, 110024 }, + { 0x6216, 110028 }, + { 0x6217, 110032 }, + { 0x6218, 110036 }, + { 0x6219, 110040 }, + { 0x621A, 110044 }, + { 0x621B, 110048 }, + { 0x621C, 110052 }, + { 0x621D, 110056 }, + { 0x621E, 110060 }, + { 0x621F, 110064 }, + { 0x6220, 110068 }, + { 0x6221, 110072 }, + { 0x6222, 110076 }, + { 0x6223, 110080 }, + { 0x6224, 110084 }, + { 0x6225, 110088 }, + { 0x6226, 110092 }, + { 0x6227, 110096 }, + { 0x6228, 110100 }, + { 0x6229, 110104 }, + { 0x622A, 110108 }, + { 0x622B, 110112 }, + { 0x622C, 110116 }, + { 0x622D, 110120 }, + { 0x622E, 110124 }, + { 0x622F, 111807 }, + { 0x6230, 111811 }, + { 0x6231, 111815 }, + { 0x6232, 111819 }, + { 0x6233, 111823 }, + { 0x6234, 111827 }, + { 0x6235, 111831 }, + { 0x6236, 111835 }, + { 0x6237, 111839 }, + { 0x6238, 111843 }, + { 0x6239, 111847 }, + { 0x623A, 111851 }, + { 0x623B, 111855 }, + { 0x623C, 111859 }, + { 0x623D, 111863 }, + { 0x623E, 111867 }, + { 0x623F, 111871 }, + { 0x6240, 111875 }, + { 0x6241, 111879 }, + { 0x6242, 111883 }, + { 0x6243, 111887 }, + { 0x6244, 111891 }, + { 0x6245, 111895 }, + { 0x6246, 111899 }, + { 0x6247, 111903 }, + { 0x6248, 111907 }, + { 0x6249, 111592 }, + { 0x624A, 111596 }, + { 0x624B, 111600 }, + { 0x624C, 111604 }, + { 0x624D, 111608 }, + { 0x624E, 111612 }, + { 0x624F, 111616 }, + { 0x6250, 111620 }, + { 0x6251, 111624 }, + { 0x6252, 111628 }, + { 0x6253, 111632 }, + { 0x6254, 111636 }, + { 0x6255, 111640 }, + { 0x6256, 111644 }, + { 0x6257, 111648 }, + { 0x6258, 111652 }, + { 0x6259, 111656 }, + { 0x625A, 111660 }, + { 0x625B, 111664 }, + { 0x625C, 111668 }, + { 0x625D, 111672 }, + { 0x625E, 111676 }, + { 0x625F, 111680 }, + { 0x6260, 111684 }, + { 0x6261, 111688 }, + { 0x6262, 110522 }, + { 0x6263, 110527 }, + { 0x6264, 110532 }, + { 0x6265, 110537 }, + { 0x6266, 110542 }, + { 0x6267, 110547 }, + { 0x6268, 110552 }, + { 0x6269, 110557 }, + { 0x626A, 110562 }, + { 0x626B, 110567 }, + { 0x626C, 110572 }, + { 0x626D, 110577 }, + { 0x626E, 110582 }, + { 0x626F, 110587 }, + { 0x6270, 110592 }, + { 0x6271, 110597 }, + { 0x6272, 110602 }, + { 0x6273, 110607 }, + { 0x6274, 110612 }, + { 0x6275, 110617 }, + { 0x6276, 110622 }, + { 0x6277, 110627 }, + { 0x6278, 110632 }, + { 0x6279, 110637 }, + { 0x627A, 110642 }, + { 0x627B, 110647 }, + { 0x627C, 110261 }, + { 0x627D, 110266 }, + { 0x627E, 110271 }, + { 0x627F, 110276 }, + { 0x6280, 110281 }, + { 0x6281, 110286 }, + { 0x6282, 110291 }, + { 0x6283, 110296 }, + { 0x6284, 110301 }, + { 0x6285, 110306 }, + { 0x6286, 110311 }, + { 0x6287, 110316 }, + { 0x6288, 110321 }, + { 0x6289, 110326 }, + { 0x628A, 110331 }, + { 0x628B, 110336 }, + { 0x628C, 110341 }, + { 0x628D, 110346 }, + { 0x628E, 110351 }, + { 0x628F, 110356 }, + { 0x6290, 110361 }, + { 0x6291, 110366 }, + { 0x6292, 110371 }, + { 0x6293, 110376 }, + { 0x6294, 110381 }, + { 0x6295, 110386 }, + { 0x6296, 112115 }, + { 0x6297, 112119 }, + { 0x6298, 112123 }, + { 0x6299, 112127 }, + { 0x629A, 112131 }, + { 0x629B, 112135 }, + { 0x629C, 112139 }, + { 0x629D, 112143 }, + { 0x629E, 112147 }, + { 0x629F, 112151 }, + { 0x62A0, 112155 }, + { 0x62A1, 112159 }, + { 0x62A2, 112163 }, + { 0x62A3, 112167 }, + { 0x62A4, 112171 }, + { 0x62A5, 112175 }, + { 0x62A6, 112179 }, + { 0x62A7, 112183 }, + { 0x62A8, 112023 }, + { 0x62A9, 112027 }, + { 0x62AA, 112031 }, + { 0x62AB, 112035 }, + { 0x62AC, 112039 }, + { 0x62AD, 112043 }, + { 0x62AE, 112047 }, + { 0x62AF, 112051 }, + { 0x62B0, 112055 }, + { 0x62B1, 112059 }, + { 0x62B2, 112063 }, + { 0x62B3, 112067 }, + { 0x62B4, 112071 }, + { 0x62B5, 112075 }, + { 0x62B6, 112079 }, + { 0x62B7, 112083 }, + { 0x62B8, 112087 }, + { 0x62B9, 112091 }, + { 0x62BA, 112095 }, + { 0x62BB, 112099 }, + { 0x62BC, 112103 }, + { 0x62BD, 112107 }, + { 0x62BE, 112111 }, + { 0x62BF, 110918 }, + { 0x62C0, 110923 }, + { 0x62C1, 110928 }, + { 0x62C2, 110933 }, + { 0x62C3, 110938 }, + { 0x62C4, 110943 }, + { 0x62C5, 110948 }, + { 0x62C6, 110953 }, + { 0x62C7, 110958 }, + { 0x62C8, 110963 }, + { 0x62C9, 110968 }, + { 0x62CA, 110973 }, + { 0x62CB, 110978 }, + { 0x62CC, 110983 }, + { 0x62CD, 110988 }, + { 0x62CE, 110993 }, + { 0x62CF, 110998 }, + { 0x62D0, 111003 }, + { 0x62D1, 111008 }, + { 0x62D2, 111013 }, + { 0x62D3, 111018 }, + { 0x62D4, 111023 }, + { 0x62D5, 111028 }, + { 0x62D6, 111033 }, + { 0x62D7, 111038 }, + { 0x62D8, 111043 }, + { 0x62D9, 110788 }, + { 0x62DA, 110793 }, + { 0x62DB, 110798 }, + { 0x62DC, 110803 }, + { 0x62DD, 110808 }, + { 0x62DE, 110813 }, + { 0x62DF, 110818 }, + { 0x62E0, 110823 }, + { 0x62E1, 110828 }, + { 0x62E2, 110833 }, + { 0x62E3, 110838 }, + { 0x62E4, 110843 }, + { 0x62E5, 110848 }, + { 0x62E6, 110853 }, + { 0x62E7, 110858 }, + { 0x62E8, 110863 }, + { 0x62E9, 110868 }, + { 0x62EA, 110873 }, + { 0x62EB, 110878 }, + { 0x62EC, 110883 }, + { 0x62ED, 110888 }, + { 0x62EE, 110893 }, + { 0x62EF, 110898 }, + { 0x62F0, 110903 }, + { 0x62F1, 110908 }, + { 0x62F2, 110913 }, + { 0x62F3, 112294 }, + { 0x62F4, 112298 }, + { 0x62F5, 112302 }, + { 0x62F6, 112306 }, + { 0x62F7, 112310 }, + { 0x62F8, 112314 }, + { 0x62F9, 112318 }, + { 0x62FA, 112322 }, + { 0x62FB, 112326 }, + { 0x62FC, 112330 }, + { 0x62FD, 112334 }, + { 0x62FE, 112338 }, + { 0x62FF, 112342 }, + { 0x6300, 112346 }, + { 0x6301, 112350 }, + { 0x6302, 112354 }, + { 0x6303, 112358 }, + { 0x6304, 112362 }, + { 0x6305, 112366 }, + { 0x6306, 112370 }, + { 0x6307, 112374 }, + { 0x6308, 112190 }, + { 0x6309, 112194 }, + { 0x630A, 112198 }, + { 0x630B, 112202 }, + { 0x630C, 112206 }, + { 0x630D, 112210 }, + { 0x630E, 112214 }, + { 0x630F, 112218 }, + { 0x6310, 112222 }, + { 0x6311, 112226 }, + { 0x6312, 112230 }, + { 0x6313, 112234 }, + { 0x6314, 112238 }, + { 0x6315, 112242 }, + { 0x6316, 112246 }, + { 0x6317, 112250 }, + { 0x6318, 112254 }, + { 0x6319, 112258 }, + { 0x631A, 112262 }, + { 0x631B, 112266 }, + { 0x631C, 112270 }, + { 0x631D, 112274 }, + { 0x631E, 112278 }, + { 0x631F, 112282 }, + { 0x6320, 112286 }, + { 0x6321, 112290 }, + { 0x6322, 114540 }, + { 0x6323, 114544 }, + { 0x6324, 114548 }, + { 0x6325, 114552 }, + { 0x6326, 114556 }, + { 0x6327, 114560 }, + { 0x6328, 114564 }, + { 0x6329, 114568 }, + { 0x632A, 114572 }, + { 0x632B, 114576 }, + { 0x632C, 114580 }, + { 0x632D, 114584 }, + { 0x632E, 114588 }, + { 0x632F, 114592 }, + { 0x6330, 114596 }, + { 0x6331, 114600 }, + { 0x6332, 114604 }, + { 0x6333, 114608 }, + { 0x6334, 114612 }, + { 0x6335, 114436 }, + { 0x6336, 114440 }, + { 0x6337, 114444 }, + { 0x6338, 114448 }, + { 0x6339, 114452 }, + { 0x633A, 114456 }, + { 0x633B, 114460 }, + { 0x633C, 114464 }, + { 0x633D, 114468 }, + { 0x633E, 114472 }, + { 0x633F, 114476 }, + { 0x6340, 114480 }, + { 0x6341, 114484 }, + { 0x6342, 114488 }, + { 0x6343, 114492 }, + { 0x6344, 114496 }, + { 0x6345, 114500 }, + { 0x6346, 114504 }, + { 0x6347, 114508 }, + { 0x6348, 114512 }, + { 0x6349, 114516 }, + { 0x634A, 114520 }, + { 0x634B, 114524 }, + { 0x634C, 114528 }, + { 0x634D, 114532 }, + { 0x634E, 114536 }, + { 0x634F, 111391 }, + { 0x6350, 111396 }, + { 0x6351, 111401 }, + { 0x6352, 111406 }, + { 0x6353, 111411 }, + { 0x6354, 111416 }, + { 0x6355, 111421 }, + { 0x6356, 111426 }, + { 0x6357, 111431 }, + { 0x6358, 111436 }, + { 0x6359, 111441 }, + { 0x635A, 111446 }, + { 0x635B, 111451 }, + { 0x635C, 111456 }, + { 0x635D, 111461 }, + { 0x635E, 111466 }, + { 0x635F, 111471 }, + { 0x6360, 111476 }, + { 0x6361, 111481 }, + { 0x6362, 111486 }, + { 0x6363, 111491 }, + { 0x6364, 111496 }, + { 0x6365, 111501 }, + { 0x6366, 111506 }, + { 0x6367, 111511 }, + { 0x6368, 111516 }, + { 0x6369, 111261 }, + { 0x636A, 111266 }, + { 0x636B, 111271 }, + { 0x636C, 111276 }, + { 0x636D, 111281 }, + { 0x636E, 111286 }, + { 0x636F, 111291 }, + { 0x6370, 111296 }, + { 0x6371, 111301 }, + { 0x6372, 111306 }, + { 0x6373, 111311 }, + { 0x6374, 111316 }, + { 0x6375, 111321 }, + { 0x6376, 111326 }, + { 0x6377, 111331 }, + { 0x6378, 111336 }, + { 0x6379, 111341 }, + { 0x637A, 111346 }, + { 0x637B, 111351 }, + { 0x637C, 111356 }, + { 0x637D, 111361 }, + { 0x637E, 111366 }, + { 0x637F, 111371 }, + { 0x6380, 111376 }, + { 0x6381, 111381 }, + { 0x6382, 111386 }, + { 0x6383, 114292 }, + { 0x6384, 114296 }, + { 0x6385, 114300 }, + { 0x6386, 114304 }, + { 0x6387, 114308 }, + { 0x6388, 114312 }, + { 0x6389, 114316 }, + { 0x638A, 114320 }, + { 0x638B, 114324 }, + { 0x638C, 114328 }, + { 0x638D, 114332 }, + { 0x638E, 114336 }, + { 0x638F, 114340 }, + { 0x6390, 114344 }, + { 0x6391, 114348 }, + { 0x6392, 114352 }, + { 0x6393, 114356 }, + { 0x6394, 114360 }, + { 0x6395, 114364 }, + { 0x6396, 114368 }, + { 0x6397, 114372 }, + { 0x6398, 114376 }, + { 0x6399, 114380 }, + { 0x639A, 114384 }, + { 0x639B, 114388 }, + { 0x639C, 114392 }, + { 0x639D, 113928 }, + { 0x639E, 113932 }, + { 0x639F, 113936 }, + { 0x63A0, 113940 }, + { 0x63A1, 113944 }, + { 0x63A2, 113948 }, + { 0x63A3, 113952 }, + { 0x63A4, 113956 }, + { 0x63A5, 113960 }, + { 0x63A6, 113964 }, + { 0x63A7, 113968 }, + { 0x63A8, 113972 }, + { 0x63A9, 113976 }, + { 0x63AA, 113980 }, + { 0x63AB, 113984 }, + { 0x63AC, 113988 }, + { 0x63AD, 113992 }, + { 0x63AE, 113996 }, + { 0x63AF, 114000 }, + { 0x63B0, 114004 }, + { 0x63B1, 114008 }, + { 0x63B2, 114012 }, + { 0x63B3, 114016 }, + { 0x63B4, 114020 }, + { 0x63B5, 114024 }, + { 0x63B6, 114028 }, + { 0x63B7, 113622 }, + { 0x63B8, 113627 }, + { 0x63B9, 113632 }, + { 0x63BA, 113637 }, + { 0x63BB, 113642 }, + { 0x63BC, 113647 }, + { 0x63BD, 113652 }, + { 0x63BE, 113657 }, + { 0x63BF, 113662 }, + { 0x63C0, 113667 }, + { 0x63C1, 113672 }, + { 0x63C2, 113677 }, + { 0x63C3, 113682 }, + { 0x63C4, 113687 }, + { 0x63C5, 113692 }, + { 0x63C6, 113697 }, + { 0x63C7, 113702 }, + { 0x63C8, 113707 }, + { 0x63C9, 113712 }, + { 0x63CA, 113717 }, + { 0x63CB, 113722 }, + { 0x63CC, 113727 }, + { 0x63CD, 113732 }, + { 0x63CE, 113737 }, + { 0x63CF, 113742 }, + { 0x63D0, 113747 }, + { 0x63D1, 112700 }, + { 0x63D2, 112705 }, + { 0x63D3, 112710 }, + { 0x63D4, 112715 }, + { 0x63D5, 112720 }, + { 0x63D6, 112725 }, + { 0x63D7, 112730 }, + { 0x63D8, 112735 }, + { 0x63D9, 112740 }, + { 0x63DA, 112745 }, + { 0x63DB, 112750 }, + { 0x63DC, 112755 }, + { 0x63DD, 112760 }, + { 0x63DE, 112765 }, + { 0x63DF, 112770 }, + { 0x63E0, 112775 }, + { 0x63E1, 112780 }, + { 0x63E2, 112785 }, + { 0x63E3, 112790 }, + { 0x63E4, 112795 }, + { 0x63E5, 112800 }, + { 0x63E6, 112805 }, + { 0x63E7, 112810 }, + { 0x63E8, 112815 }, + { 0x63E9, 112820 }, + { 0x63EA, 112825 }, + { 0x63EB, 114162 }, + { 0x63EC, 114167 }, + { 0x63ED, 114172 }, + { 0x63EE, 114177 }, + { 0x63EF, 114182 }, + { 0x63F0, 114187 }, + { 0x63F1, 114192 }, + { 0x63F2, 114197 }, + { 0x63F3, 114202 }, + { 0x63F4, 114207 }, + { 0x63F5, 114212 }, + { 0x63F6, 114217 }, + { 0x63F7, 114222 }, + { 0x63F8, 114227 }, + { 0x63F9, 114232 }, + { 0x63FA, 114237 }, + { 0x63FB, 114242 }, + { 0x63FC, 114247 }, + { 0x63FD, 114252 }, + { 0x63FE, 114257 }, + { 0x63FF, 114262 }, + { 0x6400, 114267 }, + { 0x6401, 114272 }, + { 0x6402, 114277 }, + { 0x6403, 114282 }, + { 0x6404, 114287 }, + { 0x6405, 114032 }, + { 0x6406, 114037 }, + { 0x6407, 114042 }, + { 0x6408, 114047 }, + { 0x6409, 114052 }, + { 0x640A, 114057 }, + { 0x640B, 114062 }, + { 0x640C, 114067 }, + { 0x640D, 114072 }, + { 0x640E, 114077 }, + { 0x640F, 114082 }, + { 0x6410, 114087 }, + { 0x6411, 114092 }, + { 0x6412, 114097 }, + { 0x6413, 114102 }, + { 0x6414, 114107 }, + { 0x6415, 114112 }, + { 0x6416, 114117 }, + { 0x6417, 114122 }, + { 0x6418, 114127 }, + { 0x6419, 114132 }, + { 0x641A, 114137 }, + { 0x641B, 114142 }, + { 0x641C, 114147 }, + { 0x641D, 114152 }, + { 0x641E, 114157 }, + { 0x641F, 113303 }, + { 0x6420, 113309 }, + { 0x6421, 113315 }, + { 0x6422, 113321 }, + { 0x6423, 113327 }, + { 0x6424, 113333 }, + { 0x6425, 113339 }, + { 0x6426, 113345 }, + { 0x6427, 113351 }, + { 0x6428, 113357 }, + { 0x6429, 113363 }, + { 0x642A, 113369 }, + { 0x642B, 113375 }, + { 0x642C, 113381 }, + { 0x642D, 113387 }, + { 0x642E, 113393 }, + { 0x642F, 113399 }, + { 0x6430, 113405 }, + { 0x6431, 113411 }, + { 0x6432, 113417 }, + { 0x6433, 113423 }, + { 0x6434, 113429 }, + { 0x6435, 113435 }, + { 0x6436, 113441 }, + { 0x6437, 113447 }, + { 0x6438, 113453 }, + { 0x6439, 112990 }, + { 0x643A, 112996 }, + { 0x643B, 113002 }, + { 0x643C, 113008 }, + { 0x643D, 113014 }, + { 0x643E, 113020 }, + { 0x643F, 113026 }, + { 0x6440, 113032 }, + { 0x6441, 113038 }, + { 0x6442, 113044 }, + { 0x6443, 113050 }, + { 0x6444, 113056 }, + { 0x6445, 113062 }, + { 0x6446, 113068 }, + { 0x6447, 113074 }, + { 0x6448, 113080 }, + { 0x6449, 113086 }, + { 0x644A, 113092 }, + { 0x644B, 113098 }, + { 0x644C, 113104 }, + { 0x644D, 113110 }, + { 0x644E, 113116 }, + { 0x644F, 113122 }, + { 0x6450, 113128 }, + { 0x6451, 113134 }, + { 0x6452, 113140 }, + { 0x6453, 112522 }, + { 0x6454, 112526 }, + { 0x6455, 112530 }, + { 0x6456, 112534 }, + { 0x6457, 112538 }, + { 0x6458, 112542 }, + { 0x6459, 112546 }, + { 0x645A, 112550 }, + { 0x645B, 112554 }, + { 0x645C, 112558 }, + { 0x645D, 112562 }, + { 0x645E, 112566 }, + { 0x645F, 112570 }, + { 0x6460, 112574 }, + { 0x6461, 112578 }, + { 0x6462, 112582 }, + { 0x6463, 112586 }, + { 0x6464, 112590 }, + { 0x6465, 112594 }, + { 0x6466, 112598 }, + { 0x6467, 112602 }, + { 0x6468, 112606 }, + { 0x6469, 112610 }, + { 0x646A, 112614 }, + { 0x646B, 112618 }, + { 0x646C, 112622 }, + { 0x646D, 112418 }, + { 0x646E, 112422 }, + { 0x646F, 112426 }, + { 0x6470, 112430 }, + { 0x6471, 112434 }, + { 0x6472, 112438 }, + { 0x6473, 112442 }, + { 0x6474, 112446 }, + { 0x6475, 112450 }, + { 0x6476, 112454 }, + { 0x6477, 112458 }, + { 0x6478, 112462 }, + { 0x6479, 112466 }, + { 0x647A, 112470 }, + { 0x647B, 112474 }, + { 0x647C, 112478 }, + { 0x647D, 112482 }, + { 0x647E, 112486 }, + { 0x647F, 112490 }, + { 0x6480, 112494 }, + { 0x6481, 112498 }, + { 0x6482, 112502 }, + { 0x6483, 112506 }, + { 0x6484, 112510 }, + { 0x6485, 112514 }, + { 0x6486, 112518 }, + { 0x6487, 111781 }, + { 0x6488, 111786 }, + { 0x6489, 111204 }, + { 0x648A, 111192 }, + { 0x648B, 111212 }, + { 0x648C, 111208 }, + { 0x648D, 111245 }, + { 0x648E, 111200 }, + { 0x648F, 111172 }, + { 0x6490, 111232 }, + { 0x6491, 111196 }, + { 0x6492, 111216 }, + { 0x6493, 111220 }, + { 0x6494, 111152 }, + { 0x6495, 111156 }, + { 0x6496, 111164 }, + { 0x6497, 111249 }, + { 0x6498, 111160 }, + { 0x6499, 111184 }, + { 0x649A, 111236 }, + { 0x649B, 111228 }, + { 0x649C, 111188 }, + { 0x649D, 111253 }, + { 0x649E, 111176 }, + { 0x649F, 111168 }, + { 0x64A0, 111180 }, + { 0x64A1, 111224 }, + { 0x64A2, 110021 }, + { 0x64A3, 110180 }, + { 0x64A4, 110168 }, + { 0x64A5, 110193 }, + { 0x64A6, 110184 }, + { 0x64A7, 110221 }, + { 0x64A8, 110176 }, + { 0x64A9, 110148 }, + { 0x64AA, 110213 }, + { 0x64AB, 110172 }, + { 0x64AC, 110197 }, + { 0x64AD, 110201 }, + { 0x64AE, 110128 }, + { 0x64AF, 110132 }, + { 0x64B0, 110140 }, + { 0x64B1, 110225 }, + { 0x64B2, 110136 }, + { 0x64B3, 110160 }, + { 0x64B4, 110188 }, + { 0x64B5, 110209 }, + { 0x64B6, 110164 }, + { 0x64B7, 110229 }, + { 0x64B8, 110152 }, + { 0x64B9, 110144 }, + { 0x64BA, 110156 }, + { 0x64BB, 110205 }, + { 0x64BC, 111521 }, + { 0x64BD, 111257 }, + { 0x64BE, 110233 }, + { 0x64BF, 110017 }, + { 0x64C0, 109969 }, + { 0x64C1, 109973 }, + { 0x64C2, 109965 }, + { 0x64C3, 111963 }, + { 0x64C4, 111951 }, + { 0x64C5, 111971 }, + { 0x64C6, 111967 }, + { 0x64C7, 112000 }, + { 0x64C8, 111959 }, + { 0x64C9, 111931 }, + { 0x64CA, 111991 }, + { 0x64CB, 111955 }, + { 0x64CC, 111975 }, + { 0x64CD, 111979 }, + { 0x64CE, 111911 }, + { 0x64CF, 111915 }, + { 0x64D0, 111923 }, + { 0x64D1, 112004 }, + { 0x64D2, 111919 }, + { 0x64D3, 111943 }, + { 0x64D4, 111995 }, + { 0x64D5, 111987 }, + { 0x64D6, 111947 }, + { 0x64D7, 112008 }, + { 0x64D8, 111935 }, + { 0x64D9, 111927 }, + { 0x64DA, 111939 }, + { 0x64DB, 111983 }, + { 0x64DC, 111589 }, + { 0x64DD, 111744 }, + { 0x64DE, 111732 }, + { 0x64DF, 111757 }, + { 0x64E0, 111748 }, + { 0x64E1, 111791 }, + { 0x64E2, 111740 }, + { 0x64E3, 111712 }, + { 0x64E4, 111777 }, + { 0x64E5, 111736 }, + { 0x64E6, 111761 }, + { 0x64E7, 111765 }, + { 0x64E8, 111692 }, + { 0x64E9, 111696 }, + { 0x64EA, 111704 }, + { 0x64EB, 111795 }, + { 0x64EC, 111700 }, + { 0x64ED, 111724 }, + { 0x64EE, 111752 }, + { 0x64EF, 111773 }, + { 0x64F0, 111728 }, + { 0x64F1, 111799 }, + { 0x64F2, 111716 }, + { 0x64F3, 111708 }, + { 0x64F4, 111720 }, + { 0x64F5, 111769 }, + { 0x64F6, 112016 }, + { 0x64F7, 112012 }, + { 0x64F8, 111803 }, + { 0x64F9, 111585 }, + { 0x64FA, 111577 }, + { 0x64FB, 111581 }, + { 0x64FC, 111573 }, + { 0x64FD, 110717 }, + { 0x64FE, 110702 }, + { 0x64FF, 110727 }, + { 0x6500, 110722 }, + { 0x6501, 110763 }, + { 0x6502, 110712 }, + { 0x6503, 110677 }, + { 0x6504, 110752 }, + { 0x6505, 110707 }, + { 0x6506, 110732 }, + { 0x6507, 110737 }, + { 0x6508, 110652 }, + { 0x6509, 110657 }, + { 0x650A, 110667 }, + { 0x650B, 110768 }, + { 0x650C, 110662 }, + { 0x650D, 110692 }, + { 0x650E, 110757 }, + { 0x650F, 110747 }, + { 0x6510, 110697 }, + { 0x6511, 110773 }, + { 0x6512, 110682 }, + { 0x6513, 110672 }, + { 0x6514, 110687 }, + { 0x6515, 110742 }, + { 0x6516, 110257 }, + { 0x6517, 110456 }, + { 0x6518, 110441 }, + { 0x6519, 110472 }, + { 0x651A, 110461 }, + { 0x651B, 110502 }, + { 0x651C, 110451 }, + { 0x651D, 110416 }, + { 0x651E, 110497 }, + { 0x651F, 110446 }, + { 0x6520, 110477 }, + { 0x6521, 110482 }, + { 0x6522, 110391 }, + { 0x6523, 110396 }, + { 0x6524, 110406 }, + { 0x6525, 110507 }, + { 0x6526, 110401 }, + { 0x6527, 110431 }, + { 0x6528, 110466 }, + { 0x6529, 110492 }, + { 0x652A, 110436 }, + { 0x652B, 110512 }, + { 0x652C, 110421 }, + { 0x652D, 110411 }, + { 0x652E, 110426 }, + { 0x652F, 110487 }, + { 0x6530, 110783 }, + { 0x6531, 110778 }, + { 0x6532, 110517 }, + { 0x6533, 110252 }, + { 0x6534, 110242 }, + { 0x6535, 110247 }, + { 0x6536, 110237 }, + { 0x6537, 113817 }, + { 0x6538, 113802 }, + { 0x6539, 113827 }, + { 0x653A, 113822 }, + { 0x653B, 113863 }, + { 0x653C, 113812 }, + { 0x653D, 113777 }, + { 0x653E, 113852 }, + { 0x653F, 113807 }, + { 0x6540, 113832 }, + { 0x6541, 113837 }, + { 0x6542, 113752 }, + { 0x6543, 113757 }, + { 0x6544, 113767 }, + { 0x6545, 113868 }, + { 0x6546, 113762 }, + { 0x6547, 113792 }, + { 0x6548, 113857 }, + { 0x6549, 113847 }, + { 0x654A, 113797 }, + { 0x654B, 113873 }, + { 0x654C, 113782 }, + { 0x654D, 113772 }, + { 0x654E, 113787 }, + { 0x654F, 113842 }, + { 0x6550, 112696 }, + { 0x6551, 112895 }, + { 0x6552, 112880 }, + { 0x6553, 112911 }, + { 0x6554, 112900 }, + { 0x6555, 112941 }, + { 0x6556, 112890 }, + { 0x6557, 112855 }, + { 0x6558, 112936 }, + { 0x6559, 112885 }, + { 0x655A, 112916 }, + { 0x655B, 112921 }, + { 0x655C, 112830 }, + { 0x655D, 112835 }, + { 0x655E, 112845 }, + { 0x655F, 112946 }, + { 0x6560, 112840 }, + { 0x6561, 112870 }, + { 0x6562, 112905 }, + { 0x6563, 112931 }, + { 0x6564, 112875 }, + { 0x6565, 112951 }, + { 0x6566, 112860 }, + { 0x6567, 112850 }, + { 0x6568, 112865 }, + { 0x6569, 112926 }, + { 0x656A, 113883 }, + { 0x656B, 113878 }, + { 0x656C, 112956 }, + { 0x656D, 112691 }, + { 0x656E, 112631 }, + { 0x656F, 112636 }, + { 0x6570, 112626 }, + { 0x6571, 113537 }, + { 0x6572, 113519 }, + { 0x6573, 113549 }, + { 0x6574, 113543 }, + { 0x6575, 113592 }, + { 0x6576, 113531 }, + { 0x6577, 113489 }, + { 0x6578, 113579 }, + { 0x6579, 113525 }, + { 0x657A, 113555 }, + { 0x657B, 113561 }, + { 0x657C, 113459 }, + { 0x657D, 113465 }, + { 0x657E, 113477 }, + { 0x657F, 113598 }, + { 0x6580, 113471 }, + { 0x6581, 113507 }, + { 0x6582, 113585 }, + { 0x6583, 113573 }, + { 0x6584, 113513 }, + { 0x6585, 113604 }, + { 0x6586, 113495 }, + { 0x6587, 113483 }, + { 0x6588, 113501 }, + { 0x6589, 113567 }, + { 0x658A, 112985 }, + { 0x658B, 113224 }, + { 0x658C, 113206 }, + { 0x658D, 113243 }, + { 0x658E, 113230 }, + { 0x658F, 113279 }, + { 0x6590, 113218 }, + { 0x6591, 113176 }, + { 0x6592, 113273 }, + { 0x6593, 113212 }, + { 0x6594, 113249 }, + { 0x6595, 113255 }, + { 0x6596, 113146 }, + { 0x6597, 113152 }, + { 0x6598, 113164 }, + { 0x6599, 113285 }, + { 0x659A, 113158 }, + { 0x659B, 113194 }, + { 0x659C, 113236 }, + { 0x659D, 113267 }, + { 0x659E, 113200 }, + { 0x659F, 113291 }, + { 0x65A0, 113182 }, + { 0x65A1, 113170 }, + { 0x65A2, 113188 }, + { 0x65A3, 113261 }, + { 0x65A4, 113616 }, + { 0x65A5, 113610 }, + { 0x65A6, 113297 }, + { 0x65A7, 112979 }, + { 0x65A8, 112967 }, + { 0x65A9, 112973 }, + { 0x65AA, 112961 }, + { 0x65AB, 111241 }, + { 0x65AC, 110217 }, + { 0x65AD, 110001 }, + { 0x65AE, 109977 }, + { 0x65AF, 109985 }, + { 0x65B0, 110013 }, + { 0x65B1, 109993 }, + { 0x65B2, 109989 }, + { 0x65B3, 109981 }, + { 0x65B4, 110009 }, + { 0x65B5, 110005 }, + { 0x65B6, 109997 }, + { 0x65B7, 114420 }, + { 0x65B8, 114396 }, + { 0x65B9, 114404 }, + { 0x65BA, 114432 }, + { 0x65BB, 114412 }, + { 0x65BC, 114408 }, + { 0x65BD, 114400 }, + { 0x65BE, 114428 }, + { 0x65BF, 114424 }, + { 0x65C0, 114416 }, + { 0x65C1, 113912 }, + { 0x65C2, 113888 }, + { 0x65C3, 113896 }, + { 0x65C4, 113924 }, + { 0x65C5, 113904 }, + { 0x65C6, 113900 }, + { 0x65C7, 113892 }, + { 0x65C8, 113920 }, + { 0x65C9, 113916 }, + { 0x65CA, 113908 }, + { 0x65CB, 112671 }, + { 0x65CC, 112641 }, + { 0x65CD, 112651 }, + { 0x65CE, 112686 }, + { 0x65CF, 112661 }, + { 0x65D0, 112656 }, + { 0x65D1, 112646 }, + { 0x65D2, 112681 }, + { 0x65D3, 112676 }, + { 0x65D4, 112666 }, + { 0x65D5, 112402 }, + { 0x65D6, 112378 }, + { 0x65D7, 112386 }, + { 0x65D8, 112414 }, + { 0x65D9, 112394 }, + { 0x65DA, 112390 }, + { 0x65DB, 112382 }, + { 0x65DC, 112410 }, + { 0x65DD, 112406 }, + { 0x65DE, 112398 }, + { 0x65DF, 107040 }, + { 0x65E0, 108186 }, + { 0x65E1, 106833 }, + { 0x65E2, 107918 }, + { 0x65E3, 108085 }, + { 0x65E4, 107961 }, + { 0x65E5, 107065 }, + { 0x65E6, 108189 }, + { 0x65E7, 107515 }, + { 0x65E8, 107463 }, + { 0x65E9, 107214 }, + { 0x65EA, 107218 }, + { 0x65EB, 107222 }, + { 0x65EC, 108198 }, + { 0x65ED, 107241 }, + { 0x65EE, 108202 }, + { 0x65EF, 107253 }, + { 0x65F0, 107361 }, + { 0x65F1, 107343 }, + { 0x65F2, 107043 }, + { 0x65F3, 107227 }, + { 0x65F4, 107386 }, + { 0x65F5, 107391 }, + { 0x65F6, 107456 }, + { 0x65F7, 107428 }, + { 0x65F8, 107442 }, + { 0x65F9, 107367 }, + { 0x65FA, 108227 }, + { 0x65FB, 107625 }, + { 0x65FC, 107069 }, + { 0x65FD, 107288 }, + { 0x65FE, 108217 }, + { 0x65FF, 107379 }, + { 0x6600, 107258 }, + { 0x6601, 107293 }, + { 0x6602, 107348 }, + { 0x6603, 107049 }, + { 0x6604, 107057 }, + { 0x6605, 107233 }, + { 0x6606, 107245 }, + { 0x6607, 107312 }, + { 0x6608, 107330 }, + { 0x6609, 107324 }, + { 0x660A, 107318 }, + { 0x660B, 107545 }, + { 0x660C, 107398 }, + { 0x660D, 107413 }, + { 0x660E, 107405 }, + { 0x660F, 107670 }, + { 0x6610, 107174 }, + { 0x6611, 107448 }, + { 0x6612, 107372 }, + { 0x6613, 107421 }, + { 0x6614, 107434 }, + { 0x6615, 107663 }, + { 0x6616, 107167 }, + { 0x6617, 107682 }, + { 0x6618, 107689 }, + { 0x6619, 107154 }, + { 0x661A, 107146 }, + { 0x661B, 107188 }, + { 0x661C, 107336 }, + { 0x661D, 107305 }, + { 0x661E, 107299 }, + { 0x661F, 107640 }, + { 0x6620, 107648 }, + { 0x6621, 107656 }, + { 0x6622, 107181 }, + { 0x6623, 107754 }, + { 0x6624, 107758 }, + { 0x6625, 107763 }, + { 0x6626, 107768 }, + { 0x6627, 107773 }, + { 0x6628, 106956 }, + { 0x6629, 106991 }, + { 0x662A, 108051 }, + { 0x662B, 107707 }, + { 0x662C, 107782 }, + { 0x662D, 107718 }, + { 0x662E, 107795 }, + { 0x662F, 107712 }, + { 0x6630, 107788 }, + { 0x6631, 107725 }, + { 0x6632, 106804 }, + { 0x6633, 106809 }, + { 0x6634, 108045 }, + { 0x6635, 107909 }, + { 0x6636, 107732 }, + { 0x6637, 107746 }, + { 0x6638, 107738 }, + { 0x6639, 107705 }, + { 0x663A, 107847 }, + { 0x663B, 107779 }, + { 0x663C, 107839 }, + { 0x663D, 107803 }, + { 0x663E, 107835 }, + { 0x663F, 107843 }, + { 0x6640, 107808 }, + { 0x6641, 107814 }, + { 0x6642, 107818 }, + { 0x6643, 107824 }, + { 0x6644, 107831 }, + { 0x6645, 106950 }, + { 0x6646, 106968 }, + { 0x6647, 106952 }, + { 0x6648, 106972 }, + { 0x6649, 107900 }, + { 0x664A, 107852 }, + { 0x664B, 106815 }, + { 0x664C, 106798 }, + { 0x664D, 106823 }, + { 0x664E, 106850 }, + { 0x664F, 106818 }, + { 0x6650, 106800 }, + { 0x6651, 106828 }, + { 0x6652, 106854 }, + { 0x6653, 108259 }, + { 0x6654, 108257 }, + { 0x6655, 108180 }, + { 0x6656, 107903 }, + { 0x6657, 107921 }, + { 0x6658, 107905 }, + { 0x6659, 107925 }, + { 0x665A, 108056 }, + { 0x665B, 108069 }, + { 0x665C, 108039 }, + { 0x665D, 108137 }, + { 0x665E, 108064 }, + { 0x665F, 108140 }, + { 0x6660, 108059 }, + { 0x6661, 108041 }, + { 0x6662, 108144 }, + { 0x6663, 108150 }, + { 0x6664, 107947 }, + { 0x6665, 107265 }, + { 0x6666, 108206 }, + { 0x6667, 108121 }, + { 0x6668, 107989 }, + { 0x6669, 108156 }, + { 0x666A, 107270 }, + { 0x666B, 107276 }, + { 0x666C, 108126 }, + { 0x666D, 107570 }, + { 0x666E, 107586 }, + { 0x666F, 107580 }, + { 0x6670, 107574 }, + { 0x6671, 107562 }, + { 0x6672, 107527 }, + { 0x6673, 108232 }, + { 0x6674, 107929 }, + { 0x6675, 107999 }, + { 0x6676, 107605 }, + { 0x6677, 107566 }, + { 0x6678, 107610 }, + { 0x6679, 107601 }, + { 0x667A, 108168 }, + { 0x667B, 107596 }, + { 0x667C, 108163 }, + { 0x667D, 108014 }, + { 0x667E, 108007 }, + { 0x667F, 107592 }, + { 0x6680, 108236 }, + { 0x6681, 108159 }, + { 0x6682, 108003 }, + { 0x6683, 107356 }, + { 0x6684, 108222 }, + { 0x6685, 108132 }, + { 0x6686, 108074 }, + { 0x6687, 107994 }, + { 0x6688, 107282 }, + { 0x6689, 108211 }, + { 0x668A, 107004 }, + { 0x668B, 108077 }, + { 0x668C, 107949 }, + { 0x668D, 107000 }, + { 0x668E, 107035 }, + { 0x668F, 107016 }, + { 0x6690, 108182 }, + { 0x6691, 107914 }, + { 0x6692, 107957 }, + { 0x6693, 107020 }, + { 0x6694, 107030 }, + { 0x6695, 107024 }, + { 0x6696, 107008 }, + { 0x6697, 107012 }, + { 0x6698, 107854 }, + { 0x6699, 107075 }, + { 0x669A, 108193 }, + { 0x669B, 108262 }, + { 0x669C, 107864 }, + { 0x669D, 107858 }, + { 0x669E, 107870 }, + { 0x669F, 106836 }, + { 0x66A0, 108088 }, + { 0x66A1, 107969 }, + { 0x66A2, 107964 }, + { 0x66A3, 107631 }, + { 0x66A4, 108172 }, + { 0x66A5, 107615 }, + { 0x66A6, 108240 }, + { 0x66A7, 107700 }, + { 0x66A8, 107619 }, + { 0x66A9, 107896 }, + { 0x66AA, 107677 }, + { 0x66AB, 107696 }, + { 0x66AC, 107635 }, + { 0x66AD, 108244 }, + { 0x66AE, 108268 }, + { 0x66AF, 106858 }, + { 0x66B0, 108175 }, + { 0x66B1, 108033 }, + { 0x66B2, 108027 }, + { 0x66B3, 108022 }, + { 0x66B4, 108249 }, + { 0x66B5, 106976 }, + { 0x66B6, 106982 }, + { 0x66B7, 107889 }, + { 0x66B8, 107882 }, + { 0x66B9, 107876 }, + { 0x66BA, 108117 }, + { 0x66BB, 107085 }, + { 0x66BC, 108102 }, + { 0x66BD, 107118 }, + { 0x66BE, 107125 }, + { 0x66BF, 107111 }, + { 0x66C0, 107097 }, + { 0x66C1, 107090 }, + { 0x66C2, 107104 }, + { 0x66C3, 107202 }, + { 0x66C4, 107195 }, + { 0x66C5, 107080 }, + { 0x66C6, 107209 }, + { 0x66C7, 107139 }, + { 0x66C8, 106961 }, + { 0x66C9, 107132 }, + { 0x66CA, 107162 }, + { 0x66CB, 106841 }, + { 0x66CC, 106845 }, + { 0x66CD, 108097 }, + { 0x66CE, 108107 }, + { 0x66CF, 108093 }, + { 0x66D0, 108112 }, + { 0x66D1, 107984 }, + { 0x66D2, 107979 }, + { 0x66D3, 107975 }, + { 0x66D4, 107468 }, + { 0x66D5, 107471 }, + { 0x66D6, 107493 }, + { 0x66D7, 107498 }, + { 0x66D8, 107488 }, + { 0x66D9, 107558 }, + { 0x66DA, 107539 }, + { 0x66DB, 107552 }, + { 0x66DC, 107533 }, + { 0x66DD, 107503 }, + { 0x66DE, 107475 }, + { 0x66DF, 107521 }, + { 0x66E0, 107509 }, + { 0x66E1, 107481 }, + { 0x66E2, 106989 }, + { 0x66E3, 106997 }, + { 0x66E4, 106611 }, + { 0x66E5, 106617 }, + { 0x66E6, 106614 }, + { 0x66E7, 106456 }, + { 0x66E8, 106462 }, + { 0x66E9, 106459 }, + { 0x66EA, 106664 }, + { 0x66EB, 106670 }, + { 0x66EC, 106667 }, + { 0x66ED, 106424 }, + { 0x66EE, 106430 }, + { 0x66EF, 106427 }, + { 0x66F0, 106273 }, + { 0x66F1, 106279 }, + { 0x66F2, 106276 }, + { 0x66F3, 106774 }, + { 0x66F4, 106771 }, + { 0x66F5, 106752 }, + { 0x66F6, 106760 }, + { 0x66F7, 106756 }, + { 0x66F8, 106764 }, + { 0x66F9, 106768 }, + { 0x66FA, 106437 }, + { 0x66FB, 106445 }, + { 0x66FC, 106441 }, + { 0x66FD, 106449 }, + { 0x66FE, 106453 }, + { 0x66FF, 106748 }, + { 0x6700, 108274 }, + { 0x6701, 108279 }, + { 0x6702, 108296 }, + { 0x6703, 108300 }, + { 0x6704, 108284 }, + { 0x6705, 108290 }, + { 0x6706, 108304 }, + { 0x6707, 108825 }, + { 0x6708, 109279 }, + { 0x6709, 108839 }, + { 0x670A, 108844 }, + { 0x670B, 108834 }, + { 0x670C, 108849 }, + { 0x670D, 108829 }, + { 0x670E, 108801 }, + { 0x670F, 108796 }, + { 0x6710, 108805 }, + { 0x6711, 108809 }, + { 0x6712, 108675 }, + { 0x6713, 108859 }, + { 0x6714, 108854 }, + { 0x6715, 108864 }, + { 0x6716, 108868 }, + { 0x6717, 108539 }, + { 0x6718, 108543 }, + { 0x6719, 108535 }, + { 0x671A, 108774 }, + { 0x671B, 108778 }, + { 0x671C, 108770 }, + { 0x671D, 108782 }, + { 0x671E, 108667 }, + { 0x671F, 108671 }, + { 0x6720, 108663 }, + { 0x6721, 108524 }, + { 0x6722, 108528 }, + { 0x6723, 108520 }, + { 0x6724, 108878 }, + { 0x6725, 108882 }, + { 0x6726, 108874 }, + { 0x6727, 108750 }, + { 0x6728, 108754 }, + { 0x6729, 108746 }, + { 0x672A, 108343 }, + { 0x672B, 108339 }, + { 0x672C, 108347 }, + { 0x672D, 108355 }, + { 0x672E, 108351 }, + { 0x672F, 108359 }, + { 0x6730, 108336 }, + { 0x6731, 108326 }, + { 0x6732, 108321 }, + { 0x6733, 108331 }, + { 0x6734, 108384 }, + { 0x6735, 108388 }, + { 0x6736, 108380 }, + { 0x6737, 108392 }, + { 0x6738, 108440 }, + { 0x6739, 108444 }, + { 0x673A, 108436 }, + { 0x673B, 108448 }, + { 0x673C, 108401 }, + { 0x673D, 108406 }, + { 0x673E, 108396 }, + { 0x673F, 108411 }, + { 0x6740, 108421 }, + { 0x6741, 108426 }, + { 0x6742, 108416 }, + { 0x6743, 108431 }, + { 0x6744, 109293 }, + { 0x6745, 109298 }, + { 0x6746, 109288 }, + { 0x6747, 109303 }, + { 0x6748, 109283 }, + { 0x6749, 109251 }, + { 0x674A, 109246 }, + { 0x674B, 109255 }, + { 0x674C, 109259 }, + { 0x674D, 109161 }, + { 0x674E, 109313 }, + { 0x674F, 109308 }, + { 0x6750, 109324 }, + { 0x6751, 109318 }, + { 0x6752, 108997 }, + { 0x6753, 109238 }, + { 0x6754, 109242 }, + { 0x6755, 109234 }, + { 0x6756, 109158 }, + { 0x6757, 108986 }, + { 0x6758, 108990 }, + { 0x6759, 108982 }, + { 0x675A, 109333 }, + { 0x675B, 109337 }, + { 0x675C, 109329 }, + { 0x675D, 109212 }, + { 0x675E, 109216 }, + { 0x675F, 109208 }, + { 0x6760, 108471 }, + { 0x6761, 108467 }, + { 0x6762, 108475 }, + { 0x6763, 108459 }, + { 0x6764, 108455 }, + { 0x6765, 108463 }, + { 0x6766, 108452 }, + { 0x6767, 108699 }, + { 0x6768, 108704 }, + { 0x6769, 108694 }, + { 0x676A, 108709 }, + { 0x676B, 108719 }, + { 0x676C, 108724 }, + { 0x676D, 108714 }, + { 0x676E, 108729 }, + { 0x676F, 108734 }, + { 0x6770, 108740 }, + { 0x6771, 108551 }, + { 0x6772, 108555 }, + { 0x6773, 108547 }, + { 0x6774, 108574 }, + { 0x6775, 108583 }, + { 0x6776, 108570 }, + { 0x6777, 108578 }, + { 0x6778, 108604 }, + { 0x6779, 108610 }, + { 0x677A, 108598 }, + { 0x677B, 108622 }, + { 0x677C, 108628 }, + { 0x677D, 108616 }, + { 0x677E, 108678 }, + { 0x677F, 108786 }, + { 0x6780, 108791 }, + { 0x6781, 108903 }, + { 0x6782, 108889 }, + { 0x6783, 108917 }, + { 0x6784, 108886 }, + { 0x6785, 108688 }, + { 0x6786, 108564 }, + { 0x6787, 108592 }, + { 0x6788, 108639 }, + { 0x6789, 108911 }, + { 0x678A, 108897 }, + { 0x678B, 108925 }, + { 0x678C, 108683 }, + { 0x678D, 108559 }, + { 0x678E, 108587 }, + { 0x678F, 108634 }, + { 0x6790, 108906 }, + { 0x6791, 108892 }, + { 0x6792, 108920 }, + { 0x6793, 108651 }, + { 0x6794, 108657 }, + { 0x6795, 108645 }, + { 0x6796, 109194 }, + { 0x6797, 109188 }, + { 0x6798, 109048 }, + { 0x6799, 109034 }, + { 0x679A, 109055 }, + { 0x679B, 109041 }, + { 0x679C, 109115 }, + { 0x679D, 109101 }, + { 0x679E, 109108 }, + { 0x679F, 109094 }, + { 0x67A0, 109152 }, + { 0x67A1, 109146 }, + { 0x67A2, 109366 }, + { 0x67A3, 109353 }, + { 0x67A4, 109379 }, + { 0x67A5, 109182 }, + { 0x67A6, 109176 }, + { 0x67A7, 109011 }, + { 0x67A8, 109004 }, + { 0x67A9, 109026 }, + { 0x67AA, 109018 }, + { 0x67AB, 109087 }, + { 0x67AC, 109073 }, + { 0x67AD, 109080 }, + { 0x67AE, 109066 }, + { 0x67AF, 109140 }, + { 0x67B0, 109134 }, + { 0x67B1, 109361 }, + { 0x67B2, 109348 }, + { 0x67B3, 109374 }, + { 0x67B4, 109168 }, + { 0x67B5, 109172 }, + { 0x67B6, 109164 }, + { 0x67B7, 109200 }, + { 0x67B8, 109204 }, + { 0x67B9, 109000 }, + { 0x67BA, 109062 }, + { 0x67BB, 109130 }, + { 0x67BC, 109126 }, + { 0x67BD, 109122 }, + { 0x67BE, 109358 }, + { 0x67BF, 109345 }, + { 0x67C0, 109371 }, + { 0x67C1, 109341 }, + { 0x67C2, 108502 }, + { 0x67C3, 108514 }, + { 0x67C4, 108496 }, + { 0x67C5, 108508 }, + { 0x67C6, 108958 }, + { 0x67C7, 108974 }, + { 0x67C8, 108942 }, + { 0x67C9, 108950 }, + { 0x67CA, 108966 }, + { 0x67CB, 108934 }, + { 0x67CC, 108764 }, + { 0x67CD, 108758 }, + { 0x67CE, 109227 }, + { 0x67CF, 109220 }, + { 0x67D0, 108820 }, + { 0x67D1, 108815 }, + { 0x67D2, 109272 }, + { 0x67D3, 109265 }, + { 0x67D4, 106737 }, + { 0x67D5, 106733 }, + { 0x67D6, 106713 }, + { 0x67D7, 106716 }, + { 0x67D8, 106724 }, + { 0x67D9, 106730 }, + { 0x67DA, 106741 }, + { 0x67DB, 106744 }, + { 0x67DC, 106719 }, + { 0x67DD, 106727 }, + { 0x67DE, 106353 }, + { 0x67DF, 106355 }, + { 0x67E0, 106370 }, + { 0x67E1, 106362 }, + { 0x67E2, 106378 }, + { 0x67E3, 106366 }, + { 0x67E4, 106374 }, + { 0x67E5, 106358 }, + { 0x67E6, 106326 }, + { 0x67E7, 106309 }, + { 0x67E8, 106317 }, + { 0x67E9, 106777 }, + { 0x67EA, 106785 }, + { 0x67EB, 106781 }, + { 0x67EC, 106657 }, + { 0x67ED, 106647 }, + { 0x67EE, 106642 }, + { 0x67EF, 106652 }, + { 0x67F0, 106792 }, + { 0x67F1, 106789 }, + { 0x67F2, 106795 }, + { 0x67F3, 106292 }, + { 0x67F4, 106302 }, + { 0x67F5, 106299 }, + { 0x67F6, 106255 }, + { 0x67F7, 106259 }, + { 0x67F8, 106284 }, + { 0x67F9, 106295 }, + { 0x67FA, 106288 }, + { 0x67FB, 106305 }, + { 0x67FC, 106252 }, + { 0x67FD, 106941 }, + { 0x67FE, 106944 }, + { 0x67FF, 106947 }, + { 0x6800, 108369 }, + { 0x6801, 108372 }, + { 0x6802, 108376 }, + { 0x6803, 108482 }, + { 0x6804, 108485 }, + { 0x6805, 108489 }, + { 0x6806, 108363 }, + { 0x6807, 108479 }, + { 0x6808, 108366 }, + { 0x6809, 106633 }, + { 0x680A, 106639 }, + { 0x680B, 106636 }, + { 0x680C, 106603 }, + { 0x680D, 106607 }, + { 0x680E, 106599 }, + { 0x680F, 106282 }, + { 0x6810, 106415 }, + { 0x6811, 106412 }, + { 0x6812, 106421 }, + { 0x6813, 106418 }, + { 0x6814, 106244 }, + { 0x6815, 106248 }, + { 0x6816, 106234 }, + { 0x6817, 106239 }, + { 0x6818, 106630 }, + { 0x6819, 106627 }, + { 0x681A, 106557 }, + { 0x681B, 106553 }, + { 0x681C, 106549 }, + { 0x681D, 106527 }, + { 0x681E, 106534 }, + { 0x681F, 106530 }, + { 0x6820, 106516 }, + { 0x6821, 106523 }, + { 0x6822, 106519 }, + { 0x6823, 106490 }, + { 0x6824, 106494 }, + { 0x6825, 106498 }, + { 0x6826, 106476 }, + { 0x6827, 106485 }, + { 0x6828, 106480 }, + { 0x6829, 106502 }, + { 0x682A, 106511 }, + { 0x682B, 106506 }, + { 0x682C, 106465 }, + { 0x682D, 106468 }, + { 0x682E, 106472 }, + { 0x682F, 106538 }, + { 0x6830, 106545 }, + { 0x6831, 106541 }, + { 0x6832, 106406 }, + { 0x6833, 106263 }, + { 0x6834, 106268 }, + { 0x6835, 106561 }, + { 0x6836, 106568 }, + { 0x6837, 106564 }, + { 0x6838, 106708 }, + { 0x6839, 106704 }, + { 0x683A, 106673 }, + { 0x683B, 106678 }, + { 0x683C, 106699 }, + { 0x683D, 106684 }, + { 0x683E, 106694 }, + { 0x683F, 106689 }, + { 0x6840, 106572 }, + { 0x6841, 106596 }, + { 0x6842, 106583 }, + { 0x6843, 106587 }, + { 0x6844, 106574 }, + { 0x6845, 106578 }, + { 0x6846, 106592 }, + { 0x6847, 108532 }, + { 0x6848, 108994 }, + { 0x6849, 106410 }, + { 0x684A, 106351 }, + { 0x684B, 107940 }, + { 0x684C, 106928 }, + { 0x684D, 106932 }, + { 0x684E, 107935 }, + { 0x684F, 107942 }, + { 0x6850, 106936 }, + { 0x6851, 108314 }, + { 0x6852, 108310 }, + { 0x6853, 108318 }, + { 0x6854, 106620 }, + { 0x6855, 106403 }, + { 0x6856, 106382 }, + { 0x6857, 106385 }, + { 0x6858, 106388 }, + { 0x6859, 106391 }, + { 0x685A, 106394 }, + { 0x685B, 106397 }, + { 0x685C, 106400 }, + { 0x685D, 106662 }, + { 0x685E, 108493 }, + { 0x685F, 108931 }, + { 0x6860, 106880 }, + { 0x6861, 106877 }, + { 0x6862, 106867 }, + { 0x6863, 106863 }, + { 0x6864, 106874 }, + { 0x6865, 106870 }, + { 0x6866, 106435 }, + { 0x6867, 106348 }, + { 0x6868, 107933 }, + { 0x6869, 106433 }, + { 0x686A, 108255 }, + { 0x686B, 106333 }, + { 0x686C, 106336 }, + { 0x686D, 106339 }, + { 0x686E, 106342 }, + { 0x686F, 106345 }, + { 0x6870, 106883 }, + { 0x6871, 106886 }, + { 0x6872, 106889 }, + { 0x6873, 106892 }, + { 0x6874, 106895 }, + { 0x6875, 106898 }, + { 0x6876, 106901 }, + { 0x6877, 106904 }, + { 0x6878, 106907 }, + { 0x6879, 106910 }, + { 0x687A, 106913 }, + { 0x687B, 106916 }, + { 0x687C, 106919 }, + { 0x687D, 106922 }, + { 0x687E, 106925 }, + { 0x687F, 91858 }, + { 0x6880, 91883 }, + { 0x6881, 91907 }, + { 0x6882, 91972 }, + { 0x6883, 91923 }, + { 0x6884, 91948 }, + { 0x6885, 92001 }, + { 0x6886, 91968 }, + { 0x6887, 91895 }, + { 0x6888, 91976 }, + { 0x6889, 91846 }, + { 0x688A, 91956 }, + { 0x688B, 91899 }, + { 0x688C, 91993 }, + { 0x688D, 91997 }, + { 0x688E, 91931 }, + { 0x688F, 91867 }, + { 0x6890, 91960 }, + { 0x6891, 91935 }, + { 0x6892, 91939 }, + { 0x6893, 91964 }, + { 0x6894, 91879 }, + { 0x6895, 91927 }, + { 0x6896, 91891 }, + { 0x6897, 91903 }, + { 0x6898, 91875 }, + { 0x6899, 91952 }, + { 0x689A, 91871 }, + { 0x689B, 91919 }, + { 0x689C, 91915 }, + { 0x689D, 91911 }, + { 0x689E, 91854 }, + { 0x689F, 91943 }, + { 0x68A0, 91850 }, + { 0x68A1, 91987 }, + { 0x68A2, 91862 }, + { 0x68A3, 91981 }, + { 0x68A4, 91887 }, + { 0x68A5, 31471 }, + { 0x68A6, 31476 }, + { 0x68A7, 31481 }, + { 0x68A8, 31791 }, + { 0x68A9, 31942 }, + { 0x68AA, 31846 }, + { 0x68AB, 31706 }, + { 0x68AC, 32368 }, + { 0x68AD, 31486 }, + { 0x68AE, 31491 }, + { 0x68AF, 31496 }, + { 0x68B0, 32100 }, + { 0x68B1, 32060 }, + { 0x68B2, 32040 }, + { 0x68B3, 31691 }, + { 0x68B4, 32444 }, + { 0x68B5, 32186 }, + { 0x68B6, 31771 }, + { 0x68B7, 31711 }, + { 0x68B8, 32165 }, + { 0x68B9, 31501 }, + { 0x68BA, 31506 }, + { 0x68BB, 31511 }, + { 0x68BC, 31761 }, + { 0x68BD, 31937 }, + { 0x68BE, 32241 }, + { 0x68BF, 32419 }, + { 0x68C0, 31516 }, + { 0x68C1, 31521 }, + { 0x68C2, 31526 }, + { 0x68C3, 32221 }, + { 0x68C4, 31952 }, + { 0x68C5, 31982 }, + { 0x68C6, 32160 }, + { 0x68C7, 31531 }, + { 0x68C8, 31536 }, + { 0x68C9, 31541 }, + { 0x68CA, 32287 }, + { 0x68CB, 31967 }, + { 0x68CC, 32297 }, + { 0x68CD, 32206 }, + { 0x68CE, 32155 }, + { 0x68CF, 32125 }, + { 0x68D0, 32145 }, + { 0x68D1, 32449 }, + { 0x68D2, 32363 }, + { 0x68D3, 31561 }, + { 0x68D4, 31566 }, + { 0x68D5, 31571 }, + { 0x68D6, 32282 }, + { 0x68D7, 32050 }, + { 0x68D8, 32150 }, + { 0x68D9, 31861 }, + { 0x68DA, 32454 }, + { 0x68DB, 31591 }, + { 0x68DC, 31596 }, + { 0x68DD, 31601 }, + { 0x68DE, 31886 }, + { 0x68DF, 31831 }, + { 0x68E0, 31736 }, + { 0x68E1, 32236 }, + { 0x68E2, 32019 }, + { 0x68E3, 31546 }, + { 0x68E4, 31551 }, + { 0x68E5, 31556 }, + { 0x68E6, 31912 }, + { 0x68E7, 32373 }, + { 0x68E8, 32378 }, + { 0x68E9, 31576 }, + { 0x68EA, 31581 }, + { 0x68EB, 31586 }, + { 0x68EC, 31922 }, + { 0x68ED, 31741 }, + { 0x68EE, 31987 }, + { 0x68EF, 31811 }, + { 0x68F0, 31606 }, + { 0x68F1, 31611 }, + { 0x68F2, 31616 }, + { 0x68F3, 32256 }, + { 0x68F4, 32035 }, + { 0x68F5, 32271 }, + { 0x68F6, 31781 }, + { 0x68F7, 32347 }, + { 0x68F8, 31621 }, + { 0x68F9, 31626 }, + { 0x68FA, 31631 }, + { 0x68FB, 32014 }, + { 0x68FC, 31866 }, + { 0x68FD, 32175 }, + { 0x68FE, 32075 }, + { 0x68FF, 31636 }, + { 0x6900, 31641 }, + { 0x6901, 31646 }, + { 0x6902, 31856 }, + { 0x6903, 31841 }, + { 0x6904, 32135 }, + { 0x6905, 31907 }, + { 0x6906, 32459 }, + { 0x6907, 31972 }, + { 0x6908, 31651 }, + { 0x6909, 31656 }, + { 0x690A, 31661 }, + { 0x690B, 32055 }, + { 0x690C, 32317 }, + { 0x690D, 32353 }, + { 0x690E, 31671 }, + { 0x690F, 32404 }, + { 0x6910, 31666 }, + { 0x6911, 31947 }, + { 0x6912, 31676 }, + { 0x6913, 32170 }, + { 0x6914, 31881 }, + { 0x6915, 32110 }, + { 0x6916, 31731 }, + { 0x6917, 32120 }, + { 0x6918, 31902 }, + { 0x6919, 31726 }, + { 0x691A, 32439 }, + { 0x691B, 31696 }, + { 0x691C, 31917 }, + { 0x691D, 31681 }, + { 0x691E, 31876 }, + { 0x691F, 32045 }, + { 0x6920, 32201 }, + { 0x6921, 32251 }, + { 0x6922, 32070 }, + { 0x6923, 32266 }, + { 0x6924, 32105 }, + { 0x6925, 31896 }, + { 0x6926, 31998 }, + { 0x6927, 32388 }, + { 0x6928, 32246 }, + { 0x6929, 32025 }, + { 0x692A, 32312 }, + { 0x692B, 32424 }, + { 0x692C, 32302 }, + { 0x692D, 32307 }, + { 0x692E, 32394 }, + { 0x692F, 31751 }, + { 0x6930, 32358 }, + { 0x6931, 31806 }, + { 0x6932, 31962 }, + { 0x6933, 31716 }, + { 0x6934, 31871 }, + { 0x6935, 31721 }, + { 0x6936, 31977 }, + { 0x6937, 31796 }, + { 0x6938, 32196 }, + { 0x6939, 31776 }, + { 0x693A, 32080 }, + { 0x693B, 31701 }, + { 0x693C, 32414 }, + { 0x693D, 31826 }, + { 0x693E, 32332 }, + { 0x693F, 32342 }, + { 0x6940, 32409 }, + { 0x6941, 32276 }, + { 0x6942, 31992 }, + { 0x6943, 32180 }, + { 0x6944, 32130 }, + { 0x6945, 31927 }, + { 0x6946, 31836 }, + { 0x6947, 31686 }, + { 0x6948, 32009 }, + { 0x6949, 32030 }, + { 0x694A, 32261 }, + { 0x694B, 32090 }, + { 0x694C, 31746 }, + { 0x694D, 32211 }, + { 0x694E, 31932 }, + { 0x694F, 32004 }, + { 0x6950, 31821 }, + { 0x6951, 31816 }, + { 0x6952, 32327 }, + { 0x6953, 32085 }, + { 0x6954, 32115 }, + { 0x6955, 32095 }, + { 0x6956, 32429 }, + { 0x6957, 32065 }, + { 0x6958, 31801 }, + { 0x6959, 31786 }, + { 0x695A, 32231 }, + { 0x695B, 32434 }, + { 0x695C, 32216 }, + { 0x695D, 32140 }, + { 0x695E, 32383 }, + { 0x695F, 32399 }, + { 0x6960, 32226 }, + { 0x6961, 32337 }, + { 0x6962, 31891 }, + { 0x6963, 32191 }, + { 0x6964, 31851 }, + { 0x6965, 32292 }, + { 0x6966, 31756 }, + { 0x6967, 32322 }, + { 0x6968, 31957 }, + { 0x6969, 31766 }, + { 0x696A, 31435 }, + { 0x696B, 31443 }, + { 0x696C, 31467 }, + { 0x696D, 31451 }, + { 0x696E, 31447 }, + { 0x696F, 31439 }, + { 0x6970, 31463 }, + { 0x6971, 31459 }, + { 0x6972, 31455 }, + { 0x6973, 32475 }, + { 0x6974, 32470 }, + { 0x6975, 32486 }, + { 0x6976, 32496 }, + { 0x6977, 32464 }, + { 0x6978, 32480 }, + { 0x6979, 32491 }, + { 0x697A, 15668 }, + { 0x697B, 15688 }, + { 0x697C, 15676 }, + { 0x697D, 15680 }, + { 0x697E, 15576 }, + { 0x697F, 15692 }, + { 0x6980, 15592 }, + { 0x6981, 15612 }, + { 0x6982, 15596 }, + { 0x6983, 15560 }, + { 0x6984, 15580 }, + { 0x6985, 15564 }, + { 0x6986, 15568 }, + { 0x6987, 15620 }, + { 0x6988, 15660 }, + { 0x6989, 15656 }, + { 0x698A, 15644 }, + { 0x698B, 15628 }, + { 0x698C, 15608 }, + { 0x698D, 15572 }, + { 0x698E, 15672 }, + { 0x698F, 15616 }, + { 0x6990, 15588 }, + { 0x6991, 15684 }, + { 0x6992, 15584 }, + { 0x6993, 15648 }, + { 0x6994, 15600 }, + { 0x6995, 15640 }, + { 0x6996, 15604 }, + { 0x6997, 15632 }, + { 0x6998, 15624 }, + { 0x6999, 15664 }, + { 0x699A, 15636 }, + { 0x699B, 15652 }, + { 0x699C, 15529 }, + { 0x699D, 15549 }, + { 0x699E, 15537 }, + { 0x699F, 15541 }, + { 0x69A0, 15437 }, + { 0x69A1, 15553 }, + { 0x69A2, 15453 }, + { 0x69A3, 15473 }, + { 0x69A4, 15457 }, + { 0x69A5, 15421 }, + { 0x69A6, 15441 }, + { 0x69A7, 15425 }, + { 0x69A8, 15429 }, + { 0x69A9, 15481 }, + { 0x69AA, 15521 }, + { 0x69AB, 15517 }, + { 0x69AC, 15505 }, + { 0x69AD, 15489 }, + { 0x69AE, 15469 }, + { 0x69AF, 15433 }, + { 0x69B0, 15533 }, + { 0x69B1, 15477 }, + { 0x69B2, 15449 }, + { 0x69B3, 15545 }, + { 0x69B4, 15445 }, + { 0x69B5, 15509 }, + { 0x69B6, 15461 }, + { 0x69B7, 15501 }, + { 0x69B8, 15465 }, + { 0x69B9, 15493 }, + { 0x69BA, 15485 }, + { 0x69BB, 15525 }, + { 0x69BC, 15497 }, + { 0x69BD, 15513 }, + { 0x69BE, 15384 }, + { 0x69BF, 15557 }, + { 0x69C0, 15711 }, + { 0x69C1, 15417 }, + { 0x69C2, 15708 }, + { 0x69C3, 15704 }, + { 0x69C4, 15419 }, + { 0x69C5, 15405 }, + { 0x69C6, 15387 }, + { 0x69C7, 15393 }, + { 0x69C8, 15414 }, + { 0x69C9, 15399 }, + { 0x69CA, 15396 }, + { 0x69CB, 15390 }, + { 0x69CC, 15411 }, + { 0x69CD, 15408 }, + { 0x69CE, 15402 }, + { 0x69CF, 15700 }, + { 0x69D0, 15696 }, + { 0x69D1, 43366 }, + { 0x69D2, 43321 }, + { 0x69D3, 43369 }, + { 0x69D4, 43327 }, + { 0x69D5, 43357 }, + { 0x69D6, 43390 }, + { 0x69D7, 43333 }, + { 0x69D8, 43351 }, + { 0x69D9, 43360 }, + { 0x69DA, 43336 }, + { 0x69DB, 43339 }, + { 0x69DC, 43375 }, + { 0x69DD, 43378 }, + { 0x69DE, 43381 }, + { 0x69DF, 43318 }, + { 0x69E0, 43330 }, + { 0x69E1, 43348 }, + { 0x69E2, 43342 }, + { 0x69E3, 43345 }, + { 0x69E4, 43396 }, + { 0x69E5, 43354 }, + { 0x69E6, 43387 }, + { 0x69E7, 43372 }, + { 0x69E8, 43384 }, + { 0x69E9, 43324 }, + { 0x69EA, 43363 }, + { 0x69EB, 43393 }, + { 0x69EC, 43569 }, + { 0x69ED, 43581 }, + { 0x69EE, 43573 }, + { 0x69EF, 43577 }, + { 0x69F0, 43589 }, + { 0x69F1, 43633 }, + { 0x69F2, 43605 }, + { 0x69F3, 43601 }, + { 0x69F4, 43629 }, + { 0x69F5, 43609 }, + { 0x69F6, 43613 }, + { 0x69F7, 43641 }, + { 0x69F8, 43645 }, + { 0x69F9, 43649 }, + { 0x69FA, 43585 }, + { 0x69FB, 43597 }, + { 0x69FC, 43621 }, + { 0x69FD, 43617 }, + { 0x69FE, 43661 }, + { 0x69FF, 43625 }, + { 0x6A00, 43653 }, + { 0x6A01, 43637 }, + { 0x6A02, 43593 }, + { 0x6A03, 43657 }, + { 0x6A04, 43535 }, + { 0x6A05, 43515 }, + { 0x6A06, 43531 }, + { 0x6A07, 43519 }, + { 0x6A08, 43543 }, + { 0x6A09, 43547 }, + { 0x6A0A, 43507 }, + { 0x6A0B, 43527 }, + { 0x6A0C, 43523 }, + { 0x6A0D, 43555 }, + { 0x6A0E, 43539 }, + { 0x6A0F, 43511 }, + { 0x6A10, 43551 }, + { 0x6A11, 43564 }, + { 0x6A12, 43559 }, + { 0x6A13, 43683 }, + { 0x6A14, 43731 }, + { 0x6A15, 43699 }, + { 0x6A16, 43695 }, + { 0x6A17, 43715 }, + { 0x6A18, 43723 }, + { 0x6A19, 43703 }, + { 0x6A1A, 43739 }, + { 0x6A1B, 43743 }, + { 0x6A1C, 43747 }, + { 0x6A1D, 43679 }, + { 0x6A1E, 43691 }, + { 0x6A1F, 43711 }, + { 0x6A20, 43707 }, + { 0x6A21, 43759 }, + { 0x6A22, 43719 }, + { 0x6A23, 43751 }, + { 0x6A24, 43735 }, + { 0x6A25, 43687 }, + { 0x6A26, 43727 }, + { 0x6A27, 43755 }, + { 0x6A28, 43763 }, + { 0x6A29, 43768 }, + { 0x6A2A, 43463 }, + { 0x6A2B, 43403 }, + { 0x6A2C, 43467 }, + { 0x6A2D, 43411 }, + { 0x6A2E, 43423 }, + { 0x6A2F, 43451 }, + { 0x6A30, 43495 }, + { 0x6A31, 43419 }, + { 0x6A32, 43443 }, + { 0x6A33, 43455 }, + { 0x6A34, 43427 }, + { 0x6A35, 43475 }, + { 0x6A36, 43479 }, + { 0x6A37, 43483 }, + { 0x6A38, 43399 }, + { 0x6A39, 43415 }, + { 0x6A3A, 43439 }, + { 0x6A3B, 43431 }, + { 0x6A3C, 43435 }, + { 0x6A3D, 43503 }, + { 0x6A3E, 43447 }, + { 0x6A3F, 43491 }, + { 0x6A40, 43471 }, + { 0x6A41, 43487 }, + { 0x6A42, 43407 }, + { 0x6A43, 43459 }, + { 0x6A44, 43499 }, + { 0x6A45, 43777 }, + { 0x6A46, 43833 }, + { 0x6A47, 43785 }, + { 0x6A48, 43821 }, + { 0x6A49, 43861 }, + { 0x6A4A, 43793 }, + { 0x6A4B, 43813 }, + { 0x6A4C, 43825 }, + { 0x6A4D, 43797 }, + { 0x6A4E, 43841 }, + { 0x6A4F, 43845 }, + { 0x6A50, 43849 }, + { 0x6A51, 43773 }, + { 0x6A52, 43789 }, + { 0x6A53, 43809 }, + { 0x6A54, 43801 }, + { 0x6A55, 43805 }, + { 0x6A56, 43869 }, + { 0x6A57, 43817 }, + { 0x6A58, 43857 }, + { 0x6A59, 43837 }, + { 0x6A5A, 43853 }, + { 0x6A5B, 43781 }, + { 0x6A5C, 43829 }, + { 0x6A5D, 43865 }, + { 0x6A5E, 43671 }, + { 0x6A5F, 43665 }, + { 0x6A60, 61866 }, + { 0x6A61, 61963 }, + { 0x6A62, 61918 }, + { 0x6A63, 61944 }, + { 0x6A64, 61829 }, + { 0x6A65, 61937 }, + { 0x6A66, 61982 }, + { 0x6A67, 61824 }, + { 0x6A68, 61858 }, + { 0x6A69, 61977 }, + { 0x6A6A, 61895 }, + { 0x6A6B, 61880 }, + { 0x6A6C, 61843 }, + { 0x6A6D, 61958 }, + { 0x6A6E, 61932 }, + { 0x6A6F, 61910 }, + { 0x6A70, 61814 }, + { 0x6A71, 61848 }, + { 0x6A72, 61967 }, + { 0x6A73, 61885 }, + { 0x6A74, 61870 }, + { 0x6A75, 61833 }, + { 0x6A76, 61948 }, + { 0x6A77, 61922 }, + { 0x6A78, 61900 }, + { 0x6A79, 61819 }, + { 0x6A7A, 61853 }, + { 0x6A7B, 61972 }, + { 0x6A7C, 61890 }, + { 0x6A7D, 61875 }, + { 0x6A7E, 61838 }, + { 0x6A7F, 61953 }, + { 0x6A80, 61927 }, + { 0x6A81, 61905 }, + { 0x6A82, 61915 }, + { 0x6A83, 61992 }, + { 0x6A84, 61989 }, + { 0x6A85, 62004 }, + { 0x6A86, 61995 }, + { 0x6A87, 61998 }, + { 0x6A88, 61986 }, + { 0x6A89, 62001 }, + { 0x6A8A, 61941 }, + { 0x6A8B, 61863 }, + { 0x6A8C, 45732 }, + { 0x6A8D, 45883 }, + { 0x6A8E, 45886 }, + { 0x6A8F, 45889 }, + { 0x6A90, 45892 }, + { 0x6A91, 45895 }, + { 0x6A92, 45898 }, + { 0x6A93, 45901 }, + { 0x6A94, 45904 }, + { 0x6A95, 45907 }, + { 0x6A96, 45910 }, + { 0x6A97, 45913 }, + { 0x6A98, 45916 }, + { 0x6A99, 45919 }, + { 0x6A9A, 45922 }, + { 0x6A9B, 45925 }, + { 0x6A9C, 45928 }, + { 0x6A9D, 45931 }, + { 0x6A9E, 45934 }, + { 0x6A9F, 45937 }, + { 0x6AA0, 45940 }, + { 0x6AA1, 45943 }, + { 0x6AA2, 45946 }, + { 0x6AA3, 45949 }, + { 0x6AA4, 45952 }, + { 0x6AA5, 45955 }, + { 0x6AA6, 45958 }, + { 0x6AA7, 45961 }, + { 0x6AA8, 45964 }, + { 0x6AA9, 45967 }, + { 0x6AAA, 45970 }, + { 0x6AAB, 45973 }, + { 0x6AAC, 45976 }, + { 0x6AAD, 45979 }, + { 0x6AAE, 45982 }, + { 0x6AAF, 45985 }, + { 0x6AB0, 45988 }, + { 0x6AB1, 45991 }, + { 0x6AB2, 45994 }, + { 0x6AB3, 45997 }, + { 0x6AB4, 46000 }, + { 0x6AB5, 46003 }, + { 0x6AB6, 46006 }, + { 0x6AB7, 46009 }, + { 0x6AB8, 46012 }, + { 0x6AB9, 46015 }, + { 0x6ABA, 46018 }, + { 0x6ABB, 46021 }, + { 0x6ABC, 46024 }, + { 0x6ABD, 46027 }, + { 0x6ABE, 45728 }, + { 0x6ABF, 45736 }, + { 0x6AC0, 45739 }, + { 0x6AC1, 45742 }, + { 0x6AC2, 45745 }, + { 0x6AC3, 45748 }, + { 0x6AC4, 45751 }, + { 0x6AC5, 45754 }, + { 0x6AC6, 45757 }, + { 0x6AC7, 45760 }, + { 0x6AC8, 45763 }, + { 0x6AC9, 45766 }, + { 0x6ACA, 45769 }, + { 0x6ACB, 45772 }, + { 0x6ACC, 45775 }, + { 0x6ACD, 45778 }, + { 0x6ACE, 45781 }, + { 0x6ACF, 45784 }, + { 0x6AD0, 45787 }, + { 0x6AD1, 45790 }, + { 0x6AD2, 45793 }, + { 0x6AD3, 45796 }, + { 0x6AD4, 45799 }, + { 0x6AD5, 45802 }, + { 0x6AD6, 45805 }, + { 0x6AD7, 45808 }, + { 0x6AD8, 45811 }, + { 0x6AD9, 45814 }, + { 0x6ADA, 45817 }, + { 0x6ADB, 45820 }, + { 0x6ADC, 45823 }, + { 0x6ADD, 45826 }, + { 0x6ADE, 45829 }, + { 0x6ADF, 45832 }, + { 0x6AE0, 45835 }, + { 0x6AE1, 45838 }, + { 0x6AE2, 45841 }, + { 0x6AE3, 45844 }, + { 0x6AE4, 45847 }, + { 0x6AE5, 45850 }, + { 0x6AE6, 45853 }, + { 0x6AE7, 45856 }, + { 0x6AE8, 45859 }, + { 0x6AE9, 45862 }, + { 0x6AEA, 45865 }, + { 0x6AEB, 45868 }, + { 0x6AEC, 45871 }, + { 0x6AED, 45874 }, + { 0x6AEE, 45877 }, + { 0x6AEF, 45880 }, + { 0x6AF0, 64733 }, + { 0x6AF1, 64659 }, + { 0x6AF2, 64723 }, + { 0x6AF3, 64913 }, + { 0x6AF4, 64769 }, + { 0x6AF5, 64746 }, + { 0x6AF6, 64683 }, + { 0x6AF7, 64893 }, + { 0x6AF8, 64853 }, + { 0x6AF9, 64829 }, + { 0x6AFA, 64703 }, + { 0x6AFB, 64789 }, + { 0x6AFC, 64937 }, + { 0x6AFD, 64873 }, + { 0x6AFE, 64809 }, + { 0x6AFF, 64654 }, + { 0x6B00, 64718 }, + { 0x6B01, 64908 }, + { 0x6B02, 64764 }, + { 0x6B03, 64741 }, + { 0x6B04, 64678 }, + { 0x6B05, 64888 }, + { 0x6B06, 64848 }, + { 0x6B07, 64824 }, + { 0x6B08, 64698 }, + { 0x6B09, 64784 }, + { 0x6B0A, 64932 }, + { 0x6B0B, 64868 }, + { 0x6B0C, 64804 }, + { 0x6B0D, 64669 }, + { 0x6B0E, 64664 }, + { 0x6B0F, 64728 }, + { 0x6B10, 64918 }, + { 0x6B11, 64774 }, + { 0x6B12, 64751 }, + { 0x6B13, 64688 }, + { 0x6B14, 64898 }, + { 0x6B15, 64858 }, + { 0x6B16, 64834 }, + { 0x6B17, 64708 }, + { 0x6B18, 64794 }, + { 0x6B19, 64942 }, + { 0x6B1A, 64878 }, + { 0x6B1B, 64814 }, + { 0x6B1C, 64839 }, + { 0x6B1D, 64649 }, + { 0x6B1E, 64713 }, + { 0x6B1F, 64903 }, + { 0x6B20, 64759 }, + { 0x6B21, 64736 }, + { 0x6B22, 64673 }, + { 0x6B23, 64883 }, + { 0x6B24, 64843 }, + { 0x6B25, 64819 }, + { 0x6B26, 64693 }, + { 0x6B27, 64779 }, + { 0x6B28, 64927 }, + { 0x6B29, 64863 }, + { 0x6B2A, 64799 }, + { 0x6B2B, 64923 }, + { 0x6B2C, 64756 }, + { 0x6B2D, 64947 }, + { 0x6B2E, 64950 }, + { 0x6B2F, 64953 }, + { 0x6B30, 64956 }, + { 0x6B31, 64959 }, + { 0x6B32, 64962 }, + { 0x6B33, 64965 }, + { 0x6B34, 64968 }, + { 0x6B35, 64971 }, + { 0x6B36, 64974 }, + { 0x6B37, 64977 }, + { 0x6B38, 64980 }, + { 0x6B39, 64983 }, + { 0x6B3A, 64986 }, + { 0x6B3B, 64989 }, + { 0x6B3C, 64992 }, + { 0x6B3D, 64995 }, + { 0x6B3E, 64998 }, + { 0x6B3F, 65001 }, + { 0x6B40, 65004 }, + { 0x6B41, 65007 }, + { 0x6B42, 19556 }, + { 0x6B43, 19560 }, + { 0x6B44, 19506 }, + { 0x6B45, 19524 }, + { 0x6B46, 19587 }, + { 0x6B47, 19542 }, + { 0x6B48, 19533 }, + { 0x6B49, 19515 }, + { 0x6B4A, 19578 }, + { 0x6B4B, 19569 }, + { 0x6B4C, 19551 }, + { 0x6B4D, 60737 }, + { 0x6B4E, 60848 }, + { 0x6B4F, 115469 }, + { 0x6B50, 115474 }, + { 0x6B51, 115479 }, + { 0x6B52, 115484 }, + { 0x6B53, 115489 }, + { 0x6B54, 115494 }, + { 0x6B55, 115499 }, + { 0x6B56, 115504 }, + { 0x6B57, 115509 }, + { 0x6B58, 115514 }, + { 0x6B59, 115519 }, + { 0x6B5A, 115524 }, + { 0x6B5B, 115529 }, + { 0x6B5C, 115534 }, + { 0x6B5D, 115539 }, + { 0x6B5E, 115544 }, + { 0x6B5F, 115549 }, + { 0x6B60, 115554 }, + { 0x6B61, 115559 }, + { 0x6B62, 115564 }, + { 0x6B63, 115569 }, + { 0x6B64, 115574 }, + { 0x6B65, 115579 }, + { 0x6B66, 115584 }, + { 0x6B67, 115589 }, + { 0x6B68, 115594 }, + { 0x6B69, 86678 }, + { 0x6B6A, 59554 }, + { 0x6B6B, 59560 }, + { 0x6B6C, 59117 }, + { 0x6B6D, 59119 }, + { 0x6B6E, 66904 }, + { 0x6B6F, 66909 }, + { 0x6B70, 66914 }, + { 0x6B71, 66919 }, + { 0x6B72, 66924 }, + { 0x6B73, 66929 }, + { 0x6B74, 66934 }, + { 0x6B75, 66939 }, + { 0x6B76, 66944 }, + { 0x6B77, 66949 }, + { 0x6B78, 66954 }, + { 0x6B79, 66959 }, + { 0x6B7A, 66964 }, + { 0x6B7B, 66969 }, + { 0x6B7C, 66974 }, + { 0x6B7D, 66979 }, + { 0x6B7E, 66984 }, + { 0x6B7F, 66989 }, + { 0x6B80, 66994 }, + { 0x6B81, 66999 }, + { 0x6B82, 67004 }, + { 0x6B83, 67009 }, + { 0x6B84, 67014 }, + { 0x6B85, 67019 }, + { 0x6B86, 67024 }, + { 0x6B87, 67029 }, + { 0x6B88, 66657 }, + { 0x6B89, 66661 }, + { 0x6B8A, 66667 }, + { 0x6B8B, 66669 }, + { 0x6B8C, 66866 }, + { 0x6B8D, 66678 }, + { 0x6B8E, 84997 }, + { 0x6B8F, 85003 }, + { 0x6B90, 85009 }, + { 0x6B91, 85015 }, + { 0x6B92, 85021 }, + { 0x6B93, 85027 }, + { 0x6B94, 85033 }, + { 0x6B95, 85039 }, + { 0x6B96, 85045 }, + { 0x6B97, 85051 }, + { 0x6B98, 85057 }, + { 0x6B99, 85063 }, + { 0x6B9A, 85069 }, + { 0x6B9B, 85075 }, + { 0x6B9C, 85081 }, + { 0x6B9D, 85087 }, + { 0x6B9E, 85093 }, + { 0x6B9F, 85099 }, + { 0x6BA0, 85105 }, + { 0x6BA1, 85111 }, + { 0x6BA2, 85117 }, + { 0x6BA3, 85123 }, + { 0x6BA4, 85129 }, + { 0x6BA5, 85135 }, + { 0x6BA6, 85141 }, + { 0x6BA7, 85147 }, + { 0x6BA8, 53513 }, + { 0x6BA9, 53516 }, + { 0x6BAA, 85212 }, + { 0x6BAB, 85218 }, + { 0x6BAC, 85224 }, + { 0x6BAD, 85230 }, + { 0x6BAE, 85236 }, + { 0x6BAF, 85242 }, + { 0x6BB0, 85248 }, + { 0x6BB1, 85254 }, + { 0x6BB2, 85260 }, + { 0x6BB3, 85266 }, + { 0x6BB4, 85272 }, + { 0x6BB5, 85278 }, + { 0x6BB6, 85284 }, + { 0x6BB7, 85290 }, + { 0x6BB8, 85296 }, + { 0x6BB9, 85302 }, + { 0x6BBA, 85308 }, + { 0x6BBB, 85314 }, + { 0x6BBC, 85320 }, + { 0x6BBD, 85326 }, + { 0x6BBE, 85332 }, + { 0x6BBF, 85338 }, + { 0x6BC0, 85344 }, + { 0x6BC1, 85350 }, + { 0x6BC2, 85356 }, + { 0x6BC3, 85362 }, + { 0x6BC4, 60145 }, + { 0x6BC5, 85196 }, + { 0x6BC6, 85199 }, + { 0x6BC7, 85202 }, + { 0x6BC8, 85193 }, + { 0x6BC9, 85205 }, + { 0x6BCA, 53891 }, + { 0x6BCB, 66653 }, + { 0x6BCC, 66879 }, + { 0x6BCD, 66892 }, + { 0x6BCE, 66659 }, + { 0x6BCF, 66859 }, + { 0x6BD0, 66663 }, + { 0x6BD1, 66665 }, + { 0x6BD2, 66870 }, + { 0x6BD3, 66671 }, + { 0x6BD4, 66676 }, + { 0x6BD5, 67046 }, + { 0x6BD6, 67057 }, + { 0x6BD7, 66872 }, + { 0x6BD8, 66885 }, + { 0x6BD9, 66896 }, + { 0x6BDA, 66881 }, + { 0x6BDB, 67036 }, + { 0x6BDC, 67087 }, + { 0x6BDD, 67040 }, + { 0x6BDE, 66861 }, + { 0x6BDF, 66899 }, + { 0x6BE0, 66655 }, + { 0x6BE1, 66855 }, + { 0x6BE2, 67051 }, + { 0x6BE3, 67085 }, + { 0x6BE4, 66868 }, + { 0x6BE5, 66875 }, + { 0x6BE6, 66877 }, + { 0x6BE7, 85923 }, + { 0x6BE8, 85928 }, + { 0x6BE9, 85933 }, + { 0x6BEA, 85938 }, + { 0x6BEB, 85943 }, + { 0x6BEC, 85948 }, + { 0x6BED, 85953 }, + { 0x6BEE, 85958 }, + { 0x6BEF, 85963 }, + { 0x6BF0, 85968 }, + { 0x6BF1, 85973 }, + { 0x6BF2, 85978 }, + { 0x6BF3, 85983 }, + { 0x6BF4, 85988 }, + { 0x6BF5, 85993 }, + { 0x6BF6, 85998 }, + { 0x6BF7, 86003 }, + { 0x6BF8, 86008 }, + { 0x6BF9, 86013 }, + { 0x6BFA, 86018 }, + { 0x6BFB, 86023 }, + { 0x6BFC, 86028 }, + { 0x6BFD, 86033 }, + { 0x6BFE, 86038 }, + { 0x6BFF, 86043 }, + { 0x6C00, 86048 }, + { 0x6C01, 54392 }, + { 0x6C02, 67082 }, + { 0x6C03, 67079 }, + { 0x6C04, 66760 }, + { 0x6C05, 66748 }, + { 0x6C06, 66716 }, + { 0x6C07, 67076 }, + { 0x6C08, 66692 }, + { 0x6C09, 66740 }, + { 0x6C0A, 66832 }, + { 0x6C0B, 66744 }, + { 0x6C0C, 66696 }, + { 0x6C0D, 66788 }, + { 0x6C0E, 66808 }, + { 0x6C0F, 66780 }, + { 0x6C10, 66708 }, + { 0x6C11, 66756 }, + { 0x6C12, 66700 }, + { 0x6C13, 66784 }, + { 0x6C14, 66704 }, + { 0x6C15, 66828 }, + { 0x6C16, 66812 }, + { 0x6C17, 66836 }, + { 0x6C18, 66736 }, + { 0x6C19, 66728 }, + { 0x6C1A, 66804 }, + { 0x6C1B, 66768 }, + { 0x6C1C, 66776 }, + { 0x6C1D, 66680 }, + { 0x6C1E, 66684 }, + { 0x6C1F, 66844 }, + { 0x6C20, 66752 }, + { 0x6C21, 66688 }, + { 0x6C22, 66720 }, + { 0x6C23, 66772 }, + { 0x6C24, 66840 }, + { 0x6C25, 66764 }, + { 0x6C26, 66820 }, + { 0x6C27, 66824 }, + { 0x6C28, 66724 }, + { 0x6C29, 66800 }, + { 0x6C2A, 66796 }, + { 0x6C2B, 66792 }, + { 0x6C2C, 66816 }, + { 0x6C2D, 66712 }, + { 0x6C2E, 66732 }, + { 0x6C2F, 66848 }, + { 0x6C30, 86660 }, + { 0x6C31, 86624 }, + { 0x6C32, 86630 }, + { 0x6C33, 86642 }, + { 0x6C34, 86666 }, + { 0x6C35, 86648 }, + { 0x6C36, 86672 }, + { 0x6C37, 86636 }, + { 0x6C38, 86654 }, + { 0x6C39, 60080 }, + { 0x6C3A, 60038 }, + { 0x6C3B, 60156 }, + { 0x6C3C, 19760 }, + { 0x6C3D, 44872 }, + { 0x6C3E, 32617 }, + { 0x6C3F, 67098 }, + { 0x6C40, 67097 }, + { 0x6C41, 90488 }, + { 0x6C42, 54515 }, + { 0x6C43, 65157 }, + { 0x6C44, 44362 }, + { 0x6C45, 35589 }, + { 0x6C46, 68734 }, + { 0x6C47, 32504 }, + { 0x6C48, 19605 }, + { 0x6C49, 19602 }, + { 0x6C4A, 19608 }, + { 0x6C4B, 19782 }, + { 0x6C4C, 6873 }, + { 0x6C4D, 57795 }, + { 0x6C4E, 19756 }, + { 0x6C4F, 57791 }, + { 0x6C50, 12681 }, + { 0x6C51, 57375 }, + { 0x6C52, 12748 }, + { 0x6C53, 57379 }, + { 0x6C54, 73268 }, + { 0x6C55, 6869 }, + { 0x6C56, 19751 }, + { 0x6C57, 12743 }, + { 0x6C58, 12677 }, + { 0x6C59, 9325 }, + { 0x6C5A, 61088 }, + { 0x6C5B, 86154 }, + { 0x6C5C, 109429 }, + { 0x6C5D, 19058 }, + { 0x6C5E, 35615 }, + { 0x6C5F, 35621 }, + { 0x6C60, 35626 }, + { 0x6C61, 35630 }, + { 0x6C62, 19440 }, + { 0x6C63, 19443 }, + { 0x6C64, 19449 }, + { 0x6C65, 19446 }, + { 0x6C66, 5928 }, + { 0x6C67, 15352 }, + { 0x6C68, 5936 }, + { 0x6C69, 14918 }, + { 0x6C6A, 59107 }, + { 0x6C6B, 73129 }, + { 0x6C6C, 86142 }, + { 0x6C6D, 98562 }, + { 0x6C6E, 98158 }, + { 0x6C6F, 14532 }, + { 0x6C70, 44377 }, + { 0x6C71, 5938 }, + { 0x6C72, 35298 }, + { 0x6C73, 44751 }, + { 0x6C74, 14630 }, + { 0x6C75, 81907 }, + { 0x6C76, 102355 }, + { 0x6C77, 58333 }, + { 0x6C78, 5911 }, + { 0x6C79, 5908 }, + { 0x6C7A, 12723 }, + { 0x6C7B, 12652 }, + { 0x6C7C, 31432 }, + { 0x6C7D, 46288 }, + { 0x6C7E, 12752 }, + { 0x6C7F, 84987 }, + { 0x6C80, 57146 }, + { 0x6C81, 88690 }, + { 0x6C82, 46423 }, + { 0x6C83, 31434 }, + { 0x6C84, 105504 }, + { 0x6C85, 102357 }, + { 0x6C86, 31025 }, + { 0x6C87, 43919 }, + { 0x6C88, 101755 }, + { 0x6C89, 9291 }, + { 0x6C8A, 22698 }, + { 0x6C8B, 14539 }, + { 0x6C8C, 33507 }, + { 0x6C8D, 73128 }, + { 0x6C8E, 105490 }, + { 0x6C8F, 99498 }, + { 0x6C90, 34364 }, + { 0x6C91, 13419 }, + { 0x6C92, 65015 }, + { 0x6C93, 14614 }, + { 0x6C94, 14612 }, + { 0x6C95, 44879 }, + { 0x6C96, 19491 }, + { 0x6C97, 86227 }, + { 0x6C98, 102054 }, + { 0x6C99, 19255 }, + { 0x6C9A, 46332 }, + { 0x6C9B, 65195 }, + { 0x6C9C, 19496 }, + { 0x6C9D, 14478 }, + { 0x6C9E, 34727 }, + { 0x6C9F, 19771 }, + { 0x6CA0, 12624 }, + { 0x6CA1, 14754 }, + { 0x6CA2, 53787 }, + { 0x6CA3, 5944 }, + { 0x6CA4, 75235 }, + { 0x6CA5, 44881 }, + { 0x6CA6, 90483 }, + { 0x6CA7, 19325 }, + { 0x6CA8, 83102 }, + { 0x6CA9, 60154 }, + { 0x6CAA, 23169 }, + { 0x6CAB, 102036 }, + { 0x6CAC, 18736 }, + { 0x6CAD, 9280 }, + { 0x6CAE, 60136 }, + { 0x6CAF, 12638 }, + { 0x6CB0, 56636 }, + { 0x6CB1, 14737 }, + { 0x6CB2, 15355 }, + { 0x6CB3, 73141 }, + { 0x6CB4, 86704 }, + { 0x6CB5, 12065 }, + { 0x6CB6, 73136 }, + { 0x6CB7, 12049 }, + { 0x6CB8, 12641 }, + { 0x6CB9, 43937 }, + { 0x6CBA, 65010 }, + { 0x6CBB, 53682 }, + { 0x6CBC, 68742 }, + { 0x6CBD, 69639 }, + { 0x6CBE, 115874 }, + { 0x6CBF, 90485 }, + { 0x6CC0, 46291 }, + { 0x6CC1, 98591 }, + { 0x6CC2, 80608 }, + { 0x6CC3, 58001 }, + { 0x6CC4, 33503 }, + { 0x6CC5, 73143 }, + { 0x6CC6, 86419 }, + { 0x6CC7, 60141 }, + { 0x6CC8, 14547 }, + { 0x6CC9, 82401 }, + { 0x6CCA, 12138 }, + { 0x6CCB, 15350 }, + { 0x6CCC, 14161 }, + { 0x6CCD, 53733 }, + { 0x6CCE, 104104 }, + { 0x6CCF, 22709 }, + { 0x6CD0, 58335 }, + { 0x6CD1, 83908 }, + { 0x6CD2, 86055 }, + { 0x6CD3, 63473 }, + { 0x6CD4, 54447 }, + { 0x6CD5, 31026 }, + { 0x6CD6, 60134 }, + { 0x6CD7, 43925 }, + { 0x6CD8, 43932 }, + { 0x6CD9, 12616 }, + { 0x6CDA, 86917 }, + { 0x6CDB, 72522 }, + { 0x6CDC, 46296 }, + { 0x6CDD, 53727 }, + { 0x6CDE, 61079 }, + { 0x6CDF, 104528 }, + { 0x6CE0, 32549 }, + { 0x6CE1, 44755 }, + { 0x6CE2, 99500 }, + { 0x6CE3, 43873 }, + { 0x6CE4, 10830 }, + { 0x6CE5, 44829 }, + { 0x6CE6, 57144 }, + { 0x6CE7, 60128 }, + { 0x6CE8, 104535 }, + { 0x6CE9, 35581 }, + { 0x6CEA, 45719 }, + { 0x6CEB, 14749 }, + { 0x6CEC, 89008 }, + { 0x6CED, 12695 }, + { 0x6CEE, 58338 }, + { 0x6CEF, 46315 }, + { 0x6CF0, 62459 }, + { 0x6CF1, 84979 }, + { 0x6CF2, 102034 }, + { 0x6CF3, 46424 }, + { 0x6CF4, 63471 }, + { 0x6CF5, 68397 }, + { 0x6CF6, 57296 }, + { 0x6CF7, 62461 }, + { 0x6CF8, 65229 }, + { 0x6CF9, 56995 }, + { 0x6CFA, 9320 }, + { 0x6CFB, 103188 }, + { 0x6CFC, 90481 }, + { 0x6CFD, 109384 }, + { 0x6CFE, 53729 }, + { 0x6CFF, 54518 }, + { 0x6D00, 53832 }, + { 0x6D01, 57203 }, + { 0x6D02, 23174 }, + { 0x6D03, 68758 }, + { 0x6D04, 33964 }, + { 0x6D05, 67103 }, + { 0x6D06, 57799 }, + { 0x6D07, 46340 }, + { 0x6D08, 53511 }, + { 0x6D09, 53509 }, + { 0x6D0A, 60137 }, + { 0x6D0B, 105503 }, + { 0x6D0C, 19737 }, + { 0x6D0D, 5948 }, + { 0x6D0E, 34733 }, + { 0x6D0F, 14751 }, + { 0x6D10, 59108 }, + { 0x6D11, 18733 }, + { 0x6D12, 69948 }, + { 0x6D13, 23183 }, + { 0x6D14, 90487 }, + { 0x6D15, 75210 }, + { 0x6D16, 90494 }, + { 0x6D17, 45679 }, + { 0x6D18, 45680 }, + { 0x6D19, 84988 }, + { 0x6D1A, 67091 }, + { 0x6D1B, 23181 }, + { 0x6D1C, 23178 }, + { 0x6D1D, 52851 }, + { 0x6D1E, 82398 }, + { 0x6D1F, 80560 }, + { 0x6D20, 82195 }, + { 0x6D21, 12061 }, + { 0x6D22, 88691 }, + { 0x6D23, 23176 }, + { 0x6D24, 13393 }, + { 0x6D25, 105535 }, + { 0x6D26, 53732 }, + { 0x6D27, 103209 }, + { 0x6D28, 61056 }, + { 0x6D29, 61428 }, + { 0x6D2A, 82403 }, + { 0x6D2B, 80563 }, + { 0x6D2C, 35947 }, + { 0x6D2D, 19066 }, + { 0x6D2E, 57788 }, + { 0x6D2F, 57785 }, + { 0x6D30, 65204 }, + { 0x6D31, 19070 }, + { 0x6D32, 23949 }, + { 0x6D33, 88694 }, + { 0x6D34, 4455 }, + { 0x6D35, 57827 }, + { 0x6D36, 19656 }, + { 0x6D37, 19640 }, + { 0x6D38, 19644 }, + { 0x6D39, 19648 }, + { 0x6D3A, 19652 }, + { 0x6D3B, 9290 }, + { 0x6D3C, 32545 }, + { 0x6D3D, 315 }, + { 0x6D3E, 35593 }, + { 0x6D3F, 5876 }, + { 0x6D40, 35235 }, + { 0x6D41, 61741 }, + { 0x6D42, 53506 }, + { 0x6D43, 5314 }, + { 0x6D44, 46220 }, + { 0x6D45, 92074 }, + { 0x6D46, 35600 }, + { 0x6D47, 34574 }, + { 0x6D48, 34575 }, + { 0x6D49, 23171 }, + { 0x6D4A, 9289 }, + { 0x6D4B, 12709 }, + { 0x6D4C, 34309 }, + { 0x6D4D, 52778 }, + { 0x6D4E, 65203 }, + { 0x6D4F, 59114 }, + { 0x6D50, 5895 }, + { 0x6D51, 9269 }, + { 0x6D52, 12086 }, + { 0x6D53, 79028 }, + { 0x6D54, 64511 }, + { 0x6D55, 53827 }, + { 0x6D56, 5308 }, + { 0x6D57, 4081 }, + { 0x6D58, 82194 }, + { 0x6D59, 12736 }, + { 0x6D5A, 12623 }, + { 0x6D5B, 86702 }, + { 0x6D5C, 69641 }, + { 0x6D5D, 57284 }, + { 0x6D5E, 81662 }, + { 0x6D5F, 12047 }, + { 0x6D60, 109789 }, + { 0x6D61, 12081 }, + { 0x6D62, 64642 }, + { 0x6D63, 23948 }, + { 0x6D64, 53489 }, + { 0x6D65, 98555 }, + { 0x6D66, 69133 }, + { 0x6D67, 60881 }, + { 0x6D68, 32546 }, + { 0x6D69, 5877 }, + { 0x6D6A, 35236 }, + { 0x6D6B, 53507 }, + { 0x6D6C, 5315 }, + { 0x6D6D, 46221 }, + { 0x6D6E, 86225 }, + { 0x6D6F, 23172 }, + { 0x6D70, 52779 }, + { 0x6D71, 5896 }, + { 0x6D72, 9270 }, + { 0x6D73, 12673 }, + { 0x6D74, 61341 }, + { 0x6D75, 15357 }, + { 0x6D76, 12063 }, + { 0x6D77, 33501 }, + { 0x6D78, 9272 }, + { 0x6D79, 9252 }, + { 0x6D7A, 73132 }, + { 0x6D7B, 12522 }, + { 0x6D7C, 5923 }, + { 0x6D7D, 5907 }, + { 0x6D7E, 14472 }, + { 0x6D7F, 32548 }, + { 0x6D80, 57147 }, + { 0x6D81, 35608 }, + { 0x6D82, 35649 }, + { 0x6D83, 35684 }, + { 0x6D84, 35741 }, + { 0x6D85, 46305 }, + { 0x6D86, 57782 }, + { 0x6D87, 107 }, + { 0x6D88, 57138 }, + { 0x6D89, 57141 }, + { 0x6D8A, 73133 }, + { 0x6D8B, 14488 }, + { 0x6D8C, 19479 }, + { 0x6D8D, 57806 }, + { 0x6D8E, 103700 }, + { 0x6D8F, 64411 }, + { 0x6D90, 67105 }, + { 0x6D91, 23220 }, + { 0x6D92, 19596 }, + { 0x6D93, 49500 }, + { 0x6D94, 43936 }, + { 0x6D95, 57812 }, + { 0x6D96, 33534 }, + { 0x6D97, 61343 }, + { 0x6D98, 33516 }, + { 0x6D99, 13415 }, + { 0x6D9A, 69131 }, + { 0x6D9B, 105584 }, + { 0x6D9C, 57810 }, + { 0x6D9D, 57808 }, + { 0x6D9E, 103701 }, + { 0x6D9F, 12117 }, + { 0x6DA0, 19322 }, + { 0x6DA1, 5307 }, + { 0x6DA2, 12706 }, + { 0x6DA3, 6227 }, + { 0x6DA4, 36070 }, + { 0x6DA5, 46290 }, + { 0x6DA6, 6236 }, + { 0x6DA7, 10886 }, + { 0x6DA8, 10896 }, + { 0x6DA9, 53487 }, + { 0x6DAA, 36071 }, + { 0x6DAB, 19257 }, + { 0x6DAC, 53442 }, + { 0x6DAD, 6241 }, + { 0x6DAE, 6246 }, + { 0x6DAF, 32907 }, + { 0x6DB0, 32909 }, + { 0x6DB1, 12044 }, + { 0x6DB2, 109759 }, + { 0x6DB3, 85851 }, + { 0x6DB4, 82396 }, + { 0x6DB5, 82405 }, + { 0x6DB6, 19774 }, + { 0x6DB7, 12045 }, + { 0x6DB8, 115947 }, + { 0x6DB9, 15716 }, + { 0x6DBA, 5953 }, + { 0x6DBB, 34360 }, + { 0x6DBC, 106169 }, + { 0x6DBD, 99005 }, + { 0x6DBE, 45663 }, + { 0x6DBF, 83101 }, + { 0x6DC0, 14168 }, + { 0x6DC1, 12595 }, + { 0x6DC2, 61340 }, + { 0x6DC3, 43920 }, + { 0x6DC4, 67104 }, + { 0x6DC5, 14546 }, + { 0x6DC6, 12734 }, + { 0x6DC7, 13395 }, + { 0x6DC8, 14616 }, + { 0x6DC9, 5934 }, + { 0x6DCA, 12733 }, + { 0x6DCB, 58334 }, + { 0x6DCC, 45637 }, + { 0x6DCD, 68737 }, + { 0x6DCE, 58004 }, + { 0x6DCF, 44367 }, + { 0x6DD0, 10903 }, + { 0x6DD1, 102055 }, + { 0x6DD2, 61336 }, + { 0x6DD3, 22715 }, + { 0x6DD4, 12084 }, + { 0x6DD5, 22700 }, + { 0x6DD6, 57819 }, + { 0x6DD7, 53504 }, + { 0x6DD8, 22718 }, + { 0x6DD9, 101810 }, + { 0x6DDA, 22721 }, + { 0x6DDB, 60697 }, + { 0x6DDC, 79023 }, + { 0x6DDD, 15718 }, + { 0x6DDE, 12110 }, + { 0x6DDF, 86204 }, + { 0x6DE0, 90554 }, + { 0x6DE1, 102068 }, + { 0x6DE2, 60890 }, + { 0x6DE3, 12437 }, + { 0x6DE4, 14543 }, + { 0x6DE5, 46308 }, + { 0x6DE6, 19594 }, + { 0x6DE7, 53819 }, + { 0x6DE8, 67168 }, + { 0x6DE9, 35810 }, + { 0x6DEA, 61413 }, + { 0x6DEB, 32534 }, + { 0x6DEC, 73277 }, + { 0x6DED, 22953 }, + { 0x6DEE, 45640 }, + { 0x6DEF, 69622 }, + { 0x6DF0, 69634 }, + { 0x6DF1, 69626 }, + { 0x6DF2, 69630 }, + { 0x6DF3, 32536 }, + { 0x6DF4, 19337 }, + { 0x6DF5, 14741 }, + { 0x6DF6, 85417 }, + { 0x6DF7, 89011 }, + { 0x6DF8, 83910 }, + { 0x6DF9, 46310 }, + { 0x6DFA, 64512 }, + { 0x6DFB, 5906 }, + { 0x6DFC, 12612 }, + { 0x6DFD, 14483 }, + { 0x6DFE, 14522 }, + { 0x6DFF, 14529 }, + { 0x6E00, 69957 }, + { 0x6E01, 86421 }, + { 0x6E02, 12131 }, + { 0x6E03, 19333 }, + { 0x6E04, 19344 }, + { 0x6E05, 4443 }, + { 0x6E06, 90496 }, + { 0x6E07, 65147 }, + { 0x6E08, 33960 }, + { 0x6E09, 101746 }, + { 0x6E0A, 86229 }, + { 0x6E0B, 105498 }, + { 0x6E0C, 69643 }, + { 0x6E0D, 49511 }, + { 0x6E0E, 85370 }, + { 0x6E0F, 85371 }, + { 0x6E10, 44831 }, + { 0x6E11, 14481 }, + { 0x6E12, 22696 }, + { 0x6E13, 12082 }, + { 0x6E14, 52856 }, + { 0x6E15, 19254 }, + { 0x6E16, 14170 }, + { 0x6E17, 53779 }, + { 0x6E18, 13422 }, + { 0x6E19, 102368 }, + { 0x6E1A, 33499 }, + { 0x6E1B, 5926 }, + { 0x6E1C, 102032 }, + { 0x6E1D, 53501 }, + { 0x6E1E, 72524 }, + { 0x6E1F, 52864 }, + { 0x6E20, 23193 }, + { 0x6E21, 64638 }, + { 0x6E22, 46223 }, + { 0x6E23, 82323 }, + { 0x6E24, 79032 }, + { 0x6E25, 44860 }, + { 0x6E26, 44855 }, + { 0x6E27, 14509 }, + { 0x6E28, 14514 }, + { 0x6E29, 65011 }, + { 0x6E2A, 53490 }, + { 0x6E2B, 101645 }, + { 0x6E2C, 52760 }, + { 0x6E2D, 52765 }, + { 0x6E2E, 102645 }, + { 0x6E2F, 52762 }, + { 0x6E30, 95 }, + { 0x6E31, 57828 }, + { 0x6E32, 44378 }, + { 0x6E33, 44379 }, + { 0x6E34, 35583 }, + { 0x6E35, 105493 }, + { 0x6E36, 33535 }, + { 0x6E37, 115866 }, + { 0x6E38, 12618 }, + { 0x6E39, 85795 }, + { 0x6E3A, 53498 }, + { 0x6E3B, 68403 }, + { 0x6E3C, 90531 }, + { 0x6E3D, 90538 }, + { 0x6E3E, 90524 }, + { 0x6E3F, 114911 }, + { 0x6E40, 6220 }, + { 0x6E41, 12727 }, + { 0x6E42, 66649 }, + { 0x6E43, 66638 }, + { 0x6E44, 66639 }, + { 0x6E45, 66644 }, + { 0x6E46, 58003 }, + { 0x6E47, 79019 }, + { 0x6E48, 115296 }, + { 0x6E49, 115921 }, + { 0x6E4A, 13320 }, + { 0x6E4B, 44833 }, + { 0x6E4C, 5954 }, + { 0x6E4D, 13319 }, + { 0x6E4E, 14486 }, + { 0x6E4F, 12067 }, + { 0x6E50, 12068 }, + { 0x6E51, 69642 }, + { 0x6E52, 13155 }, + { 0x6E53, 33536 }, + { 0x6E54, 12056 }, + { 0x6E55, 5918 }, + { 0x6E56, 302 }, + { 0x6E57, 14763 }, + { 0x6E58, 10853 }, + { 0x6E59, 85 }, + { 0x6E5A, 49304 }, + { 0x6E5B, 23201 }, + { 0x6E5C, 23195 }, + { 0x6E5D, 23212 }, + { 0x6E5E, 23216 }, + { 0x6E5F, 23207 }, + { 0x6E60, 12620 }, + { 0x6E61, 79026 }, + { 0x6E62, 57818 }, + { 0x6E63, 46425 }, + { 0x6E64, 7150 }, + { 0x6E65, 23168 }, + { 0x6E66, 53471 }, + { 0x6E67, 104529 }, + { 0x6E68, 102376 }, + { 0x6E69, 60152 }, + { 0x6E6A, 9300 }, + { 0x6E6B, 82407 }, + { 0x6E6C, 68371 }, + { 0x6E6D, 19034 }, + { 0x6E6E, 35884 }, + { 0x6E6F, 23967 }, + { 0x6E70, 23984 }, + { 0x6E71, 23999 }, + { 0x6E72, 23987 }, + { 0x6E73, 34497 }, + { 0x6E74, 34382 }, + { 0x6E75, 109434 }, + { 0x6E76, 115025 }, + { 0x6E77, 109437 }, + { 0x6E78, 115028 }, + { 0x6E79, 31393 }, + { 0x6E7A, 35380 }, + { 0x6E7B, 59140 }, + { 0x6E7C, 19474 }, + { 0x6E7D, 19472 }, + { 0x6E7E, 64479 }, + { 0x6E7F, 64491 }, + { 0x6E80, 54752 }, + { 0x6E81, 35734 }, + { 0x6E82, 22850 }, + { 0x6E83, 44535 }, + { 0x6E84, 300 }, + { 0x6E85, 12494 }, + { 0x6E86, 23221 }, + { 0x6E87, 52781 }, + { 0x6E88, 102356 }, + { 0x6E89, 62336 }, + { 0x6E8A, 12112 }, + { 0x6E8B, 19353 }, + { 0x6E8C, 19365 }, + { 0x6E8D, 19389 }, + { 0x6E8E, 19373 }, + { 0x6E8F, 19369 }, + { 0x6E90, 19357 }, + { 0x6E91, 19385 }, + { 0x6E92, 19381 }, + { 0x6E93, 19377 }, + { 0x6E94, 19361 }, + { 0x6E95, 19393 }, + { 0x6E96, 19397 }, + { 0x6E97, 19401 }, + { 0x6E98, 19410 }, + { 0x6E99, 19428 }, + { 0x6E9A, 19416 }, + { 0x6E9B, 19413 }, + { 0x6E9C, 19404 }, + { 0x6E9D, 19425 }, + { 0x6E9E, 19422 }, + { 0x6E9F, 19419 }, + { 0x6EA0, 19407 }, + { 0x6EA1, 19431 }, + { 0x6EA2, 19434 }, + { 0x6EA3, 33763 }, + { 0x6EA4, 33765 }, + { 0x6EA5, 33771 }, + { 0x6EA6, 69950 }, + { 0x6EA7, 69951 }, + { 0x6EA8, 65193 }, + { 0x6EA9, 12111 }, + { 0x6EAA, 44385 }, + { 0x6EAB, 106211 }, + { 0x6EAC, 18860 }, + { 0x6EAD, 98 }, + { 0x6EAE, 12730 }, + { 0x6EAF, 6231 }, + { 0x6EB0, 53814 }, + { 0x6EB1, 12431 }, + { 0x6EB2, 53821 }, + { 0x6EB3, 53822 }, + { 0x6EB4, 82726 }, + { 0x6EB5, 6249 }, + { 0x6EB6, 12823 }, + { 0x6EB7, 102370 }, + { 0x6EB8, 33562 }, + { 0x6EB9, 35997 }, + { 0x6EBA, 19133 }, + { 0x6EBB, 102358 }, + { 0x6EBC, 90491 }, + { 0x6EBD, 12053 }, + { 0x6EBE, 67092 }, + { 0x6EBF, 79037 }, + { 0x6EC0, 46321 }, + { 0x6EC1, 9256 }, + { 0x6EC2, 52137 }, + { 0x6EC3, 19068 }, + { 0x6EC4, 31350 }, + { 0x6EC5, 31365 }, + { 0x6EC6, 31353 }, + { 0x6EC7, 31369 }, + { 0x6EC8, 31347 }, + { 0x6EC9, 13080 }, + { 0x6ECA, 57207 }, + { 0x6ECB, 53538 }, + { 0x6ECC, 86102 }, + { 0x6ECD, 86108 }, + { 0x6ECE, 86112 }, + { 0x6ECF, 86127 }, + { 0x6ED0, 86062 }, + { 0x6ED1, 53529 }, + { 0x6ED2, 35639 }, + { 0x6ED3, 86190 }, + { 0x6ED4, 86195 }, + { 0x6ED5, 86170 }, + { 0x6ED6, 86175 }, + { 0x6ED7, 18776 }, + { 0x6ED8, 18852 }, + { 0x6ED9, 86180 }, + { 0x6EDA, 86185 }, + { 0x6EDB, 86160 }, + { 0x6EDC, 86165 }, + { 0x6EDD, 18738 }, + { 0x6EDE, 18752 }, + { 0x6EDF, 18829 }, + { 0x6EE0, 60675 }, + { 0x6EE1, 83092 }, + { 0x6EE2, 35222 }, + { 0x6EE3, 65022 }, + { 0x6EE4, 53479 }, + { 0x6EE5, 18763 }, + { 0x6EE6, 35671 }, + { 0x6EE7, 14757 }, + { 0x6EE8, 14921 }, + { 0x6EE9, 36068 }, + { 0x6EEA, 8934 }, + { 0x6EEB, 10900 }, + { 0x6EEC, 35209 }, + { 0x6EED, 102638 }, + { 0x6EEE, 8372 }, + { 0x6EEF, 12719 }, + { 0x6EF0, 53735 }, + { 0x6EF1, 65023 }, + { 0x6EF2, 5924 }, + { 0x6EF3, 64514 }, + { 0x6EF4, 75224 }, + { 0x6EF5, 75227 }, + { 0x6EF6, 75232 }, + { 0x6EF7, 19768 }, + { 0x6EF8, 19765 }, + { 0x6EF9, 19761 }, + { 0x6EFA, 18966 }, + { 0x6EFB, 46323 }, + { 0x6EFC, 14505 }, + { 0x6EFD, 12133 }, + { 0x6EFE, 12128 }, + { 0x6EFF, 12614 }, + { 0x6F00, 19684 }, + { 0x6F01, 19689 }, + { 0x6F02, 19686 }, + { 0x6F03, 14473 }, + { 0x6F04, 14476 }, + { 0x6F05, 14474 }, + { 0x6F06, 19696 }, + { 0x6F07, 19692 }, + { 0x6F08, 19694 }, + { 0x6F09, 75223 }, + { 0x6F0A, 14521 }, + { 0x6F0B, 33500 }, + { 0x6F0C, 109463 }, + { 0x6F0D, 53824 }, + { 0x6F0E, 53829 }, + { 0x6F0F, 60673 }, + { 0x6F10, 83911 }, + { 0x6F11, 83222 }, + { 0x6F12, 64637 }, + { 0x6F13, 90505 }, + { 0x6F14, 109755 }, + { 0x6F15, 82325 }, + { 0x6F16, 75204 }, + { 0x6F17, 105533 }, + { 0x6F18, 7189 }, + { 0x6F19, 101815 }, + { 0x6F1A, 14525 }, + { 0x6F1B, 34725 }, + { 0x6F1C, 45661 }, + { 0x6F1D, 13159 }, + { 0x6F1E, 86219 }, + { 0x6F1F, 35192 }, + { 0x6F20, 35195 }, + { 0x6F21, 35189 }, + { 0x6F22, 35198 }, + { 0x6F23, 13024 }, + { 0x6F24, 33712 }, + { 0x6F25, 10908 }, + { 0x6F26, 35212 }, + { 0x6F27, 13077 }, + { 0x6F28, 33777 }, + { 0x6F29, 12829 }, + { 0x6F2A, 33568 }, + { 0x6F2B, 14159 }, + { 0x6F2C, 100415 }, + { 0x6F2D, 100413 }, + { 0x6F2E, 43903 }, + { 0x6F2F, 43916 }, + { 0x6F30, 43907 }, + { 0x6F31, 43912 }, + { 0x6F32, 43888 }, + { 0x6F33, 31060 }, + { 0x6F34, 43883 }, + { 0x6F35, 36075 }, + { 0x6F36, 32543 }, + { 0x6F37, 35290 }, + { 0x6F38, 54440 }, + { 0x6F39, 105485 }, + { 0x6F3A, 32551 }, + { 0x6F3B, 81094 }, + { 0x6F3C, 81096 }, + { 0x6F3D, 12554 }, + { 0x6F3E, 66580 }, + { 0x6F3F, 66593 }, + { 0x6F40, 66585 }, + { 0x6F41, 66601 }, + { 0x6F42, 66576 }, + { 0x6F43, 66609 }, + { 0x6F44, 68738 }, + { 0x6F45, 66613 }, + { 0x6F46, 12604 }, + { 0x6F47, 86053 }, + { 0x6F48, 66622 }, + { 0x6F49, 66618 }, + { 0x6F4A, 86214 }, + { 0x6F4B, 64468 }, + { 0x6F4C, 115872 }, + { 0x6F4D, 86807 }, + { 0x6F4E, 12534 }, + { 0x6F4F, 64643 }, + { 0x6F50, 73145 }, + { 0x6F51, 103204 }, + { 0x6F52, 61729 }, + { 0x6F53, 12600 }, + { 0x6F54, 61736 }, + { 0x6F55, 61731 }, + { 0x6F56, 12571 }, + { 0x6F57, 12575 }, + { 0x6F58, 12582 }, + { 0x6F59, 109766 }, + { 0x6F5A, 68740 }, + { 0x6F5B, 15728 }, + { 0x6F5C, 65020 }, + { 0x6F5D, 45645 }, + { 0x6F5E, 106221 }, + { 0x6F5F, 12538 }, + { 0x6F60, 109762 }, + { 0x6F61, 80617 }, + { 0x6F62, 88685 }, + { 0x6F63, 61076 }, + { 0x6F64, 35598 }, + { 0x6F65, 53812 }, + { 0x6F66, 35288 }, + { 0x6F67, 99003 }, + { 0x6F68, 52140 }, + { 0x6F69, 12543 }, + { 0x6F6A, 48420 }, + { 0x6F6B, 12547 }, + { 0x6F6C, 12608 }, + { 0x6F6D, 103185 }, + { 0x6F6E, 61083 }, + { 0x6F6F, 86202 }, + { 0x6F70, 19592 }, + { 0x6F71, 12597 }, + { 0x6F72, 12563 }, + { 0x6F73, 81088 }, + { 0x6F74, 5322 }, + { 0x6F75, 66564 }, + { 0x6F76, 66570 }, + { 0x6F77, 5317 }, + { 0x6F78, 61723 }, + { 0x6F79, 65017 }, + { 0x6F7A, 45642 }, + { 0x6F7B, 35595 }, + { 0x6F7C, 86211 }, + { 0x6F7D, 86208 }, + { 0x6F7E, 109461 }, + { 0x6F7F, 12567 }, + { 0x6F80, 12525 }, + { 0x6F81, 12530 }, + { 0x6F82, 53457 }, + { 0x6F83, 106231 }, + { 0x6F84, 109936 }, + { 0x6F85, 115863 }, + { 0x6F86, 22704 }, + { 0x6F87, 53460 }, + { 0x6F88, 53466 }, + { 0x6F89, 53450 }, + { 0x6F8A, 53446 }, + { 0x6F8B, 32750 }, + { 0x6F8C, 34687 }, + { 0x6F8D, 32672 }, + { 0x6F8E, 34633 }, + { 0x6F8F, 57241 }, + { 0x6F90, 57254 }, + { 0x6F91, 57236 }, + { 0x6F92, 57249 }, + { 0x6F93, 32754 }, + { 0x6F94, 34691 }, + { 0x6F95, 32676 }, + { 0x6F96, 34637 }, + { 0x6F97, 22882 }, + { 0x6F98, 22908 }, + { 0x6F99, 22871 }, + { 0x6F9A, 22897 }, + { 0x6F9B, 32746 }, + { 0x6F9C, 34683 }, + { 0x6F9D, 32668 }, + { 0x6F9E, 34629 }, + { 0x6F9F, 22877 }, + { 0x6FA0, 22903 }, + { 0x6FA1, 22866 }, + { 0x6FA2, 22892 }, + { 0x6FA3, 48409 }, + { 0x6FA4, 48413 }, + { 0x6FA5, 34576 }, + { 0x6FA6, 34580 }, + { 0x6FA7, 99997 }, + { 0x6FA8, 68561 }, + { 0x6FA9, 104904 }, + { 0x6FAA, 98383 }, + { 0x6FAB, 53775 }, + { 0x6FAC, 22969 }, + { 0x6FAD, 83097 }, + { 0x6FAE, 23025 }, + { 0x6FAF, 23037 }, + { 0x6FB0, 34728 }, + { 0x6FB1, 105197 }, + { 0x6FB2, 105190 }, + { 0x6FB3, 105182 }, + { 0x6FB4, 23094 }, + { 0x6FB5, 105205 }, + { 0x6FB6, 23082 }, + { 0x6FB7, 15323 }, + { 0x6FB8, 15316 }, + { 0x6FB9, 59112 }, + { 0x6FBA, 65176 }, + { 0x6FBB, 53726 }, + { 0x6FBC, 104106 }, + { 0x6FBD, 34723 }, + { 0x6FBE, 65153 }, + { 0x6FBF, 104107 }, + { 0x6FC0, 104109 }, + { 0x6FC1, 35297 }, + { 0x6FC2, 32501 }, + { 0x6FC3, 31058 }, + { 0x6FC4, 67094 }, + { 0x6FC5, 15267 }, + { 0x6FC6, 15268 }, + { 0x6FC7, 5309 }, + { 0x6FC8, 85375 }, + { 0x6FC9, 105502 }, + { 0x6FCA, 5310 }, + { 0x6FCB, 62344 }, + { 0x6FCC, 86924 }, + { 0x6FCD, 12621 }, + { 0x6FCE, 53481 }, + { 0x6FCF, 85382 }, + { 0x6FD0, 14923 }, + { 0x6FD1, 85380 }, + { 0x6FD2, 103187 }, + { 0x6FD3, 85385 }, + { 0x6FD4, 114856 }, + { 0x6FD5, 75208 }, + { 0x6FD6, 105510 }, + { 0x6FD7, 68370 }, + { 0x6FD8, 84969 }, + { 0x6FD9, 84972 }, + { 0x6FDA, 105491 }, + { 0x6FDB, 84974 }, + { 0x6FDC, 36288 }, + { 0x6FDD, 14742 }, + { 0x6FDE, 65228 }, + { 0x6FDF, 102057 }, + { 0x6FE0, 104146 }, + { 0x6FE1, 86902 }, + { 0x6FE2, 109757 }, + { 0x6FE3, 53483 }, + { 0x6FE4, 105494 }, + { 0x6FE5, 12493 }, + { 0x6FE6, 92 }, + { 0x6FE7, 66627 }, + { 0x6FE8, 100 }, + { 0x6FE9, 9283 }, + { 0x6FEA, 69 }, + { 0x6FEB, 65012 }, + { 0x6FEC, 106215 }, + { 0x6FED, 58332 }, + { 0x6FEE, 103 }, + { 0x6FEF, 89007 }, + { 0x6FF0, 84976 }, + { 0x6FF1, 104534 }, + { 0x6FF2, 105 }, + { 0x6FF3, 73130 }, + { 0x6FF4, 13423 }, + { 0x6FF5, 57814 }, + { 0x6FF6, 86058 }, + { 0x6FF7, 12051 }, + { 0x6FF8, 57145 }, + { 0x6FF9, 35591 }, + { 0x6FFA, 53792 }, + { 0x6FFB, 12062 }, + { 0x6FFC, 58002 }, + { 0x6FFD, 85415 }, + { 0x6FFE, 60155 }, + { 0x6FFF, 57999 }, + { 0x7000, 13075 }, + { 0x7001, 86694 }, + { 0x7002, 104633 }, + { 0x7003, 60111 }, + { 0x7004, 12115 }, + { 0x7005, 19777 }, + { 0x7006, 19461 }, + { 0x7007, 86206 }, + { 0x7008, 86156 }, + { 0x7009, 58007 }, + { 0x700A, 4446 }, + { 0x700B, 33508 }, + { 0x700C, 101646 }, + { 0x700D, 86158 }, + { 0x700E, 46432 }, + { 0x700F, 53789 }, + { 0x7010, 7187 }, + { 0x7011, 84970 }, + { 0x7012, 65155 }, + { 0x7013, 32539 }, + { 0x7014, 109446 }, + { 0x7015, 109444 }, + { 0x7016, 109441 }, + { 0x7017, 34525 }, + { 0x7018, 115966 }, + { 0x7019, 68756 }, + { 0x701A, 68754 }, + { 0x701B, 102031 }, + { 0x701C, 85377 }, + { 0x701D, 45682 }, + { 0x701E, 101749 }, + { 0x701F, 65234 }, + { 0x7020, 32541 }, + { 0x7021, 19326 }, + { 0x7022, 103173 }, + { 0x7023, 102648 }, + { 0x7024, 102714 }, + { 0x7025, 102804 }, + { 0x7026, 102838 }, + { 0x7027, 103123 }, + { 0x7028, 102678 }, + { 0x7029, 102688 }, + { 0x702A, 102683 }, + { 0x702B, 102693 }, + { 0x702C, 102999 }, + { 0x702D, 103111 }, + { 0x702E, 103115 }, + { 0x702F, 102894 }, + { 0x7030, 103164 }, + { 0x7031, 102786 }, + { 0x7032, 102931 }, + { 0x7033, 102936 }, + { 0x7034, 102941 }, + { 0x7035, 103026 }, + { 0x7036, 102761 }, + { 0x7037, 102821 }, + { 0x7038, 103009 }, + { 0x7039, 103119 }, + { 0x703A, 102751 }, + { 0x703B, 102756 }, + { 0x703C, 102718 }, + { 0x703D, 102886 }, + { 0x703E, 102736 }, + { 0x703F, 102741 }, + { 0x7040, 102856 }, + { 0x7041, 102954 }, + { 0x7042, 102846 }, + { 0x7043, 103151 }, + { 0x7044, 103095 }, + { 0x7045, 102862 }, + { 0x7046, 102868 }, + { 0x7047, 102851 }, + { 0x7048, 102765 }, + { 0x7049, 103079 }, + { 0x704A, 103107 }, + { 0x704B, 102665 }, + { 0x704C, 102746 }, + { 0x704D, 103017 }, + { 0x704E, 103101 }, + { 0x704F, 102772 }, + { 0x7050, 103087 }, + { 0x7051, 103003 }, + { 0x7052, 102960 }, + { 0x7053, 102966 }, + { 0x7054, 102950 }, + { 0x7055, 103067 }, + { 0x7056, 103071 }, + { 0x7057, 103075 }, + { 0x7058, 102842 }, + { 0x7059, 103013 }, + { 0x705A, 103059 }, + { 0x705B, 103177 }, + { 0x705C, 102910 }, + { 0x705D, 102946 }, + { 0x705E, 103063 }, + { 0x705F, 103147 }, + { 0x7060, 102914 }, + { 0x7061, 102898 }, + { 0x7062, 103043 }, + { 0x7063, 102825 }, + { 0x7064, 102791 }, + { 0x7065, 102919 }, + { 0x7066, 102923 }, + { 0x7067, 102674 }, + { 0x7068, 102656 }, + { 0x7069, 102890 }, + { 0x706A, 103047 }, + { 0x706B, 102652 }, + { 0x706C, 102670 }, + { 0x706D, 102874 }, + { 0x706E, 102710 }, + { 0x706F, 102830 }, + { 0x7070, 102799 }, + { 0x7071, 102972 }, + { 0x7072, 103022 }, + { 0x7073, 102995 }, + { 0x7074, 102978 }, + { 0x7075, 103055 }, + { 0x7076, 102778 }, + { 0x7077, 102834 }, + { 0x7078, 102808 }, + { 0x7079, 102782 }, + { 0x707A, 102660 }, + { 0x707B, 102795 }, + { 0x707C, 103038 }, + { 0x707D, 102906 }, + { 0x707E, 102983 }, + { 0x707F, 102989 }, + { 0x7080, 103160 }, + { 0x7081, 103156 }, + { 0x7082, 102927 }, + { 0x7083, 103034 }, + { 0x7084, 103143 }, + { 0x7085, 102878 }, + { 0x7086, 103169 }, + { 0x7087, 103030 }, + { 0x7088, 103127 }, + { 0x7089, 103131 }, + { 0x708A, 103135 }, + { 0x708B, 103139 }, + { 0x708C, 102902 }, + { 0x708D, 102698 }, + { 0x708E, 102704 }, + { 0x708F, 102882 }, + { 0x7090, 102732 }, + { 0x7091, 102817 }, + { 0x7092, 103051 }, + { 0x7093, 102813 }, + { 0x7094, 102722 }, + { 0x7095, 102727 }, + { 0x7096, 19209 }, + { 0x7097, 19167 }, + { 0x7098, 19247 }, + { 0x7099, 19183 }, + { 0x709A, 19102 }, + { 0x709B, 52321 }, + { 0x709C, 12102 }, + { 0x709D, 22920 }, + { 0x709E, 15308 }, + { 0x709F, 98578 }, + { 0x70A0, 35804 }, + { 0x70A1, 33958 }, + { 0x70A2, 18786 }, + { 0x70A3, 19106 }, + { 0x70A4, 31083 }, + { 0x70A5, 52391 }, + { 0x70A6, 12105 }, + { 0x70A7, 22923 }, + { 0x70A8, 15312 }, + { 0x70A9, 98582 }, + { 0x70AA, 35887 }, + { 0x70AB, 35900 }, + { 0x70AC, 54356 }, + { 0x70AD, 18789 }, + { 0x70AE, 18799 }, + { 0x70AF, 18972 }, + { 0x70B0, 35920 }, + { 0x70B1, 35933 }, + { 0x70B2, 60703 }, + { 0x70B3, 18792 }, + { 0x70B4, 18803 }, + { 0x70B5, 18976 }, + { 0x70B6, 35941 }, + { 0x70B7, 15252 }, + { 0x70B8, 31067 }, + { 0x70B9, 52360 }, + { 0x70BA, 12099 }, + { 0x70BB, 15273 }, + { 0x70BC, 15304 }, + { 0x70BD, 98574 }, + { 0x70BE, 15257 }, + { 0x70BF, 31091 }, + { 0x70C0, 52394 }, + { 0x70C1, 12108 }, + { 0x70C2, 23003 }, + { 0x70C3, 15320 }, + { 0x70C4, 98586 }, + { 0x70C5, 31033 }, + { 0x70C6, 52325 }, + { 0x70C7, 12091 }, + { 0x70C8, 22746 }, + { 0x70C9, 15288 }, + { 0x70CA, 98569 }, + { 0x70CB, 31029 }, + { 0x70CC, 52312 }, + { 0x70CD, 12087 }, + { 0x70CE, 22737 }, + { 0x70CF, 15283 }, + { 0x70D0, 98564 }, + { 0x70D1, 31063 }, + { 0x70D2, 52351 }, + { 0x70D3, 12095 }, + { 0x70D4, 22814 }, + { 0x70D5, 15293 }, + { 0x70D6, 31078 }, + { 0x70D7, 52378 }, + { 0x70D8, 35215 }, + { 0x70D9, 52383 }, + { 0x70DA, 31047 }, + { 0x70DB, 52329 }, + { 0x70DC, 12660 }, + { 0x70DD, 52334 }, + { 0x70DE, 65158 }, + { 0x70DF, 31037 }, + { 0x70E0, 22750 }, + { 0x70E1, 52316 }, + { 0x70E2, 22741 }, + { 0x70E3, 9310 }, + { 0x70E4, 52355 }, + { 0x70E5, 22818 }, + { 0x70E6, 15298 }, + { 0x70E7, 22823 }, + { 0x70E8, 31086 }, + { 0x70E9, 22987 }, + { 0x70EA, 22992 }, + { 0x70EB, 99851 }, + { 0x70EC, 68438 }, + { 0x70ED, 104743 }, + { 0x70EE, 98299 }, + { 0x70EF, 99874 }, + { 0x70F0, 68455 }, + { 0x70F1, 104771 }, + { 0x70F2, 98321 }, + { 0x70F3, 99845 }, + { 0x70F4, 68432 }, + { 0x70F5, 104737 }, + { 0x70F6, 98293 }, + { 0x70F7, 99857 }, + { 0x70F8, 68444 }, + { 0x70F9, 104749 }, + { 0x70FA, 98305 }, + { 0x70FB, 99894 }, + { 0x70FC, 68471 }, + { 0x70FD, 104791 }, + { 0x70FE, 98337 }, + { 0x70FF, 23060 }, + { 0x7100, 23014 }, + { 0x7101, 23076 }, + { 0x7102, 23047 }, + { 0x7103, 23053 }, + { 0x7104, 23007 }, + { 0x7105, 23069 }, + { 0x7106, 23040 }, + { 0x7107, 100265 }, + { 0x7108, 68710 }, + { 0x7109, 105168 }, + { 0x710A, 98529 }, + { 0x710B, 100259 }, + { 0x710C, 68704 }, + { 0x710D, 105162 }, + { 0x710E, 98523 }, + { 0x710F, 100212 }, + { 0x7110, 68664 }, + { 0x7111, 105115 }, + { 0x7112, 98483 }, + { 0x7113, 100239 }, + { 0x7114, 68691 }, + { 0x7115, 105142 }, + { 0x7116, 98510 }, + { 0x7117, 100232 }, + { 0x7118, 68684 }, + { 0x7119, 105135 }, + { 0x711A, 98503 }, + { 0x711B, 100174 }, + { 0x711C, 68653 }, + { 0x711D, 105081 }, + { 0x711E, 98472 }, + { 0x711F, 100098 }, + { 0x7120, 68626 }, + { 0x7121, 105005 }, + { 0x7122, 98451 }, + { 0x7123, 100112 }, + { 0x7124, 68635 }, + { 0x7125, 105019 }, + { 0x7126, 98460 }, + { 0x7127, 99952 }, + { 0x7128, 68493 }, + { 0x7129, 104849 }, + { 0x712A, 98359 }, + { 0x712B, 99949 }, + { 0x712C, 68490 }, + { 0x712D, 104846 }, + { 0x712E, 98356 }, + { 0x712F, 100115 }, + { 0x7130, 68638 }, + { 0x7131, 105022 }, + { 0x7132, 98463 }, + { 0x7133, 32759 }, + { 0x7134, 32681 }, + { 0x7135, 34642 }, + { 0x7136, 34696 }, + { 0x7137, 12938 }, + { 0x7138, 365 }, + { 0x7139, 109652 }, + { 0x713A, 109602 }, + { 0x713B, 109677 }, + { 0x713C, 109627 }, + { 0x713D, 109515 }, + { 0x713E, 109485 }, + { 0x713F, 109545 }, + { 0x7140, 109575 }, + { 0x7141, 109637 }, + { 0x7142, 109587 }, + { 0x7143, 109662 }, + { 0x7144, 109612 }, + { 0x7145, 109497 }, + { 0x7146, 109467 }, + { 0x7147, 109527 }, + { 0x7148, 109557 }, + { 0x7149, 109657 }, + { 0x714A, 109607 }, + { 0x714B, 109682 }, + { 0x714C, 109632 }, + { 0x714D, 109521 }, + { 0x714E, 109491 }, + { 0x714F, 109551 }, + { 0x7150, 109581 }, + { 0x7151, 109647 }, + { 0x7152, 109597 }, + { 0x7153, 109672 }, + { 0x7154, 109622 }, + { 0x7155, 109509 }, + { 0x7156, 109479 }, + { 0x7157, 109539 }, + { 0x7158, 109569 }, + { 0x7159, 109641 }, + { 0x715A, 109591 }, + { 0x715B, 109666 }, + { 0x715C, 109616 }, + { 0x715D, 109502 }, + { 0x715E, 109472 }, + { 0x715F, 109532 }, + { 0x7160, 109562 }, + { 0x7161, 100104 }, + { 0x7162, 68629 }, + { 0x7163, 105011 }, + { 0x7164, 98454 }, + { 0x7165, 99959 }, + { 0x7166, 68534 }, + { 0x7167, 104861 }, + { 0x7168, 98366 }, + { 0x7169, 99884 }, + { 0x716A, 68461 }, + { 0x716B, 104781 }, + { 0x716C, 98327 }, + { 0x716D, 22771 }, + { 0x716E, 22788 }, + { 0x716F, 22776 }, + { 0x7170, 22782 }, + { 0x7171, 100193 }, + { 0x7172, 104867 }, + { 0x7173, 99755 }, + { 0x7174, 104656 }, + { 0x7175, 100177 }, + { 0x7176, 105096 }, + { 0x7177, 100189 }, + { 0x7178, 105084 }, + { 0x7179, 100169 }, + { 0x717A, 105076 }, + { 0x717B, 100184 }, + { 0x717C, 105091 }, + { 0x717D, 35695 }, + { 0x717E, 35700 }, + { 0x717F, 114890 }, + { 0x7180, 106213 }, + { 0x7181, 12589 }, + { 0x7182, 14174 }, + { 0x7183, 86423 }, + { 0x7184, 12592 }, + { 0x7185, 33830 }, + { 0x7186, 61411 }, + { 0x7187, 14743 }, + { 0x7188, 12125 }, + { 0x7189, 53521 }, + { 0x718A, 106190 }, + { 0x718B, 114858 }, + { 0x718C, 99499 }, + { 0x718D, 12712 }, + { 0x718E, 12559 }, + { 0x718F, 19452 }, + { 0x7190, 101643 }, + { 0x7191, 65198 }, + { 0x7192, 75240 }, + { 0x7193, 31428 }, + { 0x7194, 12523 }, + { 0x7195, 86216 }, + { 0x7196, 85847 }, + { 0x7197, 53784 }, + { 0x7198, 53500 }, + { 0x7199, 6228 }, + { 0x719A, 52782 }, + { 0x719B, 34358 }, + { 0x719C, 53454 }, + { 0x719D, 82727 }, + { 0x719E, 46295 }, + { 0x719F, 52773 }, + { 0x71A0, 102647 }, + { 0x71A1, 35587 }, + { 0x71A2, 81625 }, + { 0x71A3, 57804 }, + { 0x71A4, 12513 }, + { 0x71A5, 73139 }, + { 0x71A6, 68398 }, + { 0x71A7, 34711 }, + { 0x71A8, 12707 }, + { 0x71A9, 33539 }, + { 0x71AA, 19742 }, + { 0x71AB, 53780 }, + { 0x71AC, 35183 }, + { 0x71AD, 44002 }, + { 0x71AE, 62333 }, + { 0x71AF, 92075 }, + { 0x71B0, 57998 }, + { 0x71B1, 73274 }, + { 0x71B2, 15755 }, + { 0x71B3, 53497 }, + { 0x71B4, 44533 }, + { 0x71B5, 69135 }, + { 0x71B6, 22702 }, + { 0x71B7, 65242 }, + { 0x71B8, 67095 }, + { 0x71B9, 5914 }, + { 0x71BA, 19779 }, + { 0x71BB, 64641 }, + { 0x71BC, 99750 }, + { 0x71BD, 85404 }, + { 0x71BE, 12426 }, + { 0x71BF, 13157 }, + { 0x71C0, 86140 }, + { 0x71C1, 57206 }, + { 0x71C2, 68406 }, + { 0x71C3, 19600 }, + { 0x71C4, 12516 }, + { 0x71C5, 4445 }, + { 0x71C6, 34308 }, + { 0x71C7, 8937 }, + { 0x71C8, 5931 }, + { 0x71C9, 89012 }, + { 0x71CA, 12439 }, + { 0x71CB, 61090 }, + { 0x71CC, 52139 }, + { 0x71CD, 104651 }, + { 0x71CE, 53793 }, + { 0x71CF, 34716 }, + { 0x71D0, 44749 }, + { 0x71D1, 83095 }, + { 0x71D2, 9659 }, + { 0x71D3, 9706 }, + { 0x71D4, 9693 }, + { 0x71D5, 9669 }, + { 0x71D6, 9663 }, + { 0x71D7, 9672 }, + { 0x71D8, 9688 }, + { 0x71D9, 9698 }, + { 0x71DA, 9345 }, + { 0x71DB, 9656 }, + { 0x71DC, 9680 }, + { 0x71DD, 9348 }, + { 0x71DE, 9353 }, + { 0x71DF, 9712 }, + { 0x71E0, 9334 }, + { 0x71E1, 9678 }, + { 0x71E2, 9373 }, + { 0x71E3, 9355 }, + { 0x71E4, 9361 }, + { 0x71E5, 9382 }, + { 0x71E6, 9367 }, + { 0x71E7, 9364 }, + { 0x71E8, 9358 }, + { 0x71E9, 9379 }, + { 0x71EA, 9376 }, + { 0x71EB, 9370 }, + { 0x71EC, 9351 }, + { 0x71ED, 9696 }, + { 0x71EE, 9690 }, + { 0x71EF, 9666 }, + { 0x71F0, 9709 }, + { 0x71F1, 9682 }, + { 0x71F2, 9703 }, + { 0x71F3, 9518 }, + { 0x71F4, 9523 }, + { 0x71F5, 9528 }, + { 0x71F6, 9533 }, + { 0x71F7, 9538 }, + { 0x71F8, 9543 }, + { 0x71F9, 9548 }, + { 0x71FA, 9553 }, + { 0x71FB, 9558 }, + { 0x71FC, 9563 }, + { 0x71FD, 9568 }, + { 0x71FE, 9573 }, + { 0x71FF, 9578 }, + { 0x7200, 9583 }, + { 0x7201, 9588 }, + { 0x7202, 9593 }, + { 0x7203, 9598 }, + { 0x7204, 9603 }, + { 0x7205, 9608 }, + { 0x7206, 9613 }, + { 0x7207, 9618 }, + { 0x7208, 9623 }, + { 0x7209, 9628 }, + { 0x720A, 9633 }, + { 0x720B, 9638 }, + { 0x720C, 9643 }, + { 0x720D, 9341 }, + { 0x720E, 9675 }, + { 0x720F, 9652 }, + { 0x7210, 9700 }, + { 0x7211, 9331 }, + { 0x7212, 9385 }, + { 0x7213, 9388 }, + { 0x7214, 9393 }, + { 0x7215, 9398 }, + { 0x7216, 9403 }, + { 0x7217, 9408 }, + { 0x7218, 9413 }, + { 0x7219, 9418 }, + { 0x721A, 9423 }, + { 0x721B, 9428 }, + { 0x721C, 9433 }, + { 0x721D, 9438 }, + { 0x721E, 9443 }, + { 0x721F, 9448 }, + { 0x7220, 9453 }, + { 0x7221, 9458 }, + { 0x7222, 9463 }, + { 0x7223, 9468 }, + { 0x7224, 9473 }, + { 0x7225, 9478 }, + { 0x7226, 9483 }, + { 0x7227, 9488 }, + { 0x7228, 9493 }, + { 0x7229, 9498 }, + { 0x722A, 9503 }, + { 0x722B, 9508 }, + { 0x722C, 9513 }, + { 0x722D, 9337 }, + { 0x722E, 9685 }, + { 0x722F, 9648 }, + { 0x7230, 9661 }, + { 0x7231, 44382 }, +}; +#define UNICODE_CHARNAME_MAX_LENGTH 83 +#define UNICODE_CHARNAME_MAX_WORDS 13 +static const struct { uint16_t index; uint32_t gap; uint16_t length; } unicode_ranges[629] = { + { 0, 32, 95 }, + { 95, 65, 728 }, + { 823, 67, 6 }, + { 829, 71, 7 }, + { 836, 72, 1 }, + { 837, 73, 20 }, + { 857, 74, 397 }, + { 1254, 75, 38 }, + { 1292, 77, 7 }, + { 1299, 78, 39 }, + { 1338, 79, 2 }, + { 1340, 81, 3 }, + { 1343, 82, 55 }, + { 1398, 90, 27 }, + { 1425, 95, 5 }, + { 1430, 106, 29 }, + { 1459, 107, 240 }, + { 1699, 108, 60 }, + { 1759, 110, 101 }, + { 1860, 124, 59 }, + { 1919, 129, 46 }, + { 1965, 131, 15 }, + { 1980, 132, 28 }, + { 2008, 134, 1 }, + { 2009, 199, 21 }, + { 2030, 200, 8 }, + { 2038, 222, 176 }, + { 2214, 223, 8 }, + { 2222, 225, 2 }, + { 2224, 227, 22 }, + { 2246, 228, 7 }, + { 2253, 229, 1 }, + { 2254, 232, 4 }, + { 2258, 234, 9 }, + { 2267, 236, 2 }, + { 2269, 238, 4 }, + { 2273, 246, 1 }, + { 2274, 250, 2 }, + { 2276, 251, 5 }, + { 2281, 253, 22 }, + { 2303, 258, 3 }, + { 2306, 259, 6 }, + { 2312, 263, 2 }, + { 2314, 265, 22 }, + { 2336, 266, 7 }, + { 2343, 267, 2 }, + { 2345, 268, 2 }, + { 2347, 269, 2 }, + { 2349, 271, 1 }, + { 2350, 272, 5 }, + { 2355, 276, 2 }, + { 2357, 278, 3 }, + { 2360, 281, 1 }, + { 2361, 288, 4 }, + { 2365, 289, 1 }, + { 2366, 296, 16 }, + { 2382, 307, 3 }, + { 2385, 308, 9 }, + { 2394, 309, 3 }, + { 2397, 310, 22 }, + { 2419, 311, 7 }, + { 2426, 312, 2 }, + { 2428, 313, 5 }, + { 2433, 315, 10 }, + { 2443, 316, 3 }, + { 2446, 317, 3 }, + { 2449, 319, 1 }, + { 2450, 334, 4 }, + { 2454, 336, 12 }, + { 2466, 343, 1 }, + { 2467, 350, 3 }, + { 2470, 351, 8 }, + { 2478, 353, 2 }, + { 2480, 355, 22 }, + { 2502, 356, 7 }, + { 2509, 357, 2 }, + { 2511, 358, 5 }, + { 2516, 360, 9 }, + { 2525, 362, 2 }, + { 2527, 364, 3 }, + { 2530, 372, 2 }, + { 2532, 376, 2 }, + { 2534, 377, 5 }, + { 2539, 379, 18 }, + { 2557, 389, 2 }, + { 2559, 390, 6 }, + { 2565, 393, 3 }, + { 2568, 394, 4 }, + { 2572, 397, 2 }, + { 2574, 398, 1 }, + { 2575, 399, 2 }, + { 2577, 402, 2 }, + { 2579, 405, 3 }, + { 2582, 408, 12 }, + { 2594, 412, 5 }, + { 2599, 415, 3 }, + { 2602, 416, 4 }, + { 2606, 418, 1 }, + { 2607, 424, 1 }, + { 2608, 438, 21 }, + { 2629, 443, 4 }, + { 2633, 444, 8 }, + { 2641, 445, 3 }, + { 2644, 446, 23 }, + { 2667, 447, 16 }, + { 2683, 450, 8 }, + { 2691, 451, 3 }, + { 2694, 452, 4 }, + { 2698, 459, 2 }, + { 2700, 460, 3 }, + { 2703, 465, 4 }, + { 2707, 467, 10 }, + { 2717, 475, 12 }, + { 2729, 476, 8 }, + { 2737, 477, 3 }, + { 2740, 478, 23 }, + { 2763, 479, 10 }, + { 2773, 480, 5 }, + { 2778, 482, 9 }, + { 2787, 483, 3 }, + { 2790, 484, 4 }, + { 2794, 491, 2 }, + { 2796, 498, 1 }, + { 2797, 499, 4 }, + { 2801, 501, 10 }, + { 2811, 502, 2 }, + { 2813, 516, 3 }, + { 2816, 517, 8 }, + { 2824, 518, 3 }, + { 2827, 519, 41 }, + { 2868, 521, 8 }, + { 2876, 522, 3 }, + { 2879, 523, 6 }, + { 2885, 527, 16 }, + { 2901, 529, 26 }, + { 2927, 531, 2 }, + { 2929, 532, 18 }, + { 2947, 535, 24 }, + { 2971, 536, 9 }, + { 2980, 537, 1 }, + { 2981, 539, 7 }, + { 2988, 542, 1 }, + { 2989, 546, 6 }, + { 2995, 547, 1 }, + { 2996, 548, 8 }, + { 3004, 554, 10 }, + { 3014, 556, 3 }, + { 3017, 568, 58 }, + { 3075, 572, 29 }, + { 3104, 609, 2 }, + { 3106, 610, 1 }, + { 3107, 612, 2 }, + { 3109, 613, 1 }, + { 3110, 615, 1 }, + { 3111, 621, 4 }, + { 3115, 622, 7 }, + { 3122, 623, 3 }, + { 3125, 624, 1 }, + { 3126, 625, 1 }, + { 3127, 627, 2 }, + { 3129, 628, 13 }, + { 3142, 629, 3 }, + { 3145, 631, 5 }, + { 3150, 632, 1 }, + { 3151, 633, 6 }, + { 3157, 635, 10 }, + { 3167, 637, 4 }, + { 3171, 669, 72 }, + { 3243, 670, 36 }, + { 3279, 674, 39 }, + { 3318, 675, 36 }, + { 3354, 676, 15 }, + { 3369, 677, 13 }, + { 3382, 714, 198 }, + { 3580, 715, 1 }, + { 3581, 720, 1 }, + { 3582, 722, 377 }, + { 3959, 723, 4 }, + { 3963, 725, 7 }, + { 3970, 726, 1 }, + { 3971, 727, 4 }, + { 3975, 729, 41 }, + { 4016, 730, 4 }, + { 4020, 732, 33 }, + { 4053, 733, 4 }, + { 4057, 735, 7 }, + { 4064, 736, 1 }, + { 4065, 737, 4 }, + { 4069, 739, 15 }, + { 4084, 740, 57 }, + { 4141, 741, 4 }, + { 4145, 743, 67 }, + { 4212, 745, 32 }, + { 4244, 748, 26 }, + { 4270, 754, 86 }, + { 4356, 756, 6 }, + { 4362, 758, 669 }, + { 5031, 761, 89 }, + { 5120, 768, 13 }, + { 5133, 769, 7 }, + { 5140, 780, 23 }, + { 5163, 789, 20 }, + { 5183, 801, 13 }, + { 5196, 802, 3 }, + { 5199, 803, 2 }, + { 5201, 815, 94 }, + { 5295, 817, 10 }, + { 5305, 823, 10 }, + { 5315, 829, 15 }, + { 5330, 830, 10 }, + { 5340, 836, 88 }, + { 5428, 844, 43 }, + { 5471, 849, 70 }, + { 5541, 859, 31 }, + { 5572, 860, 12 }, + { 5584, 864, 12 }, + { 5596, 868, 1 }, + { 5597, 871, 42 }, + { 5639, 873, 5 }, + { 5644, 884, 44 }, + { 5688, 888, 26 }, + { 5714, 894, 11 }, + { 5725, 897, 62 }, + { 5787, 899, 65 }, + { 5852, 900, 29 }, + { 5881, 902, 11 }, + { 5892, 908, 10 }, + { 5902, 914, 14 }, + { 5916, 916, 15 }, + { 5931, 981, 76 }, + { 6007, 985, 45 }, + { 6052, 988, 116 }, + { 6168, 996, 60 }, + { 6228, 999, 15 }, + { 6243, 1002, 60 }, + { 6303, 1057, 8 }, + { 6311, 1065, 39 }, + { 6350, 1066, 2 }, + { 6352, 1072, 246 }, + { 6598, 1077, 283 }, + { 6881, 1079, 6 }, + { 6887, 1081, 38 }, + { 6925, 1083, 6 }, + { 6931, 1085, 8 }, + { 6939, 1086, 1 }, + { 6940, 1087, 1 }, + { 6941, 1088, 1 }, + { 6942, 1089, 31 }, + { 6973, 1091, 53 }, + { 7026, 1092, 15 }, + { 7041, 1093, 14 }, + { 7055, 1095, 6 }, + { 7061, 1096, 19 }, + { 7080, 1098, 3 }, + { 7083, 1099, 9 }, + { 7092, 1100, 101 }, + { 7193, 1101, 12 }, + { 7205, 1103, 27 }, + { 7232, 1104, 13 }, + { 7245, 1107, 31 }, + { 7276, 1124, 33 }, + { 7309, 1139, 140 }, + { 7449, 1143, 623 }, + { 8072, 1144, 39 }, + { 8111, 1169, 11 }, + { 8122, 1190, 1812 }, + { 9934, 1192, 32 }, + { 9966, 1194, 34 }, + { 10000, 1197, 12 }, + { 10012, 1198, 8 }, + { 10020, 1224, 4 }, + { 10024, 1240, 47 }, + { 10071, 1241, 47 }, + { 10118, 1242, 148 }, + { 10266, 1247, 45 }, + { 10311, 1248, 1 }, + { 10312, 1253, 1 }, + { 10313, 1255, 56 }, + { 10369, 1262, 2 }, + { 10371, 1276, 24 }, + { 10395, 1285, 7 }, + { 10402, 1286, 7 }, + { 10409, 1287, 7 }, + { 10416, 1288, 7 }, + { 10423, 1289, 7 }, + { 10430, 1290, 7 }, + { 10437, 1291, 7 }, + { 10444, 1292, 7 }, + { 10451, 1293, 101 }, + { 10552, 1352, 26 }, + { 10578, 1353, 89 }, + { 10667, 1365, 214 }, + { 10881, 1391, 12 }, + { 10893, 1395, 64 }, + { 10957, 1396, 86 }, + { 11043, 1398, 103 }, + { 11146, 1403, 41 }, + { 11187, 1406, 94 }, + { 11281, 1407, 43 }, + { 11324, 1412, 36 }, + { 11360, 1424, 47 }, + { 11407, 1425, 223 }, + { 11630, 1426, 256 }, + { 11886, 8018, 64 }, + { 11950, 29010, 1165 }, + { 13115, 29013, 55 }, + { 13170, 29022, 348 }, + { 13518, 29042, 184 }, + { 13702, 29050, 175 }, + { 13877, 29051, 8 }, + { 13885, 29114, 53 }, + { 13938, 29118, 10 }, + { 13948, 29124, 56 }, + { 14004, 29132, 70 }, + { 14074, 29140, 12 }, + { 14086, 29146, 30 }, + { 14116, 29148, 84 }, + { 14200, 29159, 30 }, + { 14230, 29162, 78 }, + { 14308, 29163, 11 }, + { 14319, 29167, 33 }, + { 14352, 29168, 55 }, + { 14407, 29177, 14 }, + { 14421, 29179, 10 }, + { 14431, 29181, 103 }, + { 14534, 29205, 28 }, + { 14562, 29215, 6 }, + { 14568, 29217, 6 }, + { 14574, 29219, 6 }, + { 14580, 29228, 7 }, + { 14587, 29229, 7 }, + { 14594, 29230, 54 }, + { 14648, 29240, 126 }, + { 14774, 29242, 10 }, + { 14784, 40432, 23 }, + { 14807, 40436, 49 }, + { 14856, 49190, 2 }, + { 14858, 49249, 3 }, + { 14861, 49395, 7 }, + { 14868, 49407, 5 }, + { 14873, 49412, 26 }, + { 14899, 49413, 5 }, + { 14904, 49414, 1 }, + { 14905, 49415, 2 }, + { 14907, 49416, 2 }, + { 14909, 49417, 124 }, + { 15033, 49434, 365 }, + { 15398, 49450, 64 }, + { 15462, 49452, 54 }, + { 15516, 49492, 14 }, + { 15530, 49510, 10 }, + { 15540, 49516, 51 }, + { 15591, 49517, 19 }, + { 15610, 49518, 4 }, + { 15614, 49522, 5 }, + { 15619, 49523, 135 }, + { 15754, 49525, 1 }, + { 15755, 49526, 190 }, + { 15945, 49529, 6 }, + { 15951, 49531, 6 }, + { 15957, 49533, 6 }, + { 15963, 49535, 3 }, + { 15966, 49538, 7 }, + { 15973, 49539, 7 }, + { 15980, 49549, 5 }, + { 15985, 49551, 12 }, + { 15997, 49552, 26 }, + { 16023, 49553, 19 }, + { 16042, 49554, 2 }, + { 16044, 49555, 15 }, + { 16059, 49557, 14 }, + { 16073, 49591, 123 }, + { 16196, 49596, 3 }, + { 16199, 49600, 45 }, + { 16244, 49603, 88 }, + { 16332, 49604, 12 }, + { 16344, 49608, 1 }, + { 16345, 49655, 46 }, + { 16391, 49785, 29 }, + { 16420, 49788, 49 }, + { 16469, 49803, 28 }, + { 16497, 49807, 36 }, + { 16533, 49819, 27 }, + { 16560, 49824, 43 }, + { 16603, 49829, 30 }, + { 16633, 49830, 37 }, + { 16670, 49834, 14 }, + { 16684, 49876, 158 }, + { 16842, 49878, 10 }, + { 16852, 49884, 36 }, + { 16888, 49888, 36 }, + { 16924, 49892, 40 }, + { 16964, 49900, 52 }, + { 17016, 49911, 1 }, + { 17017, 50055, 311 }, + { 17328, 50064, 22 }, + { 17350, 50074, 8 }, + { 17358, 50226, 6 }, + { 17364, 50228, 1 }, + { 17365, 50229, 44 }, + { 17409, 50230, 2 }, + { 17411, 50233, 1 }, + { 17412, 50235, 23 }, + { 17435, 50236, 72 }, + { 17507, 50244, 9 }, + { 17516, 50292, 19 }, + { 17535, 50293, 2 }, + { 17537, 50298, 33 }, + { 17570, 50301, 27 }, + { 17597, 50306, 1 }, + { 17598, 50370, 56 }, + { 17654, 50374, 20 }, + { 17674, 50376, 50 }, + { 17724, 50377, 2 }, + { 17726, 50382, 8 }, + { 17734, 50383, 3 }, + { 17737, 50384, 27 }, + { 17764, 50388, 3 }, + { 17767, 50392, 9 }, + { 17776, 50400, 9 }, + { 17785, 50407, 64 }, + { 17849, 50439, 39 }, + { 17888, 50443, 12 }, + { 17900, 50452, 54 }, + { 17954, 50455, 29 }, + { 17983, 50457, 27 }, + { 18010, 50462, 26 }, + { 18036, 50469, 4 }, + { 18040, 50481, 7 }, + { 18047, 50561, 73 }, + { 18120, 50616, 51 }, + { 18171, 50629, 51 }, + { 18222, 50636, 6 }, + { 18228, 50988, 31 }, + { 18259, 51373, 78 }, + { 18337, 51377, 30 }, + { 18367, 51392, 67 }, + { 18434, 51406, 25 }, + { 18459, 51413, 10 }, + { 18469, 51419, 53 }, + { 18522, 51420, 14 }, + { 18536, 51432, 39 }, + { 18575, 51441, 78 }, + { 18653, 51443, 16 }, + { 18669, 51444, 20 }, + { 18689, 51455, 18 }, + { 18707, 51456, 44 }, + { 18751, 51521, 7 }, + { 18758, 51522, 1 }, + { 18759, 51523, 4 }, + { 18763, 51524, 15 }, + { 18778, 51525, 11 }, + { 18789, 51531, 59 }, + { 18848, 51536, 10 }, + { 18858, 51542, 4 }, + { 18862, 51543, 8 }, + { 18870, 51545, 2 }, + { 18872, 51547, 22 }, + { 18894, 51548, 7 }, + { 18901, 51549, 2 }, + { 18903, 51550, 5 }, + { 18908, 51552, 9 }, + { 18917, 51554, 2 }, + { 18919, 51556, 3 }, + { 18922, 51558, 1 }, + { 18923, 51564, 1 }, + { 18924, 51569, 7 }, + { 18931, 51571, 7 }, + { 18938, 51574, 5 }, + { 18943, 51713, 90 }, + { 19033, 51714, 1 }, + { 19034, 51715, 1 }, + { 19035, 51749, 72 }, + { 19107, 51757, 10 }, + { 19117, 51923, 54 }, + { 19171, 51925, 38 }, + { 19209, 51959, 69 }, + { 19278, 51970, 10 }, + { 19288, 51976, 13 }, + { 19301, 51995, 56 }, + { 19357, 52003, 10 }, + { 19367, 52057, 26 }, + { 19393, 52060, 15 }, + { 19408, 52064, 16 }, + { 19424, 52416, 83 }, + { 19507, 52428, 1 }, + { 19508, 52876, 57 }, + { 19565, 53139, 9 }, + { 19574, 53140, 45 }, + { 19619, 53141, 14 }, + { 19633, 53151, 29 }, + { 19662, 53154, 32 }, + { 19694, 53156, 22 }, + { 19716, 53157, 14 }, + { 19730, 53998, 922 }, + { 20652, 54100, 111 }, + { 20763, 54101, 5 }, + { 20768, 54112, 196 }, + { 20964, 56860, 1071 }, + { 22035, 60909, 583 }, + { 22618, 69542, 569 }, + { 23187, 69549, 31 }, + { 23218, 69550, 10 }, + { 23228, 69554, 2 }, + { 23230, 69650, 30 }, + { 23260, 69652, 6 }, + { 23266, 69662, 70 }, + { 23336, 69672, 10 }, + { 23346, 69673, 7 }, + { 23353, 69674, 21 }, + { 23374, 69679, 19 }, + { 23393, 70559, 69 }, + { 23462, 70570, 47 }, + { 23509, 70586, 17 }, + { 23526, 70650, 1 }, + { 23527, 76825, 755 }, + { 24282, 86310, 2 }, + { 24284, 89380, 107 }, + { 24391, 89385, 13 }, + { 24404, 89388, 9 }, + { 24413, 89395, 10 }, + { 24423, 89397, 8 }, + { 24431, 94353, 246 }, + { 24677, 94363, 39 }, + { 24716, 94365, 192 }, + { 24908, 94388, 70 }, + { 24978, 94574, 87 }, + { 25065, 94583, 18 }, + { 25083, 94725, 85 }, + { 25168, 94726, 71 }, + { 25239, 94727, 2 }, + { 25241, 94729, 1 }, + { 25242, 94731, 2 }, + { 25244, 94733, 4 }, + { 25248, 94734, 12 }, + { 25260, 94735, 1 }, + { 25261, 94736, 7 }, + { 25268, 94737, 65 }, + { 25333, 94738, 4 }, + { 25337, 94740, 8 }, + { 25345, 94741, 7 }, + { 25352, 94742, 28 }, + { 25380, 94743, 4 }, + { 25384, 94744, 5 }, + { 25389, 94745, 1 }, + { 25390, 94748, 7 }, + { 25397, 94749, 340 }, + { 25737, 94751, 292 }, + { 26029, 94753, 702 }, + { 26731, 94768, 5 }, + { 26736, 94769, 15 }, + { 26751, 96129, 7 }, + { 26758, 96130, 17 }, + { 26775, 96132, 7 }, + { 26782, 96133, 2 }, + { 26784, 96134, 5 }, + { 26789, 98139, 197 }, + { 26986, 98141, 16 }, + { 27002, 98182, 75 }, + { 27077, 98187, 10 }, + { 27087, 98191, 2 }, + { 27089, 99375, 4 }, + { 27093, 99376, 27 }, + { 27120, 99377, 2 }, + { 27122, 99378, 1 }, + { 27123, 99380, 1 }, + { 27124, 99381, 10 }, + { 27134, 99382, 4 }, + { 27138, 99383, 1 }, + { 27139, 99384, 1 }, + { 27140, 99390, 1 }, + { 27141, 99394, 1 }, + { 27142, 99395, 1 }, + { 27143, 99396, 1 }, + { 27144, 99397, 3 }, + { 27147, 99398, 2 }, + { 27149, 99399, 1 }, + { 27150, 99401, 1 }, + { 27151, 99402, 1 }, + { 27152, 99403, 1 }, + { 27153, 99404, 1 }, + { 27154, 99405, 1 }, + { 27155, 99406, 2 }, + { 27157, 99407, 1 }, + { 27158, 99409, 4 }, + { 27162, 99410, 7 }, + { 27169, 99411, 4 }, + { 27173, 99412, 4 }, + { 27177, 99413, 1 }, + { 27178, 99414, 10 }, + { 27188, 99415, 17 }, + { 27205, 99420, 3 }, + { 27208, 99421, 5 }, + { 27213, 99422, 17 }, + { 27230, 99474, 2 }, + { 27232, 99744, 44 }, + { 27276, 99748, 100 }, + { 27376, 99760, 15 }, + { 27391, 99762, 15 }, + { 27406, 99763, 15 }, + { 27421, 99764, 37 }, + { 27458, 99774, 13 }, + { 27471, 99777, 31 }, + { 27502, 99778, 60 }, + { 27562, 99782, 61 }, + { 27623, 99839, 29 }, + { 27652, 99852, 44 }, + { 27696, 99856, 9 }, + { 27705, 99863, 2 }, + { 27707, 100037, 979 }, + { 28686, 100050, 13 }, + { 28699, 100053, 7 }, + { 28706, 100062, 116 }, + { 28822, 100074, 85 }, + { 28907, 100117, 12 }, + { 28919, 100121, 56 }, + { 28975, 100129, 10 }, + { 28985, 100135, 40 }, + { 29025, 100143, 30 }, + { 29055, 100241, 15 }, + { 29070, 100242, 8 }, + { 29078, 100250, 1 }, + { 29079, 100252, 12 }, + { 29091, 100253, 12 }, + { 29103, 100257, 15 }, + { 29118, 100290, 18 }, + { 29136, 100336, 1 }, + { 29137, 888368, 1 }, + { 29138, 888398, 96 }, +}; diff --git a/gllib/uninorm.in.h b/gllib/uninorm.in.h new file mode 100644 index 0000000..1e0f3dd --- /dev/null +++ b/gllib/uninorm.in.h @@ -0,0 +1,248 @@ +/* Normalization forms (composition and decomposition) of Unicode strings. + Copyright (C) 2001-2002, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNINORM_H +#define _UNINORM_H + +/* Get size_t. */ +#include + +#include "unitypes.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Conventions: + + All functions prefixed with u8_ operate on UTF-8 encoded strings. + Their unit is an uint8_t (1 byte). + + All functions prefixed with u16_ operate on UTF-16 encoded strings. + Their unit is an uint16_t (a 2-byte word). + + All functions prefixed with u32_ operate on UCS-4 encoded strings. + Their unit is an uint32_t (a 4-byte word). + + All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly + n units. + + Functions returning a string result take a (resultbuf, lengthp) argument + pair. If resultbuf is not NULL and the result fits into *lengthp units, + it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly + allocated string is returned. In both cases, *lengthp is set to the + length (number of units) of the returned string. In case of error, + NULL is returned and errno is set. */ + + +enum +{ + UC_DECOMP_CANONICAL,/* Canonical decomposition. */ + UC_DECOMP_FONT, /* A font variant (e.g. a blackletter form). */ + UC_DECOMP_NOBREAK, /* A no-break version of a space or hyphen. */ + UC_DECOMP_INITIAL, /* An initial presentation form (Arabic). */ + UC_DECOMP_MEDIAL, /* A medial presentation form (Arabic). */ + UC_DECOMP_FINAL, /* A final presentation form (Arabic). */ + UC_DECOMP_ISOLATED,/* An isolated presentation form (Arabic). */ + UC_DECOMP_CIRCLE, /* An encircled form. */ + UC_DECOMP_SUPER, /* A superscript form. */ + UC_DECOMP_SUB, /* A subscript form. */ + UC_DECOMP_VERTICAL,/* A vertical layout presentation form. */ + UC_DECOMP_WIDE, /* A wide (or zenkaku) compatibility character. */ + UC_DECOMP_NARROW, /* A narrow (or hankaku) compatibility character. */ + UC_DECOMP_SMALL, /* A small variant form (CNS compatibility). */ + UC_DECOMP_SQUARE, /* A CJK squared font variant. */ + UC_DECOMP_FRACTION,/* A vulgar fraction form. */ + UC_DECOMP_COMPAT /* Otherwise unspecified compatibility character. */ +}; + +/* Maximum size of decomposition of a single Unicode character. */ +#define UC_DECOMPOSITION_MAX_LENGTH 32 + +/* Return the character decomposition mapping of a Unicode character. + DECOMPOSITION must point to an array of at least UC_DECOMPOSITION_MAX_LENGTH + ucs_t elements. + When a decomposition exists, DECOMPOSITION[0..N-1] and *DECOMP_TAG are + filled and N is returned. Otherwise -1 is returned. */ +extern int + uc_decomposition (ucs4_t uc, int *decomp_tag, ucs4_t *decomposition); + +/* Return the canonical character decomposition mapping of a Unicode character. + DECOMPOSITION must point to an array of at least UC_DECOMPOSITION_MAX_LENGTH + ucs_t elements. + When a decomposition exists, DECOMPOSITION[0..N-1] is filled and N is + returned. Otherwise -1 is returned. */ +extern int + uc_canonical_decomposition (ucs4_t uc, ucs4_t *decomposition); + + +/* Attempt to combine the Unicode characters uc1, uc2. + uc1 is known to have canonical combining class 0. + Return the combination of uc1 and uc2, if it exists. + Return 0 otherwise. + Not all decompositions can be recombined using this function. See the + Unicode file CompositionExclusions.txt for details. */ +extern ucs4_t + uc_composition (ucs4_t uc1, ucs4_t uc2) + _UC_ATTRIBUTE_CONST; + + +/* An object of type uninorm_t denotes a Unicode normalization form. */ +struct unicode_normalization_form; +typedef const struct unicode_normalization_form *uninorm_t; + +/* UNINORM_NFD: Normalization form D: canonical decomposition. */ +extern const struct unicode_normalization_form uninorm_nfd; +#define UNINORM_NFD (&uninorm_nfd) + +/* UNINORM_NFC: Normalization form C: canonical decomposition, then + canonical composition. */ +extern const struct unicode_normalization_form uninorm_nfc; +#define UNINORM_NFC (&uninorm_nfc) + +/* UNINORM_NFKD: Normalization form KD: compatibility decomposition. */ +extern const struct unicode_normalization_form uninorm_nfkd; +#define UNINORM_NFKD (&uninorm_nfkd) + +/* UNINORM_NFKC: Normalization form KC: compatibility decomposition, then + canonical composition. */ +extern const struct unicode_normalization_form uninorm_nfkc; +#define UNINORM_NFKC (&uninorm_nfkc) + +/* Test whether a normalization form does compatibility decomposition. */ +#define uninorm_is_compat_decomposing(nf) \ + ((* (const unsigned int *) (nf) >> 0) & 1) + +/* Test whether a normalization form includes canonical composition. */ +#define uninorm_is_composing(nf) \ + ((* (const unsigned int *) (nf) >> 1) & 1) + +/* Return the decomposing variant of a normalization form. + This maps NFC,NFD -> NFD and NFKC,NFKD -> NFKD. */ +extern uninorm_t + uninorm_decomposing_form (uninorm_t nf) + _UC_ATTRIBUTE_PURE; + + +/* Return the specified normalization form of a string. */ +extern uint8_t * + u8_normalize (uninorm_t nf, const uint8_t *s, size_t n, + uint8_t *resultbuf, size_t *lengthp); +extern uint16_t * + u16_normalize (uninorm_t nf, const uint16_t *s, size_t n, + uint16_t *resultbuf, size_t *lengthp); +extern uint32_t * + u32_normalize (uninorm_t nf, const uint32_t *s, size_t n, + uint32_t *resultbuf, size_t *lengthp); + + +/* Compare S1 and S2, ignoring differences in normalization. + NF must be either UNINORM_NFD or UNINORM_NFKD. + If successful, set *RESULTP to -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2, and + return 0. Upon failure, return -1 with errno set. */ +extern int + u8_normcmp (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2, + uninorm_t nf, int *resultp); +extern int + u16_normcmp (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2, + uninorm_t nf, int *resultp); +extern int + u32_normcmp (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2, + uninorm_t nf, int *resultp); + + +/* Converts the string S of length N to a NUL-terminated byte sequence, in such + a way that comparing uN_normxfrm (S1) and uN_normxfrm (S2) with uN_cmp2() is + equivalent to comparing S1 and S2 with uN_normcoll(). + NF must be either UNINORM_NFC or UNINORM_NFKC. */ +extern char * + u8_normxfrm (const uint8_t *s, size_t n, uninorm_t nf, + char *resultbuf, size_t *lengthp); +extern char * + u16_normxfrm (const uint16_t *s, size_t n, uninorm_t nf, + char *resultbuf, size_t *lengthp); +extern char * + u32_normxfrm (const uint32_t *s, size_t n, uninorm_t nf, + char *resultbuf, size_t *lengthp); + + +/* Compare S1 and S2, ignoring differences in normalization, using the + collation rules of the current locale. + NF must be either UNINORM_NFC or UNINORM_NFKC. + If successful, set *RESULTP to -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2, and + return 0. Upon failure, return -1 with errno set. */ +extern int + u8_normcoll (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2, + uninorm_t nf, int *resultp); +extern int + u16_normcoll (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2, + uninorm_t nf, int *resultp); +extern int + u32_normcoll (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2, + uninorm_t nf, int *resultp); + + +/* Normalization of a stream of Unicode characters. + + A "stream of Unicode characters" is essentially a function that accepts an + ucs4_t argument repeatedly, optionally combined with a function that + "flushes" the stream. */ + +/* Data type of a stream of Unicode characters that normalizes its input + according to a given normalization form and passes the normalized character + sequence to the encapsulated stream of Unicode characters. */ +struct uninorm_filter; + +/* Create and return a normalization filter for Unicode characters. + The pair (stream_func, stream_data) is the encapsulated stream. + stream_func (stream_data, uc) receives the Unicode character uc + and returns 0 if successful, or -1 with errno set upon failure. + Return the new filter, or NULL with errno set upon failure. */ +extern struct uninorm_filter * + uninorm_filter_create (uninorm_t nf, + int (*stream_func) (void *stream_data, ucs4_t uc), + void *stream_data); + +/* Stuff a Unicode character into a normalizing filter. + Return 0 if successful, or -1 with errno set upon failure. */ +extern int + uninorm_filter_write (struct uninorm_filter *filter, ucs4_t uc); + +/* Bring data buffered in the filter to its destination, the encapsulated + stream. + Return 0 if successful, or -1 with errno set upon failure. + Note! If after calling this function, additional characters are written + into the filter, the resulting character sequence in the encapsulated stream + will not necessarily be normalized. */ +extern int + uninorm_filter_flush (struct uninorm_filter *filter); + +/* Bring data buffered in the filter to its destination, the encapsulated + stream, then close and free the filter. + Return 0 if successful, or -1 with errno set upon failure. */ +extern int + uninorm_filter_free (struct uninorm_filter *filter); + + +#ifdef __cplusplus +} +#endif + + +#endif /* _UNINORM_H */ diff --git a/gllib/uninorm/canonical-decomposition.c b/gllib/uninorm/canonical-decomposition.c new file mode 100644 index 0000000..99aa91c --- /dev/null +++ b/gllib/uninorm/canonical-decomposition.c @@ -0,0 +1,107 @@ +/* Canonical decomposition of Unicode characters. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uninorm.h" + +#include + +#include "decomposition-table.h" + +int +uc_canonical_decomposition (ucs4_t uc, ucs4_t *decomposition) +{ + if (uc >= 0xAC00 && uc < 0xD7A4) + { + /* Hangul syllable. See Unicode standard, chapter 3, section + "Hangul Syllable Decomposition", See also the clarification at + , section + "Clarification of Hangul Jamo Handling". */ + unsigned int t; + + uc -= 0xAC00; + t = uc % 28; + + if (t == 0) + { + unsigned int v, l; + + uc = uc / 28; + v = uc % 21; + l = uc / 21; + + decomposition[0] = 0x1100 + l; + decomposition[1] = 0x1161 + v; + return 2; + } + else + { +#if 1 /* Return the pairwise decomposition, not the full decomposition. */ + decomposition[0] = 0xAC00 + uc - t; /* = 0xAC00 + (l * 21 + v) * 28; */ + decomposition[1] = 0x11A7 + t; + return 2; +#else + unsigned int v, l; + + uc = uc / 28; + v = uc % 21; + l = uc / 21; + + decomposition[0] = 0x1100 + l; + decomposition[1] = 0x1161 + v; + decomposition[2] = 0x11A7 + t; + return 3; +#endif + } + } + else if (uc < 0x110000) + { + unsigned short entry = decomp_index (uc); + /* An entry of (unsigned short)(-1) denotes an absent entry. + Otherwise, bit 15 of the entry tells whether the decomposition + is a canonical one. */ + if (entry < 0x8000) + { + const unsigned char *p; + unsigned int element; + unsigned int length; + + p = &gl_uninorm_decomp_chars_table[3 * entry]; + element = (p[0] << 16) | (p[1] << 8) | p[2]; + /* The first element has 5 bits for the decomposition type. */ + if (((element >> 18) & 0x1f) != UC_DECOMP_CANONICAL) + abort (); + length = 1; + for (;;) + { + /* Every element has an 18 bits wide Unicode code point. */ + *decomposition = element & 0x3ffff; + /* Bit 23 tells whether there are more elements, */ + if ((element & (1 << 23)) == 0) + break; + p += 3; + element = (p[0] << 16) | (p[1] << 8) | p[2]; + decomposition++; + length++; + } + return length; + } + } + return -1; +} diff --git a/gllib/uninorm/decompose-internal.c b/gllib/uninorm/decompose-internal.c new file mode 100644 index 0000000..3f12006 --- /dev/null +++ b/gllib/uninorm/decompose-internal.c @@ -0,0 +1,28 @@ +/* Decomposition of Unicode strings. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "decompose-internal.h" + +#define ELEMENT struct ucs4_with_ccc +#define COMPARE(a,b) ((a)->ccc - (b)->ccc) +#define STATIC +#define merge_sort_fromto gl_uninorm_decompose_merge_sort_fromto +#define merge_sort_inplace gl_uninorm_decompose_merge_sort_inplace +#include "array-mergesort.h" diff --git a/gllib/uninorm/decompose-internal.h b/gllib/uninorm/decompose-internal.h new file mode 100644 index 0000000..a85d117 --- /dev/null +++ b/gllib/uninorm/decompose-internal.h @@ -0,0 +1,36 @@ +/* Decomposition of Unicode strings. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#include "unitypes.h" + +/* Variant of uc_decomposition that does not produce the 'tag'. */ +extern int + uc_compat_decomposition (ucs4_t uc, ucs4_t *decomposition); + +/* A Unicode character together with its canonical combining class. */ +struct ucs4_with_ccc +{ + ucs4_t code; + int ccc; /* range 0..255 */ +}; + +/* Stable-sort an array of 'struct ucs4_with_ccc'. */ +extern void + gl_uninorm_decompose_merge_sort_inplace (struct ucs4_with_ccc *src, size_t n, + struct ucs4_with_ccc *tmp); diff --git a/gllib/uninorm/decomposition-table.c b/gllib/uninorm/decomposition-table.c new file mode 100644 index 0000000..9196c26 --- /dev/null +++ b/gllib/uninorm/decomposition-table.c @@ -0,0 +1,23 @@ +/* Decomposition of Unicode characters. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uninorm/decomposition-table.h" + +#include "uninorm/decomposition-table2.h" diff --git a/gllib/uninorm/decomposition-table.h b/gllib/uninorm/decomposition-table.h new file mode 100644 index 0000000..3adc6ad --- /dev/null +++ b/gllib/uninorm/decomposition-table.h @@ -0,0 +1,48 @@ +/* Decomposition of Unicode characters. + Copyright (C) 2001-2003, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + + +#include "unitypes.h" + +/* The decomposition table is made of two parts: + - A table containing the actual arrays of decomposed equivalents. + (This table is separate because the maximum length of a decomposition + is 18, much larger than the average length 1.497 of a decomposition). + - A 3-level table of indices into this array. */ + +#include "decomposition-table1.h" + +static inline unsigned short +decomp_index (ucs4_t uc) +{ + unsigned int index1 = uc >> decomp_header_0; + if (index1 < decomp_header_1) + { + int lookup1 = gl_uninorm_decomp_index_table.level1[index1]; + if (lookup1 >= 0) + { + unsigned int index2 = (uc >> decomp_header_2) & decomp_header_3; + int lookup2 = gl_uninorm_decomp_index_table.level2[lookup1 + index2]; + if (lookup2 >= 0) + { + unsigned int index3 = uc & decomp_header_4; + return gl_uninorm_decomp_index_table.level3[lookup2 + index3]; + } + } + } + return (unsigned short)(-1); +} diff --git a/gllib/uninorm/decomposition-table1.h b/gllib/uninorm/decomposition-table1.h new file mode 100644 index 0000000..5fb5ff2 --- /dev/null +++ b/gllib/uninorm/decomposition-table1.h @@ -0,0 +1,20 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Decomposition of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ + +extern const unsigned char gl_uninorm_decomp_chars_table[]; + +#define decomp_header_0 10 +#define decomp_header_1 191 +#define decomp_header_2 5 +#define decomp_header_3 31 +#define decomp_header_4 31 + +typedef struct + { + int level1[191]; + int level2[23 << 5]; + unsigned short level3[277 << 5]; + } +decomp_index_table_t; +extern const decomp_index_table_t gl_uninorm_decomp_index_table; diff --git a/gllib/uninorm/decomposition-table2.h b/gllib/uninorm/decomposition-table2.h new file mode 100644 index 0000000..539819b --- /dev/null +++ b/gllib/uninorm/decomposition-table2.h @@ -0,0 +1,3373 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Decomposition of Unicode characters. */ +/* Generated automatically by gen-uni-tables.c for Unicode 9.0.0. */ + +const unsigned char gl_uninorm_decomp_chars_table[] = +{ + 0x08, 0x00, 0x20, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x08, 0x20, 0x00, 0x61, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x04, 0x20, 0x00, 0x32, 0x20, 0x00, 0x33, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x01, 0x40, 0x03, 0xBC, 0xC0, 0x00, 0x20, + 0x00, 0x03, 0x27, 0x20, 0x00, 0x31, 0x20, 0x00, 0x6F, 0xBC, 0x00, 0x31, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x34, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, + 0x00, 0x00, 0x32, 0xBC, 0x00, 0x33, 0x80, 0x20, 0x44, 0x00, 0x00, 0x34, + 0x80, 0x00, 0x41, 0x00, 0x03, 0x00, 0x80, 0x00, 0x41, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x41, 0x00, 0x03, 0x02, 0x80, 0x00, 0x41, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x41, 0x00, 0x03, 0x08, 0x80, 0x00, 0x41, 0x00, 0x03, 0x0A, + 0x80, 0x00, 0x43, 0x00, 0x03, 0x27, 0x80, 0x00, 0x45, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x45, 0x00, 0x03, 0x01, 0x80, 0x00, 0x45, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x45, 0x00, 0x03, 0x08, 0x80, 0x00, 0x49, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x49, 0x00, 0x03, 0x01, 0x80, 0x00, 0x49, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x49, 0x00, 0x03, 0x08, 0x80, 0x00, 0x4E, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x4F, 0x00, 0x03, 0x00, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x4F, 0x00, 0x03, 0x02, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x4F, 0x00, 0x03, 0x08, 0x80, 0x00, 0x55, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x55, 0x00, 0x03, 0x01, 0x80, 0x00, 0x55, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x55, 0x00, 0x03, 0x08, 0x80, 0x00, 0x59, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x00, 0x80, 0x00, 0x61, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x02, 0x80, 0x00, 0x61, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x08, 0x80, 0x00, 0x61, 0x00, 0x03, 0x0A, + 0x80, 0x00, 0x63, 0x00, 0x03, 0x27, 0x80, 0x00, 0x65, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x01, 0x80, 0x00, 0x65, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x08, 0x80, 0x00, 0x69, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x01, 0x80, 0x00, 0x69, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x08, 0x80, 0x00, 0x6E, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x00, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x02, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x08, 0x80, 0x00, 0x75, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x01, 0x80, 0x00, 0x75, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x08, 0x80, 0x00, 0x79, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x08, 0x80, 0x00, 0x41, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x04, 0x80, 0x00, 0x41, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x06, 0x80, 0x00, 0x41, 0x00, 0x03, 0x28, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x28, 0x80, 0x00, 0x43, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x63, 0x00, 0x03, 0x01, 0x80, 0x00, 0x43, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x63, 0x00, 0x03, 0x02, 0x80, 0x00, 0x43, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x63, 0x00, 0x03, 0x07, 0x80, 0x00, 0x43, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x63, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x44, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x45, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x04, 0x80, 0x00, 0x45, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x06, 0x80, 0x00, 0x45, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x07, 0x80, 0x00, 0x45, 0x00, 0x03, 0x28, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x28, 0x80, 0x00, 0x45, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x47, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x67, 0x00, 0x03, 0x02, 0x80, 0x00, 0x47, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x67, 0x00, 0x03, 0x06, 0x80, 0x00, 0x47, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x67, 0x00, 0x03, 0x07, 0x80, 0x00, 0x47, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x67, 0x00, 0x03, 0x27, 0x80, 0x00, 0x48, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x02, 0x80, 0x00, 0x49, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x03, 0x80, 0x00, 0x49, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x04, 0x80, 0x00, 0x49, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x06, 0x80, 0x00, 0x49, 0x00, 0x03, 0x28, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x28, 0x80, 0x00, 0x49, 0x00, 0x03, 0x07, + 0xC0, 0x00, 0x49, 0x00, 0x00, 0x4A, 0xC0, 0x00, 0x69, 0x00, 0x00, 0x6A, + 0x80, 0x00, 0x4A, 0x00, 0x03, 0x02, 0x80, 0x00, 0x6A, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x4B, 0x00, 0x03, 0x27, 0x80, 0x00, 0x6B, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x4C, 0x00, 0x03, 0x01, 0x80, 0x00, 0x6C, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x4C, 0x00, 0x03, 0x27, 0x80, 0x00, 0x6C, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x4C, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x6C, 0x00, 0x03, 0x0C, + 0xC0, 0x00, 0x4C, 0x00, 0x00, 0xB7, 0xC0, 0x00, 0x6C, 0x00, 0x00, 0xB7, + 0x80, 0x00, 0x4E, 0x00, 0x03, 0x01, 0x80, 0x00, 0x6E, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x4E, 0x00, 0x03, 0x27, 0x80, 0x00, 0x6E, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x4E, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x6E, 0x00, 0x03, 0x0C, + 0xC0, 0x02, 0xBC, 0x00, 0x00, 0x6E, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x04, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x06, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x0B, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x0B, 0x80, 0x00, 0x52, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x01, 0x80, 0x00, 0x52, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x27, 0x80, 0x00, 0x52, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x53, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x01, 0x80, 0x00, 0x53, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x02, 0x80, 0x00, 0x53, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x27, 0x80, 0x00, 0x53, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x54, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x27, 0x80, 0x00, 0x54, 0x00, 0x03, 0x0C, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x55, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x03, 0x80, 0x00, 0x55, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x04, 0x80, 0x00, 0x55, 0x00, 0x03, 0x06, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x06, 0x80, 0x00, 0x55, 0x00, 0x03, 0x0A, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x0A, 0x80, 0x00, 0x55, 0x00, 0x03, 0x0B, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x0B, 0x80, 0x00, 0x55, 0x00, 0x03, 0x28, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x28, 0x80, 0x00, 0x57, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x02, 0x80, 0x00, 0x59, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x02, 0x80, 0x00, 0x59, 0x00, 0x03, 0x08, + 0x80, 0x00, 0x5A, 0x00, 0x03, 0x01, 0x80, 0x00, 0x7A, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x5A, 0x00, 0x03, 0x07, 0x80, 0x00, 0x7A, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x5A, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x7A, 0x00, 0x03, 0x0C, + 0x40, 0x00, 0x73, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x1B, 0x80, 0x00, 0x6F, + 0x00, 0x03, 0x1B, 0x80, 0x00, 0x55, 0x00, 0x03, 0x1B, 0x80, 0x00, 0x75, + 0x00, 0x03, 0x1B, 0xC0, 0x00, 0x44, 0x00, 0x01, 0x7D, 0xC0, 0x00, 0x44, + 0x00, 0x01, 0x7E, 0xC0, 0x00, 0x64, 0x00, 0x01, 0x7E, 0xC0, 0x00, 0x4C, + 0x00, 0x00, 0x4A, 0xC0, 0x00, 0x4C, 0x00, 0x00, 0x6A, 0xC0, 0x00, 0x6C, + 0x00, 0x00, 0x6A, 0xC0, 0x00, 0x4E, 0x00, 0x00, 0x4A, 0xC0, 0x00, 0x4E, + 0x00, 0x00, 0x6A, 0xC0, 0x00, 0x6E, 0x00, 0x00, 0x6A, 0x80, 0x00, 0x41, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x61, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x49, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x69, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x4F, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x55, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x75, 0x00, 0x03, 0x0C, 0x80, 0x00, 0xDC, + 0x00, 0x03, 0x04, 0x80, 0x00, 0xFC, 0x00, 0x03, 0x04, 0x80, 0x00, 0xDC, + 0x00, 0x03, 0x01, 0x80, 0x00, 0xFC, 0x00, 0x03, 0x01, 0x80, 0x00, 0xDC, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0xFC, 0x00, 0x03, 0x0C, 0x80, 0x00, 0xDC, + 0x00, 0x03, 0x00, 0x80, 0x00, 0xFC, 0x00, 0x03, 0x00, 0x80, 0x00, 0xC4, + 0x00, 0x03, 0x04, 0x80, 0x00, 0xE4, 0x00, 0x03, 0x04, 0x80, 0x02, 0x26, + 0x00, 0x03, 0x04, 0x80, 0x02, 0x27, 0x00, 0x03, 0x04, 0x80, 0x00, 0xC6, + 0x00, 0x03, 0x04, 0x80, 0x00, 0xE6, 0x00, 0x03, 0x04, 0x80, 0x00, 0x47, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x67, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x4B, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x6B, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x4F, + 0x00, 0x03, 0x28, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x28, 0x80, 0x01, 0xEA, + 0x00, 0x03, 0x04, 0x80, 0x01, 0xEB, 0x00, 0x03, 0x04, 0x80, 0x01, 0xB7, + 0x00, 0x03, 0x0C, 0x80, 0x02, 0x92, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x6A, + 0x00, 0x03, 0x0C, 0xC0, 0x00, 0x44, 0x00, 0x00, 0x5A, 0xC0, 0x00, 0x44, + 0x00, 0x00, 0x7A, 0xC0, 0x00, 0x64, 0x00, 0x00, 0x7A, 0x80, 0x00, 0x47, + 0x00, 0x03, 0x01, 0x80, 0x00, 0x67, 0x00, 0x03, 0x01, 0x80, 0x00, 0x4E, + 0x00, 0x03, 0x00, 0x80, 0x00, 0x6E, 0x00, 0x03, 0x00, 0x80, 0x00, 0xC5, + 0x00, 0x03, 0x01, 0x80, 0x00, 0xE5, 0x00, 0x03, 0x01, 0x80, 0x00, 0xC6, + 0x00, 0x03, 0x01, 0x80, 0x00, 0xE6, 0x00, 0x03, 0x01, 0x80, 0x00, 0xD8, + 0x00, 0x03, 0x01, 0x80, 0x00, 0xF8, 0x00, 0x03, 0x01, 0x80, 0x00, 0x41, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x61, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x41, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x61, 0x00, 0x03, 0x11, 0x80, 0x00, 0x45, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x65, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x45, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x65, 0x00, 0x03, 0x11, 0x80, 0x00, 0x49, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x69, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x49, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x69, 0x00, 0x03, 0x11, 0x80, 0x00, 0x4F, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x4F, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x11, 0x80, 0x00, 0x52, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x72, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x52, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x72, 0x00, 0x03, 0x11, 0x80, 0x00, 0x55, + 0x00, 0x03, 0x0F, 0x80, 0x00, 0x75, 0x00, 0x03, 0x0F, 0x80, 0x00, 0x55, + 0x00, 0x03, 0x11, 0x80, 0x00, 0x75, 0x00, 0x03, 0x11, 0x80, 0x00, 0x53, + 0x00, 0x03, 0x26, 0x80, 0x00, 0x73, 0x00, 0x03, 0x26, 0x80, 0x00, 0x54, + 0x00, 0x03, 0x26, 0x80, 0x00, 0x74, 0x00, 0x03, 0x26, 0x80, 0x00, 0x48, + 0x00, 0x03, 0x0C, 0x80, 0x00, 0x68, 0x00, 0x03, 0x0C, 0x80, 0x00, 0x41, + 0x00, 0x03, 0x07, 0x80, 0x00, 0x61, 0x00, 0x03, 0x07, 0x80, 0x00, 0x45, + 0x00, 0x03, 0x27, 0x80, 0x00, 0x65, 0x00, 0x03, 0x27, 0x80, 0x00, 0xD6, + 0x00, 0x03, 0x04, 0x80, 0x00, 0xF6, 0x00, 0x03, 0x04, 0x80, 0x00, 0xD5, + 0x00, 0x03, 0x04, 0x80, 0x00, 0xF5, 0x00, 0x03, 0x04, 0x80, 0x00, 0x4F, + 0x00, 0x03, 0x07, 0x80, 0x00, 0x6F, 0x00, 0x03, 0x07, 0x80, 0x02, 0x2E, + 0x00, 0x03, 0x04, 0x80, 0x02, 0x2F, 0x00, 0x03, 0x04, 0x80, 0x00, 0x59, + 0x00, 0x03, 0x04, 0x80, 0x00, 0x79, 0x00, 0x03, 0x04, 0x20, 0x00, 0x68, + 0x20, 0x02, 0x66, 0x20, 0x00, 0x6A, 0x20, 0x00, 0x72, 0x20, 0x02, 0x79, + 0x20, 0x02, 0x7B, 0x20, 0x02, 0x81, 0x20, 0x00, 0x77, 0x20, 0x00, 0x79, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x06, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x07, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x0A, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x28, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x03, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x0B, + 0x20, 0x02, 0x63, 0x20, 0x00, 0x6C, 0x20, 0x00, 0x73, 0x20, 0x00, 0x78, + 0x20, 0x02, 0x95, 0x00, 0x03, 0x00, 0x00, 0x03, 0x01, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x08, 0x00, 0x03, 0x01, 0x00, 0x02, 0xB9, 0xC0, 0x00, 0x20, + 0x00, 0x03, 0x45, 0x00, 0x00, 0x3B, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xA8, 0x00, 0x03, 0x01, 0x80, 0x03, 0x91, 0x00, 0x03, 0x01, + 0x00, 0x00, 0xB7, 0x80, 0x03, 0x95, 0x00, 0x03, 0x01, 0x80, 0x03, 0x97, + 0x00, 0x03, 0x01, 0x80, 0x03, 0x99, 0x00, 0x03, 0x01, 0x80, 0x03, 0x9F, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xA5, 0x00, 0x03, 0x01, 0x80, 0x03, 0xA9, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xCA, 0x00, 0x03, 0x01, 0x80, 0x03, 0x99, + 0x00, 0x03, 0x08, 0x80, 0x03, 0xA5, 0x00, 0x03, 0x08, 0x80, 0x03, 0xB1, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xB5, 0x00, 0x03, 0x01, 0x80, 0x03, 0xB7, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xB9, 0x00, 0x03, 0x01, 0x80, 0x03, 0xCB, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xB9, 0x00, 0x03, 0x08, 0x80, 0x03, 0xC5, + 0x00, 0x03, 0x08, 0x80, 0x03, 0xBF, 0x00, 0x03, 0x01, 0x80, 0x03, 0xC5, + 0x00, 0x03, 0x01, 0x80, 0x03, 0xC9, 0x00, 0x03, 0x01, 0x40, 0x03, 0xB2, + 0x40, 0x03, 0xB8, 0x40, 0x03, 0xA5, 0x80, 0x03, 0xD2, 0x00, 0x03, 0x01, + 0x80, 0x03, 0xD2, 0x00, 0x03, 0x08, 0x40, 0x03, 0xC6, 0x40, 0x03, 0xC0, + 0x40, 0x03, 0xBA, 0x40, 0x03, 0xC1, 0x40, 0x03, 0xC2, 0x40, 0x03, 0x98, + 0x40, 0x03, 0xB5, 0x40, 0x03, 0xA3, 0x80, 0x04, 0x15, 0x00, 0x03, 0x00, + 0x80, 0x04, 0x15, 0x00, 0x03, 0x08, 0x80, 0x04, 0x13, 0x00, 0x03, 0x01, + 0x80, 0x04, 0x06, 0x00, 0x03, 0x08, 0x80, 0x04, 0x1A, 0x00, 0x03, 0x01, + 0x80, 0x04, 0x18, 0x00, 0x03, 0x00, 0x80, 0x04, 0x23, 0x00, 0x03, 0x06, + 0x80, 0x04, 0x18, 0x00, 0x03, 0x06, 0x80, 0x04, 0x38, 0x00, 0x03, 0x06, + 0x80, 0x04, 0x35, 0x00, 0x03, 0x00, 0x80, 0x04, 0x35, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x33, 0x00, 0x03, 0x01, 0x80, 0x04, 0x56, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x3A, 0x00, 0x03, 0x01, 0x80, 0x04, 0x38, 0x00, 0x03, 0x00, + 0x80, 0x04, 0x43, 0x00, 0x03, 0x06, 0x80, 0x04, 0x74, 0x00, 0x03, 0x0F, + 0x80, 0x04, 0x75, 0x00, 0x03, 0x0F, 0x80, 0x04, 0x16, 0x00, 0x03, 0x06, + 0x80, 0x04, 0x36, 0x00, 0x03, 0x06, 0x80, 0x04, 0x10, 0x00, 0x03, 0x06, + 0x80, 0x04, 0x30, 0x00, 0x03, 0x06, 0x80, 0x04, 0x10, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x30, 0x00, 0x03, 0x08, 0x80, 0x04, 0x15, 0x00, 0x03, 0x06, + 0x80, 0x04, 0x35, 0x00, 0x03, 0x06, 0x80, 0x04, 0xD8, 0x00, 0x03, 0x08, + 0x80, 0x04, 0xD9, 0x00, 0x03, 0x08, 0x80, 0x04, 0x16, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x36, 0x00, 0x03, 0x08, 0x80, 0x04, 0x17, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x37, 0x00, 0x03, 0x08, 0x80, 0x04, 0x18, 0x00, 0x03, 0x04, + 0x80, 0x04, 0x38, 0x00, 0x03, 0x04, 0x80, 0x04, 0x18, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x38, 0x00, 0x03, 0x08, 0x80, 0x04, 0x1E, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x3E, 0x00, 0x03, 0x08, 0x80, 0x04, 0xE8, 0x00, 0x03, 0x08, + 0x80, 0x04, 0xE9, 0x00, 0x03, 0x08, 0x80, 0x04, 0x2D, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x4D, 0x00, 0x03, 0x08, 0x80, 0x04, 0x23, 0x00, 0x03, 0x04, + 0x80, 0x04, 0x43, 0x00, 0x03, 0x04, 0x80, 0x04, 0x23, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x43, 0x00, 0x03, 0x08, 0x80, 0x04, 0x23, 0x00, 0x03, 0x0B, + 0x80, 0x04, 0x43, 0x00, 0x03, 0x0B, 0x80, 0x04, 0x27, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x47, 0x00, 0x03, 0x08, 0x80, 0x04, 0x2B, 0x00, 0x03, 0x08, + 0x80, 0x04, 0x4B, 0x00, 0x03, 0x08, 0xC0, 0x05, 0x65, 0x00, 0x05, 0x82, + 0x80, 0x06, 0x27, 0x00, 0x06, 0x53, 0x80, 0x06, 0x27, 0x00, 0x06, 0x54, + 0x80, 0x06, 0x48, 0x00, 0x06, 0x54, 0x80, 0x06, 0x27, 0x00, 0x06, 0x55, + 0x80, 0x06, 0x4A, 0x00, 0x06, 0x54, 0xC0, 0x06, 0x27, 0x00, 0x06, 0x74, + 0xC0, 0x06, 0x48, 0x00, 0x06, 0x74, 0xC0, 0x06, 0xC7, 0x00, 0x06, 0x74, + 0xC0, 0x06, 0x4A, 0x00, 0x06, 0x74, 0x80, 0x06, 0xD5, 0x00, 0x06, 0x54, + 0x80, 0x06, 0xC1, 0x00, 0x06, 0x54, 0x80, 0x06, 0xD2, 0x00, 0x06, 0x54, + 0x80, 0x09, 0x28, 0x00, 0x09, 0x3C, 0x80, 0x09, 0x30, 0x00, 0x09, 0x3C, + 0x80, 0x09, 0x33, 0x00, 0x09, 0x3C, 0x80, 0x09, 0x15, 0x00, 0x09, 0x3C, + 0x80, 0x09, 0x16, 0x00, 0x09, 0x3C, 0x80, 0x09, 0x17, 0x00, 0x09, 0x3C, + 0x80, 0x09, 0x1C, 0x00, 0x09, 0x3C, 0x80, 0x09, 0x21, 0x00, 0x09, 0x3C, + 0x80, 0x09, 0x22, 0x00, 0x09, 0x3C, 0x80, 0x09, 0x2B, 0x00, 0x09, 0x3C, + 0x80, 0x09, 0x2F, 0x00, 0x09, 0x3C, 0x80, 0x09, 0xC7, 0x00, 0x09, 0xBE, + 0x80, 0x09, 0xC7, 0x00, 0x09, 0xD7, 0x80, 0x09, 0xA1, 0x00, 0x09, 0xBC, + 0x80, 0x09, 0xA2, 0x00, 0x09, 0xBC, 0x80, 0x09, 0xAF, 0x00, 0x09, 0xBC, + 0x80, 0x0A, 0x32, 0x00, 0x0A, 0x3C, 0x80, 0x0A, 0x38, 0x00, 0x0A, 0x3C, + 0x80, 0x0A, 0x16, 0x00, 0x0A, 0x3C, 0x80, 0x0A, 0x17, 0x00, 0x0A, 0x3C, + 0x80, 0x0A, 0x1C, 0x00, 0x0A, 0x3C, 0x80, 0x0A, 0x2B, 0x00, 0x0A, 0x3C, + 0x80, 0x0B, 0x47, 0x00, 0x0B, 0x56, 0x80, 0x0B, 0x47, 0x00, 0x0B, 0x3E, + 0x80, 0x0B, 0x47, 0x00, 0x0B, 0x57, 0x80, 0x0B, 0x21, 0x00, 0x0B, 0x3C, + 0x80, 0x0B, 0x22, 0x00, 0x0B, 0x3C, 0x80, 0x0B, 0x92, 0x00, 0x0B, 0xD7, + 0x80, 0x0B, 0xC6, 0x00, 0x0B, 0xBE, 0x80, 0x0B, 0xC7, 0x00, 0x0B, 0xBE, + 0x80, 0x0B, 0xC6, 0x00, 0x0B, 0xD7, 0x80, 0x0C, 0x46, 0x00, 0x0C, 0x56, + 0x80, 0x0C, 0xBF, 0x00, 0x0C, 0xD5, 0x80, 0x0C, 0xC6, 0x00, 0x0C, 0xD5, + 0x80, 0x0C, 0xC6, 0x00, 0x0C, 0xD6, 0x80, 0x0C, 0xC6, 0x00, 0x0C, 0xC2, + 0x80, 0x0C, 0xCA, 0x00, 0x0C, 0xD5, 0x80, 0x0D, 0x46, 0x00, 0x0D, 0x3E, + 0x80, 0x0D, 0x47, 0x00, 0x0D, 0x3E, 0x80, 0x0D, 0x46, 0x00, 0x0D, 0x57, + 0x80, 0x0D, 0xD9, 0x00, 0x0D, 0xCA, 0x80, 0x0D, 0xD9, 0x00, 0x0D, 0xCF, + 0x80, 0x0D, 0xDC, 0x00, 0x0D, 0xCA, 0x80, 0x0D, 0xD9, 0x00, 0x0D, 0xDF, + 0xC0, 0x0E, 0x4D, 0x00, 0x0E, 0x32, 0xC0, 0x0E, 0xCD, 0x00, 0x0E, 0xB2, + 0xC0, 0x0E, 0xAB, 0x00, 0x0E, 0x99, 0xC0, 0x0E, 0xAB, 0x00, 0x0E, 0xA1, + 0x08, 0x0F, 0x0B, 0x80, 0x0F, 0x42, 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x4C, + 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x51, 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x56, + 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x5B, 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x40, + 0x00, 0x0F, 0xB5, 0x80, 0x0F, 0x71, 0x00, 0x0F, 0x72, 0x80, 0x0F, 0x71, + 0x00, 0x0F, 0x74, 0x80, 0x0F, 0xB2, 0x00, 0x0F, 0x80, 0xC0, 0x0F, 0xB2, + 0x00, 0x0F, 0x81, 0x80, 0x0F, 0xB3, 0x00, 0x0F, 0x80, 0xC0, 0x0F, 0xB3, + 0x00, 0x0F, 0x81, 0x80, 0x0F, 0x71, 0x00, 0x0F, 0x80, 0x80, 0x0F, 0x92, + 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x9C, 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0xA1, + 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0xA6, 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0xAB, + 0x00, 0x0F, 0xB7, 0x80, 0x0F, 0x90, 0x00, 0x0F, 0xB5, 0x80, 0x10, 0x25, + 0x00, 0x10, 0x2E, 0x20, 0x10, 0xDC, 0x80, 0x1B, 0x05, 0x00, 0x1B, 0x35, + 0x80, 0x1B, 0x07, 0x00, 0x1B, 0x35, 0x80, 0x1B, 0x09, 0x00, 0x1B, 0x35, + 0x80, 0x1B, 0x0B, 0x00, 0x1B, 0x35, 0x80, 0x1B, 0x0D, 0x00, 0x1B, 0x35, + 0x80, 0x1B, 0x11, 0x00, 0x1B, 0x35, 0x80, 0x1B, 0x3A, 0x00, 0x1B, 0x35, + 0x80, 0x1B, 0x3C, 0x00, 0x1B, 0x35, 0x80, 0x1B, 0x3E, 0x00, 0x1B, 0x35, + 0x80, 0x1B, 0x3F, 0x00, 0x1B, 0x35, 0x80, 0x1B, 0x42, 0x00, 0x1B, 0x35, + 0x20, 0x00, 0x41, 0x20, 0x00, 0xC6, 0x20, 0x00, 0x42, 0x20, 0x00, 0x44, + 0x20, 0x00, 0x45, 0x20, 0x01, 0x8E, 0x20, 0x00, 0x47, 0x20, 0x00, 0x48, + 0x20, 0x00, 0x49, 0x20, 0x00, 0x4A, 0x20, 0x00, 0x4B, 0x20, 0x00, 0x4C, + 0x20, 0x00, 0x4D, 0x20, 0x00, 0x4E, 0x20, 0x00, 0x4F, 0x20, 0x02, 0x22, + 0x20, 0x00, 0x50, 0x20, 0x00, 0x52, 0x20, 0x00, 0x54, 0x20, 0x00, 0x55, + 0x20, 0x00, 0x57, 0x20, 0x00, 0x61, 0x20, 0x02, 0x50, 0x20, 0x02, 0x51, + 0x20, 0x1D, 0x02, 0x20, 0x00, 0x62, 0x20, 0x00, 0x64, 0x20, 0x00, 0x65, + 0x20, 0x02, 0x59, 0x20, 0x02, 0x5B, 0x20, 0x02, 0x5C, 0x20, 0x00, 0x67, + 0x20, 0x00, 0x6B, 0x20, 0x00, 0x6D, 0x20, 0x01, 0x4B, 0x20, 0x00, 0x6F, + 0x20, 0x02, 0x54, 0x20, 0x1D, 0x16, 0x20, 0x1D, 0x17, 0x20, 0x00, 0x70, + 0x20, 0x00, 0x74, 0x20, 0x00, 0x75, 0x20, 0x1D, 0x1D, 0x20, 0x02, 0x6F, + 0x20, 0x00, 0x76, 0x20, 0x1D, 0x25, 0x20, 0x03, 0xB2, 0x20, 0x03, 0xB3, + 0x20, 0x03, 0xB4, 0x20, 0x03, 0xC6, 0x20, 0x03, 0xC7, 0x24, 0x00, 0x69, + 0x24, 0x00, 0x72, 0x24, 0x00, 0x75, 0x24, 0x00, 0x76, 0x24, 0x03, 0xB2, + 0x24, 0x03, 0xB3, 0x24, 0x03, 0xC1, 0x24, 0x03, 0xC6, 0x24, 0x03, 0xC7, + 0x20, 0x04, 0x3D, 0x20, 0x02, 0x52, 0x20, 0x00, 0x63, 0x20, 0x02, 0x55, + 0x20, 0x00, 0xF0, 0x20, 0x02, 0x5C, 0x20, 0x00, 0x66, 0x20, 0x02, 0x5F, + 0x20, 0x02, 0x61, 0x20, 0x02, 0x65, 0x20, 0x02, 0x68, 0x20, 0x02, 0x69, + 0x20, 0x02, 0x6A, 0x20, 0x1D, 0x7B, 0x20, 0x02, 0x9D, 0x20, 0x02, 0x6D, + 0x20, 0x1D, 0x85, 0x20, 0x02, 0x9F, 0x20, 0x02, 0x71, 0x20, 0x02, 0x70, + 0x20, 0x02, 0x72, 0x20, 0x02, 0x73, 0x20, 0x02, 0x74, 0x20, 0x02, 0x75, + 0x20, 0x02, 0x78, 0x20, 0x02, 0x82, 0x20, 0x02, 0x83, 0x20, 0x01, 0xAB, + 0x20, 0x02, 0x89, 0x20, 0x02, 0x8A, 0x20, 0x1D, 0x1C, 0x20, 0x02, 0x8B, + 0x20, 0x02, 0x8C, 0x20, 0x00, 0x7A, 0x20, 0x02, 0x90, 0x20, 0x02, 0x91, + 0x20, 0x02, 0x92, 0x20, 0x03, 0xB8, 0x80, 0x00, 0x41, 0x00, 0x03, 0x25, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x25, 0x80, 0x00, 0x42, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x62, 0x00, 0x03, 0x07, 0x80, 0x00, 0x42, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x62, 0x00, 0x03, 0x23, 0x80, 0x00, 0x42, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x62, 0x00, 0x03, 0x31, 0x80, 0x00, 0xC7, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xE7, 0x00, 0x03, 0x01, 0x80, 0x00, 0x44, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x07, 0x80, 0x00, 0x44, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x23, 0x80, 0x00, 0x44, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x31, 0x80, 0x00, 0x44, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x27, 0x80, 0x00, 0x44, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x64, 0x00, 0x03, 0x2D, 0x80, 0x01, 0x12, 0x00, 0x03, 0x00, + 0x80, 0x01, 0x13, 0x00, 0x03, 0x00, 0x80, 0x01, 0x12, 0x00, 0x03, 0x01, + 0x80, 0x01, 0x13, 0x00, 0x03, 0x01, 0x80, 0x00, 0x45, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x2D, 0x80, 0x00, 0x45, 0x00, 0x03, 0x30, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x30, 0x80, 0x02, 0x28, 0x00, 0x03, 0x06, + 0x80, 0x02, 0x29, 0x00, 0x03, 0x06, 0x80, 0x00, 0x46, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x66, 0x00, 0x03, 0x07, 0x80, 0x00, 0x47, 0x00, 0x03, 0x04, + 0x80, 0x00, 0x67, 0x00, 0x03, 0x04, 0x80, 0x00, 0x48, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x07, 0x80, 0x00, 0x48, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x23, 0x80, 0x00, 0x48, 0x00, 0x03, 0x08, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x08, 0x80, 0x00, 0x48, 0x00, 0x03, 0x27, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x27, 0x80, 0x00, 0x48, 0x00, 0x03, 0x2E, + 0x80, 0x00, 0x68, 0x00, 0x03, 0x2E, 0x80, 0x00, 0x49, 0x00, 0x03, 0x30, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x30, 0x80, 0x00, 0xCF, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xEF, 0x00, 0x03, 0x01, 0x80, 0x00, 0x4B, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x6B, 0x00, 0x03, 0x01, 0x80, 0x00, 0x4B, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x6B, 0x00, 0x03, 0x23, 0x80, 0x00, 0x4B, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x6B, 0x00, 0x03, 0x31, 0x80, 0x00, 0x4C, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x6C, 0x00, 0x03, 0x23, 0x80, 0x1E, 0x36, 0x00, 0x03, 0x04, + 0x80, 0x1E, 0x37, 0x00, 0x03, 0x04, 0x80, 0x00, 0x4C, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x6C, 0x00, 0x03, 0x31, 0x80, 0x00, 0x4C, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x6C, 0x00, 0x03, 0x2D, 0x80, 0x00, 0x4D, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x6D, 0x00, 0x03, 0x01, 0x80, 0x00, 0x4D, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x6D, 0x00, 0x03, 0x07, 0x80, 0x00, 0x4D, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x6D, 0x00, 0x03, 0x23, 0x80, 0x00, 0x4E, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x6E, 0x00, 0x03, 0x07, 0x80, 0x00, 0x4E, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x6E, 0x00, 0x03, 0x23, 0x80, 0x00, 0x4E, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x6E, 0x00, 0x03, 0x31, 0x80, 0x00, 0x4E, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x6E, 0x00, 0x03, 0x2D, 0x80, 0x00, 0xD5, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xF5, 0x00, 0x03, 0x01, 0x80, 0x00, 0xD5, 0x00, 0x03, 0x08, + 0x80, 0x00, 0xF5, 0x00, 0x03, 0x08, 0x80, 0x01, 0x4C, 0x00, 0x03, 0x00, + 0x80, 0x01, 0x4D, 0x00, 0x03, 0x00, 0x80, 0x01, 0x4C, 0x00, 0x03, 0x01, + 0x80, 0x01, 0x4D, 0x00, 0x03, 0x01, 0x80, 0x00, 0x50, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x70, 0x00, 0x03, 0x01, 0x80, 0x00, 0x50, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x70, 0x00, 0x03, 0x07, 0x80, 0x00, 0x52, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x07, 0x80, 0x00, 0x52, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x23, 0x80, 0x1E, 0x5A, 0x00, 0x03, 0x04, + 0x80, 0x1E, 0x5B, 0x00, 0x03, 0x04, 0x80, 0x00, 0x52, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x72, 0x00, 0x03, 0x31, 0x80, 0x00, 0x53, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x07, 0x80, 0x00, 0x53, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x73, 0x00, 0x03, 0x23, 0x80, 0x01, 0x5A, 0x00, 0x03, 0x07, + 0x80, 0x01, 0x5B, 0x00, 0x03, 0x07, 0x80, 0x01, 0x60, 0x00, 0x03, 0x07, + 0x80, 0x01, 0x61, 0x00, 0x03, 0x07, 0x80, 0x1E, 0x62, 0x00, 0x03, 0x07, + 0x80, 0x1E, 0x63, 0x00, 0x03, 0x07, 0x80, 0x00, 0x54, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x07, 0x80, 0x00, 0x54, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x23, 0x80, 0x00, 0x54, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x31, 0x80, 0x00, 0x54, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x2D, 0x80, 0x00, 0x55, 0x00, 0x03, 0x24, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x24, 0x80, 0x00, 0x55, 0x00, 0x03, 0x30, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x30, 0x80, 0x00, 0x55, 0x00, 0x03, 0x2D, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x2D, 0x80, 0x01, 0x68, 0x00, 0x03, 0x01, + 0x80, 0x01, 0x69, 0x00, 0x03, 0x01, 0x80, 0x01, 0x6A, 0x00, 0x03, 0x08, + 0x80, 0x01, 0x6B, 0x00, 0x03, 0x08, 0x80, 0x00, 0x56, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x76, 0x00, 0x03, 0x03, 0x80, 0x00, 0x56, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x76, 0x00, 0x03, 0x23, 0x80, 0x00, 0x57, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x00, 0x80, 0x00, 0x57, 0x00, 0x03, 0x01, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x01, 0x80, 0x00, 0x57, 0x00, 0x03, 0x08, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x08, 0x80, 0x00, 0x57, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x07, 0x80, 0x00, 0x57, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x77, 0x00, 0x03, 0x23, 0x80, 0x00, 0x58, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x78, 0x00, 0x03, 0x07, 0x80, 0x00, 0x58, 0x00, 0x03, 0x08, + 0x80, 0x00, 0x78, 0x00, 0x03, 0x08, 0x80, 0x00, 0x59, 0x00, 0x03, 0x07, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x07, 0x80, 0x00, 0x5A, 0x00, 0x03, 0x02, + 0x80, 0x00, 0x7A, 0x00, 0x03, 0x02, 0x80, 0x00, 0x5A, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x7A, 0x00, 0x03, 0x23, 0x80, 0x00, 0x5A, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x7A, 0x00, 0x03, 0x31, 0x80, 0x00, 0x68, 0x00, 0x03, 0x31, + 0x80, 0x00, 0x74, 0x00, 0x03, 0x08, 0x80, 0x00, 0x77, 0x00, 0x03, 0x0A, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x0A, 0xC0, 0x00, 0x61, 0x00, 0x02, 0xBE, + 0x80, 0x01, 0x7F, 0x00, 0x03, 0x07, 0x80, 0x00, 0x41, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x23, 0x80, 0x00, 0x41, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x61, 0x00, 0x03, 0x09, 0x80, 0x00, 0xC2, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xE2, 0x00, 0x03, 0x01, 0x80, 0x00, 0xC2, 0x00, 0x03, 0x00, + 0x80, 0x00, 0xE2, 0x00, 0x03, 0x00, 0x80, 0x00, 0xC2, 0x00, 0x03, 0x09, + 0x80, 0x00, 0xE2, 0x00, 0x03, 0x09, 0x80, 0x00, 0xC2, 0x00, 0x03, 0x03, + 0x80, 0x00, 0xE2, 0x00, 0x03, 0x03, 0x80, 0x1E, 0xA0, 0x00, 0x03, 0x02, + 0x80, 0x1E, 0xA1, 0x00, 0x03, 0x02, 0x80, 0x01, 0x02, 0x00, 0x03, 0x01, + 0x80, 0x01, 0x03, 0x00, 0x03, 0x01, 0x80, 0x01, 0x02, 0x00, 0x03, 0x00, + 0x80, 0x01, 0x03, 0x00, 0x03, 0x00, 0x80, 0x01, 0x02, 0x00, 0x03, 0x09, + 0x80, 0x01, 0x03, 0x00, 0x03, 0x09, 0x80, 0x01, 0x02, 0x00, 0x03, 0x03, + 0x80, 0x01, 0x03, 0x00, 0x03, 0x03, 0x80, 0x1E, 0xA0, 0x00, 0x03, 0x06, + 0x80, 0x1E, 0xA1, 0x00, 0x03, 0x06, 0x80, 0x00, 0x45, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x23, 0x80, 0x00, 0x45, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x09, 0x80, 0x00, 0x45, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x65, 0x00, 0x03, 0x03, 0x80, 0x00, 0xCA, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xEA, 0x00, 0x03, 0x01, 0x80, 0x00, 0xCA, 0x00, 0x03, 0x00, + 0x80, 0x00, 0xEA, 0x00, 0x03, 0x00, 0x80, 0x00, 0xCA, 0x00, 0x03, 0x09, + 0x80, 0x00, 0xEA, 0x00, 0x03, 0x09, 0x80, 0x00, 0xCA, 0x00, 0x03, 0x03, + 0x80, 0x00, 0xEA, 0x00, 0x03, 0x03, 0x80, 0x1E, 0xB8, 0x00, 0x03, 0x02, + 0x80, 0x1E, 0xB9, 0x00, 0x03, 0x02, 0x80, 0x00, 0x49, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x09, 0x80, 0x00, 0x49, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x69, 0x00, 0x03, 0x23, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x23, 0x80, 0x00, 0x4F, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x6F, 0x00, 0x03, 0x09, 0x80, 0x00, 0xD4, 0x00, 0x03, 0x01, + 0x80, 0x00, 0xF4, 0x00, 0x03, 0x01, 0x80, 0x00, 0xD4, 0x00, 0x03, 0x00, + 0x80, 0x00, 0xF4, 0x00, 0x03, 0x00, 0x80, 0x00, 0xD4, 0x00, 0x03, 0x09, + 0x80, 0x00, 0xF4, 0x00, 0x03, 0x09, 0x80, 0x00, 0xD4, 0x00, 0x03, 0x03, + 0x80, 0x00, 0xF4, 0x00, 0x03, 0x03, 0x80, 0x1E, 0xCC, 0x00, 0x03, 0x02, + 0x80, 0x1E, 0xCD, 0x00, 0x03, 0x02, 0x80, 0x01, 0xA0, 0x00, 0x03, 0x01, + 0x80, 0x01, 0xA1, 0x00, 0x03, 0x01, 0x80, 0x01, 0xA0, 0x00, 0x03, 0x00, + 0x80, 0x01, 0xA1, 0x00, 0x03, 0x00, 0x80, 0x01, 0xA0, 0x00, 0x03, 0x09, + 0x80, 0x01, 0xA1, 0x00, 0x03, 0x09, 0x80, 0x01, 0xA0, 0x00, 0x03, 0x03, + 0x80, 0x01, 0xA1, 0x00, 0x03, 0x03, 0x80, 0x01, 0xA0, 0x00, 0x03, 0x23, + 0x80, 0x01, 0xA1, 0x00, 0x03, 0x23, 0x80, 0x00, 0x55, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x23, 0x80, 0x00, 0x55, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x75, 0x00, 0x03, 0x09, 0x80, 0x01, 0xAF, 0x00, 0x03, 0x01, + 0x80, 0x01, 0xB0, 0x00, 0x03, 0x01, 0x80, 0x01, 0xAF, 0x00, 0x03, 0x00, + 0x80, 0x01, 0xB0, 0x00, 0x03, 0x00, 0x80, 0x01, 0xAF, 0x00, 0x03, 0x09, + 0x80, 0x01, 0xB0, 0x00, 0x03, 0x09, 0x80, 0x01, 0xAF, 0x00, 0x03, 0x03, + 0x80, 0x01, 0xB0, 0x00, 0x03, 0x03, 0x80, 0x01, 0xAF, 0x00, 0x03, 0x23, + 0x80, 0x01, 0xB0, 0x00, 0x03, 0x23, 0x80, 0x00, 0x59, 0x00, 0x03, 0x00, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x00, 0x80, 0x00, 0x59, 0x00, 0x03, 0x23, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x23, 0x80, 0x00, 0x59, 0x00, 0x03, 0x09, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x09, 0x80, 0x00, 0x59, 0x00, 0x03, 0x03, + 0x80, 0x00, 0x79, 0x00, 0x03, 0x03, 0x80, 0x03, 0xB1, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xB1, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x00, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x01, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x01, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x00, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x01, 0x00, 0x03, 0x42, 0x80, 0x03, 0x91, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x91, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x08, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x09, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x08, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x09, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x08, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x09, 0x00, 0x03, 0x42, 0x80, 0x03, 0xB5, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xB5, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x10, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x11, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x10, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x11, 0x00, 0x03, 0x01, 0x80, 0x03, 0x95, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x95, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x18, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x19, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x18, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x19, 0x00, 0x03, 0x01, 0x80, 0x03, 0xB7, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xB7, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x20, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x21, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x20, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x21, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x20, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x21, 0x00, 0x03, 0x42, 0x80, 0x03, 0x97, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x97, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x28, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x29, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x28, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x29, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x28, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x29, 0x00, 0x03, 0x42, 0x80, 0x03, 0xB9, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xB9, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x30, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x31, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x30, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x31, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x30, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x31, 0x00, 0x03, 0x42, 0x80, 0x03, 0x99, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x99, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x38, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x39, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x38, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x39, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x38, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x39, 0x00, 0x03, 0x42, 0x80, 0x03, 0xBF, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xBF, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x40, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x41, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x40, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x41, 0x00, 0x03, 0x01, 0x80, 0x03, 0x9F, 0x00, 0x03, 0x13, + 0x80, 0x03, 0x9F, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x48, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x49, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x48, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x49, 0x00, 0x03, 0x01, 0x80, 0x03, 0xC5, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xC5, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x50, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x51, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x50, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x51, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x50, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x51, 0x00, 0x03, 0x42, 0x80, 0x03, 0xA5, 0x00, 0x03, 0x14, + 0x80, 0x1F, 0x59, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x59, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x59, 0x00, 0x03, 0x42, 0x80, 0x03, 0xC9, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xC9, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x60, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x61, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x60, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x61, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x60, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x61, 0x00, 0x03, 0x42, 0x80, 0x03, 0xA9, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xA9, 0x00, 0x03, 0x14, 0x80, 0x1F, 0x68, 0x00, 0x03, 0x00, + 0x80, 0x1F, 0x69, 0x00, 0x03, 0x00, 0x80, 0x1F, 0x68, 0x00, 0x03, 0x01, + 0x80, 0x1F, 0x69, 0x00, 0x03, 0x01, 0x80, 0x1F, 0x68, 0x00, 0x03, 0x42, + 0x80, 0x1F, 0x69, 0x00, 0x03, 0x42, 0x80, 0x03, 0xB1, 0x00, 0x03, 0x00, + 0x00, 0x03, 0xAC, 0x80, 0x03, 0xB5, 0x00, 0x03, 0x00, 0x00, 0x03, 0xAD, + 0x80, 0x03, 0xB7, 0x00, 0x03, 0x00, 0x00, 0x03, 0xAE, 0x80, 0x03, 0xB9, + 0x00, 0x03, 0x00, 0x00, 0x03, 0xAF, 0x80, 0x03, 0xBF, 0x00, 0x03, 0x00, + 0x00, 0x03, 0xCC, 0x80, 0x03, 0xC5, 0x00, 0x03, 0x00, 0x00, 0x03, 0xCD, + 0x80, 0x03, 0xC9, 0x00, 0x03, 0x00, 0x00, 0x03, 0xCE, 0x80, 0x1F, 0x00, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x01, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x02, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x03, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x04, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x05, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x06, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x07, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x08, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x09, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0A, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0B, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0C, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0D, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0E, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x0F, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x20, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x21, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x22, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x23, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x24, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x25, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x26, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x27, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x28, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x29, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2A, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2B, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2C, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2D, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2E, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x2F, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x60, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x61, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x62, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x63, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x64, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x65, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x66, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x67, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x68, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x69, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6A, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6B, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6C, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6D, 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6E, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0x6F, 0x00, 0x03, 0x45, 0x80, 0x03, 0xB1, + 0x00, 0x03, 0x06, 0x80, 0x03, 0xB1, 0x00, 0x03, 0x04, 0x80, 0x1F, 0x70, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xB1, 0x00, 0x03, 0x45, 0x80, 0x03, 0xAC, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xB1, 0x00, 0x03, 0x42, 0x80, 0x1F, 0xB6, + 0x00, 0x03, 0x45, 0x80, 0x03, 0x91, 0x00, 0x03, 0x06, 0x80, 0x03, 0x91, + 0x00, 0x03, 0x04, 0x80, 0x03, 0x91, 0x00, 0x03, 0x00, 0x00, 0x03, 0x86, + 0x80, 0x03, 0x91, 0x00, 0x03, 0x45, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x13, + 0x00, 0x03, 0xB9, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x13, 0xC0, 0x00, 0x20, + 0x00, 0x03, 0x42, 0x80, 0x00, 0xA8, 0x00, 0x03, 0x42, 0x80, 0x1F, 0x74, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xB7, 0x00, 0x03, 0x45, 0x80, 0x03, 0xAE, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xB7, 0x00, 0x03, 0x42, 0x80, 0x1F, 0xC6, + 0x00, 0x03, 0x45, 0x80, 0x03, 0x95, 0x00, 0x03, 0x00, 0x00, 0x03, 0x88, + 0x80, 0x03, 0x97, 0x00, 0x03, 0x00, 0x00, 0x03, 0x89, 0x80, 0x03, 0x97, + 0x00, 0x03, 0x45, 0x80, 0x1F, 0xBF, 0x00, 0x03, 0x00, 0x80, 0x1F, 0xBF, + 0x00, 0x03, 0x01, 0x80, 0x1F, 0xBF, 0x00, 0x03, 0x42, 0x80, 0x03, 0xB9, + 0x00, 0x03, 0x06, 0x80, 0x03, 0xB9, 0x00, 0x03, 0x04, 0x80, 0x03, 0xCA, + 0x00, 0x03, 0x00, 0x00, 0x03, 0x90, 0x80, 0x03, 0xB9, 0x00, 0x03, 0x42, + 0x80, 0x03, 0xCA, 0x00, 0x03, 0x42, 0x80, 0x03, 0x99, 0x00, 0x03, 0x06, + 0x80, 0x03, 0x99, 0x00, 0x03, 0x04, 0x80, 0x03, 0x99, 0x00, 0x03, 0x00, + 0x00, 0x03, 0x8A, 0x80, 0x1F, 0xFE, 0x00, 0x03, 0x00, 0x80, 0x1F, 0xFE, + 0x00, 0x03, 0x01, 0x80, 0x1F, 0xFE, 0x00, 0x03, 0x42, 0x80, 0x03, 0xC5, + 0x00, 0x03, 0x06, 0x80, 0x03, 0xC5, 0x00, 0x03, 0x04, 0x80, 0x03, 0xCB, + 0x00, 0x03, 0x00, 0x00, 0x03, 0xB0, 0x80, 0x03, 0xC1, 0x00, 0x03, 0x13, + 0x80, 0x03, 0xC1, 0x00, 0x03, 0x14, 0x80, 0x03, 0xC5, 0x00, 0x03, 0x42, + 0x80, 0x03, 0xCB, 0x00, 0x03, 0x42, 0x80, 0x03, 0xA5, 0x00, 0x03, 0x06, + 0x80, 0x03, 0xA5, 0x00, 0x03, 0x04, 0x80, 0x03, 0xA5, 0x00, 0x03, 0x00, + 0x00, 0x03, 0x8E, 0x80, 0x03, 0xA1, 0x00, 0x03, 0x14, 0x80, 0x00, 0xA8, + 0x00, 0x03, 0x00, 0x00, 0x03, 0x85, 0x00, 0x00, 0x60, 0x80, 0x1F, 0x7C, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xC9, 0x00, 0x03, 0x45, 0x80, 0x03, 0xCE, + 0x00, 0x03, 0x45, 0x80, 0x03, 0xC9, 0x00, 0x03, 0x42, 0x80, 0x1F, 0xF6, + 0x00, 0x03, 0x45, 0x80, 0x03, 0x9F, 0x00, 0x03, 0x00, 0x00, 0x03, 0x8C, + 0x80, 0x03, 0xA9, 0x00, 0x03, 0x00, 0x00, 0x03, 0x8F, 0x80, 0x03, 0xA9, + 0x00, 0x03, 0x45, 0x00, 0x00, 0xB4, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x14, + 0x00, 0x20, 0x02, 0x00, 0x20, 0x03, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, + 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x08, 0x00, 0x20, + 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x08, 0x20, 0x10, + 0xC0, 0x00, 0x20, 0x00, 0x03, 0x33, 0x40, 0x00, 0x2E, 0xC0, 0x00, 0x2E, + 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x2E, 0x80, 0x00, 0x2E, 0x00, 0x00, 0x2E, + 0x08, 0x00, 0x20, 0xC0, 0x20, 0x32, 0x00, 0x20, 0x32, 0xC0, 0x20, 0x32, + 0x80, 0x20, 0x32, 0x00, 0x20, 0x32, 0xC0, 0x20, 0x35, 0x00, 0x20, 0x35, + 0xC0, 0x20, 0x35, 0x80, 0x20, 0x35, 0x00, 0x20, 0x35, 0xC0, 0x00, 0x21, + 0x00, 0x00, 0x21, 0xC0, 0x00, 0x20, 0x00, 0x03, 0x05, 0xC0, 0x00, 0x3F, + 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x21, 0xC0, 0x00, 0x21, + 0x00, 0x00, 0x3F, 0xC0, 0x20, 0x32, 0x80, 0x20, 0x32, 0x80, 0x20, 0x32, + 0x00, 0x20, 0x32, 0x40, 0x00, 0x20, 0x20, 0x00, 0x30, 0x20, 0x00, 0x69, + 0x20, 0x00, 0x34, 0x20, 0x00, 0x35, 0x20, 0x00, 0x36, 0x20, 0x00, 0x37, + 0x20, 0x00, 0x38, 0x20, 0x00, 0x39, 0x20, 0x00, 0x2B, 0x20, 0x22, 0x12, + 0x20, 0x00, 0x3D, 0x20, 0x00, 0x28, 0x20, 0x00, 0x29, 0x20, 0x00, 0x6E, + 0x24, 0x00, 0x30, 0x24, 0x00, 0x31, 0x24, 0x00, 0x32, 0x24, 0x00, 0x33, + 0x24, 0x00, 0x34, 0x24, 0x00, 0x35, 0x24, 0x00, 0x36, 0x24, 0x00, 0x37, + 0x24, 0x00, 0x38, 0x24, 0x00, 0x39, 0x24, 0x00, 0x2B, 0x24, 0x22, 0x12, + 0x24, 0x00, 0x3D, 0x24, 0x00, 0x28, 0x24, 0x00, 0x29, 0x24, 0x00, 0x61, + 0x24, 0x00, 0x65, 0x24, 0x00, 0x6F, 0x24, 0x00, 0x78, 0x24, 0x02, 0x59, + 0x24, 0x00, 0x68, 0x24, 0x00, 0x6B, 0x24, 0x00, 0x6C, 0x24, 0x00, 0x6D, + 0x24, 0x00, 0x6E, 0x24, 0x00, 0x70, 0x24, 0x00, 0x73, 0x24, 0x00, 0x74, + 0xC0, 0x00, 0x52, 0x00, 0x00, 0x73, 0xC0, 0x00, 0x61, 0x80, 0x00, 0x2F, + 0x00, 0x00, 0x63, 0xC0, 0x00, 0x61, 0x80, 0x00, 0x2F, 0x00, 0x00, 0x73, + 0x04, 0x00, 0x43, 0xC0, 0x00, 0xB0, 0x00, 0x00, 0x43, 0xC0, 0x00, 0x63, + 0x80, 0x00, 0x2F, 0x00, 0x00, 0x6F, 0xC0, 0x00, 0x63, 0x80, 0x00, 0x2F, + 0x00, 0x00, 0x75, 0x40, 0x01, 0x90, 0xC0, 0x00, 0xB0, 0x00, 0x00, 0x46, + 0x04, 0x00, 0x67, 0x04, 0x00, 0x48, 0x04, 0x00, 0x48, 0x04, 0x00, 0x48, + 0x04, 0x00, 0x68, 0x04, 0x01, 0x27, 0x04, 0x00, 0x49, 0x04, 0x00, 0x49, + 0x04, 0x00, 0x4C, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x4E, 0xC0, 0x00, 0x4E, + 0x00, 0x00, 0x6F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x52, 0x04, 0x00, 0x52, 0xA0, 0x00, 0x53, 0x00, 0x00, 0x4D, + 0xC0, 0x00, 0x54, 0x80, 0x00, 0x45, 0x00, 0x00, 0x4C, 0xA0, 0x00, 0x54, + 0x00, 0x00, 0x4D, 0x04, 0x00, 0x5A, 0x00, 0x03, 0xA9, 0x04, 0x00, 0x5A, + 0x00, 0x00, 0x4B, 0x00, 0x00, 0xC5, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x4D, + 0x04, 0x00, 0x6F, 0x40, 0x05, 0xD0, 0x40, 0x05, 0xD1, 0x40, 0x05, 0xD2, + 0x40, 0x05, 0xD3, 0x04, 0x00, 0x69, 0xC0, 0x00, 0x46, 0x80, 0x00, 0x41, + 0x00, 0x00, 0x58, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xB3, 0x04, 0x03, 0x93, + 0x04, 0x03, 0xA0, 0x04, 0x22, 0x11, 0x04, 0x00, 0x44, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0xBC, 0x00, 0x31, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x37, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, + 0x00, 0x00, 0x39, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x80, 0x00, 0x31, + 0x00, 0x00, 0x30, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x33, + 0xBC, 0x00, 0x32, 0x80, 0x20, 0x44, 0x00, 0x00, 0x33, 0xBC, 0x00, 0x31, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x32, 0x80, 0x20, 0x44, + 0x00, 0x00, 0x35, 0xBC, 0x00, 0x33, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35, + 0xBC, 0x00, 0x34, 0x80, 0x20, 0x44, 0x00, 0x00, 0x35, 0xBC, 0x00, 0x31, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x36, 0xBC, 0x00, 0x35, 0x80, 0x20, 0x44, + 0x00, 0x00, 0x36, 0xBC, 0x00, 0x31, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38, + 0xBC, 0x00, 0x33, 0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x35, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x38, 0xBC, 0x00, 0x37, 0x80, 0x20, 0x44, + 0x00, 0x00, 0x38, 0xBC, 0x00, 0x31, 0x00, 0x20, 0x44, 0x40, 0x00, 0x49, + 0xC0, 0x00, 0x49, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x80, 0x00, 0x49, + 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x00, 0x00, 0x56, 0x40, 0x00, 0x56, + 0xC0, 0x00, 0x56, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x56, 0x80, 0x00, 0x49, + 0x00, 0x00, 0x49, 0xC0, 0x00, 0x56, 0x80, 0x00, 0x49, 0x80, 0x00, 0x49, + 0x00, 0x00, 0x49, 0xC0, 0x00, 0x49, 0x00, 0x00, 0x58, 0x40, 0x00, 0x58, + 0xC0, 0x00, 0x58, 0x00, 0x00, 0x49, 0xC0, 0x00, 0x58, 0x80, 0x00, 0x49, + 0x00, 0x00, 0x49, 0x40, 0x00, 0x4C, 0x40, 0x00, 0x43, 0x40, 0x00, 0x44, + 0x40, 0x00, 0x4D, 0x40, 0x00, 0x69, 0xC0, 0x00, 0x69, 0x00, 0x00, 0x69, + 0xC0, 0x00, 0x69, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x69, + 0x00, 0x00, 0x76, 0x40, 0x00, 0x76, 0xC0, 0x00, 0x76, 0x00, 0x00, 0x69, + 0xC0, 0x00, 0x76, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x76, + 0x80, 0x00, 0x69, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x69, + 0x00, 0x00, 0x78, 0x40, 0x00, 0x78, 0xC0, 0x00, 0x78, 0x00, 0x00, 0x69, + 0xC0, 0x00, 0x78, 0x80, 0x00, 0x69, 0x00, 0x00, 0x69, 0x40, 0x00, 0x6C, + 0x40, 0x00, 0x63, 0x40, 0x00, 0x64, 0x40, 0x00, 0x6D, 0xBC, 0x00, 0x30, + 0x80, 0x20, 0x44, 0x00, 0x00, 0x33, 0x80, 0x21, 0x90, 0x00, 0x03, 0x38, + 0x80, 0x21, 0x92, 0x00, 0x03, 0x38, 0x80, 0x21, 0x94, 0x00, 0x03, 0x38, + 0x80, 0x21, 0xD0, 0x00, 0x03, 0x38, 0x80, 0x21, 0xD4, 0x00, 0x03, 0x38, + 0x80, 0x21, 0xD2, 0x00, 0x03, 0x38, 0x80, 0x22, 0x03, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x08, 0x00, 0x03, 0x38, 0x80, 0x22, 0x0B, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x23, 0x00, 0x03, 0x38, 0x80, 0x22, 0x25, 0x00, 0x03, 0x38, + 0xC0, 0x22, 0x2B, 0x00, 0x22, 0x2B, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B, + 0x00, 0x22, 0x2B, 0xC0, 0x22, 0x2E, 0x00, 0x22, 0x2E, 0xC0, 0x22, 0x2E, + 0x80, 0x22, 0x2E, 0x00, 0x22, 0x2E, 0x80, 0x22, 0x3C, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x43, 0x00, 0x03, 0x38, 0x80, 0x22, 0x45, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x48, 0x00, 0x03, 0x38, 0x80, 0x00, 0x3D, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x61, 0x00, 0x03, 0x38, 0x80, 0x22, 0x4D, 0x00, 0x03, 0x38, + 0x80, 0x00, 0x3C, 0x00, 0x03, 0x38, 0x80, 0x00, 0x3E, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x64, 0x00, 0x03, 0x38, 0x80, 0x22, 0x65, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x72, 0x00, 0x03, 0x38, 0x80, 0x22, 0x73, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x76, 0x00, 0x03, 0x38, 0x80, 0x22, 0x77, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x7A, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7B, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x82, 0x00, 0x03, 0x38, 0x80, 0x22, 0x83, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x86, 0x00, 0x03, 0x38, 0x80, 0x22, 0x87, 0x00, 0x03, 0x38, + 0x80, 0x22, 0xA2, 0x00, 0x03, 0x38, 0x80, 0x22, 0xA8, 0x00, 0x03, 0x38, + 0x80, 0x22, 0xA9, 0x00, 0x03, 0x38, 0x80, 0x22, 0xAB, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x7C, 0x00, 0x03, 0x38, 0x80, 0x22, 0x7D, 0x00, 0x03, 0x38, + 0x80, 0x22, 0x91, 0x00, 0x03, 0x38, 0x80, 0x22, 0x92, 0x00, 0x03, 0x38, + 0x80, 0x22, 0xB2, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB3, 0x00, 0x03, 0x38, + 0x80, 0x22, 0xB4, 0x00, 0x03, 0x38, 0x80, 0x22, 0xB5, 0x00, 0x03, 0x38, + 0x00, 0x30, 0x08, 0x00, 0x30, 0x09, 0x1C, 0x00, 0x31, 0x1C, 0x00, 0x32, + 0x1C, 0x00, 0x33, 0x1C, 0x00, 0x34, 0x1C, 0x00, 0x35, 0x1C, 0x00, 0x36, + 0x1C, 0x00, 0x37, 0x1C, 0x00, 0x38, 0x1C, 0x00, 0x39, 0x9C, 0x00, 0x31, + 0x00, 0x00, 0x30, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x31, + 0x00, 0x00, 0x32, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x31, + 0x00, 0x00, 0x34, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x31, + 0x00, 0x00, 0x36, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x31, + 0x00, 0x00, 0x38, 0x9C, 0x00, 0x31, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x32, + 0x00, 0x00, 0x30, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x32, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x33, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x34, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x36, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x37, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x38, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x33, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x37, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x31, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x32, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x33, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x35, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x36, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x37, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x38, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x39, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, + 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x33, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, + 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x37, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, + 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x00, 0x2E, + 0xC0, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x62, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x63, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x64, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x65, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x66, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x67, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x68, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x69, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6A, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6E, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x70, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x71, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x72, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x73, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x74, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x75, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x76, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x77, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x78, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x79, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x7A, + 0x00, 0x00, 0x29, 0x1C, 0x00, 0x41, 0x1C, 0x00, 0x42, 0x1C, 0x00, 0x43, + 0x1C, 0x00, 0x44, 0x1C, 0x00, 0x45, 0x1C, 0x00, 0x46, 0x1C, 0x00, 0x47, + 0x1C, 0x00, 0x48, 0x1C, 0x00, 0x49, 0x1C, 0x00, 0x4A, 0x1C, 0x00, 0x4B, + 0x1C, 0x00, 0x4C, 0x1C, 0x00, 0x4D, 0x1C, 0x00, 0x4E, 0x1C, 0x00, 0x4F, + 0x1C, 0x00, 0x50, 0x1C, 0x00, 0x51, 0x1C, 0x00, 0x52, 0x1C, 0x00, 0x53, + 0x1C, 0x00, 0x54, 0x1C, 0x00, 0x55, 0x1C, 0x00, 0x56, 0x1C, 0x00, 0x57, + 0x1C, 0x00, 0x58, 0x1C, 0x00, 0x59, 0x1C, 0x00, 0x5A, 0x1C, 0x00, 0x61, + 0x1C, 0x00, 0x62, 0x1C, 0x00, 0x63, 0x1C, 0x00, 0x64, 0x1C, 0x00, 0x65, + 0x1C, 0x00, 0x66, 0x1C, 0x00, 0x67, 0x1C, 0x00, 0x68, 0x1C, 0x00, 0x69, + 0x1C, 0x00, 0x6A, 0x1C, 0x00, 0x6B, 0x1C, 0x00, 0x6C, 0x1C, 0x00, 0x6D, + 0x1C, 0x00, 0x6E, 0x1C, 0x00, 0x6F, 0x1C, 0x00, 0x70, 0x1C, 0x00, 0x71, + 0x1C, 0x00, 0x72, 0x1C, 0x00, 0x73, 0x1C, 0x00, 0x74, 0x1C, 0x00, 0x75, + 0x1C, 0x00, 0x76, 0x1C, 0x00, 0x77, 0x1C, 0x00, 0x78, 0x1C, 0x00, 0x79, + 0x1C, 0x00, 0x7A, 0x1C, 0x00, 0x30, 0xC0, 0x22, 0x2B, 0x80, 0x22, 0x2B, + 0x80, 0x22, 0x2B, 0x00, 0x22, 0x2B, 0xC0, 0x00, 0x3A, 0x80, 0x00, 0x3A, + 0x00, 0x00, 0x3D, 0xC0, 0x00, 0x3D, 0x00, 0x00, 0x3D, 0xC0, 0x00, 0x3D, + 0x80, 0x00, 0x3D, 0x00, 0x00, 0x3D, 0x80, 0x2A, 0xDD, 0x00, 0x03, 0x38, + 0x24, 0x00, 0x6A, 0x20, 0x00, 0x56, 0x20, 0x2D, 0x61, 0x40, 0x6B, 0xCD, + 0x40, 0x9F, 0x9F, 0x40, 0x4E, 0x00, 0x40, 0x4E, 0x28, 0x40, 0x4E, 0x36, + 0x40, 0x4E, 0x3F, 0x40, 0x4E, 0x59, 0x40, 0x4E, 0x85, 0x40, 0x4E, 0x8C, + 0x40, 0x4E, 0xA0, 0x40, 0x4E, 0xBA, 0x40, 0x51, 0x3F, 0x40, 0x51, 0x65, + 0x40, 0x51, 0x6B, 0x40, 0x51, 0x82, 0x40, 0x51, 0x96, 0x40, 0x51, 0xAB, + 0x40, 0x51, 0xE0, 0x40, 0x51, 0xF5, 0x40, 0x52, 0x00, 0x40, 0x52, 0x9B, + 0x40, 0x52, 0xF9, 0x40, 0x53, 0x15, 0x40, 0x53, 0x1A, 0x40, 0x53, 0x38, + 0x40, 0x53, 0x41, 0x40, 0x53, 0x5C, 0x40, 0x53, 0x69, 0x40, 0x53, 0x82, + 0x40, 0x53, 0xB6, 0x40, 0x53, 0xC8, 0x40, 0x53, 0xE3, 0x40, 0x56, 0xD7, + 0x40, 0x57, 0x1F, 0x40, 0x58, 0xEB, 0x40, 0x59, 0x02, 0x40, 0x59, 0x0A, + 0x40, 0x59, 0x15, 0x40, 0x59, 0x27, 0x40, 0x59, 0x73, 0x40, 0x5B, 0x50, + 0x40, 0x5B, 0x80, 0x40, 0x5B, 0xF8, 0x40, 0x5C, 0x0F, 0x40, 0x5C, 0x22, + 0x40, 0x5C, 0x38, 0x40, 0x5C, 0x6E, 0x40, 0x5C, 0x71, 0x40, 0x5D, 0xDB, + 0x40, 0x5D, 0xE5, 0x40, 0x5D, 0xF1, 0x40, 0x5D, 0xFE, 0x40, 0x5E, 0x72, + 0x40, 0x5E, 0x7A, 0x40, 0x5E, 0x7F, 0x40, 0x5E, 0xF4, 0x40, 0x5E, 0xFE, + 0x40, 0x5F, 0x0B, 0x40, 0x5F, 0x13, 0x40, 0x5F, 0x50, 0x40, 0x5F, 0x61, + 0x40, 0x5F, 0x73, 0x40, 0x5F, 0xC3, 0x40, 0x62, 0x08, 0x40, 0x62, 0x36, + 0x40, 0x62, 0x4B, 0x40, 0x65, 0x2F, 0x40, 0x65, 0x34, 0x40, 0x65, 0x87, + 0x40, 0x65, 0x97, 0x40, 0x65, 0xA4, 0x40, 0x65, 0xB9, 0x40, 0x65, 0xE0, + 0x40, 0x65, 0xE5, 0x40, 0x66, 0xF0, 0x40, 0x67, 0x08, 0x40, 0x67, 0x28, + 0x40, 0x6B, 0x20, 0x40, 0x6B, 0x62, 0x40, 0x6B, 0x79, 0x40, 0x6B, 0xB3, + 0x40, 0x6B, 0xCB, 0x40, 0x6B, 0xD4, 0x40, 0x6B, 0xDB, 0x40, 0x6C, 0x0F, + 0x40, 0x6C, 0x14, 0x40, 0x6C, 0x34, 0x40, 0x70, 0x6B, 0x40, 0x72, 0x2A, + 0x40, 0x72, 0x36, 0x40, 0x72, 0x3B, 0x40, 0x72, 0x3F, 0x40, 0x72, 0x47, + 0x40, 0x72, 0x59, 0x40, 0x72, 0x5B, 0x40, 0x72, 0xAC, 0x40, 0x73, 0x84, + 0x40, 0x73, 0x89, 0x40, 0x74, 0xDC, 0x40, 0x74, 0xE6, 0x40, 0x75, 0x18, + 0x40, 0x75, 0x1F, 0x40, 0x75, 0x28, 0x40, 0x75, 0x30, 0x40, 0x75, 0x8B, + 0x40, 0x75, 0x92, 0x40, 0x76, 0x76, 0x40, 0x76, 0x7D, 0x40, 0x76, 0xAE, + 0x40, 0x76, 0xBF, 0x40, 0x76, 0xEE, 0x40, 0x77, 0xDB, 0x40, 0x77, 0xE2, + 0x40, 0x77, 0xF3, 0x40, 0x79, 0x3A, 0x40, 0x79, 0xB8, 0x40, 0x79, 0xBE, + 0x40, 0x7A, 0x74, 0x40, 0x7A, 0xCB, 0x40, 0x7A, 0xF9, 0x40, 0x7C, 0x73, + 0x40, 0x7C, 0xF8, 0x40, 0x7F, 0x36, 0x40, 0x7F, 0x51, 0x40, 0x7F, 0x8A, + 0x40, 0x7F, 0xBD, 0x40, 0x80, 0x01, 0x40, 0x80, 0x0C, 0x40, 0x80, 0x12, + 0x40, 0x80, 0x33, 0x40, 0x80, 0x7F, 0x40, 0x80, 0x89, 0x40, 0x81, 0xE3, + 0x40, 0x81, 0xEA, 0x40, 0x81, 0xF3, 0x40, 0x81, 0xFC, 0x40, 0x82, 0x0C, + 0x40, 0x82, 0x1B, 0x40, 0x82, 0x1F, 0x40, 0x82, 0x6E, 0x40, 0x82, 0x72, + 0x40, 0x82, 0x78, 0x40, 0x86, 0x4D, 0x40, 0x86, 0x6B, 0x40, 0x88, 0x40, + 0x40, 0x88, 0x4C, 0x40, 0x88, 0x63, 0x40, 0x89, 0x7E, 0x40, 0x89, 0x8B, + 0x40, 0x89, 0xD2, 0x40, 0x8A, 0x00, 0x40, 0x8C, 0x37, 0x40, 0x8C, 0x46, + 0x40, 0x8C, 0x55, 0x40, 0x8C, 0x78, 0x40, 0x8C, 0x9D, 0x40, 0x8D, 0x64, + 0x40, 0x8D, 0x70, 0x40, 0x8D, 0xB3, 0x40, 0x8E, 0xAB, 0x40, 0x8E, 0xCA, + 0x40, 0x8F, 0x9B, 0x40, 0x8F, 0xB0, 0x40, 0x8F, 0xB5, 0x40, 0x90, 0x91, + 0x40, 0x91, 0x49, 0x40, 0x91, 0xC6, 0x40, 0x91, 0xCC, 0x40, 0x91, 0xD1, + 0x40, 0x95, 0x77, 0x40, 0x95, 0x80, 0x40, 0x96, 0x1C, 0x40, 0x96, 0xB6, + 0x40, 0x96, 0xB9, 0x40, 0x96, 0xE8, 0x40, 0x97, 0x51, 0x40, 0x97, 0x5E, + 0x40, 0x97, 0x62, 0x40, 0x97, 0x69, 0x40, 0x97, 0xCB, 0x40, 0x97, 0xED, + 0x40, 0x97, 0xF3, 0x40, 0x98, 0x01, 0x40, 0x98, 0xA8, 0x40, 0x98, 0xDB, + 0x40, 0x98, 0xDF, 0x40, 0x99, 0x96, 0x40, 0x99, 0x99, 0x40, 0x99, 0xAC, + 0x40, 0x9A, 0xA8, 0x40, 0x9A, 0xD8, 0x40, 0x9A, 0xDF, 0x40, 0x9B, 0x25, + 0x40, 0x9B, 0x2F, 0x40, 0x9B, 0x32, 0x40, 0x9B, 0x3C, 0x40, 0x9B, 0x5A, + 0x40, 0x9C, 0xE5, 0x40, 0x9E, 0x75, 0x40, 0x9E, 0x7F, 0x40, 0x9E, 0xA5, + 0x40, 0x9E, 0xBB, 0x40, 0x9E, 0xC3, 0x40, 0x9E, 0xCD, 0x40, 0x9E, 0xD1, + 0x40, 0x9E, 0xF9, 0x40, 0x9E, 0xFD, 0x40, 0x9F, 0x0E, 0x40, 0x9F, 0x13, + 0x40, 0x9F, 0x20, 0x40, 0x9F, 0x3B, 0x40, 0x9F, 0x4A, 0x40, 0x9F, 0x52, + 0x40, 0x9F, 0x8D, 0x40, 0x9F, 0x9C, 0x40, 0x9F, 0xA0, 0x2C, 0x00, 0x20, + 0x40, 0x30, 0x12, 0x40, 0x53, 0x41, 0x40, 0x53, 0x44, 0x40, 0x53, 0x45, + 0x80, 0x30, 0x4B, 0x00, 0x30, 0x99, 0x80, 0x30, 0x4D, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x4F, 0x00, 0x30, 0x99, 0x80, 0x30, 0x51, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x53, 0x00, 0x30, 0x99, 0x80, 0x30, 0x55, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x57, 0x00, 0x30, 0x99, 0x80, 0x30, 0x59, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x5B, 0x00, 0x30, 0x99, 0x80, 0x30, 0x5D, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x5F, 0x00, 0x30, 0x99, 0x80, 0x30, 0x61, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x64, 0x00, 0x30, 0x99, 0x80, 0x30, 0x66, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x68, 0x00, 0x30, 0x99, 0x80, 0x30, 0x6F, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x6F, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x72, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x72, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x75, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x75, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x78, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x78, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x7B, 0x00, 0x30, 0x99, + 0x80, 0x30, 0x7B, 0x00, 0x30, 0x9A, 0x80, 0x30, 0x46, 0x00, 0x30, 0x99, + 0xC0, 0x00, 0x20, 0x00, 0x30, 0x99, 0xC0, 0x00, 0x20, 0x00, 0x30, 0x9A, + 0x80, 0x30, 0x9D, 0x00, 0x30, 0x99, 0xA8, 0x30, 0x88, 0x00, 0x30, 0x8A, + 0x80, 0x30, 0xAB, 0x00, 0x30, 0x99, 0x80, 0x30, 0xAD, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xAF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB1, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xB3, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB5, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xB7, 0x00, 0x30, 0x99, 0x80, 0x30, 0xB9, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xBB, 0x00, 0x30, 0x99, 0x80, 0x30, 0xBD, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xBF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC1, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xC4, 0x00, 0x30, 0x99, 0x80, 0x30, 0xC6, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xC8, 0x00, 0x30, 0x99, 0x80, 0x30, 0xCF, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xCF, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD2, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xD2, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD5, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xD5, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xD8, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xD8, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xDB, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xDB, 0x00, 0x30, 0x9A, 0x80, 0x30, 0xA6, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xEF, 0x00, 0x30, 0x99, 0x80, 0x30, 0xF0, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xF1, 0x00, 0x30, 0x99, 0x80, 0x30, 0xF2, 0x00, 0x30, 0x99, + 0x80, 0x30, 0xFD, 0x00, 0x30, 0x99, 0xA8, 0x30, 0xB3, 0x00, 0x30, 0xC8, + 0x40, 0x11, 0x00, 0x40, 0x11, 0x01, 0x40, 0x11, 0xAA, 0x40, 0x11, 0x02, + 0x40, 0x11, 0xAC, 0x40, 0x11, 0xAD, 0x40, 0x11, 0x03, 0x40, 0x11, 0x04, + 0x40, 0x11, 0x05, 0x40, 0x11, 0xB0, 0x40, 0x11, 0xB1, 0x40, 0x11, 0xB2, + 0x40, 0x11, 0xB3, 0x40, 0x11, 0xB4, 0x40, 0x11, 0xB5, 0x40, 0x11, 0x1A, + 0x40, 0x11, 0x06, 0x40, 0x11, 0x07, 0x40, 0x11, 0x08, 0x40, 0x11, 0x21, + 0x40, 0x11, 0x09, 0x40, 0x11, 0x0A, 0x40, 0x11, 0x0B, 0x40, 0x11, 0x0C, + 0x40, 0x11, 0x0D, 0x40, 0x11, 0x0E, 0x40, 0x11, 0x0F, 0x40, 0x11, 0x10, + 0x40, 0x11, 0x11, 0x40, 0x11, 0x12, 0x40, 0x11, 0x61, 0x40, 0x11, 0x62, + 0x40, 0x11, 0x63, 0x40, 0x11, 0x64, 0x40, 0x11, 0x65, 0x40, 0x11, 0x66, + 0x40, 0x11, 0x67, 0x40, 0x11, 0x68, 0x40, 0x11, 0x69, 0x40, 0x11, 0x6A, + 0x40, 0x11, 0x6B, 0x40, 0x11, 0x6C, 0x40, 0x11, 0x6D, 0x40, 0x11, 0x6E, + 0x40, 0x11, 0x6F, 0x40, 0x11, 0x70, 0x40, 0x11, 0x71, 0x40, 0x11, 0x72, + 0x40, 0x11, 0x73, 0x40, 0x11, 0x74, 0x40, 0x11, 0x75, 0x40, 0x11, 0x60, + 0x40, 0x11, 0x14, 0x40, 0x11, 0x15, 0x40, 0x11, 0xC7, 0x40, 0x11, 0xC8, + 0x40, 0x11, 0xCC, 0x40, 0x11, 0xCE, 0x40, 0x11, 0xD3, 0x40, 0x11, 0xD7, + 0x40, 0x11, 0xD9, 0x40, 0x11, 0x1C, 0x40, 0x11, 0xDD, 0x40, 0x11, 0xDF, + 0x40, 0x11, 0x1D, 0x40, 0x11, 0x1E, 0x40, 0x11, 0x20, 0x40, 0x11, 0x22, + 0x40, 0x11, 0x23, 0x40, 0x11, 0x27, 0x40, 0x11, 0x29, 0x40, 0x11, 0x2B, + 0x40, 0x11, 0x2C, 0x40, 0x11, 0x2D, 0x40, 0x11, 0x2E, 0x40, 0x11, 0x2F, + 0x40, 0x11, 0x32, 0x40, 0x11, 0x36, 0x40, 0x11, 0x40, 0x40, 0x11, 0x47, + 0x40, 0x11, 0x4C, 0x40, 0x11, 0xF1, 0x40, 0x11, 0xF2, 0x40, 0x11, 0x57, + 0x40, 0x11, 0x58, 0x40, 0x11, 0x59, 0x40, 0x11, 0x84, 0x40, 0x11, 0x85, + 0x40, 0x11, 0x88, 0x40, 0x11, 0x91, 0x40, 0x11, 0x92, 0x40, 0x11, 0x94, + 0x40, 0x11, 0x9E, 0x40, 0x11, 0xA1, 0x20, 0x4E, 0x00, 0x20, 0x4E, 0x8C, + 0x20, 0x4E, 0x09, 0x20, 0x56, 0xDB, 0x20, 0x4E, 0x0A, 0x20, 0x4E, 0x2D, + 0x20, 0x4E, 0x0B, 0x20, 0x75, 0x32, 0x20, 0x4E, 0x59, 0x20, 0x4E, 0x19, + 0x20, 0x4E, 0x01, 0x20, 0x59, 0x29, 0x20, 0x57, 0x30, 0x20, 0x4E, 0xBA, + 0xC0, 0x00, 0x28, 0x80, 0x11, 0x00, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x11, 0x02, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x05, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x11, 0x06, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x11, 0x07, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x11, 0x0E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x10, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x11, 0x11, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x11, 0x12, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x00, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x02, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x03, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x05, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x06, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x07, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x09, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0E, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0F, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x10, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x11, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x12, + 0x80, 0x11, 0x61, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0C, + 0x80, 0x11, 0x6E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, + 0x80, 0x11, 0x69, 0x80, 0x11, 0x0C, 0x80, 0x11, 0x65, 0x80, 0x11, 0xAB, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x11, 0x0B, 0x80, 0x11, 0x69, + 0x80, 0x11, 0x12, 0x80, 0x11, 0x6E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x4E, 0x00, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x8C, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x09, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x56, 0xDB, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x4E, 0x94, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x51, 0x6D, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0x03, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x51, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x4E, 0x5D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x53, 0x41, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x08, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x70, 0x6B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x6C, 0x34, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x28, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x91, 0xD1, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x57, 0x1F, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x65, 0xE5, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x68, 0x2A, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x67, 0x09, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x79, 0x3E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x54, 0x0D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x72, 0x79, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x8C, 0xA1, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x79, 0x5D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x52, 0xB4, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4E, 0xE3, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x54, 0x7C, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x5B, 0x66, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x76, 0xE3, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x01, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x8C, 0xC7, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x53, 0x54, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x79, 0x6D, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x4F, 0x11, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x81, 0xEA, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x81, 0xF3, 0x00, 0x00, 0x29, 0x1C, 0x55, 0x4F, + 0x1C, 0x5E, 0x7C, 0x1C, 0x65, 0x87, 0x1C, 0x7B, 0x8F, 0xB8, 0x00, 0x50, + 0x80, 0x00, 0x54, 0x00, 0x00, 0x45, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x31, + 0x9C, 0x00, 0x32, 0x00, 0x00, 0x32, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x33, + 0x9C, 0x00, 0x32, 0x00, 0x00, 0x34, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x35, + 0x9C, 0x00, 0x32, 0x00, 0x00, 0x36, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x37, + 0x9C, 0x00, 0x32, 0x00, 0x00, 0x38, 0x9C, 0x00, 0x32, 0x00, 0x00, 0x39, + 0x9C, 0x00, 0x33, 0x00, 0x00, 0x30, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x31, + 0x9C, 0x00, 0x33, 0x00, 0x00, 0x32, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x33, + 0x9C, 0x00, 0x33, 0x00, 0x00, 0x34, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x35, + 0x1C, 0x11, 0x00, 0x1C, 0x11, 0x02, 0x1C, 0x11, 0x03, 0x1C, 0x11, 0x05, + 0x1C, 0x11, 0x06, 0x1C, 0x11, 0x07, 0x1C, 0x11, 0x09, 0x1C, 0x11, 0x0B, + 0x1C, 0x11, 0x0C, 0x1C, 0x11, 0x0E, 0x1C, 0x11, 0x0F, 0x1C, 0x11, 0x10, + 0x1C, 0x11, 0x11, 0x1C, 0x11, 0x12, 0x9C, 0x11, 0x00, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x02, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x03, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x05, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x06, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x07, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x09, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x0B, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0C, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x0E, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0F, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x10, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x11, 0x00, 0x11, 0x61, + 0x9C, 0x11, 0x12, 0x00, 0x11, 0x61, 0x9C, 0x11, 0x0E, 0x80, 0x11, 0x61, + 0x80, 0x11, 0xB7, 0x80, 0x11, 0x00, 0x00, 0x11, 0x69, 0x9C, 0x11, 0x0C, + 0x80, 0x11, 0x6E, 0x80, 0x11, 0x0B, 0x00, 0x11, 0x74, 0x9C, 0x11, 0x0B, + 0x00, 0x11, 0x6E, 0x1C, 0x4E, 0x00, 0x1C, 0x4E, 0x8C, 0x1C, 0x4E, 0x09, + 0x1C, 0x56, 0xDB, 0x1C, 0x4E, 0x94, 0x1C, 0x51, 0x6D, 0x1C, 0x4E, 0x03, + 0x1C, 0x51, 0x6B, 0x1C, 0x4E, 0x5D, 0x1C, 0x53, 0x41, 0x1C, 0x67, 0x08, + 0x1C, 0x70, 0x6B, 0x1C, 0x6C, 0x34, 0x1C, 0x67, 0x28, 0x1C, 0x91, 0xD1, + 0x1C, 0x57, 0x1F, 0x1C, 0x65, 0xE5, 0x1C, 0x68, 0x2A, 0x1C, 0x67, 0x09, + 0x1C, 0x79, 0x3E, 0x1C, 0x54, 0x0D, 0x1C, 0x72, 0x79, 0x1C, 0x8C, 0xA1, + 0x1C, 0x79, 0x5D, 0x1C, 0x52, 0xB4, 0x1C, 0x79, 0xD8, 0x1C, 0x75, 0x37, + 0x1C, 0x59, 0x73, 0x1C, 0x90, 0x69, 0x1C, 0x51, 0x2A, 0x1C, 0x53, 0x70, + 0x1C, 0x6C, 0xE8, 0x1C, 0x98, 0x05, 0x1C, 0x4F, 0x11, 0x1C, 0x51, 0x99, + 0x1C, 0x6B, 0x63, 0x1C, 0x4E, 0x0A, 0x1C, 0x4E, 0x2D, 0x1C, 0x4E, 0x0B, + 0x1C, 0x5D, 0xE6, 0x1C, 0x53, 0xF3, 0x1C, 0x53, 0x3B, 0x1C, 0x5B, 0x97, + 0x1C, 0x5B, 0x66, 0x1C, 0x76, 0xE3, 0x1C, 0x4F, 0x01, 0x1C, 0x8C, 0xC7, + 0x1C, 0x53, 0x54, 0x1C, 0x59, 0x1C, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x36, + 0x9C, 0x00, 0x33, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x33, 0x00, 0x00, 0x38, + 0x9C, 0x00, 0x33, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x30, + 0x9C, 0x00, 0x34, 0x00, 0x00, 0x31, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x32, + 0x9C, 0x00, 0x34, 0x00, 0x00, 0x33, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x34, + 0x9C, 0x00, 0x34, 0x00, 0x00, 0x35, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x36, + 0x9C, 0x00, 0x34, 0x00, 0x00, 0x37, 0x9C, 0x00, 0x34, 0x00, 0x00, 0x38, + 0x9C, 0x00, 0x34, 0x00, 0x00, 0x39, 0x9C, 0x00, 0x35, 0x00, 0x00, 0x30, + 0xC0, 0x00, 0x31, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x32, 0x00, 0x67, 0x08, + 0xC0, 0x00, 0x33, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x34, 0x00, 0x67, 0x08, + 0xC0, 0x00, 0x35, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x36, 0x00, 0x67, 0x08, + 0xC0, 0x00, 0x37, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x38, 0x00, 0x67, 0x08, + 0xC0, 0x00, 0x39, 0x00, 0x67, 0x08, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, + 0x00, 0x67, 0x08, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x67, 0x08, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x67, 0x08, 0xB8, 0x00, 0x48, + 0x00, 0x00, 0x67, 0xB8, 0x00, 0x65, 0x80, 0x00, 0x72, 0x00, 0x00, 0x67, + 0xB8, 0x00, 0x65, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x4C, 0x80, 0x00, 0x54, + 0x00, 0x00, 0x44, 0x1C, 0x30, 0xA2, 0x1C, 0x30, 0xA4, 0x1C, 0x30, 0xA6, + 0x1C, 0x30, 0xA8, 0x1C, 0x30, 0xAA, 0x1C, 0x30, 0xAB, 0x1C, 0x30, 0xAD, + 0x1C, 0x30, 0xAF, 0x1C, 0x30, 0xB1, 0x1C, 0x30, 0xB3, 0x1C, 0x30, 0xB5, + 0x1C, 0x30, 0xB7, 0x1C, 0x30, 0xB9, 0x1C, 0x30, 0xBB, 0x1C, 0x30, 0xBD, + 0x1C, 0x30, 0xBF, 0x1C, 0x30, 0xC1, 0x1C, 0x30, 0xC4, 0x1C, 0x30, 0xC6, + 0x1C, 0x30, 0xC8, 0x1C, 0x30, 0xCA, 0x1C, 0x30, 0xCB, 0x1C, 0x30, 0xCC, + 0x1C, 0x30, 0xCD, 0x1C, 0x30, 0xCE, 0x1C, 0x30, 0xCF, 0x1C, 0x30, 0xD2, + 0x1C, 0x30, 0xD5, 0x1C, 0x30, 0xD8, 0x1C, 0x30, 0xDB, 0x1C, 0x30, 0xDE, + 0x1C, 0x30, 0xDF, 0x1C, 0x30, 0xE0, 0x1C, 0x30, 0xE1, 0x1C, 0x30, 0xE2, + 0x1C, 0x30, 0xE4, 0x1C, 0x30, 0xE6, 0x1C, 0x30, 0xE8, 0x1C, 0x30, 0xE9, + 0x1C, 0x30, 0xEA, 0x1C, 0x30, 0xEB, 0x1C, 0x30, 0xEC, 0x1C, 0x30, 0xED, + 0x1C, 0x30, 0xEF, 0x1C, 0x30, 0xF0, 0x1C, 0x30, 0xF1, 0x1C, 0x30, 0xF2, + 0xB8, 0x30, 0xA2, 0x80, 0x30, 0xD1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8, + 0xB8, 0x30, 0xA2, 0x80, 0x30, 0xEB, 0x80, 0x30, 0xD5, 0x00, 0x30, 0xA1, + 0xB8, 0x30, 0xA2, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xDA, 0x00, 0x30, 0xA2, + 0xB8, 0x30, 0xA2, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xA4, + 0x80, 0x30, 0xCB, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xA4, + 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC1, 0xB8, 0x30, 0xA6, 0x80, 0x30, 0xA9, + 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xA8, 0x80, 0x30, 0xB9, 0x80, 0x30, 0xAF, + 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xA8, 0x80, 0x30, 0xFC, + 0x80, 0x30, 0xAB, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAA, 0x80, 0x30, 0xF3, + 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xAA, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0, + 0xB8, 0x30, 0xAB, 0x80, 0x30, 0xA4, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xAB, + 0x80, 0x30, 0xE9, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xAB, + 0x80, 0x30, 0xED, 0x80, 0x30, 0xEA, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAC, + 0x80, 0x30, 0xED, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xAC, 0x80, 0x30, 0xF3, + 0x00, 0x30, 0xDE, 0xB8, 0x30, 0xAE, 0x00, 0x30, 0xAC, 0xB8, 0x30, 0xAE, + 0x80, 0x30, 0xCB, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xE5, + 0x80, 0x30, 0xEA, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAE, 0x80, 0x30, 0xEB, + 0x80, 0x30, 0xC0, 0x00, 0x30, 0xFC, 0xB8, 0x30, 0xAD, 0x00, 0x30, 0xED, + 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED, 0x80, 0x30, 0xB0, 0x80, 0x30, 0xE9, + 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xAD, 0x80, 0x30, 0xED, 0x80, 0x30, 0xE1, + 0x80, 0x30, 0xFC, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xAD, + 0x80, 0x30, 0xED, 0x80, 0x30, 0xEF, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, + 0xB8, 0x30, 0xB0, 0x80, 0x30, 0xE9, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB0, + 0x80, 0x30, 0xE9, 0x80, 0x30, 0xE0, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xF3, + 0xB8, 0x30, 0xAF, 0x80, 0x30, 0xEB, 0x80, 0x30, 0xBC, 0x80, 0x30, 0xA4, + 0x00, 0x30, 0xED, 0xB8, 0x30, 0xAF, 0x80, 0x30, 0xED, 0x80, 0x30, 0xFC, + 0x00, 0x30, 0xCD, 0xB8, 0x30, 0xB1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9, + 0xB8, 0x30, 0xB3, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xCA, 0xB8, 0x30, 0xB3, + 0x80, 0x30, 0xFC, 0x00, 0x30, 0xDD, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xA4, + 0x80, 0x30, 0xAF, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xB5, 0x80, 0x30, 0xF3, + 0x80, 0x30, 0xC1, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xB7, + 0x80, 0x30, 0xEA, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB0, 0xB8, 0x30, 0xBB, + 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC1, 0xB8, 0x30, 0xBB, 0x80, 0x30, 0xF3, + 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xC0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB9, + 0xB8, 0x30, 0xC7, 0x00, 0x30, 0xB7, 0xB8, 0x30, 0xC9, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xC8, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xCA, 0x00, 0x30, 0xCE, + 0xB8, 0x30, 0xCE, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xCF, + 0x80, 0x30, 0xA4, 0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD1, 0x80, 0x30, 0xFC, + 0x80, 0x30, 0xBB, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD1, + 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC4, 0xB8, 0x30, 0xD0, 0x80, 0x30, 0xFC, + 0x80, 0x30, 0xEC, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x80, 0x30, 0xA2, + 0x80, 0x30, 0xB9, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, + 0x80, 0x30, 0xAF, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD4, 0x00, 0x30, 0xB3, + 0xB8, 0x30, 0xD3, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xD5, 0x80, 0x30, 0xA1, + 0x80, 0x30, 0xE9, 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xD5, + 0x80, 0x30, 0xA3, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xD6, + 0x80, 0x30, 0xC3, 0x80, 0x30, 0xB7, 0x80, 0x30, 0xA7, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xD5, 0x80, 0x30, 0xE9, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xD8, + 0x80, 0x30, 0xAF, 0x80, 0x30, 0xBF, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xDA, 0x00, 0x30, 0xBD, 0xB8, 0x30, 0xDA, 0x80, 0x30, 0xCB, + 0x00, 0x30, 0xD2, 0xB8, 0x30, 0xD8, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC4, + 0xB8, 0x30, 0xDA, 0x80, 0x30, 0xF3, 0x00, 0x30, 0xB9, 0xB8, 0x30, 0xDA, + 0x80, 0x30, 0xFC, 0x00, 0x30, 0xB8, 0xB8, 0x30, 0xD9, 0x80, 0x30, 0xFC, + 0x00, 0x30, 0xBF, 0xB8, 0x30, 0xDD, 0x80, 0x30, 0xA4, 0x80, 0x30, 0xF3, + 0x00, 0x30, 0xC8, 0xB8, 0x30, 0xDC, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xC8, + 0xB8, 0x30, 0xDB, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDD, 0x80, 0x30, 0xF3, + 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xDB, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xDB, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDE, + 0x80, 0x30, 0xA4, 0x80, 0x30, 0xAF, 0x00, 0x30, 0xED, 0xB8, 0x30, 0xDE, + 0x80, 0x30, 0xA4, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xC3, + 0x00, 0x30, 0xCF, 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xEB, 0x00, 0x30, 0xAF, + 0xB8, 0x30, 0xDE, 0x80, 0x30, 0xF3, 0x80, 0x30, 0xB7, 0x80, 0x30, 0xE7, + 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDF, 0x80, 0x30, 0xAF, 0x80, 0x30, 0xED, + 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xDF, 0x00, 0x30, 0xEA, 0xB8, 0x30, 0xDF, + 0x80, 0x30, 0xEA, 0x80, 0x30, 0xD0, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xE1, 0x00, 0x30, 0xAC, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xAC, + 0x80, 0x30, 0xC8, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xE1, 0x80, 0x30, 0xFC, + 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC, + 0x00, 0x30, 0xC9, 0xB8, 0x30, 0xE4, 0x80, 0x30, 0xFC, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xE6, 0x80, 0x30, 0xA2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEA, + 0x80, 0x30, 0xC3, 0x80, 0x30, 0xC8, 0x00, 0x30, 0xEB, 0xB8, 0x30, 0xEA, + 0x00, 0x30, 0xE9, 0xB8, 0x30, 0xEB, 0x80, 0x30, 0xD4, 0x00, 0x30, 0xFC, + 0xB8, 0x30, 0xEB, 0x80, 0x30, 0xFC, 0x80, 0x30, 0xD6, 0x00, 0x30, 0xEB, + 0xB8, 0x30, 0xEC, 0x00, 0x30, 0xE0, 0xB8, 0x30, 0xEC, 0x80, 0x30, 0xF3, + 0x80, 0x30, 0xC8, 0x80, 0x30, 0xB2, 0x00, 0x30, 0xF3, 0xB8, 0x30, 0xEF, + 0x80, 0x30, 0xC3, 0x00, 0x30, 0xC8, 0xC0, 0x00, 0x30, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x31, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x33, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x34, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x35, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x36, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x37, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x38, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x39, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, + 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x32, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x33, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, + 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x36, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x37, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, + 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x32, 0x80, 0x00, 0x30, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, + 0x80, 0x00, 0x31, 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x32, + 0x00, 0x70, 0xB9, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x33, 0x00, 0x70, 0xB9, + 0xC0, 0x00, 0x32, 0x80, 0x00, 0x34, 0x00, 0x70, 0xB9, 0xB8, 0x00, 0x68, + 0x80, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x61, + 0xB8, 0x00, 0x41, 0x00, 0x00, 0x55, 0xB8, 0x00, 0x62, 0x80, 0x00, 0x61, + 0x00, 0x00, 0x72, 0xB8, 0x00, 0x6F, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x70, + 0x00, 0x00, 0x63, 0xB8, 0x00, 0x64, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x64, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x64, 0x80, 0x00, 0x6D, + 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x49, 0x00, 0x00, 0x55, 0xB8, 0x5E, 0x73, + 0x00, 0x62, 0x10, 0xB8, 0x66, 0x2D, 0x00, 0x54, 0x8C, 0xB8, 0x59, 0x27, + 0x00, 0x6B, 0x63, 0xB8, 0x66, 0x0E, 0x00, 0x6C, 0xBB, 0xB8, 0x68, 0x2A, + 0x80, 0x5F, 0x0F, 0x80, 0x4F, 0x1A, 0x00, 0x79, 0x3E, 0xB8, 0x00, 0x70, + 0x00, 0x00, 0x41, 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x41, 0xB8, 0x03, 0xBC, + 0x00, 0x00, 0x41, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x6B, + 0x00, 0x00, 0x41, 0xB8, 0x00, 0x4B, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x4D, + 0x00, 0x00, 0x42, 0xB8, 0x00, 0x47, 0x00, 0x00, 0x42, 0xB8, 0x00, 0x63, + 0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x63, + 0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x46, + 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x46, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x46, + 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x67, + 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x7A, + 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x4D, + 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x47, 0x80, 0x00, 0x48, + 0x00, 0x00, 0x7A, 0xB8, 0x00, 0x54, 0x80, 0x00, 0x48, 0x00, 0x00, 0x7A, + 0xB8, 0x03, 0xBC, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x6D, 0x00, 0x21, 0x13, + 0xB8, 0x00, 0x64, 0x00, 0x21, 0x13, 0xB8, 0x00, 0x6B, 0x00, 0x21, 0x13, + 0xB8, 0x00, 0x66, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x6D, + 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x6D, + 0xB8, 0x00, 0x63, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x6D, + 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x63, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB2, + 0xB8, 0x00, 0x6B, 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x6D, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x63, 0x80, 0x00, 0x6D, + 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6B, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0xB3, 0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15, + 0x00, 0x00, 0x73, 0xB8, 0x00, 0x6D, 0x80, 0x22, 0x15, 0x80, 0x00, 0x73, + 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x6B, + 0x80, 0x00, 0x50, 0x00, 0x00, 0x61, 0xB8, 0x00, 0x4D, 0x80, 0x00, 0x50, + 0x00, 0x00, 0x61, 0xB8, 0x00, 0x47, 0x80, 0x00, 0x50, 0x00, 0x00, 0x61, + 0xB8, 0x00, 0x72, 0x80, 0x00, 0x61, 0x00, 0x00, 0x64, 0xB8, 0x00, 0x72, + 0x80, 0x00, 0x61, 0x80, 0x00, 0x64, 0x80, 0x22, 0x15, 0x00, 0x00, 0x73, + 0xB8, 0x00, 0x72, 0x80, 0x00, 0x61, 0x80, 0x00, 0x64, 0x80, 0x22, 0x15, + 0x80, 0x00, 0x73, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x73, + 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x73, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x73, + 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x73, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x56, + 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x56, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x56, + 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x56, + 0xB8, 0x00, 0x4D, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x70, 0x00, 0x00, 0x57, + 0xB8, 0x00, 0x6E, 0x00, 0x00, 0x57, 0xB8, 0x03, 0xBC, 0x00, 0x00, 0x57, + 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x57, + 0xB8, 0x00, 0x4D, 0x00, 0x00, 0x57, 0xB8, 0x00, 0x6B, 0x00, 0x03, 0xA9, + 0xB8, 0x00, 0x4D, 0x00, 0x03, 0xA9, 0xB8, 0x00, 0x61, 0x80, 0x00, 0x2E, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x42, 0x00, 0x00, 0x71, + 0xB8, 0x00, 0x63, 0x00, 0x00, 0x63, 0xB8, 0x00, 0x63, 0x00, 0x00, 0x64, + 0xB8, 0x00, 0x43, 0x80, 0x22, 0x15, 0x80, 0x00, 0x6B, 0x00, 0x00, 0x67, + 0xB8, 0x00, 0x43, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x64, + 0x00, 0x00, 0x42, 0xB8, 0x00, 0x47, 0x00, 0x00, 0x79, 0xB8, 0x00, 0x68, + 0x00, 0x00, 0x61, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x50, 0xB8, 0x00, 0x69, + 0x00, 0x00, 0x6E, 0xB8, 0x00, 0x4B, 0x00, 0x00, 0x4B, 0xB8, 0x00, 0x4B, + 0x00, 0x00, 0x4D, 0xB8, 0x00, 0x6B, 0x00, 0x00, 0x74, 0xB8, 0x00, 0x6C, + 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x6E, 0xB8, 0x00, 0x6C, + 0x80, 0x00, 0x6F, 0x00, 0x00, 0x67, 0xB8, 0x00, 0x6C, 0x00, 0x00, 0x78, + 0xB8, 0x00, 0x6D, 0x00, 0x00, 0x62, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x69, + 0x00, 0x00, 0x6C, 0xB8, 0x00, 0x6D, 0x80, 0x00, 0x6F, 0x00, 0x00, 0x6C, + 0xB8, 0x00, 0x50, 0x00, 0x00, 0x48, 0xB8, 0x00, 0x70, 0x80, 0x00, 0x2E, + 0x80, 0x00, 0x6D, 0x00, 0x00, 0x2E, 0xB8, 0x00, 0x50, 0x80, 0x00, 0x50, + 0x00, 0x00, 0x4D, 0xB8, 0x00, 0x50, 0x00, 0x00, 0x52, 0xB8, 0x00, 0x73, + 0x00, 0x00, 0x72, 0xB8, 0x00, 0x53, 0x00, 0x00, 0x76, 0xB8, 0x00, 0x57, + 0x00, 0x00, 0x62, 0xB8, 0x00, 0x56, 0x80, 0x22, 0x15, 0x00, 0x00, 0x6D, + 0xB8, 0x00, 0x41, 0x80, 0x22, 0x15, 0x00, 0x00, 0x6D, 0xC0, 0x00, 0x31, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x35, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x37, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x39, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x32, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x33, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x34, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x35, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, + 0x80, 0x00, 0x36, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x37, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x38, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x31, 0x80, 0x00, 0x39, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, + 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x31, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x32, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x32, 0x80, 0x00, 0x33, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, + 0x80, 0x00, 0x34, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x35, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x36, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x32, 0x80, 0x00, 0x37, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, + 0x80, 0x00, 0x38, 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x32, 0x80, 0x00, 0x39, + 0x00, 0x65, 0xE5, 0xC0, 0x00, 0x33, 0x80, 0x00, 0x30, 0x00, 0x65, 0xE5, + 0xC0, 0x00, 0x33, 0x80, 0x00, 0x31, 0x00, 0x65, 0xE5, 0xB8, 0x00, 0x67, + 0x80, 0x00, 0x61, 0x00, 0x00, 0x6C, 0x20, 0x04, 0x4A, 0x20, 0x04, 0x4C, + 0x20, 0xA7, 0x6F, 0x20, 0x01, 0x26, 0x20, 0x01, 0x53, 0x20, 0xA7, 0x27, + 0x20, 0xAB, 0x37, 0x20, 0x02, 0x6B, 0x20, 0xAB, 0x52, 0x00, 0x8C, 0x48, + 0x00, 0x66, 0xF4, 0x00, 0x8E, 0xCA, 0x00, 0x8C, 0xC8, 0x00, 0x6E, 0xD1, + 0x00, 0x4E, 0x32, 0x00, 0x53, 0xE5, 0x00, 0x9F, 0x9C, 0x00, 0x9F, 0x9C, + 0x00, 0x59, 0x51, 0x00, 0x91, 0xD1, 0x00, 0x55, 0x87, 0x00, 0x59, 0x48, + 0x00, 0x61, 0xF6, 0x00, 0x76, 0x69, 0x00, 0x7F, 0x85, 0x00, 0x86, 0x3F, + 0x00, 0x87, 0xBA, 0x00, 0x88, 0xF8, 0x00, 0x90, 0x8F, 0x00, 0x6A, 0x02, + 0x00, 0x6D, 0x1B, 0x00, 0x70, 0xD9, 0x00, 0x73, 0xDE, 0x00, 0x84, 0x3D, + 0x00, 0x91, 0x6A, 0x00, 0x99, 0xF1, 0x00, 0x4E, 0x82, 0x00, 0x53, 0x75, + 0x00, 0x6B, 0x04, 0x00, 0x72, 0x1B, 0x00, 0x86, 0x2D, 0x00, 0x9E, 0x1E, + 0x00, 0x5D, 0x50, 0x00, 0x6F, 0xEB, 0x00, 0x85, 0xCD, 0x00, 0x89, 0x64, + 0x00, 0x62, 0xC9, 0x00, 0x81, 0xD8, 0x00, 0x88, 0x1F, 0x00, 0x5E, 0xCA, + 0x00, 0x67, 0x17, 0x00, 0x6D, 0x6A, 0x00, 0x72, 0xFC, 0x00, 0x90, 0xCE, + 0x00, 0x4F, 0x86, 0x00, 0x51, 0xB7, 0x00, 0x52, 0xDE, 0x00, 0x64, 0xC4, + 0x00, 0x6A, 0xD3, 0x00, 0x72, 0x10, 0x00, 0x76, 0xE7, 0x00, 0x80, 0x01, + 0x00, 0x86, 0x06, 0x00, 0x86, 0x5C, 0x00, 0x8D, 0xEF, 0x00, 0x97, 0x32, + 0x00, 0x9B, 0x6F, 0x00, 0x9D, 0xFA, 0x00, 0x78, 0x8C, 0x00, 0x79, 0x7F, + 0x00, 0x7D, 0xA0, 0x00, 0x83, 0xC9, 0x00, 0x93, 0x04, 0x00, 0x9E, 0x7F, + 0x00, 0x8A, 0xD6, 0x00, 0x58, 0xDF, 0x00, 0x5F, 0x04, 0x00, 0x7C, 0x60, + 0x00, 0x80, 0x7E, 0x00, 0x72, 0x62, 0x00, 0x78, 0xCA, 0x00, 0x8C, 0xC2, + 0x00, 0x96, 0xF7, 0x00, 0x58, 0xD8, 0x00, 0x5C, 0x62, 0x00, 0x6A, 0x13, + 0x00, 0x6D, 0xDA, 0x00, 0x6F, 0x0F, 0x00, 0x7D, 0x2F, 0x00, 0x7E, 0x37, + 0x00, 0x96, 0x4B, 0x00, 0x52, 0xD2, 0x00, 0x80, 0x8B, 0x00, 0x51, 0xDC, + 0x00, 0x51, 0xCC, 0x00, 0x7A, 0x1C, 0x00, 0x7D, 0xBE, 0x00, 0x83, 0xF1, + 0x00, 0x96, 0x75, 0x00, 0x8B, 0x80, 0x00, 0x62, 0xCF, 0x00, 0x6A, 0x02, + 0x00, 0x8A, 0xFE, 0x00, 0x4E, 0x39, 0x00, 0x5B, 0xE7, 0x00, 0x60, 0x12, + 0x00, 0x73, 0x87, 0x00, 0x75, 0x70, 0x00, 0x53, 0x17, 0x00, 0x78, 0xFB, + 0x00, 0x4F, 0xBF, 0x00, 0x5F, 0xA9, 0x00, 0x4E, 0x0D, 0x00, 0x6C, 0xCC, + 0x00, 0x65, 0x78, 0x00, 0x7D, 0x22, 0x00, 0x53, 0xC3, 0x00, 0x58, 0x5E, + 0x00, 0x77, 0x01, 0x00, 0x84, 0x49, 0x00, 0x8A, 0xAA, 0x00, 0x6B, 0xBA, + 0x00, 0x8F, 0xB0, 0x00, 0x6C, 0x88, 0x00, 0x62, 0xFE, 0x00, 0x82, 0xE5, + 0x00, 0x63, 0xA0, 0x00, 0x75, 0x65, 0x00, 0x4E, 0xAE, 0x00, 0x51, 0x69, + 0x00, 0x51, 0xC9, 0x00, 0x68, 0x81, 0x00, 0x7C, 0xE7, 0x00, 0x82, 0x6F, + 0x00, 0x8A, 0xD2, 0x00, 0x91, 0xCF, 0x00, 0x52, 0xF5, 0x00, 0x54, 0x42, + 0x00, 0x59, 0x73, 0x00, 0x5E, 0xEC, 0x00, 0x65, 0xC5, 0x00, 0x6F, 0xFE, + 0x00, 0x79, 0x2A, 0x00, 0x95, 0xAD, 0x00, 0x9A, 0x6A, 0x00, 0x9E, 0x97, + 0x00, 0x9E, 0xCE, 0x00, 0x52, 0x9B, 0x00, 0x66, 0xC6, 0x00, 0x6B, 0x77, + 0x00, 0x8F, 0x62, 0x00, 0x5E, 0x74, 0x00, 0x61, 0x90, 0x00, 0x62, 0x00, + 0x00, 0x64, 0x9A, 0x00, 0x6F, 0x23, 0x00, 0x71, 0x49, 0x00, 0x74, 0x89, + 0x00, 0x79, 0xCA, 0x00, 0x7D, 0xF4, 0x00, 0x80, 0x6F, 0x00, 0x8F, 0x26, + 0x00, 0x84, 0xEE, 0x00, 0x90, 0x23, 0x00, 0x93, 0x4A, 0x00, 0x52, 0x17, + 0x00, 0x52, 0xA3, 0x00, 0x54, 0xBD, 0x00, 0x70, 0xC8, 0x00, 0x88, 0xC2, + 0x00, 0x8A, 0xAA, 0x00, 0x5E, 0xC9, 0x00, 0x5F, 0xF5, 0x00, 0x63, 0x7B, + 0x00, 0x6B, 0xAE, 0x00, 0x7C, 0x3E, 0x00, 0x73, 0x75, 0x00, 0x4E, 0xE4, + 0x00, 0x56, 0xF9, 0x00, 0x5B, 0xE7, 0x00, 0x5D, 0xBA, 0x00, 0x60, 0x1C, + 0x00, 0x73, 0xB2, 0x00, 0x74, 0x69, 0x00, 0x7F, 0x9A, 0x00, 0x80, 0x46, + 0x00, 0x92, 0x34, 0x00, 0x96, 0xF6, 0x00, 0x97, 0x48, 0x00, 0x98, 0x18, + 0x00, 0x4F, 0x8B, 0x00, 0x79, 0xAE, 0x00, 0x91, 0xB4, 0x00, 0x96, 0xB8, + 0x00, 0x60, 0xE1, 0x00, 0x4E, 0x86, 0x00, 0x50, 0xDA, 0x00, 0x5B, 0xEE, + 0x00, 0x5C, 0x3F, 0x00, 0x65, 0x99, 0x00, 0x6A, 0x02, 0x00, 0x71, 0xCE, + 0x00, 0x76, 0x42, 0x00, 0x84, 0xFC, 0x00, 0x90, 0x7C, 0x00, 0x9F, 0x8D, + 0x00, 0x66, 0x88, 0x00, 0x96, 0x2E, 0x00, 0x52, 0x89, 0x00, 0x67, 0x7B, + 0x00, 0x67, 0xF3, 0x00, 0x6D, 0x41, 0x00, 0x6E, 0x9C, 0x00, 0x74, 0x09, + 0x00, 0x75, 0x59, 0x00, 0x78, 0x6B, 0x00, 0x7D, 0x10, 0x00, 0x98, 0x5E, + 0x00, 0x51, 0x6D, 0x00, 0x62, 0x2E, 0x00, 0x96, 0x78, 0x00, 0x50, 0x2B, + 0x00, 0x5D, 0x19, 0x00, 0x6D, 0xEA, 0x00, 0x8F, 0x2A, 0x00, 0x5F, 0x8B, + 0x00, 0x61, 0x44, 0x00, 0x68, 0x17, 0x00, 0x73, 0x87, 0x00, 0x96, 0x86, + 0x00, 0x52, 0x29, 0x00, 0x54, 0x0F, 0x00, 0x5C, 0x65, 0x00, 0x66, 0x13, + 0x00, 0x67, 0x4E, 0x00, 0x68, 0xA8, 0x00, 0x6C, 0xE5, 0x00, 0x74, 0x06, + 0x00, 0x75, 0xE2, 0x00, 0x7F, 0x79, 0x00, 0x88, 0xCF, 0x00, 0x88, 0xE1, + 0x00, 0x91, 0xCC, 0x00, 0x96, 0xE2, 0x00, 0x53, 0x3F, 0x00, 0x6E, 0xBA, + 0x00, 0x54, 0x1D, 0x00, 0x71, 0xD0, 0x00, 0x74, 0x98, 0x00, 0x85, 0xFA, + 0x00, 0x96, 0xA3, 0x00, 0x9C, 0x57, 0x00, 0x9E, 0x9F, 0x00, 0x67, 0x97, + 0x00, 0x6D, 0xCB, 0x00, 0x81, 0xE8, 0x00, 0x7A, 0xCB, 0x00, 0x7B, 0x20, + 0x00, 0x7C, 0x92, 0x00, 0x72, 0xC0, 0x00, 0x70, 0x99, 0x00, 0x8B, 0x58, + 0x00, 0x4E, 0xC0, 0x00, 0x83, 0x36, 0x00, 0x52, 0x3A, 0x00, 0x52, 0x07, + 0x00, 0x5E, 0xA6, 0x00, 0x62, 0xD3, 0x00, 0x7C, 0xD6, 0x00, 0x5B, 0x85, + 0x00, 0x6D, 0x1E, 0x00, 0x66, 0xB4, 0x00, 0x8F, 0x3B, 0x00, 0x88, 0x4C, + 0x00, 0x96, 0x4D, 0x00, 0x89, 0x8B, 0x00, 0x5E, 0xD3, 0x00, 0x51, 0x40, + 0x00, 0x55, 0xC0, 0x00, 0x58, 0x5A, 0x00, 0x66, 0x74, 0x00, 0x51, 0xDE, + 0x00, 0x73, 0x2A, 0x00, 0x76, 0xCA, 0x00, 0x79, 0x3C, 0x00, 0x79, 0x5E, + 0x00, 0x79, 0x65, 0x00, 0x79, 0x8F, 0x00, 0x97, 0x56, 0x00, 0x7C, 0xBE, + 0x00, 0x7F, 0xBD, 0x00, 0x86, 0x12, 0x00, 0x8A, 0xF8, 0x00, 0x90, 0x38, + 0x00, 0x90, 0xFD, 0x00, 0x98, 0xEF, 0x00, 0x98, 0xFC, 0x00, 0x99, 0x28, + 0x00, 0x9D, 0xB4, 0x00, 0x90, 0xDE, 0x00, 0x96, 0xB7, 0x00, 0x4F, 0xAE, + 0x00, 0x50, 0xE7, 0x00, 0x51, 0x4D, 0x00, 0x52, 0xC9, 0x00, 0x52, 0xE4, + 0x00, 0x53, 0x51, 0x00, 0x55, 0x9D, 0x00, 0x56, 0x06, 0x00, 0x56, 0x68, + 0x00, 0x58, 0x40, 0x00, 0x58, 0xA8, 0x00, 0x5C, 0x64, 0x00, 0x5C, 0x6E, + 0x00, 0x60, 0x94, 0x00, 0x61, 0x68, 0x00, 0x61, 0x8E, 0x00, 0x61, 0xF2, + 0x00, 0x65, 0x4F, 0x00, 0x65, 0xE2, 0x00, 0x66, 0x91, 0x00, 0x68, 0x85, + 0x00, 0x6D, 0x77, 0x00, 0x6E, 0x1A, 0x00, 0x6F, 0x22, 0x00, 0x71, 0x6E, + 0x00, 0x72, 0x2B, 0x00, 0x74, 0x22, 0x00, 0x78, 0x91, 0x00, 0x79, 0x3E, + 0x00, 0x79, 0x49, 0x00, 0x79, 0x48, 0x00, 0x79, 0x50, 0x00, 0x79, 0x56, + 0x00, 0x79, 0x5D, 0x00, 0x79, 0x8D, 0x00, 0x79, 0x8E, 0x00, 0x7A, 0x40, + 0x00, 0x7A, 0x81, 0x00, 0x7B, 0xC0, 0x00, 0x7D, 0xF4, 0x00, 0x7E, 0x09, + 0x00, 0x7E, 0x41, 0x00, 0x7F, 0x72, 0x00, 0x80, 0x05, 0x00, 0x81, 0xED, + 0x00, 0x82, 0x79, 0x00, 0x82, 0x79, 0x00, 0x84, 0x57, 0x00, 0x89, 0x10, + 0x00, 0x89, 0x96, 0x00, 0x8B, 0x01, 0x00, 0x8B, 0x39, 0x00, 0x8C, 0xD3, + 0x00, 0x8D, 0x08, 0x00, 0x8F, 0xB6, 0x00, 0x90, 0x38, 0x00, 0x96, 0xE3, + 0x00, 0x97, 0xFF, 0x00, 0x98, 0x3B, 0x00, 0x60, 0x75, 0x02, 0x42, 0xEE, + 0x00, 0x82, 0x18, 0x00, 0x4E, 0x26, 0x00, 0x51, 0xB5, 0x00, 0x51, 0x68, + 0x00, 0x4F, 0x80, 0x00, 0x51, 0x45, 0x00, 0x51, 0x80, 0x00, 0x52, 0xC7, + 0x00, 0x52, 0xFA, 0x00, 0x55, 0x9D, 0x00, 0x55, 0x55, 0x00, 0x55, 0x99, + 0x00, 0x55, 0xE2, 0x00, 0x58, 0x5A, 0x00, 0x58, 0xB3, 0x00, 0x59, 0x44, + 0x00, 0x59, 0x54, 0x00, 0x5A, 0x62, 0x00, 0x5B, 0x28, 0x00, 0x5E, 0xD2, + 0x00, 0x5E, 0xD9, 0x00, 0x5F, 0x69, 0x00, 0x5F, 0xAD, 0x00, 0x60, 0xD8, + 0x00, 0x61, 0x4E, 0x00, 0x61, 0x08, 0x00, 0x61, 0x8E, 0x00, 0x61, 0x60, + 0x00, 0x61, 0xF2, 0x00, 0x62, 0x34, 0x00, 0x63, 0xC4, 0x00, 0x64, 0x1C, + 0x00, 0x64, 0x52, 0x00, 0x65, 0x56, 0x00, 0x66, 0x74, 0x00, 0x67, 0x17, + 0x00, 0x67, 0x1B, 0x00, 0x67, 0x56, 0x00, 0x6B, 0x79, 0x00, 0x6B, 0xBA, + 0x00, 0x6D, 0x41, 0x00, 0x6E, 0xDB, 0x00, 0x6E, 0xCB, 0x00, 0x6F, 0x22, + 0x00, 0x70, 0x1E, 0x00, 0x71, 0x6E, 0x00, 0x77, 0xA7, 0x00, 0x72, 0x35, + 0x00, 0x72, 0xAF, 0x00, 0x73, 0x2A, 0x00, 0x74, 0x71, 0x00, 0x75, 0x06, + 0x00, 0x75, 0x3B, 0x00, 0x76, 0x1D, 0x00, 0x76, 0x1F, 0x00, 0x76, 0xCA, + 0x00, 0x76, 0xDB, 0x00, 0x76, 0xF4, 0x00, 0x77, 0x4A, 0x00, 0x77, 0x40, + 0x00, 0x78, 0xCC, 0x00, 0x7A, 0xB1, 0x00, 0x7B, 0xC0, 0x00, 0x7C, 0x7B, + 0x00, 0x7D, 0x5B, 0x00, 0x7D, 0xF4, 0x00, 0x7F, 0x3E, 0x00, 0x80, 0x05, + 0x00, 0x83, 0x52, 0x00, 0x83, 0xEF, 0x00, 0x87, 0x79, 0x00, 0x89, 0x41, + 0x00, 0x89, 0x86, 0x00, 0x89, 0x96, 0x00, 0x8A, 0xBF, 0x00, 0x8A, 0xF8, + 0x00, 0x8A, 0xCB, 0x00, 0x8B, 0x01, 0x00, 0x8A, 0xFE, 0x00, 0x8A, 0xED, + 0x00, 0x8B, 0x39, 0x00, 0x8B, 0x8A, 0x00, 0x8D, 0x08, 0x00, 0x8F, 0x38, + 0x00, 0x90, 0x72, 0x00, 0x91, 0x99, 0x00, 0x92, 0x76, 0x00, 0x96, 0x7C, + 0x00, 0x96, 0xE3, 0x00, 0x97, 0x56, 0x00, 0x97, 0xDB, 0x00, 0x97, 0xFF, + 0x00, 0x98, 0x0B, 0x00, 0x98, 0x3B, 0x00, 0x9B, 0x12, 0x00, 0x9F, 0x9C, + 0x02, 0x28, 0x4A, 0x02, 0x28, 0x44, 0x02, 0x33, 0xD5, 0x00, 0x3B, 0x9D, + 0x00, 0x40, 0x18, 0x00, 0x40, 0x39, 0x02, 0x52, 0x49, 0x02, 0x5C, 0xD0, + 0x02, 0x7E, 0xD3, 0x00, 0x9F, 0x43, 0x00, 0x9F, 0x8E, 0xC0, 0x00, 0x66, + 0x00, 0x00, 0x66, 0xC0, 0x00, 0x66, 0x00, 0x00, 0x69, 0xC0, 0x00, 0x66, + 0x00, 0x00, 0x6C, 0xC0, 0x00, 0x66, 0x80, 0x00, 0x66, 0x00, 0x00, 0x69, + 0xC0, 0x00, 0x66, 0x80, 0x00, 0x66, 0x00, 0x00, 0x6C, 0xC0, 0x01, 0x7F, + 0x00, 0x00, 0x74, 0xC0, 0x00, 0x73, 0x00, 0x00, 0x74, 0xC0, 0x05, 0x74, + 0x00, 0x05, 0x76, 0xC0, 0x05, 0x74, 0x00, 0x05, 0x65, 0xC0, 0x05, 0x74, + 0x00, 0x05, 0x6B, 0xC0, 0x05, 0x7E, 0x00, 0x05, 0x76, 0xC0, 0x05, 0x74, + 0x00, 0x05, 0x6D, 0x80, 0x05, 0xD9, 0x00, 0x05, 0xB4, 0x80, 0x05, 0xF2, + 0x00, 0x05, 0xB7, 0x04, 0x05, 0xE2, 0x04, 0x05, 0xD0, 0x04, 0x05, 0xD3, + 0x04, 0x05, 0xD4, 0x04, 0x05, 0xDB, 0x04, 0x05, 0xDC, 0x04, 0x05, 0xDD, + 0x04, 0x05, 0xE8, 0x04, 0x05, 0xEA, 0x04, 0x00, 0x2B, 0x80, 0x05, 0xE9, + 0x00, 0x05, 0xC1, 0x80, 0x05, 0xE9, 0x00, 0x05, 0xC2, 0x80, 0xFB, 0x49, + 0x00, 0x05, 0xC1, 0x80, 0xFB, 0x49, 0x00, 0x05, 0xC2, 0x80, 0x05, 0xD0, + 0x00, 0x05, 0xB7, 0x80, 0x05, 0xD0, 0x00, 0x05, 0xB8, 0x80, 0x05, 0xD0, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD1, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD2, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD3, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD4, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD5, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD6, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD8, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD9, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xDA, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xDB, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xDC, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xDE, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE0, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE1, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE3, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE4, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE6, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE7, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE8, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xE9, + 0x00, 0x05, 0xBC, 0x80, 0x05, 0xEA, 0x00, 0x05, 0xBC, 0x80, 0x05, 0xD5, + 0x00, 0x05, 0xB9, 0x80, 0x05, 0xD1, 0x00, 0x05, 0xBF, 0x80, 0x05, 0xDB, + 0x00, 0x05, 0xBF, 0x80, 0x05, 0xE4, 0x00, 0x05, 0xBF, 0xC0, 0x05, 0xD0, + 0x00, 0x05, 0xDC, 0x18, 0x06, 0x71, 0x14, 0x06, 0x71, 0x18, 0x06, 0x7B, + 0x14, 0x06, 0x7B, 0x0C, 0x06, 0x7B, 0x10, 0x06, 0x7B, 0x18, 0x06, 0x7E, + 0x14, 0x06, 0x7E, 0x0C, 0x06, 0x7E, 0x10, 0x06, 0x7E, 0x18, 0x06, 0x80, + 0x14, 0x06, 0x80, 0x0C, 0x06, 0x80, 0x10, 0x06, 0x80, 0x18, 0x06, 0x7A, + 0x14, 0x06, 0x7A, 0x0C, 0x06, 0x7A, 0x10, 0x06, 0x7A, 0x18, 0x06, 0x7F, + 0x14, 0x06, 0x7F, 0x0C, 0x06, 0x7F, 0x10, 0x06, 0x7F, 0x18, 0x06, 0x79, + 0x14, 0x06, 0x79, 0x0C, 0x06, 0x79, 0x10, 0x06, 0x79, 0x18, 0x06, 0xA4, + 0x14, 0x06, 0xA4, 0x0C, 0x06, 0xA4, 0x10, 0x06, 0xA4, 0x18, 0x06, 0xA6, + 0x14, 0x06, 0xA6, 0x0C, 0x06, 0xA6, 0x10, 0x06, 0xA6, 0x18, 0x06, 0x84, + 0x14, 0x06, 0x84, 0x0C, 0x06, 0x84, 0x10, 0x06, 0x84, 0x18, 0x06, 0x83, + 0x14, 0x06, 0x83, 0x0C, 0x06, 0x83, 0x10, 0x06, 0x83, 0x18, 0x06, 0x86, + 0x14, 0x06, 0x86, 0x0C, 0x06, 0x86, 0x10, 0x06, 0x86, 0x18, 0x06, 0x87, + 0x14, 0x06, 0x87, 0x0C, 0x06, 0x87, 0x10, 0x06, 0x87, 0x18, 0x06, 0x8D, + 0x14, 0x06, 0x8D, 0x18, 0x06, 0x8C, 0x14, 0x06, 0x8C, 0x18, 0x06, 0x8E, + 0x14, 0x06, 0x8E, 0x18, 0x06, 0x88, 0x14, 0x06, 0x88, 0x18, 0x06, 0x98, + 0x14, 0x06, 0x98, 0x18, 0x06, 0x91, 0x14, 0x06, 0x91, 0x18, 0x06, 0xA9, + 0x14, 0x06, 0xA9, 0x0C, 0x06, 0xA9, 0x10, 0x06, 0xA9, 0x18, 0x06, 0xAF, + 0x14, 0x06, 0xAF, 0x0C, 0x06, 0xAF, 0x10, 0x06, 0xAF, 0x18, 0x06, 0xB3, + 0x14, 0x06, 0xB3, 0x0C, 0x06, 0xB3, 0x10, 0x06, 0xB3, 0x18, 0x06, 0xB1, + 0x14, 0x06, 0xB1, 0x0C, 0x06, 0xB1, 0x10, 0x06, 0xB1, 0x18, 0x06, 0xBA, + 0x14, 0x06, 0xBA, 0x18, 0x06, 0xBB, 0x14, 0x06, 0xBB, 0x0C, 0x06, 0xBB, + 0x10, 0x06, 0xBB, 0x18, 0x06, 0xC0, 0x14, 0x06, 0xC0, 0x18, 0x06, 0xC1, + 0x14, 0x06, 0xC1, 0x0C, 0x06, 0xC1, 0x10, 0x06, 0xC1, 0x18, 0x06, 0xBE, + 0x14, 0x06, 0xBE, 0x0C, 0x06, 0xBE, 0x10, 0x06, 0xBE, 0x18, 0x06, 0xD2, + 0x14, 0x06, 0xD2, 0x18, 0x06, 0xD3, 0x14, 0x06, 0xD3, 0x18, 0x06, 0xAD, + 0x14, 0x06, 0xAD, 0x0C, 0x06, 0xAD, 0x10, 0x06, 0xAD, 0x18, 0x06, 0xC7, + 0x14, 0x06, 0xC7, 0x18, 0x06, 0xC6, 0x14, 0x06, 0xC6, 0x18, 0x06, 0xC8, + 0x14, 0x06, 0xC8, 0x18, 0x06, 0x77, 0x18, 0x06, 0xCB, 0x14, 0x06, 0xCB, + 0x18, 0x06, 0xC5, 0x14, 0x06, 0xC5, 0x18, 0x06, 0xC9, 0x14, 0x06, 0xC9, + 0x18, 0x06, 0xD0, 0x14, 0x06, 0xD0, 0x0C, 0x06, 0xD0, 0x10, 0x06, 0xD0, + 0x0C, 0x06, 0x49, 0x10, 0x06, 0x49, 0x98, 0x06, 0x26, 0x00, 0x06, 0x27, + 0x94, 0x06, 0x26, 0x00, 0x06, 0x27, 0x98, 0x06, 0x26, 0x00, 0x06, 0xD5, + 0x94, 0x06, 0x26, 0x00, 0x06, 0xD5, 0x98, 0x06, 0x26, 0x00, 0x06, 0x48, + 0x94, 0x06, 0x26, 0x00, 0x06, 0x48, 0x98, 0x06, 0x26, 0x00, 0x06, 0xC7, + 0x94, 0x06, 0x26, 0x00, 0x06, 0xC7, 0x98, 0x06, 0x26, 0x00, 0x06, 0xC6, + 0x94, 0x06, 0x26, 0x00, 0x06, 0xC6, 0x98, 0x06, 0x26, 0x00, 0x06, 0xC8, + 0x94, 0x06, 0x26, 0x00, 0x06, 0xC8, 0x98, 0x06, 0x26, 0x00, 0x06, 0xD0, + 0x94, 0x06, 0x26, 0x00, 0x06, 0xD0, 0x8C, 0x06, 0x26, 0x00, 0x06, 0xD0, + 0x98, 0x06, 0x26, 0x00, 0x06, 0x49, 0x94, 0x06, 0x26, 0x00, 0x06, 0x49, + 0x8C, 0x06, 0x26, 0x00, 0x06, 0x49, 0x18, 0x06, 0xCC, 0x14, 0x06, 0xCC, + 0x0C, 0x06, 0xCC, 0x10, 0x06, 0xCC, 0x98, 0x06, 0x26, 0x00, 0x06, 0x2C, + 0x98, 0x06, 0x26, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x26, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x26, 0x00, 0x06, 0x49, 0x98, 0x06, 0x26, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x28, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x28, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x28, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x28, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x28, 0x00, 0x06, 0x49, 0x98, 0x06, 0x28, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x2A, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x2A, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x2A, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x2A, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x2A, 0x00, 0x06, 0x49, 0x98, 0x06, 0x2A, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x2B, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x2B, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x2B, 0x00, 0x06, 0x49, 0x98, 0x06, 0x2B, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x2C, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x2C, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x2D, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x2D, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x2E, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x2E, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x98, 0x06, 0x33, 0x00, 0x06, 0x2C, + 0x98, 0x06, 0x33, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x33, 0x00, 0x06, 0x2E, + 0x98, 0x06, 0x33, 0x00, 0x06, 0x45, 0x98, 0x06, 0x35, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x35, 0x00, 0x06, 0x45, 0x98, 0x06, 0x36, 0x00, 0x06, 0x2C, + 0x98, 0x06, 0x36, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x36, 0x00, 0x06, 0x2E, + 0x98, 0x06, 0x36, 0x00, 0x06, 0x45, 0x98, 0x06, 0x37, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x37, 0x00, 0x06, 0x45, 0x98, 0x06, 0x38, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x39, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x39, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x3A, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x3A, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x41, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x41, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x41, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x41, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x41, 0x00, 0x06, 0x49, 0x98, 0x06, 0x41, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x42, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x42, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x42, 0x00, 0x06, 0x49, 0x98, 0x06, 0x42, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x43, 0x00, 0x06, 0x27, 0x98, 0x06, 0x43, 0x00, 0x06, 0x2C, + 0x98, 0x06, 0x43, 0x00, 0x06, 0x2D, 0x98, 0x06, 0x43, 0x00, 0x06, 0x2E, + 0x98, 0x06, 0x43, 0x00, 0x06, 0x44, 0x98, 0x06, 0x43, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x43, 0x00, 0x06, 0x49, 0x98, 0x06, 0x43, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x44, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x44, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x44, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x44, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x44, 0x00, 0x06, 0x49, 0x98, 0x06, 0x44, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x45, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x45, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x45, 0x00, 0x06, 0x49, 0x98, 0x06, 0x45, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x46, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x46, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x46, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x46, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x46, 0x00, 0x06, 0x49, 0x98, 0x06, 0x46, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x47, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x47, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x47, 0x00, 0x06, 0x49, 0x98, 0x06, 0x47, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x4A, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x4A, 0x00, 0x06, 0x2D, + 0x98, 0x06, 0x4A, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x4A, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x4A, 0x00, 0x06, 0x49, 0x98, 0x06, 0x4A, 0x00, 0x06, 0x4A, + 0x98, 0x06, 0x30, 0x00, 0x06, 0x70, 0x98, 0x06, 0x31, 0x00, 0x06, 0x70, + 0x98, 0x06, 0x49, 0x00, 0x06, 0x70, 0x98, 0x00, 0x20, 0x80, 0x06, 0x4C, + 0x00, 0x06, 0x51, 0x98, 0x00, 0x20, 0x80, 0x06, 0x4D, 0x00, 0x06, 0x51, + 0x98, 0x00, 0x20, 0x80, 0x06, 0x4E, 0x00, 0x06, 0x51, 0x98, 0x00, 0x20, + 0x80, 0x06, 0x4F, 0x00, 0x06, 0x51, 0x98, 0x00, 0x20, 0x80, 0x06, 0x50, + 0x00, 0x06, 0x51, 0x98, 0x00, 0x20, 0x80, 0x06, 0x51, 0x00, 0x06, 0x70, + 0x94, 0x06, 0x26, 0x00, 0x06, 0x31, 0x94, 0x06, 0x26, 0x00, 0x06, 0x32, + 0x94, 0x06, 0x26, 0x00, 0x06, 0x45, 0x94, 0x06, 0x26, 0x00, 0x06, 0x46, + 0x94, 0x06, 0x26, 0x00, 0x06, 0x49, 0x94, 0x06, 0x26, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x28, 0x00, 0x06, 0x31, 0x94, 0x06, 0x28, 0x00, 0x06, 0x32, + 0x94, 0x06, 0x28, 0x00, 0x06, 0x45, 0x94, 0x06, 0x28, 0x00, 0x06, 0x46, + 0x94, 0x06, 0x28, 0x00, 0x06, 0x49, 0x94, 0x06, 0x28, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x2A, 0x00, 0x06, 0x31, 0x94, 0x06, 0x2A, 0x00, 0x06, 0x32, + 0x94, 0x06, 0x2A, 0x00, 0x06, 0x45, 0x94, 0x06, 0x2A, 0x00, 0x06, 0x46, + 0x94, 0x06, 0x2A, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2A, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x2B, 0x00, 0x06, 0x31, 0x94, 0x06, 0x2B, 0x00, 0x06, 0x32, + 0x94, 0x06, 0x2B, 0x00, 0x06, 0x45, 0x94, 0x06, 0x2B, 0x00, 0x06, 0x46, + 0x94, 0x06, 0x2B, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2B, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x41, 0x00, 0x06, 0x49, 0x94, 0x06, 0x41, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x42, 0x00, 0x06, 0x49, 0x94, 0x06, 0x42, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x43, 0x00, 0x06, 0x27, 0x94, 0x06, 0x43, 0x00, 0x06, 0x44, + 0x94, 0x06, 0x43, 0x00, 0x06, 0x45, 0x94, 0x06, 0x43, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x43, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x44, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x44, 0x00, 0x06, 0x49, 0x94, 0x06, 0x44, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x45, 0x00, 0x06, 0x27, 0x94, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x46, 0x00, 0x06, 0x31, 0x94, 0x06, 0x46, 0x00, 0x06, 0x32, + 0x94, 0x06, 0x46, 0x00, 0x06, 0x45, 0x94, 0x06, 0x46, 0x00, 0x06, 0x46, + 0x94, 0x06, 0x46, 0x00, 0x06, 0x49, 0x94, 0x06, 0x46, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x49, 0x00, 0x06, 0x70, 0x94, 0x06, 0x4A, 0x00, 0x06, 0x31, + 0x94, 0x06, 0x4A, 0x00, 0x06, 0x32, 0x94, 0x06, 0x4A, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x4A, 0x00, 0x06, 0x46, 0x94, 0x06, 0x4A, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x4A, 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x26, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x26, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x26, 0x00, 0x06, 0x2E, + 0x8C, 0x06, 0x26, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x26, 0x00, 0x06, 0x47, + 0x8C, 0x06, 0x28, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x28, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x28, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x28, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x28, 0x00, 0x06, 0x47, 0x8C, 0x06, 0x2A, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x2A, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x2A, 0x00, 0x06, 0x2E, + 0x8C, 0x06, 0x2A, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2A, 0x00, 0x06, 0x47, + 0x8C, 0x06, 0x2B, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2C, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x2C, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2D, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2E, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x33, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x33, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x33, 0x00, 0x06, 0x2E, + 0x8C, 0x06, 0x33, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x35, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x35, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x35, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x36, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x36, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x36, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x36, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x37, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x38, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x39, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x39, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x3A, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x3A, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x41, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x41, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x41, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x41, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x42, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x42, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x43, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x43, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x43, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x43, 0x00, 0x06, 0x44, + 0x8C, 0x06, 0x43, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x44, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x44, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x44, 0x00, 0x06, 0x2E, + 0x8C, 0x06, 0x44, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x44, 0x00, 0x06, 0x47, + 0x8C, 0x06, 0x45, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x45, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x46, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x46, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x46, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x46, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x46, 0x00, 0x06, 0x47, 0x8C, 0x06, 0x47, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x47, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x47, 0x00, 0x06, 0x70, + 0x8C, 0x06, 0x4A, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x4A, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x4A, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x4A, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x4A, 0x00, 0x06, 0x47, 0x90, 0x06, 0x26, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x26, 0x00, 0x06, 0x47, 0x90, 0x06, 0x28, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x28, 0x00, 0x06, 0x47, 0x90, 0x06, 0x2A, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x2A, 0x00, 0x06, 0x47, 0x90, 0x06, 0x2B, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x2B, 0x00, 0x06, 0x47, 0x90, 0x06, 0x33, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x33, 0x00, 0x06, 0x47, 0x90, 0x06, 0x34, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x34, 0x00, 0x06, 0x47, 0x90, 0x06, 0x43, 0x00, 0x06, 0x44, + 0x90, 0x06, 0x43, 0x00, 0x06, 0x45, 0x90, 0x06, 0x44, 0x00, 0x06, 0x45, + 0x90, 0x06, 0x46, 0x00, 0x06, 0x45, 0x90, 0x06, 0x46, 0x00, 0x06, 0x47, + 0x90, 0x06, 0x4A, 0x00, 0x06, 0x45, 0x90, 0x06, 0x4A, 0x00, 0x06, 0x47, + 0x90, 0x06, 0x40, 0x80, 0x06, 0x4E, 0x00, 0x06, 0x51, 0x90, 0x06, 0x40, + 0x80, 0x06, 0x4F, 0x00, 0x06, 0x51, 0x90, 0x06, 0x40, 0x80, 0x06, 0x50, + 0x00, 0x06, 0x51, 0x98, 0x06, 0x37, 0x00, 0x06, 0x49, 0x98, 0x06, 0x37, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x39, 0x00, 0x06, 0x49, 0x98, 0x06, 0x39, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x3A, 0x00, 0x06, 0x49, 0x98, 0x06, 0x3A, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x33, 0x00, 0x06, 0x49, 0x98, 0x06, 0x33, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x34, 0x00, 0x06, 0x49, 0x98, 0x06, 0x34, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x2D, 0x00, 0x06, 0x49, 0x98, 0x06, 0x2D, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x2C, 0x00, 0x06, 0x49, 0x98, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x2E, 0x00, 0x06, 0x49, 0x98, 0x06, 0x2E, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x35, 0x00, 0x06, 0x49, 0x98, 0x06, 0x35, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x36, 0x00, 0x06, 0x49, 0x98, 0x06, 0x36, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x34, 0x00, 0x06, 0x2C, 0x98, 0x06, 0x34, + 0x00, 0x06, 0x2D, 0x98, 0x06, 0x34, 0x00, 0x06, 0x2E, 0x98, 0x06, 0x34, + 0x00, 0x06, 0x45, 0x98, 0x06, 0x34, 0x00, 0x06, 0x31, 0x98, 0x06, 0x33, + 0x00, 0x06, 0x31, 0x98, 0x06, 0x35, 0x00, 0x06, 0x31, 0x98, 0x06, 0x36, + 0x00, 0x06, 0x31, 0x94, 0x06, 0x37, 0x00, 0x06, 0x49, 0x94, 0x06, 0x37, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x39, 0x00, 0x06, 0x49, 0x94, 0x06, 0x39, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x3A, 0x00, 0x06, 0x49, 0x94, 0x06, 0x3A, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x33, 0x00, 0x06, 0x49, 0x94, 0x06, 0x33, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x34, 0x00, 0x06, 0x49, 0x94, 0x06, 0x34, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2D, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2D, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2C, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2E, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2E, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x35, 0x00, 0x06, 0x49, 0x94, 0x06, 0x35, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x36, 0x00, 0x06, 0x49, 0x94, 0x06, 0x36, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x34, 0x00, 0x06, 0x2C, 0x94, 0x06, 0x34, + 0x00, 0x06, 0x2D, 0x94, 0x06, 0x34, 0x00, 0x06, 0x2E, 0x94, 0x06, 0x34, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x34, 0x00, 0x06, 0x31, 0x94, 0x06, 0x33, + 0x00, 0x06, 0x31, 0x94, 0x06, 0x35, 0x00, 0x06, 0x31, 0x94, 0x06, 0x36, + 0x00, 0x06, 0x31, 0x8C, 0x06, 0x34, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x34, + 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x34, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x34, + 0x00, 0x06, 0x45, 0x8C, 0x06, 0x33, 0x00, 0x06, 0x47, 0x8C, 0x06, 0x34, + 0x00, 0x06, 0x47, 0x8C, 0x06, 0x37, 0x00, 0x06, 0x45, 0x90, 0x06, 0x33, + 0x00, 0x06, 0x2C, 0x90, 0x06, 0x33, 0x00, 0x06, 0x2D, 0x90, 0x06, 0x33, + 0x00, 0x06, 0x2E, 0x90, 0x06, 0x34, 0x00, 0x06, 0x2C, 0x90, 0x06, 0x34, + 0x00, 0x06, 0x2D, 0x90, 0x06, 0x34, 0x00, 0x06, 0x2E, 0x90, 0x06, 0x37, + 0x00, 0x06, 0x45, 0x90, 0x06, 0x38, 0x00, 0x06, 0x45, 0x94, 0x06, 0x27, + 0x00, 0x06, 0x4B, 0x98, 0x06, 0x27, 0x00, 0x06, 0x4B, 0x8C, 0x06, 0x2A, + 0x80, 0x06, 0x2C, 0x00, 0x06, 0x45, 0x94, 0x06, 0x2A, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x2A, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x2A, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2A, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x2A, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x2A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x2A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2E, 0x94, 0x06, 0x2C, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x2C, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x2D, 0x94, 0x06, 0x2D, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x2D, 0x80, 0x06, 0x45, 0x00, 0x06, 0x49, 0x8C, 0x06, 0x33, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x33, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x2D, 0x94, 0x06, 0x33, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x33, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x33, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x33, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x2C, 0x94, 0x06, 0x33, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x33, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x35, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x35, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x2D, 0x94, 0x06, 0x35, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x34, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x34, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x94, 0x06, 0x34, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x34, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2E, + 0x8C, 0x06, 0x34, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2E, 0x94, 0x06, 0x34, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x34, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x36, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x36, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x36, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x94, 0x06, 0x37, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x37, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x37, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x37, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x39, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x39, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x39, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x39, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x49, 0x94, 0x06, 0x3A, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x3A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x3A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x49, 0x94, 0x06, 0x41, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x41, 0x80, 0x06, 0x2E, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x42, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x94, 0x06, 0x42, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x44, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x94, 0x06, 0x44, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x44, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x49, + 0x8C, 0x06, 0x44, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2C, 0x94, 0x06, 0x44, + 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2C, 0x94, 0x06, 0x44, 0x80, 0x06, 0x2E, + 0x00, 0x06, 0x45, 0x8C, 0x06, 0x44, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x44, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x44, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x45, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x45, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x45, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x45, + 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2D, 0x8C, 0x06, 0x45, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x45, 0x8C, 0x06, 0x45, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x2C, + 0x8C, 0x06, 0x45, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x45, 0x8C, 0x06, 0x45, + 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2E, 0x8C, 0x06, 0x47, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x2C, 0x8C, 0x06, 0x47, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x46, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x94, 0x06, 0x46, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x49, 0x94, 0x06, 0x46, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x45, 0x8C, 0x06, 0x46, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x46, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x49, 0x94, 0x06, 0x46, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x46, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x49, 0x94, 0x06, 0x4A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x4A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x28, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2A, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2A, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x2A, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2A, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2A, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x2C, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2C, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x49, 0x94, 0x06, 0x2C, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x49, 0x94, 0x06, 0x33, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x49, + 0x94, 0x06, 0x35, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x34, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x36, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x44, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x44, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x4A, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x4A, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x4A, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x45, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x42, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x46, 0x80, 0x06, 0x2D, + 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x42, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2D, + 0x8C, 0x06, 0x44, 0x80, 0x06, 0x2D, 0x00, 0x06, 0x45, 0x94, 0x06, 0x39, + 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x43, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x46, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2D, + 0x94, 0x06, 0x45, 0x80, 0x06, 0x2E, 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x44, + 0x80, 0x06, 0x2C, 0x00, 0x06, 0x45, 0x94, 0x06, 0x43, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x45, 0x94, 0x06, 0x44, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x45, + 0x94, 0x06, 0x46, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x2D, 0x94, 0x06, 0x2C, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x2D, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x94, 0x06, 0x45, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x4A, + 0x94, 0x06, 0x41, 0x80, 0x06, 0x45, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x28, + 0x80, 0x06, 0x2D, 0x00, 0x06, 0x4A, 0x8C, 0x06, 0x43, 0x80, 0x06, 0x45, + 0x00, 0x06, 0x45, 0x8C, 0x06, 0x39, 0x80, 0x06, 0x2C, 0x00, 0x06, 0x45, + 0x8C, 0x06, 0x35, 0x80, 0x06, 0x45, 0x00, 0x06, 0x45, 0x94, 0x06, 0x33, + 0x80, 0x06, 0x2E, 0x00, 0x06, 0x4A, 0x94, 0x06, 0x46, 0x80, 0x06, 0x2C, + 0x00, 0x06, 0x4A, 0x98, 0x06, 0x35, 0x80, 0x06, 0x44, 0x00, 0x06, 0xD2, + 0x98, 0x06, 0x42, 0x80, 0x06, 0x44, 0x00, 0x06, 0xD2, 0x98, 0x06, 0x27, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x44, 0x00, 0x06, 0x47, 0x98, 0x06, 0x27, + 0x80, 0x06, 0x43, 0x80, 0x06, 0x28, 0x00, 0x06, 0x31, 0x98, 0x06, 0x45, + 0x80, 0x06, 0x2D, 0x80, 0x06, 0x45, 0x00, 0x06, 0x2F, 0x98, 0x06, 0x35, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x39, 0x00, 0x06, 0x45, 0x98, 0x06, 0x31, + 0x80, 0x06, 0x33, 0x80, 0x06, 0x48, 0x00, 0x06, 0x44, 0x98, 0x06, 0x39, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x4A, 0x00, 0x06, 0x47, 0x98, 0x06, 0x48, + 0x80, 0x06, 0x33, 0x80, 0x06, 0x44, 0x00, 0x06, 0x45, 0x98, 0x06, 0x35, + 0x80, 0x06, 0x44, 0x00, 0x06, 0x49, 0x98, 0x06, 0x35, 0x80, 0x06, 0x44, + 0x80, 0x06, 0x49, 0x80, 0x00, 0x20, 0x80, 0x06, 0x27, 0x80, 0x06, 0x44, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x47, 0x80, 0x00, 0x20, 0x80, 0x06, 0x39, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x4A, 0x80, 0x06, 0x47, 0x80, 0x00, 0x20, + 0x80, 0x06, 0x48, 0x80, 0x06, 0x33, 0x80, 0x06, 0x44, 0x00, 0x06, 0x45, + 0x98, 0x06, 0x2C, 0x80, 0x06, 0x44, 0x80, 0x00, 0x20, 0x80, 0x06, 0x2C, + 0x80, 0x06, 0x44, 0x80, 0x06, 0x27, 0x80, 0x06, 0x44, 0x00, 0x06, 0x47, + 0x98, 0x06, 0x31, 0x80, 0x06, 0xCC, 0x80, 0x06, 0x27, 0x00, 0x06, 0x44, + 0x28, 0x00, 0x2C, 0x28, 0x30, 0x01, 0x28, 0x30, 0x02, 0x28, 0x00, 0x3A, + 0x28, 0x00, 0x3B, 0x28, 0x00, 0x21, 0x28, 0x00, 0x3F, 0x28, 0x30, 0x16, + 0x28, 0x30, 0x17, 0x28, 0x20, 0x26, 0x28, 0x20, 0x25, 0x28, 0x20, 0x14, + 0x28, 0x20, 0x13, 0x28, 0x00, 0x5F, 0x28, 0x00, 0x5F, 0x28, 0x00, 0x28, + 0x28, 0x00, 0x29, 0x28, 0x00, 0x7B, 0x28, 0x00, 0x7D, 0x28, 0x30, 0x14, + 0x28, 0x30, 0x15, 0x28, 0x30, 0x10, 0x28, 0x30, 0x11, 0x28, 0x30, 0x0A, + 0x28, 0x30, 0x0B, 0x28, 0x30, 0x08, 0x28, 0x30, 0x09, 0x28, 0x30, 0x0C, + 0x28, 0x30, 0x0D, 0x28, 0x30, 0x0E, 0x28, 0x30, 0x0F, 0x28, 0x00, 0x5B, + 0x28, 0x00, 0x5D, 0x40, 0x20, 0x3E, 0x40, 0x20, 0x3E, 0x40, 0x20, 0x3E, + 0x40, 0x20, 0x3E, 0x40, 0x00, 0x5F, 0x40, 0x00, 0x5F, 0x40, 0x00, 0x5F, + 0x34, 0x00, 0x2C, 0x34, 0x30, 0x01, 0x34, 0x00, 0x2E, 0x34, 0x00, 0x3B, + 0x34, 0x00, 0x3A, 0x34, 0x00, 0x3F, 0x34, 0x00, 0x21, 0x34, 0x20, 0x14, + 0x34, 0x00, 0x28, 0x34, 0x00, 0x29, 0x34, 0x00, 0x7B, 0x34, 0x00, 0x7D, + 0x34, 0x30, 0x14, 0x34, 0x30, 0x15, 0x34, 0x00, 0x23, 0x34, 0x00, 0x26, + 0x34, 0x00, 0x2A, 0x34, 0x00, 0x2B, 0x34, 0x00, 0x2D, 0x34, 0x00, 0x3C, + 0x34, 0x00, 0x3E, 0x34, 0x00, 0x3D, 0x34, 0x00, 0x5C, 0x34, 0x00, 0x24, + 0x34, 0x00, 0x25, 0x34, 0x00, 0x40, 0x98, 0x00, 0x20, 0x00, 0x06, 0x4B, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x4B, 0x98, 0x00, 0x20, 0x00, 0x06, 0x4C, + 0x98, 0x00, 0x20, 0x00, 0x06, 0x4D, 0x98, 0x00, 0x20, 0x00, 0x06, 0x4E, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x4E, 0x98, 0x00, 0x20, 0x00, 0x06, 0x4F, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x4F, 0x98, 0x00, 0x20, 0x00, 0x06, 0x50, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x50, 0x98, 0x00, 0x20, 0x00, 0x06, 0x51, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x51, 0x98, 0x00, 0x20, 0x00, 0x06, 0x52, + 0x90, 0x06, 0x40, 0x00, 0x06, 0x52, 0x18, 0x06, 0x21, 0x18, 0x06, 0x22, + 0x14, 0x06, 0x22, 0x18, 0x06, 0x23, 0x14, 0x06, 0x23, 0x18, 0x06, 0x24, + 0x14, 0x06, 0x24, 0x18, 0x06, 0x25, 0x14, 0x06, 0x25, 0x18, 0x06, 0x26, + 0x14, 0x06, 0x26, 0x0C, 0x06, 0x26, 0x10, 0x06, 0x26, 0x18, 0x06, 0x27, + 0x14, 0x06, 0x27, 0x18, 0x06, 0x28, 0x14, 0x06, 0x28, 0x0C, 0x06, 0x28, + 0x10, 0x06, 0x28, 0x18, 0x06, 0x29, 0x14, 0x06, 0x29, 0x18, 0x06, 0x2A, + 0x14, 0x06, 0x2A, 0x0C, 0x06, 0x2A, 0x10, 0x06, 0x2A, 0x18, 0x06, 0x2B, + 0x14, 0x06, 0x2B, 0x0C, 0x06, 0x2B, 0x10, 0x06, 0x2B, 0x18, 0x06, 0x2C, + 0x14, 0x06, 0x2C, 0x0C, 0x06, 0x2C, 0x10, 0x06, 0x2C, 0x18, 0x06, 0x2D, + 0x14, 0x06, 0x2D, 0x0C, 0x06, 0x2D, 0x10, 0x06, 0x2D, 0x18, 0x06, 0x2E, + 0x14, 0x06, 0x2E, 0x0C, 0x06, 0x2E, 0x10, 0x06, 0x2E, 0x18, 0x06, 0x2F, + 0x14, 0x06, 0x2F, 0x18, 0x06, 0x30, 0x14, 0x06, 0x30, 0x18, 0x06, 0x31, + 0x14, 0x06, 0x31, 0x18, 0x06, 0x32, 0x14, 0x06, 0x32, 0x18, 0x06, 0x33, + 0x14, 0x06, 0x33, 0x0C, 0x06, 0x33, 0x10, 0x06, 0x33, 0x18, 0x06, 0x34, + 0x14, 0x06, 0x34, 0x0C, 0x06, 0x34, 0x10, 0x06, 0x34, 0x18, 0x06, 0x35, + 0x14, 0x06, 0x35, 0x0C, 0x06, 0x35, 0x10, 0x06, 0x35, 0x18, 0x06, 0x36, + 0x14, 0x06, 0x36, 0x0C, 0x06, 0x36, 0x10, 0x06, 0x36, 0x18, 0x06, 0x37, + 0x14, 0x06, 0x37, 0x0C, 0x06, 0x37, 0x10, 0x06, 0x37, 0x18, 0x06, 0x38, + 0x14, 0x06, 0x38, 0x0C, 0x06, 0x38, 0x10, 0x06, 0x38, 0x18, 0x06, 0x39, + 0x14, 0x06, 0x39, 0x0C, 0x06, 0x39, 0x10, 0x06, 0x39, 0x18, 0x06, 0x3A, + 0x14, 0x06, 0x3A, 0x0C, 0x06, 0x3A, 0x10, 0x06, 0x3A, 0x18, 0x06, 0x41, + 0x14, 0x06, 0x41, 0x0C, 0x06, 0x41, 0x10, 0x06, 0x41, 0x18, 0x06, 0x42, + 0x14, 0x06, 0x42, 0x0C, 0x06, 0x42, 0x10, 0x06, 0x42, 0x18, 0x06, 0x43, + 0x14, 0x06, 0x43, 0x0C, 0x06, 0x43, 0x10, 0x06, 0x43, 0x18, 0x06, 0x44, + 0x14, 0x06, 0x44, 0x0C, 0x06, 0x44, 0x10, 0x06, 0x44, 0x18, 0x06, 0x45, + 0x14, 0x06, 0x45, 0x0C, 0x06, 0x45, 0x10, 0x06, 0x45, 0x18, 0x06, 0x46, + 0x14, 0x06, 0x46, 0x0C, 0x06, 0x46, 0x10, 0x06, 0x46, 0x18, 0x06, 0x47, + 0x14, 0x06, 0x47, 0x0C, 0x06, 0x47, 0x10, 0x06, 0x47, 0x18, 0x06, 0x48, + 0x14, 0x06, 0x48, 0x18, 0x06, 0x49, 0x14, 0x06, 0x49, 0x18, 0x06, 0x4A, + 0x14, 0x06, 0x4A, 0x0C, 0x06, 0x4A, 0x10, 0x06, 0x4A, 0x98, 0x06, 0x44, + 0x00, 0x06, 0x22, 0x94, 0x06, 0x44, 0x00, 0x06, 0x22, 0x98, 0x06, 0x44, + 0x00, 0x06, 0x23, 0x94, 0x06, 0x44, 0x00, 0x06, 0x23, 0x98, 0x06, 0x44, + 0x00, 0x06, 0x25, 0x94, 0x06, 0x44, 0x00, 0x06, 0x25, 0x98, 0x06, 0x44, + 0x00, 0x06, 0x27, 0x94, 0x06, 0x44, 0x00, 0x06, 0x27, 0x2C, 0x00, 0x21, + 0x2C, 0x00, 0x22, 0x2C, 0x00, 0x23, 0x2C, 0x00, 0x24, 0x2C, 0x00, 0x25, + 0x2C, 0x00, 0x26, 0x2C, 0x00, 0x27, 0x2C, 0x00, 0x28, 0x2C, 0x00, 0x29, + 0x2C, 0x00, 0x2A, 0x2C, 0x00, 0x2B, 0x2C, 0x00, 0x2C, 0x2C, 0x00, 0x2D, + 0x2C, 0x00, 0x2E, 0x2C, 0x00, 0x2F, 0x2C, 0x00, 0x30, 0x2C, 0x00, 0x31, + 0x2C, 0x00, 0x32, 0x2C, 0x00, 0x33, 0x2C, 0x00, 0x34, 0x2C, 0x00, 0x35, + 0x2C, 0x00, 0x36, 0x2C, 0x00, 0x37, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x39, + 0x2C, 0x00, 0x3A, 0x2C, 0x00, 0x3B, 0x2C, 0x00, 0x3C, 0x2C, 0x00, 0x3D, + 0x2C, 0x00, 0x3E, 0x2C, 0x00, 0x3F, 0x2C, 0x00, 0x40, 0x2C, 0x00, 0x41, + 0x2C, 0x00, 0x42, 0x2C, 0x00, 0x43, 0x2C, 0x00, 0x44, 0x2C, 0x00, 0x45, + 0x2C, 0x00, 0x46, 0x2C, 0x00, 0x47, 0x2C, 0x00, 0x48, 0x2C, 0x00, 0x49, + 0x2C, 0x00, 0x4A, 0x2C, 0x00, 0x4B, 0x2C, 0x00, 0x4C, 0x2C, 0x00, 0x4D, + 0x2C, 0x00, 0x4E, 0x2C, 0x00, 0x4F, 0x2C, 0x00, 0x50, 0x2C, 0x00, 0x51, + 0x2C, 0x00, 0x52, 0x2C, 0x00, 0x53, 0x2C, 0x00, 0x54, 0x2C, 0x00, 0x55, + 0x2C, 0x00, 0x56, 0x2C, 0x00, 0x57, 0x2C, 0x00, 0x58, 0x2C, 0x00, 0x59, + 0x2C, 0x00, 0x5A, 0x2C, 0x00, 0x5B, 0x2C, 0x00, 0x5C, 0x2C, 0x00, 0x5D, + 0x2C, 0x00, 0x5E, 0x2C, 0x00, 0x5F, 0x2C, 0x00, 0x60, 0x2C, 0x00, 0x61, + 0x2C, 0x00, 0x62, 0x2C, 0x00, 0x63, 0x2C, 0x00, 0x64, 0x2C, 0x00, 0x65, + 0x2C, 0x00, 0x66, 0x2C, 0x00, 0x67, 0x2C, 0x00, 0x68, 0x2C, 0x00, 0x69, + 0x2C, 0x00, 0x6A, 0x2C, 0x00, 0x6B, 0x2C, 0x00, 0x6C, 0x2C, 0x00, 0x6D, + 0x2C, 0x00, 0x6E, 0x2C, 0x00, 0x6F, 0x2C, 0x00, 0x70, 0x2C, 0x00, 0x71, + 0x2C, 0x00, 0x72, 0x2C, 0x00, 0x73, 0x2C, 0x00, 0x74, 0x2C, 0x00, 0x75, + 0x2C, 0x00, 0x76, 0x2C, 0x00, 0x77, 0x2C, 0x00, 0x78, 0x2C, 0x00, 0x79, + 0x2C, 0x00, 0x7A, 0x2C, 0x00, 0x7B, 0x2C, 0x00, 0x7C, 0x2C, 0x00, 0x7D, + 0x2C, 0x00, 0x7E, 0x2C, 0x29, 0x85, 0x2C, 0x29, 0x86, 0x30, 0x30, 0x02, + 0x30, 0x30, 0x0C, 0x30, 0x30, 0x0D, 0x30, 0x30, 0x01, 0x30, 0x30, 0xFB, + 0x30, 0x30, 0xF2, 0x30, 0x30, 0xA1, 0x30, 0x30, 0xA3, 0x30, 0x30, 0xA5, + 0x30, 0x30, 0xA7, 0x30, 0x30, 0xA9, 0x30, 0x30, 0xE3, 0x30, 0x30, 0xE5, + 0x30, 0x30, 0xE7, 0x30, 0x30, 0xC3, 0x30, 0x30, 0xFC, 0x30, 0x30, 0xA2, + 0x30, 0x30, 0xA4, 0x30, 0x30, 0xA6, 0x30, 0x30, 0xA8, 0x30, 0x30, 0xAA, + 0x30, 0x30, 0xAB, 0x30, 0x30, 0xAD, 0x30, 0x30, 0xAF, 0x30, 0x30, 0xB1, + 0x30, 0x30, 0xB3, 0x30, 0x30, 0xB5, 0x30, 0x30, 0xB7, 0x30, 0x30, 0xB9, + 0x30, 0x30, 0xBB, 0x30, 0x30, 0xBD, 0x30, 0x30, 0xBF, 0x30, 0x30, 0xC1, + 0x30, 0x30, 0xC4, 0x30, 0x30, 0xC6, 0x30, 0x30, 0xC8, 0x30, 0x30, 0xCA, + 0x30, 0x30, 0xCB, 0x30, 0x30, 0xCC, 0x30, 0x30, 0xCD, 0x30, 0x30, 0xCE, + 0x30, 0x30, 0xCF, 0x30, 0x30, 0xD2, 0x30, 0x30, 0xD5, 0x30, 0x30, 0xD8, + 0x30, 0x30, 0xDB, 0x30, 0x30, 0xDE, 0x30, 0x30, 0xDF, 0x30, 0x30, 0xE0, + 0x30, 0x30, 0xE1, 0x30, 0x30, 0xE2, 0x30, 0x30, 0xE4, 0x30, 0x30, 0xE6, + 0x30, 0x30, 0xE8, 0x30, 0x30, 0xE9, 0x30, 0x30, 0xEA, 0x30, 0x30, 0xEB, + 0x30, 0x30, 0xEC, 0x30, 0x30, 0xED, 0x30, 0x30, 0xEF, 0x30, 0x30, 0xF3, + 0x30, 0x30, 0x99, 0x30, 0x30, 0x9A, 0x30, 0x31, 0x64, 0x30, 0x31, 0x31, + 0x30, 0x31, 0x32, 0x30, 0x31, 0x33, 0x30, 0x31, 0x34, 0x30, 0x31, 0x35, + 0x30, 0x31, 0x36, 0x30, 0x31, 0x37, 0x30, 0x31, 0x38, 0x30, 0x31, 0x39, + 0x30, 0x31, 0x3A, 0x30, 0x31, 0x3B, 0x30, 0x31, 0x3C, 0x30, 0x31, 0x3D, + 0x30, 0x31, 0x3E, 0x30, 0x31, 0x3F, 0x30, 0x31, 0x40, 0x30, 0x31, 0x41, + 0x30, 0x31, 0x42, 0x30, 0x31, 0x43, 0x30, 0x31, 0x44, 0x30, 0x31, 0x45, + 0x30, 0x31, 0x46, 0x30, 0x31, 0x47, 0x30, 0x31, 0x48, 0x30, 0x31, 0x49, + 0x30, 0x31, 0x4A, 0x30, 0x31, 0x4B, 0x30, 0x31, 0x4C, 0x30, 0x31, 0x4D, + 0x30, 0x31, 0x4E, 0x30, 0x31, 0x4F, 0x30, 0x31, 0x50, 0x30, 0x31, 0x51, + 0x30, 0x31, 0x52, 0x30, 0x31, 0x53, 0x30, 0x31, 0x54, 0x30, 0x31, 0x55, + 0x30, 0x31, 0x56, 0x30, 0x31, 0x57, 0x30, 0x31, 0x58, 0x30, 0x31, 0x59, + 0x30, 0x31, 0x5A, 0x30, 0x31, 0x5B, 0x30, 0x31, 0x5C, 0x30, 0x31, 0x5D, + 0x30, 0x31, 0x5E, 0x30, 0x31, 0x5F, 0x30, 0x31, 0x60, 0x30, 0x31, 0x61, + 0x30, 0x31, 0x62, 0x30, 0x31, 0x63, 0x2C, 0x00, 0xA2, 0x2C, 0x00, 0xA3, + 0x2C, 0x00, 0xAC, 0x2C, 0x00, 0xAF, 0x2C, 0x00, 0xA6, 0x2C, 0x00, 0xA5, + 0x2C, 0x20, 0xA9, 0x30, 0x25, 0x02, 0x30, 0x21, 0x90, 0x30, 0x21, 0x91, + 0x30, 0x21, 0x92, 0x30, 0x21, 0x93, 0x30, 0x25, 0xA0, 0x30, 0x25, 0xCB, + 0x81, 0x10, 0x99, 0x01, 0x10, 0xBA, 0x81, 0x10, 0x9B, 0x01, 0x10, 0xBA, + 0x81, 0x10, 0xA5, 0x01, 0x10, 0xBA, 0x81, 0x11, 0x31, 0x01, 0x11, 0x27, + 0x81, 0x11, 0x32, 0x01, 0x11, 0x27, 0x81, 0x13, 0x47, 0x01, 0x13, 0x3E, + 0x81, 0x13, 0x47, 0x01, 0x13, 0x57, 0x81, 0x14, 0xB9, 0x01, 0x14, 0xBA, + 0x81, 0x14, 0xB9, 0x01, 0x14, 0xB0, 0x81, 0x14, 0xB9, 0x01, 0x14, 0xBD, + 0x81, 0x15, 0xB8, 0x01, 0x15, 0xAF, 0x81, 0x15, 0xB9, 0x01, 0x15, 0xAF, + 0x81, 0xD1, 0x57, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0x58, 0x01, 0xD1, 0x65, + 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6E, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x6F, + 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x70, 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x71, + 0x81, 0xD1, 0x5F, 0x01, 0xD1, 0x72, 0x81, 0xD1, 0xB9, 0x01, 0xD1, 0x65, + 0x81, 0xD1, 0xBA, 0x01, 0xD1, 0x65, 0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6E, + 0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6E, 0x81, 0xD1, 0xBB, 0x01, 0xD1, 0x6F, + 0x81, 0xD1, 0xBC, 0x01, 0xD1, 0x6F, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x69, + 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, + 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, + 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, + 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, + 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x43, + 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, + 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, + 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, + 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, 0x04, 0x00, 0x53, + 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, + 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, + 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, + 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, + 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, + 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, + 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, + 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, + 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x53, + 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, + 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, 0x04, 0x00, 0x61, + 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x66, + 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, + 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, + 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, + 0x04, 0x00, 0x4E, 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x61, + 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, 0x04, 0x00, 0x65, + 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, 0x04, 0x00, 0x69, + 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, 0x04, 0x00, 0x6D, + 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, 0x04, 0x00, 0x71, + 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, 0x04, 0x00, 0x75, + 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, 0x04, 0x00, 0x79, + 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, 0x04, 0x00, 0x44, + 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, 0x04, 0x00, 0x47, 0x04, 0x00, 0x49, + 0x04, 0x00, 0x4A, 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, + 0x04, 0x00, 0x56, 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x00, 0x41, 0x04, 0x00, 0x42, + 0x04, 0x00, 0x43, 0x04, 0x00, 0x44, 0x04, 0x00, 0x45, 0x04, 0x00, 0x46, + 0x04, 0x00, 0x47, 0x04, 0x00, 0x48, 0x04, 0x00, 0x49, 0x04, 0x00, 0x4A, + 0x04, 0x00, 0x4B, 0x04, 0x00, 0x4C, 0x04, 0x00, 0x4D, 0x04, 0x00, 0x4E, + 0x04, 0x00, 0x4F, 0x04, 0x00, 0x50, 0x04, 0x00, 0x51, 0x04, 0x00, 0x52, + 0x04, 0x00, 0x53, 0x04, 0x00, 0x54, 0x04, 0x00, 0x55, 0x04, 0x00, 0x56, + 0x04, 0x00, 0x57, 0x04, 0x00, 0x58, 0x04, 0x00, 0x59, 0x04, 0x00, 0x5A, + 0x04, 0x00, 0x61, 0x04, 0x00, 0x62, 0x04, 0x00, 0x63, 0x04, 0x00, 0x64, + 0x04, 0x00, 0x65, 0x04, 0x00, 0x66, 0x04, 0x00, 0x67, 0x04, 0x00, 0x68, + 0x04, 0x00, 0x69, 0x04, 0x00, 0x6A, 0x04, 0x00, 0x6B, 0x04, 0x00, 0x6C, + 0x04, 0x00, 0x6D, 0x04, 0x00, 0x6E, 0x04, 0x00, 0x6F, 0x04, 0x00, 0x70, + 0x04, 0x00, 0x71, 0x04, 0x00, 0x72, 0x04, 0x00, 0x73, 0x04, 0x00, 0x74, + 0x04, 0x00, 0x75, 0x04, 0x00, 0x76, 0x04, 0x00, 0x77, 0x04, 0x00, 0x78, + 0x04, 0x00, 0x79, 0x04, 0x00, 0x7A, 0x04, 0x01, 0x31, 0x04, 0x02, 0x37, + 0x04, 0x03, 0x91, 0x04, 0x03, 0x92, 0x04, 0x03, 0x93, 0x04, 0x03, 0x94, + 0x04, 0x03, 0x95, 0x04, 0x03, 0x96, 0x04, 0x03, 0x97, 0x04, 0x03, 0x98, + 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, + 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, + 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, + 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, + 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, + 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, + 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, + 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, + 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, + 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, + 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, + 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, + 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, 0x04, 0x03, 0x91, 0x04, 0x03, 0x92, + 0x04, 0x03, 0x93, 0x04, 0x03, 0x94, 0x04, 0x03, 0x95, 0x04, 0x03, 0x96, + 0x04, 0x03, 0x97, 0x04, 0x03, 0x98, 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, + 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, + 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, + 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, + 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, + 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, + 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, + 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, + 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, + 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, + 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, + 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, + 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, + 0x04, 0x03, 0x91, 0x04, 0x03, 0x92, 0x04, 0x03, 0x93, 0x04, 0x03, 0x94, + 0x04, 0x03, 0x95, 0x04, 0x03, 0x96, 0x04, 0x03, 0x97, 0x04, 0x03, 0x98, + 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, + 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, + 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, + 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, + 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, + 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, + 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, + 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, + 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, + 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, + 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, + 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, + 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, 0x04, 0x03, 0x91, 0x04, 0x03, 0x92, + 0x04, 0x03, 0x93, 0x04, 0x03, 0x94, 0x04, 0x03, 0x95, 0x04, 0x03, 0x96, + 0x04, 0x03, 0x97, 0x04, 0x03, 0x98, 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, + 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, + 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, + 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, + 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, + 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, + 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, + 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, + 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, + 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, + 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, + 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, + 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, + 0x04, 0x03, 0x91, 0x04, 0x03, 0x92, 0x04, 0x03, 0x93, 0x04, 0x03, 0x94, + 0x04, 0x03, 0x95, 0x04, 0x03, 0x96, 0x04, 0x03, 0x97, 0x04, 0x03, 0x98, + 0x04, 0x03, 0x99, 0x04, 0x03, 0x9A, 0x04, 0x03, 0x9B, 0x04, 0x03, 0x9C, + 0x04, 0x03, 0x9D, 0x04, 0x03, 0x9E, 0x04, 0x03, 0x9F, 0x04, 0x03, 0xA0, + 0x04, 0x03, 0xA1, 0x04, 0x03, 0xF4, 0x04, 0x03, 0xA3, 0x04, 0x03, 0xA4, + 0x04, 0x03, 0xA5, 0x04, 0x03, 0xA6, 0x04, 0x03, 0xA7, 0x04, 0x03, 0xA8, + 0x04, 0x03, 0xA9, 0x04, 0x22, 0x07, 0x04, 0x03, 0xB1, 0x04, 0x03, 0xB2, + 0x04, 0x03, 0xB3, 0x04, 0x03, 0xB4, 0x04, 0x03, 0xB5, 0x04, 0x03, 0xB6, + 0x04, 0x03, 0xB7, 0x04, 0x03, 0xB8, 0x04, 0x03, 0xB9, 0x04, 0x03, 0xBA, + 0x04, 0x03, 0xBB, 0x04, 0x03, 0xBC, 0x04, 0x03, 0xBD, 0x04, 0x03, 0xBE, + 0x04, 0x03, 0xBF, 0x04, 0x03, 0xC0, 0x04, 0x03, 0xC1, 0x04, 0x03, 0xC2, + 0x04, 0x03, 0xC3, 0x04, 0x03, 0xC4, 0x04, 0x03, 0xC5, 0x04, 0x03, 0xC6, + 0x04, 0x03, 0xC7, 0x04, 0x03, 0xC8, 0x04, 0x03, 0xC9, 0x04, 0x22, 0x02, + 0x04, 0x03, 0xF5, 0x04, 0x03, 0xD1, 0x04, 0x03, 0xF0, 0x04, 0x03, 0xD5, + 0x04, 0x03, 0xF1, 0x04, 0x03, 0xD6, 0x04, 0x03, 0xDC, 0x04, 0x03, 0xDD, + 0x04, 0x00, 0x30, 0x04, 0x00, 0x31, 0x04, 0x00, 0x32, 0x04, 0x00, 0x33, + 0x04, 0x00, 0x34, 0x04, 0x00, 0x35, 0x04, 0x00, 0x36, 0x04, 0x00, 0x37, + 0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0x04, 0x00, 0x30, 0x04, 0x00, 0x31, + 0x04, 0x00, 0x32, 0x04, 0x00, 0x33, 0x04, 0x00, 0x34, 0x04, 0x00, 0x35, + 0x04, 0x00, 0x36, 0x04, 0x00, 0x37, 0x04, 0x00, 0x38, 0x04, 0x00, 0x39, + 0x04, 0x00, 0x30, 0x04, 0x00, 0x31, 0x04, 0x00, 0x32, 0x04, 0x00, 0x33, + 0x04, 0x00, 0x34, 0x04, 0x00, 0x35, 0x04, 0x00, 0x36, 0x04, 0x00, 0x37, + 0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0x04, 0x00, 0x30, 0x04, 0x00, 0x31, + 0x04, 0x00, 0x32, 0x04, 0x00, 0x33, 0x04, 0x00, 0x34, 0x04, 0x00, 0x35, + 0x04, 0x00, 0x36, 0x04, 0x00, 0x37, 0x04, 0x00, 0x38, 0x04, 0x00, 0x39, + 0x04, 0x00, 0x30, 0x04, 0x00, 0x31, 0x04, 0x00, 0x32, 0x04, 0x00, 0x33, + 0x04, 0x00, 0x34, 0x04, 0x00, 0x35, 0x04, 0x00, 0x36, 0x04, 0x00, 0x37, + 0x04, 0x00, 0x38, 0x04, 0x00, 0x39, 0x04, 0x06, 0x27, 0x04, 0x06, 0x28, + 0x04, 0x06, 0x2C, 0x04, 0x06, 0x2F, 0x04, 0x06, 0x48, 0x04, 0x06, 0x32, + 0x04, 0x06, 0x2D, 0x04, 0x06, 0x37, 0x04, 0x06, 0x4A, 0x04, 0x06, 0x43, + 0x04, 0x06, 0x44, 0x04, 0x06, 0x45, 0x04, 0x06, 0x46, 0x04, 0x06, 0x33, + 0x04, 0x06, 0x39, 0x04, 0x06, 0x41, 0x04, 0x06, 0x35, 0x04, 0x06, 0x42, + 0x04, 0x06, 0x31, 0x04, 0x06, 0x34, 0x04, 0x06, 0x2A, 0x04, 0x06, 0x2B, + 0x04, 0x06, 0x2E, 0x04, 0x06, 0x30, 0x04, 0x06, 0x36, 0x04, 0x06, 0x38, + 0x04, 0x06, 0x3A, 0x04, 0x06, 0x6E, 0x04, 0x06, 0xBA, 0x04, 0x06, 0xA1, + 0x04, 0x06, 0x6F, 0x04, 0x06, 0x28, 0x04, 0x06, 0x2C, 0x04, 0x06, 0x47, + 0x04, 0x06, 0x2D, 0x04, 0x06, 0x4A, 0x04, 0x06, 0x43, 0x04, 0x06, 0x44, + 0x04, 0x06, 0x45, 0x04, 0x06, 0x46, 0x04, 0x06, 0x33, 0x04, 0x06, 0x39, + 0x04, 0x06, 0x41, 0x04, 0x06, 0x35, 0x04, 0x06, 0x42, 0x04, 0x06, 0x34, + 0x04, 0x06, 0x2A, 0x04, 0x06, 0x2B, 0x04, 0x06, 0x2E, 0x04, 0x06, 0x36, + 0x04, 0x06, 0x3A, 0x04, 0x06, 0x2C, 0x04, 0x06, 0x2D, 0x04, 0x06, 0x4A, + 0x04, 0x06, 0x44, 0x04, 0x06, 0x46, 0x04, 0x06, 0x33, 0x04, 0x06, 0x39, + 0x04, 0x06, 0x35, 0x04, 0x06, 0x42, 0x04, 0x06, 0x34, 0x04, 0x06, 0x2E, + 0x04, 0x06, 0x36, 0x04, 0x06, 0x3A, 0x04, 0x06, 0xBA, 0x04, 0x06, 0x6F, + 0x04, 0x06, 0x28, 0x04, 0x06, 0x2C, 0x04, 0x06, 0x47, 0x04, 0x06, 0x2D, + 0x04, 0x06, 0x37, 0x04, 0x06, 0x4A, 0x04, 0x06, 0x43, 0x04, 0x06, 0x45, + 0x04, 0x06, 0x46, 0x04, 0x06, 0x33, 0x04, 0x06, 0x39, 0x04, 0x06, 0x41, + 0x04, 0x06, 0x35, 0x04, 0x06, 0x42, 0x04, 0x06, 0x34, 0x04, 0x06, 0x2A, + 0x04, 0x06, 0x2B, 0x04, 0x06, 0x2E, 0x04, 0x06, 0x36, 0x04, 0x06, 0x38, + 0x04, 0x06, 0x3A, 0x04, 0x06, 0x6E, 0x04, 0x06, 0xA1, 0x04, 0x06, 0x27, + 0x04, 0x06, 0x28, 0x04, 0x06, 0x2C, 0x04, 0x06, 0x2F, 0x04, 0x06, 0x47, + 0x04, 0x06, 0x48, 0x04, 0x06, 0x32, 0x04, 0x06, 0x2D, 0x04, 0x06, 0x37, + 0x04, 0x06, 0x4A, 0x04, 0x06, 0x44, 0x04, 0x06, 0x45, 0x04, 0x06, 0x46, + 0x04, 0x06, 0x33, 0x04, 0x06, 0x39, 0x04, 0x06, 0x41, 0x04, 0x06, 0x35, + 0x04, 0x06, 0x42, 0x04, 0x06, 0x31, 0x04, 0x06, 0x34, 0x04, 0x06, 0x2A, + 0x04, 0x06, 0x2B, 0x04, 0x06, 0x2E, 0x04, 0x06, 0x30, 0x04, 0x06, 0x36, + 0x04, 0x06, 0x38, 0x04, 0x06, 0x3A, 0x04, 0x06, 0x28, 0x04, 0x06, 0x2C, + 0x04, 0x06, 0x2F, 0x04, 0x06, 0x48, 0x04, 0x06, 0x32, 0x04, 0x06, 0x2D, + 0x04, 0x06, 0x37, 0x04, 0x06, 0x4A, 0x04, 0x06, 0x44, 0x04, 0x06, 0x45, + 0x04, 0x06, 0x46, 0x04, 0x06, 0x33, 0x04, 0x06, 0x39, 0x04, 0x06, 0x41, + 0x04, 0x06, 0x35, 0x04, 0x06, 0x42, 0x04, 0x06, 0x31, 0x04, 0x06, 0x34, + 0x04, 0x06, 0x2A, 0x04, 0x06, 0x2B, 0x04, 0x06, 0x2E, 0x04, 0x06, 0x30, + 0x04, 0x06, 0x36, 0x04, 0x06, 0x38, 0x04, 0x06, 0x3A, 0xC0, 0x00, 0x30, + 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x30, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x31, + 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x32, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x33, + 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x34, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x35, + 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x36, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x37, + 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x38, 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x39, + 0x00, 0x00, 0x2C, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x41, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x42, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x43, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x44, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x45, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x46, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x47, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x48, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x49, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4A, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x4B, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4C, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4D, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x4E, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x4F, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x50, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x51, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x52, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x53, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x54, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x55, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x56, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, + 0x80, 0x00, 0x57, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x58, + 0x00, 0x00, 0x29, 0xC0, 0x00, 0x28, 0x80, 0x00, 0x59, 0x00, 0x00, 0x29, + 0xC0, 0x00, 0x28, 0x80, 0x00, 0x5A, 0x00, 0x00, 0x29, 0xC0, 0x30, 0x14, + 0x80, 0x00, 0x53, 0x00, 0x30, 0x15, 0x1C, 0x00, 0x43, 0x1C, 0x00, 0x52, + 0x9C, 0x00, 0x43, 0x00, 0x00, 0x44, 0x9C, 0x00, 0x57, 0x00, 0x00, 0x5A, + 0x38, 0x00, 0x41, 0x38, 0x00, 0x42, 0x38, 0x00, 0x43, 0x38, 0x00, 0x44, + 0x38, 0x00, 0x45, 0x38, 0x00, 0x46, 0x38, 0x00, 0x47, 0x38, 0x00, 0x48, + 0x38, 0x00, 0x49, 0x38, 0x00, 0x4A, 0x38, 0x00, 0x4B, 0x38, 0x00, 0x4C, + 0x38, 0x00, 0x4D, 0x38, 0x00, 0x4E, 0x38, 0x00, 0x4F, 0x38, 0x00, 0x50, + 0x38, 0x00, 0x51, 0x38, 0x00, 0x52, 0x38, 0x00, 0x53, 0x38, 0x00, 0x54, + 0x38, 0x00, 0x55, 0x38, 0x00, 0x56, 0x38, 0x00, 0x57, 0x38, 0x00, 0x58, + 0x38, 0x00, 0x59, 0x38, 0x00, 0x5A, 0xB8, 0x00, 0x48, 0x00, 0x00, 0x56, + 0xB8, 0x00, 0x4D, 0x00, 0x00, 0x56, 0xB8, 0x00, 0x53, 0x00, 0x00, 0x44, + 0xB8, 0x00, 0x53, 0x00, 0x00, 0x53, 0xB8, 0x00, 0x50, 0x80, 0x00, 0x50, + 0x00, 0x00, 0x56, 0xB8, 0x00, 0x57, 0x00, 0x00, 0x43, 0xA0, 0x00, 0x4D, + 0x00, 0x00, 0x43, 0xA0, 0x00, 0x4D, 0x00, 0x00, 0x44, 0xB8, 0x00, 0x44, + 0x00, 0x00, 0x4A, 0xB8, 0x30, 0x7B, 0x00, 0x30, 0x4B, 0xB8, 0x30, 0xB3, + 0x00, 0x30, 0xB3, 0x38, 0x30, 0xB5, 0x38, 0x62, 0x4B, 0x38, 0x5B, 0x57, + 0x38, 0x53, 0xCC, 0x38, 0x30, 0xC7, 0x38, 0x4E, 0x8C, 0x38, 0x59, 0x1A, + 0x38, 0x89, 0xE3, 0x38, 0x59, 0x29, 0x38, 0x4E, 0xA4, 0x38, 0x66, 0x20, + 0x38, 0x71, 0x21, 0x38, 0x65, 0x99, 0x38, 0x52, 0x4D, 0x38, 0x5F, 0x8C, + 0x38, 0x51, 0x8D, 0x38, 0x65, 0xB0, 0x38, 0x52, 0x1D, 0x38, 0x7D, 0x42, + 0x38, 0x75, 0x1F, 0x38, 0x8C, 0xA9, 0x38, 0x58, 0xF0, 0x38, 0x54, 0x39, + 0x38, 0x6F, 0x14, 0x38, 0x62, 0x95, 0x38, 0x63, 0x55, 0x38, 0x4E, 0x00, + 0x38, 0x4E, 0x09, 0x38, 0x90, 0x4A, 0x38, 0x5D, 0xE6, 0x38, 0x4E, 0x2D, + 0x38, 0x53, 0xF3, 0x38, 0x63, 0x07, 0x38, 0x8D, 0x70, 0x38, 0x62, 0x53, + 0x38, 0x79, 0x81, 0x38, 0x7A, 0x7A, 0x38, 0x54, 0x08, 0x38, 0x6E, 0x80, + 0x38, 0x67, 0x09, 0x38, 0x67, 0x08, 0x38, 0x75, 0x33, 0x38, 0x52, 0x72, + 0x38, 0x55, 0xB6, 0x38, 0x91, 0x4D, 0xC0, 0x30, 0x14, 0x80, 0x67, 0x2C, + 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x4E, 0x09, 0x00, 0x30, 0x15, + 0xC0, 0x30, 0x14, 0x80, 0x4E, 0x8C, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, + 0x80, 0x5B, 0x89, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x70, 0xB9, + 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x62, 0x53, 0x00, 0x30, 0x15, + 0xC0, 0x30, 0x14, 0x80, 0x76, 0xD7, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, + 0x80, 0x52, 0xDD, 0x00, 0x30, 0x15, 0xC0, 0x30, 0x14, 0x80, 0x65, 0x57, + 0x00, 0x30, 0x15, 0x1C, 0x5F, 0x97, 0x1C, 0x53, 0xEF, 0x00, 0x4E, 0x3D, + 0x00, 0x4E, 0x38, 0x00, 0x4E, 0x41, 0x02, 0x01, 0x22, 0x00, 0x4F, 0x60, + 0x00, 0x4F, 0xAE, 0x00, 0x4F, 0xBB, 0x00, 0x50, 0x02, 0x00, 0x50, 0x7A, + 0x00, 0x50, 0x99, 0x00, 0x50, 0xE7, 0x00, 0x50, 0xCF, 0x00, 0x34, 0x9E, + 0x02, 0x06, 0x3A, 0x00, 0x51, 0x4D, 0x00, 0x51, 0x54, 0x00, 0x51, 0x64, + 0x00, 0x51, 0x77, 0x02, 0x05, 0x1C, 0x00, 0x34, 0xB9, 0x00, 0x51, 0x67, + 0x00, 0x51, 0x8D, 0x02, 0x05, 0x4B, 0x00, 0x51, 0x97, 0x00, 0x51, 0xA4, + 0x00, 0x4E, 0xCC, 0x00, 0x51, 0xAC, 0x00, 0x51, 0xB5, 0x02, 0x91, 0xDF, + 0x00, 0x51, 0xF5, 0x00, 0x52, 0x03, 0x00, 0x34, 0xDF, 0x00, 0x52, 0x3B, + 0x00, 0x52, 0x46, 0x00, 0x52, 0x72, 0x00, 0x52, 0x77, 0x00, 0x35, 0x15, + 0x00, 0x52, 0xC7, 0x00, 0x52, 0xC9, 0x00, 0x52, 0xE4, 0x00, 0x52, 0xFA, + 0x00, 0x53, 0x05, 0x00, 0x53, 0x06, 0x00, 0x53, 0x17, 0x00, 0x53, 0x49, + 0x00, 0x53, 0x51, 0x00, 0x53, 0x5A, 0x00, 0x53, 0x73, 0x00, 0x53, 0x7D, + 0x00, 0x53, 0x7F, 0x00, 0x53, 0x7F, 0x00, 0x53, 0x7F, 0x02, 0x0A, 0x2C, + 0x00, 0x70, 0x70, 0x00, 0x53, 0xCA, 0x00, 0x53, 0xDF, 0x02, 0x0B, 0x63, + 0x00, 0x53, 0xEB, 0x00, 0x53, 0xF1, 0x00, 0x54, 0x06, 0x00, 0x54, 0x9E, + 0x00, 0x54, 0x38, 0x00, 0x54, 0x48, 0x00, 0x54, 0x68, 0x00, 0x54, 0xA2, + 0x00, 0x54, 0xF6, 0x00, 0x55, 0x10, 0x00, 0x55, 0x53, 0x00, 0x55, 0x63, + 0x00, 0x55, 0x84, 0x00, 0x55, 0x84, 0x00, 0x55, 0x99, 0x00, 0x55, 0xAB, + 0x00, 0x55, 0xB3, 0x00, 0x55, 0xC2, 0x00, 0x57, 0x16, 0x00, 0x56, 0x06, + 0x00, 0x57, 0x17, 0x00, 0x56, 0x51, 0x00, 0x56, 0x74, 0x00, 0x52, 0x07, + 0x00, 0x58, 0xEE, 0x00, 0x57, 0xCE, 0x00, 0x57, 0xF4, 0x00, 0x58, 0x0D, + 0x00, 0x57, 0x8B, 0x00, 0x58, 0x32, 0x00, 0x58, 0x31, 0x00, 0x58, 0xAC, + 0x02, 0x14, 0xE4, 0x00, 0x58, 0xF2, 0x00, 0x58, 0xF7, 0x00, 0x59, 0x06, + 0x00, 0x59, 0x1A, 0x00, 0x59, 0x22, 0x00, 0x59, 0x62, 0x02, 0x16, 0xA8, + 0x02, 0x16, 0xEA, 0x00, 0x59, 0xEC, 0x00, 0x5A, 0x1B, 0x00, 0x5A, 0x27, + 0x00, 0x59, 0xD8, 0x00, 0x5A, 0x66, 0x00, 0x36, 0xEE, 0x00, 0x36, 0xFC, + 0x00, 0x5B, 0x08, 0x00, 0x5B, 0x3E, 0x00, 0x5B, 0x3E, 0x02, 0x19, 0xC8, + 0x00, 0x5B, 0xC3, 0x00, 0x5B, 0xD8, 0x00, 0x5B, 0xE7, 0x00, 0x5B, 0xF3, + 0x02, 0x1B, 0x18, 0x00, 0x5B, 0xFF, 0x00, 0x5C, 0x06, 0x00, 0x5F, 0x53, + 0x00, 0x5C, 0x22, 0x00, 0x37, 0x81, 0x00, 0x5C, 0x60, 0x00, 0x5C, 0x6E, + 0x00, 0x5C, 0xC0, 0x00, 0x5C, 0x8D, 0x02, 0x1D, 0xE4, 0x00, 0x5D, 0x43, + 0x02, 0x1D, 0xE6, 0x00, 0x5D, 0x6E, 0x00, 0x5D, 0x6B, 0x00, 0x5D, 0x7C, + 0x00, 0x5D, 0xE1, 0x00, 0x5D, 0xE2, 0x00, 0x38, 0x2F, 0x00, 0x5D, 0xFD, + 0x00, 0x5E, 0x28, 0x00, 0x5E, 0x3D, 0x00, 0x5E, 0x69, 0x00, 0x38, 0x62, + 0x02, 0x21, 0x83, 0x00, 0x38, 0x7C, 0x00, 0x5E, 0xB0, 0x00, 0x5E, 0xB3, + 0x00, 0x5E, 0xB6, 0x00, 0x5E, 0xCA, 0x02, 0xA3, 0x92, 0x00, 0x5E, 0xFE, + 0x02, 0x23, 0x31, 0x02, 0x23, 0x31, 0x00, 0x82, 0x01, 0x00, 0x5F, 0x22, + 0x00, 0x5F, 0x22, 0x00, 0x38, 0xC7, 0x02, 0x32, 0xB8, 0x02, 0x61, 0xDA, + 0x00, 0x5F, 0x62, 0x00, 0x5F, 0x6B, 0x00, 0x38, 0xE3, 0x00, 0x5F, 0x9A, + 0x00, 0x5F, 0xCD, 0x00, 0x5F, 0xD7, 0x00, 0x5F, 0xF9, 0x00, 0x60, 0x81, + 0x00, 0x39, 0x3A, 0x00, 0x39, 0x1C, 0x00, 0x60, 0x94, 0x02, 0x26, 0xD4, + 0x00, 0x60, 0xC7, 0x00, 0x61, 0x48, 0x00, 0x61, 0x4C, 0x00, 0x61, 0x4E, + 0x00, 0x61, 0x4C, 0x00, 0x61, 0x7A, 0x00, 0x61, 0x8E, 0x00, 0x61, 0xB2, + 0x00, 0x61, 0xA4, 0x00, 0x61, 0xAF, 0x00, 0x61, 0xDE, 0x00, 0x61, 0xF2, + 0x00, 0x61, 0xF6, 0x00, 0x62, 0x10, 0x00, 0x62, 0x1B, 0x00, 0x62, 0x5D, + 0x00, 0x62, 0xB1, 0x00, 0x62, 0xD4, 0x00, 0x63, 0x50, 0x02, 0x2B, 0x0C, + 0x00, 0x63, 0x3D, 0x00, 0x62, 0xFC, 0x00, 0x63, 0x68, 0x00, 0x63, 0x83, + 0x00, 0x63, 0xE4, 0x02, 0x2B, 0xF1, 0x00, 0x64, 0x22, 0x00, 0x63, 0xC5, + 0x00, 0x63, 0xA9, 0x00, 0x3A, 0x2E, 0x00, 0x64, 0x69, 0x00, 0x64, 0x7E, + 0x00, 0x64, 0x9D, 0x00, 0x64, 0x77, 0x00, 0x3A, 0x6C, 0x00, 0x65, 0x4F, + 0x00, 0x65, 0x6C, 0x02, 0x30, 0x0A, 0x00, 0x65, 0xE3, 0x00, 0x66, 0xF8, + 0x00, 0x66, 0x49, 0x00, 0x3B, 0x19, 0x00, 0x66, 0x91, 0x00, 0x3B, 0x08, + 0x00, 0x3A, 0xE4, 0x00, 0x51, 0x92, 0x00, 0x51, 0x95, 0x00, 0x67, 0x00, + 0x00, 0x66, 0x9C, 0x00, 0x80, 0xAD, 0x00, 0x43, 0xD9, 0x00, 0x67, 0x17, + 0x00, 0x67, 0x1B, 0x00, 0x67, 0x21, 0x00, 0x67, 0x5E, 0x00, 0x67, 0x53, + 0x02, 0x33, 0xC3, 0x00, 0x3B, 0x49, 0x00, 0x67, 0xFA, 0x00, 0x67, 0x85, + 0x00, 0x68, 0x52, 0x00, 0x68, 0x85, 0x02, 0x34, 0x6D, 0x00, 0x68, 0x8E, + 0x00, 0x68, 0x1F, 0x00, 0x69, 0x14, 0x00, 0x3B, 0x9D, 0x00, 0x69, 0x42, + 0x00, 0x69, 0xA3, 0x00, 0x69, 0xEA, 0x00, 0x6A, 0xA8, 0x02, 0x36, 0xA3, + 0x00, 0x6A, 0xDB, 0x00, 0x3C, 0x18, 0x00, 0x6B, 0x21, 0x02, 0x38, 0xA7, + 0x00, 0x6B, 0x54, 0x00, 0x3C, 0x4E, 0x00, 0x6B, 0x72, 0x00, 0x6B, 0x9F, + 0x00, 0x6B, 0xBA, 0x00, 0x6B, 0xBB, 0x02, 0x3A, 0x8D, 0x02, 0x1D, 0x0B, + 0x02, 0x3A, 0xFA, 0x00, 0x6C, 0x4E, 0x02, 0x3C, 0xBC, 0x00, 0x6C, 0xBF, + 0x00, 0x6C, 0xCD, 0x00, 0x6C, 0x67, 0x00, 0x6D, 0x16, 0x00, 0x6D, 0x3E, + 0x00, 0x6D, 0x77, 0x00, 0x6D, 0x41, 0x00, 0x6D, 0x69, 0x00, 0x6D, 0x78, + 0x00, 0x6D, 0x85, 0x02, 0x3D, 0x1E, 0x00, 0x6D, 0x34, 0x00, 0x6E, 0x2F, + 0x00, 0x6E, 0x6E, 0x00, 0x3D, 0x33, 0x00, 0x6E, 0xCB, 0x00, 0x6E, 0xC7, + 0x02, 0x3E, 0xD1, 0x00, 0x6D, 0xF9, 0x00, 0x6F, 0x6E, 0x02, 0x3F, 0x5E, + 0x02, 0x3F, 0x8E, 0x00, 0x6F, 0xC6, 0x00, 0x70, 0x39, 0x00, 0x70, 0x1E, + 0x00, 0x70, 0x1B, 0x00, 0x3D, 0x96, 0x00, 0x70, 0x4A, 0x00, 0x70, 0x7D, + 0x00, 0x70, 0x77, 0x00, 0x70, 0xAD, 0x02, 0x05, 0x25, 0x00, 0x71, 0x45, + 0x02, 0x42, 0x63, 0x00, 0x71, 0x9C, 0x02, 0x43, 0xAB, 0x00, 0x72, 0x28, + 0x00, 0x72, 0x35, 0x00, 0x72, 0x50, 0x02, 0x46, 0x08, 0x00, 0x72, 0x80, + 0x00, 0x72, 0x95, 0x02, 0x47, 0x35, 0x02, 0x48, 0x14, 0x00, 0x73, 0x7A, + 0x00, 0x73, 0x8B, 0x00, 0x3E, 0xAC, 0x00, 0x73, 0xA5, 0x00, 0x3E, 0xB8, + 0x00, 0x3E, 0xB8, 0x00, 0x74, 0x47, 0x00, 0x74, 0x5C, 0x00, 0x74, 0x71, + 0x00, 0x74, 0x85, 0x00, 0x74, 0xCA, 0x00, 0x3F, 0x1B, 0x00, 0x75, 0x24, + 0x02, 0x4C, 0x36, 0x00, 0x75, 0x3E, 0x02, 0x4C, 0x92, 0x00, 0x75, 0x70, + 0x02, 0x21, 0x9F, 0x00, 0x76, 0x10, 0x02, 0x4F, 0xA1, 0x02, 0x4F, 0xB8, + 0x02, 0x50, 0x44, 0x00, 0x3F, 0xFC, 0x00, 0x40, 0x08, 0x00, 0x76, 0xF4, + 0x02, 0x50, 0xF3, 0x02, 0x50, 0xF2, 0x02, 0x51, 0x19, 0x02, 0x51, 0x33, + 0x00, 0x77, 0x1E, 0x00, 0x77, 0x1F, 0x00, 0x77, 0x1F, 0x00, 0x77, 0x4A, + 0x00, 0x40, 0x39, 0x00, 0x77, 0x8B, 0x00, 0x40, 0x46, 0x00, 0x40, 0x96, + 0x02, 0x54, 0x1D, 0x00, 0x78, 0x4E, 0x00, 0x78, 0x8C, 0x00, 0x78, 0xCC, + 0x00, 0x40, 0xE3, 0x02, 0x56, 0x26, 0x00, 0x79, 0x56, 0x02, 0x56, 0x9A, + 0x02, 0x56, 0xC5, 0x00, 0x79, 0x8F, 0x00, 0x79, 0xEB, 0x00, 0x41, 0x2F, + 0x00, 0x7A, 0x40, 0x00, 0x7A, 0x4A, 0x00, 0x7A, 0x4F, 0x02, 0x59, 0x7C, + 0x02, 0x5A, 0xA7, 0x02, 0x5A, 0xA7, 0x00, 0x7A, 0xEE, 0x00, 0x42, 0x02, + 0x02, 0x5B, 0xAB, 0x00, 0x7B, 0xC6, 0x00, 0x7B, 0xC9, 0x00, 0x42, 0x27, + 0x02, 0x5C, 0x80, 0x00, 0x7C, 0xD2, 0x00, 0x42, 0xA0, 0x00, 0x7C, 0xE8, + 0x00, 0x7C, 0xE3, 0x00, 0x7D, 0x00, 0x02, 0x5F, 0x86, 0x00, 0x7D, 0x63, + 0x00, 0x43, 0x01, 0x00, 0x7D, 0xC7, 0x00, 0x7E, 0x02, 0x00, 0x7E, 0x45, + 0x00, 0x43, 0x34, 0x02, 0x62, 0x28, 0x02, 0x62, 0x47, 0x00, 0x43, 0x59, + 0x02, 0x62, 0xD9, 0x00, 0x7F, 0x7A, 0x02, 0x63, 0x3E, 0x00, 0x7F, 0x95, + 0x00, 0x7F, 0xFA, 0x00, 0x80, 0x05, 0x02, 0x64, 0xDA, 0x02, 0x65, 0x23, + 0x00, 0x80, 0x60, 0x02, 0x65, 0xA8, 0x00, 0x80, 0x70, 0x02, 0x33, 0x5F, + 0x00, 0x43, 0xD5, 0x00, 0x80, 0xB2, 0x00, 0x81, 0x03, 0x00, 0x44, 0x0B, + 0x00, 0x81, 0x3E, 0x00, 0x5A, 0xB5, 0x02, 0x67, 0xA7, 0x02, 0x67, 0xB5, + 0x02, 0x33, 0x93, 0x02, 0x33, 0x9C, 0x00, 0x82, 0x01, 0x00, 0x82, 0x04, + 0x00, 0x8F, 0x9E, 0x00, 0x44, 0x6B, 0x00, 0x82, 0x91, 0x00, 0x82, 0x8B, + 0x00, 0x82, 0x9D, 0x00, 0x52, 0xB3, 0x00, 0x82, 0xB1, 0x00, 0x82, 0xB3, + 0x00, 0x82, 0xBD, 0x00, 0x82, 0xE6, 0x02, 0x6B, 0x3C, 0x00, 0x82, 0xE5, + 0x00, 0x83, 0x1D, 0x00, 0x83, 0x63, 0x00, 0x83, 0xAD, 0x00, 0x83, 0x23, + 0x00, 0x83, 0xBD, 0x00, 0x83, 0xE7, 0x00, 0x84, 0x57, 0x00, 0x83, 0x53, + 0x00, 0x83, 0xCA, 0x00, 0x83, 0xCC, 0x00, 0x83, 0xDC, 0x02, 0x6C, 0x36, + 0x02, 0x6D, 0x6B, 0x02, 0x6C, 0xD5, 0x00, 0x45, 0x2B, 0x00, 0x84, 0xF1, + 0x00, 0x84, 0xF3, 0x00, 0x85, 0x16, 0x02, 0x73, 0xCA, 0x00, 0x85, 0x64, + 0x02, 0x6F, 0x2C, 0x00, 0x45, 0x5D, 0x00, 0x45, 0x61, 0x02, 0x6F, 0xB1, + 0x02, 0x70, 0xD2, 0x00, 0x45, 0x6B, 0x00, 0x86, 0x50, 0x00, 0x86, 0x5C, + 0x00, 0x86, 0x67, 0x00, 0x86, 0x69, 0x00, 0x86, 0xA9, 0x00, 0x86, 0x88, + 0x00, 0x87, 0x0E, 0x00, 0x86, 0xE2, 0x00, 0x87, 0x79, 0x00, 0x87, 0x28, + 0x00, 0x87, 0x6B, 0x00, 0x87, 0x86, 0x00, 0x45, 0xD7, 0x00, 0x87, 0xE1, + 0x00, 0x88, 0x01, 0x00, 0x45, 0xF9, 0x00, 0x88, 0x60, 0x00, 0x88, 0x63, + 0x02, 0x76, 0x67, 0x00, 0x88, 0xD7, 0x00, 0x88, 0xDE, 0x00, 0x46, 0x35, + 0x00, 0x88, 0xFA, 0x00, 0x34, 0xBB, 0x02, 0x78, 0xAE, 0x02, 0x79, 0x66, + 0x00, 0x46, 0xBE, 0x00, 0x46, 0xC7, 0x00, 0x8A, 0xA0, 0x00, 0x8A, 0xED, + 0x00, 0x8B, 0x8A, 0x00, 0x8C, 0x55, 0x02, 0x7C, 0xA8, 0x00, 0x8C, 0xAB, + 0x00, 0x8C, 0xC1, 0x00, 0x8D, 0x1B, 0x00, 0x8D, 0x77, 0x02, 0x7F, 0x2F, + 0x02, 0x08, 0x04, 0x00, 0x8D, 0xCB, 0x00, 0x8D, 0xBC, 0x00, 0x8D, 0xF0, + 0x02, 0x08, 0xDE, 0x00, 0x8E, 0xD4, 0x00, 0x8F, 0x38, 0x02, 0x85, 0xD2, + 0x02, 0x85, 0xED, 0x00, 0x90, 0x94, 0x00, 0x90, 0xF1, 0x00, 0x91, 0x11, + 0x02, 0x87, 0x2E, 0x00, 0x91, 0x1B, 0x00, 0x92, 0x38, 0x00, 0x92, 0xD7, + 0x00, 0x92, 0xD8, 0x00, 0x92, 0x7C, 0x00, 0x93, 0xF9, 0x00, 0x94, 0x15, + 0x02, 0x8B, 0xFA, 0x00, 0x95, 0x8B, 0x00, 0x49, 0x95, 0x00, 0x95, 0xB7, + 0x02, 0x8D, 0x77, 0x00, 0x49, 0xE6, 0x00, 0x96, 0xC3, 0x00, 0x5D, 0xB2, + 0x00, 0x97, 0x23, 0x02, 0x91, 0x45, 0x02, 0x92, 0x1A, 0x00, 0x4A, 0x6E, + 0x00, 0x4A, 0x76, 0x00, 0x97, 0xE0, 0x02, 0x94, 0x0A, 0x00, 0x4A, 0xB2, + 0x02, 0x94, 0x96, 0x00, 0x98, 0x0B, 0x00, 0x98, 0x0B, 0x00, 0x98, 0x29, + 0x02, 0x95, 0xB6, 0x00, 0x98, 0xE2, 0x00, 0x4B, 0x33, 0x00, 0x99, 0x29, + 0x00, 0x99, 0xA7, 0x00, 0x99, 0xC2, 0x00, 0x99, 0xFE, 0x00, 0x4B, 0xCE, + 0x02, 0x9B, 0x30, 0x00, 0x9B, 0x12, 0x00, 0x9C, 0x40, 0x00, 0x9C, 0xFD, + 0x00, 0x4C, 0xCE, 0x00, 0x4C, 0xED, 0x00, 0x9D, 0x67, 0x02, 0xA0, 0xCE, + 0x00, 0x4C, 0xF8, 0x02, 0xA1, 0x05, 0x02, 0xA2, 0x0E, 0x02, 0xA2, 0x91, + 0x00, 0x9E, 0xBB, 0x00, 0x4D, 0x56, 0x00, 0x9E, 0xF9, 0x00, 0x9E, 0xFE, + 0x00, 0x9F, 0x05, 0x00, 0x9F, 0x0F, 0x00, 0x9F, 0x16, 0x00, 0x9F, 0x3B, + 0x02, 0xA6, 0x00 +}; + +const decomp_index_table_t gl_uninorm_decomp_index_table = +{ + { + 0, 32, 64, 96, 128, -1, 160, 192, + 224, 256, 288, 320, 352, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 384, 416, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 448, 480, + -1, -1, -1, -1, 512, 544, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 576, 608, -1, -1, + -1, -1, -1, 640, 672, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 704 + }, + { + -1, -1, -1, -1, -1, 0, 32, 64, + 96, 128, 160, 192, -1, 224, 256, 288, + 320, 352, -1, -1, -1, 384, 416, 448, + -1, -1, 480, 512, 544, 576, 608, 640, + 672, 704, 736, 768, -1, -1, 800, 832, + -1, -1, -1, -1, 864, -1, -1, -1, + -1, 896, -1, 928, -1, -1, 960, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 992, 1024, -1, -1, -1, 1056, -1, + -1, 1088, 1120, -1, -1, -1, -1, -1, + -1, -1, 1152, -1, 1184, -1, 1216, -1, + -1, -1, 1248, -1, -1, -1, 1280, -1, + -1, -1, 1312, -1, -1, -1, 1344, -1, + -1, 1376, -1, -1, -1, 1408, 1440, -1, + 1472, -1, 1504, 1536, 1568, 1600, -1, -1, + -1, 1632, -1, -1, -1, -1, -1, 1664, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 1696, 1728, 1760, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1792, 1824, 1856, 1888, 1920, -1, -1, + 1952, 1984, 2016, 2048, 2080, 2112, 2144, 2176, + 2208, 2240, 2272, 2304, 2336, 2368, 2400, 2432, + 2464, 2496, 2528, 2560, 2592, 2624, -1, -1, + 2656, 2688, 2720, 2752, 2784, 2816, 2848, -1, + 2880, 2912, 2944, 2976, 3008, 3040, -1, 3072, + -1, 3104, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3136, 3168, 3200, 3232, 3264, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 3296, -1, -1, 3328, -1, -1, 3360, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3392, -1, -1, -1, -1, + -1, -1, -1, 3424, -1, -1, -1, -1, + -1, -1, -1, -1, 3456, -1, -1, 3488, + 3520, 3552, 3584, 3616, 3648, 3680, 3712, -1, + 3744, 3776, 3808, 3840, 3872, 3904, 3936, 3968, + -1, 4000, 4032, 4064, 4096, -1, -1, -1, + 4128, 4160, 4192, 4224, 4256, 4288, 4320, 4352, + 4384, 4416, 4448, 4480, 4512, 4544, 4576, 4608, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4640, -1, -1, -1, + -1, -1, -1, 4672, -1, -1, -1, 4704, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4736, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 4768, 4800, 4832, 4864, 4896, 4928, 4960, 4992, + 5024, 5056, 5088, 5120, 5152, 5184, 5216, -1, + 5248, 5280, 5312, 5344, 5376, 5408, 5440, 5472, + 5504, 5536, 5568, 5600, 5632, 5664, 5696, 5728, + 5760, 5792, 5824, 5856, 5888, 5920, 5952, 5984, + 6016, 6048, 6080, 6112, 6144, 6176, 6208, 6240, + 6272, 6304, 6336, 6368, 6400, 6432, 6464, 6496, + -1, -1, -1, -1, 6528, 6560, -1, -1, + -1, 6592, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6624, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6656, -1, -1, + -1, -1, -1, -1, -1, 6688, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6720, 6752, -1, 6784, 6816, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 6848, 6880, 6912, 6944, 6976, 7008, 7040, 7072, + 7104, 7136, 7168, 7200, 7232, 7264, 7296, 7328, + 7360, 7392, 7424, 7456, 7488, 7520, 7552, 7584, + 7616, 7648, 7680, 7712, 7744, 7776, 7808, 7840, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 7872, 7904, 7936, 7968, 8000, 8032, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 8064, 8096, 8128, 8160, 8192, -1, -1, -1, + 8224, 8256, 8288, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 8320, 8352, 8384, 8416, 8448, 8480, 8512, 8544, + 8576, 8608, 8640, 8672, 8704, 8736, 8768, 8800, + 8832, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }, + { + 32768, -1, -1, -1, -1, -1, -1, -1, + 32769, -1, 32771, -1, -1, -1, -1, 32772, + -1, -1, 32774, 32775, 32776, 32778, -1, -1, + 32779, 32781, 32782, -1, 32783, 32786, 32789, -1, + 24, 26, 28, 30, 32, 34, -1, 36, + 38, 40, 42, 44, 46, 48, 50, 52, + -1, 54, 56, 58, 60, 62, 64, -1, + -1, 66, 68, 70, 72, 74, -1, -1, + 76, 78, 80, 82, 84, 86, -1, 88, + 90, 92, 94, 96, 98, 100, 102, 104, + -1, 106, 108, 110, 112, 114, 116, -1, + -1, 118, 120, 122, 124, 126, -1, 128, + 130, 132, 134, 136, 138, 140, 142, 144, + 146, 148, 150, 152, 154, 156, 158, 160, + -1, -1, 162, 164, 166, 168, 170, 172, + 174, 176, 178, 180, 182, 184, 186, 188, + 190, 192, 194, 196, 198, 200, -1, -1, + 202, 204, 206, 208, 210, 212, 214, 216, + 218, -1, 32988, 32990, 224, 226, 228, 230, + -1, 232, 234, 236, 238, 240, 242, 33012, + 33014, -1, -1, 248, 250, 252, 254, 256, + 258, 33028, -1, -1, 262, 264, 266, 268, + 270, 272, -1, -1, 274, 276, 278, 280, + 282, 284, 286, 288, 290, 292, 294, 296, + 298, 300, 302, 304, 306, 308, -1, -1, + 310, 312, 314, 316, 318, 320, 322, 324, + 326, 328, 330, 332, 334, 336, 338, 340, + 342, 344, 346, 348, 350, 352, 354, 33124, + 357, 359, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 361, + 363, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33133, 33135, 33137, 33139, + 33141, 33143, 33145, 33147, 33149, 383, 385, 387, + 389, 391, 393, 395, 397, 399, 401, 403, + 405, 407, 409, 411, 413, -1, 415, 417, + 419, 421, 423, 425, -1, -1, 427, 429, + 431, 433, 435, 437, 439, 441, 443, 445, + 447, 33217, 33219, 33221, 455, 457, -1, -1, + 459, 461, 463, 465, 467, 469, 471, 473, + 475, 477, 479, 481, 483, 485, 487, 489, + 491, 493, 495, 497, 499, 501, 503, 505, + 507, 509, 511, 513, 515, 517, 519, 521, + 523, 525, 527, 529, -1, -1, 531, 533, + -1, -1, -1, -1, -1, -1, 535, 537, + 539, 541, 543, 545, 547, 549, 551, 553, + 555, 557, 559, 561, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 33331, 33332, 33333, 33334, 33335, 33336, 33337, 33338, + 33339, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 33340, 33342, 33344, 33346, 33348, 33350, -1, -1, + 33352, 33353, 33354, 33355, 33356, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 589, 590, -1, 591, 592, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 594, -1, -1, -1, + -1, -1, 33363, -1, -1, -1, 597, -1, + -1, -1, -1, -1, 33366, 600, 602, 604, + 605, 607, 609, -1, 611, -1, 613, 615, + 617, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 619, 621, 623, 625, 627, 629, + 631, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 633, 635, 637, 639, 641, -1, + 33411, 33412, 33413, 646, 648, 33418, 33419, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 33420, 33421, 33422, -1, 33423, 33424, -1, -1, + -1, 33425, -1, -1, -1, -1, -1, -1, + 658, 660, -1, 662, -1, -1, -1, 664, + -1, -1, -1, -1, 666, 668, 670, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 672, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 674, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 676, 678, -1, 680, -1, -1, -1, 682, + -1, -1, -1, -1, 684, 686, 688, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 690, 692, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 694, 696, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 698, 700, 702, 704, -1, -1, 706, 708, + -1, -1, 710, 712, 714, 716, 718, 720, + -1, -1, 722, 724, 726, 728, 730, 732, + -1, -1, 734, 736, 738, 740, 742, 744, + 746, 748, 750, 752, 754, 756, -1, -1, + 758, 760, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 33530, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 764, 766, 768, 770, 772, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 33542, 33544, 33546, + 33548, -1, -1, -1, -1, -1, -1, -1, + 782, -1, 784, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 786, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 788, -1, -1, -1, -1, -1, -1, + -1, 790, -1, -1, 792, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 794, 796, 798, 800, 802, 804, 806, 808, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 810, 812, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 814, 816, -1, 818, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 820, -1, -1, 822, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 824, 826, 828, -1, -1, 830, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 832, -1, -1, 834, 836, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 838, 840, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 842, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 844, 846, 848, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 850, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 852, -1, -1, -1, -1, -1, -1, 854, + 856, -1, 858, 860, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 862, 864, 866, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 868, -1, 870, 872, 874, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33644, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33646, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33648, 33650, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33652, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 885, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 887, -1, -1, + -1, -1, 889, -1, -1, -1, -1, 891, + -1, -1, -1, -1, 893, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 895, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 897, -1, 899, 901, 33671, + 905, 33675, -1, -1, -1, -1, -1, -1, + -1, 909, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 911, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 913, -1, -1, + -1, -1, 915, -1, -1, -1, -1, 917, + -1, -1, -1, -1, 919, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 921, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 923, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33693, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 926, -1, + 928, -1, 930, -1, 932, -1, 934, -1, + -1, -1, 936, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 938, -1, 940, -1, -1, + 942, 944, -1, 946, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 33716, 33717, 33718, -1, + 33719, 33720, 33721, 33722, 33723, 33724, 33725, 33726, + 33727, 33728, 33729, -1, 33730, 33731, 33732, 33733, + 33734, 33735, 33736, 33737, 33738, 33739, 33740, 33741, + 33742, 33743, 33744, 33745, 33746, 33747, -1, 33748, + 33749, 33750, 33751, 33752, 33753, 33754, 33755, 33756, + 33757, 33758, 33759, 33760, 33761, 33762, 33763, 33764, + 33765, 33766, 33767, 33768, 33769, 33770, 33771, 33772, + 33773, 33774, 33775, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 33776, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 33777, 33778, 33779, 33780, 33781, + 33782, 33783, 33784, 33785, 33786, 33787, 33788, 33789, + 33790, 33791, 33792, 33793, 33794, 33795, 33796, 33797, + 33798, 33799, 33800, 33801, 33802, 33803, 33804, 33805, + 33806, 33807, 33808, 33809, 33810, 33811, 33812, 33813, + 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, + 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, + 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, + 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, + 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, + 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, + 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, + 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, + 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, + 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, + 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, + 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, + 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, + 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, + 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, + 1286, 1288, 1290, 1292, 1294, 1296, 1298, 1300, + 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316, + 1318, 1320, 1322, 1324, 1326, 1328, 1330, 1332, + 1334, 1336, 1338, 1340, 1342, 1344, 1346, 1348, + 1350, 1352, 34122, 1356, -1, -1, -1, -1, + 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, + 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, + 1390, 1392, 1394, 1396, 1398, 1400, 1402, 1404, + 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420, + 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436, + 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1452, + 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, + 1470, 1472, 1474, 1476, 1478, 1480, 1482, 1484, + 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500, + 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516, + 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, + 1534, 1536, -1, -1, -1, -1, -1, -1, + 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, + 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, + 1570, 1572, 1574, 1576, 1578, 1580, -1, -1, + 1582, 1584, 1586, 1588, 1590, 1592, -1, -1, + 1594, 1596, 1598, 1600, 1602, 1604, 1606, 1608, + 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624, + 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640, + 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656, + 1658, 1660, 1662, 1664, 1666, 1668, -1, -1, + 1670, 1672, 1674, 1676, 1678, 1680, -1, -1, + 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, + -1, 1698, -1, 1700, -1, 1702, -1, 1704, + 1706, 1708, 1710, 1712, 1714, 1716, 1718, 1720, + 1722, 1724, 1726, 1728, 1730, 1732, 1734, 1736, + 1738, 1740, 1741, 1743, 1744, 1746, 1747, 1749, + 1750, 1752, 1753, 1755, 1756, 1758, -1, -1, + 1759, 1761, 1763, 1765, 1767, 1769, 1771, 1773, + 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1789, + 1791, 1793, 1795, 1797, 1799, 1801, 1803, 1805, + 1807, 1809, 1811, 1813, 1815, 1817, 1819, 1821, + 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837, + 1839, 1841, 1843, 1845, 1847, 1849, 1851, 1853, + 1855, 1857, 1859, 1861, 1863, -1, 1865, 1867, + 1869, 1871, 1873, 1875, 1876, 34646, 1880, 34649, + 34651, 1885, 1887, 1889, 1891, -1, 1893, 1895, + 1897, 1899, 1900, 1902, 1903, 1905, 1907, 1909, + 1911, 1913, 1915, 1917, -1, -1, 1918, 1920, + 1922, 1924, 1926, 1928, -1, 1929, 1931, 1933, + 1935, 1937, 1939, 1941, 1942, 1944, 1946, 1948, + 1950, 1952, 1954, 1956, 1957, 1959, 1961, 1962, + -1, -1, 1963, 1965, 1967, -1, 1969, 1971, + 1973, 1975, 1976, 1978, 1979, 1981, 34750, -1, + 1984, 1985, 34754, 34755, 34756, 34757, 34758, 34759, + 34760, 34761, 34762, -1, -1, -1, -1, -1, + -1, 34763, -1, -1, -1, -1, -1, 34764, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 34766, 34767, 34769, -1, + -1, -1, -1, -1, -1, -1, -1, 34772, + -1, -1, -1, 34773, 34775, -1, 34778, 34780, + -1, -1, -1, -1, 34783, -1, 34785, -1, + -1, -1, -1, -1, -1, -1, -1, 34787, + 34789, 34791, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 34793, + -1, -1, -1, -1, -1, -1, -1, 34797, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 34798, 34799, -1, -1, 34800, 34801, 34802, 34803, + 34804, 34805, 34806, 34807, 34808, 34809, 34810, 34811, + 34812, 34813, 34814, 34815, 34816, 34817, 34818, 34819, + 34820, 34821, 34822, 34823, 34824, 34825, 34826, -1, + 34827, 34828, 34829, 34830, 34831, 34832, 34833, 34834, + 34835, 34836, 34837, 34838, 34839, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 34840, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 34842, 34845, 34848, 34849, -1, 34851, 34854, 34857, + -1, 34858, 34860, 34861, 34862, 34863, 34864, 34865, + 34866, 34867, 34868, 34869, -1, 34870, 34871, -1, + -1, 34873, 34874, 34875, 34876, 34877, -1, -1, + 34878, 34880, 34883, -1, 34885, -1, 2118, -1, + 34887, -1, 2120, 2121, 34890, 34891, -1, 34892, + 34893, 34894, -1, 34895, 34896, 34897, 34898, 34899, + 34900, 34901, -1, 34902, 34905, 34906, 34907, 34908, + 34909, -1, -1, -1, -1, 34910, 34911, 34912, + 34913, 34914, -1, -1, -1, -1, -1, -1, + 34915, 34918, 34921, 34925, 34928, 34931, 34934, 34937, + 34940, 34943, 34946, 34949, 34952, 34955, 34958, 34961, + 34963, 34964, 34966, 34969, 34971, 34972, 34974, 34977, + 34981, 34983, 34984, 34986, 34989, 34990, 34991, 34992, + 34993, 34994, 34996, 34999, 35001, 35002, 35004, 35007, + 35011, 35013, 35014, 35016, 35019, 35020, 35021, 35022, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 35023, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2258, 2260, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2262, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2264, 2266, 2268, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2270, -1, -1, -1, + -1, 2272, -1, -1, 2274, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2276, -1, 2278, -1, + -1, -1, -1, -1, 35048, 35050, -1, 35053, + 35055, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2290, -1, -1, 2292, -1, -1, 2294, + -1, 2296, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 2298, -1, 2300, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2302, 2304, 2306, + 2308, 2310, -1, -1, 2312, 2314, -1, -1, + 2316, 2318, -1, -1, -1, -1, -1, -1, + 2320, 2322, -1, -1, 2324, 2326, -1, -1, + 2328, 2330, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2332, 2334, 2336, 2338, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 2340, 2342, 2344, 2346, -1, -1, -1, -1, + -1, -1, 2348, 2350, 2352, 2354, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2356, 2357, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 35126, 35127, 35128, 35129, 35130, 35131, 35132, 35133, + 35134, 35135, 35137, 35139, 35141, 35143, 35145, 35147, + 35149, 35151, 35153, 35155, 35157, 35160, 35163, 35166, + 35169, 35172, 35175, 35178, 35181, 35184, 35188, 35192, + 35196, 35200, 35204, 35208, 35212, 35216, 35220, 35224, + 35228, 35230, 35232, 35234, 35236, 35238, 35240, 35242, + 35244, 35246, 35249, 35252, 35255, 35258, 35261, 35264, + 35267, 35270, 35273, 35276, 35279, 35282, 35285, 35288, + 35291, 35294, 35297, 35300, 35303, 35306, 35309, 35312, + 35315, 35318, 35321, 35324, 35327, 35330, 35333, 35336, + 35339, 35342, 35345, 35348, 35351, 35354, 35357, 35358, + 35359, 35360, 35361, 35362, 35363, 35364, 35365, 35366, + 35367, 35368, 35369, 35370, 35371, 35372, 35373, 35374, + 35375, 35376, 35377, 35378, 35379, 35380, 35381, 35382, + 35383, 35384, 35385, 35386, 35387, 35388, 35389, 35390, + 35391, 35392, 35393, 35394, 35395, 35396, 35397, 35398, + 35399, 35400, 35401, 35402, 35403, 35404, 35405, 35406, + 35407, 35408, 35409, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 35410, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 35414, 35417, 35419, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2654, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 35424, 35425, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 35426, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 35427, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 35428, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 35429, 35430, 35431, 35432, 35433, 35434, 35435, 35436, + 35437, 35438, 35439, 35440, 35441, 35442, 35443, 35444, + 35445, 35446, 35447, 35448, 35449, 35450, 35451, 35452, + 35453, 35454, 35455, 35456, 35457, 35458, 35459, 35460, + 35461, 35462, 35463, 35464, 35465, 35466, 35467, 35468, + 35469, 35470, 35471, 35472, 35473, 35474, 35475, 35476, + 35477, 35478, 35479, 35480, 35481, 35482, 35483, 35484, + 35485, 35486, 35487, 35488, 35489, 35490, 35491, 35492, + 35493, 35494, 35495, 35496, 35497, 35498, 35499, 35500, + 35501, 35502, 35503, 35504, 35505, 35506, 35507, 35508, + 35509, 35510, 35511, 35512, 35513, 35514, 35515, 35516, + 35517, 35518, 35519, 35520, 35521, 35522, 35523, 35524, + 35525, 35526, 35527, 35528, 35529, 35530, 35531, 35532, + 35533, 35534, 35535, 35536, 35537, 35538, 35539, 35540, + 35541, 35542, 35543, 35544, 35545, 35546, 35547, 35548, + 35549, 35550, 35551, 35552, 35553, 35554, 35555, 35556, + 35557, 35558, 35559, 35560, 35561, 35562, 35563, 35564, + 35565, 35566, 35567, 35568, 35569, 35570, 35571, 35572, + 35573, 35574, 35575, 35576, 35577, 35578, 35579, 35580, + 35581, 35582, 35583, 35584, 35585, 35586, 35587, 35588, + 35589, 35590, 35591, 35592, 35593, 35594, 35595, 35596, + 35597, 35598, 35599, 35600, 35601, 35602, 35603, 35604, + 35605, 35606, 35607, 35608, 35609, 35610, 35611, 35612, + 35613, 35614, 35615, 35616, 35617, 35618, 35619, 35620, + 35621, 35622, 35623, 35624, 35625, 35626, 35627, 35628, + 35629, 35630, 35631, 35632, 35633, 35634, 35635, 35636, + 35637, 35638, 35639, 35640, 35641, 35642, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 35643, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 35644, -1, + 35645, 35646, 35647, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2880, -1, 2882, -1, + 2884, -1, 2886, -1, 2888, -1, 2890, -1, + 2892, -1, 2894, -1, 2896, -1, 2898, -1, + 2900, -1, 2902, -1, -1, 2904, -1, 2906, + -1, 2908, -1, -1, -1, -1, -1, -1, + 2910, 2912, -1, 2914, 2916, -1, 2918, 2920, + -1, 2922, 2924, -1, 2926, 2928, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2930, -1, -1, -1, + -1, -1, -1, 35700, 35702, -1, 2936, 35706, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2940, -1, 2942, -1, + 2944, -1, 2946, -1, 2948, -1, 2950, -1, + 2952, -1, 2954, -1, 2956, -1, 2958, -1, + 2960, -1, 2962, -1, -1, 2964, -1, 2966, + -1, 2968, -1, -1, -1, -1, -1, -1, + 2970, 2972, -1, 2974, 2976, -1, 2978, 2980, + -1, 2982, 2984, -1, 2986, 2988, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2990, -1, -1, 2992, + 2994, 2996, 2998, -1, -1, -1, 3000, 35770, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, 35772, 35773, 35774, 35775, 35776, 35777, 35778, + 35779, 35780, 35781, 35782, 35783, 35784, 35785, 35786, + 35787, 35788, 35789, 35790, 35791, 35792, 35793, 35794, + 35795, 35796, 35797, 35798, 35799, 35800, 35801, 35802, + 35803, 35804, 35805, 35806, 35807, 35808, 35809, 35810, + 35811, 35812, 35813, 35814, 35815, 35816, 35817, 35818, + 35819, 35820, 35821, 35822, 35823, 35824, 35825, 35826, + 35827, 35828, 35829, 35830, 35831, 35832, 35833, 35834, + 35835, 35836, 35837, 35838, 35839, 35840, 35841, 35842, + 35843, 35844, 35845, 35846, 35847, 35848, 35849, 35850, + 35851, 35852, 35853, 35854, 35855, 35856, 35857, 35858, + 35859, 35860, 35861, 35862, 35863, 35864, 35865, -1, + -1, -1, 35866, 35867, 35868, 35869, 35870, 35871, + 35872, 35873, 35874, 35875, 35876, 35877, 35878, 35879, + 35880, 35883, 35886, 35889, 35892, 35895, 35898, 35901, + 35904, 35907, 35910, 35913, 35916, 35919, 35922, 35926, + 35930, 35934, 35938, 35942, 35946, 35950, 35954, 35958, + 35962, 35966, 35970, 35974, 35978, 35982, 35989, -1, + 35995, 35998, 36001, 36004, 36007, 36010, 36013, 36016, + 36019, 36022, 36025, 36028, 36031, 36034, 36037, 36040, + 36043, 36046, 36049, 36052, 36055, 36058, 36061, 36064, + 36067, 36070, 36073, 36076, 36079, 36082, 36085, 36088, + 36091, 36094, 36097, 36100, 36103, 36104, 36105, 36106, + -1, -1, -1, -1, -1, -1, -1, -1, + 36107, 36110, 36112, 36114, 36116, 36118, 36120, 36122, + 36124, 36126, 36128, 36130, 36132, 36134, 36136, 36138, + 36140, 36141, 36142, 36143, 36144, 36145, 36146, 36147, + 36148, 36149, 36150, 36151, 36152, 36153, 36154, 36156, + 36158, 36160, 36162, 36164, 36166, 36168, 36170, 36172, + 36174, 36176, 36178, 36180, 36182, 36187, 36191, -1, + 36193, 36194, 36195, 36196, 36197, 36198, 36199, 36200, + 36201, 36202, 36203, 36204, 36205, 36206, 36207, 36208, + 36209, 36210, 36211, 36212, 36213, 36214, 36215, 36216, + 36217, 36218, 36219, 36220, 36221, 36222, 36223, 36224, + 36225, 36226, 36227, 36228, 36229, 36230, 36231, 36232, + 36233, 36234, 36235, 36236, 36237, 36238, 36239, 36240, + 36241, 36242, 36244, 36246, 36248, 36250, 36252, 36254, + 36256, 36258, 36260, 36262, 36264, 36266, 36268, 36270, + 36272, 36274, 36276, 36278, 36280, 36282, 36284, 36286, + 36288, 36290, 36293, 36296, 36299, 36301, 36304, 36306, + 36309, 36310, 36311, 36312, 36313, 36314, 36315, 36316, + 36317, 36318, 36319, 36320, 36321, 36322, 36323, 36324, + 36325, 36326, 36327, 36328, 36329, 36330, 36331, 36332, + 36333, 36334, 36335, 36336, 36337, 36338, 36339, 36340, + 36341, 36342, 36343, 36344, 36345, 36346, 36347, 36348, + 36349, 36350, 36351, 36352, 36353, 36354, 36355, -1, + 36356, 36360, 36364, 36368, 36371, 36375, 36378, 36381, + 36386, 36390, 36393, 36396, 36399, 36403, 36407, 36410, + 36413, 36415, 36418, 36422, 36426, 36428, 36433, 36439, + 36444, 36447, 36452, 36457, 36461, 36464, 36467, 36470, + 36474, 36479, 36483, 36486, 36489, 36492, 36494, 36496, + 36498, 36500, 36503, 36506, 36511, 36514, 36518, 36523, + 36526, 36528, 36530, 36535, 36539, 36544, 36547, 36552, + 36554, 36557, 36560, 36563, 36566, 36569, 36573, 36576, + 36578, 36581, 36584, 36587, 36591, 36594, 36597, 36600, + 36605, 36609, 36611, 36616, 36618, 36622, 36626, 36629, + 36632, 36635, 36639, 36641, 36644, 36648, 36650, 36655, + 36658, 36660, 36662, 36664, 36666, 36668, 36670, 36672, + 36674, 36676, 36678, 36681, 36684, 36687, 36690, 36693, + 36696, 36699, 36702, 36705, 36708, 36711, 36714, 36717, + 36720, 36723, 36726, 36728, 36730, 36733, 36735, 36737, + 36739, 36742, 36745, 36747, 36749, 36751, 36753, 36755, + 36759, 36761, 36763, 36765, 36767, 36769, 36771, 36773, + 36775, 36778, 36782, 36784, 36786, 36788, 36790, 36792, + 36794, 36796, 36799, 36802, 36805, 36808, 36810, 36812, + 36814, 36816, 36818, 36820, 36822, 36824, 36826, 36828, + 36831, 36834, 36836, 36839, 36842, 36845, 36847, 36850, + 36853, 36857, 36859, 36862, 36865, 36868, 36871, 36876, + 36882, 36884, 36886, 36888, 36890, 36892, 36894, 36896, + 36898, 36900, 36902, 36904, 36906, 36908, 36910, 36912, + 36914, 36916, 36918, 36922, 36924, 36926, 36928, 36932, + 36935, 36937, 36939, 36941, 36943, 36945, 36947, 36949, + 36951, 36953, 36955, 36958, 36960, 36962, 36965, 36968, + 36970, 36974, 36977, 36979, 36981, 36983, 36985, 36988, + 36991, 36993, 36995, 36997, 36999, 37001, 37003, 37005, + 37007, 37009, 37012, 37015, 37018, 37021, 37024, 37027, + 37030, 37033, 37036, 37039, 37042, 37045, 37048, 37051, + 37054, 37057, 37060, 37063, 37066, 37069, 37072, 37075, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37078, 37079, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 37080, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 37081, 37082, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37083, 37084, 37085, 37086, + 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4326, + 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, + 4335, 4336, 4337, 4338, 4339, 4340, 4341, 4342, + 4343, 4344, 4345, 4346, 4347, 4348, 4349, 4350, + 4351, 4352, 4353, 4354, 4355, 4356, 4357, 4358, + 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4366, + 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, + 4375, 4376, 4377, 4378, 4379, 4380, 4381, 4382, + 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, + 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4398, + 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, + 4407, 4408, 4409, 4410, 4411, 4412, 4413, 4414, + 4415, 4416, 4417, 4418, 4419, 4420, 4421, 4422, + 4423, 4424, 4425, 4426, 4427, 4428, 4429, 4430, + 4431, 4432, 4433, 4434, 4435, 4436, 4437, 4438, + 4439, 4440, 4441, 4442, 4443, 4444, 4445, 4446, + 4447, 4448, 4449, 4450, 4451, 4452, 4453, 4454, + 4455, 4456, 4457, 4458, 4459, 4460, 4461, 4462, + 4463, 4464, 4465, 4466, 4467, 4468, 4469, 4470, + 4471, 4472, 4473, 4474, 4475, 4476, 4477, 4478, + 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, + 4487, 4488, 4489, 4490, 4491, 4492, 4493, 4494, + 4495, 4496, 4497, 4498, 4499, 4500, 4501, 4502, + 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, + 4511, 4512, 4513, 4514, 4515, 4516, 4517, 4518, + 4519, 4520, 4521, 4522, 4523, 4524, 4525, 4526, + 4527, 4528, 4529, 4530, 4531, 4532, 4533, 4534, + 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, + 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, + 4551, 4552, 4553, 4554, 4555, 4556, 4557, 4558, + 4559, 4560, 4561, 4562, 4563, 4564, 4565, 4566, + 4567, 4568, 4569, 4570, 4571, 4572, 4573, 4574, + 4575, 4576, 4577, 4578, 4579, 4580, 4581, 4582, + 4583, 4584, 4585, 4586, 4587, 4588, -1, -1, + 4589, -1, 4590, -1, -1, 4591, 4592, 4593, + 4594, 4595, 4596, 4597, 4598, 4599, 4600, -1, + 4601, -1, 4602, -1, -1, 4603, 4604, -1, + -1, -1, 4605, 4606, 4607, 4608, 4609, 4610, + 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, + 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4626, + 4627, 4628, 4629, 4630, 4631, 4632, 4633, 4634, + 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4642, + 4643, 4644, 4645, 4646, 4647, 4648, 4649, 4650, + 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, + 4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, + 4667, 4668, 4669, 4670, 4671, 4672, -1, -1, + 4673, 4674, 4675, 4676, 4677, 4678, 4679, 4680, + 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688, + 4689, 4690, 4691, 4692, 4693, 4694, 4695, 4696, + 4697, 4698, 4699, 4700, 4701, 4702, 4703, 4704, + 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, + 4713, 4714, 4715, 4716, 4717, 4718, 4719, 4720, + 4721, 4722, 4723, 4724, 4725, 4726, 4727, 4728, + 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4736, + 4737, 4738, 4739, 4740, 4741, 4742, 4743, 4744, + 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, + 4753, 4754, 4755, 4756, 4757, 4758, 4759, 4760, + 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, + 4769, 4770, 4771, 4772, 4773, 4774, 4775, 4776, + 4777, 4778, -1, -1, -1, -1, -1, -1, + 37547, 37549, 37551, 37553, 37556, 37559, 37561, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37563, 37565, 37567, 37569, 37571, + -1, -1, -1, -1, -1, 4805, -1, 4807, + 37577, 37578, 37579, 37580, 37581, 37582, 37583, 37584, + 37585, 37586, 4819, 4821, 4823, 4825, 4827, 4829, + 4831, 4833, 4835, 4837, 4839, 4841, 4843, -1, + 4845, 4847, 4849, 4851, 4853, -1, 4855, -1, + 4857, 4859, -1, 4861, 4863, -1, 4865, 4867, + 4869, 4871, 4873, 4875, 4877, 4879, 4881, 37651, + 37653, 37654, 37655, 37656, 37657, 37658, 37659, 37660, + 37661, 37662, 37663, 37664, 37665, 37666, 37667, 37668, + 37669, 37670, 37671, 37672, 37673, 37674, 37675, 37676, + 37677, 37678, 37679, 37680, 37681, 37682, 37683, 37684, + 37685, 37686, 37687, 37688, 37689, 37690, 37691, 37692, + 37693, 37694, 37695, 37696, 37697, 37698, 37699, 37700, + 37701, 37702, 37703, 37704, 37705, 37706, 37707, 37708, + 37709, 37710, 37711, 37712, 37713, 37714, 37715, 37716, + 37717, 37718, 37719, 37720, 37721, 37722, 37723, 37724, + 37725, 37726, 37727, 37728, 37729, 37730, 37731, 37732, + 37733, 37734, 37735, 37736, 37737, 37738, 37739, 37740, + 37741, 37742, 37743, 37744, 37745, 37746, 37747, 37748, + 37749, 37750, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 37751, 37752, 37753, 37754, 37755, + 37756, 37757, 37758, 37759, 37760, 37761, 37762, 37763, + 37764, 37765, 37766, 37767, 37768, 37769, 37770, 37771, + 37772, 37773, 37774, 37776, 37778, 37780, 37782, 37784, + 37786, 37788, 37790, 37792, 37794, 37796, 37798, 37800, + 37802, 37804, 37806, 37808, 37810, 37811, 37812, 37813, + 37814, 37816, 37818, 37820, 37822, 37824, 37826, 37828, + 37830, 37832, 37834, 37836, 37838, 37840, 37842, 37844, + 37846, 37848, 37850, 37852, 37854, 37856, 37858, 37860, + 37862, 37864, 37866, 37868, 37870, 37872, 37874, 37876, + 37878, 37880, 37882, 37884, 37886, 37888, 37890, 37892, + 37894, 37896, 37898, 37900, 37902, 37904, 37906, 37908, + 37910, 37912, 37914, 37916, 37918, 37920, 37922, 37924, + 37926, 37928, 37930, 37932, 37934, 37936, 37938, 37940, + 37942, 37944, 37946, 37948, 37950, 37952, 37954, 37956, + 37958, 37960, 37962, 37964, 37966, 37968, 37970, 37972, + 37974, 37976, 37978, 37980, 37982, 37984, 37986, 37988, + 37990, 37992, 37994, 37996, 37998, 38000, 38002, 38005, + 38008, 38011, 38014, 38017, 38020, 38022, 38024, 38026, + 38028, 38030, 38032, 38034, 38036, 38038, 38040, 38042, + 38044, 38046, 38048, 38050, 38052, 38054, 38056, 38058, + 38060, 38062, 38064, 38066, 38068, 38070, 38072, 38074, + 38076, 38078, 38080, 38082, 38084, 38086, 38088, 38090, + 38092, 38094, 38096, 38098, 38100, 38102, 38104, 38106, + 38108, 38110, 38112, 38114, 38116, 38118, 38120, 38122, + 38124, 38126, 38128, 38130, 38132, 38134, 38136, 38138, + 38140, 38142, 38144, 38146, 38148, 38150, 38152, 38154, + 38156, 38158, 38160, 38162, 38164, 38166, 38168, 38170, + 38172, 38174, 38176, 38178, 38180, 38182, 38184, 38186, + 38188, 38190, 38192, 38194, 38196, 38198, 38200, 38202, + 38204, 38206, 38208, 38210, 38212, 38214, 38216, 38218, + 38220, 38222, 38224, 38226, 38228, 38230, 38232, 38234, + 38236, 38238, 38240, 38242, 38244, 38246, 38248, 38250, + 38252, 38254, 38256, 38258, 38260, 38262, 38264, 38266, + 38268, 38270, 38272, 38274, 38276, 38278, 38280, 38282, + 38284, 38286, 38288, 38290, 38292, 38294, 38296, 38298, + 38300, 38302, 38304, 38307, 38310, 38313, 38315, 38317, + 38319, 38321, 38323, 38325, 38327, 38329, 38331, 38333, + 38335, 38337, 38339, 38341, 38343, 38345, 38347, 38349, + 38351, 38353, 38355, 38357, 38359, 38361, 38363, 38365, + 38367, 38369, 38371, 38373, 38375, 38377, 38379, 38381, + 38383, 38385, 38387, 38389, 38391, 38393, 38395, 38397, + 38399, 38401, 38403, 38405, 38407, 38409, 38411, 38413, + 38415, 38417, 38419, 38421, 38423, 38425, 38427, 38429, + 38431, 38433, 38435, 38437, 38439, 38441, 38443, 38445, + 38447, 38449, 38451, 38453, 38455, 38457, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 38459, 38462, 38465, 38468, 38471, 38474, 38477, 38480, + 38483, 38486, 38489, 38492, 38495, 38498, 38501, 38504, + 38507, 38510, 38513, 38516, 38519, 38522, 38525, 38528, + 38531, 38534, 38537, 38540, 38543, 38546, 38549, 38552, + 38555, 38558, 38561, 38564, 38567, 38570, 38573, 38576, + 38579, 38582, 38585, 38588, 38591, 38594, 38597, 38600, + 38603, 38606, 38609, 38612, 38615, 38618, 38621, 38624, + 38627, 38630, 38633, 38636, 38639, 38642, 38645, 38648, + -1, -1, 38651, 38654, 38657, 38660, 38663, 38666, + 38669, 38672, 38675, 38678, 38681, 38684, 38687, 38690, + 38693, 38696, 38699, 38702, 38705, 38708, 38711, 38714, + 38717, 38720, 38723, 38726, 38729, 38732, 38735, 38738, + 38741, 38744, 38747, 38750, 38753, 38756, 38759, 38762, + 38765, 38768, 38771, 38774, 38777, 38780, 38783, 38786, + 38789, 38792, 38795, 38798, 38801, 38804, 38807, 38810, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 38813, 38816, 38819, 38823, 38827, 38831, 38835, 38839, + 38843, 38847, 38850, 38868, 38876, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 38880, 38881, 38882, 38883, 38884, 38885, 38886, 38887, + 38888, 38889, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 38890, 38891, 38892, 38893, 38894, 38895, 38896, 38897, + 38898, 38899, 38900, 38901, 38902, 38903, 38904, 38905, + 38906, 38907, 38908, 38909, 38910, -1, -1, 38911, + 38912, 38913, 38914, 38915, 38916, 38917, 38918, 38919, + 38920, 38921, 38922, -1, 38923, 38924, 38925, 38926, + 38927, 38928, 38929, 38930, 38931, 38932, 38933, 38934, + 38935, 38936, 38937, 38938, 38939, 38940, 38941, -1, + 38942, 38943, 38944, 38945, -1, -1, -1, -1, + 38946, 38948, 38950, -1, 38952, -1, 38954, 38956, + 38958, 38960, 38962, 38964, 38966, 38968, 38970, 38972, + 38974, 38975, 38976, 38977, 38978, 38979, 38980, 38981, + 38982, 38983, 38984, 38985, 38986, 38987, 38988, 38989, + 38990, 38991, 38992, 38993, 38994, 38995, 38996, 38997, + 38998, 38999, 39000, 39001, 39002, 39003, 39004, 39005, + 39006, 39007, 39008, 39009, 39010, 39011, 39012, 39013, + 39014, 39015, 39016, 39017, 39018, 39019, 39020, 39021, + 39022, 39023, 39024, 39025, 39026, 39027, 39028, 39029, + 39030, 39031, 39032, 39033, 39034, 39035, 39036, 39037, + 39038, 39039, 39040, 39041, 39042, 39043, 39044, 39045, + 39046, 39047, 39048, 39049, 39050, 39051, 39052, 39053, + 39054, 39055, 39056, 39057, 39058, 39059, 39060, 39061, + 39062, 39063, 39064, 39065, 39066, 39067, 39068, 39069, + 39070, 39071, 39072, 39073, 39074, 39075, 39076, 39077, + 39078, 39079, 39080, 39081, 39082, 39083, 39084, 39085, + 39086, 39087, 39088, 39089, 39090, 39091, 39093, 39095, + 39097, 39099, 39101, 39103, 39105, -1, -1, -1, + -1, 39107, 39108, 39109, 39110, 39111, 39112, 39113, + 39114, 39115, 39116, 39117, 39118, 39119, 39120, 39121, + 39122, 39123, 39124, 39125, 39126, 39127, 39128, 39129, + 39130, 39131, 39132, 39133, 39134, 39135, 39136, 39137, + 39138, 39139, 39140, 39141, 39142, 39143, 39144, 39145, + 39146, 39147, 39148, 39149, 39150, 39151, 39152, 39153, + 39154, 39155, 39156, 39157, 39158, 39159, 39160, 39161, + 39162, 39163, 39164, 39165, 39166, 39167, 39168, 39169, + 39170, 39171, 39172, 39173, 39174, 39175, 39176, 39177, + 39178, 39179, 39180, 39181, 39182, 39183, 39184, 39185, + 39186, 39187, 39188, 39189, 39190, 39191, 39192, 39193, + 39194, 39195, 39196, 39197, 39198, 39199, 39200, 39201, + 39202, 39203, 39204, 39205, 39206, 39207, 39208, 39209, + 39210, 39211, 39212, 39213, 39214, 39215, 39216, 39217, + 39218, 39219, 39220, 39221, 39222, 39223, 39224, 39225, + 39226, 39227, 39228, 39229, 39230, 39231, 39232, 39233, + 39234, 39235, 39236, 39237, 39238, 39239, 39240, 39241, + 39242, 39243, 39244, 39245, 39246, 39247, 39248, 39249, + 39250, 39251, 39252, 39253, 39254, 39255, 39256, 39257, + 39258, 39259, 39260, 39261, 39262, 39263, 39264, 39265, + 39266, 39267, 39268, 39269, 39270, 39271, 39272, 39273, + 39274, 39275, 39276, 39277, 39278, 39279, 39280, 39281, + 39282, 39283, 39284, 39285, 39286, 39287, 39288, 39289, + 39290, 39291, 39292, 39293, 39294, 39295, 39296, -1, + -1, -1, 39297, 39298, 39299, 39300, 39301, 39302, + -1, -1, 39303, 39304, 39305, 39306, 39307, 39308, + -1, -1, 39309, 39310, 39311, 39312, 39313, 39314, + -1, -1, 39315, 39316, 39317, -1, -1, -1, + 39318, 39319, 39320, 39321, 39322, 39323, 39324, -1, + 39325, 39326, 39327, 39328, 39329, 39330, 39331, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6564, -1, 6566, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6568, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6570, 6572, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6574, 6576, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6578, 6580, -1, 6582, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6584, 6586, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6588, 6590, + 6592, 6594, 6596, 6598, 6600, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6602, 6604, 6606, 6608, 6610, + 6612, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 39382, 39383, 39384, 39385, 39386, 39387, 39388, 39389, + 39390, 39391, 39392, 39393, 39394, 39395, 39396, 39397, + 39398, 39399, 39400, 39401, 39402, 39403, 39404, 39405, + 39406, 39407, 39408, 39409, 39410, 39411, 39412, 39413, + 39414, 39415, 39416, 39417, 39418, 39419, 39420, 39421, + 39422, 39423, 39424, 39425, 39426, 39427, 39428, 39429, + 39430, 39431, 39432, 39433, 39434, 39435, 39436, 39437, + 39438, 39439, 39440, 39441, 39442, 39443, 39444, 39445, + 39446, 39447, 39448, 39449, 39450, 39451, 39452, 39453, + 39454, 39455, 39456, 39457, 39458, 39459, 39460, 39461, + 39462, 39463, 39464, 39465, 39466, -1, 39467, 39468, + 39469, 39470, 39471, 39472, 39473, 39474, 39475, 39476, + 39477, 39478, 39479, 39480, 39481, 39482, 39483, 39484, + 39485, 39486, 39487, 39488, 39489, 39490, 39491, 39492, + 39493, 39494, 39495, 39496, 39497, 39498, 39499, 39500, + 39501, 39502, 39503, 39504, 39505, 39506, 39507, 39508, + 39509, 39510, 39511, 39512, 39513, 39514, 39515, 39516, + 39517, 39518, 39519, 39520, 39521, 39522, 39523, 39524, + 39525, 39526, 39527, 39528, 39529, 39530, 39531, 39532, + 39533, 39534, 39535, 39536, 39537, -1, 39538, 39539, + -1, -1, 39540, -1, -1, 39541, 39542, -1, + -1, 39543, 39544, 39545, 39546, -1, 39547, 39548, + 39549, 39550, 39551, 39552, 39553, 39554, 39555, 39556, + 39557, 39558, -1, 39559, -1, 39560, 39561, 39562, + 39563, 39564, 39565, 39566, -1, 39567, 39568, 39569, + 39570, 39571, 39572, 39573, 39574, 39575, 39576, 39577, + 39578, 39579, 39580, 39581, 39582, 39583, 39584, 39585, + 39586, 39587, 39588, 39589, 39590, 39591, 39592, 39593, + 39594, 39595, 39596, 39597, 39598, 39599, 39600, 39601, + 39602, 39603, 39604, 39605, 39606, 39607, 39608, 39609, + 39610, 39611, 39612, 39613, 39614, 39615, 39616, 39617, + 39618, 39619, 39620, 39621, 39622, 39623, 39624, 39625, + 39626, 39627, 39628, 39629, 39630, 39631, -1, 39632, + 39633, 39634, 39635, -1, -1, 39636, 39637, 39638, + 39639, 39640, 39641, 39642, 39643, -1, 39644, 39645, + 39646, 39647, 39648, 39649, 39650, -1, 39651, 39652, + 39653, 39654, 39655, 39656, 39657, 39658, 39659, 39660, + 39661, 39662, 39663, 39664, 39665, 39666, 39667, 39668, + 39669, 39670, 39671, 39672, 39673, 39674, 39675, 39676, + 39677, 39678, -1, 39679, 39680, 39681, 39682, -1, + 39683, 39684, 39685, 39686, 39687, -1, 39688, -1, + -1, -1, 39689, 39690, 39691, 39692, 39693, 39694, + 39695, -1, 39696, 39697, 39698, 39699, 39700, 39701, + 39702, 39703, 39704, 39705, 39706, 39707, 39708, 39709, + 39710, 39711, 39712, 39713, 39714, 39715, 39716, 39717, + 39718, 39719, 39720, 39721, 39722, 39723, 39724, 39725, + 39726, 39727, 39728, 39729, 39730, 39731, 39732, 39733, + 39734, 39735, 39736, 39737, 39738, 39739, 39740, 39741, + 39742, 39743, 39744, 39745, 39746, 39747, 39748, 39749, + 39750, 39751, 39752, 39753, 39754, 39755, 39756, 39757, + 39758, 39759, 39760, 39761, 39762, 39763, 39764, 39765, + 39766, 39767, 39768, 39769, 39770, 39771, 39772, 39773, + 39774, 39775, 39776, 39777, 39778, 39779, 39780, 39781, + 39782, 39783, 39784, 39785, 39786, 39787, 39788, 39789, + 39790, 39791, 39792, 39793, 39794, 39795, 39796, 39797, + 39798, 39799, 39800, 39801, 39802, 39803, 39804, 39805, + 39806, 39807, 39808, 39809, 39810, 39811, 39812, 39813, + 39814, 39815, 39816, 39817, 39818, 39819, 39820, 39821, + 39822, 39823, 39824, 39825, 39826, 39827, 39828, 39829, + 39830, 39831, 39832, 39833, 39834, 39835, 39836, 39837, + 39838, 39839, 39840, 39841, 39842, 39843, 39844, 39845, + 39846, 39847, 39848, 39849, 39850, 39851, 39852, 39853, + 39854, 39855, 39856, 39857, 39858, 39859, 39860, 39861, + 39862, 39863, 39864, 39865, 39866, 39867, 39868, 39869, + 39870, 39871, 39872, 39873, 39874, 39875, 39876, 39877, + 39878, 39879, 39880, 39881, 39882, 39883, 39884, 39885, + 39886, 39887, 39888, 39889, 39890, 39891, 39892, 39893, + 39894, 39895, 39896, 39897, 39898, 39899, 39900, 39901, + 39902, 39903, 39904, 39905, 39906, 39907, 39908, 39909, + 39910, 39911, 39912, 39913, 39914, 39915, 39916, 39917, + 39918, 39919, 39920, 39921, 39922, 39923, 39924, 39925, + 39926, 39927, 39928, 39929, 39930, 39931, 39932, 39933, + 39934, 39935, 39936, 39937, 39938, 39939, 39940, 39941, + 39942, 39943, 39944, 39945, 39946, 39947, 39948, 39949, + 39950, 39951, 39952, 39953, 39954, 39955, 39956, 39957, + 39958, 39959, 39960, 39961, 39962, 39963, 39964, 39965, + 39966, 39967, 39968, 39969, 39970, 39971, 39972, 39973, + 39974, 39975, 39976, 39977, 39978, 39979, 39980, 39981, + 39982, 39983, 39984, 39985, 39986, 39987, 39988, 39989, + 39990, 39991, 39992, 39993, 39994, 39995, 39996, 39997, + 39998, 39999, 40000, 40001, 40002, 40003, 40004, 40005, + 40006, 40007, 40008, 40009, 40010, 40011, 40012, 40013, + 40014, 40015, 40016, 40017, 40018, 40019, 40020, 40021, + 40022, 40023, 40024, 40025, 40026, 40027, 40028, 40029, + 40030, 40031, 40032, 40033, 40034, 40035, -1, -1, + 40036, 40037, 40038, 40039, 40040, 40041, 40042, 40043, + 40044, 40045, 40046, 40047, 40048, 40049, 40050, 40051, + 40052, 40053, 40054, 40055, 40056, 40057, 40058, 40059, + 40060, 40061, 40062, 40063, 40064, 40065, 40066, 40067, + 40068, 40069, 40070, 40071, 40072, 40073, 40074, 40075, + 40076, 40077, 40078, 40079, 40080, 40081, 40082, 40083, + 40084, 40085, 40086, 40087, 40088, 40089, 40090, 40091, + 40092, 40093, 40094, 40095, 40096, 40097, 40098, 40099, + 40100, 40101, 40102, 40103, 40104, 40105, 40106, 40107, + 40108, 40109, 40110, 40111, 40112, 40113, 40114, 40115, + 40116, 40117, 40118, 40119, 40120, 40121, 40122, 40123, + 40124, 40125, 40126, 40127, 40128, 40129, 40130, 40131, + 40132, 40133, 40134, 40135, 40136, 40137, 40138, 40139, + 40140, 40141, 40142, 40143, 40144, 40145, 40146, 40147, + 40148, 40149, 40150, 40151, 40152, 40153, 40154, 40155, + 40156, 40157, 40158, 40159, 40160, 40161, 40162, 40163, + 40164, 40165, 40166, 40167, 40168, 40169, 40170, 40171, + 40172, 40173, 40174, 40175, 40176, 40177, 40178, 40179, + 40180, 40181, 40182, 40183, 40184, 40185, 40186, 40187, + 40188, 40189, 40190, 40191, 40192, 40193, 40194, 40195, + 40196, 40197, 40198, 40199, 40200, 40201, 40202, 40203, + 40204, 40205, 40206, 40207, 40208, 40209, 40210, 40211, + 40212, 40213, 40214, 40215, 40216, 40217, 40218, 40219, + 40220, 40221, 40222, 40223, 40224, 40225, 40226, 40227, + 40228, 40229, 40230, 40231, 40232, 40233, 40234, 40235, + 40236, 40237, 40238, 40239, 40240, 40241, 40242, 40243, + 40244, 40245, 40246, 40247, 40248, 40249, 40250, 40251, + 40252, 40253, 40254, 40255, 40256, 40257, 40258, 40259, + 40260, 40261, 40262, 40263, 40264, 40265, 40266, 40267, + 40268, 40269, 40270, 40271, 40272, 40273, 40274, 40275, + 40276, 40277, 40278, 40279, 40280, 40281, 40282, 40283, + 40284, 40285, 40286, 40287, 40288, 40289, 40290, 40291, + 40292, 40293, 40294, 40295, 40296, 40297, 40298, 40299, + 40300, 40301, 40302, 40303, 40304, 40305, 40306, 40307, + 40308, 40309, 40310, 40311, 40312, 40313, 40314, 40315, + 40316, 40317, 40318, 40319, 40320, 40321, 40322, 40323, + 40324, 40325, 40326, 40327, -1, -1, 40328, 40329, + 40330, 40331, 40332, 40333, 40334, 40335, 40336, 40337, + 40338, 40339, 40340, 40341, 40342, 40343, 40344, 40345, + 40346, 40347, 40348, 40349, 40350, 40351, 40352, 40353, + 40354, 40355, 40356, 40357, 40358, 40359, 40360, 40361, + 40362, 40363, 40364, 40365, 40366, 40367, 40368, 40369, + 40370, 40371, 40372, 40373, 40374, 40375, 40376, 40377, + 40378, 40379, 40380, 40381, -1, 40382, 40383, 40384, + 40385, 40386, 40387, 40388, 40389, 40390, 40391, 40392, + 40393, 40394, 40395, 40396, 40397, 40398, 40399, 40400, + 40401, 40402, 40403, 40404, 40405, 40406, 40407, 40408, + -1, 40409, 40410, -1, 40411, -1, -1, 40412, + -1, 40413, 40414, 40415, 40416, 40417, 40418, 40419, + 40420, 40421, 40422, -1, 40423, 40424, 40425, 40426, + -1, 40427, -1, 40428, -1, -1, -1, -1, + -1, -1, 40429, -1, -1, -1, -1, 40430, + -1, 40431, -1, 40432, -1, 40433, 40434, 40435, + -1, 40436, 40437, -1, 40438, -1, -1, 40439, + -1, 40440, -1, 40441, -1, 40442, -1, 40443, + -1, 40444, 40445, -1, 40446, -1, -1, 40447, + 40448, 40449, 40450, -1, 40451, 40452, 40453, 40454, + 40455, 40456, 40457, -1, 40458, 40459, 40460, 40461, + -1, 40462, 40463, 40464, 40465, -1, 40466, -1, + 40467, 40468, 40469, 40470, 40471, 40472, 40473, 40474, + 40475, 40476, -1, 40477, 40478, 40479, 40480, 40481, + 40482, 40483, 40484, 40485, 40486, 40487, 40488, 40489, + 40490, 40491, 40492, 40493, -1, -1, -1, -1, + -1, 40494, 40495, 40496, -1, 40497, 40498, 40499, + 40500, 40501, -1, 40502, 40503, 40504, 40505, 40506, + 40507, 40508, 40509, 40510, 40511, 40512, 40513, 40514, + 40515, 40516, 40517, 40518, -1, -1, -1, -1, + 40519, 40521, 40523, 40525, 40527, 40529, 40531, 40533, + 40535, 40537, 40539, -1, -1, -1, -1, -1, + 40541, 40544, 40547, 40550, 40553, 40556, 40559, 40562, + 40565, 40568, 40571, 40574, 40577, 40580, 40583, 40586, + 40589, 40592, 40595, 40598, 40601, 40604, 40607, 40610, + 40613, 40616, 40619, 40622, 40623, 40624, 40626, -1, + 40628, 40629, 40630, 40631, 40632, 40633, 40634, 40635, + 40636, 40637, 40638, 40639, 40640, 40641, 40642, 40643, + 40644, 40645, 40646, 40647, 40648, 40649, 40650, 40651, + 40652, 40653, 40654, 40656, 40658, 40660, 40662, 40665, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 40667, 40669, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 40671, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 40673, 40675, 40677, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 40678, 40679, 40680, 40681, 40682, 40683, 40684, 40685, + 40686, 40687, 40688, 40689, 40690, 40691, 40692, 40693, + 40694, 40695, 40696, 40697, 40698, 40699, 40700, 40701, + 40702, 40703, 40704, 40705, 40706, 40707, 40708, 40709, + 40710, 40711, 40712, 40713, 40714, 40715, 40716, 40717, + 40718, 40719, 40720, 40721, -1, -1, -1, -1, + 40722, 40725, 40728, 40731, 40734, 40737, 40740, 40743, + 40746, -1, -1, -1, -1, -1, -1, -1, + 40749, 40750, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 7983, 7984, 7985, 7986, 7987, 7988, 7989, 7990, + 7991, 7992, 7993, 7994, 7995, 7996, 7997, 7998, + 7999, 8000, 8001, 8002, 8003, 8004, 8005, 8006, + 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, + 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, + 8023, 8024, 8025, 8026, 8027, 8028, 8029, 8030, + 8031, 8032, 8033, 8034, 8035, 8036, 8037, 8038, + 8039, 8040, 8041, 8042, 8043, 8044, 8045, 8046, + 8047, 8048, 8049, 8050, 8051, 8052, 8053, 8054, + 8055, 8056, 8057, 8058, 8059, 8060, 8061, 8062, + 8063, 8064, 8065, 8066, 8067, 8068, 8069, 8070, + 8071, 8072, 8073, 8074, 8075, 8076, 8077, 8078, + 8079, 8080, 8081, 8082, 8083, 8084, 8085, 8086, + 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, + 8095, 8096, 8097, 8098, 8099, 8100, 8101, 8102, + 8103, 8104, 8105, 8106, 8107, 8108, 8109, 8110, + 8111, 8112, 8113, 8114, 8115, 8116, 8117, 8118, + 8119, 8120, 8121, 8122, 8123, 8124, 8125, 8126, + 8127, 8128, 8129, 8130, 8131, 8132, 8133, 8134, + 8135, 8136, 8137, 8138, 8139, 8140, 8141, 8142, + 8143, 8144, 8145, 8146, 8147, 8148, 8149, 8150, + 8151, 8152, 8153, 8154, 8155, 8156, 8157, 8158, + 8159, 8160, 8161, 8162, 8163, 8164, 8165, 8166, + 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8174, + 8175, 8176, 8177, 8178, 8179, 8180, 8181, 8182, + 8183, 8184, 8185, 8186, 8187, 8188, 8189, 8190, + 8191, 8192, 8193, 8194, 8195, 8196, 8197, 8198, + 8199, 8200, 8201, 8202, 8203, 8204, 8205, 8206, + 8207, 8208, 8209, 8210, 8211, 8212, 8213, 8214, + 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, + 8223, 8224, 8225, 8226, 8227, 8228, 8229, 8230, + 8231, 8232, 8233, 8234, 8235, 8236, 8237, 8238, + 8239, 8240, 8241, 8242, 8243, 8244, 8245, 8246, + 8247, 8248, 8249, 8250, 8251, 8252, 8253, 8254, + 8255, 8256, 8257, 8258, 8259, 8260, 8261, 8262, + 8263, 8264, 8265, 8266, 8267, 8268, 8269, 8270, + 8271, 8272, 8273, 8274, 8275, 8276, 8277, 8278, + 8279, 8280, 8281, 8282, 8283, 8284, 8285, 8286, + 8287, 8288, 8289, 8290, 8291, 8292, 8293, 8294, + 8295, 8296, 8297, 8298, 8299, 8300, 8301, 8302, + 8303, 8304, 8305, 8306, 8307, 8308, 8309, 8310, + 8311, 8312, 8313, 8314, 8315, 8316, 8317, 8318, + 8319, 8320, 8321, 8322, 8323, 8324, 8325, 8326, + 8327, 8328, 8329, 8330, 8331, 8332, 8333, 8334, + 8335, 8336, 8337, 8338, 8339, 8340, 8341, 8342, + 8343, 8344, 8345, 8346, 8347, 8348, 8349, 8350, + 8351, 8352, 8353, 8354, 8355, 8356, 8357, 8358, + 8359, 8360, 8361, 8362, 8363, 8364, 8365, 8366, + 8367, 8368, 8369, 8370, 8371, 8372, 8373, 8374, + 8375, 8376, 8377, 8378, 8379, 8380, 8381, 8382, + 8383, 8384, 8385, 8386, 8387, 8388, 8389, 8390, + 8391, 8392, 8393, 8394, 8395, 8396, 8397, 8398, + 8399, 8400, 8401, 8402, 8403, 8404, 8405, 8406, + 8407, 8408, 8409, 8410, 8411, 8412, 8413, 8414, + 8415, 8416, 8417, 8418, 8419, 8420, 8421, 8422, + 8423, 8424, 8425, 8426, 8427, 8428, 8429, 8430, + 8431, 8432, 8433, 8434, 8435, 8436, 8437, 8438, + 8439, 8440, 8441, 8442, 8443, 8444, 8445, 8446, + 8447, 8448, 8449, 8450, 8451, 8452, 8453, 8454, + 8455, 8456, 8457, 8458, 8459, 8460, 8461, 8462, + 8463, 8464, 8465, 8466, 8467, 8468, 8469, 8470, + 8471, 8472, 8473, 8474, 8475, 8476, 8477, 8478, + 8479, 8480, 8481, 8482, 8483, 8484, 8485, 8486, + 8487, 8488, 8489, 8490, 8491, 8492, 8493, 8494, + 8495, 8496, 8497, 8498, 8499, 8500, 8501, 8502, + 8503, 8504, 8505, 8506, 8507, 8508, 8509, 8510, + 8511, 8512, 8513, 8514, 8515, 8516, 8517, 8518, + 8519, 8520, 8521, 8522, 8523, 8524, -1, -1 + } +}; diff --git a/gllib/uninorm/nfd.c b/gllib/uninorm/nfd.c new file mode 100644 index 0000000..6e14e60 --- /dev/null +++ b/gllib/uninorm/nfd.c @@ -0,0 +1,31 @@ +/* Unicode Normalization Form D. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uninorm.h" + +#include "normalize-internal.h" + +const struct unicode_normalization_form uninorm_nfd = + { + 0, + uc_canonical_decomposition, + NULL, + &uninorm_nfd + }; diff --git a/gllib/uninorm/normalize-internal.h b/gllib/uninorm/normalize-internal.h new file mode 100644 index 0000000..7068f12 --- /dev/null +++ b/gllib/uninorm/normalize-internal.h @@ -0,0 +1,35 @@ +/* Normalization of Unicode strings. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "unitypes.h" + +/* Complete definition of normalization form descriptor. */ +struct unicode_normalization_form +{ + /* Bit mask containing meta-information. + This must be the first field. */ + unsigned int description; + #define NF_IS_COMPAT_DECOMPOSING (1 << 0) + #define NF_IS_COMPOSING (1 << 1) + /* Function that decomposes a Unicode character. */ + int (*decomposer) (ucs4_t uc, ucs4_t *decomposition); + /* Function that combines two Unicode characters, a starter and another + character. */ + ucs4_t (*composer) (ucs4_t uc1, ucs4_t uc2); + /* Decomposing variant. */ + const struct unicode_normalization_form *decomposing_variant; +}; diff --git a/gllib/uninorm/u-normalize-internal.h b/gllib/uninorm/u-normalize-internal.h new file mode 100644 index 0000000..b9e19bd --- /dev/null +++ b/gllib/uninorm/u-normalize-internal.h @@ -0,0 +1,380 @@ +/* Decomposition and composition of Unicode strings. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +UNIT * +FUNC (uninorm_t nf, const UNIT *s, size_t n, + UNIT *resultbuf, size_t *lengthp) +{ + int (*decomposer) (ucs4_t uc, ucs4_t *decomposition) = nf->decomposer; + ucs4_t (*composer) (ucs4_t uc1, ucs4_t uc2) = nf->composer; + + /* The result being accumulated. */ + UNIT *result; + size_t length; + size_t allocated; + /* The buffer for sorting. */ + #define SORTBUF_PREALLOCATED 64 + struct ucs4_with_ccc sortbuf_preallocated[2 * SORTBUF_PREALLOCATED]; + struct ucs4_with_ccc *sortbuf; /* array of size 2 * sortbuf_allocated */ + size_t sortbuf_allocated; + size_t sortbuf_count; + + /* Initialize the accumulator. */ + if (resultbuf == NULL) + { + result = NULL; + allocated = 0; + } + else + { + result = resultbuf; + allocated = *lengthp; + } + length = 0; + + /* Initialize the buffer for sorting. */ + sortbuf = sortbuf_preallocated; + sortbuf_allocated = SORTBUF_PREALLOCATED; + sortbuf_count = 0; + + { + const UNIT *s_end = s + n; + + for (;;) + { + int count; + ucs4_t decomposed[UC_DECOMPOSITION_MAX_LENGTH]; + int decomposed_count; + int i; + + if (s < s_end) + { + /* Fetch the next character. */ + count = U_MBTOUC_UNSAFE (&decomposed[0], s, s_end - s); + decomposed_count = 1; + + /* Decompose it, recursively. + It would be possible to precompute the recursive decomposition + and store it in a table. But this would significantly increase + the size of the decomposition tables, because for example for + U+1FC1 the recursive canonical decomposition and the recursive + compatibility decomposition are different. */ + { + int curr; + + for (curr = 0; curr < decomposed_count; ) + { + /* Invariant: decomposed[0..curr-1] is fully decomposed, i.e. + all elements are atomic. */ + ucs4_t curr_decomposed[UC_DECOMPOSITION_MAX_LENGTH]; + int curr_decomposed_count; + + curr_decomposed_count = decomposer (decomposed[curr], curr_decomposed); + if (curr_decomposed_count >= 0) + { + /* Move curr_decomposed[0..curr_decomposed_count-1] over + decomposed[curr], making room. It's not worth using + memcpy() here, since the counts are so small. */ + int shift = curr_decomposed_count - 1; + + if (shift < 0) + abort (); + if (shift > 0) + { + int j; + + decomposed_count += shift; + if (decomposed_count > UC_DECOMPOSITION_MAX_LENGTH) + abort (); + for (j = decomposed_count - 1 - shift; j > curr; j--) + decomposed[j + shift] = decomposed[j]; + } + for (; shift >= 0; shift--) + decomposed[curr + shift] = curr_decomposed[shift]; + } + else + { + /* decomposed[curr] is atomic. */ + curr++; + } + } + } + } + else + { + count = 0; + decomposed_count = 0; + } + + i = 0; + for (;;) + { + ucs4_t uc; + int ccc; + + if (s < s_end) + { + /* Fetch the next character from the decomposition. */ + if (i == decomposed_count) + break; + uc = decomposed[i]; + ccc = uc_combining_class (uc); + } + else + { + /* End of string reached. */ + uc = 0; + ccc = 0; + } + + if (ccc == 0) + { + size_t j; + + /* Apply the canonical ordering algorithm to the accumulated + sequence of characters. */ + if (sortbuf_count > 1) + gl_uninorm_decompose_merge_sort_inplace (sortbuf, sortbuf_count, + sortbuf + sortbuf_count); + + if (composer != NULL) + { + /* Attempt to combine decomposed characters, as specified + in the Unicode Standard Annex #15 "Unicode Normalization + Forms". We need to check + 1. whether the first accumulated character is a + "starter" (i.e. has ccc = 0). This is usually the + case. But when the string starts with a + non-starter, the sortbuf also starts with a + non-starter. Btw, this check could also be + omitted, because the composition table has only + entries (code1, code2) for which code1 is a + starter; if the first accumulated character is not + a starter, no lookup will succeed. + 2. If the sortbuf has more than one character, check + for each of these characters that are not "blocked" + from the starter (i.e. have a ccc that is higher + than the ccc of the previous character) whether it + can be combined with the first character. + 3. If only one character is left in sortbuf, check + whether it can be combined with the next character + (also a starter). */ + if (sortbuf_count > 0 && sortbuf[0].ccc == 0) + { + for (j = 1; j < sortbuf_count; ) + { + if (sortbuf[j].ccc > sortbuf[j - 1].ccc) + { + ucs4_t combined = + composer (sortbuf[0].code, sortbuf[j].code); + if (combined) + { + size_t k; + + sortbuf[0].code = combined; + /* sortbuf[0].ccc = 0, still valid. */ + for (k = j + 1; k < sortbuf_count; k++) + sortbuf[k - 1] = sortbuf[k]; + sortbuf_count--; + continue; + } + } + j++; + } + if (s < s_end && sortbuf_count == 1) + { + ucs4_t combined = + composer (sortbuf[0].code, uc); + if (combined) + { + uc = combined; + ccc = 0; + /* uc could be further combined with subsequent + characters. So don't put it into sortbuf[0] in + this round, only in the next round. */ + sortbuf_count = 0; + } + } + } + } + + for (j = 0; j < sortbuf_count; j++) + { + ucs4_t muc = sortbuf[j].code; + + /* Append muc to the result accumulator. */ + if (length < allocated) + { + int ret = + U_UCTOMB (result + length, muc, allocated - length); + if (ret == -1) + { + errno = EINVAL; + goto fail; + } + if (ret >= 0) + { + length += ret; + goto done_appending; + } + } + { + size_t old_allocated = allocated; + size_t new_allocated = 2 * old_allocated; + if (new_allocated < 64) + new_allocated = 64; + if (new_allocated < old_allocated) /* integer overflow? */ + abort (); + { + UNIT *larger_result; + if (result == NULL) + { + larger_result = + (UNIT *) malloc (new_allocated * sizeof (UNIT)); + if (larger_result == NULL) + { + errno = ENOMEM; + goto fail; + } + } + else if (result == resultbuf) + { + larger_result = + (UNIT *) malloc (new_allocated * sizeof (UNIT)); + if (larger_result == NULL) + { + errno = ENOMEM; + goto fail; + } + U_CPY (larger_result, resultbuf, length); + } + else + { + larger_result = + (UNIT *) realloc (result, new_allocated * sizeof (UNIT)); + if (larger_result == NULL) + { + errno = ENOMEM; + goto fail; + } + } + result = larger_result; + allocated = new_allocated; + { + int ret = + U_UCTOMB (result + length, muc, allocated - length); + if (ret == -1) + { + errno = EINVAL; + goto fail; + } + if (ret < 0) + abort (); + length += ret; + goto done_appending; + } + } + } + done_appending: ; + } + + /* sortbuf is now empty. */ + sortbuf_count = 0; + } + + if (!(s < s_end)) + /* End of string reached. */ + break; + + /* Append (uc, ccc) to sortbuf. */ + if (sortbuf_count == sortbuf_allocated) + { + struct ucs4_with_ccc *new_sortbuf; + + sortbuf_allocated = 2 * sortbuf_allocated; + if (sortbuf_allocated < sortbuf_count) /* integer overflow? */ + abort (); + new_sortbuf = + (struct ucs4_with_ccc *) malloc (2 * sortbuf_allocated * sizeof (struct ucs4_with_ccc)); + if (new_sortbuf == NULL) + { + errno = ENOMEM; + goto fail; + } + memcpy (new_sortbuf, sortbuf, + sortbuf_count * sizeof (struct ucs4_with_ccc)); + if (sortbuf != sortbuf_preallocated) + free (sortbuf); + sortbuf = new_sortbuf; + } + sortbuf[sortbuf_count].code = uc; + sortbuf[sortbuf_count].ccc = ccc; + sortbuf_count++; + + i++; + } + + if (!(s < s_end)) + /* End of string reached. */ + break; + + s += count; + } + } + + if (length == 0) + { + if (result == NULL) + { + /* Return a non-NULL value. NULL means error. */ + result = (UNIT *) malloc (1); + if (result == NULL) + { + errno = ENOMEM; + goto fail; + } + } + } + else if (result != resultbuf && length < allocated) + { + /* Shrink the allocated memory if possible. */ + UNIT *memory; + + memory = (UNIT *) realloc (result, length * sizeof (UNIT)); + if (memory != NULL) + result = memory; + } + + if (sortbuf_count > 0) + abort (); + if (sortbuf != sortbuf_preallocated) + free (sortbuf); + + *lengthp = length; + return result; + + fail: + { + int saved_errno = errno; + if (sortbuf != sortbuf_preallocated) + free (sortbuf); + if (result != resultbuf) + free (result); + errno = saved_errno; + } + return NULL; +} diff --git a/gllib/uninorm/u32-normalize.c b/gllib/uninorm/u32-normalize.c new file mode 100644 index 0000000..aa111f5 --- /dev/null +++ b/gllib/uninorm/u32-normalize.c @@ -0,0 +1,38 @@ +/* Normalization of UTF-32 strings. + Copyright (C) 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2009. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uninorm.h" + +#include +#include +#include +#include + +#include "unistr.h" +#include "unictype.h" +#include "normalize-internal.h" +#include "decompose-internal.h" + +#define FUNC u32_normalize +#define UNIT uint32_t +#define U_MBTOUC_UNSAFE u32_mbtouc_unsafe +#define U_UCTOMB u32_uctomb +#define U_CPY u32_cpy +#include "u-normalize-internal.h" diff --git a/gllib/unistr.in.h b/gllib/unistr.in.h new file mode 100644 index 0000000..2921da2 --- /dev/null +++ b/gllib/unistr.in.h @@ -0,0 +1,746 @@ +/* Elementary Unicode string functions. + Copyright (C) 2001-2002, 2005-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNISTR_H +#define _UNISTR_H + +#include "unitypes.h" + +/* Get common macros for C. */ +#include "unused-parameter.h" + +/* Get bool. */ +#include + +/* Get size_t. */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Conventions: + + All functions prefixed with u8_ operate on UTF-8 encoded strings. + Their unit is an uint8_t (1 byte). + + All functions prefixed with u16_ operate on UTF-16 encoded strings. + Their unit is an uint16_t (a 2-byte word). + + All functions prefixed with u32_ operate on UCS-4 encoded strings. + Their unit is an uint32_t (a 4-byte word). + + All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly + n units. + + All arguments starting with "str" and the arguments of functions starting + with u8_str/u16_str/u32_str denote a NUL terminated string, i.e. a string + which terminates at the first NUL unit. This termination unit is + considered part of the string for all memory allocation purposes, but + is not considered part of the string for all other logical purposes. + + Functions returning a string result take a (resultbuf, lengthp) argument + pair. If resultbuf is not NULL and the result fits into *lengthp units, + it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly + allocated string is returned. In both cases, *lengthp is set to the + length (number of units) of the returned string. In case of error, + NULL is returned and errno is set. */ + + +/* Elementary string checks. */ + +/* Check whether an UTF-8 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint8_t * + u8_check (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Check whether an UTF-16 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint16_t * + u16_check (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Check whether an UCS-4 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint32_t * + u32_check (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; + + +/* Elementary string conversions. */ + +/* Convert an UTF-8 string to an UTF-16 string. */ +extern uint16_t * + u8_to_u16 (const uint8_t *s, size_t n, uint16_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-8 string to an UCS-4 string. */ +extern uint32_t * + u8_to_u32 (const uint8_t *s, size_t n, uint32_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-16 string to an UTF-8 string. */ +extern uint8_t * + u16_to_u8 (const uint16_t *s, size_t n, uint8_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-16 string to an UCS-4 string. */ +extern uint32_t * + u16_to_u32 (const uint16_t *s, size_t n, uint32_t *resultbuf, + size_t *lengthp); + +/* Convert an UCS-4 string to an UTF-8 string. */ +extern uint8_t * + u32_to_u8 (const uint32_t *s, size_t n, uint8_t *resultbuf, + size_t *lengthp); + +/* Convert an UCS-4 string to an UTF-16 string. */ +extern uint16_t * + u32_to_u16 (const uint32_t *s, size_t n, uint16_t *resultbuf, + size_t *lengthp); + + +/* Elementary string functions. */ + +/* Return the length (number of units) of the first character in S, which is + no longer than N. Return 0 if it is the NUL character. Return -1 upon + failure. */ +/* Similar to mblen(), except that s must not be NULL. */ +extern int + u8_mblen (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u16_mblen (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u32_mblen (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, + and an appropriate number of units is returned. + The number of available units, N, must be > 0. */ +/* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0, + and the NUL character is not treated specially. */ +/* The variants with _safe suffix are safe, even if the library is compiled + without --enable-safety. */ + +#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n); +# else +extern int + u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n); +static inline int +u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n) +{ + uint8_t c = *s; + + if (c < 0x80) + { + *puc = c; + return 1; + } + else + return u8_mbtouc_unsafe_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n); +# else +extern int + u16_mbtouc_unsafe_aux (ucs4_t *puc, const uint16_t *s, size_t n); +static inline int +u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n) +{ + uint16_t c = *s; + + if (c < 0xd800 || c >= 0xe000) + { + *puc = c; + return 1; + } + else + return u16_mbtouc_unsafe_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n); +# else +static inline int +u32_mbtouc_unsafe (ucs4_t *puc, + const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) +{ + uint32_t c = *s; + + if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) + *puc = c; + else + /* invalid multibyte character */ + *puc = 0xfffd; + return 1; +} +# endif +#endif + +#if GNULIB_UNISTR_U8_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n); +# else +extern int + u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n); +static inline int +u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n) +{ + uint8_t c = *s; + + if (c < 0x80) + { + *puc = c; + return 1; + } + else + return u8_mbtouc_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n); +# else +extern int + u16_mbtouc_aux (ucs4_t *puc, const uint16_t *s, size_t n); +static inline int +u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n) +{ + uint16_t c = *s; + + if (c < 0xd800 || c >= 0xe000) + { + *puc = c; + return 1; + } + else + return u16_mbtouc_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n); +# else +static inline int +u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) +{ + uint32_t c = *s; + + if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) + *puc = c; + else + /* invalid multibyte character */ + *puc = 0xfffd; + return 1; +} +# endif +#endif + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, + and -1 is returned for an invalid sequence of units, -2 is returned for an + incomplete sequence of units. + The number of available units, N, must be > 0. */ +/* Similar to u*_mbtouc(), except that the return value gives more details + about the failure, similar to mbrtowc(). */ + +#if GNULIB_UNISTR_U8_MBTOUCR || HAVE_LIBUNISTRING +extern int + u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n); +#endif + +#if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING +extern int + u16_mbtoucr (ucs4_t *puc, const uint16_t *s, size_t n); +#endif + +#if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING +extern int + u32_mbtoucr (ucs4_t *puc, const uint32_t *s, size_t n); +#endif + +/* Put the multibyte character represented by UC in S, returning its + length. Return -1 upon failure, -2 if the number of available units, N, + is too small. The latter case cannot occur if N >= 6/2/1, respectively. */ +/* Similar to wctomb(), except that s must not be NULL, and the argument n + must be specified. */ + +#if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING +/* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr. */ +extern int + u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n); +# if !HAVE_INLINE +extern int + u8_uctomb (uint8_t *s, ucs4_t uc, int n); +# else +static inline int +u8_uctomb (uint8_t *s, ucs4_t uc, int n) +{ + if (uc < 0x80 && n > 0) + { + s[0] = uc; + return 1; + } + else + return u8_uctomb_aux (s, uc, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING +/* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr. */ +extern int + u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n); +# if !HAVE_INLINE +extern int + u16_uctomb (uint16_t *s, ucs4_t uc, int n); +# else +static inline int +u16_uctomb (uint16_t *s, ucs4_t uc, int n) +{ + if (uc < 0xd800 && n > 0) + { + s[0] = uc; + return 1; + } + else + return u16_uctomb_aux (s, uc, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_uctomb (uint32_t *s, ucs4_t uc, int n); +# else +static inline int +u32_uctomb (uint32_t *s, ucs4_t uc, int n) +{ + if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000)) + { + if (n > 0) + { + *s = uc; + return 1; + } + else + return -2; + } + else + return -1; +} +# endif +#endif + +/* Copy N units from SRC to DEST. */ +/* Similar to memcpy(). */ +extern uint8_t * + u8_cpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_cpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_cpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Copy N units from SRC to DEST, guaranteeing correct behavior for + overlapping memory areas. */ +/* Similar to memmove(). */ +extern uint8_t * + u8_move (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_move (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_move (uint32_t *dest, const uint32_t *src, size_t n); + +/* Set the first N characters of S to UC. UC should be a character that + occupies only 1 unit. */ +/* Similar to memset(). */ +extern uint8_t * + u8_set (uint8_t *s, ucs4_t uc, size_t n); +extern uint16_t * + u16_set (uint16_t *s, ucs4_t uc, size_t n); +extern uint32_t * + u32_set (uint32_t *s, ucs4_t uc, size_t n); + +/* Compare S1 and S2, each of length N. */ +/* Similar to memcmp(). */ +extern int + u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Compare S1 and S2. */ +/* Similar to the gnulib function memcmp2(). */ +extern int + u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; +extern int + u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; +extern int + u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2) + _UC_ATTRIBUTE_PURE; + +/* Search the string at S for UC. */ +/* Similar to memchr(). */ +extern uint8_t * + u8_chr (const uint8_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint16_t * + u16_chr (const uint16_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint32_t * + u32_chr (const uint32_t *s, size_t n, ucs4_t uc) + _UC_ATTRIBUTE_PURE; + +/* Count the number of Unicode characters in the N units from S. */ +/* Similar to mbsnlen(). */ +extern size_t + u8_mbsnlen (const uint8_t *s, size_t n) + _UC_ATTRIBUTE_PURE; +extern size_t + u16_mbsnlen (const uint16_t *s, size_t n) + _UC_ATTRIBUTE_PURE; +extern size_t + u32_mbsnlen (const uint32_t *s, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Elementary string functions with memory allocation. */ + +/* Make a freshly allocated copy of S, of length N. */ +extern uint8_t * + u8_cpy_alloc (const uint8_t *s, size_t n); +extern uint16_t * + u16_cpy_alloc (const uint16_t *s, size_t n); +extern uint32_t * + u32_cpy_alloc (const uint32_t *s, size_t n); + +/* Elementary string functions on NUL terminated strings. */ + +/* Return the length (number of units) of the first character in S. + Return 0 if it is the NUL character. Return -1 upon failure. */ +extern int + u8_strmblen (const uint8_t *s) + _UC_ATTRIBUTE_PURE; +extern int + u16_strmblen (const uint16_t *s) + _UC_ATTRIBUTE_PURE; +extern int + u32_strmblen (const uint32_t *s) + _UC_ATTRIBUTE_PURE; + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL + character. Return -1 upon failure. */ +extern int + u8_strmbtouc (ucs4_t *puc, const uint8_t *s); +extern int + u16_strmbtouc (ucs4_t *puc, const uint16_t *s); +extern int + u32_strmbtouc (ucs4_t *puc, const uint32_t *s); + +/* Forward iteration step. Advances the pointer past the next character, + or returns NULL if the end of the string has been reached. Puts the + character's 'ucs4_t' representation in *PUC. */ +extern const uint8_t * + u8_next (ucs4_t *puc, const uint8_t *s); +extern const uint16_t * + u16_next (ucs4_t *puc, const uint16_t *s); +extern const uint32_t * + u32_next (ucs4_t *puc, const uint32_t *s); + +/* Backward iteration step. Advances the pointer to point to the previous + character, or returns NULL if the beginning of the string had been reached. + Puts the character's 'ucs4_t' representation in *PUC. */ +extern const uint8_t * + u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start); +extern const uint16_t * + u16_prev (ucs4_t *puc, const uint16_t *s, const uint16_t *start); +extern const uint32_t * + u32_prev (ucs4_t *puc, const uint32_t *s, const uint32_t *start); + +/* Return the number of units in S. */ +/* Similar to strlen(), wcslen(). */ +extern size_t + u8_strlen (const uint8_t *s) + _UC_ATTRIBUTE_PURE; +extern size_t + u16_strlen (const uint16_t *s) + _UC_ATTRIBUTE_PURE; +extern size_t + u32_strlen (const uint32_t *s) + _UC_ATTRIBUTE_PURE; + +/* Return the number of units in S, but at most MAXLEN. */ +/* Similar to strnlen(), wcsnlen(). */ +extern size_t + u8_strnlen (const uint8_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; +extern size_t + u16_strnlen (const uint16_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; +extern size_t + u32_strnlen (const uint32_t *s, size_t maxlen) + _UC_ATTRIBUTE_PURE; + +/* Copy SRC to DEST. */ +/* Similar to strcpy(), wcscpy(). */ +extern uint8_t * + u8_strcpy (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_strcpy (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_strcpy (uint32_t *dest, const uint32_t *src); + +/* Copy SRC to DEST, returning the address of the terminating NUL in DEST. */ +/* Similar to stpcpy(). */ +extern uint8_t * + u8_stpcpy (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_stpcpy (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_stpcpy (uint32_t *dest, const uint32_t *src); + +/* Copy no more than N units of SRC to DEST. */ +/* Similar to strncpy(), wcsncpy(). */ +extern uint8_t * + u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Copy no more than N units of SRC to DEST. Return a pointer past the last + non-NUL unit written into DEST. */ +/* Similar to stpncpy(). */ +extern uint8_t * + u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Append SRC onto DEST. */ +/* Similar to strcat(), wcscat(). */ +extern uint8_t * + u8_strcat (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_strcat (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_strcat (uint32_t *dest, const uint32_t *src); + +/* Append no more than N units of SRC onto DEST. */ +/* Similar to strncat(), wcsncat(). */ +extern uint8_t * + u8_strncat (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_strncat (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_strncat (uint32_t *dest, const uint32_t *src, size_t n); + +/* Compare S1 and S2. */ +/* Similar to strcmp(), wcscmp(). */ +#ifdef __sun +/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */ +extern int + u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2) + _UC_ATTRIBUTE_PURE; +# define u8_strcmp u8_strcmp_gnu +#else +extern int + u8_strcmp (const uint8_t *s1, const uint8_t *s2) + _UC_ATTRIBUTE_PURE; +#endif +extern int + u16_strcmp (const uint16_t *s1, const uint16_t *s2) + _UC_ATTRIBUTE_PURE; +extern int + u32_strcmp (const uint32_t *s1, const uint32_t *s2) + _UC_ATTRIBUTE_PURE; + +/* Compare S1 and S2 using the collation rules of the current locale. + Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2. + Upon failure, set errno and return any value. */ +/* Similar to strcoll(), wcscoll(). */ +extern int + u8_strcoll (const uint8_t *s1, const uint8_t *s2); +extern int + u16_strcoll (const uint16_t *s1, const uint16_t *s2); +extern int + u32_strcoll (const uint32_t *s1, const uint32_t *s2); + +/* Compare no more than N units of S1 and S2. */ +/* Similar to strncmp(), wcsncmp(). */ +extern int + u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; +extern int + u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n) + _UC_ATTRIBUTE_PURE; + +/* Duplicate S, returning an identical malloc'd string. */ +/* Similar to strdup(), wcsdup(). */ +extern uint8_t * + u8_strdup (const uint8_t *s); +extern uint16_t * + u16_strdup (const uint16_t *s); +extern uint32_t * + u32_strdup (const uint32_t *s); + +/* Find the first occurrence of UC in STR. */ +/* Similar to strchr(), wcschr(). */ +extern uint8_t * + u8_strchr (const uint8_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint16_t * + u16_strchr (const uint16_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint32_t * + u32_strchr (const uint32_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; + +/* Find the last occurrence of UC in STR. */ +/* Similar to strrchr(), wcsrchr(). */ +extern uint8_t * + u8_strrchr (const uint8_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint16_t * + u16_strrchr (const uint16_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; +extern uint32_t * + u32_strrchr (const uint32_t *str, ucs4_t uc) + _UC_ATTRIBUTE_PURE; + +/* Return the length of the initial segment of STR which consists entirely + of Unicode characters not in REJECT. */ +/* Similar to strcspn(), wcscspn(). */ +extern size_t + u8_strcspn (const uint8_t *str, const uint8_t *reject) + _UC_ATTRIBUTE_PURE; +extern size_t + u16_strcspn (const uint16_t *str, const uint16_t *reject) + _UC_ATTRIBUTE_PURE; +extern size_t + u32_strcspn (const uint32_t *str, const uint32_t *reject) + _UC_ATTRIBUTE_PURE; + +/* Return the length of the initial segment of STR which consists entirely + of Unicode characters in ACCEPT. */ +/* Similar to strspn(), wcsspn(). */ +extern size_t + u8_strspn (const uint8_t *str, const uint8_t *accept) + _UC_ATTRIBUTE_PURE; +extern size_t + u16_strspn (const uint16_t *str, const uint16_t *accept) + _UC_ATTRIBUTE_PURE; +extern size_t + u32_strspn (const uint32_t *str, const uint32_t *accept) + _UC_ATTRIBUTE_PURE; + +/* Find the first occurrence in STR of any character in ACCEPT. */ +/* Similar to strpbrk(), wcspbrk(). */ +extern uint8_t * + u8_strpbrk (const uint8_t *str, const uint8_t *accept) + _UC_ATTRIBUTE_PURE; +extern uint16_t * + u16_strpbrk (const uint16_t *str, const uint16_t *accept) + _UC_ATTRIBUTE_PURE; +extern uint32_t * + u32_strpbrk (const uint32_t *str, const uint32_t *accept) + _UC_ATTRIBUTE_PURE; + +/* Find the first occurrence of NEEDLE in HAYSTACK. */ +/* Similar to strstr(), wcsstr(). */ +extern uint8_t * + u8_strstr (const uint8_t *haystack, const uint8_t *needle) + _UC_ATTRIBUTE_PURE; +extern uint16_t * + u16_strstr (const uint16_t *haystack, const uint16_t *needle) + _UC_ATTRIBUTE_PURE; +extern uint32_t * + u32_strstr (const uint32_t *haystack, const uint32_t *needle) + _UC_ATTRIBUTE_PURE; + +/* Test whether STR starts with PREFIX. */ +extern bool + u8_startswith (const uint8_t *str, const uint8_t *prefix) + _UC_ATTRIBUTE_PURE; +extern bool + u16_startswith (const uint16_t *str, const uint16_t *prefix) + _UC_ATTRIBUTE_PURE; +extern bool + u32_startswith (const uint32_t *str, const uint32_t *prefix) + _UC_ATTRIBUTE_PURE; + +/* Test whether STR ends with SUFFIX. */ +extern bool + u8_endswith (const uint8_t *str, const uint8_t *suffix) + _UC_ATTRIBUTE_PURE; +extern bool + u16_endswith (const uint16_t *str, const uint16_t *suffix) + _UC_ATTRIBUTE_PURE; +extern bool + u32_endswith (const uint32_t *str, const uint32_t *suffix) + _UC_ATTRIBUTE_PURE; + +/* Divide STR into tokens separated by characters in DELIM. + This interface is actually more similar to wcstok than to strtok. */ +/* Similar to strtok_r(), wcstok(). */ +extern uint8_t * + u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr); +extern uint16_t * + u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr); +extern uint32_t * + u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr); + + +#ifdef __cplusplus +} +#endif + +#endif /* _UNISTR_H */ diff --git a/gllib/unistr/u-cpy.h b/gllib/unistr/u-cpy.h new file mode 100644 index 0000000..5209dd5 --- /dev/null +++ b/gllib/unistr/u-cpy.h @@ -0,0 +1,32 @@ +/* Copy piece of UTF-8/UTF-16/UTF-32 string. + Copyright (C) 1999, 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +UNIT * +FUNC (UNIT *dest, const UNIT *src, size_t n) +{ +#if 0 + UNIT *destptr = dest; + + for (; n > 0; n--) + *destptr++ = *src++; +#else + memcpy ((char *) dest, (const char *) src, n * sizeof (UNIT)); +#endif + return dest; +} diff --git a/gllib/unistr/u32-cpy.c b/gllib/unistr/u32-cpy.c new file mode 100644 index 0000000..33e47b4 --- /dev/null +++ b/gllib/unistr/u32-cpy.c @@ -0,0 +1,25 @@ +/* Copy piece of UTF-32 string. + Copyright (C) 1999, 2002, 2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +#define FUNC u32_cpy +#define UNIT uint32_t +#include "u-cpy.h" diff --git a/gllib/unistr/u32-mbtouc-unsafe.c b/gllib/unistr/u32-mbtouc-unsafe.c new file mode 100644 index 0000000..571d40e --- /dev/null +++ b/gllib/unistr/u32-mbtouc-unsafe.c @@ -0,0 +1,44 @@ +/* Look at first character in UTF-32 string. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#if defined IN_LIBUNISTRING +/* Tell unistr.h to declare u32_mbtouc_unsafe as 'extern', not + 'static inline'. */ +# include "unistring-notinline.h" +#endif + +/* Specification. */ +#include "unistr.h" + +#if !HAVE_INLINE + +int +u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n) +{ + uint32_t c = *s; + + if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) + *puc = c; + else + /* invalid multibyte character */ + *puc = 0xfffd; + return 1; +} + +#endif diff --git a/gllib/unistr/u32-to-u8.c b/gllib/unistr/u32-to-u8.c new file mode 100644 index 0000000..8f82b41 --- /dev/null +++ b/gllib/unistr/u32-to-u8.c @@ -0,0 +1,130 @@ +/* Convert UTF-32 string to UTF-8 string. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +#define FUNC u32_to_u8 +#define SRC_UNIT uint32_t +#define DST_UNIT uint8_t + +#include +#include +#include + +DST_UNIT * +FUNC (const SRC_UNIT *s, size_t n, DST_UNIT *resultbuf, size_t *lengthp) +{ + const SRC_UNIT *s_end = s + n; + /* Output string accumulator. */ + DST_UNIT *result; + size_t allocated; + size_t length; + + if (resultbuf != NULL) + { + result = resultbuf; + allocated = *lengthp; + } + else + { + result = NULL; + allocated = 0; + } + length = 0; + /* Invariants: + result is either == resultbuf or == NULL or malloc-allocated. + If length > 0, then result != NULL. */ + + while (s < s_end) + { + ucs4_t uc; + int count; + + /* Fetch a Unicode character from the input string. */ + uc = *s++; + /* No need to call the safe variant u32_mbtouc, because + u8_uctomb will verify uc anyway. */ + + /* Store it in the output string. */ + count = u8_uctomb (result + length, uc, allocated - length); + if (count == -1) + { + if (!(result == resultbuf || result == NULL)) + free (result); + errno = EILSEQ; + return NULL; + } + if (count == -2) + { + DST_UNIT *memory; + + allocated = (allocated > 0 ? 2 * allocated : 12); + if (length + 6 > allocated) + allocated = length + 6; + if (result == resultbuf || result == NULL) + memory = (DST_UNIT *) malloc (allocated * sizeof (DST_UNIT)); + else + memory = + (DST_UNIT *) realloc (result, allocated * sizeof (DST_UNIT)); + + if (memory == NULL) + { + if (!(result == resultbuf || result == NULL)) + free (result); + errno = ENOMEM; + return NULL; + } + if (result == resultbuf && length > 0) + memcpy ((char *) memory, (char *) result, + length * sizeof (DST_UNIT)); + result = memory; + count = u8_uctomb (result + length, uc, allocated - length); + if (count < 0) + abort (); + } + length += count; + } + + if (length == 0) + { + if (result == NULL) + { + /* Return a non-NULL value. NULL means error. */ + result = (DST_UNIT *) malloc (1); + if (result == NULL) + { + errno = ENOMEM; + return NULL; + } + } + } + else if (result != resultbuf && length < allocated) + { + /* Shrink the allocated memory if possible. */ + DST_UNIT *memory; + + memory = (DST_UNIT *) realloc (result, length * sizeof (DST_UNIT)); + if (memory != NULL) + result = memory; + } + + *lengthp = length; + return result; +} diff --git a/gllib/unistr/u32-uctomb.c b/gllib/unistr/u32-uctomb.c new file mode 100644 index 0000000..97051a9 --- /dev/null +++ b/gllib/unistr/u32-uctomb.c @@ -0,0 +1,47 @@ +/* Store a character in UTF-32 string. + Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#if defined IN_LIBUNISTRING +/* Tell unistr.h to declare u32_uctomb as 'extern', not 'static inline'. */ +# include "unistring-notinline.h" +#endif + +/* Specification. */ +#include "unistr.h" + +#if !HAVE_INLINE + +int +u32_uctomb (uint32_t *s, ucs4_t uc, int n) +{ + if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000)) + { + if (n > 0) + { + *s = uc; + return 1; + } + else + return -2; + } + else + return -1; +} + +#endif diff --git a/gllib/unistr/u8-mbtoucr.c b/gllib/unistr/u8-mbtoucr.c new file mode 100644 index 0000000..b86db59 --- /dev/null +++ b/gllib/unistr/u8-mbtoucr.c @@ -0,0 +1,142 @@ +/* Look at first character in UTF-8 string, returning an error code. + Copyright (C) 1999-2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2001. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +int +u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n) +{ + uint8_t c = *s; + + if (c < 0x80) + { + *puc = c; + return 1; + } + else if (c >= 0xc2) + { + if (c < 0xe0) + { + if (n >= 2) + { + if ((s[1] ^ 0x80) < 0x40) + { + *puc = ((unsigned int) (c & 0x1f) << 6) + | (unsigned int) (s[1] ^ 0x80); + return 2; + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + else if (c < 0xf0) + { + if (n >= 2) + { + if ((s[1] ^ 0x80) < 0x40 + && (c >= 0xe1 || s[1] >= 0xa0) + && (c != 0xed || s[1] < 0xa0)) + { + if (n >= 3) + { + if ((s[2] ^ 0x80) < 0x40) + { + *puc = ((unsigned int) (c & 0x0f) << 12) + | ((unsigned int) (s[1] ^ 0x80) << 6) + | (unsigned int) (s[2] ^ 0x80); + return 3; + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + else if (c < 0xf8) + { + if (n >= 2) + { + if ((s[1] ^ 0x80) < 0x40 + && (c >= 0xf1 || s[1] >= 0x90) + && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))) + { + if (n >= 3) + { + if ((s[2] ^ 0x80) < 0x40) + { + if (n >= 4) + { + if ((s[3] ^ 0x80) < 0x40) + { + *puc = ((unsigned int) (c & 0x07) << 18) + | ((unsigned int) (s[1] ^ 0x80) << 12) + | ((unsigned int) (s[2] ^ 0x80) << 6) + | (unsigned int) (s[3] ^ 0x80); + return 4; + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + /* invalid multibyte character */ + } + else + { + /* incomplete multibyte character */ + *puc = 0xfffd; + return -2; + } + } + } + /* invalid multibyte character */ + *puc = 0xfffd; + return -1; +} diff --git a/gllib/unistr/u8-strmblen.c b/gllib/unistr/u8-strmblen.c new file mode 100644 index 0000000..c232d40 --- /dev/null +++ b/gllib/unistr/u8-strmblen.c @@ -0,0 +1,57 @@ +/* Look at first character in UTF-8 string. + Copyright (C) 1999-2000, 2002, 2006-2007, 2009-2017 Free Software + Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +int +u8_strmblen (const uint8_t *s) +{ + /* Keep in sync with unistr.h and u8-mbtouc-aux.c. */ + uint8_t c = *s; + + if (c < 0x80) + return (c != 0 ? 1 : 0); + if (c >= 0xc2) + { + if (c < 0xe0) + { + if ((s[1] ^ 0x80) < 0x40) + return 2; + } + else if (c < 0xf0) + { + if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 + && (c >= 0xe1 || s[1] >= 0xa0) + && (c != 0xed || s[1] < 0xa0)) + return 3; + } + else if (c < 0xf8) + { + if ((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 + && (s[3] ^ 0x80) < 0x40 + && (c >= 0xf1 || s[1] >= 0x90) + && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))) + return 4; + } + } + /* invalid or incomplete multibyte character */ + return -1; +} diff --git a/gllib/unistr/u8-to-u32.c b/gllib/unistr/u8-to-u32.c new file mode 100644 index 0000000..0f62cae --- /dev/null +++ b/gllib/unistr/u8-to-u32.c @@ -0,0 +1,125 @@ +/* Convert UTF-8 string to UTF-32 string. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +#define FUNC u8_to_u32 +#define SRC_UNIT uint8_t +#define DST_UNIT uint32_t + +#include +#include +#include + +DST_UNIT * +FUNC (const SRC_UNIT *s, size_t n, DST_UNIT *resultbuf, size_t *lengthp) +{ + const SRC_UNIT *s_end = s + n; + /* Output string accumulator. */ + DST_UNIT *result; + size_t allocated; + size_t length; + + if (resultbuf != NULL) + { + result = resultbuf; + allocated = *lengthp; + } + else + { + result = NULL; + allocated = 0; + } + length = 0; + /* Invariants: + result is either == resultbuf or == NULL or malloc-allocated. + If length > 0, then result != NULL. */ + + while (s < s_end) + { + ucs4_t uc; + int count; + + /* Fetch a Unicode character from the input string. */ + count = u8_mbtoucr (&uc, s, s_end - s); + if (count < 0) + { + if (!(result == resultbuf || result == NULL)) + free (result); + errno = EILSEQ; + return NULL; + } + s += count; + + /* Store it in the output string. */ + if (length + 1 > allocated) + { + DST_UNIT *memory; + + allocated = (allocated > 0 ? 2 * allocated : 12); + if (length + 1 > allocated) + allocated = length + 1; + if (result == resultbuf || result == NULL) + memory = (DST_UNIT *) malloc (allocated * sizeof (DST_UNIT)); + else + memory = + (DST_UNIT *) realloc (result, allocated * sizeof (DST_UNIT)); + + if (memory == NULL) + { + if (!(result == resultbuf || result == NULL)) + free (result); + errno = ENOMEM; + return NULL; + } + if (result == resultbuf && length > 0) + memcpy ((char *) memory, (char *) result, + length * sizeof (DST_UNIT)); + result = memory; + } + result[length++] = uc; + } + + if (length == 0) + { + if (result == NULL) + { + /* Return a non-NULL value. NULL means error. */ + result = (DST_UNIT *) malloc (1); + if (result == NULL) + { + errno = ENOMEM; + return NULL; + } + } + } + else if (result != resultbuf && length < allocated) + { + /* Shrink the allocated memory if possible. */ + DST_UNIT *memory; + + memory = (DST_UNIT *) realloc (result, length * sizeof (DST_UNIT)); + if (memory != NULL) + result = memory; + } + + *lengthp = length; + return result; +} diff --git a/gllib/unistr/u8-uctomb-aux.c b/gllib/unistr/u8-uctomb-aux.c new file mode 100644 index 0000000..6e4ce18 --- /dev/null +++ b/gllib/unistr/u8-uctomb-aux.c @@ -0,0 +1,66 @@ +/* Conversion UCS-4 to UTF-8. + Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "unistr.h" + +#ifndef FALLTHROUGH +# if __GNUC__ < 7 +# define FALLTHROUGH ((void) 0) +# else +# define FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif +#endif + +int +u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n) +{ + int count; + + if (uc < 0x80) + /* The case n >= 1 is already handled by the caller. */ + return -2; + else if (uc < 0x800) + count = 2; + else if (uc < 0x10000) + { + if (uc < 0xd800 || uc >= 0xe000) + count = 3; + else + return -1; + } + else if (uc < 0x110000) + count = 4; + else + return -1; + + if (n < count) + return -2; + + switch (count) /* note: code falls through cases! */ + { + case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000; + FALLTHROUGH; + case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800; + FALLTHROUGH; + case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0; + /*case 1:*/ s[0] = uc; + } + return count; +} diff --git a/gllib/unistr/u8-uctomb.c b/gllib/unistr/u8-uctomb.c new file mode 100644 index 0000000..31448fa --- /dev/null +++ b/gllib/unistr/u8-uctomb.c @@ -0,0 +1,75 @@ +/* Store a character in UTF-8 string. + Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +#if defined IN_LIBUNISTRING +/* Tell unistr.h to declare u8_uctomb as 'extern', not 'static inline'. */ +# include "unistring-notinline.h" +#endif + +/* Specification. */ +#include "unistr.h" + +#if !HAVE_INLINE + +int +u8_uctomb (uint8_t *s, ucs4_t uc, int n) +{ + if (uc < 0x80) + { + if (n > 0) + { + s[0] = uc; + return 1; + } + /* else return -2, below. */ + } + else + { + int count; + + if (uc < 0x800) + count = 2; + else if (uc < 0x10000) + { + if (uc < 0xd800 || uc >= 0xe000) + count = 3; + else + return -1; + } + else if (uc < 0x110000) + count = 4; + else + return -1; + + if (n >= count) + { + switch (count) /* note: code falls through cases! */ + { + case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000; + case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800; + case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0; + /*case 1:*/ s[0] = uc; + } + return count; + } + } + return -2; +} + +#endif diff --git a/gllib/unitypes.in.h b/gllib/unitypes.in.h new file mode 100644 index 0000000..01e0495 --- /dev/null +++ b/gllib/unitypes.in.h @@ -0,0 +1,46 @@ +/* Elementary types and macros for the GNU UniString library. + Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNITYPES_H +#define _UNITYPES_H + +/* Get uint8_t, uint16_t, uint32_t. */ +#include + +/* Type representing a Unicode character. */ +typedef uint32_t ucs4_t; + +/* Attribute of a function whose result depends only on the arguments + (not pointers!) and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_CONST +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _UC_ATTRIBUTE_CONST __attribute__ ((__const__)) +# else +# define _UC_ATTRIBUTE_CONST +# endif +#endif + +/* Attribute of a function whose result depends only on the arguments + (possibly pointers) and global memory, and which has no side effects. */ +#ifndef _UC_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _UC_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _UC_ATTRIBUTE_PURE +# endif +#endif + +#endif /* _UNITYPES_H */ diff --git a/gllib/uniwidth.in.h b/gllib/uniwidth.in.h new file mode 100644 index 0000000..360ff33 --- /dev/null +++ b/gllib/uniwidth.in.h @@ -0,0 +1,72 @@ +/* Display width functions. + Copyright (C) 2001-2002, 2005, 2007, 2009-2017 Free Software Foundation, + Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#ifndef _UNIWIDTH_H +#define _UNIWIDTH_H + +#include "unitypes.h" + +/* Get size_t. */ +#include + +/* Get locale_charset() declaration. */ +#include "localcharset.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Display width. */ + +/* These functions are locale dependent. The encoding argument identifies + the encoding (e.g. "ISO-8859-2" for Polish). */ + +/* Determine number of column positions required for UC. */ +extern int + uc_width (ucs4_t uc, const char *encoding) + _UC_ATTRIBUTE_PURE; + +/* Determine number of column positions required for first N units + (or fewer if S ends before this) in S. */ +extern int + u8_width (const uint8_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u16_width (const uint16_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u32_width (const uint32_t *s, size_t n, const char *encoding) + _UC_ATTRIBUTE_PURE; + +/* Determine number of column positions required for S. */ +extern int + u8_strwidth (const uint8_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u16_strwidth (const uint16_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; +extern int + u32_strwidth (const uint32_t *s, const char *encoding) + _UC_ATTRIBUTE_PURE; + + +#ifdef __cplusplus +} +#endif + +#endif /* _UNIWIDTH_H */ diff --git a/gllib/uniwidth/cjk.h b/gllib/uniwidth/cjk.h new file mode 100644 index 0000000..95723f5 --- /dev/null +++ b/gllib/uniwidth/cjk.h @@ -0,0 +1,37 @@ +/* Test for CJK encoding. + Copyright (C) 2001-2002, 2005-2007, 2009-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include "streq.h" + +static int +is_cjk_encoding (const char *encoding) +{ + if (0 + /* Legacy Japanese encodings */ + || STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0) + /* Legacy Chinese encodings */ + || STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0) + || STREQ_OPT (encoding, "GBK", 'G', 'B', 'K', 0, 0, 0, 0, 0, 0) + || STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0) + || STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0) + /* Legacy Korean encodings */ + || STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0) + || STREQ_OPT (encoding, "CP949", 'C', 'P', '9', '4', '9', 0, 0, 0, 0) + || STREQ_OPT (encoding, "JOHAB", 'J', 'O', 'H', 'A', 'B', 0, 0, 0, 0)) + return 1; + return 0; +} diff --git a/gllib/uniwidth/width.c b/gllib/uniwidth/width.c new file mode 100644 index 0000000..030b762 --- /dev/null +++ b/gllib/uniwidth/width.c @@ -0,0 +1,468 @@ +/* Determine display width of Unicode character. + Copyright (C) 2001-2002, 2006-2017 Free Software Foundation, Inc. + Written by Bruno Haible , 2002. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#include + +/* Specification. */ +#include "uniwidth.h" + +#include "cjk.h" + +/* + * Non-spacing attribute table. + * Consists of: + * - Non-spacing characters; generated from PropList.txt or + * "grep '^[^;]*;[^;]*;[^;]*;[^;]*;NSM;' UnicodeData.txt" + * - Format control characters; generated from + * "grep '^[^;]*;[^;]*;Cf;' UnicodeData.txt" + * - Zero width characters; generated from + * "grep '^[^;]*;ZERO WIDTH ' UnicodeData.txt" + */ +static const unsigned char nonspacing_table_data[38*64] = { + /* 0x0000-0x01ff */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */ + 0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0180-0x01bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x01c0-0x01ff */ + /* 0x0200-0x03ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0200-0x023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0240-0x027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0280-0x02bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x02c0-0x02ff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0300-0x033f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, /* 0x0340-0x037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0380-0x03bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x03c0-0x03ff */ + /* 0x0400-0x05ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0400-0x043f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0440-0x047f */ + 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0480-0x04bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x04c0-0x04ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0500-0x053f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0540-0x057f */ + 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xbf, /* 0x0580-0x05bf */ + 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x05c0-0x05ff */ + /* 0x0600-0x07ff */ + 0x3f, 0x00, 0xff, 0x17, 0x00, 0x00, 0x00, 0x00, /* 0x0600-0x063f */ + 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, /* 0x0640-0x067f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0680-0x06bf */ + 0x00, 0x00, 0xc0, 0xbf, 0x9f, 0x3d, 0x00, 0x00, /* 0x06c0-0x06ff */ + 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0x0700-0x073f */ + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0740-0x077f */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, /* 0x0780-0x07bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x07c0-0x07ff */ + /* 0x0800-0x09ff */ + 0x00, 0x00, 0xc0, 0xfb, 0xef, 0x3e, 0x00, 0x00, /* 0x0800-0x083f */ + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, /* 0x0840-0x087f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0880-0x08bf */ + 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08c0-0x08ff */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, /* 0x0900-0x093f */ + 0xfe, 0x21, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0940-0x097f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0980-0x09bf */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x09c0-0x09ff */ + /* 0x0a00-0x0bff */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a00-0x0a3f */ + 0x86, 0x39, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, /* 0x0a40-0x0a7f */ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0a80-0x0abf */ + 0xbe, 0x21, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0ac0-0x0aff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0x0b00-0x0b3f */ + 0x1e, 0x20, 0x40, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0b40-0x0b7f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0b80-0x0bbf */ + 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0bc0-0x0bff */ + /* 0x0c00-0x0dff */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, /* 0x0c00-0x0c3f */ + 0xc1, 0x3d, 0x60, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0c40-0x0c7f */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x0c80-0x0cbf */ + 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0cc0-0x0cff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d00-0x0d3f */ + 0x1e, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 0x0d40-0x0d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0d80-0x0dbf */ + 0x00, 0x04, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0dc0-0x0dff */ + /* 0x0e00-0x0fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x07, /* 0x0e00-0x0e3f */ + 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0e40-0x0e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x1b, /* 0x0e80-0x0ebf */ + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0ec0-0x0eff */ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xa0, 0x02, /* 0x0f00-0x0f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, /* 0x0f40-0x0f7f */ + 0xdf, 0xe0, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x1f, /* 0x0f80-0x0fbf */ + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0fc0-0x0fff */ + /* 0x1000-0x11ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfd, 0x66, /* 0x1000-0x103f */ + 0x00, 0x00, 0x00, 0xc3, 0x01, 0x00, 0x1e, 0x00, /* 0x1040-0x107f */ + 0x64, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x1080-0x10bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10c0-0x10ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1100-0x113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1140-0x117f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1180-0x11bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c0-0x11ff */ + /* 0x1200-0x13ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1200-0x123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1240-0x127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1280-0x12bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x12c0-0x12ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1300-0x133f */ + 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, /* 0x1340-0x137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1380-0x13bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x13c0-0x13ff */ + /* 0x1600-0x17ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1600-0x163f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1640-0x167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1680-0x16bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16c0-0x16ff */ + 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1c, 0x00, /* 0x1700-0x173f */ + 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, /* 0x1740-0x177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x3f, /* 0x1780-0x17bf */ + 0x40, 0xfe, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x00, /* 0x17c0-0x17ff */ + /* 0x1800-0x19ff */ + 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1800-0x183f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1840-0x187f */ + 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0x1880-0x18bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18c0-0x18ff */ + 0x00, 0x00, 0x00, 0x00, 0x87, 0x01, 0x04, 0x0e, /* 0x1900-0x193f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1940-0x197f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1980-0x19bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x19c0-0x19ff */ + /* 0x1a00-0x1bff */ + 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x00, /* 0x1a00-0x1a3f */ + 0x00, 0x00, 0x40, 0x7f, 0xe5, 0x1f, 0xf8, 0x9f, /* 0x1a40-0x1a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, /* 0x1a80-0x1abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1ac0-0x1aff */ + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x17, /* 0x1b00-0x1b3f */ + 0x04, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0f, 0x00, /* 0x1b40-0x1b7f */ + 0x03, 0x00, 0x00, 0x00, 0x3c, 0x3b, 0x00, 0x00, /* 0x1b80-0x1bbf */ + 0x00, 0x00, 0x00, 0x00, 0x40, 0xa3, 0x03, 0x00, /* 0x1bc0-0x1bff */ + /* 0x1c00-0x1dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x00, /* 0x1c00-0x1c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c40-0x1c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1c80-0x1cbf */ + 0x00, 0x00, 0xf7, 0xff, 0xfd, 0x21, 0x10, 0x03, /* 0x1cc0-0x1cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d00-0x1d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d40-0x1d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d80-0x1dbf */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xf8, /* 0x1dc0-0x1dff */ + /* 0x2000-0x21ff */ + 0x00, 0xf8, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x2000-0x203f */ + 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x00, 0x00, /* 0x2040-0x207f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2080-0x20bf */ + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, /* 0x20c0-0x20ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2100-0x213f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2140-0x217f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2180-0x21bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x21c0-0x21ff */ + /* 0x2c00-0x2dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c00-0x2c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c40-0x2c7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2c80-0x2cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, /* 0x2cc0-0x2cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d00-0x2d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x2d40-0x2d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x2d80-0x2dbf */ + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0x2dc0-0x2dff */ + /* 0x3000-0x31ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x3000-0x303f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3040-0x307f */ + 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, /* 0x3080-0x30bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30c0-0x30ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3100-0x313f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3140-0x317f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x3180-0x31bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x31c0-0x31ff */ + /* 0xa600-0xa7ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa600-0xa63f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x3f, /* 0xa640-0xa67f */ + 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xa680-0xa6bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0xa6c0-0xa6ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa700-0xa73f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa740-0xa77f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa780-0xa7bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa7c0-0xa7ff */ + /* 0xa800-0xa9ff */ + 0x44, 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0xa800-0xa83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa840-0xa87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa880-0xa8bf */ + 0x30, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, /* 0xa8c0-0xa8ff */ + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, /* 0xa900-0xa93f */ + 0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa940-0xa97f */ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x13, /* 0xa980-0xa9bf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, /* 0xa9c0-0xa9ff */ + /* 0xaa00-0xabff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x66, 0x00, /* 0xaa00-0xaa3f */ + 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0xaa40-0xaa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0xc1, /* 0xaa80-0xaabf */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x00, /* 0xaac0-0xaaff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab00-0xab3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab40-0xab7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xab80-0xabbf */ + 0x00, 0x00, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, /* 0xabc0-0xabff */ + /* 0xfa00-0xfbff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa00-0xfa3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa40-0xfa7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfa80-0xfabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfac0-0xfaff */ + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, /* 0xfb00-0xfb3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb40-0xfb7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfb80-0xfbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfbc0-0xfbff */ + /* 0xfe00-0xffff */ + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, /* 0xfe00-0xfe3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe40-0xfe7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xfe80-0xfebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0xfec0-0xfeff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff00-0xff3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff40-0xff7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xff80-0xffbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, /* 0xffc0-0xffff */ + /* 0x10000-0x101ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10000-0x1003f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10040-0x1007f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10080-0x100bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x100c0-0x100ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10100-0x1013f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10140-0x1017f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10180-0x101bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, /* 0x101c0-0x101ff */ + /* 0x10200-0x103ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10200-0x1023f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10240-0x1027f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10280-0x102bf */ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, /* 0x102c0-0x102ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10300-0x1033f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, /* 0x10340-0x1037f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10380-0x103bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x103c0-0x103ff */ + /* 0x10a00-0x10bff */ + 0x6e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, /* 0x10a00-0x10a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a40-0x10a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10a80-0x10abf */ + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, /* 0x10ac0-0x10aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b00-0x10b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b40-0x10b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10b80-0x10bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10bc0-0x10bff */ + /* 0x11000-0x111ff */ + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11000-0x1103f */ + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x11040-0x1107f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x26, /* 0x11080-0x110bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x110c0-0x110ff */ + 0x07, 0x00, 0x00, 0x00, 0x80, 0xef, 0x1f, 0x00, /* 0x11100-0x1113f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, /* 0x11140-0x1117f */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x7f, /* 0x11180-0x111bf */ + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x111c0-0x111ff */ + /* 0x11200-0x113ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd3, 0x40, /* 0x11200-0x1123f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11240-0x1127f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11280-0x112bf */ + 0x00, 0x00, 0x00, 0x80, 0xf8, 0x07, 0x00, 0x00, /* 0x112c0-0x112ff */ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, /* 0x11300-0x1133f */ + 0x01, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x1f, 0x00, /* 0x11340-0x1137f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11380-0x113bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x113c0-0x113ff */ + /* 0x11400-0x115ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0x11400-0x1143f */ + 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11440-0x1147f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x85, /* 0x11480-0x114bf */ + 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x114c0-0x114ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11500-0x1153f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11540-0x1157f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xb0, /* 0x11580-0x115bf */ + 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0x115c0-0x115ff */ + /* 0x11600-0x117ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xa7, /* 0x11600-0x1163f */ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11640-0x1167f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xbf, 0x00, /* 0x11680-0x116bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x116c0-0x116ff */ + 0x00, 0x00, 0x00, 0xe0, 0xbc, 0x0f, 0x00, 0x00, /* 0x11700-0x1173f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11740-0x1177f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11780-0x117bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x117c0-0x117ff */ + /* 0x11c00-0x11dff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, /* 0x11c00-0x11c3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11c40-0x11c7f */ + 0x00, 0x00, 0xfc, 0xff, 0xff, 0xfc, 0x6d, 0x00, /* 0x11c80-0x11cbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11cc0-0x11cff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d00-0x11d3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d40-0x11d7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11d80-0x11dbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x11dc0-0x11dff */ + /* 0x16a00-0x16bff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a00-0x16a3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a40-0x16a7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16a80-0x16abf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, /* 0x16ac0-0x16aff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, /* 0x16b00-0x16b3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b40-0x16b7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16b80-0x16bbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16bc0-0x16bff */ + /* 0x16e00-0x16fff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e00-0x16e3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e40-0x16e7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16e80-0x16ebf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16ec0-0x16eff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f00-0x16f3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f40-0x16f7f */ + 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16f80-0x16fbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x16fc0-0x16fff */ + /* 0x1bc00-0x1bdff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc00-0x1bc3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bc40-0x1bc7f */ + 0x00, 0x00, 0x00, 0x60, 0x0f, 0x00, 0x00, 0x00, /* 0x1bc80-0x1bcbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bcc0-0x1bcff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd00-0x1bd3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd40-0x1bd7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bd80-0x1bdbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1bdc0-0x1bdff */ + /* 0x1d000-0x1d1ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d000-0x1d03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d040-0x1d07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d080-0x1d0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d0c0-0x1d0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d100-0x1d13f */ + 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xf8, 0xff, /* 0x1d140-0x1d17f */ + 0xe7, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, /* 0x1d180-0x1d1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d1c0-0x1d1ff */ + /* 0x1d200-0x1d3ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d200-0x1d23f */ + 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d240-0x1d27f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d280-0x1d2bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d2c0-0x1d2ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d300-0x1d33f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d340-0x1d37f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d380-0x1d3bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1d3c0-0x1d3ff */ + /* 0x1da00-0x1dbff */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf8, /* 0x1da00-0x1da3f */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x20, 0x00, /* 0x1da40-0x1da7f */ + 0x10, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x00, 0x00, /* 0x1da80-0x1dabf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dac0-0x1daff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db00-0x1db3f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db40-0x1db7f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1db80-0x1dbbf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1dbc0-0x1dbff */ + /* 0x1e000-0x1e1ff */ + 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, 0x00, /* 0x1e000-0x1e03f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e040-0x1e07f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e080-0x1e0bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e0c0-0x1e0ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e100-0x1e13f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e140-0x1e17f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e180-0x1e1bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e1c0-0x1e1ff */ + /* 0x1e800-0x1e9ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e800-0x1e83f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e840-0x1e87f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e880-0x1e8bf */ + 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e8c0-0x1e8ff */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e900-0x1e93f */ + 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e940-0x1e97f */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x1e980-0x1e9bf */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* 0x1e9c0-0x1e9ff */ +}; +static const signed char nonspacing_table_ind[248] = { + 0, 1, 2, 3, 4, 5, 6, 7, /* 0x0000-0x0fff */ + 8, 9, -1, 10, 11, 12, 13, -1, /* 0x1000-0x1fff */ + 14, -1, -1, -1, -1, -1, 15, -1, /* 0x2000-0x2fff */ + 16, -1, -1, -1, -1, -1, -1, -1, /* 0x3000-0x3fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x4000-0x4fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x5000-0x5fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x6000-0x6fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x7000-0x7fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x8000-0x8fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x9000-0x9fff */ + -1, -1, -1, 17, 18, 19, -1, -1, /* 0xa000-0xafff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xb000-0xbfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xc000-0xcfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xd000-0xdfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0xe000-0xefff */ + -1, -1, -1, -1, -1, 20, -1, 21, /* 0xf000-0xffff */ + 22, 23, -1, -1, -1, 24, -1, -1, /* 0x10000-0x10fff */ + 25, 26, 27, 28, -1, -1, 29, -1, /* 0x11000-0x11fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x12000-0x12fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x13000-0x13fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x14000-0x14fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x15000-0x15fff */ + -1, -1, -1, -1, -1, 30, -1, 31, /* 0x16000-0x16fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x17000-0x17fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x18000-0x18fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x19000-0x19fff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1a000-0x1afff */ + -1, -1, -1, -1, -1, -1, 32, -1, /* 0x1b000-0x1bfff */ + -1, -1, -1, -1, -1, -1, -1, -1, /* 0x1c000-0x1cfff */ + 33, 34, -1, -1, -1, 35, -1, -1, /* 0x1d000-0x1dfff */ + 36, -1, -1, -1, 37, -1, -1, -1 /* 0x1e000-0x1efff */ +}; + +/* Determine number of column positions required for UC. */ +int +uc_width (ucs4_t uc, const char *encoding) +{ + /* Test for non-spacing or control character. */ + if ((uc >> 9) < 248) + { + int ind = nonspacing_table_ind[uc >> 9]; + if (ind >= 0) + if ((nonspacing_table_data[64*ind + ((uc >> 3) & 63)] >> (uc & 7)) & 1) + { + if (uc > 0 && uc < 0xa0) + return -1; + else + return 0; + } + } + else if ((uc >> 9) == (0xe0000 >> 9)) + { + if (uc >= 0xe0100) + { + if (uc <= 0xe01ef) + return 0; + } + else + { + if (uc >= 0xe0020 ? uc <= 0xe007f : uc == 0xe0001) + return 0; + } + } + /* Test for double-width character. + * Generated from "grep '^[^;]\{4,5\};[WF]' EastAsianWidth.txt" + * and "grep '^[^;]\{4,5\};[^WF]' EastAsianWidth.txt" + */ + if (uc >= 0x1100 + && ((uc < 0x1160) /* Hangul Jamo */ + || (uc >= 0x2329 && uc < 0x232b) /* Angle Brackets */ + || (uc >= 0x2e80 && uc < 0xa4d0 /* CJK ... Yi */ + && !(uc == 0x303f) && !(uc >= 0x4dc0 && uc < 0x4e00)) + || (uc >= 0xac00 && uc < 0xd7a4) /* Hangul Syllables */ + || (uc >= 0xf900 && uc < 0xfb00) /* CJK Compatibility Ideographs */ + || (uc >= 0xfe10 && uc < 0xfe20) /* Presentation Forms for Vertical */ + || (uc >= 0xfe30 && uc < 0xfe70) /* CJK Compatibility Forms */ + || (uc >= 0xff00 && uc < 0xff61) /* Fullwidth Forms */ + || (uc >= 0xffe0 && uc < 0xffe7) /* Fullwidth Signs */ + || (uc >= 0x20000 && uc <= 0x2ffff) /* Supplementary Ideographic Plane */ + || (uc >= 0x30000 && uc <= 0x3ffff) /* Tertiary Ideographic Plane */ + ) ) + return 2; + /* In ancient CJK encodings, Cyrillic and most other characters are + double-width as well. */ + if (uc >= 0x00A1 && uc < 0xFF61 && uc != 0x20A9 + && is_cjk_encoding (encoding)) + return 2; + return 1; +} diff --git a/gllib/unused-parameter.h b/gllib/unused-parameter.h new file mode 100644 index 0000000..8bd04b1 --- /dev/null +++ b/gllib/unused-parameter.h @@ -0,0 +1,36 @@ +/* A C macro for declaring that specific function parameters are not used. + Copyright (C) 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter + declarations for parameters that are not used. This helps to reduce + warnings, such as from GCC -Wunused-parameter. The syntax is as follows: + type param _GL_UNUSED_PARAMETER + or more generally + param_decl _GL_UNUSED_PARAMETER + For example: + int param _GL_UNUSED_PARAMETER + int *(*param)(void) _GL_UNUSED_PARAMETER + Other possible, but obscure and discouraged syntaxes: + int _GL_UNUSED_PARAMETER *(*param)(void) + _GL_UNUSED_PARAMETER int *(*param)(void) + */ +#ifndef _GL_UNUSED_PARAMETER +# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) +# else +# define _GL_UNUSED_PARAMETER +# endif +#endif diff --git a/glm4/00gnulib.m4 b/glm4/00gnulib.m4 new file mode 100644 index 0000000..bb3512f --- /dev/null +++ b/glm4/00gnulib.m4 @@ -0,0 +1,46 @@ +# 00gnulib.m4 serial 3 +dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This file must be named something that sorts before all other +dnl gnulib-provided .m4 files. It is needed until such time as we can +dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE and +dnl m4_divert semantics. + +# Until autoconf 2.63, handling of the diversion stack required m4_init +# to be called first; but this does not happen with aclocal. Wrapping +# the entire execution in another layer of the diversion stack fixes this. +# Worse, prior to autoconf 2.62, m4_wrap depended on the underlying m4 +# for whether it was FIFO or LIFO; in order to properly balance with +# m4_init, we need to undo our push just before anything wrapped within +# the m4_init body. The way to ensure this is to wrap both sides of +# m4_init with a one-shot macro that does the pop at the right time. +m4_ifndef([_m4_divert_diversion], +[m4_divert_push([KILL]) +m4_define([gl_divert_fixup], [m4_divert_pop()m4_define([$0])]) +m4_define([m4_init], + [gl_divert_fixup()]m4_defn([m4_init])[gl_divert_fixup()])]) + + +# AC_DEFUN_ONCE([NAME], VALUE) +# ---------------------------- +# Define NAME to expand to VALUE on the first use (whether by direct +# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. +# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This +# definition is slower than the version in Autoconf 2.64, because it +# can only use interfaces that existed since 2.59; but it achieves the +# same effect. Quoting is necessary to avoid confusing Automake. +m4_version_prereq([2.63.263], [], +[m4_define([AC][_DEFUN_ONCE], + [AC][_DEFUN([$1], + [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], + [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl +[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) + +# gl_00GNULIB +# ----------- +# Witness macro that this file has been included. Needed to force +# Automake to include this file prior to all other gnulib .m4 files. +AC_DEFUN([gl_00GNULIB]) diff --git a/glm4/absolute-header.m4 b/glm4/absolute-header.m4 new file mode 100644 index 0000000..c73adc8 --- /dev/null +++ b/glm4/absolute-header.m4 @@ -0,0 +1,102 @@ +# absolute-header.m4 serial 16 +dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Derek Price. + +# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...) +# --------------------------------------- +# Find the absolute name of a header file, testing first if the header exists. +# If the header were sys/inttypes.h, this macro would define +# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h +# in config.h +# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"'). +# The three "///" are to pacify Sun C 5.8, which otherwise would say +# "warning: #include of /usr/include/... may be non-portable". +# Use '""', not '<>', so that the /// cannot be confused with a C99 comment. +# Note: This macro assumes that the header file is not empty after +# preprocessing, i.e. it does not only define preprocessor macros but also +# provides some type/enum definitions or function/variable declarations. +AC_DEFUN([gl_ABSOLUTE_HEADER], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_PREPROC_REQUIRE()dnl +dnl FIXME: gl_absolute_header and ac_header_exists must be used unquoted +dnl until we can assume autoconf 2.64 or newer. +m4_foreach_w([gl_HEADER_NAME], [$1], + [AS_VAR_PUSHDEF([gl_absolute_header], + [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl + AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>], + m4_defn([gl_absolute_header]), + [AS_VAR_PUSHDEF([ac_header_exists], + [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl + AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl + if test AS_VAR_GET(ac_header_exists) = yes; then + gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME])) + fi + AS_VAR_POPDEF([ac_header_exists])dnl + ])dnl + AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])), + ["AS_VAR_GET(gl_absolute_header)"], + [Define this to an absolute name of <]m4_defn([gl_HEADER_NAME])[>.]) + AS_VAR_POPDEF([gl_absolute_header])dnl +])dnl +])# gl_ABSOLUTE_HEADER + +# gl_ABSOLUTE_HEADER_ONE(HEADER) +# ------------------------------ +# Like gl_ABSOLUTE_HEADER, except that: +# - it assumes that the header exists, +# - it uses the current CPPFLAGS, +# - it does not cache the result, +# - it is silent. +AC_DEFUN([gl_ABSOLUTE_HEADER_ONE], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])]) + dnl AIX "xlc -E" and "cc -E" omit #line directives for header files + dnl that contain only a #include of other header files and no + dnl non-comment tokens of their own. This leads to a failure to + dnl detect the absolute name of , , + dnl and others. The workaround is to force preservation of comments + dnl through option -C. This ensures all necessary #line directives + dnl are present. GCC supports option -C as well. + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac +changequote(,) + case "$host_os" in + mingw*) + dnl For the sake of native Windows compilers (excluding gcc), + dnl treat backslash as a directory separator, like /. + dnl Actually, these compilers use a double-backslash as + dnl directory separator, inside the + dnl # line "filename" + dnl directives. + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + dnl A sed expression that turns a string into a basic regular + dnl expression, for use within "/.../". + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo '$1' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' +changequote([,]) + dnl eval is necessary to expand gl_absname_cpp. + dnl Ultrix and Pyramid sh refuse to redirect output of eval, + dnl so use subshell. + AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]), +[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | + sed -n "$gl_absolute_header_sed"`]) +]) diff --git a/glm4/appstream-xml.m4 b/glm4/appstream-xml.m4 new file mode 100644 index 0000000..11ed91a --- /dev/null +++ b/glm4/appstream-xml.m4 @@ -0,0 +1,86 @@ +# appstream-xml.m4 +# +# serial 6 + +dnl APPSTREAM_XML +dnl Installs and validates AppData XML files. +dnl +dnl Call APPSTREAM_XML in configure.ac to check for the appstream-util tool. +dnl Add @APPSTREAM_XML_RULES@ to a Makefile.am to substitute the make rules. Add +dnl .appdata.xml files to appstream_XML in Makefile.am and they will be validated +dnl at make check time, if appstream-util is installed, as well as installed +dnl to the correct location automatically. Add --enable-appstream-util to +dnl AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am to require valid AppData XML when +dnl doing a distcheck. +dnl +dnl Adding files to appstream_XML does not distribute them automatically. + +AC_DEFUN([APPSTREAM_XML], +[ + m4_pattern_allow([AM_V_GEN]) + AC_ARG_ENABLE([appstream-util], + [AS_HELP_STRING([--disable-appstream-util], + [Disable validating AppData XML files during check phase])]) + + AS_IF([test "x$enable_appstream_validate" != "xno"], + [AC_PATH_PROG([APPSTREAM_UTIL], [appstream-util]) + AS_IF([test "x$APPSTREAM_UTIL" = "x"], + [have_appstream_validate=no], + [have_appstream_validate=yes + AC_SUBST([APPSTREAM_UTIL])])], + [have_appstream_validate=no]) + + AS_IF([test "x$have_appstream_validate" != "xno"], + [appstream_validate=yes], + [appstream_validate=no + AS_IF([test "x$enable_appstream_validate" = "xyes"], + [AC_MSG_ERROR([AppData validation was requested but appstream-util was not found])])]) + + AC_SUBST([appstreamxmldir], [${datadir}/metainfo]) + + APPSTREAM_XML_RULES=' +.PHONY : uninstall-appstream-xml install-appstream-xml clean-appstream-xml + +mostlyclean-am: clean-appstream-xml + +%.appdata.valid: %.appdata.xml + $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \ + if test -n "$(APPSTREAM_UTIL)"; \ + then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \ + && touch [$]@ + +check-am: $(appstream_XML:.appdata.xml=.appdata.valid) +uninstall-am: uninstall-appstream-xml +install-data-am: install-appstream-xml + +.SECONDARY: $(appstream_XML) + +install-appstream-xml: $(appstream_XML) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(appstreamxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appstreamxmldir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(appstreamxmldir)"; \ + fi + +uninstall-appstream-xml: + @$(NORMAL_UNINSTALL) + @list='\''$(appstream_XML)'\''; test -n "$(appstreamxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(appstreamxmldir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(appstreamxmldir)" && rm -f $$files + +clean-appstream-xml: + rm -f $(appstream_XML:.appdata.xml=.appdata.valid) +' + _APPSTREAM_XML_SUBST(APPSTREAM_XML_RULES) +]) + +dnl _APPSTREAM_XML_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_APPSTREAM_XML_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) diff --git a/glm4/asm-underscore.m4 b/glm4/asm-underscore.m4 new file mode 100644 index 0000000..07270c9 --- /dev/null +++ b/glm4/asm-underscore.m4 @@ -0,0 +1,71 @@ +# asm-underscore.m4 serial 3 +dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. Based on as-underscore.m4 in GNU clisp. + +# gl_ASM_SYMBOL_PREFIX +# Tests for the prefix of C symbols at the assembly language level and the +# linker level. This prefix is either an underscore or empty. Defines the +# C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to +# a stringified variant of this prefix. + +AC_DEFUN([gl_ASM_SYMBOL_PREFIX], +[ + dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because + dnl 1. It works only for GCC. + dnl 2. It is incorrectly defined on some platforms, in some GCC versions. + AC_REQUIRE([gl_C_ASM]) + AC_CACHE_CHECK( + [whether C symbols are prefixed with underscore at the linker level], + [gl_cv_prog_as_underscore], + [cat > conftest.c </dev/null 2>&1 + if LC_ALL=C grep -E '(^|[[^a-zA-Z0-9_]])_foo([[^a-zA-Z0-9_]]|$)' conftest.$gl_asmext >/dev/null; then + gl_cv_prog_as_underscore=yes + else + gl_cv_prog_as_underscore=no + fi + rm -f conftest* + ]) + if test $gl_cv_prog_as_underscore = yes; then + USER_LABEL_PREFIX=_ + else + USER_LABEL_PREFIX= + fi + AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX], + [Define to the prefix of C symbols at the assembler and linker level, + either an underscore or empty.]) + ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"' + AC_SUBST([ASM_SYMBOL_PREFIX]) +]) + +# gl_C_ASM +# Determines how to produce an assembly language file from C source code. +# Sets the variables: +# gl_asmext - the extension of assembly language output, +# gl_c_asm_opt - the C compiler option that produces assembly language output. + +AC_DEFUN([gl_C_ASM], +[ + AC_EGREP_CPP([MicrosoftCompiler], + [ +#ifdef _MSC_VER +MicrosoftCompiler +#endif + ], + [gl_asmext='asm' + gl_c_asm_opt='-c -Fa' + ], + [gl_asmext='s' + gl_c_asm_opt='-S' + ]) +]) diff --git a/glm4/gettext.m4 b/glm4/gettext.m4 new file mode 100644 index 0000000..eef5073 --- /dev/null +++ b/glm4/gettext.m4 @@ -0,0 +1,420 @@ +# gettext.m4 serial 68 (gettext-0.19.8) +dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value '$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH([included-gettext], + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias ("")) +#else +#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0 +#endif +$gt_revision_test_code + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION + ]])], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE([ENABLE_NLS], [1], + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE([HAVE_GETTEXT], [1], + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE([HAVE_DCGETTEXT], [1], + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST([DATADIRNAME]) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST([INSTOBJEXT]) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST([GENCAT]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST([INTLOBJS]) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST([INTLLIBS]) + + dnl Make all documented variables known to autoconf. + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + + +dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) diff --git a/glm4/glib-2.0.m4 b/glm4/glib-2.0.m4 new file mode 100644 index 0000000..d8f03d4 --- /dev/null +++ b/glm4/glib-2.0.m4 @@ -0,0 +1,211 @@ +# Configure paths for GLIB +# Owen Taylor 1997-2001 + +dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) +dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject, +dnl gthread, or gio is specified in MODULES, pass to pkg-config +dnl +AC_DEFUN([AM_PATH_GLIB_2_0], +[dnl +dnl Get the cflags and libraries from pkg-config +dnl +AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], + , enable_glibtest=yes) + + pkg_config_args=glib-2.0 + for module in . $4 + do + case "$module" in + gmodule) + pkg_config_args="$pkg_config_args gmodule-2.0" + ;; + gmodule-no-export) + pkg_config_args="$pkg_config_args gmodule-no-export-2.0" + ;; + gobject) + pkg_config_args="$pkg_config_args gobject-2.0" + ;; + gthread) + pkg_config_args="$pkg_config_args gthread-2.0" + ;; + gio*) + pkg_config_args="$pkg_config_args $module-2.0" + ;; + esac + done + + PKG_PROG_PKG_CONFIG([0.16]) + + no_glib="" + + if test "x$PKG_CONFIG" = x ; then + no_glib=yes + PKG_CONFIG=no + fi + + min_glib_version=ifelse([$1], ,2.0.0,$1) + AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) + + if test x$PKG_CONFIG != xno ; then + ## don't try to run the test against uninstalled libtool libs + if $PKG_CONFIG --uninstalled $pkg_config_args; then + echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" + enable_glibtest=no + fi + + if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then + : + else + no_glib=yes + fi + fi + + if test x"$no_glib" = x ; then + GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` + GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` + GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` + GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0` + + GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` + GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` + glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_glibtest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$GLIB_LIBS $LIBS" +dnl +dnl Now check if the installed GLIB is sufficiently new. (Also sanity +dnl checks the results of pkg-config to some extent) +dnl + rm -f conf.glibtest + AC_TRY_RUN([ +#include +#include +#include + +int +main () +{ + unsigned int major, minor, micro; + + fclose (fopen ("conf.glibtest", "w")); + + if (sscanf("$min_glib_version", "%u.%u.%u", &major, &minor, µ) != 3) { + printf("%s, bad version string\n", "$min_glib_version"); + exit(1); + } + + if ((glib_major_version != $glib_config_major_version) || + (glib_minor_version != $glib_config_minor_version) || + (glib_micro_version != $glib_config_micro_version)) + { + printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", + $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, + glib_major_version, glib_minor_version, glib_micro_version); + printf ("*** was found! If pkg-config was correct, then it is best\n"); + printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); + printf("*** to point to the correct configuration files\n"); + } + else if ((glib_major_version != GLIB_MAJOR_VERSION) || + (glib_minor_version != GLIB_MINOR_VERSION) || + (glib_micro_version != GLIB_MICRO_VERSION)) + { + printf("*** GLIB header files (version %d.%d.%d) do not match\n", + GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); + printf("*** library (version %d.%d.%d)\n", + glib_major_version, glib_minor_version, glib_micro_version); + } + else + { + if ((glib_major_version > major) || + ((glib_major_version == major) && (glib_minor_version > minor)) || + ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) + { + return 0; + } + else + { + printf("\n*** An old version of GLIB (%u.%u.%u) was found.\n", + glib_major_version, glib_minor_version, glib_micro_version); + printf("*** You need a version of GLIB newer than %u.%u.%u. The latest version of\n", + major, minor, micro); + printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); + printf("***\n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); + printf("*** correct copy of pkg-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 1; +} +],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + if test "x$no_glib" = x ; then + AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "$PKG_CONFIG" = "no" ; then + echo "*** A new enough version of pkg-config was not found." + echo "*** See http://www.freedesktop.org/software/pkgconfig/" + else + if test -f conf.glibtest ; then + : + else + echo "*** Could not run GLIB test program, checking why..." + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$LIBS $GLIB_LIBS" + AC_TRY_LINK([ +#include +#include +], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding GLIB or finding the wrong" + echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + GLIB_CFLAGS="" + GLIB_LIBS="" + GLIB_GENMARSHAL="" + GOBJECT_QUERY="" + GLIB_MKENUMS="" + GLIB_COMPILE_RESOURCES="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(GLIB_CFLAGS) + AC_SUBST(GLIB_LIBS) + AC_SUBST(GLIB_GENMARSHAL) + AC_SUBST(GOBJECT_QUERY) + AC_SUBST(GLIB_MKENUMS) + AC_SUBST(GLIB_COMPILE_RESOURCES) + rm -f conf.glibtest +]) diff --git a/glm4/gnulib-cache.m4 b/glm4/gnulib-cache.m4 new file mode 100644 index 0000000..e3771b9 --- /dev/null +++ b/glm4/gnulib-cache.m4 @@ -0,0 +1,68 @@ +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# +# This file represents the specification of how gnulib-tool is used. +# It acts as a cache: It is written and read by gnulib-tool. +# In projects that use version control, this file is meant to be put under +# version control, like the configure.ac and various Makefile.am files. + + +# Specification in the form of a command-line invocation: +# gnulib-tool --import --lib=libgnu --source-base=gllib --m4-base=glm4 --doc-base=doc --tests-base=gltests --aux-dir=. --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files host-cpu-c-abi libunistring-optional unicase/tolower unicase/totitle unicase/toupper unictype/block-all unictype/category-all unictype/ctype-print unictype/mirror unictype/property-all unictype/scripts-all uniname/uniname uninorm/canonical-decomposition uninorm/nfd uninorm/u32-normalize unistr/u32-to-u8 unistr/u8-strmblen unistr/u8-to-u32 unitypes uniwidth/width + +# Specification in the form of a few gnulib-tool.m4 macro invocations: +gl_LOCAL_DIR([]) +gl_MODULES([ + host-cpu-c-abi + libunistring-optional + unicase/tolower + unicase/totitle + unicase/toupper + unictype/block-all + unictype/category-all + unictype/ctype-print + unictype/mirror + unictype/property-all + unictype/scripts-all + uniname/uniname + uninorm/canonical-decomposition + uninorm/nfd + uninorm/u32-normalize + unistr/u32-to-u8 + unistr/u8-strmblen + unistr/u8-to-u32 + unitypes + uniwidth/width +]) +gl_AVOID([]) +gl_SOURCE_BASE([gllib]) +gl_M4_BASE([glm4]) +gl_PO_BASE([]) +gl_DOC_BASE([doc]) +gl_TESTS_BASE([gltests]) +gl_LIB([libgnu]) +gl_MAKEFILE_NAME([]) +gl_LIBTOOL +gl_MACRO_PREFIX([gl]) +gl_PO_DOMAIN([]) +gl_WITNESS_C_MACRO([]) +gl_VC_FILES([false]) diff --git a/glm4/gnulib-common.m4 b/glm4/gnulib-common.m4 new file mode 100644 index 0000000..bea5a65 --- /dev/null +++ b/glm4/gnulib-common.m4 @@ -0,0 +1,467 @@ +# gnulib-common.m4 serial 38 +dnl Copyright (C) 2007-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# gl_COMMON +# is expanded unconditionally through gnulib-tool magic. +AC_DEFUN([gl_COMMON], [ + dnl Use AC_REQUIRE here, so that the code is expanded once only. + AC_REQUIRE([gl_00GNULIB]) + AC_REQUIRE([gl_COMMON_BODY]) +]) +AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +]) + AH_VERBATIM([isoc99_inline], +[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif]) + AH_VERBATIM([unused_parameter], +[/* Define as a marker that can be attached to declarations that might not + be used. This helps to reduce warnings, such as from + GCC -Wunused-parameter. */ +#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_UNUSED +#endif +/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name + is a misnomer outside of parameter lists. */ +#define _UNUSED_PARAMETER_ _GL_UNUSED + +/* gcc supports the "unused" attribute on possibly unused labels, and + g++ has since version 4.5. Note to support C++ as well as C, + _GL_UNUSED_LABEL should be used with a trailing ; */ +#if !defined __cplusplus || __GNUC__ > 4 \ + || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) +# define _GL_UNUSED_LABEL _GL_UNUSED +#else +# define _GL_UNUSED_LABEL +#endif + +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif +]) + dnl Preparation for running test programs: + dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not + dnl to /dev/tty, so they can be redirected to log files. Such diagnostics + dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. + LIBC_FATAL_STDERR_=1 + export LIBC_FATAL_STDERR_ +]) + +# gl_MODULE_INDICATOR_CONDITION +# expands to a C preprocessor expression that evaluates to 1 or 0, depending +# whether a gnulib module that has been requested shall be considered present +# or not. +m4_define([gl_MODULE_INDICATOR_CONDITION], [1]) + +# gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) +# sets the shell variable that indicates the presence of the given module to +# a C preprocessor expression that will evaluate to 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], +[ + gl_MODULE_INDICATOR_SET_VARIABLE_AUX( + [GNULIB_[]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])], + [gl_MODULE_INDICATOR_CONDITION]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable]) +# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION. +# The shell variable's value is a C preprocessor expression that evaluates +# to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX], +[ + m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1], + [ + dnl Simplify the expression VALUE || 1 to 1. + $1=1 + ], + [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1], + [gl_MODULE_INDICATOR_CONDITION])]) +]) + +# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition]) +# modifies the shell variable to include the given condition. The shell +# variable's value is a C preprocessor expression that evaluates to 0 or 1. +AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR], +[ + dnl Simplify the expression 1 || CONDITION to 1. + if test "$[]$1" != 1; then + dnl Simplify the expression 0 || CONDITION to CONDITION. + if test "$[]$1" = 0; then + $1=$2 + else + $1="($[]$1 || $2)" + fi + fi +]) + +# gl_MODULE_INDICATOR([modulename]) +# defines a C macro indicating the presence of the given module +# in a location where it can be used. +# | Value | Value | +# | in lib/ | in tests/ | +# --------------------------------------------+---------+-----------+ +# Module present among main modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module present among tests-related modules: | 0 | 1 | +# --------------------------------------------+---------+-----------+ +# Module not present at all: | 0 | 0 | +# --------------------------------------------+---------+-----------+ +AC_DEFUN([gl_MODULE_INDICATOR], +[ + AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), + [gl_MODULE_INDICATOR_CONDITION], + [Define to a C preprocessor expression that evaluates to 1 or 0, + depending whether the gnulib module $1 shall be considered present.]) +]) + +# gl_MODULE_INDICATOR_FOR_TESTS([modulename]) +# defines a C macro indicating the presence of the given module +# in lib or tests. This is useful to determine whether the module +# should be tested. +# | Value | Value | +# | in lib/ | in tests/ | +# --------------------------------------------+---------+-----------+ +# Module present among main modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module present among tests-related modules: | 1 | 1 | +# --------------------------------------------+---------+-----------+ +# Module not present at all: | 0 | 0 | +# --------------------------------------------+---------+-----------+ +AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], +[ + AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], + [Define to 1 when the gnulib module $1 should be tested.]) +]) + +# gl_ASSERT_NO_GNULIB_POSIXCHECK +# asserts that there will never be a need to #define GNULIB_POSIXCHECK. +# and thereby enables an optimization of configure and config.h. +# Used by Emacs. +AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK], +[ + dnl Override gl_WARN_ON_USE_PREPARE. + dnl But hide this definition from 'aclocal'. + AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], []) +]) + +# gl_ASSERT_NO_GNULIB_TESTS +# asserts that there will be no gnulib tests in the scope of the configure.ac +# and thereby enables an optimization of config.h. +# Used by Emacs. +AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS], +[ + dnl Override gl_MODULE_INDICATOR_FOR_TESTS. + AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], []) +]) + +# Test whether exists. +# Set HAVE_FEATURES_H. +AC_DEFUN([gl_FEATURES_H], +[ + AC_CHECK_HEADERS_ONCE([features.h]) + if test $ac_cv_header_features_h = yes; then + HAVE_FEATURES_H=1 + else + HAVE_FEATURES_H=0 + fi + AC_SUBST([HAVE_FEATURES_H]) +]) + +# m4_foreach_w +# is a backport of autoconf-2.59c's m4_foreach_w. +# Remove this macro when we can assume autoconf >= 2.60. +m4_ifndef([m4_foreach_w], + [m4_define([m4_foreach_w], + [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) + +# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) +# ---------------------------------------------------- +# Backport of autoconf-2.63b's macro. +# Remove this macro when we can assume autoconf >= 2.64. +m4_ifndef([AS_VAR_IF], +[m4_define([AS_VAR_IF], +[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) + +# gl_PROG_CC_C99 +# Modifies the value of the shell variable CC in an attempt to make $CC +# understand ISO C99 source code. +# This is like AC_PROG_CC_C99, except that +# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60, +# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC +# , +# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99 +# . +# Remaining problems: +# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options +# to CC twice +# . +# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard. +AC_DEFUN([gl_PROG_CC_C99], +[ + dnl Change that version number to the minimum Autoconf version that supports + dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls. + m4_version_prereq([9.0], + [AC_REQUIRE([AC_PROG_CC_C99])], + [AC_REQUIRE([AC_PROG_CC_STDC])]) +]) + +# gl_PROG_AR_RANLIB +# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler. +# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override +# the values. +AC_DEFUN([gl_PROG_AR_RANLIB], +[ + dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler + dnl as "cc", and GCC as "gcc". They have different object file formats and + dnl library formats. In particular, the GNU binutils programs ar and ranlib + dnl produce libraries that work only with gcc, not with cc. + AC_REQUIRE([AC_PROG_CC]) + dnl The '][' hides this use from 'aclocal'. + AC_BEFORE([$0], [A][M_PROG_AR]) + AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler], + [ + AC_EGREP_CPP([Amsterdam], + [ +#ifdef __ACK__ +Amsterdam +#endif + ], + [gl_cv_c_amsterdam_compiler=yes], + [gl_cv_c_amsterdam_compiler=no]) + ]) + + dnl Don't compete with AM_PROG_AR's decision about AR/ARFLAGS if we are not + dnl building with __ACK__. + if test $gl_cv_c_amsterdam_compiler = yes; then + if test -z "$AR"; then + AR='cc -c.a' + fi + if test -z "$ARFLAGS"; then + ARFLAGS='-o' + fi + else + dnl AM_PROG_AR was added in automake v1.11.2. AM_PROG_AR does not AC_SUBST + dnl ARFLAGS variable (it is filed into Makefile.in directly by automake + dnl script on-demand, if not specified by ./configure of course). + dnl Don't AC_REQUIRE the AM_PROG_AR otherwise the code for __ACK__ above + dnl will be ignored. Also, pay attention to call AM_PROG_AR in else block + dnl because AM_PROG_AR is written so it could re-set AR variable even for + dnl __ACK__. It may seem like its easier to avoid calling the macro here, + dnl but we need to AC_SUBST both AR/ARFLAGS (thus those must have some good + dnl default value and automake should usually know them). + dnl + dnl The '][' hides this use from 'aclocal'. + m4_ifdef([A][M_PROG_AR], [A][M_PROG_AR], [:]) + fi + + dnl In case the code above has not helped with setting AR/ARFLAGS, use + dnl Automake-documented default values for AR and ARFLAGS, but prefer + dnl ${host}-ar over ar (useful for cross-compiling). + AC_CHECK_TOOL([AR], [ar], [ar]) + if test -z "$ARFLAGS"; then + ARFLAGS='cr' + fi + + AC_SUBST([AR]) + AC_SUBST([ARFLAGS]) + if test -z "$RANLIB"; then + if test $gl_cv_c_amsterdam_compiler = yes; then + RANLIB=':' + else + dnl Use the ranlib program if it is available. + AC_PROG_RANLIB + fi + fi + AC_SUBST([RANLIB]) +]) + +# AC_PROG_MKDIR_P +# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix +# for interoperability with automake-1.9.6 from autoconf-2.62. +# Remove this macro when we can assume autoconf >= 2.62 or +# autoconf >= 2.60 && automake >= 1.10. +# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness. +m4_ifndef([AC_AUTOCONF_VERSION],[ +m4_ifdef([AC_PROG_MKDIR_P], [ + dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. + m4_define([AC_PROG_MKDIR_P], + m4_defn([AC_PROG_MKDIR_P])[ + AC_SUBST([MKDIR_P])])], [ + dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. + AC_DEFUN_ONCE([AC_PROG_MKDIR_P], + [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + MKDIR_P='$(mkdir_p)' + AC_SUBST([MKDIR_P])])]) +]) + +# AC_C_RESTRICT +# This definition is copied from post-2.69 Autoconf and overrides the +# AC_C_RESTRICT macro from autoconf 2.60..2.69. It can be removed +# once autoconf >= 2.70 can be assumed. It's painful to check version +# numbers, and in practice this macro is more up-to-date than Autoconf +# is, so override Autoconf unconditionally. +AC_DEFUN([AC_C_RESTRICT], +[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], + [ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[typedef int *int_ptr; + int foo (int_ptr $ac_kw ip) { return ip[0]; } + int bar (int [$ac_kw]); /* Catch GCC bug 14050. */ + int bar (int ip[$ac_kw]) { return ip[0]; } + ]], + [[int s[1]; + int *$ac_kw t = s; + t[0] = 0; + return foo (t) + bar (t); + ]])], + [ac_cv_c_restrict=$ac_kw]) + test "$ac_cv_c_restrict" != no && break + done + ]) + AH_VERBATIM([restrict], +[/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#undef restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif]) + case $ac_cv_c_restrict in + restrict) ;; + no) AC_DEFINE([restrict], []) ;; + *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; + esac +])# AC_C_RESTRICT + +# gl_BIGENDIAN +# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. +# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some +# macros invoke AC_C_BIGENDIAN with arguments. +AC_DEFUN([gl_BIGENDIAN], +[ + AC_C_BIGENDIAN +]) + +# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) +# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not +# output a spurious "(cached)" mark in the midst of other configure output. +# This macro should be used instead of AC_CACHE_VAL when it is not surrounded +# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. +AC_DEFUN([gl_CACHE_VAL_SILENT], +[ + saved_as_echo_n="$as_echo_n" + as_echo_n=':' + AC_CACHE_VAL([$1], [$2]) + as_echo_n="$saved_as_echo_n" +]) + +# AS_VAR_COPY was added in autoconf 2.63b +m4_define_default([AS_VAR_COPY], +[AS_LITERAL_IF([$1[]$2], [$1=$$2], [eval $1=\$$2])]) + +# AC_PROG_SED was added in autoconf 2.59b +m4_ifndef([AC_PROG_SED], +[AC_DEFUN([AC_PROG_SED], +[AC_CACHE_CHECK([for a sed that does not truncate output], ac_cv_path_SED, + [dnl ac_script should not contain more than 99 commands (for HP-UX sed), + dnl but more than about 7000 bytes, to catch a limit in Solaris 8 /usr/ucb/sed. + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + AS_UNSET([ac_script]) + if test -z "$SED"; then + ac_path_SED_found=false + _AS_PATH_WALK([], [ + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + AS_EXECUTABLE_P(["$ac_path_SED"]) || continue + case `"$ac_path_SED" --version 2>&1` in + *GNU*) ac_cv_path_SED=$ac_path_SED ac_path_SED_found=:;; + *) + ac_count=0 + _AS_ECHO_N([0123456789]) >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >> conftest.nl + "$ac_path_SED" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best so far, but keep looking for better + ac_cv_path_SED=$ac_path_SED + ac_path_SED_max=$ac_count + fi + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; + esac + $ac_path_SED_found && break 3 + done + done]) + if test -z "$ac_cv_path_SED"; then + AC_ERROR([no acceptable sed could be found in \$PATH]) + fi + else + ac_cv_path_SED=$SED + fi + ]) + SED="$ac_cv_path_SED" + AC_SUBST([SED])dnl + rm -f conftest.sed +]) +]) diff --git a/glm4/gnulib-comp.m4 b/glm4/gnulib-comp.m4 new file mode 100644 index 0000000..ca74677 --- /dev/null +++ b/glm4/gnulib-comp.m4 @@ -0,0 +1,1010 @@ +# DO NOT EDIT! GENERATED AUTOMATICALLY! +# Copyright (C) 2002-2017 Free Software Foundation, Inc. +# +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This file 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 file. If not, see . +# +# As a special exception to the GNU General Public License, +# this file may be distributed as part of a program that +# contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# +# This file represents the compiled summary of the specification in +# gnulib-cache.m4. It lists the computed macro invocations that need +# to be invoked from configure.ac. +# In projects that use version control, this file can be treated like +# other built files. + + +# This macro should be invoked from ./configure.ac, in the section +# "Checks for programs", right after AC_PROG_CC, and certainly before +# any checks for libraries, header files, types and library functions. +AC_DEFUN([gl_EARLY], +[ + m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace + m4_pattern_allow([^gl_ES$])dnl a valid locale name + m4_pattern_allow([^gl_LIBOBJS$])dnl a variable + m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable + + # Pre-early section. + AC_REQUIRE([gl_PROG_AR_RANLIB]) + + AC_REQUIRE([AM_PROG_CC_C_O]) + # Code from module absolute-header: + # Code from module array-mergesort: + # Code from module gperf: + # Code from module havelib: + # Code from module host-cpu-c-abi: + # Code from module iconv: + # Code from module include_next: + # Code from module inline: + # Code from module libunistring-optional: + # Code from module limits-h: + # Code from module multiarch: + # Code from module snippet/unused-parameter: + # Code from module ssize_t: + # Code from module stdbool: + # Code from module stdint: + # Code from module streq: + # Code from module sys_types: + # Code from module unicase/base: + # Code from module unicase/tolower: + # Code from module unicase/totitle: + # Code from module unicase/toupper: + # Code from module unictype/base: + # Code from module unictype/bidiclass-of: + # Code from module unictype/block-all: + # Code from module unictype/block-list: + # Code from module unictype/block-of: + # Code from module unictype/block-test: + # Code from module unictype/category-C: + # Code from module unictype/category-Cc: + # Code from module unictype/category-Cf: + # Code from module unictype/category-Cn: + # Code from module unictype/category-Co: + # Code from module unictype/category-Cs: + # Code from module unictype/category-L: + # Code from module unictype/category-LC: + # Code from module unictype/category-Ll: + # Code from module unictype/category-Lm: + # Code from module unictype/category-Lo: + # Code from module unictype/category-Lt: + # Code from module unictype/category-Lu: + # Code from module unictype/category-M: + # Code from module unictype/category-Mc: + # Code from module unictype/category-Me: + # Code from module unictype/category-Mn: + # Code from module unictype/category-N: + # Code from module unictype/category-Nd: + # Code from module unictype/category-Nl: + # Code from module unictype/category-No: + # Code from module unictype/category-P: + # Code from module unictype/category-Pc: + # Code from module unictype/category-Pd: + # Code from module unictype/category-Pe: + # Code from module unictype/category-Pf: + # Code from module unictype/category-Pi: + # Code from module unictype/category-Po: + # Code from module unictype/category-Ps: + # Code from module unictype/category-S: + # Code from module unictype/category-Sc: + # Code from module unictype/category-Sk: + # Code from module unictype/category-Sm: + # Code from module unictype/category-So: + # Code from module unictype/category-Z: + # Code from module unictype/category-Zl: + # Code from module unictype/category-Zp: + # Code from module unictype/category-Zs: + # Code from module unictype/category-all: + # Code from module unictype/category-and: + # Code from module unictype/category-and-not: + # Code from module unictype/category-byname: + # Code from module unictype/category-longname: + # Code from module unictype/category-name: + # Code from module unictype/category-none: + # Code from module unictype/category-of: + # Code from module unictype/category-or: + # Code from module unictype/category-test: + # Code from module unictype/category-test-withtable: + # Code from module unictype/combining-class: + # Code from module unictype/ctype-print: + # Code from module unictype/mirror: + # Code from module unictype/property-all: + # Code from module unictype/property-alphabetic: + # Code from module unictype/property-ascii-hex-digit: + # Code from module unictype/property-bidi-arabic-digit: + # Code from module unictype/property-bidi-arabic-right-to-left: + # Code from module unictype/property-bidi-block-separator: + # Code from module unictype/property-bidi-boundary-neutral: + # Code from module unictype/property-bidi-common-separator: + # Code from module unictype/property-bidi-control: + # Code from module unictype/property-bidi-embedding-or-override: + # Code from module unictype/property-bidi-eur-num-separator: + # Code from module unictype/property-bidi-eur-num-terminator: + # Code from module unictype/property-bidi-european-digit: + # Code from module unictype/property-bidi-hebrew-right-to-left: + # Code from module unictype/property-bidi-left-to-right: + # Code from module unictype/property-bidi-non-spacing-mark: + # Code from module unictype/property-bidi-other-neutral: + # Code from module unictype/property-bidi-pdf: + # Code from module unictype/property-bidi-segment-separator: + # Code from module unictype/property-bidi-whitespace: + # Code from module unictype/property-byname: + # Code from module unictype/property-case-ignorable: + # Code from module unictype/property-cased: + # Code from module unictype/property-changes-when-casefolded: + # Code from module unictype/property-changes-when-casemapped: + # Code from module unictype/property-changes-when-lowercased: + # Code from module unictype/property-changes-when-titlecased: + # Code from module unictype/property-changes-when-uppercased: + # Code from module unictype/property-combining: + # Code from module unictype/property-composite: + # Code from module unictype/property-currency-symbol: + # Code from module unictype/property-dash: + # Code from module unictype/property-decimal-digit: + # Code from module unictype/property-default-ignorable-code-point: + # Code from module unictype/property-deprecated: + # Code from module unictype/property-diacritic: + # Code from module unictype/property-extender: + # Code from module unictype/property-format-control: + # Code from module unictype/property-grapheme-base: + # Code from module unictype/property-grapheme-extend: + # Code from module unictype/property-grapheme-link: + # Code from module unictype/property-hex-digit: + # Code from module unictype/property-hyphen: + # Code from module unictype/property-id-continue: + # Code from module unictype/property-id-start: + # Code from module unictype/property-ideographic: + # Code from module unictype/property-ids-binary-operator: + # Code from module unictype/property-ids-trinary-operator: + # Code from module unictype/property-ignorable-control: + # Code from module unictype/property-iso-control: + # Code from module unictype/property-join-control: + # Code from module unictype/property-left-of-pair: + # Code from module unictype/property-line-separator: + # Code from module unictype/property-logical-order-exception: + # Code from module unictype/property-lowercase: + # Code from module unictype/property-math: + # Code from module unictype/property-non-break: + # Code from module unictype/property-not-a-character: + # Code from module unictype/property-numeric: + # Code from module unictype/property-other-alphabetic: + # Code from module unictype/property-other-default-ignorable-code-point: + # Code from module unictype/property-other-grapheme-extend: + # Code from module unictype/property-other-id-continue: + # Code from module unictype/property-other-id-start: + # Code from module unictype/property-other-lowercase: + # Code from module unictype/property-other-math: + # Code from module unictype/property-other-uppercase: + # Code from module unictype/property-paired-punctuation: + # Code from module unictype/property-paragraph-separator: + # Code from module unictype/property-pattern-syntax: + # Code from module unictype/property-pattern-white-space: + # Code from module unictype/property-private-use: + # Code from module unictype/property-punctuation: + # Code from module unictype/property-quotation-mark: + # Code from module unictype/property-radical: + # Code from module unictype/property-sentence-terminal: + # Code from module unictype/property-soft-dotted: + # Code from module unictype/property-space: + # Code from module unictype/property-terminal-punctuation: + # Code from module unictype/property-test: + # Code from module unictype/property-titlecase: + # Code from module unictype/property-unassigned-code-value: + # Code from module unictype/property-unified-ideograph: + # Code from module unictype/property-uppercase: + # Code from module unictype/property-variation-selector: + # Code from module unictype/property-white-space: + # Code from module unictype/property-xid-continue: + # Code from module unictype/property-xid-start: + # Code from module unictype/property-zero-width: + # Code from module unictype/scripts: + # Code from module unictype/scripts-all: + # Code from module uniname/base: + # Code from module uniname/uniname: + # Code from module uninorm/base: + # Code from module uninorm/canonical-decomposition: + # Code from module uninorm/decompose-internal: + # Code from module uninorm/decomposition-table: + # Code from module uninorm/nfd: + # Code from module uninorm/u32-normalize: + # Code from module unistr/base: + # Code from module unistr/u32-cpy: + # Code from module unistr/u32-mbtouc-unsafe: + # Code from module unistr/u32-to-u8: + # Code from module unistr/u32-uctomb: + # Code from module unistr/u8-mbtoucr: + # Code from module unistr/u8-strmblen: + # Code from module unistr/u8-to-u32: + # Code from module unistr/u8-uctomb: + # Code from module unitypes: + # Code from module uniwidth/base: + # Code from module uniwidth/width: +]) + +# This macro should be invoked from ./configure.ac, in the section +# "Check for header files, types and library functions". +AC_DEFUN([gl_INIT], +[ + AM_CONDITIONAL([GL_COND_LIBTOOL], [true]) + gl_cond_libtool=true + gl_m4_base='glm4' + m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) + m4_pushdef([gl_LIBSOURCES_LIST], []) + m4_pushdef([gl_LIBSOURCES_DIR], []) + gl_COMMON + gl_source_base='gllib' + AC_REQUIRE([gl_HOST_CPU_C_ABI]) + AM_ICONV + m4_ifdef([gl_ICONV_MODULE_INDICATOR], + [gl_ICONV_MODULE_INDICATOR([iconv])]) + gl_INLINE + gl_LIBUNISTRING_OPTIONAL + gl_LIMITS_H + gl_MULTIARCH + gt_TYPE_SSIZE_T + AM_STDBOOL_H + gl_STDINT_H + gl_SYS_TYPES_H + AC_PROG_MKDIR_P + gl_LIBUNISTRING_LIBHEADER([0.9.4], [unicase.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [unicase/tolower]) + gl_LIBUNISTRING_MODULE([0.9.8], [unicase/totitle]) + gl_LIBUNISTRING_MODULE([0.9.8], [unicase/toupper]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [unictype.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/bidiclass-of]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/block-list]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/block-test]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-C]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cc]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cf]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cn]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Co]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Cs]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-L]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-LC]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Ll]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lm]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lo]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lt]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Lu]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-M]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Mc]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Me]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Mn]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-N]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Nd]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Nl]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-No]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-P]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pc]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pd]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pe]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pf]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Pi]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Po]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Ps]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-S]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sc]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sk]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Sm]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-So]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Z]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zl]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zp]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-Zs]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-and]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-and-not]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-byname]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-longname]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-name]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-none]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-of]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-or]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/category-test]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/combining-class]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/ctype-print]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/mirror]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-alphabetic]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ascii-hex-digit]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-arabic-digit]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-arabic-right-to-left]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-block-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-boundary-neutral]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-common-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-control]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-embedding-or-override]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-eur-num-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-eur-num-terminator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-european-digit]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-hebrew-right-to-left]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-left-to-right]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-non-spacing-mark]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-other-neutral]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-pdf]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-segment-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-bidi-whitespace]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-byname]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-case-ignorable]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-cased]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-casefolded]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-casemapped]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-lowercased]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-titlecased]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-changes-when-uppercased]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-combining]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-composite]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-currency-symbol]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-dash]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-decimal-digit]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-default-ignorable-code-point]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-deprecated]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-diacritic]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-extender]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-format-control]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-base]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-extend]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-grapheme-link]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hex-digit]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-hyphen]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-id-continue]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-id-start]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ideographic]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-binary-operator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ids-trinary-operator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-ignorable-control]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-iso-control]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-join-control]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-left-of-pair]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-line-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-logical-order-exception]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-lowercase]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-math]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-non-break]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-not-a-character]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-numeric]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-alphabetic]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-default-ignorable-code-point]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-grapheme-extend]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-continue]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-id-start]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-lowercase]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-math]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-other-uppercase]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paired-punctuation]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-paragraph-separator]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-syntax]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-pattern-white-space]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-private-use]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-punctuation]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-quotation-mark]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-radical]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-sentence-terminal]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-soft-dotted]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-space]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-terminal-punctuation]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-test]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-titlecase]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-unassigned-code-value]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-unified-ideograph]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-uppercase]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-variation-selector]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-white-space]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-xid-continue]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-xid-start]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/property-zero-width]) + gl_LIBUNISTRING_MODULE([0.9.8], [unictype/scripts]) + gl_LIBUNISTRING_LIBHEADER([0.9.5], [uniname.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [uniname/uniname]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [uninorm.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/canonical-decomposition]) + AC_REQUIRE([AC_C_INLINE]) + gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/nfd]) + gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u32-normalize]) + gl_LIBUNISTRING_MODULE([0.9.8], [uninorm/u32-normalize]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cpy]) + gl_MODULE_INDICATOR([unistr/u32-mbtouc-unsafe]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbtouc-unsafe]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-to-u8]) + gl_MODULE_INDICATOR([unistr/u32-uctomb]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-uctomb]) + gl_MODULE_INDICATOR([unistr/u8-mbtoucr]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strmblen]) + gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-to-u32]) + gl_MODULE_INDICATOR([unistr/u8-uctomb]) + gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [unitypes.h]) + gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) + gl_LIBUNISTRING_MODULE([0.9.8], [uniwidth/width]) + # End of code from modules + m4_ifval(gl_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || + for gl_file in ]gl_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([gl_LIBSOURCES_DIR]) + m4_popdef([gl_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + gl_libobjs= + gl_ltlibobjs= + if test -n "$gl_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + gl_libobjs="$gl_libobjs $i.$ac_objext" + gl_ltlibobjs="$gl_ltlibobjs $i.lo" + done + fi + AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) + AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) + ]) + gltests_libdeps= + gltests_ltlibdeps= + m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) + m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) + m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) + m4_pushdef([gltests_LIBSOURCES_LIST], []) + m4_pushdef([gltests_LIBSOURCES_DIR], []) + gl_COMMON + gl_source_base='gltests' +changequote(,)dnl + gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS +changequote([, ])dnl + AC_SUBST([gltests_WITNESS]) + gl_module_indicator_condition=$gltests_WITNESS + m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) + m4_popdef([gl_MODULE_INDICATOR_CONDITION]) + m4_ifval(gltests_LIBSOURCES_LIST, [ + m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || + for gl_file in ]gltests_LIBSOURCES_LIST[ ; do + if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then + echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 + exit 1 + fi + done])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) + ]) + m4_popdef([gltests_LIBSOURCES_DIR]) + m4_popdef([gltests_LIBSOURCES_LIST]) + m4_popdef([AC_LIBSOURCES]) + m4_popdef([AC_REPLACE_FUNCS]) + m4_popdef([AC_LIBOBJ]) + AC_CONFIG_COMMANDS_PRE([ + gltests_libobjs= + gltests_ltlibobjs= + if test -n "$gltests_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do + gltests_libobjs="$gltests_libobjs $i.$ac_objext" + gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" + done + fi + AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) + AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) + ]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into gl_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([gl_LIBOBJ], [ + AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl + gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into gl_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([gl_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([gl_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([gl_LIBSOURCES_DIR], [gllib]) + m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# Like AC_LIBOBJ, except that the module name goes +# into gltests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([gltests_LIBOBJ], [ + AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl + gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" +]) + +# Like AC_REPLACE_FUNCS, except that the module name goes +# into gltests_LIBOBJS instead of into LIBOBJS. +AC_DEFUN([gltests_REPLACE_FUNCS], [ + m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl + AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) +]) + +# Like AC_LIBSOURCES, except the directory where the source file is +# expected is derived from the gnulib-tool parameterization, +# and alloca is special cased (for the alloca-opt module). +# We could also entirely rely on EXTRA_lib..._SOURCES. +AC_DEFUN([gltests_LIBSOURCES], [ + m4_foreach([_gl_NAME], [$1], [ + m4_if(_gl_NAME, [alloca.c], [], [ + m4_define([gltests_LIBSOURCES_DIR], [gltests]) + m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) + ]) + ]) +]) + +# This macro records the list of files which have been installed by +# gnulib-tool and may be removed by future gnulib-tool invocations. +AC_DEFUN([gl_FILE_LIST], [ + build-aux/config.rpath + lib/array-mergesort.h + lib/libunistring.valgrind + lib/limits.in.h + lib/localcharset.h + lib/stdbool.in.h + lib/stdint.in.h + lib/streq.h + lib/sys_types.in.h + lib/unicase.in.h + lib/unicase/simple-mapping.h + lib/unicase/tolower.c + lib/unicase/tolower.h + lib/unicase/totitle.c + lib/unicase/totitle.h + lib/unicase/toupper.c + lib/unicase/toupper.h + lib/unictype.in.h + lib/unictype/bidi_of.c + lib/unictype/bidi_of.h + lib/unictype/bitmap.h + lib/unictype/block_test.c + lib/unictype/blocks.c + lib/unictype/blocks.h + lib/unictype/categ_C.c + lib/unictype/categ_C.h + lib/unictype/categ_Cc.c + lib/unictype/categ_Cc.h + lib/unictype/categ_Cf.c + lib/unictype/categ_Cf.h + lib/unictype/categ_Cn.c + lib/unictype/categ_Cn.h + lib/unictype/categ_Co.c + lib/unictype/categ_Co.h + lib/unictype/categ_Cs.c + lib/unictype/categ_Cs.h + lib/unictype/categ_L.c + lib/unictype/categ_L.h + lib/unictype/categ_LC.c + lib/unictype/categ_LC.h + lib/unictype/categ_Ll.c + lib/unictype/categ_Ll.h + lib/unictype/categ_Lm.c + lib/unictype/categ_Lm.h + lib/unictype/categ_Lo.c + lib/unictype/categ_Lo.h + lib/unictype/categ_Lt.c + lib/unictype/categ_Lt.h + lib/unictype/categ_Lu.c + lib/unictype/categ_Lu.h + lib/unictype/categ_M.c + lib/unictype/categ_M.h + lib/unictype/categ_Mc.c + lib/unictype/categ_Mc.h + lib/unictype/categ_Me.c + lib/unictype/categ_Me.h + lib/unictype/categ_Mn.c + lib/unictype/categ_Mn.h + lib/unictype/categ_N.c + lib/unictype/categ_N.h + lib/unictype/categ_Nd.c + lib/unictype/categ_Nd.h + lib/unictype/categ_Nl.c + lib/unictype/categ_Nl.h + lib/unictype/categ_No.c + lib/unictype/categ_No.h + lib/unictype/categ_P.c + lib/unictype/categ_P.h + lib/unictype/categ_Pc.c + lib/unictype/categ_Pc.h + lib/unictype/categ_Pd.c + lib/unictype/categ_Pd.h + lib/unictype/categ_Pe.c + lib/unictype/categ_Pe.h + lib/unictype/categ_Pf.c + lib/unictype/categ_Pf.h + lib/unictype/categ_Pi.c + lib/unictype/categ_Pi.h + lib/unictype/categ_Po.c + lib/unictype/categ_Po.h + lib/unictype/categ_Ps.c + lib/unictype/categ_Ps.h + lib/unictype/categ_S.c + lib/unictype/categ_S.h + lib/unictype/categ_Sc.c + lib/unictype/categ_Sc.h + lib/unictype/categ_Sk.c + lib/unictype/categ_Sk.h + lib/unictype/categ_Sm.c + lib/unictype/categ_Sm.h + lib/unictype/categ_So.c + lib/unictype/categ_So.h + lib/unictype/categ_Z.c + lib/unictype/categ_Z.h + lib/unictype/categ_Zl.c + lib/unictype/categ_Zl.h + lib/unictype/categ_Zp.c + lib/unictype/categ_Zp.h + lib/unictype/categ_Zs.c + lib/unictype/categ_Zs.h + lib/unictype/categ_and.c + lib/unictype/categ_and_not.c + lib/unictype/categ_byname.c + lib/unictype/categ_byname.gperf + lib/unictype/categ_longname.c + lib/unictype/categ_name.c + lib/unictype/categ_none.c + lib/unictype/categ_of.c + lib/unictype/categ_of.h + lib/unictype/categ_or.c + lib/unictype/categ_test.c + lib/unictype/combiningclass.c + lib/unictype/combiningclass.h + lib/unictype/ctype_print.c + lib/unictype/ctype_print.h + lib/unictype/mirror.c + lib/unictype/mirror.h + lib/unictype/pr_alphabetic.c + lib/unictype/pr_alphabetic.h + lib/unictype/pr_ascii_hex_digit.c + lib/unictype/pr_ascii_hex_digit.h + lib/unictype/pr_bidi_arabic_digit.c + lib/unictype/pr_bidi_arabic_digit.h + lib/unictype/pr_bidi_arabic_right_to_left.c + lib/unictype/pr_bidi_arabic_right_to_left.h + lib/unictype/pr_bidi_block_separator.c + lib/unictype/pr_bidi_block_separator.h + lib/unictype/pr_bidi_boundary_neutral.c + lib/unictype/pr_bidi_boundary_neutral.h + lib/unictype/pr_bidi_common_separator.c + lib/unictype/pr_bidi_common_separator.h + lib/unictype/pr_bidi_control.c + lib/unictype/pr_bidi_control.h + lib/unictype/pr_bidi_embedding_or_override.c + lib/unictype/pr_bidi_embedding_or_override.h + lib/unictype/pr_bidi_eur_num_separator.c + lib/unictype/pr_bidi_eur_num_separator.h + lib/unictype/pr_bidi_eur_num_terminator.c + lib/unictype/pr_bidi_eur_num_terminator.h + lib/unictype/pr_bidi_european_digit.c + lib/unictype/pr_bidi_european_digit.h + lib/unictype/pr_bidi_hebrew_right_to_left.c + lib/unictype/pr_bidi_hebrew_right_to_left.h + lib/unictype/pr_bidi_left_to_right.c + lib/unictype/pr_bidi_left_to_right.h + lib/unictype/pr_bidi_non_spacing_mark.c + lib/unictype/pr_bidi_non_spacing_mark.h + lib/unictype/pr_bidi_other_neutral.c + lib/unictype/pr_bidi_other_neutral.h + lib/unictype/pr_bidi_pdf.c + lib/unictype/pr_bidi_pdf.h + lib/unictype/pr_bidi_segment_separator.c + lib/unictype/pr_bidi_segment_separator.h + lib/unictype/pr_bidi_whitespace.c + lib/unictype/pr_bidi_whitespace.h + lib/unictype/pr_byname.c + lib/unictype/pr_byname.gperf + lib/unictype/pr_case_ignorable.c + lib/unictype/pr_case_ignorable.h + lib/unictype/pr_cased.c + lib/unictype/pr_cased.h + lib/unictype/pr_changes_when_casefolded.c + lib/unictype/pr_changes_when_casefolded.h + lib/unictype/pr_changes_when_casemapped.c + lib/unictype/pr_changes_when_casemapped.h + lib/unictype/pr_changes_when_lowercased.c + lib/unictype/pr_changes_when_lowercased.h + lib/unictype/pr_changes_when_titlecased.c + lib/unictype/pr_changes_when_titlecased.h + lib/unictype/pr_changes_when_uppercased.c + lib/unictype/pr_changes_when_uppercased.h + lib/unictype/pr_combining.c + lib/unictype/pr_combining.h + lib/unictype/pr_composite.c + lib/unictype/pr_composite.h + lib/unictype/pr_currency_symbol.c + lib/unictype/pr_currency_symbol.h + lib/unictype/pr_dash.c + lib/unictype/pr_dash.h + lib/unictype/pr_decimal_digit.c + lib/unictype/pr_decimal_digit.h + lib/unictype/pr_default_ignorable_code_point.c + lib/unictype/pr_default_ignorable_code_point.h + lib/unictype/pr_deprecated.c + lib/unictype/pr_deprecated.h + lib/unictype/pr_diacritic.c + lib/unictype/pr_diacritic.h + lib/unictype/pr_extender.c + lib/unictype/pr_extender.h + lib/unictype/pr_format_control.c + lib/unictype/pr_format_control.h + lib/unictype/pr_grapheme_base.c + lib/unictype/pr_grapheme_base.h + lib/unictype/pr_grapheme_extend.c + lib/unictype/pr_grapheme_extend.h + lib/unictype/pr_grapheme_link.c + lib/unictype/pr_grapheme_link.h + lib/unictype/pr_hex_digit.c + lib/unictype/pr_hex_digit.h + lib/unictype/pr_hyphen.c + lib/unictype/pr_hyphen.h + lib/unictype/pr_id_continue.c + lib/unictype/pr_id_continue.h + lib/unictype/pr_id_start.c + lib/unictype/pr_id_start.h + lib/unictype/pr_ideographic.c + lib/unictype/pr_ideographic.h + lib/unictype/pr_ids_binary_operator.c + lib/unictype/pr_ids_binary_operator.h + lib/unictype/pr_ids_trinary_operator.c + lib/unictype/pr_ids_trinary_operator.h + lib/unictype/pr_ignorable_control.c + lib/unictype/pr_ignorable_control.h + lib/unictype/pr_iso_control.c + lib/unictype/pr_iso_control.h + lib/unictype/pr_join_control.c + lib/unictype/pr_join_control.h + lib/unictype/pr_left_of_pair.c + lib/unictype/pr_left_of_pair.h + lib/unictype/pr_line_separator.c + lib/unictype/pr_line_separator.h + lib/unictype/pr_logical_order_exception.c + lib/unictype/pr_logical_order_exception.h + lib/unictype/pr_lowercase.c + lib/unictype/pr_lowercase.h + lib/unictype/pr_math.c + lib/unictype/pr_math.h + lib/unictype/pr_non_break.c + lib/unictype/pr_non_break.h + lib/unictype/pr_not_a_character.c + lib/unictype/pr_not_a_character.h + lib/unictype/pr_numeric.c + lib/unictype/pr_numeric.h + lib/unictype/pr_other_alphabetic.c + lib/unictype/pr_other_alphabetic.h + lib/unictype/pr_other_default_ignorable_code_point.c + lib/unictype/pr_other_default_ignorable_code_point.h + lib/unictype/pr_other_grapheme_extend.c + lib/unictype/pr_other_grapheme_extend.h + lib/unictype/pr_other_id_continue.c + lib/unictype/pr_other_id_continue.h + lib/unictype/pr_other_id_start.c + lib/unictype/pr_other_id_start.h + lib/unictype/pr_other_lowercase.c + lib/unictype/pr_other_lowercase.h + lib/unictype/pr_other_math.c + lib/unictype/pr_other_math.h + lib/unictype/pr_other_uppercase.c + lib/unictype/pr_other_uppercase.h + lib/unictype/pr_paired_punctuation.c + lib/unictype/pr_paired_punctuation.h + lib/unictype/pr_paragraph_separator.c + lib/unictype/pr_paragraph_separator.h + lib/unictype/pr_pattern_syntax.c + lib/unictype/pr_pattern_syntax.h + lib/unictype/pr_pattern_white_space.c + lib/unictype/pr_pattern_white_space.h + lib/unictype/pr_private_use.c + lib/unictype/pr_private_use.h + lib/unictype/pr_punctuation.c + lib/unictype/pr_punctuation.h + lib/unictype/pr_quotation_mark.c + lib/unictype/pr_quotation_mark.h + lib/unictype/pr_radical.c + lib/unictype/pr_radical.h + lib/unictype/pr_sentence_terminal.c + lib/unictype/pr_sentence_terminal.h + lib/unictype/pr_soft_dotted.c + lib/unictype/pr_soft_dotted.h + lib/unictype/pr_space.c + lib/unictype/pr_space.h + lib/unictype/pr_terminal_punctuation.c + lib/unictype/pr_terminal_punctuation.h + lib/unictype/pr_test.c + lib/unictype/pr_titlecase.c + lib/unictype/pr_titlecase.h + lib/unictype/pr_unassigned_code_value.c + lib/unictype/pr_unassigned_code_value.h + lib/unictype/pr_unified_ideograph.c + lib/unictype/pr_unified_ideograph.h + lib/unictype/pr_uppercase.c + lib/unictype/pr_uppercase.h + lib/unictype/pr_variation_selector.c + lib/unictype/pr_variation_selector.h + lib/unictype/pr_white_space.c + lib/unictype/pr_white_space.h + lib/unictype/pr_xid_continue.c + lib/unictype/pr_xid_continue.h + lib/unictype/pr_xid_start.c + lib/unictype/pr_xid_start.h + lib/unictype/pr_zero_width.c + lib/unictype/pr_zero_width.h + lib/unictype/scripts.c + lib/unictype/scripts.h + lib/unictype/scripts_byname.gperf + lib/uniname.in.h + lib/uniname/gen-uninames.lisp + lib/uniname/uniname.c + lib/uniname/uninames.h + lib/uninorm.in.h + lib/uninorm/canonical-decomposition.c + lib/uninorm/decompose-internal.c + lib/uninorm/decompose-internal.h + lib/uninorm/decomposition-table.c + lib/uninorm/decomposition-table.h + lib/uninorm/decomposition-table1.h + lib/uninorm/decomposition-table2.h + lib/uninorm/nfd.c + lib/uninorm/normalize-internal.h + lib/uninorm/u-normalize-internal.h + lib/uninorm/u32-normalize.c + lib/unistr.in.h + lib/unistr/u-cpy.h + lib/unistr/u32-cpy.c + lib/unistr/u32-mbtouc-unsafe.c + lib/unistr/u32-to-u8.c + lib/unistr/u32-uctomb.c + lib/unistr/u8-mbtoucr.c + lib/unistr/u8-strmblen.c + lib/unistr/u8-to-u32.c + lib/unistr/u8-uctomb-aux.c + lib/unistr/u8-uctomb.c + lib/unitypes.in.h + lib/uniwidth.in.h + lib/uniwidth/cjk.h + lib/uniwidth/width.c + lib/unused-parameter.h + m4/00gnulib.m4 + m4/absolute-header.m4 + m4/asm-underscore.m4 + m4/gnulib-common.m4 + m4/host-cpu-c-abi.m4 + m4/iconv.m4 + m4/include_next.m4 + m4/inline.m4 + m4/lib-ld.m4 + m4/lib-link.m4 + m4/lib-prefix.m4 + m4/libunistring-base.m4 + m4/libunistring-optional.m4 + m4/libunistring.m4 + m4/limits-h.m4 + m4/longlong.m4 + m4/multiarch.m4 + m4/off_t.m4 + m4/ssize_t.m4 + m4/stdbool.m4 + m4/stdint.m4 + m4/sys_types_h.m4 + m4/wint_t.m4 +]) diff --git a/glm4/gsettings.m4 b/glm4/gsettings.m4 new file mode 100644 index 0000000..35ee5aa --- /dev/null +++ b/glm4/gsettings.m4 @@ -0,0 +1,83 @@ +dnl GLIB_GSETTINGS +dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether +dnl the schema should be compiled +dnl + +AC_DEFUN([GLIB_GSETTINGS], +[ + m4_pattern_allow([AM_V_GEN]) + AC_ARG_ENABLE(schemas-compile, + AS_HELP_STRING([--disable-schemas-compile], + [Disable regeneration of gschemas.compiled on install]), + [case ${enableval} in + yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; + no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;; + esac]) + AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE]) + PKG_PROG_PKG_CONFIG([0.16]) + AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas]) + if test x$cross_compiling != xyes; then + GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` + else + AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) + fi + AC_SUBST(GLIB_COMPILE_SCHEMAS) + if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then + ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2]) + else + ifelse([$1],,[:],[$1]) + fi + + GSETTINGS_RULES=' +.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas + +mostlyclean-am: clean-gsettings-schemas + +gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) + +%.gschema.valid: %.gschema.xml $(gsettings__enum_file) + $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$< && mkdir -p [$](@D) && touch [$]@ + +all-am: $(gsettings_SCHEMAS:.xml=.valid) +uninstall-am: uninstall-gsettings-schemas +install-data-am: install-gsettings-schemas + +.SECONDARY: $(gsettings_SCHEMAS) + +install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) + @$(NORMAL_INSTALL) + if test -n "$^"; then \ + test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ + $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ + fi + +uninstall-gsettings-schemas: + @$(NORMAL_UNINSTALL) + @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files + test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) + +clean-gsettings-schemas: + rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) + +ifdef gsettings_ENUM_NAMESPACE +$(gsettings__enum_file): $(gsettings_ENUM_FILES) + $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@ +endif +' + _GSETTINGS_SUBST(GSETTINGS_RULES) +]) + +dnl _GSETTINGS_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_GSETTINGS_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) diff --git a/glm4/host-cpu-c-abi.m4 b/glm4/host-cpu-c-abi.m4 new file mode 100644 index 0000000..9370c31 --- /dev/null +++ b/glm4/host-cpu-c-abi.m4 @@ -0,0 +1,369 @@ +# host-cpu-c-abi.m4 serial 8 +dnl Copyright (C) 2002-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible and Sam Steingold. + +dnl Sets the HOST_CPU variable to the canonical name of the CPU. +dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its +dnl C language ABI (application binary interface). +dnl Also defines __${HOST_CPU}__ and __${HOST_CPU_C_ABI}__ as C macros in +dnl config.h. +dnl +dnl This canonical name can be used to select a particular assembly language +dnl source file that will interoperate with C code on the given host. +dnl +dnl For example: +dnl * 'i386' and 'sparc' are different canonical names, because code for i386 +dnl will not run on SPARC CPUs and vice versa. They have different +dnl instruction sets. +dnl * 'sparc' and 'sparc64' are different canonical names, because code for +dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code +dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit +dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit +dnl mode, but not both. +dnl * 'mips' and 'mipsn32' are different canonical names, because they use +dnl different argument passing and return conventions for C functions, and +dnl although the instruction set of 'mips' is a large subset of the +dnl instruction set of 'mipsn32'. +dnl * 'mipsn32' and 'mips64' are different canonical names, because they use +dnl different sizes for the C types like 'int' and 'void *', and although +dnl the instruction sets of 'mipsn32' and 'mips64' are the same. +dnl * The same canonical name is used for different endiannesses. You can +dnl determine the endianness through preprocessor symbols: +dnl - 'arm': test __ARMEL__. +dnl - 'mips', 'mipsn32', 'mips64': test _MIPSEB vs. _MIPSEL. +dnl - 'powerpc64': test _BIG_ENDIAN vs. _LITTLE_ENDIAN. +dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 +dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because +dnl - Instructions that do not exist on all of these CPUs (cmpxchg, +dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your +dnl assembly language source files use such instructions, you will +dnl need to make the distinction. +dnl - Speed of execution of the common instruction set is reasonable across +dnl the entire family of CPUs. If you have assembly language source files +dnl that are optimized for particular CPU types (like GNU gmp has), you +dnl will need to make the distinction. +dnl See . +AC_DEFUN([gl_HOST_CPU_C_ABI], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_C_ASM]) + AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], + [case "$host_cpu" in + +changequote(,)dnl + i[4567]86 ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=i386 + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=x86_64-x32], + [gl_cv_host_cpu_c_abi=x86_64])], + [gl_cv_host_cpu_c_abi=i386]) + ;; + +changequote(,)dnl + alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) +changequote([,])dnl + gl_cv_host_cpu_c_abi=alpha + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __aarch64__ + int ok; + #else + error fail + #endif + ]])], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __ILP32__ || defined _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=arm64-ilp32], + [gl_cv_host_cpu_c_abi=arm64])], + [# Don't distinguish little-endian and big-endian arm, since they + # don't require different machine code for simple operations and + # since the user can distinguish them through the preprocessor + # defines __ARMEL__ vs. __ARMEB__. + # But distinguish arm which passes floating-point arguments and + # return values in integer registers (r0, r1, ...) - this is + # gcc -mfloat-abi=soft or gcc -mfloat-abi=softfp - from arm which + # passes them in float registers (s0, s1, ...) and double registers + # (d0, d1, ...) - this is gcc -mfloat-abi=hard. GCC 4.6 or newer + # sets the preprocessor defines __ARM_PCS (for the first case) and + # __ARM_PCS_VFP (for the second case), but older GCC does not. + echo 'double ddd; void func (double dd) { ddd = dd; }' > conftest.c + # Look for a reference to the register d0 in the .s file. + AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS $gl_c_asm_opt conftest.c) >/dev/null 2>&1 + if LC_ALL=C grep -E 'd0,' conftest.$gl_asmext >/dev/null; then + gl_cv_host_cpu_c_abi=armhf + else + gl_cv_host_cpu_c_abi=arm + fi + rm -f conftest* + ]) + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef __LP64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=hppa64], + [gl_cv_host_cpu_c_abi=hppa]) + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _ILP32 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=ia64-ilp32], + [gl_cv_host_cpu_c_abi=ia64]) + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mips64], + [# In the n32 ABI, _ABIN32 is defined, _ABIO32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIN32. + # In the 32 ABI, _ABIO32 is defined, _ABIN32 is not defined (but + # may later get defined by ), and _MIPS_SIM == _ABIO32. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if (_MIPS_SIM == _ABIN32) + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=mipsn32], + [gl_cv_host_cpu_c_abi=mips])]) + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + ]])], + [# On powerpc64, there are two ABIs on Linux: The AIX compatible + # one and the ELFv2 one. The latter defines _CALL_ELF=2. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined _CALL_ELF && _CALL_ELF == 2 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=powerpc64-elfv2], + [gl_cv_host_cpu_c_abi=powerpc64]) + ], + [gl_cv_host_cpu_c_abi=powerpc]) + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi=powerpc + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=s390x], + [gl_cv_host_cpu_c_abi=s390]) + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + ]])], + [gl_cv_host_cpu_c_abi=sparc64], + [gl_cv_host_cpu_c_abi=sparc]) + ;; + + *) + gl_cv_host_cpu_c_abi="$host_cpu" + ;; + esac + ]) + + dnl In most cases, $HOST_CPU and $HOST_CPU_C_ABI are the same. + HOST_CPU=`echo "$gl_cv_host_cpu_c_abi" | sed -e 's/-.*//'` + HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" + AC_SUBST([HOST_CPU]) + AC_SUBST([HOST_CPU_C_ABI]) + + # This was + # AC_DEFINE_UNQUOTED([__${HOST_CPU}__]) + # AC_DEFINE_UNQUOTED([__${HOST_CPU_C_ABI}__]) + # earlier, but KAI C++ 3.2d doesn't like this. + sed -e 's/-/_/g' >> confdefs.h < +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, + dnl Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + ]], + [[int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } + return result; +]])], + [am_cv_func_iconv_works=yes], , + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + ]], + [[]])], + [am_cv_proto_iconv_arg1=""], + [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + else + dnl When compiling GNU libiconv on a system that does not have iconv yet, + dnl pick the POSIX compliant declaration without 'const'. + am_cv_proto_iconv_arg1="" + fi + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated . + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) +]) diff --git a/glm4/include_next.m4 b/glm4/include_next.m4 new file mode 100644 index 0000000..068f6f6 --- /dev/null +++ b/glm4/include_next.m4 @@ -0,0 +1,224 @@ +# include_next.m4 serial 24 +dnl Copyright (C) 2006-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert and Derek Price. + +dnl Sets INCLUDE_NEXT, INCLUDE_NEXT_AS_FIRST_DIRECTIVE, PRAGMA_SYSTEM_HEADER, +dnl and PRAGMA_COLUMNS. +dnl +dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to +dnl 'include' otherwise. +dnl +dnl INCLUDE_NEXT_AS_FIRST_DIRECTIVE expands to 'include_next' if the compiler +dnl supports it in the special case that it is the first include directive in +dnl the given file, or to 'include' otherwise. +dnl +dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next, +dnl so as to avoid GCC warnings when the gcc option -pedantic is used. +dnl '#pragma GCC system_header' has the same effect as if the file was found +dnl through the include search path specified with '-isystem' options (as +dnl opposed to the search path specified with '-I' options). Namely, gcc +dnl does not warn about some things, and on some systems (Solaris and Interix) +dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side +dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead +dnl of plain '__STDC__'. +dnl +dnl PRAGMA_COLUMNS can be used in files that override system header files, so +dnl as to avoid compilation errors on HP NonStop systems when the gnulib file +dnl is included by a system header file that does a "#pragma COLUMNS 80" (which +dnl has the effect of truncating the lines of that file and all files that it +dnl includes to 80 columns) and the gnulib file has lines longer than 80 +dnl columns. + +AC_DEFUN([gl_INCLUDE_NEXT], +[ + AC_LANG_PREPROC_REQUIRE() + AC_CACHE_CHECK([whether the preprocessor supports include_next], + [gl_cv_have_include_next], + [rm -rf conftestd1a conftestd1b conftestd2 + mkdir conftestd1a conftestd1b conftestd2 + dnl IBM C 9.0, 10.1 (original versions, prior to the 2009-01 updates) on + dnl AIX 6.1 support include_next when used as first preprocessor directive + dnl in a file, but not when preceded by another include directive. Check + dnl for this bug by including . + dnl Additionally, with this same compiler, include_next is a no-op when + dnl used in a header file that was included by specifying its absolute + dnl file name. Despite these two bugs, include_next is used in the + dnl compiler's . By virtue of the second bug, we need to use + dnl include_next as well in this case. + cat < conftestd1a/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd1b/conftest.h +#define DEFINED_IN_CONFTESTD1 +#include +#include_next +#ifdef DEFINED_IN_CONFTESTD2 +int foo; +#else +#error "include_next doesn't work" +#endif +EOF + cat < conftestd2/conftest.h +#ifndef DEFINED_IN_CONFTESTD1 +#error "include_next test doesn't work" +#endif +#define DEFINED_IN_CONFTESTD2 +EOF + gl_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2" +dnl We intentionally avoid using AC_LANG_SOURCE here. + AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include ]], + [gl_cv_have_include_next=yes], + [CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2" + AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include ]], + [gl_cv_have_include_next=buggy], + [gl_cv_have_include_next=no]) + ]) + CPPFLAGS="$gl_save_CPPFLAGS" + rm -rf conftestd1a conftestd1b conftestd2 + ]) + PRAGMA_SYSTEM_HEADER= + if test $gl_cv_have_include_next = yes; then + INCLUDE_NEXT=include_next + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + if test -n "$GCC"; then + PRAGMA_SYSTEM_HEADER='#pragma GCC system_header' + fi + else + if test $gl_cv_have_include_next = buggy; then + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next + else + INCLUDE_NEXT=include + INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include + fi + fi + AC_SUBST([INCLUDE_NEXT]) + AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE]) + AC_SUBST([PRAGMA_SYSTEM_HEADER]) + AC_CACHE_CHECK([whether system header files limit the line length], + [gl_cv_pragma_columns], + [dnl HP NonStop systems, which define __TANDEM, have this misfeature. + AC_EGREP_CPP([choke me], + [ +#ifdef __TANDEM +choke me +#endif + ], + [gl_cv_pragma_columns=yes], + [gl_cv_pragma_columns=no]) + ]) + if test $gl_cv_pragma_columns = yes; then + PRAGMA_COLUMNS="#pragma COLUMNS 10000" + else + PRAGMA_COLUMNS= + fi + AC_SUBST([PRAGMA_COLUMNS]) +]) + +# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) +# ------------------------------------------ +# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be +# ''; otherwise define it to be +# '"///usr/include/foo.h"', or whatever other absolute file name is suitable. +# Also, if #include_next works as first preprocessing directive in a file, +# define NEXT_AS_FIRST_DIRECTIVE_FOO_H to be ''; otherwise define it to +# be +# '"///usr/include/foo.h"', or whatever other absolute file name is suitable. +# That way, a header file with the following line: +# #@INCLUDE_NEXT@ @NEXT_FOO_H@ +# or +# #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@ +# behaves (after sed substitution) as if it contained +# #include_next +# even if the compiler does not support include_next. +# The three "///" are to pacify Sun C 5.8, which otherwise would say +# "warning: #include of /usr/include/... may be non-portable". +# Use '""', not '<>', so that the /// cannot be confused with a C99 comment. +# Note: This macro assumes that the header file is not empty after +# preprocessing, i.e. it does not only define preprocessor macros but also +# provides some type/enum definitions or function/variable declarations. +# +# This macro also checks whether each header exists, by invoking +# AC_CHECK_HEADERS_ONCE or AC_CHECK_HEADERS on each argument. +AC_DEFUN([gl_CHECK_NEXT_HEADERS], +[ + gl_NEXT_HEADERS_INTERNAL([$1], [check]) +]) + +# gl_NEXT_HEADERS(HEADER1 HEADER2 ...) +# ------------------------------------ +# Like gl_CHECK_NEXT_HEADERS, except do not check whether the headers exist. +# This is suitable for headers like that are standardized by C89 +# and therefore can be assumed to exist. +AC_DEFUN([gl_NEXT_HEADERS], +[ + gl_NEXT_HEADERS_INTERNAL([$1], [assume]) +]) + +# The guts of gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. +AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], +[ + AC_REQUIRE([gl_INCLUDE_NEXT]) + AC_REQUIRE([AC_CANONICAL_HOST]) + + m4_if([$2], [check], + [AC_CHECK_HEADERS_ONCE([$1]) + ]) + +dnl FIXME: gl_next_header and gl_header_exists must be used unquoted +dnl until we can assume autoconf 2.64 or newer. + m4_foreach_w([gl_HEADER_NAME], [$1], + [AS_VAR_PUSHDEF([gl_next_header], + [gl_cv_next_]m4_defn([gl_HEADER_NAME])) + if test $gl_cv_have_include_next = yes; then + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) + else + AC_CACHE_CHECK( + [absolute name of <]m4_defn([gl_HEADER_NAME])[>], + m4_defn([gl_next_header]), + [m4_if([$2], [check], + [AS_VAR_PUSHDEF([gl_header_exists], + [ac_cv_header_]m4_defn([gl_HEADER_NAME])) + if test AS_VAR_GET(gl_header_exists) = yes; then + AS_VAR_POPDEF([gl_header_exists]) + ]) + gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME) + AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME)) + AS_VAR_SET(gl_next_header, ['"'$gl_header'"']) + m4_if([$2], [check], + [else + AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>']) + fi + ]) + ]) + fi + AC_SUBST( + AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])), + [AS_VAR_GET(gl_next_header)]) + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'gl_HEADER_NAME'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=AS_VAR_GET(gl_next_header) + fi + AC_SUBST( + AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])), + [$gl_next_as_first_directive]) + AS_VAR_POPDEF([gl_next_header])]) +]) + +# Autoconf 2.68 added warnings for our use of AC_COMPILE_IFELSE; +# this fallback is safe for all earlier autoconf versions. +m4_define_default([AC_LANG_DEFINES_PROVIDED]) diff --git a/glm4/inline.m4 b/glm4/inline.m4 new file mode 100644 index 0000000..f00572e --- /dev/null +++ b/glm4/inline.m4 @@ -0,0 +1,40 @@ +# inline.m4 serial 4 +dnl Copyright (C) 2006, 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Test for the 'inline' keyword or equivalent. +dnl Define 'inline' to a supported equivalent, or to nothing if not supported, +dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an +dnl equivalent is effectively supported, i.e. if the compiler is likely to +dnl drop unused 'static inline' functions. +AC_DEFUN([gl_INLINE], +[ + AC_REQUIRE([AC_C_INLINE]) + AC_CACHE_CHECK([whether the compiler generally respects inline], + [gl_cv_c_inline_effective], + [if test $ac_cv_c_inline = no; then + gl_cv_c_inline_effective=no + else + dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is + dnl specified. + dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result + dnl depends on optimization flags, which can be in CFLAGS. + dnl (AC_EGREP_CPP looks only at the CPPFLAGS.) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], + [[#ifdef __NO_INLINE__ + #error "inline is not effective" + #endif]])], + [gl_cv_c_inline_effective=yes], + [gl_cv_c_inline_effective=no]) + fi + ]) + if test $gl_cv_c_inline_effective = yes; then + AC_DEFINE([HAVE_INLINE], [1], + [Define to 1 if the compiler supports one of the keywords + 'inline', '__inline__', '__inline' and effectively inlines + functions marked as such.]) + fi +]) diff --git a/glm4/intlmacosx.m4 b/glm4/intlmacosx.m4 new file mode 100644 index 0000000..aca924c --- /dev/null +++ b/glm4/intlmacosx.m4 @@ -0,0 +1,56 @@ +# intlmacosx.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on Mac OS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in Mac OS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[CFPreferencesCopyAppValue(NULL, NULL)]])], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in Mac OS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[CFLocaleCopyCurrent();]])], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/glm4/introspection.m4 b/glm4/introspection.m4 new file mode 100644 index 0000000..d89c3d9 --- /dev/null +++ b/glm4/introspection.m4 @@ -0,0 +1,96 @@ +dnl -*- mode: autoconf -*- +dnl Copyright 2009 Johan Dahlin +dnl +dnl This file is free software; the author(s) gives unlimited +dnl permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl + +# serial 1 + +m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], +[ + AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([LT_INIT],[$0])dnl setup libtool first + + dnl enable/disable introspection + m4_if([$2], [require], + [dnl + enable_introspection=yes + ],[dnl + AC_ARG_ENABLE(introspection, + AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], + [Enable introspection for this build]),, + [enable_introspection=auto]) + ])dnl + + AC_MSG_CHECKING([for gobject-introspection]) + + dnl presence/version checking + AS_CASE([$enable_introspection], + [no], [dnl + found_introspection="no (disabled, use --enable-introspection to enable)" + ],dnl + [yes],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0],, + AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], + found_introspection=yes, + AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) + ],dnl + [auto],[dnl + PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) + dnl Canonicalize enable_introspection + enable_introspection=$found_introspection + ],dnl + [dnl + AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) + ])dnl + + AC_MSG_RESULT([$found_introspection]) + + INTROSPECTION_SCANNER= + INTROSPECTION_COMPILER= + INTROSPECTION_GENERATE= + INTROSPECTION_GIRDIR= + INTROSPECTION_TYPELIBDIR= + if test "x$found_introspection" = "xyes"; then + INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` + INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` + INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` + INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection + fi + AC_SUBST(INTROSPECTION_SCANNER) + AC_SUBST(INTROSPECTION_COMPILER) + AC_SUBST(INTROSPECTION_GENERATE) + AC_SUBST(INTROSPECTION_GIRDIR) + AC_SUBST(INTROSPECTION_TYPELIBDIR) + AC_SUBST(INTROSPECTION_CFLAGS) + AC_SUBST(INTROSPECTION_LIBS) + AC_SUBST(INTROSPECTION_MAKEFILE) + + AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") +]) + + +dnl Usage: +dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) + +AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) +]) + +dnl Usage: +dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) + + +AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], +[ + _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) +]) diff --git a/glm4/lib-ld.m4 b/glm4/lib-ld.m4 new file mode 100644 index 0000000..0f0c599 --- /dev/null +++ b/glm4/lib-ld.m4 @@ -0,0 +1,168 @@ +# lib-ld.m4 serial 9 +dnl Copyright (C) 1996-2003, 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. + +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 /dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +if test -n "$LD"; then + AC_MSG_CHECKING([for ld]) +elif test "$GCC" = yes; then + AC_MSG_CHECKING([for ld used by $CC]) +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + AC_CACHE_VAL([acl_cv_path_LD], + [ + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac + fi + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/glm4/lib-prefix.m4 b/glm4/lib-prefix.m4 new file mode 100644 index 0000000..9fc47a1 --- /dev/null +++ b/glm4/lib-prefix.m4 @@ -0,0 +1,255 @@ +# lib-prefix.m4 serial 11 +dnl Copyright (C) 2001-2005, 2008-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_HOST_CPU_C_ABI]) + dnl Allow the user to override the result by setting acl_cv_libdirstems. + AC_CACHE_CHECK([for the common suffixes of directories in the library search path], + [acl_cv_libdirstems], + [acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifdef _LP64 + int ok; + #else + error fail + #endif + ]])], + [gl_cv_solaris_64bit=yes], + [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + dnl If $CC generates code for a 32-bit ABI, the libraries are + dnl surely under $prefix/lib, not $prefix/lib64. + case "$gl_cv_host_cpu_c_abi" in + i386 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | s390 | sparc) + ;; + *) # x86_64 | arm64 | hppa64 | ia64 | mips64 | powerpc64* | s390x | sparc64 | ... + dnl The result is a property of the system. However, non-system + dnl compilers sometimes have odd library search paths. Therefore + dnl prefer asking /usr/bin/gcc, if available, rather than $CC. + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + ]) + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` +]) diff --git a/glm4/libtool.m4 b/glm4/libtool.m4 new file mode 100644 index 0000000..a644432 --- /dev/null +++ b/glm4/libtool.m4 @@ -0,0 +1,8372 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 58 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # 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 + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # 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 + + # Add ABI-specific directories to the system library path. + sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/glm4/libunistring-base.m4 b/glm4/libunistring-base.m4 new file mode 100644 index 0000000..ee648f2 --- /dev/null +++ b/glm4/libunistring-base.m4 @@ -0,0 +1,141 @@ +# libunistring-base.m4 serial 5 +dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paolo Bonzini and Bruno Haible. + +dnl gl_LIBUNISTRING_MODULE([VERSION], [Module]) +dnl Declares that the source files of Module should be compiled, unless we +dnl are linking with libunistring and its version is >= the given VERSION. +dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is +dnl true if the source files of Module should be compiled. +dnl This macro is to be used for public libunistring API, not for +dnl undocumented API. +dnl +dnl You have to bump the VERSION argument to the next projected version +dnl number each time you make a change that affects the behaviour of the +dnl functions defined in Module (even if the sources of Module itself do not +dnl change). + +AC_DEFUN([gl_LIBUNISTRING_MODULE], +[ + AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) + dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from + dnl gl_LIBUNISTRING_CORE if that macro has been run. + AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]), + [gl_LIBUNISTRING_VERSION_CMP([$1])]) +]) + +dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile]) +dnl Declares that HeaderFile should be created, unless we are linking +dnl with libunistring and its version is >= the given VERSION. +dnl HeaderFile should be relative to the lib directory and end in '.h'. +dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty). +dnl +dnl When we are linking with the already installed libunistring and its version +dnl is < VERSION, we create HeaderFile here, because we may compile functions +dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed +dnl version. +dnl When we are linking with the already installed libunistring and its version +dnl is > VERSION, we don't create HeaderFile here: it could cause compilation +dnl errors in other libunistring header files if some types are missing. +dnl +dnl You have to bump the VERSION argument to the next projected version +dnl number each time you make a non-comment change to the HeaderFile. + +AC_DEFUN([gl_LIBUNISTRING_LIBHEADER], +[ + AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE]) + dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from + dnl gl_LIBUNISTRING_CORE if that macro has been run. + if gl_LIBUNISTRING_VERSION_CMP([$1]); then + LIBUNISTRING_[]AS_TR_CPP([$2])='$2' + else + LIBUNISTRING_[]AS_TR_CPP([$2])= + fi + AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2])) +]) + +dnl Miscellaneous preparations/initializations. + +AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE], +[ + dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point. + m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])]) + + AC_REQUIRE([AC_PROG_AWK]) + +dnl Sed expressions to extract the parts of a version number. +changequote(,) +gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;} +i\ +0 +q +' +changequote([,]) + + if test "$HAVE_LIBUNISTRING" = yes; then + LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"` + LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` + LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` + fi +]) + +dnl gl_LIBUNISTRING_VERSION_CMP([VERSION]) +dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION +dnl is less than the VERSION argument. +AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP], +[ { test "$HAVE_LIBUNISTRING" != yes \ + || { + dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least. + AS_LITERAL_IF([$1], + [dnl This is the optimized variant, that assumes the argument is a literal: + m4_pushdef([requested_version_major], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])]) + m4_pushdef([requested_version_minor], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) + m4_pushdef([requested_version_subminor], + [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])]) + test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \ + && { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \ + || { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor + } + } + } + m4_popdef([requested_version_subminor]) + m4_popdef([requested_version_minor]) + m4_popdef([requested_version_major]) + ], + [dnl This is the unoptimized variant: + requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"` + requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"` + requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"` + test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \ + && { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \ + || { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor + } + } + } + ]) + } + }]) + +dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the +dnl same as ORIG, otherwise to 0. +m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])]) diff --git a/glm4/libunistring-optional.m4 b/glm4/libunistring-optional.m4 new file mode 100644 index 0000000..f81ecb5 --- /dev/null +++ b/glm4/libunistring-optional.m4 @@ -0,0 +1,22 @@ +# libunistring-optional.m4 serial 1 +dnl Copyright (C) 2010-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl gl_LIBUNISTRING_OPTIONAL +dnl Searches for an installed libunistring or uses the included source code +dnl parts. +dnl If found, it sets and AC_SUBSTs HAVE_LIBUNISTRING=yes and the LIBUNISTRING +dnl and LTLIBUNISTRING variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIBUNISTRING to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIBUNISTRING=no and LIBUNISTRING and LTLIBUNISTRING to empty. + +AC_DEFUN([gl_LIBUNISTRING_OPTIONAL], +[ + dnl gl_LIBUNISTRING does a couple of extra things if this macro is used. + AC_REQUIRE([gl_LIBUNISTRING]) + + AC_MSG_CHECKING([whether to use the included libunistring]) + AC_MSG_RESULT([$gl_libunistring_use_included]) +]) diff --git a/glm4/libunistring.m4 b/glm4/libunistring.m4 new file mode 100644 index 0000000..0249896 --- /dev/null +++ b/glm4/libunistring.m4 @@ -0,0 +1,150 @@ +# libunistring.m4 serial 11 +dnl Copyright (C) 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl gl_LIBUNISTRING +dnl Searches for an installed libunistring. +dnl If found, it sets and AC_SUBSTs HAVE_LIBUNISTRING=yes and the LIBUNISTRING +dnl and LTLIBUNISTRING variables, sets the LIBUNISTRING_VERSION variable, and +dnl augments the CPPFLAGS variable, and #defines HAVE_LIBUNISTRING to 1. +dnl Otherwise, it sets and AC_SUBSTs HAVE_LIBUNISTRING=no and LIBUNISTRING and +dnl LTLIBUNISTRING to empty. + +dnl Define gl_LIBUNISTRING using AC_DEFUN_ONCE for Autoconf >= 2.64, in order +dnl to avoid warnings like +dnl "warning: AC_REQUIRE: `gl_LIBUNISTRING' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_libunistring_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_libunistring_AC_DEFUN([gl_LIBUNISTRING], +[ + AC_BEFORE([$0], [gl_LIBUNISTRING_MODULE]) + AC_BEFORE([$0], [gl_LIBUNISTRING_LIBHEADER]) + AC_BEFORE([$0], [gl_LIBUNISTRING_LIB_PREPARE]) + + m4_ifdef([gl_LIBUNISTRING_OPTIONAL], + [ + AC_MSG_CHECKING([whether included libunistring is requested]) + AC_ARG_WITH([included-libunistring], + [ --with-included-libunistring use the libunistring parts included here], + [gl_libunistring_force_included=$withval], + [gl_libunistring_force_included=no]) + AC_MSG_RESULT([$gl_libunistring_force_included]) + gl_libunistring_use_included="$gl_libunistring_force_included" + if test "$gl_libunistring_use_included" = yes; then + dnl Assume that libunistring is not installed until some other macro + dnl explicitly invokes gl_LIBUNISTRING_CORE. + if test -z "$HAVE_LIBUNISTRING"; then + HAVE_LIBUNISTRING=no + fi + LIBUNISTRING= + LTLIBUNISTRING= + else + gl_LIBUNISTRING_CORE + if test $HAVE_LIBUNISTRING = no; then + gl_libunistring_use_included=yes + LIBUNISTRING= + LTLIBUNISTRING= + fi + fi + ], + [gl_LIBUNISTRING_CORE]) +]) + +AC_DEFUN([gl_LIBUNISTRING_CORE], +[ + AC_REQUIRE([AM_ICONV]) + if test -n "$LIBICONV"; then + dnl First, try to link without -liconv. libunistring often depends on + dnl libiconv, but we don't know (and often don't need to know) where + dnl libiconv is installed. + AC_LIB_HAVE_LINKFLAGS([unistring], [], + [#include ], [u8_strconv_from_locale((char*)0);], + [no, trying again together with libiconv]) + if test "$ac_cv_libunistring" != yes; then + dnl Second try, with -liconv. + dnl We have to erase the cached result of the first AC_LIB_HAVE_LINKFLAGS + dnl invocation, otherwise the second one will not be run. + unset ac_cv_libunistring + glus_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_LIB_HAVE_LINKFLAGS([unistring], [], + [#include ], [u8_strconv_from_locale((char*)0);], + [no, consider installing GNU libunistring]) + if test -n "$LIBUNISTRING"; then + LIBUNISTRING="$LIBUNISTRING $LIBICONV" + LTLIBUNISTRING="$LTLIBUNISTRING $LTLIBICONV" + fi + LIBS="$glus_save_LIBS" + fi + else + AC_LIB_HAVE_LINKFLAGS([unistring], [], + [#include ], [u8_strconv_from_locale((char*)0);], + [no, consider installing GNU libunistring]) + fi + if test $HAVE_LIBUNISTRING = yes; then + dnl Determine the installed version. + AC_CACHE_CHECK([for libunistring version], [gl_cv_libunistring_version], + [AC_COMPUTE_INT([gl_libunistring_hexversion], + [_LIBUNISTRING_VERSION], + [#include ]) + dnl Versions <= 0.9.3 had a hexversion of 0x0009. + dnl Use other tests to distinguish them. + if test $gl_libunistring_hexversion = 9; then + dnl Version 0.9.2 introduced the header . + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [[]])], + [gl_cv_libunistring_version092=true], + [gl_cv_libunistring_version092=false]) + if $gl_cv_libunistring_version092; then + dnl Version 0.9.3 changed a comment in . + gl_ABSOLUTE_HEADER_ONE([unistr.h]) + if test -n "$gl_cv_absolute_unistr_h" \ + && grep 'Copy no more than N units of SRC to DEST. Return a pointer' $gl_cv_absolute_unistr_h > /dev/null; then + dnl Detected version 0.9.3. + gl_libunistring_hexversion=2307 + else + dnl Detected version 0.9.2. + gl_libunistring_hexversion=2306 + fi + else + dnl Version 0.9.1 introduced the type casing_suffix_context_t. + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + casing_suffix_context_t ct;]], + [[]])], + [gl_cv_libunistring_version091=true], + [gl_cv_libunistring_version091=false]) + if $gl_cv_libunistring_version091; then + dnl Detected version 0.9.1. + gl_libunistring_hexversion=2305 + else + dnl Detected version 0.9. + gl_libunistring_hexversion=2304 + fi + fi + fi + dnl Transform into the usual major.minor.subminor notation. + gl_libunistring_major=`expr $gl_libunistring_hexversion / 65536` + gl_libunistring_minor=`expr $gl_libunistring_hexversion / 256 % 256` + gl_libunistring_subminor=`expr $gl_libunistring_hexversion % 256` + gl_cv_libunistring_version="$gl_libunistring_major.$gl_libunistring_minor.$gl_libunistring_subminor" + ]) + LIBUNISTRING_VERSION="$gl_cv_libunistring_version" + fi +]) diff --git a/glm4/limits-h.m4 b/glm4/limits-h.m4 new file mode 100644 index 0000000..443f91b --- /dev/null +++ b/glm4/limits-h.m4 @@ -0,0 +1,31 @@ +dnl Check whether limits.h has needed features. + +dnl Copyright 2016-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +AC_DEFUN_ONCE([gl_LIMITS_H], +[ + gl_CHECK_NEXT_HEADERS([limits.h]) + + AC_CACHE_CHECK([whether limits.h has ULLONG_WIDTH etc.], + [gl_cv_header_limits_width], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + int ullw = ULLONG_WIDTH;]])], + [gl_cv_header_limits_width=yes], + [gl_cv_header_limits_width=no])]) + if test "$gl_cv_header_limits_width" = yes; then + LIMITS_H= + else + LIMITS_H=limits.h + fi + AC_SUBST([LIMITS_H]) + AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) +]) diff --git a/glm4/longlong.m4 b/glm4/longlong.m4 new file mode 100644 index 0000000..9a3294b --- /dev/null +++ b/glm4/longlong.m4 @@ -0,0 +1,113 @@ +# longlong.m4 serial 17 +dnl Copyright (C) 1999-2007, 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# Define HAVE_LONG_LONG_INT if 'long long int' works. +# This fixes a bug in Autoconf 2.61, and can be faster +# than what's in Autoconf 2.62 through 2.68. + +# Note: If the type 'long long int' exists but is only 32 bits large +# (as on some very old compilers), HAVE_LONG_LONG_INT will not be +# defined. In this case you can treat 'long long int' like 'long int'. + +AC_DEFUN([AC_TYPE_LONG_LONG_INT], +[ + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], + [ac_cv_type_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int + if test $ac_cv_type_long_long_int = yes; then + dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. + dnl If cross compiling, assume the bug is not important, since + dnl nobody cross compiles for this platform as far as we know. + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[@%:@include + @%:@ifndef LLONG_MAX + @%:@ define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + @%:@ define LLONG_MAX (HALF - 1 + HALF) + @%:@endif]], + [[long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0;]])], + [], + [ac_cv_type_long_long_int=no], + [:]) + fi + fi]) + if test $ac_cv_type_long_long_int = yes; then + AC_DEFINE([HAVE_LONG_LONG_INT], [1], + [Define to 1 if the system has the type 'long long int'.]) + fi +]) + +# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. +# This fixes a bug in Autoconf 2.61, and can be faster +# than what's in Autoconf 2.62 through 2.68. + +# Note: If the type 'unsigned long long int' exists but is only 32 bits +# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT +# will not be defined. In this case you can treat 'unsigned long long int' +# like 'unsigned long int'. + +AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], +[ + AC_CACHE_CHECK([for unsigned long long int], + [ac_cv_type_unsigned_long_long_int], + [ac_cv_type_unsigned_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [], + [ac_cv_type_unsigned_long_long_int=no]) + fi]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], + [Define to 1 if the system has the type 'unsigned long long int'.]) + fi +]) + +# Expands to a C program that can be used to test for simultaneous support +# of 'long long' and 'unsigned long long'. We don't want to say that +# 'long long' is available if 'unsigned long long' is not, or vice versa, +# because too many programs rely on the symmetry between signed and unsigned +# integer types (excluding 'bool'). +AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], +[ + AC_LANG_PROGRAM( + [[/* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63;]], + [[/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull));]]) +]) diff --git a/glm4/ltoptions.m4 b/glm4/ltoptions.m4 new file mode 100644 index 0000000..94b0829 --- /dev/null +++ b/glm4/ltoptions.m4 @@ -0,0 +1,437 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/glm4/ltsugar.m4 b/glm4/ltsugar.m4 new file mode 100644 index 0000000..48bc934 --- /dev/null +++ b/glm4/ltsugar.m4 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/glm4/ltversion.m4 b/glm4/ltversion.m4 new file mode 100644 index 0000000..fa04b52 --- /dev/null +++ b/glm4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4179 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6' +macro_revision='2.4.6' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/glm4/lt~obsolete.m4 b/glm4/lt~obsolete.m4 new file mode 100644 index 0000000..c6b26f8 --- /dev/null +++ b/glm4/lt~obsolete.m4 @@ -0,0 +1,99 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/glm4/multiarch.m4 b/glm4/multiarch.m4 new file mode 100644 index 0000000..30006cb --- /dev/null +++ b/glm4/multiarch.m4 @@ -0,0 +1,62 @@ +# multiarch.m4 serial 7 +dnl Copyright (C) 2008-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Determine whether the compiler is or may be producing universal binaries. +# +# On Mac OS X 10.5 and later systems, the user can create libraries and +# executables that work on multiple system types--known as "fat" or +# "universal" binaries--by specifying multiple '-arch' options to the +# compiler but only a single '-arch' option to the preprocessor. Like +# this: +# +# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ +# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ +# CPP="gcc -E" CXXCPP="g++ -E" +# +# Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly. + +AC_DEFUN_ONCE([gl_MULTIARCH], +[ + dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN. + gl_cv_c_multiarch=no + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + ]])], + [ + dnl Check for potential -arch flags. It is not universal unless + dnl there are at least two -arch flags with different values. + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done + ]) + if test $gl_cv_c_multiarch = yes; then + APPLE_UNIVERSAL_BUILD=1 + else + APPLE_UNIVERSAL_BUILD=0 + fi + AC_SUBST([APPLE_UNIVERSAL_BUILD]) +]) diff --git a/glm4/nls.m4 b/glm4/nls.m4 new file mode 100644 index 0000000..afdb9ca --- /dev/null +++ b/glm4/nls.m4 @@ -0,0 +1,32 @@ +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software +dnl Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) diff --git a/glm4/off_t.m4 b/glm4/off_t.m4 new file mode 100644 index 0000000..92c45ef --- /dev/null +++ b/glm4/off_t.m4 @@ -0,0 +1,18 @@ +# off_t.m4 serial 1 +dnl Copyright (C) 2012-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Check whether to override the 'off_t' type. +dnl Set WINDOWS_64_BIT_OFF_T. + +AC_DEFUN([gl_TYPE_OFF_T], +[ + m4_ifdef([gl_LARGEFILE], [ + AC_REQUIRE([gl_LARGEFILE]) + ], [ + WINDOWS_64_BIT_OFF_T=0 + ]) + AC_SUBST([WINDOWS_64_BIT_OFF_T]) +]) diff --git a/glm4/pkg.m4 b/glm4/pkg.m4 new file mode 100644 index 0000000..d8549a4 --- /dev/null +++ b/glm4/pkg.m4 @@ -0,0 +1,343 @@ +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 11 (pkg-config-0.29.1) + +dnl Copyright © 2004 Scott James Remnant . +dnl Copyright © 2012-2015 Dan Nicholson +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +dnl 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that +dnl program. + +dnl PKG_PREREQ(MIN-VERSION) +dnl ----------------------- +dnl Since: 0.29 +dnl +dnl Verify that the version of the pkg-config macros are at least +dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's +dnl installed version of pkg-config, this checks the developer's version +dnl of pkg.m4 when generating configure. +dnl +dnl To ensure that this macro is defined, also add: +dnl m4_ifndef([PKG_PREREQ], +dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) +dnl +dnl See the "Since" comment for each macro you use to see what version +dnl of the macros you require. +m4_defun([PKG_PREREQ], +[m4_define([PKG_MACROS_VERSION], [0.29.1]) +m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, + [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) +])dnl PKG_PREREQ + +dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) +dnl ---------------------------------- +dnl Since: 0.16 +dnl +dnl Search for the pkg-config tool and set the PKG_CONFIG variable to +dnl first found in the path. Checks that the version of pkg-config found +dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is +dnl used since that's the first version where most current features of +dnl pkg-config existed. +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])dnl PKG_PROG_PKG_CONFIG + +dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------------------------------- +dnl Since: 0.18 +dnl +dnl Check to see whether a particular set of modules exists. Similar to +dnl PKG_CHECK_MODULES(), but does not set variables or print errors. +dnl +dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +dnl only at the first occurence in configure.ac, so if the first place +dnl it's called might be skipped (such as if it is within an "if", you +dnl have to call PKG_CHECK_EXISTS manually +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +dnl --------------------------------------------- +dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting +dnl pkg_failed based on the result. +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])dnl _PKG_CONFIG + +dnl _PKG_SHORT_ERRORS_SUPPORTED +dnl --------------------------- +dnl Internal check to see if pkg-config supports short errors. +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])dnl _PKG_SHORT_ERRORS_SUPPORTED + + +dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl -------------------------------------------------------------- +dnl Since: 0.4.0 +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES might not happen, you should be sure to include an +dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])dnl PKG_CHECK_MODULES + + +dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl --------------------------------------------------------------------- +dnl Since: 0.29 +dnl +dnl Checks for existence of MODULES and gathers its build flags with +dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags +dnl and VARIABLE-PREFIX_LIBS from --libs. +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to +dnl include an explicit call to PKG_PROG_PKG_CONFIG in your +dnl configure.ac. +AC_DEFUN([PKG_CHECK_MODULES_STATIC], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +_save_PKG_CONFIG=$PKG_CONFIG +PKG_CONFIG="$PKG_CONFIG --static" +PKG_CHECK_MODULES($@) +PKG_CONFIG=$_save_PKG_CONFIG[]dnl +])dnl PKG_CHECK_MODULES_STATIC + + +dnl PKG_INSTALLDIR([DIRECTORY]) +dnl ------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable pkgconfigdir as the location where a module +dnl should install pkg-config .pc files. By default the directory is +dnl $libdir/pkgconfig, but the default can be changed by passing +dnl DIRECTORY. The user can override through the --with-pkgconfigdir +dnl parameter. +AC_DEFUN([PKG_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([pkgconfigdir], + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, + [with_pkgconfigdir=]pkg_default) +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +])dnl PKG_INSTALLDIR + + +dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) +dnl -------------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable noarch_pkgconfigdir as the location where a +dnl module should install arch-independent pkg-config .pc files. By +dnl default the directory is $datadir/pkgconfig, but the default can be +dnl changed by passing DIRECTORY. The user can override through the +dnl --with-noarch-pkgconfigdir parameter. +AC_DEFUN([PKG_NOARCH_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([noarch-pkgconfigdir], + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, + [with_noarch_pkgconfigdir=]pkg_default) +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +])dnl PKG_NOARCH_INSTALLDIR + + +dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------- +dnl Since: 0.28 +dnl +dnl Retrieves the value of the pkg-config variable for the given module. +AC_DEFUN([PKG_CHECK_VAR], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl + +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) +AS_VAR_COPY([$1], [pkg_cv_][$1]) + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])dnl PKG_CHECK_VAR + +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------ +dnl +dnl Prepare a "--with-" configure option using the lowercase +dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and +dnl PKG_CHECK_MODULES in a single macro. +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], + [auto],[PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) $3], + [m4_n([def_action_if_not_found]) $4])]) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +])dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ----------------------------------------------- +dnl +dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES +dnl check._[VARIABLE-PREFIX] is exported as make variable. +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +])dnl PKG_HAVE_WITH_MODULES + +dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl ------------------------------------------------------ +dnl +dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after +dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make +dnl and preprocessor variable. +AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], +[ +PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) + +AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], + [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) +])dnl PKG_HAVE_DEFINE_WITH_MODULES diff --git a/glm4/po.m4 b/glm4/po.m4 new file mode 100644 index 0000000..c5a2f6b --- /dev/null +++ b/glm4/po.m4 @@ -0,0 +1,453 @@ +# po.m4 serial 24 (gettext-0.19) +dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.60]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + AC_REQUIRE([AC_PROG_SED])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Release version of the gettext macros. This is used to ensure that + dnl the gettext macros and po/Makefile.in.in are in sync. + AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + dnl Support for AM_XGETTEXT_OPTION. + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + tab=`printf '\t'` + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$][$1]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) diff --git a/glm4/ssize_t.m4 b/glm4/ssize_t.m4 new file mode 100644 index 0000000..66ba9d4 --- /dev/null +++ b/glm4/ssize_t.m4 @@ -0,0 +1,23 @@ +# ssize_t.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2001-2003, 2006, 2010-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether ssize_t is defined. + +AC_DEFUN([gt_TYPE_SSIZE_T], +[ + AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x;]])], + [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) + if test $gt_cv_ssize_t = no; then + AC_DEFINE([ssize_t], [int], + [Define as a signed type of the same size as size_t.]) + fi +]) diff --git a/glm4/stdbool.m4 b/glm4/stdbool.m4 new file mode 100644 index 0000000..9e714d4 --- /dev/null +++ b/glm4/stdbool.m4 @@ -0,0 +1,108 @@ +# Check for stdbool.h that conforms to C99. + +dnl Copyright (C) 2002-2006, 2009-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +#serial 7 + +# Prepare for substituting if it is not supported. + +AC_DEFUN([AM_STDBOOL_H], +[ + AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + AC_SUBST([STDBOOL_H]) + AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) + + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi + AC_SUBST([HAVE__BOOL]) +]) + +# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. +AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) + +# This version of the macro is needed in autoconf <= 2.68. + +AC_DEFUN([AC_CHECK_HEADER_STDBOOL], + [AC_CACHE_CHECK([for stdbool.h that conforms to C99], + [ac_cv_header_stdbool_h], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include + + #ifdef __cplusplus + typedef bool Bool; + #else + typedef _Bool Bool; + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #endif + + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html + */ + Bool q = true; + Bool *pq = &q; + bool *qq = &q; + ]], + [[ + bool e = &s; + *pq |= q; *pq |= ! q; + *qq |= q; *qq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq + !qq); + ]])], + [ac_cv_header_stdbool_h=yes], + [ac_cv_header_stdbool_h=no])]) + AC_CHECK_TYPES([_Bool]) +]) diff --git a/glm4/stdint.m4 b/glm4/stdint.m4 new file mode 100644 index 0000000..4bf3e47 --- /dev/null +++ b/glm4/stdint.m4 @@ -0,0 +1,549 @@ +# stdint.m4 serial 51 +dnl Copyright (C) 2001-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert and Bruno Haible. +dnl Test whether is supported or must be substituted. + +AC_DEFUN_ONCE([gl_STDINT_H], +[ + AC_PREREQ([2.59])dnl + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + AC_REQUIRE([gl_LIMITS_H]) + AC_REQUIRE([gt_TYPE_WINT_T]) + + dnl Check for long long int and unsigned long long int. + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + AC_SUBST([HAVE_LONG_LONG_INT]) + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi + AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) + + dnl Check for , in the same way as gl_WCHAR_H does. + AC_CHECK_HEADERS_ONCE([wchar.h]) + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + AC_SUBST([HAVE_WCHAR_H]) + + dnl Check for . + dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + AC_SUBST([HAVE_INTTYPES_H]) + + dnl Check for . + dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi + AC_SUBST([HAVE_SYS_TYPES_H]) + + gl_CHECK_NEXT_HEADERS([stdint.h]) + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi + AC_SUBST([HAVE_STDINT_H]) + + dnl Now see whether we need a substitute . + if test $ac_cv_header_stdint_h = yes; then + AC_CACHE_CHECK([whether stdint.h conforms to C99], + [gl_cv_header_working_stdint_h], + [gl_cv_header_working_stdint_h=no + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#define __STDC_CONSTANT_MACROS 1 +#define __STDC_LIMIT_MACROS 1 +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif +] +gl_STDINT_INCLUDES +[ +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; + +/* Check that SIZE_MAX has the correct type, if possible. */ +#if 201112 <= __STDC_VERSION__ +int k = _Generic (SIZE_MAX, size_t: 0); +#elif (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ + || (0x5110 <= __SUNPRO_C && !__STDC__)) +extern size_t k; +extern __typeof__ (SIZE_MAX) k; +#endif + +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + ]])], + [dnl Determine whether the various *_MIN, *_MAX macros are usable + dnl in preprocessor expression. We could do it by compiling a test + dnl program for each of these macros. It is faster to run a program + dnl that inspects the macro expansion. + dnl This detects a bug on HP-UX 11.23/ia64. + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([[ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#define __STDC_CONSTANT_MACROS 1 +#define __STDC_LIMIT_MACROS 1 +#include +] +gl_STDINT_INCLUDES +[ +#include +#include +#define MVAL(macro) MVAL1(macro) +#define MVAL1(expression) #expression +static const char *macro_values[] = + { +#ifdef INT8_MAX + MVAL (INT8_MAX), +#endif +#ifdef INT16_MAX + MVAL (INT16_MAX), +#endif +#ifdef INT32_MAX + MVAL (INT32_MAX), +#endif +#ifdef INT64_MAX + MVAL (INT64_MAX), +#endif +#ifdef UINT8_MAX + MVAL (UINT8_MAX), +#endif +#ifdef UINT16_MAX + MVAL (UINT16_MAX), +#endif +#ifdef UINT32_MAX + MVAL (UINT32_MAX), +#endif +#ifdef UINT64_MAX + MVAL (UINT64_MAX), +#endif + NULL + }; +]], [[ + const char **mv; + for (mv = macro_values; *mv != NULL; mv++) + { + const char *value = *mv; + /* Test whether it looks like a cast expression. */ + if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 + || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 + || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 + || strncmp (value, "((int)"/*)*/, 6) == 0 + || strncmp (value, "((signed short)"/*)*/, 15) == 0 + || strncmp (value, "((signed char)"/*)*/, 14) == 0) + return mv - macro_values + 1; + } + return 0; +]])], + [gl_cv_header_working_stdint_h=yes], + [], + [case "$host_os" in + # Guess yes on native Windows. + mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; + esac + ]) + ]) + ]) + fi + + HAVE_C99_STDINT_H=0 + HAVE_SYS_BITYPES_H=0 + HAVE_SYS_INTTYPES_H=0 + STDINT_H=stdint.h + case "$gl_cv_header_working_stdint_h" in + *yes) + HAVE_C99_STDINT_H=1 + dnl Now see whether the system works without + dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined. + AC_CACHE_CHECK([whether stdint.h predates C++11], + [gl_cv_header_stdint_predates_cxx11_h], + [gl_cv_header_stdint_predates_cxx11_h=yes + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +] +gl_STDINT_INCLUDES +[ +intmax_t im = INTMAX_MAX; +int32_t i32 = INT32_C (0x7fffffff); + ]])], + [gl_cv_header_stdint_predates_cxx11_h=no])]) + + if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then + AC_DEFINE([__STDC_CONSTANT_MACROS], [1], + [Define to 1 if the system predates C++11.]) + AC_DEFINE([__STDC_LIMIT_MACROS], [1], + [Define to 1 if the system predates C++11.]) + fi + AC_CACHE_CHECK([whether stdint.h has UINTMAX_WIDTH etc.], + [gl_cv_header_stdint_width], + [gl_cv_header_stdint_width=no + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ + /* Work if build is not clean. */ + #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 + #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ + #define __STDC_WANT_IEC_60559_BFP_EXT__ 1 + #endif + #include + ]gl_STDINT_INCLUDES[ + int iw = UINTMAX_WIDTH; + ]])], + [gl_cv_header_stdint_width=yes])]) + if test "$gl_cv_header_stdint_width" = yes; then + STDINT_H= + fi + ;; + *) + dnl Check for , and for + dnl (used in Linux libc4 >= 4.6.7 and libc5). + AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + fi + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + fi + gl_STDINT_TYPE_PROPERTIES + ;; + esac + + dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH. + LIMITS_H=limits.h + AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) + + AC_SUBST([HAVE_C99_STDINT_H]) + AC_SUBST([HAVE_SYS_BITYPES_H]) + AC_SUBST([HAVE_SYS_INTTYPES_H]) + AC_SUBST([STDINT_H]) + AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) +]) + +dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) +dnl Determine the size of each of the given types in bits. +AC_DEFUN([gl_STDINT_BITSIZEOF], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), + [Define to the number of bits in type ']gltype['.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], + [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], + [$2 +#include ], [result=unknown]) + eval gl_cv_bitsizeof_${gltype}=\$result + ]) + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, + dnl do a syntax check even on unused #if conditions and give an error + dnl on valid C code like this: + dnl #if 0 + dnl # if > 32 + dnl # endif + dnl #endif + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) + eval BITSIZEOF_${GLTYPE}=\$result + done + m4_foreach_w([gltype], [$1], + [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) +]) + +dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) +dnl Determine the signedness of each of the given types. +dnl Define HAVE_SIGNED_TYPE if type is signed. +AC_DEFUN([gl_CHECK_TYPES_SIGNED], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), + [Define to 1 if ']gltype[' is a signed integer type.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([$2[ + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], + result=yes, result=no) + eval gl_cv_type_${gltype}_signed=\$result + ]) + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1]) + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + m4_foreach_w([gltype], [$1], + [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) +]) + +dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) +dnl Determine the suffix to use for integer constants of the given types. +dnl Define t_SUFFIX for each such type. +AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], +[ + dnl Use a shell loop, to avoid bloating configure, and + dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into + dnl config.h.in, + dnl - extra AC_SUBST calls, so that the right substitutions are made. + m4_foreach_w([gltype], [$1], + [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], + [Define to l, ll, u, ul, ull, etc., as suitable for + constants of type ']gltype['.])]) + for gltype in $1 ; do + AC_CACHE_CHECK([for $gltype integer literal suffix], + [gl_cv_type_${gltype}_suffix], + [eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([$2[ + extern $gltype foo; + extern $gltype1 foo;]])], + [eval gl_cv_type_${gltype}_suffix=\$glsuf]) + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done]) + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result]) + done + m4_foreach_w([gltype], [$1], + [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) +]) + +dnl gl_STDINT_INCLUDES +AC_DEFUN([gl_STDINT_INCLUDES], +[[ + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif +]]) + +dnl gl_STDINT_TYPE_PROPERTIES +dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t +dnl of interest to stdint.in.h. +AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], +[ + AC_REQUIRE([gl_MULTIARCH]) + if test $APPLE_UNIVERSAL_BUILD = 0; then + gl_STDINT_BITSIZEOF([ptrdiff_t size_t], + [gl_STDINT_INCLUDES]) + fi + gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) + gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + if test $APPLE_UNIVERSAL_BUILD = 0; then + gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t], + [gl_STDINT_INCLUDES]) + fi + gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t], + [gl_STDINT_INCLUDES]) + + dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99 + dnl requirement that wint_t is "unchanged by default argument promotions". + dnl In this case gnulib's and override wint_t. + dnl Set the variable BITSIZEOF_WINT_T accordingly. + if test $GNULIB_OVERRIDES_WINT_T = 1; then + BITSIZEOF_WINT_T=32 + fi +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) +]) diff --git a/glm4/sys_types_h.m4 b/glm4/sys_types_h.m4 new file mode 100644 index 0000000..7509771 --- /dev/null +++ b/glm4/sys_types_h.m4 @@ -0,0 +1,60 @@ +# sys_types_h.m4 serial 9 +dnl Copyright (C) 2011-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN_ONCE([gl_SYS_TYPES_H], +[ + dnl Use sane struct stat types in OpenVMS 8.2 and later. + AC_DEFINE([_USE_STD_STAT], 1, [For standard stat data types on VMS.]) + + AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) + gl_NEXT_HEADERS([sys/types.h]) + + dnl Ensure the type pid_t gets defined. + AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + + dnl Whether to override the 'off_t' type. + AC_REQUIRE([gl_TYPE_OFF_T]) + + dnl Whether to override the 'dev_t' and 'ino_t' types. + m4_ifdef([gl_WINDOWS_STAT_INODES], [ + AC_REQUIRE([gl_WINDOWS_STAT_INODES]) + ], [ + WINDOWS_STAT_INODES=0 + ]) + AC_SUBST([WINDOWS_STAT_INODES]) +]) + +AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS], +[ +]) + +# This works around a buggy version in autoconf <= 2.69. +# See + +m4_version_prereq([2.70], [], [ + +# This is taken from the following Autoconf patch: +# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=e17a30e987d7ee695fb4294a82d987ec3dc9b974 + +m4_undefine([AC_HEADER_MAJOR]) +AC_DEFUN([AC_HEADER_MAJOR], +[AC_CHECK_HEADERS_ONCE([sys/types.h]) +AC_CHECK_HEADER([sys/mkdev.h], + [AC_DEFINE([MAJOR_IN_MKDEV], [1], + [Define to 1 if `major', `minor', and `makedev' are declared in + .])]) +if test $ac_cv_header_sys_mkdev_h = no; then + AC_CHECK_HEADER([sys/sysmacros.h], + [AC_DEFINE([MAJOR_IN_SYSMACROS], [1], + [Define to 1 if `major', `minor', and `makedev' are declared in + .])]) +fi +]) + +]) diff --git a/glm4/wint_t.m4 b/glm4/wint_t.m4 new file mode 100644 index 0000000..d30b8bc --- /dev/null +++ b/glm4/wint_t.m4 @@ -0,0 +1,74 @@ +# wint_t.m4 serial 7 +dnl Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. +dnl Test whether has the 'wint_t' type and whether gnulib's +dnl or would, if present, override 'wint_t'. +dnl Prerequisite: AC_PROG_CC + +AC_DEFUN([gt_TYPE_WINT_T], +[ + AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include + wint_t foo = (wchar_t)'\0';]], + [[]])], + [gt_cv_c_wint_t=yes], + [gt_cv_c_wint_t=no])]) + if test $gt_cv_c_wint_t = yes; then + AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) + + dnl Determine whether gnulib's or would, if present, + dnl override 'wint_t'. + AC_CACHE_CHECK([whether wint_t is too small], + [gl_cv_type_wint_t_too_small], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be + included before . */ +#if !(defined __GLIBC__ && !defined __UCLIBC__) +# include +# include +# include +#endif +#include + int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1]; + ]])], + [gl_cv_type_wint_t_too_small=no], + [gl_cv_type_wint_t_too_small=yes])]) + if test $gl_cv_type_wint_t_too_small = yes; then + GNULIB_OVERRIDES_WINT_T=1 + else + GNULIB_OVERRIDES_WINT_T=0 + fi + else + GNULIB_OVERRIDES_WINT_T=0 + fi + AC_SUBST([GNULIB_OVERRIDES_WINT_T]) +]) + +dnl Prerequisites of the 'wint_t' override. +AC_DEFUN([gl_TYPE_WINT_T_PREREQ], +[ + AC_CHECK_HEADERS_ONCE([crtdefs.h]) + if test $ac_cv_header_crtdefs_h = yes; then + HAVE_CRTDEFS_H=1 + else + HAVE_CRTDEFS_H=0 + fi + AC_SUBST([HAVE_CRTDEFS_H]) +]) diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..0360b79 --- /dev/null +++ b/install-sh @@ -0,0 +1,501 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2016-01-11.22; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/Gc-1.0.gir b/lib/Gc-1.0.gir new file mode 100644 index 0000000..72f4fb6 --- /dev/null +++ b/lib/Gc-1.0.gir @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an array of characters. + + + + + a #GcSearchContext. + + + + a #GAsyncResult. + + + + + + + + + + + + + + + + + + + + a new #GcSearchCriteria + + + + + a #GcCategory + + + + + + + a new #GcSearchCriteria + + + + + an array of keywords + + + + + + + + + + + + + + + + + + + a new #GcSearchCriteria + + + + + an array of scripts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if @uc is an invisible character, %FALSE otherwise. + + + + + a UCS-4 character + + + + + + + a newly allocated character name of @uc. + + + + + a UCS-4 character + + + + + + + column width of @uc, or -1 if @uc is a control character. + + + + + a UCS-4 character + + + + + + + an array of characters. + + + + + a #GcCategory. + + + + an array of characters + + + + + + + + + an ISO639 two-letter language code + + + + + + a list of script names. + + + + + + + a language name + + + + + + + a #GtkClipboard. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/Makefile.am b/lib/Makefile.am new file mode 100644 index 0000000..71bff83 --- /dev/null +++ b/lib/Makefile.am @@ -0,0 +1,61 @@ +EXTRA_DIST = gen-confusables.py gen-emoji.py gen-scripts.py meson.build +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +AM_CPPFLAGS = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/gllib \ + -I$(top_builddir)/gllib \ + -DPREFIX=\"$(prefix)\" \ + -DLIBDIR=\"$(libdir)\" \ + -DG_LOG_DOMAIN=\"libgc\" \ + -DG_DISABLE_DEPRECATED \ + $(LIBGC_CFLAGS) \ + $(PANGOFT2_CFLAGS) \ + $(NULL) + +pkglib_LTLIBRARIES = libgc.la + +libgc_la_LIBADD = $(LIBGC_LIBS) $(LTLIBICONV) $(LTLIBUNISTRING) $(PANGOFT2_LIBS) $(builddir)/../gllib/libgnu.la +libgc_la_LDFLAGS = -avoid-version +libgc_la_sources = gc.h gc.c gc-enumtypes.c +libgc_la_SOURCES = $(libgc_la_sources) confusables.h emoji.h scripts.h gc-enumtypes.h + +BUILT_SOURCES = gc-enumtypes.h gc-enumtypes.c + +gc-enumtypes.h: gc.h gc-enumtypes.h.template + $(AM_V_GEN) $(GLIB_MKENUMS) --identifier-prefix Gc --symbol-prefix gc --template $(srcdir)/gc-enumtypes.h.template $(srcdir)/gc.h > $@-t && mv $@-t $@ || rm $@-t +gc-enumtypes.c: gc.h gc-enumtypes.c.template + $(AM_V_GEN) $(GLIB_MKENUMS) --identifier-prefix Gc --symbol-prefix gc --template $(srcdir)/gc-enumtypes.c.template $(srcdir)/gc.h > $@-t && mv $@-t $@ || rm $@-t + +EXTRA_DIST += gc-enumtypes.h.template gc-enumtypes.c.template + +include $(INTROSPECTION_MAKEFILE) +INTROSPECTION_GIRS = Gc-1.0.gir + +Gc-1.0.gir: libgc.la Makefile +Gc_1_0_gir_NAMESPACE = Gc +Gc_1_0_gir_VERSION = 1.0 +Gc_1_0_gir_LIBS = libgc.la +Gc_1_0_gir_CFLAGS = $(AM_CPPFLAGS) +Gc_1_0_gir_INCLUDES = Gio-2.0 Gtk-3.0 +Gc_1_0_gir_SCANNERFLAGS = \ + --warn-all \ + --symbol-prefix=gc \ + --identifier-prefix=Gc \ + --c-include="gc.h" \ + $(NULL) +Gc_1_0_gir_FILES = $(libgc_la_sources) + +girdir= $(pkgdatadir)/gir-1.0 +typelibdir= $(pkglibdir)/girepository-1.0 + +gir_DATA = $(INTROSPECTION_GIRS) +typelib_DATA = $(gir_DATA:.gir=.typelib) + +EXTRA_DIST += $(gir_DATA) +CLEANFILES += $(typelib_DATA) +DISTCLEANFILES += $(gir_DATA) + +-include $(top_srcdir)/git.mk diff --git a/lib/Makefile.in b/lib/Makefile.in new file mode 100644 index 0000000..910763b --- /dev/null +++ b/lib/Makefile.in @@ -0,0 +1,887 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = lib +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(girdir)" \ + "$(DESTDIR)$(typelibdir)" +LTLIBRARIES = $(pkglib_LTLIBRARIES) +am__DEPENDENCIES_1 = +libgc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(builddir)/../gllib/libgnu.la +am__objects_1 = gc.lo gc-enumtypes.lo +am_libgc_la_OBJECTS = $(am__objects_1) +libgc_la_OBJECTS = $(am_libgc_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libgc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libgc_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libgc_la_SOURCES) +DIST_SOURCES = $(libgc_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(gir_DATA) $(typelib_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = gen-confusables.py gen-emoji.py gen-scripts.py \ + meson.build gc-enumtypes.h.template gc-enumtypes.c.template \ + $(gir_DATA) +CLEANFILES = $(typelib_DATA) +DISTCLEANFILES = $(gir_DATA) +MAINTAINERCLEANFILES = +AM_CPPFLAGS = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/gllib \ + -I$(top_builddir)/gllib \ + -DPREFIX=\"$(prefix)\" \ + -DLIBDIR=\"$(libdir)\" \ + -DG_LOG_DOMAIN=\"libgc\" \ + -DG_DISABLE_DEPRECATED \ + $(LIBGC_CFLAGS) \ + $(PANGOFT2_CFLAGS) \ + $(NULL) + +pkglib_LTLIBRARIES = libgc.la +libgc_la_LIBADD = $(LIBGC_LIBS) $(LTLIBICONV) $(LTLIBUNISTRING) $(PANGOFT2_LIBS) $(builddir)/../gllib/libgnu.la +libgc_la_LDFLAGS = -avoid-version +libgc_la_sources = gc.h gc.c gc-enumtypes.c +libgc_la_SOURCES = $(libgc_la_sources) confusables.h emoji.h scripts.h gc-enumtypes.h +BUILT_SOURCES = gc-enumtypes.h gc-enumtypes.c +INTROSPECTION_GIRS = Gc-1.0.gir +Gc_1_0_gir_NAMESPACE = Gc +Gc_1_0_gir_VERSION = 1.0 +Gc_1_0_gir_LIBS = libgc.la +Gc_1_0_gir_CFLAGS = $(AM_CPPFLAGS) +Gc_1_0_gir_INCLUDES = Gio-2.0 Gtk-3.0 +Gc_1_0_gir_SCANNERFLAGS = \ + --warn-all \ + --symbol-prefix=gc \ + --identifier-prefix=Gc \ + --c-include="gc.h" \ + $(NULL) + +Gc_1_0_gir_FILES = $(libgc_la_sources) +girdir = $(pkgdatadir)/gir-1.0 +typelibdir = $(pkglibdir)/girepository-1.0 +gir_DATA = $(INTROSPECTION_GIRS) +typelib_DATA = $(gir_DATA:.gir=.typelib) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign lib/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libgc.la: $(libgc_la_OBJECTS) $(libgc_la_DEPENDENCIES) $(EXTRA_libgc_la_DEPENDENCIES) + $(AM_V_CCLD)$(libgc_la_LINK) -rpath $(pkglibdir) $(libgc_la_OBJECTS) $(libgc_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc-enumtypes.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-girDATA: $(gir_DATA) + @$(NORMAL_INSTALL) + @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(girdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(girdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \ + done + +uninstall-girDATA: + @$(NORMAL_UNINSTALL) + @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir) +install-typelibDATA: $(typelib_DATA) + @$(NORMAL_INSTALL) + @list='$(typelib_DATA)'; test -n "$(typelibdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(typelibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(typelibdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibdir)" || exit $$?; \ + done + +uninstall-typelibDATA: + @$(NORMAL_UNINSTALL) + @list='$(typelib_DATA)'; test -n "$(typelibdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(typelibdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(typelibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-girDATA install-typelibDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-girDATA uninstall-pkglibLTLIBRARIES \ + uninstall-typelibDATA + +.MAKE: all check install install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-pkglibLTLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-girDATA install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-pkglibLTLIBRARIES install-ps \ + install-ps-am install-strip install-typelibDATA installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-girDATA \ + uninstall-pkglibLTLIBRARIES uninstall-typelibDATA + +.PRECIOUS: Makefile + + +gc-enumtypes.h: gc.h gc-enumtypes.h.template + $(AM_V_GEN) $(GLIB_MKENUMS) --identifier-prefix Gc --symbol-prefix gc --template $(srcdir)/gc-enumtypes.h.template $(srcdir)/gc.h > $@-t && mv $@-t $@ || rm $@-t +gc-enumtypes.c: gc.h gc-enumtypes.c.template + $(AM_V_GEN) $(GLIB_MKENUMS) --identifier-prefix Gc --symbol-prefix gc --template $(srcdir)/gc-enumtypes.c.template $(srcdir)/gc.h > $@-t && mv $@-t $@ || rm $@-t + +include $(INTROSPECTION_MAKEFILE) + +Gc-1.0.gir: libgc.la Makefile + +-include $(top_srcdir)/git.mk + +# 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/lib/confusables.h b/lib/confusables.h new file mode 100644 index 0000000..590a4a9 --- /dev/null +++ b/lib/confusables.h @@ -0,0 +1,8578 @@ +static const uint32_t confusable_characters[] = + { + 0x596, 0x5AD, 0x598, 0x5AE, 0x599, 0x5A8, 0x59A, 0x5A4, 0x6DB, + 0x1AB4, 0x20DB, 0x313, 0x315, 0x343, 0x619, 0x64F, 0x8F3, 0x314, + 0x65D, 0x301, 0x341, 0x59C, 0x59D, 0x618, 0x64E, 0x747, 0x954, + 0x300, 0x340, 0x953, 0x306, 0x30C, 0x36E, 0x658, 0x65A, 0xA67C, + 0x302, 0x311, 0x65B, 0x7EE, 0x1CD0, 0xA6F0, 0x30A, 0x366, 0x5AF, + 0x652, 0x6DF, 0xB82, 0xE4D, 0xECD, 0x1036, 0x17C6, 0x17D3, 0x309A, + 0x11300, 0x308, 0x7F3, 0x8EB, 0x30B, 0x64B, 0x8F0, 0x303, 0x342, + 0x653, 0x307, 0x358, 0x5B9, 0x5BA, 0x5C1, 0x5C2, 0x5C4, 0x6EC, + 0x740, 0x741, 0x7ED, 0x8EA, 0x902, 0xA02, 0xA82, 0xBCD, 0x337, + 0x338, 0x322, 0x328, 0x345, 0x1AB7, 0x304, 0x305, 0x659, 0x7EB, + 0x1CD2, 0xA6F1, 0x30E, 0x1CDA, 0x312, 0x657, 0x350, 0x357, 0x8F8, + 0x8FF, 0x352, 0x900, 0x316, 0x1CED, 0x329, 0x656, 0x1CDC, 0x32B, + 0x1CD5, 0x333, 0x347, 0x354, 0x8F9, 0x355, 0x8FA, 0x309B, 0xFF9E, + 0x309C, 0xFF9F, 0x335, 0x336, 0x309, 0x302C, 0x323, 0x5B4, 0x5C5, + 0x65C, 0x8ED, 0x93C, 0x9BC, 0xA3C, 0xABC, 0xB3C, 0x1CDD, 0x10A3A, + 0x111CA, 0x114C3, 0x324, 0x8EE, 0x1CDE, 0x325, 0x302D, 0x321, + 0x326, 0x327, 0x339, 0x32D, 0x1CD9, 0x32E, 0x1CD8, 0x320, 0x331, + 0x952, 0x64C, 0x8E5, 0x8E8, 0x8F1, 0x64D, 0x8F2, 0x317, 0x61A, + 0x650, 0x655, 0x65F, 0x30D, 0x670, 0x73C, 0x742, 0x983, 0xA03, + 0xC03, 0xC83, 0xD03, 0xD83, 0x1038, 0x114C1, 0xE48, 0xEC8, 0x17CB, + 0xE49, 0xEC9, 0xE4A, 0xECA, 0xE4B, 0xECB, 0x20E9, 0xA66F, 0x20, + 0xA0, 0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, + 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x2028, 0x2029, 0x202F, + 0x205F, 0x5F, 0x7FA, 0xFE4D, 0xFE4E, 0xFE4F, 0x2D, 0x2D7, 0x6D4, + 0x2010, 0x2011, 0x2012, 0x2013, 0x2043, 0x2212, 0x2796, 0x2CBA, + 0xFE58, 0x301C, 0xFF5E, 0x2C, 0xB8, 0x60D, 0x66B, 0x201A, 0xA4F9, + 0x60C, 0x66C, 0x2E32, 0x3B, 0x37E, 0x61B, 0x2E35, 0x3A, 0x2D0, + 0x2F8, 0x589, 0x5C3, 0x703, 0x704, 0x903, 0xA83, 0x16EC, 0x1803, + 0x1809, 0x205A, 0x2236, 0xA4FD, 0xA789, 0xFE30, 0xFF1A, 0x21, + 0x1C3, 0x2D51, 0xFF01, 0x3F, 0x241, 0x294, 0x97D, 0x13AE, 0xA6EB, + 0x61F, 0x2E2E, 0x2E, 0x660, 0x6F0, 0x701, 0x702, 0x2024, 0xA4F8, + 0xA60E, 0x10A50, 0x1D16D, 0xB7, 0x387, 0x1427, 0x16EB, 0x2022, + 0x2027, 0x2219, 0x22C5, 0x2E31, 0x30FB, 0xA78F, 0xFF65, 0x10101, + 0x964, 0xA830, 0x27, 0x60, 0xB4, 0x2B9, 0x2BB, 0x2BC, 0x2BD, + 0x2BE, 0x2C8, 0x2CA, 0x2CB, 0x2F4, 0x374, 0x384, 0x55A, 0x55D, + 0x5D9, 0x5F3, 0x7F4, 0x7F5, 0x144A, 0x16CC, 0x1FBD, 0x1FBF, 0x1FEF, + 0x1FFD, 0x1FFE, 0x2018, 0x2019, 0x201B, 0x2032, 0x2035, 0xA78C, + 0xFF07, 0xFF40, 0x28, 0x2768, 0x2772, 0x3014, 0xFD3E, 0xFF3B, + 0x29, 0x2769, 0x2773, 0x3015, 0xFD3F, 0xFF3D, 0x7B, 0x2774, 0x1D114, + 0x7D, 0x2775, 0x27E6, 0x301A, 0x27E7, 0x301B, 0x2329, 0x276C, + 0x27E8, 0x3008, 0x304F, 0x31DB, 0x21FE8, 0x232A, 0x276D, 0x27E9, + 0x3009, 0xFE3F, 0xFF3E, 0xB6, 0x2E3F, 0x2A, 0x66D, 0x204E, 0x2217, + 0x1031F, 0x2F, 0x1735, 0x2041, 0x2044, 0x2215, 0x2571, 0x27CB, + 0x29F8, 0x2CC6, 0x2F03, 0x3033, 0x30CE, 0x31D3, 0x4E3F, 0x1D23A, + 0x5C, 0x2216, 0x27CD, 0x29F5, 0x29F9, 0x2F02, 0x31D4, 0x4E36, + 0xFE68, 0xFF3C, 0x1D20F, 0x1D23B, 0x26, 0xA778, 0x970, 0xAF0, + 0x26AC, 0x110BB, 0x111C7, 0xA8FC, 0x111DB, 0xE4F, 0x17D9, 0xE5A, + 0x17D5, 0xE5B, 0x17DA, 0xF0B, 0xF0C, 0x5E, 0x2C4, 0x2C6, 0x2C7, + 0x2D8, 0xA67E, 0xAF, 0x2C9, 0x203E, 0x2594, 0xFE49, 0xFE4A, 0xFE4B, + 0xFE4C, 0xFFE3, 0x2CF, 0x375, 0x2EA, 0x2FB, 0xA716, 0x2EB, 0xA714, + 0x2F3, 0x3002, 0xB0, 0x2DA, 0x2218, 0x25CB, 0x25E6, 0x2E30, 0xBF3, + 0xBF5, 0xA9, 0x24B8, 0xAE, 0x24C7, 0x2117, 0x24C5, 0x2144, 0x1D21B, + 0x219E, 0x2BEC, 0x219F, 0x2BED, 0x21A0, 0x2BEE, 0x21A1, 0x2BEF, + 0x21B2, 0x21B5, 0x2202, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3, + 0x1E8CC, 0x2205, 0x2300, 0x2207, 0x118A8, 0x1D6C1, 0x1D6FB, 0x1D735, + 0x1D76F, 0x1D7A9, 0x220E, 0x2588, 0x25A0, 0x2210, 0x2A3F, 0x2B, + 0x16ED, 0x2795, 0x1029B, 0xF7, 0x2797, 0x3C, 0x2C2, 0x1438, 0x16B2, + 0x2039, 0x276E, 0x1D236, 0x3D, 0x1400, 0x2E40, 0x30A0, 0xA4FF, + 0x3E, 0x2C3, 0x1433, 0x203A, 0x276F, 0x1D237, 0x7E, 0x2DC, 0x1FC0, + 0x2053, 0x223C, 0x2220, 0x1E8C8, 0x2227, 0x22C0, 0x2234, 0x2E2B, + 0x2235, 0x2E2A, 0x2237, 0x2E2C, 0x2248, 0x111DE, 0x224F, 0x264E, + 0x1F75E, 0x2261, 0x2263, 0x228D, 0x2A03, 0x228E, 0x2A04, 0x228F, + 0x1D238, 0x2290, 0x1D239, 0x2293, 0x2A05, 0x2294, 0x2A06, 0x2297, + 0x2A02, 0x229B, 0x235F, 0x22A0, 0x1F771, 0x22A1, 0x1F755, 0x22B2, + 0x25C1, 0x22B3, 0x25B7, 0x2307, 0xFE34, 0x2312, 0x25E0, 0x2319, + 0x2A3D, 0x2324, 0x2325, 0x233B, 0x29C7, 0x233E, 0x25CE, 0x29BE, + 0x2342, 0x29C5, 0x2349, 0x29B0, 0x234B, 0x23C3, 0x234E, 0x23C2, + 0x2355, 0x23C1, 0xD6, 0x150, 0x2365, 0x236D, 0x23C6, 0x2388, + 0x2638, 0x23DC, 0xFE35, 0x23DD, 0xFE36, 0x23DE, 0xFE37, 0x23DF, + 0xFE38, 0x23E0, 0xFE39, 0x23E1, 0xFE3A, 0x23E5, 0x25B1, 0x2502, + 0x2503, 0xFE31, 0xFF5C, 0x250C, 0x250F, 0x251C, 0x2523, 0x258C, + 0x2590, 0x2596, 0x2597, 0x2598, 0x259D, 0x25A1, 0x2610, 0x25AA, + 0xFFED, 0x25B6, 0x25B8, 0x25BA, 0x2627, 0x2CE9, 0x2629, 0x1F70A, + 0x263D, 0x1F312, 0x1F319, 0x23FE, 0x263E, 0x1F318, 0x299A, 0x29D9, + 0x29DF, 0x1F73A, 0x2A1F, 0x2A3E, 0x2D9, 0x971, 0xD4E, 0x1173, + 0x2014, 0x2015, 0x2500, 0x2501, 0x2F00, 0x30FC, 0x3161, 0x31D0, + 0x4E00, 0xA7F7, 0xFF0D, 0xA3, 0x20A4, 0x20B8, 0x3012, 0x3036, + 0x1B50, 0x1B5C, 0xA9C6, 0xA9D0, 0x9E7, 0x114D1, 0xC67, 0xCE7, + 0x1041, 0x1065, 0x2460, 0x2780, 0x2469, 0x2789, 0x32, 0x1A7, + 0x3E8, 0x14BF, 0xA644, 0xA6EF, 0xA75A, 0x1D7D0, 0x1D7DA, 0x1D7E4, + 0x1D7EE, 0x1D7F8, 0x662, 0x6F2, 0xA9CF, 0x968, 0xAE8, 0x9E8, + 0x114D2, 0xC68, 0xCE8, 0x2461, 0x2781, 0x33, 0x1B7, 0x21C, 0x417, + 0x4E0, 0x2CCC, 0xA76A, 0xA7AB, 0x118CA, 0x1D206, 0x1D7D1, 0x1D7DB, + 0x1D7E5, 0x1D7EF, 0x1D7F9, 0x663, 0x6F3, 0x1E8C9, 0x969, 0xAE9, + 0x2462, 0x2782, 0x34, 0x13CE, 0x118AF, 0x1D7D2, 0x1D7DC, 0x1D7E6, + 0x1D7F0, 0x1D7FA, 0x664, 0x6F4, 0x96A, 0xAEA, 0x2463, 0x2783, + 0x35, 0x1BC, 0x118BB, 0x1D7D3, 0x1D7DD, 0x1D7E7, 0x1D7F1, 0x1D7FB, + 0x2464, 0x2784, 0x36, 0x431, 0x13EE, 0x2CD2, 0x118D5, 0x1D7D4, + 0x1D7DE, 0x1D7E8, 0x1D7F2, 0x1D7FC, 0x666, 0x6F6, 0x9EC, 0x114D6, + 0x2465, 0x2785, 0x37, 0x118C6, 0x1D212, 0x1D7D5, 0x1D7DF, 0x1D7E9, + 0x1D7F3, 0x1D7FD, 0x2466, 0x2786, 0x38, 0x222, 0x223, 0x9EA, + 0xA6A, 0xB03, 0x1031A, 0x1D7D6, 0x1D7E0, 0x1D7EA, 0x1D7F4, 0x1D7FE, + 0x1E8CB, 0x96E, 0xAEE, 0x2467, 0x2787, 0x39, 0x9ED, 0xA67, 0xB68, + 0xD6D, 0x2CCA, 0xA76E, 0x118AC, 0x118CC, 0x118D6, 0x1D7D7, 0x1D7E1, + 0x1D7EB, 0x1D7F5, 0x1D7FF, 0x669, 0x6F9, 0x967, 0x118E4, 0xC6F, + 0xCEF, 0x2468, 0x2788, 0x61, 0x251, 0x3B1, 0x430, 0x237A, 0xFF41, + 0x1D41A, 0x1D44E, 0x1D482, 0x1D4B6, 0x1D4EA, 0x1D51E, 0x1D552, + 0x1D586, 0x1D5BA, 0x1D5EE, 0x1D622, 0x1D656, 0x1D68A, 0x1D6C2, + 0x1D6FC, 0x1D736, 0x1D770, 0x1D7AA, 0x41, 0x391, 0x410, 0x13AA, + 0x15C5, 0x1D00, 0xA4EE, 0xFF21, 0x102A0, 0x1D400, 0x1D434, 0x1D468, + 0x1D49C, 0x1D4D0, 0x1D504, 0x1D538, 0x1D56C, 0x1D5A0, 0x1D5D4, + 0x1D608, 0x1D63C, 0x1D670, 0x1D6A8, 0x1D6E2, 0x1D71C, 0x1D756, + 0x1D790, 0x103, 0x1CE, 0x102, 0x1CD, 0xE5, 0x227, 0xC5, 0x226, + 0x1E9A, 0x1EA3, 0x15C4, 0x2200, 0x2C6F, 0xA4EF, 0x1D217, 0x2C70, + 0x1041F, 0x62, 0x184, 0x42C, 0x13CF, 0x15AF, 0x1D41B, 0x1D44F, + 0x1D483, 0x1D4B7, 0x1D4EB, 0x1D51F, 0x1D553, 0x1D587, 0x1D5BB, + 0x1D5EF, 0x1D623, 0x1D657, 0x1D68B, 0x42, 0x392, 0x412, 0x13F4, + 0x15F7, 0x212C, 0xA4D0, 0xA7B4, 0xFF22, 0x10282, 0x102A1, 0x10301, + 0x1D401, 0x1D435, 0x1D469, 0x1D4D1, 0x1D505, 0x1D539, 0x1D56D, + 0x1D5A1, 0x1D5D5, 0x1D609, 0x1D63D, 0x1D671, 0x1D6A9, 0x1D6E3, + 0x1D71D, 0x1D757, 0x1D791, 0x299, 0x432, 0x63, 0x3F2, 0x441, + 0x1D04, 0x217D, 0x2CA5, 0xFF43, 0x1043D, 0x1D41C, 0x1D450, 0x1D484, + 0x1D4B8, 0x1D4EC, 0x1D520, 0x1D554, 0x1D588, 0x1D5BC, 0x1D5F0, + 0x1D624, 0x1D658, 0x1D68C, 0x43, 0x3F9, 0x421, 0x13DF, 0x2102, + 0x212D, 0x216D, 0x2CA4, 0xA4DA, 0xFF23, 0x102A2, 0x10302, 0x10415, + 0x1051C, 0x118E9, 0x118F2, 0x1D402, 0x1D436, 0x1D46A, 0x1D49E, + 0x1D4D2, 0x1D56E, 0x1D5A2, 0x1D5D6, 0x1D60A, 0x1D63E, 0x1D672, + 0x1F74C, 0x25B, 0x3B5, 0x3F5, 0x454, 0x511, 0x22F4, 0x2C89, 0xA793, + 0x10429, 0x118CE, 0x1D6C6, 0x1D6DC, 0x1D700, 0x1D716, 0x1D73A, + 0x1D750, 0x1D774, 0x1D78A, 0x1D7AE, 0x1D7C4, 0x404, 0x20AC, 0x2C88, + 0xA792, 0x37D, 0xA73F, 0x3FF, 0xA73E, 0x64, 0x501, 0x13E7, 0x146F, + 0x2146, 0x217E, 0xA4D2, 0x1D41D, 0x1D451, 0x1D485, 0x1D4B9, 0x1D4ED, + 0x1D521, 0x1D555, 0x1D589, 0x1D5BD, 0x1D5F1, 0x1D625, 0x1D659, + 0x1D68D, 0x44, 0x13A0, 0x15DE, 0x15EA, 0x2145, 0x216E, 0xA4D3, + 0x1D403, 0x1D437, 0x1D46B, 0x1D49F, 0x1D4D3, 0x1D507, 0x1D53B, + 0x1D56F, 0x1D5A3, 0x1D5D7, 0x1D60B, 0x1D63F, 0x1D673, 0xA779, + 0xA77A, 0x3B4, 0x56E, 0x1577, 0x1E9F, 0x2E39, 0x1D6C5, 0x1D6FF, + 0x1D739, 0x1D773, 0x1D7AD, 0x65, 0x435, 0x4BD, 0x212E, 0x212F, + 0x2147, 0xAB32, 0xFF45, 0x1D41E, 0x1D452, 0x1D486, 0x1D4EE, 0x1D522, + 0x1D556, 0x1D58A, 0x1D5BE, 0x1D5F2, 0x1D626, 0x1D65A, 0x1D68E, + 0x45, 0x395, 0x415, 0x13AC, 0x2130, 0x22FF, 0x2D39, 0xA4F0, 0xFF25, + 0x10286, 0x118A6, 0x118AE, 0x1D404, 0x1D438, 0x1D46C, 0x1D4D4, + 0x1D508, 0x1D53C, 0x1D570, 0x1D5A4, 0x1D5D8, 0x1D60C, 0x1D640, + 0x1D674, 0x1D6AC, 0x1D6E6, 0x1D720, 0x1D75A, 0x1D794, 0x115, + 0x11B, 0x114, 0x11A, 0x1DD, 0x259, 0x4D9, 0x18E, 0x2203, 0x2D3A, + 0xA4F1, 0x18F, 0x4D8, 0x190, 0x510, 0x13CB, 0x2107, 0x10401, + 0x1D221, 0x1D4B, 0x1D9F, 0x25C, 0x437, 0x1D08, 0x25E, 0x10442, + 0x29A, 0xA79D, 0x1042A, 0x66, 0x17F, 0x584, 0x1E9D, 0xA799, 0xAB35, + 0x1D41F, 0x1D453, 0x1D487, 0x1D4BB, 0x1D4EF, 0x1D523, 0x1D557, + 0x1D58B, 0x1D5BF, 0x1D5F3, 0x1D627, 0x1D65B, 0x1D68F, 0x46, 0x3DC, + 0x15B4, 0x2131, 0xA4DD, 0xA798, 0x10287, 0x102A5, 0x10525, 0x118A2, + 0x118C2, 0x1D213, 0x1D405, 0x1D439, 0x1D46D, 0x1D4D5, 0x1D509, + 0x1D53D, 0x1D571, 0x1D5A5, 0x1D5D9, 0x1D60D, 0x1D641, 0x1D675, + 0x1D7CA, 0x15B5, 0x2132, 0xA4DE, 0x15B7, 0xA7FB, 0x1D230, 0x67, + 0x18D, 0x261, 0x581, 0x1D83, 0x210A, 0xFF47, 0x1D420, 0x1D454, + 0x1D488, 0x1D4F0, 0x1D524, 0x1D558, 0x1D58C, 0x1D5C0, 0x1D5F4, + 0x1D628, 0x1D65C, 0x1D690, 0x47, 0x50C, 0x13C0, 0x13F3, 0xA4D6, + 0x1D406, 0x1D43A, 0x1D46E, 0x1D4A2, 0x1D4D6, 0x1D50A, 0x1D53E, + 0x1D572, 0x1D5A6, 0x1D5DA, 0x1D60E, 0x1D642, 0x1D676, 0x1D4D, + 0x1DA2, 0x11F, 0x1E7, 0x11E, 0x1E6, 0x123, 0x1F5, 0x262, 0x50D, + 0x68, 0x4BB, 0x570, 0x13C2, 0x210E, 0xFF48, 0x1D421, 0x1D489, + 0x1D4BD, 0x1D4F1, 0x1D525, 0x1D559, 0x1D58D, 0x1D5C1, 0x1D5F5, + 0x1D629, 0x1D65D, 0x1D691, 0x48, 0x397, 0x41D, 0x13BB, 0x157C, + 0x210B, 0x210C, 0x210D, 0x2C8E, 0xA4E7, 0xFF28, 0x102CF, 0x1D407, + 0x1D43B, 0x1D46F, 0x1D4D7, 0x1D573, 0x1D5A7, 0x1D5DB, 0x1D60F, + 0x1D643, 0x1D677, 0x1D6AE, 0x1D6E8, 0x1D722, 0x1D75C, 0x1D796, + 0x1D34, 0x1D78, 0x29C, 0x43D, 0x1F6, 0x50A, 0x370, 0x13A8, 0x13B0, + 0x2C75, 0xA6B1, 0xA727, 0xA795, 0x69, 0x131, 0x269, 0x26A, 0x2DB, + 0x37A, 0x3B9, 0x456, 0x4CF, 0x13A5, 0x1FBE, 0x2139, 0x2148, 0x2170, + 0x2373, 0xA647, 0xFF49, 0x118C3, 0x1D422, 0x1D456, 0x1D48A, 0x1D4BE, + 0x1D4F2, 0x1D526, 0x1D55A, 0x1D58E, 0x1D5C2, 0x1D5F6, 0x1D62A, + 0x1D65E, 0x1D692, 0x1D6A4, 0x1D6CA, 0x1D704, 0x1D73E, 0x1D778, + 0x1D7B2, 0x24BE, 0x24DB, 0x12D, 0x1D0, 0x12C, 0x1CF, 0x6A, 0x3F3, + 0x458, 0x2149, 0xFF4A, 0x1D423, 0x1D457, 0x1D48B, 0x1D4BF, 0x1D4F3, + 0x1D527, 0x1D55B, 0x1D58F, 0x1D5C3, 0x1D5F7, 0x1D62B, 0x1D65F, + 0x1D693, 0x4A, 0x37F, 0x408, 0x13AB, 0x148D, 0xA4D9, 0xA7B2, + 0xFF2A, 0x1D409, 0x1D43D, 0x1D471, 0x1D4A5, 0x1D4D9, 0x1D50D, + 0x1D541, 0x1D575, 0x1D5A9, 0x1D5DD, 0x1D611, 0x1D645, 0x1D679, + 0x237, 0x575, 0x1D6A5, 0x6B, 0x138, 0x3BA, 0x3F0, 0x43A, 0x1D0B, + 0x2C95, 0x1D424, 0x1D458, 0x1D48C, 0x1D4C0, 0x1D4F4, 0x1D528, + 0x1D55C, 0x1D590, 0x1D5C4, 0x1D5F8, 0x1D62C, 0x1D660, 0x1D694, + 0x1D6CB, 0x1D6DE, 0x1D705, 0x1D718, 0x1D73F, 0x1D752, 0x1D779, + 0x1D78C, 0x1D7B3, 0x1D7C6, 0x4B, 0x39A, 0x41A, 0x13E6, 0x16D5, + 0x212A, 0x2C94, 0xA4D7, 0xFF2B, 0x10518, 0x1D40A, 0x1D43E, 0x1D472, + 0x1D4A6, 0x1D4DA, 0x1D50E, 0x1D542, 0x1D576, 0x1D5AA, 0x1D5DE, + 0x1D612, 0x1D646, 0x1D67A, 0x1D6B1, 0x1D6EB, 0x1D725, 0x1D75F, + 0x1D799, 0x31, 0x49, 0x6C, 0x7C, 0x196, 0x1C0, 0x399, 0x406, + 0x4C0, 0x5C0, 0x5D5, 0x5DF, 0x627, 0x661, 0x6F1, 0x7CA, 0x16C1, + 0x2110, 0x2111, 0x2113, 0x2160, 0x217C, 0x2223, 0x23FD, 0x2C92, + 0x2D4F, 0xA4F2, 0xFE8D, 0xFE8E, 0xFF29, 0xFF4C, 0xFFE8, 0x1028A, + 0x10309, 0x10320, 0x1D408, 0x1D425, 0x1D43C, 0x1D459, 0x1D470, + 0x1D48D, 0x1D4C1, 0x1D4D8, 0x1D4F5, 0x1D529, 0x1D540, 0x1D55D, + 0x1D574, 0x1D591, 0x1D5A8, 0x1D5C5, 0x1D5DC, 0x1D5F9, 0x1D610, + 0x1D62D, 0x1D644, 0x1D661, 0x1D678, 0x1D695, 0x1D6B0, 0x1D6EA, + 0x1D724, 0x1D75E, 0x1D798, 0x1D7CF, 0x1D7D9, 0x1D7E3, 0x1D7ED, + 0x1D7F7, 0x1E8C7, 0x1EE00, 0x1EE80, 0x4C, 0x13DE, 0x14AA, 0x2112, + 0x216C, 0x2CD0, 0xA4E1, 0x1041B, 0x10526, 0x118A3, 0x118B2, 0x1D22A, + 0x1D40B, 0x1D43F, 0x1D473, 0x1D4DB, 0x1D50F, 0x1D543, 0x1D577, + 0x1D5AB, 0x1D5DF, 0x1D613, 0x1D647, 0x1D67B, 0x29F, 0x2CD1, 0x10443, + 0x4D, 0x39C, 0x3FA, 0x41C, 0x13B7, 0x15F0, 0x16D6, 0x2133, 0x216F, + 0x2C98, 0xA4DF, 0xFF2D, 0x102B0, 0x10311, 0x1D40C, 0x1D440, 0x1D474, + 0x1D4DC, 0x1D510, 0x1D544, 0x1D578, 0x1D5AC, 0x1D5E0, 0x1D614, + 0x1D648, 0x1D67C, 0x1D6B3, 0x1D6ED, 0x1D727, 0x1D761, 0x1D79B, + 0x1DDF, 0x2DE8, 0x6E, 0x3C0, 0x3D6, 0x43F, 0x578, 0x57C, 0x1D28, + 0x213C, 0x1D427, 0x1D45B, 0x1D48F, 0x1D4C3, 0x1D4F7, 0x1D52B, + 0x1D55F, 0x1D593, 0x1D5C7, 0x1D5FB, 0x1D62F, 0x1D663, 0x1D697, + 0x1D6D1, 0x1D6E1, 0x1D70B, 0x1D71B, 0x1D745, 0x1D755, 0x1D77F, + 0x1D78F, 0x1D7B9, 0x1D7C9, 0x4E, 0x39D, 0x2115, 0x2C9A, 0xA4E0, + 0xFF2E, 0x10513, 0x1D40D, 0x1D441, 0x1D475, 0x1D4A9, 0x1D4DD, + 0x1D511, 0x1D579, 0x1D5AD, 0x1D5E1, 0x1D615, 0x1D649, 0x1D67D, + 0x1D6B4, 0x1D6EE, 0x1D728, 0x1D762, 0x1D79C, 0x377, 0x438, 0x1D0E, + 0x1044D, 0x146, 0x272, 0x6F, 0x3BF, 0x3C3, 0x43E, 0x585, 0x5E1, + 0x647, 0x665, 0x6BE, 0x6C1, 0x6D5, 0x6F5, 0x966, 0xA66, 0xAE6, + 0xBE6, 0xC02, 0xC66, 0xC82, 0xCE6, 0xD02, 0xD20, 0xD66, 0xD82, + 0xE50, 0xED0, 0x101D, 0x1040, 0x10FF, 0x1D0F, 0x1D11, 0x2134, + 0x2C9F, 0xAB3D, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBA9, 0xFBAA, 0xFBAB, + 0xFBAC, 0xFBAD, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, 0xFF4F, 0x1042C, + 0x118C8, 0x118D7, 0x1D428, 0x1D45C, 0x1D490, 0x1D4F8, 0x1D52C, + 0x1D560, 0x1D594, 0x1D5C8, 0x1D5FC, 0x1D630, 0x1D664, 0x1D698, + 0x1D6D0, 0x1D6D4, 0x1D70A, 0x1D70E, 0x1D744, 0x1D748, 0x1D77E, + 0x1D782, 0x1D7B8, 0x1D7BC, 0x1EE24, 0x1EE64, 0x1EE84, 0x30, 0x4F, + 0x39F, 0x41E, 0x555, 0x7C0, 0x9E6, 0xB20, 0xB66, 0x12D0, 0x2C9E, + 0x2D54, 0x3007, 0xA4F3, 0xFF2F, 0x10292, 0x102AB, 0x10404, 0x10516, + 0x114D0, 0x118B5, 0x118E0, 0x1D40E, 0x1D442, 0x1D476, 0x1D4AA, + 0x1D4DE, 0x1D512, 0x1D546, 0x1D57A, 0x1D5AE, 0x1D5E2, 0x1D616, + 0x1D64A, 0x1D67E, 0x1D6B6, 0x1D6F0, 0x1D72A, 0x1D764, 0x1D79E, + 0x1D7CE, 0x1D7D8, 0x1D7E2, 0x1D7EC, 0x1D7F6, 0xBA, 0x1D52, 0x2070, + 0x14F, 0x1D2, 0x14E, 0x1D1, 0x254, 0x37B, 0x1D10, 0x2184, 0x1044B, + 0x186, 0x3FD, 0x2183, 0xA4DB, 0x10423, 0x277, 0x1043F, 0x70, + 0x3C1, 0x3F1, 0x440, 0x2374, 0x2CA3, 0xFF50, 0x1D429, 0x1D45D, + 0x1D491, 0x1D4C5, 0x1D4F9, 0x1D52D, 0x1D561, 0x1D595, 0x1D5C9, + 0x1D5FD, 0x1D631, 0x1D665, 0x1D699, 0x1D6D2, 0x1D6E0, 0x1D70C, + 0x1D71A, 0x1D746, 0x1D754, 0x1D780, 0x1D78E, 0x1D7BA, 0x1D7C8, + 0x50, 0x3A1, 0x420, 0x13E2, 0x146D, 0x2119, 0x2CA2, 0xA4D1, 0xFF30, + 0x10295, 0x1D40F, 0x1D443, 0x1D477, 0x1D4AB, 0x1D4DF, 0x1D513, + 0x1D57B, 0x1D5AF, 0x1D5E3, 0x1D617, 0x1D64B, 0x1D67F, 0x1D6B8, + 0x1D6F2, 0x1D72C, 0x1D766, 0x1D7A0, 0x1D18, 0x1D29, 0x278, 0x3C6, + 0x3D5, 0x444, 0x2CAB, 0x1D6D7, 0x1D6DF, 0x1D711, 0x1D719, 0x1D74B, + 0x1D753, 0x1D785, 0x1D78D, 0x1D7BF, 0x1D7C7, 0x71, 0x51B, 0x563, + 0x566, 0x1D42A, 0x1D45E, 0x1D492, 0x1D4C6, 0x1D4FA, 0x1D52E, + 0x1D562, 0x1D596, 0x1D5CA, 0x1D5FE, 0x1D632, 0x1D666, 0x1D69A, + 0x51, 0x211A, 0x2D55, 0x1D410, 0x1D444, 0x1D478, 0x1D4AC, 0x1D4E0, + 0x1D514, 0x1D57C, 0x1D5B0, 0x1D5E4, 0x1D618, 0x1D64C, 0x1D680, + 0x24B, 0x1D90, 0x72, 0x433, 0x1D26, 0x2C85, 0xAB47, 0xAB48, 0x1D42B, + 0x1D45F, 0x1D493, 0x1D4C7, 0x1D4FB, 0x1D52F, 0x1D563, 0x1D597, + 0x1D5CB, 0x1D5FF, 0x1D633, 0x1D667, 0x1D69B, 0x52, 0x1A6, 0x13A1, + 0x13D2, 0x1587, 0x211B, 0x211C, 0x211D, 0xA4E3, 0x1D216, 0x1D411, + 0x1D445, 0x1D479, 0x1D4E1, 0x1D57D, 0x1D5B1, 0x1D5E5, 0x1D619, + 0x1D64D, 0x1D681, 0x44F, 0x1D19, 0x27F, 0x2129, 0x73, 0x1BD, + 0x455, 0xA731, 0xFF53, 0x10448, 0x118C1, 0x1D42C, 0x1D460, 0x1D494, + 0x1D4C8, 0x1D4FC, 0x1D530, 0x1D564, 0x1D598, 0x1D5CC, 0x1D600, + 0x1D634, 0x1D668, 0x1D69C, 0x53, 0x405, 0x54F, 0x13D5, 0x13DA, + 0xA4E2, 0xFF33, 0x10296, 0x10420, 0x1D412, 0x1D446, 0x1D47A, + 0x1D4AE, 0x1D4E2, 0x1D516, 0x1D54A, 0x1D57E, 0x1D5B2, 0x1D5E6, + 0x1D61A, 0x1D64E, 0x1D682, 0xDF, 0x3B2, 0x3D0, 0x13F0, 0xA7B5, + 0x1D6C3, 0x1D6FD, 0x1D737, 0x1D771, 0x1D7AB, 0x283, 0x222B, 0xAB4D, + 0x1A9, 0x3A3, 0x2140, 0x2211, 0x2D49, 0x1D6BA, 0x1D6F4, 0x1D72E, + 0x1D768, 0x1D7A2, 0x74, 0x3C4, 0x442, 0x1D1B, 0x1D42D, 0x1D461, + 0x1D495, 0x1D4C9, 0x1D4FD, 0x1D531, 0x1D565, 0x1D599, 0x1D5CD, + 0x1D601, 0x1D635, 0x1D669, 0x1D69D, 0x1D6D5, 0x1D70F, 0x1D749, + 0x1D783, 0x1D7BD, 0x54, 0x3A4, 0x422, 0x13A2, 0x22A4, 0x27D9, + 0x2CA6, 0xA4D4, 0xFF34, 0x10297, 0x102B1, 0x10315, 0x118BC, 0x1D413, + 0x1D447, 0x1D47B, 0x1D4AF, 0x1D4E3, 0x1D517, 0x1D54B, 0x1D57F, + 0x1D5B3, 0x1D5E7, 0x1D61B, 0x1D64F, 0x1D683, 0x1D6BB, 0x1D6F5, + 0x1D72F, 0x1D769, 0x1D7A3, 0x1F768, 0x162, 0x21A, 0x10A0, 0xA786, + 0x163, 0x1AB, 0x21B, 0x13BF, 0x75, 0x28B, 0x3C5, 0x446, 0x57D, + 0x1D1C, 0xA79F, 0xAB4E, 0xAB52, 0x118D8, 0x1D42E, 0x1D462, 0x1D496, + 0x1D4CA, 0x1D4FE, 0x1D532, 0x1D566, 0x1D59A, 0x1D5CE, 0x1D602, + 0x1D636, 0x1D66A, 0x1D69E, 0x1D6D6, 0x1D710, 0x1D74A, 0x1D784, + 0x1D7BE, 0x55, 0x54D, 0x1200, 0x144C, 0x222A, 0x22C3, 0xA4F4, + 0x118B8, 0x1D414, 0x1D448, 0x1D47C, 0x1D4B0, 0x1D4E4, 0x1D518, + 0x1D54C, 0x1D580, 0x1D5B4, 0x1D5E8, 0x1D61C, 0x1D650, 0x1D684, + 0x16D, 0x1D4, 0x16C, 0x1D3, 0x270, 0x57A, 0x1223, 0x1B1, 0x162E, + 0x1634, 0x2127, 0x76, 0x3BD, 0x475, 0x5D8, 0x1D20, 0x2174, 0x2228, + 0x22C1, 0xFF56, 0x118C0, 0x1D42F, 0x1D463, 0x1D497, 0x1D4CB, + 0x1D4FF, 0x1D533, 0x1D567, 0x1D59B, 0x1D5CF, 0x1D603, 0x1D637, + 0x1D66B, 0x1D69F, 0x1D6CE, 0x1D708, 0x1D742, 0x1D77C, 0x1D7B6, + 0x56, 0x474, 0x667, 0x6F7, 0x13D9, 0x142F, 0x2164, 0x2D38, 0xA4E6, + 0xA6DF, 0x1051D, 0x118A0, 0x1D20D, 0x1D415, 0x1D449, 0x1D47D, + 0x1D4B1, 0x1D4E5, 0x1D519, 0x1D54D, 0x1D581, 0x1D5B5, 0x1D5E9, + 0x1D61D, 0x1D651, 0x1D685, 0x28C, 0x1D27, 0x245, 0x39B, 0x41B, + 0x668, 0x6F8, 0x1431, 0x2D37, 0xA4E5, 0xA6CE, 0x1028D, 0x1D6B2, + 0x1D6EC, 0x1D726, 0x1D760, 0x1D79A, 0x57, 0x51C, 0x13B3, 0x13D4, + 0xA4EA, 0x118E6, 0x118EF, 0x1D416, 0x1D44A, 0x1D47E, 0x1D4B2, + 0x1D4E6, 0x1D51A, 0x1D54E, 0x1D582, 0x1D5B6, 0x1D5EA, 0x1D61E, + 0x1D652, 0x1D686, 0x78, 0xD7, 0x445, 0x1541, 0x157D, 0x166E, + 0x2179, 0x292B, 0x292C, 0x2A2F, 0xFF58, 0x1D431, 0x1D465, 0x1D499, + 0x1D4CD, 0x1D501, 0x1D535, 0x1D569, 0x1D59D, 0x1D5D1, 0x1D605, + 0x1D639, 0x1D66D, 0x1D6A1, 0x58, 0x3A7, 0x425, 0x166D, 0x16B7, + 0x2169, 0x2573, 0x2CAC, 0x2D5D, 0xA4EB, 0xA7B3, 0xFF38, 0x10290, + 0x102B4, 0x10317, 0x10322, 0x10527, 0x118EC, 0x1D417, 0x1D44B, + 0x1D47F, 0x1D4B3, 0x1D4E7, 0x1D51B, 0x1D54F, 0x1D583, 0x1D5B7, + 0x1D5EB, 0x1D61F, 0x1D653, 0x1D687, 0x1D6BE, 0x1D6F8, 0x1D732, + 0x1D76C, 0x1D7A6, 0x79, 0x263, 0x28F, 0x3B3, 0x443, 0x4AF, 0x10E7, + 0x1D8C, 0x1EFF, 0x213D, 0xAB5A, 0xFF59, 0x118DC, 0x1D432, 0x1D466, + 0x1D49A, 0x1D4CE, 0x1D502, 0x1D536, 0x1D56A, 0x1D59E, 0x1D5D2, + 0x1D606, 0x1D63A, 0x1D66E, 0x1D6A2, 0x1D6C4, 0x1D6FE, 0x1D738, + 0x1D772, 0x1D7AC, 0x59, 0x3A5, 0x3D2, 0x4AE, 0x13A9, 0x13BD, + 0x2CA8, 0xA4EC, 0xFF39, 0x102B2, 0x118A4, 0x1D418, 0x1D44C, 0x1D480, + 0x1D4B4, 0x1D4E8, 0x1D51C, 0x1D550, 0x1D584, 0x1D5B8, 0x1D5EC, + 0x1D620, 0x1D654, 0x1D688, 0x1D6BC, 0x1D6F6, 0x1D730, 0x1D76A, + 0x1D7A4, 0x21D, 0x292, 0x4E1, 0x10F3, 0x2CCD, 0xA76B, 0x7A, 0x1D22, + 0x118C4, 0x1D433, 0x1D467, 0x1D49B, 0x1D4CF, 0x1D503, 0x1D537, + 0x1D56B, 0x1D59F, 0x1D5D3, 0x1D607, 0x1D63B, 0x1D66F, 0x1D6A3, + 0x5A, 0x396, 0x13C3, 0x2124, 0x2128, 0xA4DC, 0xFF3A, 0x102F5, + 0x118A9, 0x118E5, 0x1D419, 0x1D44D, 0x1D481, 0x1D4B5, 0x1D4E9, + 0x1D585, 0x1D5B9, 0x1D5ED, 0x1D621, 0x1D655, 0x1D689, 0x1D6AD, + 0x1D6E7, 0x1D721, 0x1D75B, 0x1D795, 0xFE, 0x1BF, 0x3F8, 0xDE, + 0x3F7, 0x2079, 0xA770, 0x1A8, 0x3E9, 0x1D24, 0xA645, 0x185, 0x44C, + 0x2C1, 0x2E4, 0x2A1, 0xA6CD, 0x298, 0x2299, 0x2609, 0x2A00, 0x2D59, + 0xA668, 0x393, 0x413, 0x13B1, 0x14A5, 0x213E, 0x2C84, 0x1D6AA, + 0x1D6E4, 0x1D71E, 0x1D758, 0x1D792, 0x394, 0x1403, 0x2206, 0x25B3, + 0x2C86, 0x2D60, 0x10285, 0x102A3, 0x1D6AB, 0x1D6E5, 0x1D71F, + 0x1D759, 0x1D793, 0x1F702, 0x3DD, 0x1D7CB, 0x3B6, 0x1D6C7, 0x1D701, + 0x1D73B, 0x1D775, 0x1D7AF, 0x3D7, 0x2CE4, 0x3BB, 0x2C96, 0x1D6CC, + 0x1D706, 0x1D740, 0x1D77A, 0x1D7B4, 0xB5, 0x3BC, 0x1D6CD, 0x1D707, + 0x1D741, 0x1D77B, 0x1D7B5, 0x3BE, 0x1D6CF, 0x1D709, 0x1D743, + 0x1D77D, 0x1D7B7, 0x39E, 0x1D6B5, 0x1D6EF, 0x1D729, 0x1D763, + 0x1D79D, 0x3A0, 0x41F, 0x213F, 0x220F, 0x2CA0, 0xA6DB, 0x1D6B7, + 0x1D6F1, 0x1D72B, 0x1D765, 0x1D79F, 0x3D8, 0x102AD, 0x10312, + 0x3C2, 0x3DB, 0x1D6D3, 0x1D70D, 0x1D747, 0x1D781, 0x1D7BB, 0x3A6, + 0x424, 0x553, 0x1240, 0x16F0, 0x2CAA, 0x102B3, 0x1D6BD, 0x1D6F7, + 0x1D731, 0x1D76B, 0x1D7A5, 0x3C7, 0x2CAD, 0xAB53, 0xAB55, 0x1D6D8, + 0x1D712, 0x1D74C, 0x1D786, 0x1D7C0, 0x3C8, 0x471, 0x1D6D9, 0x1D713, + 0x1D74D, 0x1D787, 0x1D7C1, 0x3A8, 0x470, 0x16D8, 0x2CAE, 0x102B5, + 0x1D6BF, 0x1D6F9, 0x1D733, 0x1D76D, 0x1D7A7, 0x3C9, 0x2375, 0x2CB1, + 0xA64D, 0xA7B7, 0x1D6DA, 0x1D714, 0x1D74E, 0x1D788, 0x1D7C2, + 0x3A9, 0x162F, 0x1635, 0x2126, 0x102B6, 0x1D6C0, 0x1D6FA, 0x1D734, + 0x1D76E, 0x1D7A8, 0x1F7D, 0x1FF4, 0x2630, 0x2CB6, 0x3EC, 0x2CDC, + 0x376, 0x418, 0xA6A1, 0x10425, 0x1D20B, 0x40D, 0x419, 0x439, + 0x45D, 0x43B, 0x1D2B, 0x459, 0xAB60, 0x4FE, 0x1D202, 0x460, 0x13C7, + 0x15EF, 0x1D222, 0xA64C, 0xA7B6, 0x4B7, 0x4CC, 0x4B6, 0x4CB, + 0x448, 0x2CBD, 0x428, 0x2CBC, 0x42D, 0x2108, 0xA658, 0x1F701, + 0x2C3F, 0xA992, 0x571, 0x1294, 0x548, 0x1260, 0x144E, 0x2229, + 0x22C2, 0xA4F5, 0x1D245, 0x554, 0x20BD, 0x2BF, 0x2D3, 0x559, + 0x5D0, 0x2135, 0xFB21, 0xFB2E, 0xFB2F, 0xFB30, 0x5D1, 0x2136, + 0x5D2, 0x2137, 0x5D3, 0x2138, 0xFB22, 0x5D4, 0xFB23, 0xFB1D, + 0xFB39, 0x5DB, 0xFB24, 0x5DC, 0xFB25, 0x5DD, 0xFB26, 0x5E2, 0xFB20, + 0x5E8, 0xFB27, 0xFB2A, 0xFB2B, 0xFB49, 0xFB2C, 0xFB2D, 0x5EA, + 0xFB28, 0x621, 0xFE80, 0x622, 0xFE81, 0xFE82, 0x671, 0xFB50, + 0xFB51, 0x628, 0xFE8F, 0xFE90, 0xFE91, 0xFE92, 0x1EE01, 0x1EE21, + 0x1EE61, 0x1EE81, 0x1EEA1, 0x67B, 0x6D0, 0xFB52, 0xFB53, 0xFB54, + 0xFB55, 0xFBE4, 0xFBE5, 0xFBE6, 0xFBE7, 0x680, 0xFB5A, 0xFB5B, + 0xFB5C, 0xFB5D, 0x754, 0x767, 0x8A9, 0xF6, 0x629, 0x6C3, 0xFE93, + 0xFE94, 0x62A, 0xFE95, 0xFE96, 0xFE97, 0xFE98, 0x1EE15, 0x1EE35, + 0x1EE75, 0x1EE95, 0x1EEB5, 0x67A, 0xFB5E, 0xFB5F, 0xFB60, 0xFB61, + 0x67F, 0xFB62, 0xFB63, 0xFB64, 0xFB65, 0x62C, 0xFE9D, 0xFE9E, + 0xFE9F, 0xFEA0, 0x1EE02, 0x1EE22, 0x1EE42, 0x1EE62, 0x1EE82, + 0x1EEA2, 0x683, 0xFB76, 0xFB77, 0xFB78, 0xFB79, 0x684, 0xFB72, + 0xFB73, 0xFB74, 0xFB75, 0x686, 0xFB7A, 0xFB7B, 0xFB7C, 0xFB7D, + 0x687, 0xFB7E, 0xFB7F, 0xFB80, 0xFB81, 0x62D, 0xFEA1, 0xFEA2, + 0xFEA3, 0xFEA4, 0x1EE07, 0x1EE27, 0x1EE47, 0x1EE67, 0x1EE87, + 0x1EEA7, 0x62E, 0xFEA5, 0xFEA6, 0xFEA7, 0xFEA8, 0x1EE17, 0x1EE37, + 0x1EE57, 0x1EE77, 0x1EE97, 0x1EEB7, 0x62F, 0xFEA9, 0xFEAA, 0x102E1, + 0x1EE03, 0x1EE83, 0x1EEA3, 0x630, 0xFEAB, 0xFEAC, 0x1EE18, 0x1EE98, + 0x1EEB8, 0x68C, 0xFB84, 0xFB85, 0x68D, 0xFB82, 0xFB83, 0x631, + 0xFEAD, 0xFEAE, 0x1EE13, 0x1EE93, 0x1EEB3, 0x632, 0xFEAF, 0xFEB0, + 0x1EE06, 0x1EE86, 0x1EEA6, 0x633, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, + 0x1EE0E, 0x1EE2E, 0x1EE4E, 0x1EE6E, 0x1EE8E, 0x1EEAE, 0x635, + 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, 0x102F2, 0x1EE11, 0x1EE31, 0x1EE51, + 0x1EE71, 0x1EE91, 0x1EEB1, 0x636, 0xFEBD, 0xFEBE, 0xFEBF, 0xFEC0, + 0x1EE19, 0x1EE39, 0x1EE59, 0x1EE79, 0x1EE99, 0x1EEB9, 0x637, + 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, 0x102E8, 0x1EE08, 0x1EE68, 0x1EE88, + 0x1EEA8, 0x638, 0xFEC5, 0xFEC6, 0xFEC7, 0xFEC8, 0x1EE1A, 0x1EE7A, + 0x1EE9A, 0x1EEBA, 0x60F, 0x639, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, + 0x1EE0F, 0x1EE2F, 0x1EE4F, 0x1EE6F, 0x1EE8F, 0x1EEAF, 0x63A, + 0xFECD, 0xFECE, 0xFECF, 0xFED0, 0x1EE1B, 0x1EE3B, 0x1EE5B, 0x1EE7B, + 0x1EE9B, 0x1EEBB, 0x641, 0x6A7, 0xFED1, 0xFED2, 0xFED3, 0xFED4, + 0x1EE10, 0x1EE30, 0x1EE70, 0x1EE90, 0x1EEB0, 0x66F, 0x6A1, 0x1EE1E, + 0x1EE1F, 0x1EE5F, 0x1EE7E, 0x6A6, 0xFB6E, 0xFB6F, 0xFB70, 0xFB71, + 0x642, 0xFED5, 0xFED6, 0xFED7, 0xFED8, 0x1EE12, 0x1EE32, 0x1EE52, + 0x1EE72, 0x1EE92, 0x1EEB2, 0x643, 0x6A9, 0x6AA, 0xFB8E, 0xFB8F, + 0xFB90, 0xFB91, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, 0x1EE0A, 0x1EE2A, + 0x1EE6A, 0x6AC, 0x762, 0x6AF, 0x8B0, 0xFB92, 0xFB93, 0xFB94, + 0xFB95, 0x6B1, 0xFB9A, 0xFB9B, 0xFB9C, 0xFB9D, 0x6B3, 0xFB96, + 0xFB97, 0xFB98, 0xFB99, 0x644, 0xFEDD, 0xFEDE, 0xFEDF, 0xFEE0, + 0x1EE0B, 0x1EE2B, 0x1EE4B, 0x1EE8B, 0x1EEAB, 0x645, 0xFEE1, 0xFEE2, + 0xFEE3, 0xFEE4, 0x1EE0C, 0x1EE2C, 0x1EE6C, 0x1EE8C, 0x1EEAC, + 0x646, 0xFEE5, 0xFEE6, 0xFEE7, 0xFEE8, 0x1EE0D, 0x1EE2D, 0x1EE4D, + 0x1EE6D, 0x1EE8D, 0x1EEAD, 0x6C0, 0x6C2, 0xFBA4, 0xFBA5, 0x648, + 0x8B1, 0xFEED, 0xFEEE, 0x102E4, 0x1EE05, 0x1EE85, 0x1EEA5, 0x6C5, + 0xFBE0, 0xFBE1, 0x649, 0x64A, 0x66E, 0x6BA, 0x6CC, 0x6D2, 0xFB9E, + 0xFB9F, 0xFBAE, 0xFBAF, 0xFBE8, 0xFBE9, 0xFBFC, 0xFBFD, 0xFBFE, + 0xFBFF, 0xFEEF, 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, 0x1EE09, + 0x1EE1C, 0x1EE1D, 0x1EE29, 0x1EE49, 0x1EE5D, 0x1EE69, 0x1EE7C, + 0x1EE89, 0x1EEA9, 0x6D3, 0xFBB0, 0xFBB1, 0x2D40, 0x102B8, 0x205E, + 0x2999, 0x2D42, 0x2E3D, 0x205D, 0x22EE, 0x2D57, 0xFE19, 0x544, + 0x1206, 0x54C, 0x1261, 0x53B, 0x12AE, 0x54A, 0x1323, 0x93D, 0xABD, + 0xA8FB, 0x111DC, 0x93A, 0x111CB, 0x941, 0xAC1, 0x942, 0xAC2, + 0x946, 0xA4B, 0x94D, 0xA4D, 0xACD, 0x998, 0x11492, 0x99A, 0x11494, + 0x99C, 0x11496, 0x99E, 0x11498, 0x99F, 0x11499, 0x9A1, 0x1149B, + 0x9A3, 0x114AA, 0x9A4, 0x1149E, 0x9A5, 0x1149F, 0x9A6, 0x114A0, + 0x9A7, 0x114A1, 0x9A8, 0x114A2, 0x9AA, 0x114A3, 0x9AC, 0x114A9, + 0x9AE, 0x114A7, 0x9AF, 0x114A8, 0x9B0, 0x114AB, 0x9B2, 0x1149D, + 0x9B7, 0x114AD, 0x9B8, 0x114AE, 0x9BD, 0x114C4, 0x9BE, 0x114B0, + 0x9BF, 0x114B1, 0x9C7, 0x114B9, 0x9CB, 0x114BC, 0x9CC, 0x114BE, + 0x9CD, 0x114C2, 0x9D7, 0x114BD, 0xB85, 0xBEE, 0xB88, 0xBB0, 0xBBE, + 0xB89, 0xBE8, 0xD09, 0xB8E, 0xBED, 0xB90, 0xB9C, 0xD1C, 0xB95, + 0xBE7, 0xB9A, 0xBEA, 0xBA3, 0xD23, 0xBAF, 0xBF0, 0xBB4, 0xD34, + 0xBB3, 0xBD7, 0xBA9, 0xBC8, 0xBB6, 0xD36, 0xBB7, 0xBF8, 0xBBF, + 0xD3F, 0xD40, 0xC05, 0xC85, 0xC06, 0xC86, 0xC07, 0xC87, 0xC12, + 0xC92, 0xC1C, 0xC9C, 0xC1E, 0xC9E, 0xC23, 0xCA3, 0xC2F, 0xCAF, + 0xC31, 0xCB1, 0xC32, 0xCB2, 0xD1E, 0xD61, 0xD30, 0xD31, 0xD41, + 0xD42, 0xD43, 0xDA2, 0xDEA, 0xDAF, 0xDEB, 0x11582, 0x115D8, 0x115D9, + 0x11583, 0x115DA, 0x11584, 0x115DB, 0x115B2, 0x115DC, 0x115B3, + 0x115DD, 0xE02, 0xE03, 0xE04, 0xE14, 0xE15, 0xE06, 0xE21, 0xE08, + 0xE88, 0xE0A, 0xE0B, 0xE0E, 0xE0F, 0xE11, 0xE17, 0xE1A, 0xE9A, + 0xE1B, 0xE9B, 0xE1D, 0xE9D, 0xE1E, 0xE9E, 0xE1F, 0xE9F, 0xE20, + 0xE26, 0xE22, 0xE8D, 0xE2F, 0x17D4, 0xE32, 0xE45, 0xE34, 0x17B7, + 0xE35, 0x17B8, 0xE36, 0x17B9, 0xE37, 0x17BA, 0xE38, 0xEB8, 0xE39, + 0xEB9, 0xF62, 0xF6A, 0x17A2, 0x17A3, 0x199E, 0x19D0, 0x19B1, + 0x19D1, 0x1A45, 0x1A80, 0x1A90, 0xAA01, 0xAA53, 0xAA23, 0xAA56, + 0x1B0D, 0x1B52, 0x1B11, 0x1B53, 0x1B28, 0x1B58, 0xA99D, 0xA9A3, + 0x185C, 0x1896, 0x1835, 0x1855, 0x13EF, 0x1FF6, 0x1421, 0x14D1, + 0x1429, 0x1540, 0x1435, 0x2369, 0x1450, 0x2283, 0x2E27, 0x1455, + 0x2282, 0x2E26, 0x1489, 0x1603, 0x1490, 0x1602, 0x14D3, 0x1604, + 0x14DA, 0x1607, 0x1543, 0x1622, 0x1546, 0x1623, 0x154A, 0x1624, + 0x15D2, 0x2AAB, 0x15D5, 0x2AAA, 0x15E1, 0xA4F7, 0x1646, 0x1DBB, + 0x1660, 0xA4ED, 0x2E1, 0x18F3, 0x2B3, 0x18F4, 0x2E2, 0x18F5, + 0x16B9, 0xA6B0, 0x16BC, 0x16E1, 0x16BD, 0x16C2, 0x237F, 0x16CB, + 0x1D23F, 0x16CF, 0x2191, 0x16D0, 0x21BF, 0x16EF, 0x2D63, 0x16DA, + 0x21BE, 0x2A21, 0x16DC, 0x22C4, 0x25C7, 0x25CA, 0x2662, 0x10294, + 0x118B7, 0x1F754, 0x16DE, 0x22C8, 0x2A1D, 0x16E8, 0x2195, 0x1100, + 0x11A8, 0x3131, 0x1102, 0x11AB, 0x3134, 0x1103, 0x11AE, 0x3137, + 0x1105, 0x11AF, 0x3139, 0x1106, 0x11B7, 0x3141, 0x1107, 0x11B8, + 0x3142, 0x1109, 0x11BA, 0x3145, 0x110B, 0x11BC, 0x3147, 0x110C, + 0x11BD, 0x3148, 0x110E, 0x11BE, 0x314A, 0x110F, 0x11BF, 0x314B, + 0x1110, 0x11C0, 0x314C, 0x1111, 0x11C1, 0x314D, 0x1112, 0x11C2, + 0x314E, 0x1140, 0x11EB, 0x317F, 0x114C, 0x11F0, 0x3181, 0x1159, + 0x11F9, 0x3186, 0x1160, 0x3164, 0x1161, 0x314F, 0x1163, 0x3151, + 0x1165, 0x3153, 0x1167, 0x3155, 0x1169, 0x3157, 0x116D, 0x315B, + 0x116E, 0x315C, 0x1172, 0x3160, 0x119E, 0x318D, 0x3078, 0x30D8, + 0x2341, 0x29C4, 0x303C, 0xA04A, 0xA49E, 0xA050, 0xA4AC, 0xA0C0, + 0xA49C, 0xA132, 0xA4A8, 0xA259, 0xA4BF, 0xA2B1, 0xA4BE, 0xA2CD, + 0xA494, 0xA3AB, 0xA4C0, 0xA3B5, 0xA4C2, 0xA3BF, 0xA4BA, 0xA3C2, + 0xA4B0, 0xA458, 0xA4A7, 0x22A5, 0x27C2, 0xA4D5, 0xA7B1, 0x1D21C, + 0xA4E4, 0xA79E, 0x2141, 0xA4E8, 0x2142, 0xA4F6, 0x10411, 0x1D215, + 0x1D22B, 0x2295, 0x2A01, 0xA69A, 0x102A8, 0x1F728, 0x25BD, 0x102BC, + 0x1D214, 0x1F704, 0x29D6, 0x102C0, 0xA79B, 0x1043A, 0xA79A, 0x10412, + 0x10486, 0x104A0, 0x10382, 0x103D1, 0x10393, 0x103D3, 0x1039A, + 0x12038, 0x2625, 0x1099E, 0x132F9, 0x3039, 0x5344, 0x4E0D, 0xF967, + 0x4E3D, 0x2F800, 0x4E26, 0xFA70, 0x1175, 0x239C, 0x239F, 0x23A2, + 0x23A5, 0x23AA, 0x23AE, 0x2F01, 0x3163, 0x31D1, 0x4E28, 0x4E32, + 0xF905, 0x4E38, 0x2F801, 0x4E39, 0xF95E, 0x4E41, 0x2F802, 0x2F04, + 0x31E0, 0x4E59, 0x2E83, 0x31DF, 0x4E5A, 0x2E82, 0x31D6, 0x4E5B, + 0x2EF2, 0x4E80, 0x4E82, 0xF91B, 0x2F05, 0x31DA, 0x4E85, 0x4E86, + 0xF9BA, 0x2F06, 0x30CB, 0x4E8C, 0x20122, 0x2F803, 0x2F07, 0x4EA0, + 0x4EAE, 0xF977, 0x2F08, 0x4EBA, 0x2E85, 0x30A4, 0x4EBB, 0x4EC0, + 0xF9FD, 0x4ECC, 0x2F819, 0x4EE4, 0xF9A8, 0x4F60, 0x2F804, 0x4F75, + 0x5002, 0x2F807, 0x4F80, 0xFA73, 0x4F86, 0xF92D, 0x4F8B, 0xF9B5, + 0x4FAE, 0xFA30, 0x2F805, 0x4FBB, 0x2F806, 0x4FBF, 0xF965, 0x5024, + 0x503C, 0x502B, 0xF9D4, 0x507A, 0x2F808, 0x5099, 0x2F809, 0x50CF, + 0x2F80B, 0x50DA, 0xF9BB, 0x50E7, 0xFA31, 0x2F80A, 0x349E, 0x2F80C, + 0x2F09, 0x513F, 0x2E8E, 0x5140, 0xFA0C, 0x5145, 0xFA74, 0x514D, + 0xFA32, 0x2F80E, 0x5154, 0x2F80F, 0x5164, 0x2F810, 0x2F0A, 0x5165, + 0x5167, 0x2F814, 0x5168, 0xFA72, 0x5169, 0xF978, 0x2F0B, 0x30CF, + 0x516B, 0x516D, 0xF9D1, 0x5177, 0x2F811, 0x2051C, 0x2F812, 0x20525, + 0x2F91B, 0x5180, 0xFA75, 0x34B9, 0x2F813, 0x2F0C, 0x5182, 0x518D, + 0x2F815, 0x2054B, 0x2F816, 0x5192, 0x2F8D2, 0x5195, 0x2F8D3, + 0x34BB, 0x2F9CA, 0x6700, 0x2F8D4, 0x2F0D, 0x5196, 0x5197, 0x2F817, + 0x51A4, 0x2F818, 0x2F0E, 0x51AB, 0x51AC, 0x2F81A, 0x51B5, 0xFA71, + 0x2F81B, 0x51B7, 0xF92E, 0x51C9, 0xF979, 0x51CC, 0xF955, 0x51DC, + 0xF954, 0x51DE, 0xFA15, 0x2F0F, 0x51E0, 0x2063A, 0x2F80D, 0x2F10, + 0x51F5, 0x2F81D, 0x2F11, 0x5200, 0x2E89, 0x5202, 0x5203, 0x2F81E, + 0x5207, 0xFA00, 0x2F850, 0x5217, 0xF99C, 0x5229, 0xF9DD, 0x34DF, + 0x2F81F, 0x523A, 0xF9FF, 0x523B, 0x2F820, 0x5246, 0x2F821, 0x5272, + 0x2F822, 0x5277, 0x2F823, 0x5289, 0xF9C7, 0x20804, 0x2F9D9, 0x2F12, + 0x30AB, 0x529B, 0xF98A, 0x52A3, 0xF99D, 0x3515, 0x2F824, 0x52B3, + 0x2F992, 0x52C7, 0xFA76, 0x2F825, 0x52C9, 0xFA33, 0x2F826, 0x52D2, + 0xF952, 0x52DE, 0xF92F, 0x52E4, 0xFA34, 0x2F827, 0x52F5, 0xF97F, + 0x2F13, 0x52F9, 0x52FA, 0xFA77, 0x2F828, 0x5305, 0x2F829, 0x5306, + 0x2F82A, 0x208DE, 0x2F9DD, 0x2F14, 0x5315, 0x5317, 0xF963, 0x2F82B, + 0x2F15, 0x531A, 0x2F16, 0x5338, 0x533F, 0xF9EB, 0x2F17, 0x3038, + 0x5341, 0x303A, 0x5345, 0x5349, 0x2F82C, 0xFD6, 0x534D, 0xFD5, + 0x5350, 0x5351, 0xFA35, 0x2F82D, 0x535A, 0x2F82E, 0x2F18, 0x30C8, + 0x535C, 0x2F19, 0x5369, 0x2E8B, 0x353E, 0x5373, 0x2F82F, 0x5375, + 0xF91C, 0x537D, 0x2F830, 0x537F, 0x2F831, 0x2F832, 0x2F833, 0x2F1A, + 0x5382, 0x20A2C, 0x2F834, 0x2F1B, 0x53B6, 0x53C3, 0xF96B, 0x2F1C, + 0x53C8, 0x53CA, 0x2F836, 0x53DF, 0x2F837, 0x20B63, 0x2F838, 0x2F1D, + 0x2F1E, 0x30ED, 0x53E3, 0x56D7, 0x53E5, 0xF906, 0x53EB, 0x2F839, + 0x53F1, 0x2F83A, 0x5406, 0x2F83B, 0x540F, 0xF9DE, 0x541D, 0xF9ED, + 0x5438, 0x2F83D, 0x5442, 0xF980, 0x5448, 0x2F83E, 0x5468, 0x2F83F, + 0x549E, 0x2F83C, 0x54A2, 0x2F840, 0x54BD, 0xF99E, 0x3588, 0x439B, + 0x54F6, 0x2F841, 0x5510, 0x2F842, 0x5553, 0x555F, 0x2F843, 0x5555, + 0xFA79, 0x5563, 0x2F844, 0x5584, 0x2F845, 0x2F846, 0x5587, 0xF90B, + 0x5599, 0xFA7A, 0x2F847, 0x559D, 0xFA36, 0xFA78, 0x55AB, 0x2F848, + 0x55B3, 0x2F849, 0x55C0, 0xFA0D, 0x55C2, 0x2F84A, 0x55E2, 0xFA7B, + 0x5606, 0xFA37, 0x2F84C, 0x5651, 0x2F84E, 0x5674, 0x2F84F, 0x5668, + 0xFA38, 0x56F9, 0xF9A9, 0x5716, 0x2F84B, 0x5717, 0x2F84D, 0x2F1F, + 0x2F20, 0x571F, 0x58EB, 0x578B, 0x2F855, 0x57CE, 0x2F852, 0x363D, + 0x39B3, 0x57F4, 0x2F853, 0x580D, 0x2F854, 0x5831, 0x2F857, 0x5832, + 0x2F856, 0x5840, 0xFA39, 0x585A, 0xFA10, 0xFA7C, 0x585E, 0xF96C, + 0x5861, 0x586B, 0x58AB, 0x58FF, 0x58AC, 0x2F858, 0x58B3, 0xFA7D, + 0x58D8, 0xF94A, 0x58DF, 0xF942, 0x214E4, 0x2F859, 0x58EE, 0x2F851, + 0x58F2, 0x2F85A, 0x58F7, 0x2F85B, 0x2F21, 0x5902, 0x5906, 0x2F85C, + 0x2F22, 0x590A, 0x2F23, 0x30BF, 0x5915, 0x591A, 0x2F85D, 0x5922, + 0x2F85E, 0x2F24, 0x5927, 0x5944, 0xFA7E, 0x5948, 0xF90C, 0x5951, + 0xF909, 0x5954, 0xFA7F, 0x5962, 0x2F85F, 0x2F25, 0x5973, 0xF981, + 0x216A8, 0x2F860, 0x216EA, 0x2F861, 0x59D8, 0x2F865, 0x59EC, + 0x2F862, 0x5A1B, 0x2F863, 0x5A27, 0x2F864, 0x5A62, 0xFA80, 0x5A66, + 0x2F866, 0x5AAF, 0x5B00, 0x36EE, 0x2F867, 0x36FC, 0x2F868, 0x5AB5, + 0x2F986, 0x5B08, 0x2F869, 0x5B28, 0xFA81, 0x5B3E, 0x2F86A, 0x2F86B, + 0x2F26, 0x5B50, 0x2F27, 0x5B80, 0x5B85, 0xFA04, 0x219C8, 0x2F86C, + 0x5BC3, 0x2F86D, 0x5BD8, 0x2F86E, 0x5BE7, 0xF95F, 0xF9AA, 0x2F86F, + 0x5BEE, 0xF9BC, 0x5BF3, 0x2F870, 0x21B18, 0x2F871, 0x2F28, 0x5BF8, + 0x5BFF, 0x2F872, 0x5C06, 0x2F873, 0x2F29, 0x5C0F, 0x2E90, 0x2F2A, + 0x5C22, 0x2F875, 0x2E8F, 0x5C23, 0x3781, 0x2F876, 0x2F2B, 0x5C38, + 0x5C3F, 0xF9BD, 0x5C60, 0x2F877, 0x5C62, 0xF94B, 0x5C64, 0xFA3B, + 0x5C65, 0xF9DF, 0x2F2C, 0x5C6E, 0xFA3C, 0x2F878, 0x21D0B, 0x2F8F8, + 0x2F2D, 0x5C71, 0x5CC0, 0x2F879, 0x5C8D, 0x2F87A, 0x21DE4, 0x2F87B, + 0x21DE6, 0x2F87D, 0x5D19, 0xF9D5, 0x5D43, 0x2F87C, 0x5D50, 0xF921, + 0x5D6B, 0x2F87F, 0x5D6E, 0x2F87E, 0x5D7C, 0x2F880, 0x5DB2, 0x2F9F4, + 0x5DBA, 0xF9AB, 0x2F2E, 0x5DDB, 0x5DE2, 0x2F882, 0x2F2F, 0x30A8, + 0x5DE5, 0x2F30, 0x5DF1, 0x2E92, 0x5DF3, 0x382F, 0x2F883, 0x5DFD, + 0x2F884, 0x2F31, 0x5DFE, 0x5E21, 0x5E32, 0x5E28, 0x2F885, 0x5E3D, + 0x2F886, 0x5E69, 0x2F887, 0x3862, 0x2F888, 0x22183, 0x2F889, + 0x2F32, 0x5E72, 0x5E74, 0xF98E, 0x2219F, 0x2F939, 0x2E93, 0x2F33, + 0x5E7A, 0x2F34, 0x5E7F, 0x5EA6, 0xFA01, 0x387C, 0x2F88A, 0x5EB0, + 0x2F88B, 0x5EB3, 0x2F88C, 0x5EB6, 0x2F88D, 0x5ECA, 0xF928, 0x2F88E, + 0x5EC9, 0xF9A2, 0x5ED2, 0xFA82, 0x5ED3, 0xFA0B, 0x5ED9, 0xFA83, + 0x5EEC, 0xF982, 0x2F35, 0x5EF4, 0x2F36, 0x5EFE, 0x2F890, 0x22331, + 0x2F891, 0x2F892, 0x5F04, 0xF943, 0x2F37, 0x5F0B, 0x2F38, 0x5F13, + 0x5F22, 0x2F894, 0x2F895, 0x2F39, 0x5F50, 0x2E94, 0x5F51, 0x5F53, + 0x2F874, 0x38C7, 0x2F896, 0x2F3A, 0x5F61, 0x5F62, 0x2F899, 0x5F69, + 0xFA84, 0x5F6B, 0x2F89A, 0x2F3B, 0x5F73, 0x5F8B, 0xF9D8, 0x38E3, + 0x2F89B, 0x5F9A, 0x2F89C, 0x5FA9, 0xF966, 0x5FAD, 0xFA85, 0x2F3C, + 0x5FC3, 0x2E96, 0x5FC4, 0x2E97, 0x38FA, 0x5FCD, 0x2F89D, 0x5FD7, + 0x2F89E, 0x5FF5, 0xF9A3, 0x5FF9, 0x2F89F, 0x6012, 0xF960, 0x601C, + 0xF9AC, 0x6075, 0xFA6B, 0x391C, 0x2F8A2, 0x393A, 0x2F8A1, 0x6081, + 0x2F8A0, 0x6094, 0xFA3D, 0x2F8A3, 0x60C7, 0x2F8A5, 0x60D8, 0xFA86, + 0x60E1, 0xF9B9, 0x226D4, 0x2F8A4, 0x6108, 0xFA88, 0x6168, 0xFA3E, + 0x6144, 0xF9D9, 0x6148, 0x2F8A6, 0x614C, 0x2F8A7, 0x2F8A9, 0x614E, + 0xFA87, 0x2F8A8, 0x6160, 0xFA8A, 0x617A, 0x2F8AA, 0x618E, 0xFA3F, + 0xFA89, 0x2F8AB, 0x6190, 0xF98F, 0x61A4, 0x2F8AD, 0x61AF, 0x2F8AE, + 0x61B2, 0x2F8AC, 0xFAD0, 0x22844, 0xFACF, 0x2284A, 0x61DE, 0x2F8AF, + 0x61F2, 0xFA40, 0xFA8B, 0x2F8B0, 0x61F6, 0xF90D, 0x2F8B1, 0x6200, + 0xF990, 0x2F3D, 0x6208, 0x6210, 0x2F8B2, 0x621B, 0x2F8B3, 0x622E, + 0xF9D2, 0x6234, 0xFA8C, 0x2F3E, 0x6236, 0x6238, 0x2F3F, 0x624B, + 0x2E98, 0x624C, 0x625D, 0x2F8B4, 0x62B1, 0x2F8B5, 0x62C9, 0xF925, + 0x62CF, 0xF95B, 0x62D3, 0xFA02, 0x62D4, 0x2F8B6, 0x62FC, 0x2F8BA, + 0x62FE, 0xF973, 0x22B0C, 0x2F8B8, 0x633D, 0x2F8B9, 0x6350, 0x2F8B7, + 0x6368, 0x2F8BB, 0x637B, 0xF9A4, 0x6383, 0x2F8BC, 0x63A0, 0xF975, + 0x63A9, 0x2F8C1, 0x63C4, 0xFA8D, 0x63E4, 0x2F8BD, 0x6452, 0xFA8F, + 0x22BF1, 0x2F8BE, 0x641C, 0xFA8E, 0x6422, 0x2F8BF, 0x63C5, 0x2F8C0, + 0x6469, 0x2F8C3, 0x6477, 0x2F8C6, 0x647E, 0x2F8C4, 0x3A2E, 0x2F8C2, + 0x3A41, 0x6409, 0x649A, 0xF991, 0x649D, 0x2F8C5, 0x64C4, 0xF930, + 0x3A6C, 0x2F8C7, 0x2F40, 0x652F, 0x2F41, 0x6534, 0x2E99, 0x6535, + 0x654F, 0xFA41, 0x2F8C8, 0x6556, 0xFA90, 0x656C, 0x2F8C9, 0x6578, + 0xF969, 0x2300A, 0x2F8CA, 0x2F42, 0x6587, 0x2EEB, 0x6589, 0x2F43, + 0x6597, 0x6599, 0xF9BE, 0x2F44, 0x65A4, 0x2F45, 0x65B9, 0x65C5, + 0xF983, 0x2F46, 0x65E0, 0x2E9B, 0x65E1, 0x65E2, 0xFA42, 0x65E3, + 0x2F8CB, 0x2F47, 0x65E5, 0x6613, 0xF9E0, 0x3ADA, 0x66F6, 0x3AE4, + 0x2F8D1, 0x6649, 0x2F8CD, 0x665A, 0x6669, 0x6674, 0xFA12, 0xFA91, + 0x6691, 0xFA43, 0x2F8CF, 0x6688, 0xF9C5, 0x3B08, 0x2F8D0, 0x669C, + 0x2F8D5, 0x66B4, 0xFA06, 0x66C6, 0xF98B, 0x3B19, 0x2F8CE, 0x232B8, + 0x2F897, 0x2F48, 0x66F0, 0x66F4, 0xF901, 0x66F8, 0x2F8CC, 0x2F49, + 0x6708, 0x2335F, 0x2F980, 0x670C, 0x80A6, 0x670F, 0x80D0, 0x6710, + 0x80CA, 0x6713, 0x8101, 0x3B35, 0x80F6, 0x6717, 0xF929, 0xFA92, + 0x2F8D8, 0x6718, 0x8127, 0x671B, 0xFA93, 0x2F8D9, 0x6721, 0x2F8DA, + 0x3B3A, 0x5E50, 0x3B3B, 0x4420, 0x23393, 0x2F989, 0x6723, 0x81A7, + 0x2339C, 0x2F98A, 0x2F4A, 0x6728, 0x674E, 0xF9E1, 0x6753, 0x2F8DC, + 0x6756, 0xFA94, 0x675E, 0x2F8DB, 0x233C3, 0x2F8DD, 0x676E, 0x67FF, + 0x677B, 0xF9C8, 0x6785, 0x2F8E0, 0x6797, 0xF9F4, 0x3B49, 0x2F8DE, + 0xFAD1, 0x233D5, 0x67F3, 0xF9C9, 0x67FA, 0x2F8DF, 0x6817, 0xF9DA, + 0x681F, 0x2F8E5, 0x6852, 0x2F8E1, 0x2346D, 0x2F8E3, 0x6881, 0xF97A, + 0x6885, 0xFA44, 0x2F8E2, 0x688E, 0x2F8E4, 0x68A8, 0xF9E2, 0x6914, + 0x2F8E6, 0x6942, 0x2F8E8, 0x3B9D, 0xFAD2, 0x2F8E7, 0x3BA3, 0x69E9, + 0x699D, 0x6A27, 0x69A3, 0x2F8E9, 0x69EA, 0x2F8EA, 0x6A02, 0xF914, + 0xF95C, 0xF9BF, 0x6A13, 0xF94C, 0x236A3, 0x2F8EC, 0x6AA8, 0x2F8EB, + 0x6AD3, 0xF931, 0x6ADB, 0x2F8ED, 0x6B04, 0xF91D, 0x3C18, 0x2F8EE, + 0x2F4B, 0x6B20, 0x6B21, 0x2F8EF, 0x238A7, 0x2F8F0, 0x6B54, 0x2F8F1, + 0x3C4E, 0x2F8F2, 0x2F4C, 0x6B62, 0x2EED, 0x6B6F, 0x6B72, 0x2F8F3, + 0x6B77, 0xF98C, 0x2F4D, 0x6B79, 0xFA95, 0x2E9E, 0x6B7A, 0x6B9F, + 0x2F8F4, 0x6BAE, 0xF9A5, 0x2F4E, 0x6BB3, 0x6BBA, 0xF970, 0xFA96, + 0x2F8F5, 0x6BBB, 0x2F8F6, 0x23A8D, 0x2F8F7, 0x2F4F, 0x6BCB, 0x2E9F, + 0x6BCD, 0x23AFA, 0x2F8F9, 0x2F50, 0x6BD4, 0x2F51, 0x6BDB, 0x2F52, + 0x6C0F, 0x2EA0, 0x6C11, 0x2F53, 0x6C14, 0x2F54, 0x6C34, 0x2EA1, + 0x6C35, 0x2EA2, 0x6C3A, 0x6C4E, 0x2F8FA, 0x6C67, 0x2F8FE, 0x6C88, + 0xF972, 0x6CBF, 0x2F8FC, 0x6CCC, 0xF968, 0x6CCD, 0x2F8FD, 0x6CE5, + 0xF9E3, 0x23CBC, 0x2F8FB, 0x6D1B, 0xF915, 0x6D1E, 0xFA05, 0x6D34, + 0x2F907, 0x6D3E, 0x2F900, 0x6D41, 0xF9CA, 0xFA97, 0x2F902, 0x6D16, + 0x2F8FF, 0x6D69, 0x2F903, 0x6D6A, 0xF92A, 0x6D77, 0xFA45, 0x2F901, + 0x6D78, 0x2F904, 0x6D85, 0x2F905, 0x23D1E, 0x2F906, 0x6DCB, 0xF9F5, + 0x6DDA, 0xF94D, 0x6DEA, 0xF9D6, 0x6DF9, 0x2F90E, 0x6E1A, 0xFA46, + 0x6E2F, 0x2F908, 0x6E6E, 0x2F909, 0x6E88, 0x6F59, 0x6ECB, 0xFA99, + 0x2F90B, 0x6E9C, 0xF9CB, 0x6EBA, 0xF9EC, 0x6EC7, 0x2F90C, 0x6ED1, + 0xF904, 0x6EDB, 0xFA98, 0x3D33, 0x2F90A, 0x6F0F, 0xF94E, 0x6F22, + 0xFA47, 0xFA9A, 0x6F23, 0xF992, 0x23ED1, 0x2F90D, 0x6F6E, 0x2F90F, + 0x23F5E, 0x2F910, 0x23F8E, 0x2F911, 0x6FC6, 0x2F912, 0x6FEB, + 0xF922, 0x6FFE, 0xF984, 0x701B, 0x2F915, 0x701E, 0xFA9B, 0x2F914, + 0x7039, 0x2F913, 0x704A, 0x2F917, 0x3D96, 0x2F916, 0x2F55, 0x706B, + 0x2EA3, 0x706C, 0x7070, 0x2F835, 0x7077, 0x2F919, 0x707D, 0x2F918, + 0x7099, 0xF9FB, 0x70AD, 0x2F91A, 0x70C8, 0xF99F, 0x70D9, 0xF916, + 0x716E, 0xFA48, 0xFA9C, 0x24263, 0x2F91D, 0x7145, 0x2F91C, 0x7149, + 0xF993, 0xFA6C, 0x242EE, 0x719C, 0x2F91E, 0x71CE, 0xF9C0, 0x71D0, + 0xF9EE, 0x243AB, 0x2F91F, 0x7210, 0xF932, 0x721B, 0xF91E, 0x7228, + 0x2F920, 0x2F56, 0x722A, 0x2EA4, 0x722B, 0xFA49, 0x7235, 0xFA9E, + 0x2F921, 0x2F57, 0x7236, 0x2F58, 0x723B, 0x2EA6, 0x4E2C, 0x2F59, + 0x723F, 0x2F5A, 0x7247, 0x7250, 0x2F922, 0x2F5B, 0x7259, 0x24608, + 0x2F923, 0x2F5C, 0x725B, 0x7262, 0xF946, 0x7280, 0x2F924, 0x7295, + 0x2F925, 0x2F5D, 0x72AC, 0x2EA8, 0x72AD, 0x72AF, 0xFA9F, 0x72C0, + 0xF9FA, 0x24735, 0x2F926, 0x72FC, 0xF92B, 0x732A, 0xFA16, 0xFAA0, + 0x24814, 0x2F927, 0x7375, 0xF9A7, 0x737A, 0x2F928, 0x2F5E, 0x7384, + 0x7387, 0xF961, 0xF9DB, 0x2F5F, 0x7389, 0x738B, 0x2F929, 0x3EAC, + 0x2F92A, 0x73A5, 0x2F92B, 0x73B2, 0xF9AD, 0x3EB8, 0x2F92C, 0x2F92D, + 0x73DE, 0xF917, 0x7409, 0xF9CC, 0x7406, 0xF9E4, 0x7422, 0xFA4A, + 0x7447, 0x2F92E, 0x745C, 0x2F92F, 0x7469, 0xF9AE, 0x7471, 0xFAA1, + 0x2F930, 0x7485, 0x2F931, 0x7489, 0xF994, 0x7498, 0xF9EF, 0x74CA, + 0x2F932, 0x2F60, 0x74DC, 0x2F61, 0x74E6, 0x3F1B, 0x2F933, 0x7506, + 0xFAA2, 0x2F62, 0x7518, 0x2F63, 0x751F, 0x7524, 0x2F934, 0x2F64, + 0x7528, 0x2F65, 0x7530, 0x753B, 0xFAA3, 0x753E, 0x2F936, 0x24C36, + 0x2F935, 0x7559, 0xF9CD, 0x7565, 0xF976, 0x7570, 0xF962, 0x2F938, + 0x24C92, 0x2F937, 0x2F66, 0x758B, 0x2F67, 0x7592, 0x75E2, 0xF9E5, + 0x7610, 0x2F93A, 0x761F, 0xFAA5, 0x761D, 0xFAA4, 0x7642, 0xF9C1, + 0x7669, 0xF90E, 0x2F68, 0x7676, 0x2F69, 0x767D, 0x24FA1, 0x2F93B, + 0x24FB8, 0x2F93C, 0x2F6A, 0x76AE, 0x2F6B, 0x76BF, 0x25044, 0x2F93D, + 0x3FFC, 0x2F93E, 0x76CA, 0xFA17, 0xFAA6, 0x76DB, 0xFAA7, 0x76E7, + 0xF933, 0x4008, 0x2F93F, 0x2F6C, 0x76EE, 0x76F4, 0xFAA8, 0x2F940, + 0x250F2, 0x2F942, 0x250F3, 0x2F941, 0x7701, 0xF96D, 0x4018, 0xFAD3, + 0x25119, 0x2F943, 0x771E, 0x2F945, 0x771F, 0x2F946, 0x2F947, + 0x25133, 0x2F944, 0x7740, 0xFAAA, 0x774A, 0xFAA9, 0x2F948, 0x4039, + 0x9FC3, 0xFAD4, 0x2F949, 0x403F, 0x6663, 0x4046, 0x2F94B, 0x778B, + 0x2F94A, 0xFAD5, 0x25249, 0x77A7, 0xFA9D, 0x2F6D, 0x77DB, 0x2F6E, + 0x77E2, 0x2F6F, 0x77F3, 0x4096, 0x2F94C, 0x2541D, 0x2F94D, 0x7814, + 0x784F, 0x784E, 0x2F94E, 0x786B, 0xF9CE, 0x788C, 0xF93B, 0x2F94F, + 0x7891, 0xFA4B, 0x78CA, 0xF947, 0x78CC, 0xFAAB, 0x2F950, 0x78FB, + 0xF964, 0x40E3, 0x2F951, 0x792A, 0xF985, 0x2F70, 0x793A, 0x2EAD, + 0x793B, 0x793C, 0xFA18, 0x793E, 0xFA4C, 0x7948, 0xFA4E, 0x7949, + 0xFA4D, 0x25626, 0x2F952, 0x7950, 0xFA4F, 0x7956, 0xFA50, 0x2F953, + 0x795D, 0xFA51, 0x795E, 0xFA19, 0x7965, 0xFA1A, 0x8996, 0xFA61, + 0xFAB8, 0x797F, 0xF93C, 0x2569A, 0x2F954, 0x798D, 0xFA52, 0x798E, + 0xFA53, 0x798F, 0xFA1B, 0x2F956, 0x256C5, 0x2F955, 0x79AE, 0xF9B6, + 0x2F71, 0x79B8, 0x2F72, 0x79BE, 0x79CA, 0xF995, 0x412F, 0x2F958, + 0x79EB, 0x2F957, 0x7A1C, 0xF956, 0x7A4A, 0x2F95A, 0x7A40, 0xFA54, + 0x2F959, 0x7A4F, 0x2F95B, 0x2F73, 0x7A74, 0x7A81, 0xFA55, 0x2597C, + 0x2F95C, 0x7AB1, 0xFAAC, 0x2F74, 0x7ACB, 0xF9F7, 0x2EEF, 0x7ADC, + 0x25AA7, 0x2F95D, 0x2F95E, 0x7AEE, 0x2F95F, 0x2F75, 0x7AF9, 0x7B20, + 0xF9F8, 0x7BC0, 0xFA56, 0xFAAD, 0x4202, 0x2F960, 0x25BAB, 0x2F961, + 0x7BC6, 0x2F962, 0x4227, 0x2F964, 0x7BC9, 0x2F963, 0x25C80, 0x2F965, + 0xFAD6, 0x25CD0, 0x7C3E, 0xF9A6, 0x7C60, 0xF944, 0x2F76, 0x7C73, + 0x7C7B, 0xFAAE, 0x7C92, 0xF9F9, 0x7CBE, 0xFA1D, 0x7CD2, 0x2F966, + 0x7CD6, 0xFA03, 0x7CE8, 0x2F968, 0x42A0, 0x2F967, 0x7CE3, 0x2F969, + 0x7CE7, 0xF97B, 0x2F77, 0x7CF8, 0x2EAF, 0x7CF9, 0x25F86, 0x2F96B, + 0x7D00, 0x2F96A, 0x7D10, 0xF9CF, 0x7D22, 0xF96A, 0x7D2F, 0xF94F, + 0x7D55, 0x7D76, 0x7D63, 0x2F96C, 0x7D5B, 0xFAAF, 0x7DA0, 0xF93D, + 0x7DBE, 0xF957, 0x7DC7, 0x2F96E, 0x7DF4, 0xF996, 0xFA57, 0xFAB0, + 0x7E02, 0x2F96F, 0x4301, 0x2F96D, 0x7E09, 0xFA58, 0x7E37, 0xF950, + 0x7E41, 0xFA59, 0x7E45, 0x2F970, 0x261DA, 0x2F898, 0x4334, 0x2F971, + 0x2F78, 0x7F36, 0x26228, 0x2F972, 0x7F3E, 0xFAB1, 0x26247, 0x2F973, + 0x2F79, 0x7F51, 0x2EAB, 0x2EB2, 0x7F52, 0x2EB1, 0x7F53, 0x4359, + 0x2F974, 0x7F72, 0xFA5A, 0x262D9, 0x2F975, 0x7F79, 0xF9E6, 0x7F7A, + 0x2F976, 0x7F85, 0xF90F, 0x2633E, 0x2F977, 0x2F7A, 0x7F8A, 0x7F95, + 0x2F978, 0x7F9A, 0xF9AF, 0x2F7B, 0x7FBD, 0xFA1E, 0x7FFA, 0x2F979, + 0x2F7C, 0x8001, 0xF934, 0x2EB9, 0x8002, 0x8005, 0xFA5B, 0xFAB2, + 0x2F97A, 0x2F7D, 0x800C, 0x264DA, 0x2F97B, 0x2F7E, 0x8012, 0x26523, + 0x2F97C, 0x2F7F, 0x8033, 0x8046, 0xF9B0, 0x8060, 0x2F97D, 0x265A8, + 0x2F97E, 0x806F, 0xF997, 0x8070, 0x2F97F, 0x807E, 0xF945, 0x2F80, + 0x807F, 0x2EBA, 0x8080, 0x2F81, 0x8089, 0x808B, 0xF953, 0x80AD, + 0x2F8D6, 0x80B2, 0x2F982, 0x43D5, 0x2F981, 0x43D9, 0x2F8D7, 0x80FC, + 0x8141, 0x8103, 0x2F983, 0x813E, 0x2F985, 0x440B, 0x2F984, 0x267A7, + 0x2F987, 0x267B5, 0x2F988, 0x4443, 0x6726, 0x81D8, 0xF926, 0x2F82, + 0x81E3, 0x81E8, 0xF9F6, 0x2F83, 0x81EA, 0x81ED, 0xFA5C, 0x2F84, + 0x81F3, 0x2F85, 0x81FC, 0x8201, 0x2F893, 0x2F98B, 0x8204, 0x2F98C, + 0x2F86, 0x820C, 0x8218, 0xFA6D, 0x2F87, 0x821B, 0x2F88, 0x821F, + 0x446B, 0x2F98E, 0x2F89, 0x826E, 0x826F, 0xF97C, 0x2F8A, 0x8272, + 0x2F8B, 0x8278, 0x2EBE, 0x2EBF, 0x2EC0, 0x8279, 0xFA5D, 0xFA5E, + 0x828B, 0x2F990, 0x8291, 0x2F98F, 0x829D, 0x2F991, 0x82B1, 0x2F993, + 0x82B3, 0x2F994, 0x82BD, 0x2F995, 0x82E5, 0xF974, 0x2F998, 0x82E6, + 0x2F996, 0x26B3C, 0x2F997, 0x8336, 0xF9FE, 0x8352, 0xFAB3, 0x8363, + 0x2F99A, 0x831D, 0x2F999, 0x8323, 0x2F99C, 0x83BD, 0x2F99D, 0x8353, + 0x2F9A0, 0x83C9, 0xF93E, 0x83CA, 0x2F9A1, 0x83CC, 0x2F9A2, 0x83DC, + 0x2F9A3, 0x83E7, 0x2F99E, 0x83EF, 0xFAB4, 0x83F1, 0xF958, 0x8457, + 0xFA5F, 0x2F99F, 0x26C36, 0x2F9A4, 0x83AD, 0x2F99B, 0x843D, 0xF918, + 0x8449, 0xF96E, 0x848D, 0x853F, 0x26CD5, 0x2F9A6, 0x26D6B, 0x2F9A5, + 0x84EE, 0xF999, 0x84F1, 0x2F9A8, 0x84F3, 0x2F9A9, 0x84FC, 0xF9C2, + 0x8516, 0x2F9AA, 0x452B, 0x2F9A7, 0x8564, 0x2F9AC, 0x26F2C, 0x2F9AD, + 0x85CD, 0xF923, 0x455D, 0x2F9AE, 0x26FB1, 0x2F9B0, 0x4561, 0x2F9AF, + 0x85FA, 0xF9F0, 0x8606, 0xF935, 0x456B, 0x2F9B2, 0x8612, 0xFA20, + 0x862D, 0xF91F, 0x270D2, 0x2F9B1, 0x8637, 0x8641, 0x863F, 0xF910, + 0x2F8C, 0x864D, 0x2EC1, 0x864E, 0x8650, 0x2F9B3, 0x865C, 0xF936, + 0x2F9B4, 0x8667, 0x2F9B5, 0x8669, 0x2F9B6, 0x2F8D, 0x866B, 0x86A9, + 0x2F9B7, 0x8688, 0x2F9B8, 0x86E2, 0x2F9BA, 0x870E, 0x2F9B9, 0x8728, + 0x2F9BC, 0x876B, 0x2F9BD, 0x87E1, 0x2F9C0, 0x8779, 0xFAB5, 0x2F9BB, + 0x8786, 0x2F9BE, 0x45D7, 0x2F9BF, 0x273CA, 0x2F9AB, 0x87BA, 0xF911, + 0x8801, 0x2F9C1, 0x45F9, 0x2F9C2, 0x881F, 0xF927, 0x2F8E, 0x8840, + 0x2F8F, 0x884C, 0xFA08, 0x8860, 0x2F9C3, 0x2F90, 0x8863, 0x2F9C4, + 0x2EC2, 0x8864, 0x88C2, 0xF9A0, 0x27667, 0x2F9C5, 0x88CF, 0xF9E7, + 0x88D7, 0x2F9C6, 0x88DE, 0x2F9C7, 0x88E1, 0xF9E8, 0x88F8, 0xF912, + 0x88FA, 0x2F9C9, 0x4635, 0x2F9C8, 0x8910, 0xFA60, 0x8941, 0xFAB6, + 0x8964, 0xF924, 0x2F91, 0x897E, 0x2EC4, 0x897F, 0x2EC3, 0x8980, + 0x8986, 0xFAB7, 0x2F92, 0x898B, 0xFA0A, 0x278AE, 0x2F9CB, 0x2EC5, + 0x89C1, 0x2F93, 0x89D2, 0x2F94, 0x8A00, 0x27966, 0x2F9CC, 0x8A2E, + 0x8A7D, 0x46B6, 0x8A1E, 0x46BE, 0x2F9CD, 0x46C7, 0x2F9CE, 0x8AA0, + 0x2F9CF, 0x8AAA, 0xF96F, 0xF9A1, 0x8ABF, 0xFAB9, 0x8ACB, 0xFABB, + 0x8AD2, 0xF97D, 0x8AD6, 0xF941, 0x8AED, 0xFABE, 0x2F9D0, 0x8AF8, + 0xFA22, 0xFABA, 0x8AFE, 0xF95D, 0xFABD, 0x8B01, 0xFA62, 0xFABC, + 0x8B39, 0xFA63, 0xFABF, 0x8B58, 0xF9FC, 0x8B80, 0xF95A, 0x8B86, + 0x8B8F, 0x8B8A, 0xFAC0, 0x2F9D1, 0x2EC8, 0x8BA0, 0x2F95, 0x8C37, + 0x2F96, 0x8C46, 0x8C48, 0xF900, 0x2F97, 0x8C55, 0x2F9D2, 0x8C5C, + 0x8C63, 0x2F98, 0x8C78, 0x27CA8, 0x2F9D3, 0x2F99, 0x8C9D, 0x8CAB, + 0x2F9D4, 0x8CC1, 0x2F9D5, 0x8CC2, 0xF948, 0x8CC8, 0xF903, 0x8CD3, + 0xFA64, 0x8D08, 0xFA65, 0xFAC1, 0x8D1B, 0x2F9D6, 0x2EC9, 0x8D1D, + 0x2F9A, 0x8D64, 0x2F9B, 0x8D70, 0x8D77, 0x2F9D7, 0x8D7F, 0x8D86, + 0xFAD7, 0x27ED3, 0x27F2F, 0x2F9D8, 0x2F9C, 0x8DB3, 0x8DCB, 0x2F9DA, + 0x8DBC, 0x2F9DB, 0x8DE5, 0x8DFA, 0x8DEF, 0xF937, 0x8DF0, 0x2F9DC, + 0x8E97, 0x8E9B, 0x2F9D, 0x8EAB, 0x2F9E, 0x8ECA, 0xF902, 0x8ED4, + 0x2F9DE, 0x8EFF, 0x8F27, 0x8F26, 0xF998, 0x8F2A, 0xF9D7, 0x8F38, + 0xFAC2, 0x2F9DF, 0x8F3B, 0xFA07, 0x8F62, 0xF98D, 0x2ECB, 0x8F66, + 0x2F9F, 0x8F9B, 0x8F9E, 0x2F98D, 0x2FA0, 0x8FB0, 0xF971, 0x2FA1, + 0x8FB5, 0x2ECC, 0x2ECD, 0x8FB6, 0xFA66, 0x5DE1, 0x2F881, 0x9023, + 0xF99A, 0x9038, 0xFA25, 0xFA67, 0x9072, 0xFAC3, 0x907C, 0xF9C3, + 0x285D2, 0x2F9E0, 0x285ED, 0x2F9E1, 0x908F, 0xF913, 0x2FA2, 0x9091, + 0x9094, 0x2F9E2, 0x90CE, 0x90DE, 0xF92C, 0xFA2E, 0x90F1, 0x2F9E3, + 0x90FD, 0xFA26, 0x2872E, 0x2F9E5, 0x9111, 0x2F9E4, 0x911B, 0x2F9E6, + 0x2FA3, 0x9149, 0x916A, 0xF919, 0x9199, 0xFAC4, 0x91B4, 0xF9B7, + 0x2FA4, 0x91C6, 0x2FA5, 0x91CC, 0xF9E9, 0x91CF, 0xF97E, 0x2FA6, + 0x91D1, 0xF90A, 0x9234, 0xF9B1, 0x9238, 0x2F9E7, 0x9276, 0xFAC5, + 0x92D7, 0x2F9E8, 0x92D8, 0x2F9E9, 0x927C, 0x2F9EA, 0x9304, 0xF93F, + 0x934A, 0xF99B, 0x93AD, 0x93AE, 0x93F9, 0x2F9EB, 0x9415, 0x2F9EC, + 0x28BFA, 0x2F9ED, 0x2ED0, 0x9485, 0x2ED1, 0x2FA7, 0x9577, 0x2ED2, + 0x9578, 0x2ED3, 0x957F, 0x2FA8, 0x9580, 0x958B, 0x2F9EE, 0x4995, + 0x2F9EF, 0x95AD, 0xF986, 0x95B7, 0x2F9F0, 0x28D77, 0x2F9F1, 0x2ED4, + 0x95E8, 0x2FA9, 0x961C, 0x2ECF, 0x2ED6, 0x961D, 0x962E, 0xF9C6, + 0x964B, 0xF951, 0x964D, 0xFA09, 0x9675, 0xF959, 0x9678, 0xF9D3, + 0x967C, 0xFAC6, 0x9686, 0xF9DC, 0x96A3, 0xF9F1, 0x49E6, 0x2F9F2, + 0x2FAA, 0x96B6, 0x96B7, 0x96B8, 0xF9B8, 0xFA2F, 0x2FAB, 0x96B9, + 0x96C3, 0x2F9F3, 0x96E2, 0xF9EA, 0x96E3, 0xFA68, 0xFAC7, 0x2FAC, + 0x96E8, 0x96F6, 0xF9B2, 0x96F7, 0xF949, 0x9723, 0x2F9F5, 0x29145, + 0x2F9F6, 0x9732, 0xF938, 0x9748, 0xF9B3, 0x2FAD, 0x9751, 0x2ED8, + 0x9752, 0x9756, 0xFA1C, 0xFAC8, 0x291DF, 0x2F81C, 0x2FAE, 0x975E, + 0x2FAF, 0x9762, 0x2921A, 0x2F9F7, 0x2FB0, 0x9769, 0x4A6E, 0x2F9F8, + 0x4A76, 0x2F9F9, 0x2FB1, 0x97CB, 0x97DB, 0xFAC9, 0x97E0, 0x2F9FA, + 0x2ED9, 0x97E6, 0x2FB2, 0x97ED, 0x2940A, 0x2F9FB, 0x2FB3, 0x97F3, + 0x97FF, 0xFA69, 0xFACA, 0x2FB4, 0x9801, 0x4AB2, 0x2F9FC, 0x980B, + 0xFACB, 0x2F9FE, 0x2F9FF, 0x9818, 0xF9B4, 0x9829, 0x2FA00, 0x29496, + 0x2F9FD, 0x983B, 0xFA6A, 0xFACC, 0x985E, 0xF9D0, 0x2EDA, 0x9875, + 0x2FB5, 0x98A8, 0x295B6, 0x2FA01, 0x2EDB, 0x98CE, 0x2FB6, 0x98DB, + 0x2EDC, 0x98DE, 0x2EDD, 0x2FB7, 0x98DF, 0x2EDF, 0x98E0, 0x98E2, + 0x2FA02, 0x98EF, 0xFA2A, 0x98FC, 0xFA2B, 0x4B33, 0x2FA03, 0x9928, + 0xFA2C, 0x9929, 0x2FA04, 0x2EE0, 0x9963, 0x2FB8, 0x9996, 0x2FB9, + 0x9999, 0x99A7, 0x2FA05, 0x2FBA, 0x99AC, 0x99C2, 0x2FA06, 0x99F1, + 0xF91A, 0x99FE, 0x2FA07, 0x9A6A, 0xF987, 0x2EE2, 0x9A6C, 0x2FBB, + 0x9AA8, 0x4BCE, 0x2FA08, 0x2FBC, 0x9AD8, 0x2FBD, 0x9ADF, 0x29B30, + 0x2FA09, 0x9B12, 0xFACD, 0x2FA0A, 0x2FBE, 0x9B25, 0x2FBF, 0x9B2F, + 0x2FC0, 0x9B32, 0x2EE4, 0x2FC1, 0x9B3C, 0x2FC2, 0x9B5A, 0x9B6F, + 0xF939, 0x9C40, 0x2FA0B, 0x9C57, 0xF9F2, 0x2EE5, 0x9C7C, 0x2FC3, + 0x9CE5, 0x9CFD, 0x2FA0C, 0x4CCE, 0x2FA0D, 0x9D67, 0x2FA0F, 0x4CED, + 0x2FA0E, 0x2A0CE, 0x2FA10, 0x9DB4, 0xFA2D, 0x2A105, 0x2FA12, + 0x4CF8, 0x2FA11, 0x9DFA, 0xF93A, 0x2A20E, 0x2FA13, 0x9E1E, 0xF920, + 0x9E42, 0x9E43, 0x2FC4, 0x9E75, 0x2FC5, 0x9E7F, 0xF940, 0x2A291, + 0x2FA14, 0x9E97, 0xF988, 0x9E9F, 0xF9F3, 0x2FC6, 0x9EA5, 0x2EE8, + 0x9EA6, 0x2FC7, 0x9EBB, 0x2FA15, 0x2A392, 0x2F88F, 0x2FC8, 0x9EC3, + 0x2EE9, 0x9EC4, 0x2FC9, 0x9ECD, 0x9ECE, 0xF989, 0x4D56, 0x2FA16, + 0x2FCA, 0x9ED1, 0x9ED2, 0x58A8, 0xFA3A, 0x2FCB, 0x9EF9, 0x2FA17, + 0x2FCC, 0x9EFD, 0x9F05, 0x2FA19, 0x9EFE, 0x2FA18, 0x2FCD, 0x9F0E, + 0x9F0F, 0x2FA1A, 0x2FCE, 0x9F13, 0x9F16, 0x2FA1B, 0x2FCF, 0x9F20, + 0x2FD0, 0x9F3B, 0x2FA1C, 0x9F43, 0xFAD8, 0x2FD1, 0x9F4A, 0x2EEC, + 0x9F50, 0x2FD2, 0x9F52, 0x2A600, 0x2FA1D, 0x2EEE, 0x9F7F, 0x2FD3, + 0x9F8D, 0xF9C4, 0x9F8E, 0xFAD9, 0x2EF0, 0x9F99, 0x2FD4, 0x9F9C, + 0xF907, 0xF908, 0xFACE, 0x2EF3, 0x9F9F, 0x2FD5, 0x9FA0, 0x23FB, + 0x23FC, + }; + +struct ConfusableClass +{ + uint16_t offset; + uint16_t length; +}; +static const struct ConfusableClass confusable_classes[] = + { + { 0, 2 }, + { 2, 2 }, + { 4, 2 }, + { 6, 2 }, + { 8, 3 }, + { 11, 6 }, + { 17, 2 }, + { 19, 8 }, + { 27, 3 }, + { 30, 6 }, + { 36, 6 }, + { 42, 13 }, + { 55, 3 }, + { 58, 3 }, + { 61, 3 }, + { 64, 16 }, + { 80, 2 }, + { 82, 4 }, + { 86, 6 }, + { 92, 2 }, + { 94, 2 }, + { 96, 4 }, + { 100, 2 }, + { 102, 2 }, + { 104, 3 }, + { 107, 2 }, + { 109, 2 }, + { 111, 2 }, + { 113, 2 }, + { 115, 2 }, + { 117, 2 }, + { 119, 2 }, + { 121, 2 }, + { 123, 14 }, + { 137, 3 }, + { 140, 2 }, + { 142, 4 }, + { 146, 2 }, + { 148, 2 }, + { 150, 3 }, + { 153, 4 }, + { 157, 2 }, + { 159, 3 }, + { 162, 2 }, + { 164, 2 }, + { 166, 2 }, + { 168, 8 }, + { 176, 3 }, + { 179, 2 }, + { 181, 2 }, + { 183, 2 }, + { 185, 2 }, + { 187, 18 }, + { 205, 5 }, + { 210, 12 }, + { 222, 2 }, + { 224, 6 }, + { 230, 3 }, + { 233, 2 }, + { 235, 2 }, + { 237, 18 }, + { 255, 4 }, + { 259, 6 }, + { 265, 2 }, + { 267, 10 }, + { 277, 13 }, + { 290, 2 }, + { 292, 35 }, + { 327, 6 }, + { 333, 6 }, + { 339, 3 }, + { 342, 2 }, + { 344, 2 }, + { 346, 2 }, + { 348, 7 }, + { 355, 4 }, + { 359, 2 }, + { 361, 2 }, + { 363, 5 }, + { 368, 15 }, + { 383, 12 }, + { 395, 2 }, + { 397, 5 }, + { 402, 2 }, + { 404, 2 }, + { 406, 2 }, + { 408, 2 }, + { 410, 2 }, + { 412, 3 }, + { 415, 3 }, + { 418, 9 }, + { 427, 2 }, + { 429, 3 }, + { 432, 2 }, + { 434, 2 }, + { 436, 6 }, + { 442, 2 }, + { 444, 2 }, + { 446, 2 }, + { 448, 2 }, + { 450, 2 }, + { 452, 2 }, + { 454, 2 }, + { 456, 2 }, + { 458, 2 }, + { 460, 2 }, + { 462, 7 }, + { 469, 2 }, + { 471, 7 }, + { 478, 3 }, + { 481, 2 }, + { 483, 4 }, + { 487, 2 }, + { 489, 7 }, + { 496, 5 }, + { 501, 6 }, + { 507, 5 }, + { 512, 2 }, + { 514, 2 }, + { 516, 2 }, + { 518, 2 }, + { 520, 2 }, + { 522, 2 }, + { 524, 3 }, + { 527, 2 }, + { 529, 2 }, + { 531, 2 }, + { 533, 2 }, + { 535, 2 }, + { 537, 2 }, + { 539, 2 }, + { 541, 2 }, + { 543, 2 }, + { 545, 2 }, + { 547, 2 }, + { 549, 2 }, + { 551, 2 }, + { 553, 2 }, + { 555, 2 }, + { 557, 2 }, + { 559, 2 }, + { 561, 2 }, + { 563, 3 }, + { 566, 2 }, + { 568, 2 }, + { 570, 2 }, + { 572, 2 }, + { 574, 2 }, + { 576, 3 }, + { 579, 2 }, + { 581, 2 }, + { 583, 2 }, + { 585, 2 }, + { 587, 2 }, + { 589, 2 }, + { 591, 2 }, + { 593, 2 }, + { 595, 2 }, + { 597, 4 }, + { 601, 2 }, + { 603, 2 }, + { 605, 2 }, + { 607, 2 }, + { 609, 2 }, + { 611, 2 }, + { 613, 2 }, + { 615, 3 }, + { 618, 2 }, + { 620, 2 }, + { 622, 3 }, + { 625, 3 }, + { 628, 2 }, + { 630, 2 }, + { 632, 2 }, + { 634, 3 }, + { 637, 12 }, + { 649, 2 }, + { 651, 3 }, + { 654, 2 }, + { 656, 2 }, + { 658, 2 }, + { 660, 2 }, + { 662, 2 }, + { 664, 2 }, + { 666, 2 }, + { 668, 12 }, + { 680, 3 }, + { 683, 2 }, + { 685, 2 }, + { 687, 2 }, + { 689, 2 }, + { 691, 15 }, + { 706, 3 }, + { 709, 2 }, + { 711, 2 }, + { 713, 8 }, + { 721, 2 }, + { 723, 2 }, + { 725, 2 }, + { 727, 8 }, + { 735, 2 }, + { 737, 10 }, + { 747, 2 }, + { 749, 2 }, + { 751, 2 }, + { 753, 8 }, + { 761, 2 }, + { 763, 13 }, + { 776, 2 }, + { 778, 2 }, + { 780, 15 }, + { 795, 4 }, + { 799, 2 }, + { 801, 2 }, + { 803, 24 }, + { 827, 27 }, + { 854, 2 }, + { 856, 2 }, + { 858, 2 }, + { 860, 2 }, + { 862, 2 }, + { 864, 5 }, + { 869, 2 }, + { 871, 18 }, + { 889, 29 }, + { 918, 2 }, + { 920, 21 }, + { 941, 28 }, + { 969, 20 }, + { 989, 4 }, + { 993, 2 }, + { 995, 2 }, + { 997, 20 }, + { 1017, 20 }, + { 1037, 2 }, + { 1039, 10 }, + { 1049, 20 }, + { 1069, 29 }, + { 1098, 2 }, + { 1100, 2 }, + { 1102, 3 }, + { 1105, 4 }, + { 1109, 2 }, + { 1111, 6 }, + { 1117, 2 }, + { 1119, 3 }, + { 1122, 2 }, + { 1124, 3 }, + { 1127, 19 }, + { 1146, 25 }, + { 1171, 3 }, + { 1174, 3 }, + { 1177, 19 }, + { 1196, 18 }, + { 1214, 2 }, + { 1216, 2 }, + { 1218, 2 }, + { 1220, 2 }, + { 1222, 2 }, + { 1224, 18 }, + { 1242, 27 }, + { 1269, 2 }, + { 1271, 2 }, + { 1273, 2 }, + { 1275, 5 }, + { 1280, 2 }, + { 1282, 37 }, + { 1319, 2 }, + { 1321, 2 }, + { 1323, 2 }, + { 1325, 18 }, + { 1343, 21 }, + { 1364, 3 }, + { 1367, 30 }, + { 1397, 28 }, + { 1425, 72 }, + { 1497, 24 }, + { 1521, 3 }, + { 1524, 31 }, + { 1555, 2 }, + { 1557, 31 }, + { 1588, 24 }, + { 1612, 4 }, + { 1616, 2 }, + { 1618, 75 }, + { 1693, 45 }, + { 1738, 3 }, + { 1741, 2 }, + { 1743, 2 }, + { 1745, 5 }, + { 1750, 5 }, + { 1755, 2 }, + { 1757, 30 }, + { 1787, 27 }, + { 1814, 2 }, + { 1816, 15 }, + { 1831, 17 }, + { 1848, 15 }, + { 1863, 2 }, + { 1865, 19 }, + { 1884, 20 }, + { 1904, 2 }, + { 1906, 2 }, + { 1908, 20 }, + { 1928, 22 }, + { 1950, 10 }, + { 1960, 3 }, + { 1963, 10 }, + { 1973, 22 }, + { 1995, 32 }, + { 2027, 2 }, + { 2029, 2 }, + { 2031, 4 }, + { 2035, 28 }, + { 2063, 21 }, + { 2084, 2 }, + { 2086, 2 }, + { 2088, 3 }, + { 2091, 4 }, + { 2095, 28 }, + { 2123, 26 }, + { 2149, 2 }, + { 2151, 15 }, + { 2166, 20 }, + { 2186, 24 }, + { 2210, 36 }, + { 2246, 31 }, + { 2277, 29 }, + { 2306, 6 }, + { 2312, 16 }, + { 2328, 26 }, + { 2354, 3 }, + { 2357, 2 }, + { 2359, 2 }, + { 2361, 4 }, + { 2365, 2 }, + { 2367, 2 }, + { 2369, 2 }, + { 2371, 6 }, + { 2377, 11 }, + { 2388, 14 }, + { 2402, 2 }, + { 2404, 6 }, + { 2410, 2 }, + { 2412, 7 }, + { 2419, 7 }, + { 2426, 6 }, + { 2432, 6 }, + { 2438, 11 }, + { 2449, 3 }, + { 2452, 7 }, + { 2459, 12 }, + { 2471, 9 }, + { 2480, 7 }, + { 2487, 10 }, + { 2497, 10 }, + { 2507, 10 }, + { 2517, 2 }, + { 2519, 2 }, + { 2521, 2 }, + { 2523, 5 }, + { 2528, 2 }, + { 2530, 2 }, + { 2532, 2 }, + { 2534, 2 }, + { 2536, 2 }, + { 2538, 4 }, + { 2542, 2 }, + { 2544, 2 }, + { 2546, 2 }, + { 2548, 2 }, + { 2550, 2 }, + { 2552, 2 }, + { 2554, 2 }, + { 2556, 2 }, + { 2558, 2 }, + { 2560, 7 }, + { 2567, 2 }, + { 2569, 3 }, + { 2572, 3 }, + { 2575, 3 }, + { 2578, 2 }, + { 2580, 2 }, + { 2582, 3 }, + { 2585, 2 }, + { 2587, 2 }, + { 2589, 2 }, + { 2591, 2 }, + { 2593, 2 }, + { 2595, 2 }, + { 2597, 2 }, + { 2599, 3 }, + { 2602, 2 }, + { 2604, 2 }, + { 2606, 2 }, + { 2608, 3 }, + { 2611, 3 }, + { 2614, 10 }, + { 2624, 10 }, + { 2634, 5 }, + { 2639, 3 }, + { 2642, 5 }, + { 2647, 10 }, + { 2657, 5 }, + { 2662, 5 }, + { 2667, 11 }, + { 2678, 5 }, + { 2683, 5 }, + { 2688, 5 }, + { 2693, 5 }, + { 2698, 11 }, + { 2709, 11 }, + { 2720, 7 }, + { 2727, 6 }, + { 2733, 3 }, + { 2736, 3 }, + { 2739, 6 }, + { 2745, 6 }, + { 2751, 11 }, + { 2762, 12 }, + { 2774, 11 }, + { 2785, 10 }, + { 2795, 9 }, + { 2804, 12 }, + { 2816, 11 }, + { 2827, 11 }, + { 2838, 6 }, + { 2844, 5 }, + { 2849, 11 }, + { 2860, 14 }, + { 2874, 2 }, + { 2876, 6 }, + { 2882, 5 }, + { 2887, 5 }, + { 2892, 10 }, + { 2902, 10 }, + { 2912, 11 }, + { 2923, 4 }, + { 2927, 8 }, + { 2935, 3 }, + { 2938, 32 }, + { 2970, 3 }, + { 2973, 2 }, + { 2975, 4 }, + { 2979, 4 }, + { 2983, 2 }, + { 2985, 2 }, + { 2987, 2 }, + { 2989, 2 }, + { 2991, 2 }, + { 2993, 2 }, + { 2995, 2 }, + { 2997, 2 }, + { 2999, 2 }, + { 3001, 2 }, + { 3003, 3 }, + { 3006, 2 }, + { 3008, 2 }, + { 3010, 2 }, + { 3012, 2 }, + { 3014, 2 }, + { 3016, 2 }, + { 3018, 2 }, + { 3020, 2 }, + { 3022, 2 }, + { 3024, 2 }, + { 3026, 2 }, + { 3028, 2 }, + { 3030, 2 }, + { 3032, 2 }, + { 3034, 2 }, + { 3036, 2 }, + { 3038, 2 }, + { 3040, 2 }, + { 3042, 2 }, + { 3044, 2 }, + { 3046, 2 }, + { 3048, 2 }, + { 3050, 2 }, + { 3052, 2 }, + { 3054, 2 }, + { 3056, 2 }, + { 3058, 2 }, + { 3060, 2 }, + { 3062, 2 }, + { 3064, 3 }, + { 3067, 3 }, + { 3070, 2 }, + { 3072, 3 }, + { 3075, 2 }, + { 3077, 2 }, + { 3079, 2 }, + { 3081, 2 }, + { 3083, 2 }, + { 3085, 2 }, + { 3087, 2 }, + { 3089, 2 }, + { 3091, 2 }, + { 3093, 3 }, + { 3096, 2 }, + { 3098, 2 }, + { 3100, 2 }, + { 3102, 2 }, + { 3104, 2 }, + { 3106, 2 }, + { 3108, 2 }, + { 3110, 2 }, + { 3112, 2 }, + { 3114, 2 }, + { 3116, 2 }, + { 3118, 2 }, + { 3120, 3 }, + { 3123, 2 }, + { 3125, 2 }, + { 3127, 3 }, + { 3130, 2 }, + { 3132, 2 }, + { 3134, 2 }, + { 3136, 2 }, + { 3138, 2 }, + { 3140, 3 }, + { 3143, 2 }, + { 3145, 2 }, + { 3147, 2 }, + { 3149, 2 }, + { 3151, 2 }, + { 3153, 2 }, + { 3155, 2 }, + { 3157, 2 }, + { 3159, 2 }, + { 3161, 2 }, + { 3163, 2 }, + { 3165, 2 }, + { 3167, 2 }, + { 3169, 2 }, + { 3171, 2 }, + { 3173, 2 }, + { 3175, 2 }, + { 3177, 2 }, + { 3179, 2 }, + { 3181, 2 }, + { 3183, 2 }, + { 3185, 2 }, + { 3187, 2 }, + { 3189, 2 }, + { 3191, 3 }, + { 3194, 2 }, + { 3196, 2 }, + { 3198, 2 }, + { 3200, 2 }, + { 3202, 2 }, + { 3204, 2 }, + { 3206, 2 }, + { 3208, 2 }, + { 3210, 2 }, + { 3212, 2 }, + { 3214, 2 }, + { 3216, 2 }, + { 3218, 3 }, + { 3221, 3 }, + { 3224, 2 }, + { 3226, 2 }, + { 3228, 2 }, + { 3230, 2 }, + { 3232, 2 }, + { 3234, 2 }, + { 3236, 2 }, + { 3238, 2 }, + { 3240, 2 }, + { 3242, 2 }, + { 3244, 2 }, + { 3246, 2 }, + { 3248, 2 }, + { 3250, 2 }, + { 3252, 2 }, + { 3254, 2 }, + { 3256, 2 }, + { 3258, 3 }, + { 3261, 2 }, + { 3263, 2 }, + { 3265, 2 }, + { 3267, 2 }, + { 3269, 3 }, + { 3272, 8 }, + { 3280, 3 }, + { 3283, 2 }, + { 3285, 3 }, + { 3288, 3 }, + { 3291, 3 }, + { 3294, 3 }, + { 3297, 3 }, + { 3300, 3 }, + { 3303, 3 }, + { 3306, 3 }, + { 3309, 3 }, + { 3312, 3 }, + { 3315, 3 }, + { 3318, 3 }, + { 3321, 3 }, + { 3324, 3 }, + { 3327, 3 }, + { 3330, 3 }, + { 3333, 3 }, + { 3336, 2 }, + { 3338, 2 }, + { 3340, 2 }, + { 3342, 2 }, + { 3344, 2 }, + { 3346, 2 }, + { 3348, 2 }, + { 3350, 2 }, + { 3352, 2 }, + { 3354, 2 }, + { 3356, 2 }, + { 3358, 3 }, + { 3361, 2 }, + { 3363, 2 }, + { 3365, 2 }, + { 3367, 2 }, + { 3369, 2 }, + { 3371, 2 }, + { 3373, 2 }, + { 3375, 2 }, + { 3377, 2 }, + { 3379, 2 }, + { 3381, 2 }, + { 3383, 2 }, + { 3385, 5 }, + { 3390, 2 }, + { 3392, 2 }, + { 3394, 5 }, + { 3399, 5 }, + { 3404, 4 }, + { 3408, 2 }, + { 3410, 2 }, + { 3412, 2 }, + { 3414, 2 }, + { 3416, 2 }, + { 3418, 2 }, + { 3420, 2 }, + { 3422, 3 }, + { 3425, 2 }, + { 3427, 2 }, + { 3429, 2 }, + { 3431, 2 }, + { 3433, 11 }, + { 3444, 2 }, + { 3446, 2 }, + { 3448, 2 }, + { 3450, 2 }, + { 3452, 3 }, + { 3455, 3 }, + { 3458, 3 }, + { 3461, 2 }, + { 3463, 2 }, + { 3465, 3 }, + { 3468, 2 }, + { 3470, 3 }, + { 3473, 2 }, + { 3475, 2 }, + { 3477, 2 }, + { 3479, 2 }, + { 3481, 3 }, + { 3484, 2 }, + { 3486, 2 }, + { 3488, 2 }, + { 3490, 2 }, + { 3492, 3 }, + { 3495, 2 }, + { 3497, 2 }, + { 3499, 2 }, + { 3501, 3 }, + { 3504, 2 }, + { 3506, 2 }, + { 3508, 2 }, + { 3510, 2 }, + { 3512, 2 }, + { 3514, 2 }, + { 3516, 2 }, + { 3518, 2 }, + { 3520, 3 }, + { 3523, 2 }, + { 3525, 2 }, + { 3527, 3 }, + { 3530, 2 }, + { 3532, 3 }, + { 3535, 2 }, + { 3537, 2 }, + { 3539, 2 }, + { 3541, 2 }, + { 3543, 2 }, + { 3545, 2 }, + { 3547, 3 }, + { 3550, 2 }, + { 3552, 2 }, + { 3554, 2 }, + { 3556, 2 }, + { 3558, 2 }, + { 3560, 2 }, + { 3562, 2 }, + { 3564, 2 }, + { 3566, 2 }, + { 3568, 2 }, + { 3570, 2 }, + { 3572, 2 }, + { 3574, 2 }, + { 3576, 2 }, + { 3578, 2 }, + { 3580, 2 }, + { 3582, 2 }, + { 3584, 2 }, + { 3586, 3 }, + { 3589, 2 }, + { 3591, 2 }, + { 3593, 2 }, + { 3595, 2 }, + { 3597, 2 }, + { 3599, 2 }, + { 3601, 2 }, + { 3603, 3 }, + { 3606, 2 }, + { 3608, 2 }, + { 3610, 2 }, + { 3612, 3 }, + { 3615, 2 }, + { 3617, 2 }, + { 3619, 2 }, + { 3621, 2 }, + { 3623, 2 }, + { 3625, 2 }, + { 3627, 2 }, + { 3629, 2 }, + { 3631, 2 }, + { 3633, 2 }, + { 3635, 4 }, + { 3639, 2 }, + { 3641, 2 }, + { 3643, 2 }, + { 3645, 3 }, + { 3648, 3 }, + { 3651, 2 }, + { 3653, 2 }, + { 3655, 3 }, + { 3658, 2 }, + { 3660, 2 }, + { 3662, 3 }, + { 3665, 2 }, + { 3667, 2 }, + { 3669, 2 }, + { 3671, 2 }, + { 3673, 3 }, + { 3676, 2 }, + { 3678, 2 }, + { 3680, 2 }, + { 3682, 3 }, + { 3685, 2 }, + { 3687, 2 }, + { 3689, 2 }, + { 3691, 2 }, + { 3693, 3 }, + { 3696, 2 }, + { 3698, 3 }, + { 3701, 2 }, + { 3703, 2 }, + { 3705, 2 }, + { 3707, 2 }, + { 3709, 2 }, + { 3711, 4 }, + { 3715, 2 }, + { 3717, 2 }, + { 3719, 2 }, + { 3721, 2 }, + { 3723, 2 }, + { 3725, 2 }, + { 3727, 2 }, + { 3729, 2 }, + { 3731, 5 }, + { 3736, 2 }, + { 3738, 2 }, + { 3740, 2 }, + { 3742, 2 }, + { 3744, 2 }, + { 3746, 2 }, + { 3748, 2 }, + { 3750, 2 }, + { 3752, 2 }, + { 3754, 2 }, + { 3756, 2 }, + { 3758, 2 }, + { 3760, 2 }, + { 3762, 2 }, + { 3764, 2 }, + { 3766, 2 }, + { 3768, 3 }, + { 3771, 2 }, + { 3773, 2 }, + { 3775, 3 }, + { 3778, 2 }, + { 3780, 3 }, + { 3783, 3 }, + { 3786, 2 }, + { 3788, 2 }, + { 3790, 2 }, + { 3792, 2 }, + { 3794, 2 }, + { 3796, 3 }, + { 3799, 2 }, + { 3801, 2 }, + { 3803, 2 }, + { 3805, 2 }, + { 3807, 2 }, + { 3809, 2 }, + { 3811, 4 }, + { 3815, 2 }, + { 3817, 2 }, + { 3819, 2 }, + { 3821, 2 }, + { 3823, 2 }, + { 3825, 2 }, + { 3827, 2 }, + { 3829, 2 }, + { 3831, 3 }, + { 3834, 2 }, + { 3836, 2 }, + { 3838, 2 }, + { 3840, 2 }, + { 3842, 2 }, + { 3844, 2 }, + { 3846, 2 }, + { 3848, 2 }, + { 3850, 2 }, + { 3852, 2 }, + { 3854, 2 }, + { 3856, 2 }, + { 3858, 2 }, + { 3860, 2 }, + { 3862, 3 }, + { 3865, 2 }, + { 3867, 2 }, + { 3869, 2 }, + { 3871, 2 }, + { 3873, 2 }, + { 3875, 2 }, + { 3877, 2 }, + { 3879, 2 }, + { 3881, 3 }, + { 3884, 2 }, + { 3886, 2 }, + { 3888, 2 }, + { 3890, 2 }, + { 3892, 2 }, + { 3894, 2 }, + { 3896, 2 }, + { 3898, 2 }, + { 3900, 2 }, + { 3902, 2 }, + { 3904, 2 }, + { 3906, 2 }, + { 3908, 2 }, + { 3910, 2 }, + { 3912, 3 }, + { 3915, 2 }, + { 3917, 2 }, + { 3919, 2 }, + { 3921, 2 }, + { 3923, 2 }, + { 3925, 2 }, + { 3927, 4 }, + { 3931, 2 }, + { 3933, 2 }, + { 3935, 2 }, + { 3937, 2 }, + { 3939, 2 }, + { 3941, 2 }, + { 3943, 2 }, + { 3945, 4 }, + { 3949, 2 }, + { 3951, 2 }, + { 3953, 2 }, + { 3955, 2 }, + { 3957, 2 }, + { 3959, 2 }, + { 3961, 2 }, + { 3963, 2 }, + { 3965, 4 }, + { 3969, 2 }, + { 3971, 2 }, + { 3973, 2 }, + { 3975, 2 }, + { 3977, 2 }, + { 3979, 2 }, + { 3981, 2 }, + { 3983, 2 }, + { 3985, 2 }, + { 3987, 2 }, + { 3989, 2 }, + { 3991, 2 }, + { 3993, 2 }, + { 3995, 2 }, + { 3997, 2 }, + { 3999, 2 }, + { 4001, 3 }, + { 4004, 2 }, + { 4006, 2 }, + { 4008, 2 }, + { 4010, 2 }, + { 4012, 2 }, + { 4014, 2 }, + { 4016, 2 }, + { 4018, 2 }, + { 4020, 2 }, + { 4022, 2 }, + { 4024, 2 }, + { 4026, 2 }, + { 4028, 2 }, + { 4030, 2 }, + { 4032, 3 }, + { 4035, 2 }, + { 4037, 2 }, + { 4039, 2 }, + { 4041, 2 }, + { 4043, 2 }, + { 4045, 2 }, + { 4047, 3 }, + { 4050, 2 }, + { 4052, 2 }, + { 4054, 2 }, + { 4056, 2 }, + { 4058, 2 }, + { 4060, 2 }, + { 4062, 3 }, + { 4065, 3 }, + { 4068, 2 }, + { 4070, 2 }, + { 4072, 2 }, + { 4074, 3 }, + { 4077, 2 }, + { 4079, 2 }, + { 4081, 2 }, + { 4083, 2 }, + { 4085, 2 }, + { 4087, 2 }, + { 4089, 2 }, + { 4091, 2 }, + { 4093, 2 }, + { 4095, 2 }, + { 4097, 2 }, + { 4099, 2 }, + { 4101, 2 }, + { 4103, 2 }, + { 4105, 2 }, + { 4107, 2 }, + { 4109, 2 }, + { 4111, 2 }, + { 4113, 2 }, + { 4115, 2 }, + { 4117, 2 }, + { 4119, 2 }, + { 4121, 2 }, + { 4123, 2 }, + { 4125, 2 }, + { 4127, 2 }, + { 4129, 2 }, + { 4131, 3 }, + { 4134, 2 }, + { 4136, 2 }, + { 4138, 2 }, + { 4140, 2 }, + { 4142, 2 }, + { 4144, 2 }, + { 4146, 2 }, + { 4148, 2 }, + { 4150, 3 }, + { 4153, 3 }, + { 4156, 2 }, + { 4158, 2 }, + { 4160, 4 }, + { 4164, 2 }, + { 4166, 2 }, + { 4168, 2 }, + { 4170, 2 }, + { 4172, 2 }, + { 4174, 2 }, + { 4176, 2 }, + { 4178, 4 }, + { 4182, 3 }, + { 4185, 2 }, + { 4187, 2 }, + { 4189, 2 }, + { 4191, 2 }, + { 4193, 2 }, + { 4195, 2 }, + { 4197, 3 }, + { 4200, 2 }, + { 4202, 2 }, + { 4204, 2 }, + { 4206, 2 }, + { 4208, 2 }, + { 4210, 2 }, + { 4212, 2 }, + { 4214, 2 }, + { 4216, 2 }, + { 4218, 2 }, + { 4220, 2 }, + { 4222, 2 }, + { 4224, 2 }, + { 4226, 2 }, + { 4228, 2 }, + { 4230, 2 }, + { 4232, 2 }, + { 4234, 2 }, + { 4236, 2 }, + { 4238, 2 }, + { 4240, 2 }, + { 4242, 2 }, + { 4244, 2 }, + { 4246, 2 }, + { 4248, 2 }, + { 4250, 2 }, + { 4252, 2 }, + { 4254, 2 }, + { 4256, 2 }, + { 4258, 2 }, + { 4260, 2 }, + { 4262, 2 }, + { 4264, 2 }, + { 4266, 2 }, + { 4268, 2 }, + { 4270, 2 }, + { 4272, 2 }, + { 4274, 3 }, + { 4277, 2 }, + { 4279, 2 }, + { 4281, 2 }, + { 4283, 2 }, + { 4285, 2 }, + { 4287, 2 }, + { 4289, 2 }, + { 4291, 2 }, + { 4293, 2 }, + { 4295, 2 }, + { 4297, 2 }, + { 4299, 2 }, + { 4301, 2 }, + { 4303, 2 }, + { 4305, 2 }, + { 4307, 2 }, + { 4309, 2 }, + { 4311, 2 }, + { 4313, 2 }, + { 4315, 2 }, + { 4317, 2 }, + { 4319, 3 }, + { 4322, 3 }, + { 4325, 2 }, + { 4327, 2 }, + { 4329, 2 }, + { 4331, 2 }, + { 4333, 2 }, + { 4335, 2 }, + { 4337, 2 }, + { 4339, 2 }, + { 4341, 2 }, + { 4343, 2 }, + { 4345, 2 }, + { 4347, 2 }, + { 4349, 2 }, + { 4351, 2 }, + { 4353, 2 }, + { 4355, 2 }, + { 4357, 2 }, + { 4359, 4 }, + { 4363, 2 }, + { 4365, 3 }, + { 4368, 2 }, + { 4370, 2 }, + { 4372, 2 }, + { 4374, 2 }, + { 4376, 2 }, + { 4378, 2 }, + { 4380, 2 }, + { 4382, 2 }, + { 4384, 2 }, + { 4386, 2 }, + { 4388, 2 }, + { 4390, 2 }, + { 4392, 2 }, + { 4394, 2 }, + { 4396, 2 }, + { 4398, 2 }, + { 4400, 2 }, + { 4402, 2 }, + { 4404, 2 }, + { 4406, 2 }, + { 4408, 2 }, + { 4410, 2 }, + { 4412, 2 }, + { 4414, 2 }, + { 4416, 2 }, + { 4418, 3 }, + { 4421, 2 }, + { 4423, 2 }, + { 4425, 2 }, + { 4427, 2 }, + { 4429, 3 }, + { 4432, 2 }, + { 4434, 2 }, + { 4436, 2 }, + { 4438, 2 }, + { 4440, 4 }, + { 4444, 2 }, + { 4446, 2 }, + { 4448, 2 }, + { 4450, 2 }, + { 4452, 2 }, + { 4454, 2 }, + { 4456, 2 }, + { 4458, 2 }, + { 4460, 2 }, + { 4462, 2 }, + { 4464, 2 }, + { 4466, 2 }, + { 4468, 2 }, + { 4470, 2 }, + { 4472, 2 }, + { 4474, 2 }, + { 4476, 3 }, + { 4479, 2 }, + { 4481, 2 }, + { 4483, 2 }, + { 4485, 2 }, + { 4487, 4 }, + { 4491, 2 }, + { 4493, 2 }, + { 4495, 2 }, + { 4497, 2 }, + { 4499, 2 }, + { 4501, 2 }, + { 4503, 2 }, + { 4505, 2 }, + { 4507, 2 }, + { 4509, 2 }, + { 4511, 2 }, + { 4513, 2 }, + { 4515, 2 }, + { 4517, 2 }, + { 4519, 2 }, + { 4521, 2 }, + { 4523, 2 }, + { 4525, 2 }, + { 4527, 2 }, + { 4529, 2 }, + { 4531, 2 }, + { 4533, 2 }, + { 4535, 2 }, + { 4537, 2 }, + { 4539, 2 }, + { 4541, 4 }, + { 4545, 2 }, + { 4547, 2 }, + { 4549, 2 }, + { 4551, 3 }, + { 4554, 2 }, + { 4556, 2 }, + { 4558, 2 }, + { 4560, 2 }, + { 4562, 2 }, + { 4564, 2 }, + { 4566, 2 }, + { 4568, 2 }, + { 4570, 2 }, + { 4572, 2 }, + { 4574, 2 }, + { 4576, 3 }, + { 4579, 2 }, + { 4581, 2 }, + { 4583, 2 }, + { 4585, 2 }, + { 4587, 2 }, + { 4589, 2 }, + { 4591, 2 }, + { 4593, 3 }, + { 4596, 2 }, + { 4598, 2 }, + { 4600, 2 }, + { 4602, 2 }, + { 4604, 2 }, + { 4606, 2 }, + { 4608, 2 }, + { 4610, 2 }, + { 4612, 2 }, + { 4614, 3 }, + { 4617, 2 }, + { 4619, 2 }, + { 4621, 2 }, + { 4623, 2 }, + { 4625, 2 }, + { 4627, 2 }, + { 4629, 2 }, + { 4631, 2 }, + { 4633, 2 }, + { 4635, 2 }, + { 4637, 2 }, + { 4639, 2 }, + { 4641, 3 }, + { 4644, 2 }, + { 4646, 2 }, + { 4648, 2 }, + { 4650, 2 }, + { 4652, 2 }, + { 4654, 2 }, + { 4656, 2 }, + { 4658, 2 }, + { 4660, 2 }, + { 4662, 2 }, + { 4664, 2 }, + { 4666, 2 }, + { 4668, 3 }, + { 4671, 3 }, + { 4674, 2 }, + { 4676, 2 }, + { 4678, 2 }, + { 4680, 2 }, + { 4682, 2 }, + { 4684, 2 }, + { 4686, 2 }, + { 4688, 2 }, + { 4690, 2 }, + { 4692, 2 }, + { 4694, 2 }, + { 4696, 2 }, + { 4698, 2 }, + { 4700, 2 }, + { 4702, 2 }, + { 4704, 2 }, + { 4706, 2 }, + { 4708, 2 }, + { 4710, 3 }, + { 4713, 2 }, + { 4715, 2 }, + { 4717, 2 }, + { 4719, 2 }, + { 4721, 3 }, + { 4724, 2 }, + { 4726, 2 }, + { 4728, 2 }, + { 4730, 2 }, + { 4732, 2 }, + { 4734, 3 }, + { 4737, 2 }, + { 4739, 2 }, + { 4741, 2 }, + { 4743, 2 }, + { 4745, 2 }, + { 4747, 2 }, + { 4749, 2 }, + { 4751, 3 }, + { 4754, 2 }, + { 4756, 2 }, + { 4758, 2 }, + { 4760, 2 }, + { 4762, 2 }, + { 4764, 2 }, + { 4766, 2 }, + { 4768, 2 }, + { 4770, 2 }, + { 4772, 2 }, + { 4774, 2 }, + { 4776, 2 }, + { 4778, 2 }, + { 4780, 2 }, + { 4782, 2 }, + { 4784, 2 }, + { 4786, 2 }, + { 4788, 2 }, + { 4790, 3 }, + { 4793, 2 }, + { 4795, 2 }, + { 4797, 2 }, + { 4799, 2 }, + { 4801, 2 }, + { 4803, 2 }, + { 4805, 2 }, + { 4807, 2 }, + { 4809, 2 }, + { 4811, 2 }, + { 4813, 2 }, + { 4815, 2 }, + { 4817, 2 }, + { 4819, 2 }, + { 4821, 2 }, + { 4823, 2 }, + { 4825, 2 }, + { 4827, 3 }, + { 4830, 2 }, + { 4832, 2 }, + { 4834, 2 }, + { 4836, 2 }, + { 4838, 3 }, + { 4841, 2 }, + { 4843, 2 }, + { 4845, 2 }, + { 4847, 2 }, + { 4849, 2 }, + { 4851, 2 }, + { 4853, 3 }, + { 4856, 2 }, + { 4858, 2 }, + { 4860, 3 }, + { 4863, 4 }, + { 4867, 2 }, + { 4869, 2 }, + { 4871, 2 }, + { 4873, 2 }, + { 4875, 2 }, + { 4877, 2 }, + { 4879, 2 }, + { 4881, 2 }, + { 4883, 2 }, + { 4885, 2 }, + { 4887, 2 }, + { 4889, 2 }, + { 4891, 2 }, + { 4893, 3 }, + { 4896, 2 }, + { 4898, 2 }, + { 4900, 3 }, + { 4903, 2 }, + { 4905, 2 }, + { 4907, 2 }, + { 4909, 2 }, + { 4911, 2 }, + { 4913, 2 }, + { 4915, 2 }, + { 4917, 2 }, + { 4919, 2 }, + { 4921, 2 }, + { 4923, 2 }, + { 4925, 3 }, + { 4928, 2 }, + { 4930, 2 }, + { 4932, 2 }, + { 4934, 3 }, + { 4937, 2 }, + { 4939, 2 }, + { 4941, 2 }, + { 4943, 2 }, + { 4945, 3 }, + { 4948, 2 }, + { 4950, 2 }, + { 4952, 2 }, + { 4954, 2 }, + { 4956, 2 }, + { 4958, 2 }, + { 4960, 2 }, + { 4962, 2 }, + { 4964, 2 }, + { 4966, 3 }, + { 4969, 2 }, + { 4971, 2 }, + { 4973, 2 }, + { 4975, 2 }, + { 4977, 2 }, + { 4979, 3 }, + { 4982, 2 }, + { 4984, 3 }, + { 4987, 2 }, + { 4989, 2 }, + { 4991, 2 }, + { 4993, 3 }, + { 4996, 2 }, + { 4998, 2 }, + { 5000, 2 }, + { 5002, 2 }, + { 5004, 2 }, + { 5006, 2 }, + { 5008, 2 }, + { 5010, 2 }, + { 5012, 2 }, + { 5014, 2 }, + { 5016, 2 }, + { 5018, 2 }, + { 5020, 2 }, + { 5022, 2 }, + { 5024, 2 }, + { 5026, 2 }, + { 5028, 2 }, + { 5030, 2 }, + { 5032, 2 }, + { 5034, 2 }, + { 5036, 2 }, + { 5038, 2 }, + { 5040, 2 }, + { 5042, 2 }, + { 5044, 2 }, + { 5046, 2 }, + { 5048, 2 }, + { 5050, 2 }, + { 5052, 2 }, + { 5054, 2 }, + { 5056, 2 }, + { 5058, 2 }, + { 5060, 4 }, + { 5064, 2 }, + { 5066, 2 }, + { 5068, 2 }, + { 5070, 2 }, + { 5072, 2 }, + { 5074, 2 }, + { 5076, 2 }, + { 5078, 2 }, + { 5080, 2 }, + { 5082, 2 }, + { 5084, 2 }, + { 5086, 2 }, + { 5088, 2 }, + { 5090, 3 }, + { 5093, 2 }, + { 5095, 2 }, + { 5097, 2 }, + { 5099, 2 }, + { 5101, 2 }, + { 5103, 2 }, + { 5105, 2 }, + { 5107, 2 }, + { 5109, 2 }, + { 5111, 2 }, + { 5113, 2 }, + { 5115, 3 }, + { 5118, 2 }, + { 5120, 3 }, + { 5123, 2 }, + { 5125, 4 }, + { 5129, 2 }, + { 5131, 2 }, + { 5133, 2 }, + { 5135, 2 }, + { 5137, 2 }, + { 5139, 2 }, + { 5141, 2 }, + { 5143, 2 }, + { 5145, 2 }, + { 5147, 2 }, + { 5149, 2 }, + { 5151, 2 }, + { 5153, 2 }, + { 5155, 2 }, + { 5157, 2 }, + { 5159, 2 }, + { 5161, 2 }, + { 5163, 2 }, + { 5165, 2 }, + { 5167, 2 }, + { 5169, 2 }, + { 5171, 2 }, + { 5173, 2 }, + { 5175, 2 }, + { 5177, 2 }, + { 5179, 2 }, + { 5181, 2 }, + { 5183, 2 }, + { 5185, 2 }, + { 5187, 2 }, + { 5189, 2 }, + { 5191, 2 }, + { 5193, 2 }, + { 5195, 3 }, + { 5198, 2 }, + { 5200, 2 }, + { 5202, 2 }, + { 5204, 2 }, + { 5206, 2 }, + { 5208, 2 }, + { 5210, 2 }, + { 5212, 2 }, + { 5214, 2 }, + { 5216, 2 }, + { 5218, 6 }, + { 5224, 2 }, + { 5226, 2 }, + { 5228, 2 }, + { 5230, 2 }, + { 5232, 2 }, + { 5234, 2 }, + { 5236, 3 }, + { 5239, 2 }, + { 5241, 2 }, + { 5243, 2 }, + { 5245, 2 }, + { 5247, 2 }, + { 5249, 2 }, + { 5251, 2 }, + { 5253, 2 }, + { 5255, 2 }, + { 5257, 2 }, + { 5259, 2 }, + { 5261, 2 }, + { 5263, 2 }, + { 5265, 2 }, + { 5267, 2 }, + { 5269, 2 }, + { 5271, 3 }, + { 5274, 2 }, + { 5276, 2 }, + { 5278, 2 }, + { 5280, 2 }, + { 5282, 2 }, + { 5284, 2 }, + { 5286, 2 }, + { 5288, 2 }, + { 5290, 2 }, + { 5292, 2 }, + { 5294, 2 }, + { 5296, 2 }, + { 5298, 2 }, + { 5300, 2 }, + { 5302, 2 }, + { 5304, 2 }, + { 5306, 2 }, + { 5308, 2 }, + { 5310, 2 }, + { 5312, 2 }, + { 5314, 2 }, + { 5316, 2 }, + { 5318, 2 }, + { 5320, 2 }, + { 5322, 2 }, + { 5324, 2 }, + { 5326, 2 }, + { 5328, 2 }, + { 5330, 2 }, + { 5332, 2 }, + { 5334, 3 }, + { 5337, 2 }, + { 5339, 2 }, + { 5341, 2 }, + { 5343, 2 }, + { 5345, 2 }, + { 5347, 2 }, + { 5349, 2 }, + { 5351, 2 }, + { 5353, 2 }, + { 5355, 2 }, + { 5357, 3 }, + { 5360, 2 }, + { 5362, 2 }, + { 5364, 2 }, + { 5366, 2 }, + { 5368, 2 }, + { 5370, 2 }, + { 5372, 2 }, + { 5374, 2 }, + { 5376, 3 }, + { 5379, 2 }, + { 5381, 3 }, + { 5384, 2 }, + { 5386, 2 }, + { 5388, 2 }, + { 5390, 2 }, + { 5392, 2 }, + { 5394, 2 }, + { 5396, 2 }, + { 5398, 2 }, + { 5400, 2 }, + { 5402, 2 }, + { 5404, 2 }, + { 5406, 2 }, + { 5408, 2 }, + { 5410, 2 }, + { 5412, 2 }, + { 5414, 2 }, + { 5416, 2 }, + { 5418, 3 }, + { 5421, 2 }, + { 5423, 2 }, + { 5425, 2 }, + { 5427, 2 }, + { 5429, 2 }, + { 5431, 2 }, + { 5433, 2 }, + { 5435, 2 }, + { 5437, 2 }, + { 5439, 2 }, + { 5441, 3 }, + { 5444, 2 }, + { 5446, 2 }, + { 5448, 2 }, + { 5450, 2 }, + { 5452, 3 }, + { 5455, 3 }, + { 5458, 3 }, + { 5461, 3 }, + { 5464, 3 }, + { 5467, 2 }, + { 5469, 2 }, + { 5471, 2 }, + { 5473, 3 }, + { 5476, 2 }, + { 5478, 2 }, + { 5480, 2 }, + { 5482, 2 }, + { 5484, 3 }, + { 5487, 2 }, + { 5489, 2 }, + { 5491, 2 }, + { 5493, 2 }, + { 5495, 2 }, + { 5497, 2 }, + { 5499, 2 }, + { 5501, 2 }, + { 5503, 2 }, + { 5505, 3 }, + { 5508, 2 }, + { 5510, 2 }, + { 5512, 2 }, + { 5514, 2 }, + { 5516, 2 }, + { 5518, 2 }, + { 5520, 2 }, + { 5522, 2 }, + { 5524, 2 }, + { 5526, 2 }, + { 5528, 2 }, + { 5530, 2 }, + { 5532, 2 }, + { 5534, 2 }, + { 5536, 2 }, + { 5538, 2 }, + { 5540, 3 }, + { 5543, 2 }, + { 5545, 2 }, + { 5547, 2 }, + { 5549, 2 }, + { 5551, 3 }, + { 5554, 2 }, + { 5556, 2 }, + { 5558, 2 }, + { 5560, 2 }, + { 5562, 2 }, + { 5564, 3 }, + { 5567, 2 }, + { 5569, 4 }, + { 5573, 2 }, + { 5575, 2 }, + { 5577, 3 }, + { 5580, 2 }, + { 5582, 2 }, + { 5584, 2 }, + { 5586, 2 }, + { 5588, 2 }, + { 5590, 2 }, + { 5592, 2 }, + { 5594, 4 }, + { 5598, 2 }, + { 5600, 2 }, + { 5602, 2 }, + { 5604, 2 }, + { 5606, 2 }, + { 5608, 2 }, + { 5610, 2 }, + { 5612, 2 }, + { 5614, 2 }, + { 5616, 2 }, + { 5618, 3 }, + { 5621, 2 }, + { 5623, 3 }, + { 5626, 2 }, + { 5628, 2 }, + { 5630, 2 }, + { 5632, 2 }, + { 5634, 2 }, + { 5636, 2 }, + { 5638, 2 }, + { 5640, 2 }, + { 5642, 2 }, + { 5644, 2 }, + { 5646, 2 }, + { 5648, 2 }, + { 5650, 2 }, + { 5652, 3 }, + { 5655, 2 }, + { 5657, 2 }, + { 5659, 2 }, + { 5661, 2 }, + { 5663, 2 }, + { 5665, 2 }, + { 5667, 2 }, + { 5669, 2 }, + { 5671, 2 }, + { 5673, 2 }, + { 5675, 3 }, + { 5678, 2 }, + { 5680, 2 }, + { 5682, 2 }, + { 5684, 2 }, + { 5686, 2 }, + { 5688, 2 }, + { 5690, 2 }, + { 5692, 2 }, + { 5694, 2 }, + { 5696, 2 }, + { 5698, 4 }, + { 5702, 2 }, + { 5704, 2 }, + { 5706, 2 }, + { 5708, 3 }, + { 5711, 2 }, + { 5713, 2 }, + { 5715, 2 }, + { 5717, 2 }, + { 5719, 2 }, + { 5721, 2 }, + { 5723, 2 }, + { 5725, 2 }, + { 5727, 2 }, + { 5729, 3 }, + { 5732, 2 }, + { 5734, 2 }, + { 5736, 2 }, + { 5738, 2 }, + { 5740, 2 }, + { 5742, 2 }, + { 5744, 2 }, + { 5746, 2 }, + { 5748, 2 }, + { 5750, 2 }, + { 5752, 2 }, + { 5754, 2 }, + { 5756, 2 }, + { 5758, 2 }, + { 5760, 3 }, + { 5763, 2 }, + { 5765, 2 }, + { 5767, 4 }, + { 5771, 2 }, + { 5773, 2 }, + { 5775, 2 }, + { 5777, 3 }, + { 5780, 2 }, + { 5782, 2 }, + { 5784, 2 }, + { 5786, 2 }, + { 5788, 2 }, + { 5790, 2 }, + { 5792, 2 }, + { 5794, 3 }, + { 5797, 2 }, + { 5799, 2 }, + { 5801, 2 }, + { 5803, 2 }, + { 5805, 2 }, + { 5807, 2 }, + { 5809, 2 }, + { 5811, 2 }, + { 5813, 2 }, + { 5815, 2 }, + { 5817, 2 }, + { 5819, 2 }, + { 5821, 2 }, + { 5823, 2 }, + { 5825, 2 }, + { 5827, 2 }, + { 5829, 2 }, + { 5831, 2 }, + { 5833, 2 }, + { 5835, 2 }, + { 5837, 2 }, + { 5839, 2 }, + { 5841, 3 }, + { 5844, 2 }, + { 5846, 2 }, + { 5848, 2 }, + { 5850, 3 }, + { 5853, 2 }, + { 5855, 2 }, + { 5857, 2 }, + { 5859, 2 }, + { 5861, 2 }, + { 5863, 2 }, + { 5865, 2 }, + { 5867, 2 }, + { 5869, 2 }, + { 5871, 2 }, + { 5873, 2 }, + { 5875, 2 }, + { 5877, 2 }, + { 5879, 2 }, + { 5881, 2 }, + { 5883, 2 }, + { 5885, 2 }, + { 5887, 2 }, + { 5889, 2 }, + { 5891, 3 }, + { 5894, 2 }, + { 5896, 2 }, + { 5898, 2 }, + { 5900, 2 }, + { 5902, 2 }, + { 5904, 3 }, + { 5907, 2 }, + { 5909, 2 }, + { 5911, 2 }, + { 5913, 2 }, + { 5915, 2 }, + { 5917, 2 }, + { 5919, 3 }, + { 5922, 2 }, + { 5924, 3 }, + { 5927, 2 }, + { 5929, 2 }, + { 5931, 2 }, + { 5933, 2 }, + { 5935, 2 }, + { 5937, 2 }, + { 5939, 2 }, + { 5941, 2 }, + { 5943, 3 }, + { 5946, 2 }, + { 5948, 2 }, + { 5950, 2 }, + { 5952, 2 }, + { 5954, 2 }, + { 5956, 2 }, + { 5958, 3 }, + { 5961, 2 }, + { 5963, 2 }, + { 5965, 5 }, + { 5970, 2 }, + { 5972, 2 }, + { 5974, 2 }, + }; + +struct ConfusableCharacterClass +{ + uint32_t uc; + uint16_t index; +}; +static const struct ConfusableCharacterClass confusable_character_classes[] = + { + { 0x20, 52 }, + { 0x21, 61 }, + { 0x26, 81 }, + { 0x27, 67 }, + { 0x28, 68 }, + { 0x29, 69 }, + { 0x2A, 78 }, + { 0x2B, 111 }, + { 0x2C, 56 }, + { 0x2D, 54 }, + { 0x2E, 64 }, + { 0x2F, 79 }, + { 0x30, 285 }, + { 0x31, 275 }, + { 0x32, 185 }, + { 0x33, 191 }, + { 0x34, 195 }, + { 0x35, 199 }, + { 0x36, 201 }, + { 0x37, 205 }, + { 0x38, 207 }, + { 0x39, 210 }, + { 0x3A, 60 }, + { 0x3B, 58 }, + { 0x3C, 113 }, + { 0x3D, 114 }, + { 0x3E, 115 }, + { 0x3F, 62 }, + { 0x41, 215 }, + { 0x42, 224 }, + { 0x43, 227 }, + { 0x44, 233 }, + { 0x45, 237 }, + { 0x46, 249 }, + { 0x47, 253 }, + { 0x48, 260 }, + { 0x49, 275 }, + { 0x4A, 271 }, + { 0x4B, 274 }, + { 0x4C, 276 }, + { 0x4D, 278 }, + { 0x4E, 281 }, + { 0x4F, 285 }, + { 0x50, 293 }, + { 0x51, 297 }, + { 0x52, 300 }, + { 0x53, 304 }, + { 0x54, 309 }, + { 0x55, 314 }, + { 0x56, 320 }, + { 0x57, 323 }, + { 0x58, 325 }, + { 0x59, 327 }, + { 0x5A, 330 }, + { 0x5C, 80 }, + { 0x5E, 88 }, + { 0x5F, 53 }, + { 0x60, 67 }, + { 0x61, 214 }, + { 0x62, 223 }, + { 0x63, 226 }, + { 0x64, 232 }, + { 0x65, 236 }, + { 0x66, 248 }, + { 0x67, 252 }, + { 0x68, 259 }, + { 0x69, 266 }, + { 0x6A, 270 }, + { 0x6B, 273 }, + { 0x6C, 275 }, + { 0x6E, 280 }, + { 0x6F, 284 }, + { 0x70, 292 }, + { 0x71, 296 }, + { 0x72, 299 }, + { 0x73, 303 }, + { 0x74, 308 }, + { 0x75, 313 }, + { 0x76, 319 }, + { 0x78, 324 }, + { 0x79, 326 }, + { 0x7A, 329 }, + { 0x7B, 70 }, + { 0x7C, 275 }, + { 0x7D, 71 }, + { 0x7E, 116 }, + { 0xA0, 52 }, + { 0xA3, 176 }, + { 0xA9, 97 }, + { 0xAE, 98 }, + { 0xAF, 90 }, + { 0xB0, 95 }, + { 0xB4, 67 }, + { 0xB5, 345 }, + { 0xB6, 77 }, + { 0xB7, 65 }, + { 0xB8, 56 }, + { 0xBA, 286 }, + { 0xC5, 219 }, + { 0xD6, 148 }, + { 0xD7, 324 }, + { 0xDE, 332 }, + { 0xDF, 305 }, + { 0xE5, 218 }, + { 0xF6, 401 }, + { 0xF7, 112 }, + { 0xFE, 331 }, + { 0x102, 217 }, + { 0x103, 216 }, + { 0x114, 239 }, + { 0x115, 238 }, + { 0x11A, 239 }, + { 0x11B, 238 }, + { 0x11E, 256 }, + { 0x11F, 255 }, + { 0x123, 257 }, + { 0x12C, 269 }, + { 0x12D, 268 }, + { 0x131, 266 }, + { 0x138, 273 }, + { 0x146, 283 }, + { 0x14E, 288 }, + { 0x14F, 287 }, + { 0x150, 148 }, + { 0x162, 310 }, + { 0x163, 312 }, + { 0x16C, 316 }, + { 0x16D, 315 }, + { 0x17F, 248 }, + { 0x184, 223 }, + { 0x185, 335 }, + { 0x186, 290 }, + { 0x18D, 252 }, + { 0x18E, 241 }, + { 0x18F, 242 }, + { 0x190, 243 }, + { 0x196, 275 }, + { 0x1A6, 300 }, + { 0x1A7, 185 }, + { 0x1A8, 334 }, + { 0x1A9, 307 }, + { 0x1AB, 312 }, + { 0x1B1, 318 }, + { 0x1B7, 191 }, + { 0x1BC, 199 }, + { 0x1BD, 303 }, + { 0x1BF, 331 }, + { 0x1C0, 275 }, + { 0x1C3, 61 }, + { 0x1CD, 217 }, + { 0x1CE, 216 }, + { 0x1CF, 269 }, + { 0x1D0, 268 }, + { 0x1D1, 288 }, + { 0x1D2, 287 }, + { 0x1D3, 316 }, + { 0x1D4, 315 }, + { 0x1DD, 240 }, + { 0x1E6, 256 }, + { 0x1E7, 255 }, + { 0x1F5, 257 }, + { 0x1F6, 263 }, + { 0x21A, 310 }, + { 0x21B, 312 }, + { 0x21C, 191 }, + { 0x21D, 328 }, + { 0x222, 207 }, + { 0x223, 207 }, + { 0x226, 219 }, + { 0x227, 218 }, + { 0x237, 272 }, + { 0x241, 62 }, + { 0x245, 322 }, + { 0x24B, 298 }, + { 0x251, 214 }, + { 0x254, 289 }, + { 0x259, 240 }, + { 0x25B, 228 }, + { 0x25C, 245 }, + { 0x25E, 246 }, + { 0x261, 252 }, + { 0x262, 258 }, + { 0x263, 326 }, + { 0x269, 266 }, + { 0x26A, 266 }, + { 0x270, 317 }, + { 0x272, 283 }, + { 0x277, 291 }, + { 0x278, 295 }, + { 0x27F, 302 }, + { 0x283, 306 }, + { 0x28B, 313 }, + { 0x28C, 321 }, + { 0x28F, 326 }, + { 0x292, 328 }, + { 0x294, 62 }, + { 0x298, 338 }, + { 0x299, 225 }, + { 0x29A, 247 }, + { 0x29C, 262 }, + { 0x29F, 277 }, + { 0x2A1, 337 }, + { 0x2B3, 573 }, + { 0x2B9, 67 }, + { 0x2BB, 67 }, + { 0x2BC, 67 }, + { 0x2BD, 67 }, + { 0x2BE, 67 }, + { 0x2BF, 378 }, + { 0x2C1, 336 }, + { 0x2C2, 113 }, + { 0x2C3, 115 }, + { 0x2C4, 88 }, + { 0x2C6, 88 }, + { 0x2C7, 89 }, + { 0x2C8, 67 }, + { 0x2C9, 90 }, + { 0x2CA, 67 }, + { 0x2CB, 67 }, + { 0x2CF, 91 }, + { 0x2D0, 60 }, + { 0x2D3, 378 }, + { 0x2D7, 54 }, + { 0x2D8, 89 }, + { 0x2D9, 174 }, + { 0x2DA, 95 }, + { 0x2DB, 266 }, + { 0x2DC, 116 }, + { 0x2E1, 572 }, + { 0x2E2, 574 }, + { 0x2E4, 336 }, + { 0x2EA, 92 }, + { 0x2EB, 93 }, + { 0x2F3, 94 }, + { 0x2F4, 67 }, + { 0x2F8, 60 }, + { 0x2FB, 92 }, + { 0x300, 8 }, + { 0x301, 7 }, + { 0x302, 10 }, + { 0x303, 14 }, + { 0x304, 18 }, + { 0x305, 18 }, + { 0x306, 9 }, + { 0x307, 15 }, + { 0x308, 12 }, + { 0x309, 32 }, + { 0x30A, 11 }, + { 0x30B, 13 }, + { 0x30C, 9 }, + { 0x30D, 44 }, + { 0x30E, 19 }, + { 0x311, 10 }, + { 0x312, 20 }, + { 0x313, 5 }, + { 0x314, 6 }, + { 0x315, 5 }, + { 0x316, 23 }, + { 0x317, 42 }, + { 0x320, 39 }, + { 0x321, 36 }, + { 0x322, 17 }, + { 0x323, 33 }, + { 0x324, 34 }, + { 0x325, 35 }, + { 0x326, 36 }, + { 0x327, 36 }, + { 0x328, 17 }, + { 0x329, 24 }, + { 0x32B, 25 }, + { 0x32D, 37 }, + { 0x32E, 38 }, + { 0x331, 39 }, + { 0x333, 26 }, + { 0x335, 31 }, + { 0x336, 31 }, + { 0x337, 16 }, + { 0x338, 16 }, + { 0x339, 36 }, + { 0x340, 8 }, + { 0x341, 7 }, + { 0x342, 14 }, + { 0x343, 5 }, + { 0x345, 17 }, + { 0x347, 26 }, + { 0x350, 21 }, + { 0x352, 22 }, + { 0x354, 27 }, + { 0x355, 28 }, + { 0x357, 21 }, + { 0x358, 15 }, + { 0x366, 11 }, + { 0x36E, 9 }, + { 0x370, 264 }, + { 0x374, 67 }, + { 0x375, 91 }, + { 0x376, 360 }, + { 0x377, 282 }, + { 0x37A, 266 }, + { 0x37B, 289 }, + { 0x37D, 230 }, + { 0x37E, 58 }, + { 0x37F, 271 }, + { 0x384, 67 }, + { 0x387, 65 }, + { 0x391, 215 }, + { 0x392, 224 }, + { 0x393, 339 }, + { 0x394, 340 }, + { 0x395, 237 }, + { 0x396, 330 }, + { 0x397, 260 }, + { 0x399, 275 }, + { 0x39A, 274 }, + { 0x39B, 322 }, + { 0x39C, 278 }, + { 0x39D, 281 }, + { 0x39E, 347 }, + { 0x39F, 285 }, + { 0x3A0, 348 }, + { 0x3A1, 293 }, + { 0x3A3, 307 }, + { 0x3A4, 309 }, + { 0x3A5, 327 }, + { 0x3A6, 351 }, + { 0x3A7, 325 }, + { 0x3A8, 354 }, + { 0x3A9, 356 }, + { 0x3B1, 214 }, + { 0x3B2, 305 }, + { 0x3B3, 326 }, + { 0x3B4, 235 }, + { 0x3B5, 228 }, + { 0x3B6, 342 }, + { 0x3B9, 266 }, + { 0x3BA, 273 }, + { 0x3BB, 344 }, + { 0x3BC, 345 }, + { 0x3BD, 319 }, + { 0x3BE, 346 }, + { 0x3BF, 284 }, + { 0x3C0, 280 }, + { 0x3C1, 292 }, + { 0x3C2, 350 }, + { 0x3C3, 284 }, + { 0x3C4, 308 }, + { 0x3C5, 313 }, + { 0x3C6, 295 }, + { 0x3C7, 352 }, + { 0x3C8, 353 }, + { 0x3C9, 355 }, + { 0x3D0, 305 }, + { 0x3D2, 327 }, + { 0x3D5, 295 }, + { 0x3D6, 280 }, + { 0x3D7, 343 }, + { 0x3D8, 349 }, + { 0x3DB, 350 }, + { 0x3DC, 249 }, + { 0x3DD, 341 }, + { 0x3E8, 185 }, + { 0x3E9, 334 }, + { 0x3EC, 359 }, + { 0x3F0, 273 }, + { 0x3F1, 292 }, + { 0x3F2, 226 }, + { 0x3F3, 270 }, + { 0x3F5, 228 }, + { 0x3F7, 332 }, + { 0x3F8, 331 }, + { 0x3F9, 227 }, + { 0x3FA, 278 }, + { 0x3FD, 290 }, + { 0x3FF, 231 }, + { 0x404, 229 }, + { 0x405, 304 }, + { 0x406, 275 }, + { 0x408, 271 }, + { 0x40D, 361 }, + { 0x410, 215 }, + { 0x412, 224 }, + { 0x413, 339 }, + { 0x415, 237 }, + { 0x417, 191 }, + { 0x418, 360 }, + { 0x419, 361 }, + { 0x41A, 274 }, + { 0x41B, 322 }, + { 0x41C, 278 }, + { 0x41D, 260 }, + { 0x41E, 285 }, + { 0x41F, 348 }, + { 0x420, 293 }, + { 0x421, 227 }, + { 0x422, 309 }, + { 0x424, 351 }, + { 0x425, 325 }, + { 0x428, 371 }, + { 0x42C, 223 }, + { 0x42D, 372 }, + { 0x430, 214 }, + { 0x431, 201 }, + { 0x432, 225 }, + { 0x433, 299 }, + { 0x435, 236 }, + { 0x437, 245 }, + { 0x438, 282 }, + { 0x439, 362 }, + { 0x43A, 273 }, + { 0x43B, 363 }, + { 0x43D, 262 }, + { 0x43E, 284 }, + { 0x43F, 280 }, + { 0x440, 292 }, + { 0x441, 226 }, + { 0x442, 308 }, + { 0x443, 326 }, + { 0x444, 295 }, + { 0x445, 324 }, + { 0x446, 313 }, + { 0x448, 370 }, + { 0x44C, 335 }, + { 0x44F, 301 }, + { 0x454, 228 }, + { 0x455, 303 }, + { 0x456, 266 }, + { 0x458, 270 }, + { 0x459, 364 }, + { 0x45D, 362 }, + { 0x460, 366 }, + { 0x470, 354 }, + { 0x471, 353 }, + { 0x474, 320 }, + { 0x475, 319 }, + { 0x4AE, 327 }, + { 0x4AF, 326 }, + { 0x4B6, 369 }, + { 0x4B7, 368 }, + { 0x4BB, 259 }, + { 0x4BD, 236 }, + { 0x4C0, 275 }, + { 0x4CB, 369 }, + { 0x4CC, 368 }, + { 0x4CF, 266 }, + { 0x4D8, 242 }, + { 0x4D9, 240 }, + { 0x4E0, 191 }, + { 0x4E1, 328 }, + { 0x4FE, 365 }, + { 0x501, 232 }, + { 0x50A, 263 }, + { 0x50C, 253 }, + { 0x50D, 258 }, + { 0x510, 243 }, + { 0x511, 228 }, + { 0x51B, 296 }, + { 0x51C, 323 }, + { 0x53B, 447 }, + { 0x544, 445 }, + { 0x548, 376 }, + { 0x54A, 448 }, + { 0x54C, 446 }, + { 0x54D, 314 }, + { 0x54F, 304 }, + { 0x553, 351 }, + { 0x554, 377 }, + { 0x555, 285 }, + { 0x559, 378 }, + { 0x55A, 67 }, + { 0x55D, 67 }, + { 0x563, 296 }, + { 0x566, 296 }, + { 0x56E, 235 }, + { 0x570, 259 }, + { 0x571, 375 }, + { 0x575, 272 }, + { 0x578, 280 }, + { 0x57A, 317 }, + { 0x57C, 280 }, + { 0x57D, 313 }, + { 0x581, 252 }, + { 0x584, 248 }, + { 0x585, 284 }, + { 0x589, 60 }, + { 0x596, 0 }, + { 0x598, 1 }, + { 0x599, 2 }, + { 0x59A, 3 }, + { 0x59C, 7 }, + { 0x59D, 7 }, + { 0x5A4, 3 }, + { 0x5A8, 2 }, + { 0x5AD, 0 }, + { 0x5AE, 1 }, + { 0x5AF, 11 }, + { 0x5B4, 33 }, + { 0x5B9, 15 }, + { 0x5BA, 15 }, + { 0x5C0, 275 }, + { 0x5C1, 15 }, + { 0x5C2, 15 }, + { 0x5C3, 60 }, + { 0x5C4, 15 }, + { 0x5C5, 33 }, + { 0x5D0, 379 }, + { 0x5D1, 381 }, + { 0x5D2, 382 }, + { 0x5D3, 383 }, + { 0x5D4, 384 }, + { 0x5D5, 275 }, + { 0x5D8, 319 }, + { 0x5D9, 67 }, + { 0x5DB, 386 }, + { 0x5DC, 387 }, + { 0x5DD, 388 }, + { 0x5DF, 275 }, + { 0x5E1, 284 }, + { 0x5E2, 389 }, + { 0x5E8, 390 }, + { 0x5EA, 393 }, + { 0x5F3, 67 }, + { 0x60C, 57 }, + { 0x60D, 56 }, + { 0x60F, 423 }, + { 0x618, 7 }, + { 0x619, 5 }, + { 0x61A, 42 }, + { 0x61B, 59 }, + { 0x61F, 63 }, + { 0x621, 394 }, + { 0x622, 395 }, + { 0x627, 275 }, + { 0x628, 397 }, + { 0x629, 401 }, + { 0x62A, 402 }, + { 0x62C, 405 }, + { 0x62D, 410 }, + { 0x62E, 411 }, + { 0x62F, 412 }, + { 0x630, 413 }, + { 0x631, 416 }, + { 0x632, 417 }, + { 0x633, 418 }, + { 0x635, 419 }, + { 0x636, 420 }, + { 0x637, 421 }, + { 0x638, 422 }, + { 0x639, 423 }, + { 0x63A, 424 }, + { 0x641, 425 }, + { 0x642, 428 }, + { 0x643, 429 }, + { 0x644, 434 }, + { 0x645, 435 }, + { 0x646, 436 }, + { 0x647, 284 }, + { 0x648, 438 }, + { 0x649, 440 }, + { 0x64A, 440 }, + { 0x64B, 13 }, + { 0x64C, 40 }, + { 0x64D, 41 }, + { 0x64E, 7 }, + { 0x64F, 5 }, + { 0x650, 42 }, + { 0x652, 11 }, + { 0x653, 14 }, + { 0x655, 43 }, + { 0x656, 24 }, + { 0x657, 20 }, + { 0x658, 9 }, + { 0x659, 18 }, + { 0x65A, 9 }, + { 0x65B, 10 }, + { 0x65C, 33 }, + { 0x65D, 6 }, + { 0x65F, 43 }, + { 0x660, 64 }, + { 0x661, 275 }, + { 0x662, 186 }, + { 0x663, 192 }, + { 0x664, 196 }, + { 0x665, 284 }, + { 0x666, 202 }, + { 0x667, 320 }, + { 0x668, 322 }, + { 0x669, 211 }, + { 0x66B, 56 }, + { 0x66C, 57 }, + { 0x66D, 78 }, + { 0x66E, 440 }, + { 0x66F, 426 }, + { 0x670, 44 }, + { 0x671, 396 }, + { 0x67A, 403 }, + { 0x67B, 398 }, + { 0x67F, 404 }, + { 0x680, 399 }, + { 0x683, 406 }, + { 0x684, 407 }, + { 0x686, 408 }, + { 0x687, 409 }, + { 0x68C, 414 }, + { 0x68D, 415 }, + { 0x6A1, 426 }, + { 0x6A6, 427 }, + { 0x6A7, 425 }, + { 0x6A9, 429 }, + { 0x6AA, 429 }, + { 0x6AC, 430 }, + { 0x6AF, 431 }, + { 0x6B1, 432 }, + { 0x6B3, 433 }, + { 0x6BA, 440 }, + { 0x6BE, 284 }, + { 0x6C0, 437 }, + { 0x6C1, 284 }, + { 0x6C2, 437 }, + { 0x6C3, 401 }, + { 0x6C5, 439 }, + { 0x6CC, 440 }, + { 0x6D0, 398 }, + { 0x6D2, 440 }, + { 0x6D3, 441 }, + { 0x6D4, 54 }, + { 0x6D5, 284 }, + { 0x6DB, 4 }, + { 0x6DF, 11 }, + { 0x6EC, 15 }, + { 0x6F0, 64 }, + { 0x6F1, 275 }, + { 0x6F2, 186 }, + { 0x6F3, 192 }, + { 0x6F4, 196 }, + { 0x6F5, 284 }, + { 0x6F6, 202 }, + { 0x6F7, 320 }, + { 0x6F8, 322 }, + { 0x6F9, 211 }, + { 0x701, 64 }, + { 0x702, 64 }, + { 0x703, 60 }, + { 0x704, 60 }, + { 0x73C, 45 }, + { 0x740, 15 }, + { 0x741, 15 }, + { 0x742, 45 }, + { 0x747, 7 }, + { 0x754, 400 }, + { 0x762, 430 }, + { 0x767, 400 }, + { 0x7C0, 285 }, + { 0x7CA, 275 }, + { 0x7EB, 18 }, + { 0x7ED, 15 }, + { 0x7EE, 10 }, + { 0x7F3, 12 }, + { 0x7F4, 67 }, + { 0x7F5, 67 }, + { 0x7FA, 53 }, + { 0x8A9, 400 }, + { 0x8B0, 431 }, + { 0x8B1, 438 }, + { 0x8E5, 40 }, + { 0x8E8, 40 }, + { 0x8EA, 15 }, + { 0x8EB, 12 }, + { 0x8ED, 33 }, + { 0x8EE, 34 }, + { 0x8F0, 13 }, + { 0x8F1, 40 }, + { 0x8F2, 41 }, + { 0x8F3, 5 }, + { 0x8F8, 21 }, + { 0x8F9, 27 }, + { 0x8FA, 28 }, + { 0x8FF, 21 }, + { 0x900, 22 }, + { 0x902, 15 }, + { 0x903, 60 }, + { 0x93A, 451 }, + { 0x93C, 33 }, + { 0x93D, 449 }, + { 0x941, 452 }, + { 0x942, 453 }, + { 0x946, 454 }, + { 0x94D, 455 }, + { 0x952, 39 }, + { 0x953, 8 }, + { 0x954, 7 }, + { 0x964, 66 }, + { 0x966, 284 }, + { 0x967, 211 }, + { 0x968, 187 }, + { 0x969, 193 }, + { 0x96A, 197 }, + { 0x96E, 208 }, + { 0x970, 82 }, + { 0x971, 174 }, + { 0x97D, 62 }, + { 0x983, 46 }, + { 0x998, 456 }, + { 0x99A, 457 }, + { 0x99C, 458 }, + { 0x99E, 459 }, + { 0x99F, 460 }, + { 0x9A1, 461 }, + { 0x9A3, 462 }, + { 0x9A4, 463 }, + { 0x9A5, 464 }, + { 0x9A6, 465 }, + { 0x9A7, 466 }, + { 0x9A8, 467 }, + { 0x9AA, 468 }, + { 0x9AC, 469 }, + { 0x9AE, 470 }, + { 0x9AF, 471 }, + { 0x9B0, 472 }, + { 0x9B2, 473 }, + { 0x9B7, 474 }, + { 0x9B8, 475 }, + { 0x9BC, 33 }, + { 0x9BD, 476 }, + { 0x9BE, 477 }, + { 0x9BF, 478 }, + { 0x9C7, 479 }, + { 0x9CB, 480 }, + { 0x9CC, 481 }, + { 0x9CD, 482 }, + { 0x9D7, 483 }, + { 0x9E6, 285 }, + { 0x9E7, 180 }, + { 0x9E8, 188 }, + { 0x9EA, 207 }, + { 0x9EC, 203 }, + { 0x9ED, 210 }, + { 0xA02, 15 }, + { 0xA03, 46 }, + { 0xA3C, 33 }, + { 0xA4B, 454 }, + { 0xA4D, 455 }, + { 0xA66, 284 }, + { 0xA67, 210 }, + { 0xA6A, 207 }, + { 0xA82, 15 }, + { 0xA83, 60 }, + { 0xABC, 33 }, + { 0xABD, 449 }, + { 0xAC1, 452 }, + { 0xAC2, 453 }, + { 0xACD, 455 }, + { 0xAE6, 284 }, + { 0xAE8, 187 }, + { 0xAE9, 193 }, + { 0xAEA, 197 }, + { 0xAEE, 208 }, + { 0xAF0, 82 }, + { 0xB03, 207 }, + { 0xB20, 285 }, + { 0xB3C, 33 }, + { 0xB66, 285 }, + { 0xB68, 210 }, + { 0xB82, 11 }, + { 0xB85, 484 }, + { 0xB88, 485 }, + { 0xB89, 486 }, + { 0xB8E, 487 }, + { 0xB90, 488 }, + { 0xB95, 489 }, + { 0xB9A, 490 }, + { 0xB9C, 488 }, + { 0xBA3, 491 }, + { 0xBA9, 495 }, + { 0xBAF, 492 }, + { 0xBB0, 485 }, + { 0xBB3, 494 }, + { 0xBB4, 493 }, + { 0xBB6, 496 }, + { 0xBB7, 497 }, + { 0xBBE, 485 }, + { 0xBBF, 498 }, + { 0xBC8, 495 }, + { 0xBCD, 15 }, + { 0xBD7, 494 }, + { 0xBE6, 284 }, + { 0xBE7, 489 }, + { 0xBE8, 486 }, + { 0xBEA, 490 }, + { 0xBED, 487 }, + { 0xBEE, 484 }, + { 0xBF0, 492 }, + { 0xBF3, 96 }, + { 0xBF5, 96 }, + { 0xBF8, 497 }, + { 0xC02, 284 }, + { 0xC03, 46 }, + { 0xC05, 499 }, + { 0xC06, 500 }, + { 0xC07, 501 }, + { 0xC12, 502 }, + { 0xC1C, 503 }, + { 0xC1E, 504 }, + { 0xC23, 505 }, + { 0xC2F, 506 }, + { 0xC31, 507 }, + { 0xC32, 508 }, + { 0xC66, 284 }, + { 0xC67, 181 }, + { 0xC68, 189 }, + { 0xC6F, 212 }, + { 0xC82, 284 }, + { 0xC83, 46 }, + { 0xC85, 499 }, + { 0xC86, 500 }, + { 0xC87, 501 }, + { 0xC92, 502 }, + { 0xC9C, 503 }, + { 0xC9E, 504 }, + { 0xCA3, 505 }, + { 0xCAF, 506 }, + { 0xCB1, 507 }, + { 0xCB2, 508 }, + { 0xCE6, 284 }, + { 0xCE7, 181 }, + { 0xCE8, 189 }, + { 0xCEF, 212 }, + { 0xD02, 284 }, + { 0xD03, 46 }, + { 0xD09, 486 }, + { 0xD1C, 488 }, + { 0xD1E, 509 }, + { 0xD20, 284 }, + { 0xD23, 491 }, + { 0xD30, 510 }, + { 0xD31, 510 }, + { 0xD34, 493 }, + { 0xD36, 496 }, + { 0xD3F, 498 }, + { 0xD40, 498 }, + { 0xD41, 511 }, + { 0xD42, 511 }, + { 0xD43, 511 }, + { 0xD4E, 174 }, + { 0xD61, 509 }, + { 0xD66, 284 }, + { 0xD6D, 210 }, + { 0xD82, 284 }, + { 0xD83, 46 }, + { 0xDA2, 512 }, + { 0xDAF, 513 }, + { 0xDEA, 512 }, + { 0xDEB, 513 }, + { 0xE02, 519 }, + { 0xE03, 519 }, + { 0xE04, 520 }, + { 0xE06, 521 }, + { 0xE08, 522 }, + { 0xE0A, 523 }, + { 0xE0B, 523 }, + { 0xE0E, 524 }, + { 0xE0F, 524 }, + { 0xE11, 525 }, + { 0xE14, 520 }, + { 0xE15, 520 }, + { 0xE17, 525 }, + { 0xE1A, 526 }, + { 0xE1B, 527 }, + { 0xE1D, 528 }, + { 0xE1E, 529 }, + { 0xE1F, 530 }, + { 0xE20, 531 }, + { 0xE21, 521 }, + { 0xE22, 532 }, + { 0xE26, 531 }, + { 0xE2F, 533 }, + { 0xE32, 534 }, + { 0xE34, 535 }, + { 0xE35, 536 }, + { 0xE36, 537 }, + { 0xE37, 538 }, + { 0xE38, 539 }, + { 0xE39, 540 }, + { 0xE45, 534 }, + { 0xE48, 47 }, + { 0xE49, 48 }, + { 0xE4A, 49 }, + { 0xE4B, 50 }, + { 0xE4D, 11 }, + { 0xE4F, 84 }, + { 0xE50, 284 }, + { 0xE5A, 85 }, + { 0xE5B, 86 }, + { 0xE88, 522 }, + { 0xE8D, 532 }, + { 0xE9A, 526 }, + { 0xE9B, 527 }, + { 0xE9D, 528 }, + { 0xE9E, 529 }, + { 0xE9F, 530 }, + { 0xEB8, 539 }, + { 0xEB9, 540 }, + { 0xEC8, 47 }, + { 0xEC9, 48 }, + { 0xECA, 49 }, + { 0xECB, 50 }, + { 0xECD, 11 }, + { 0xED0, 284 }, + { 0xF0B, 87 }, + { 0xF0C, 87 }, + { 0xF62, 541 }, + { 0xF6A, 541 }, + { 0xFD5, 758 }, + { 0xFD6, 757 }, + { 0x101D, 284 }, + { 0x1036, 11 }, + { 0x1038, 46 }, + { 0x1040, 284 }, + { 0x1041, 182 }, + { 0x1065, 182 }, + { 0x10A0, 311 }, + { 0x10E7, 326 }, + { 0x10F3, 328 }, + { 0x10FF, 284 }, + { 0x1100, 586 }, + { 0x1102, 587 }, + { 0x1103, 588 }, + { 0x1105, 589 }, + { 0x1106, 590 }, + { 0x1107, 591 }, + { 0x1109, 592 }, + { 0x110B, 593 }, + { 0x110C, 594 }, + { 0x110E, 595 }, + { 0x110F, 596 }, + { 0x1110, 597 }, + { 0x1111, 598 }, + { 0x1112, 599 }, + { 0x1140, 600 }, + { 0x114C, 601 }, + { 0x1159, 602 }, + { 0x1160, 603 }, + { 0x1161, 604 }, + { 0x1163, 605 }, + { 0x1165, 606 }, + { 0x1167, 607 }, + { 0x1169, 608 }, + { 0x116D, 609 }, + { 0x116E, 610 }, + { 0x1172, 611 }, + { 0x1173, 175 }, + { 0x1175, 645 }, + { 0x119E, 612 }, + { 0x11A8, 586 }, + { 0x11AB, 587 }, + { 0x11AE, 588 }, + { 0x11AF, 589 }, + { 0x11B7, 590 }, + { 0x11B8, 591 }, + { 0x11BA, 592 }, + { 0x11BC, 593 }, + { 0x11BD, 594 }, + { 0x11BE, 595 }, + { 0x11BF, 596 }, + { 0x11C0, 597 }, + { 0x11C1, 598 }, + { 0x11C2, 599 }, + { 0x11EB, 600 }, + { 0x11F0, 601 }, + { 0x11F9, 602 }, + { 0x1200, 314 }, + { 0x1206, 445 }, + { 0x1223, 317 }, + { 0x1240, 351 }, + { 0x1260, 376 }, + { 0x1261, 446 }, + { 0x1294, 375 }, + { 0x12AE, 447 }, + { 0x12D0, 285 }, + { 0x1323, 448 }, + { 0x13A0, 233 }, + { 0x13A1, 300 }, + { 0x13A2, 309 }, + { 0x13A5, 266 }, + { 0x13A8, 264 }, + { 0x13A9, 327 }, + { 0x13AA, 215 }, + { 0x13AB, 271 }, + { 0x13AC, 237 }, + { 0x13AE, 62 }, + { 0x13B0, 264 }, + { 0x13B1, 339 }, + { 0x13B3, 323 }, + { 0x13B7, 278 }, + { 0x13BB, 260 }, + { 0x13BD, 327 }, + { 0x13BF, 312 }, + { 0x13C0, 253 }, + { 0x13C2, 259 }, + { 0x13C3, 330 }, + { 0x13C7, 366 }, + { 0x13CB, 243 }, + { 0x13CE, 195 }, + { 0x13CF, 223 }, + { 0x13D2, 300 }, + { 0x13D4, 323 }, + { 0x13D5, 304 }, + { 0x13D9, 320 }, + { 0x13DA, 304 }, + { 0x13DE, 276 }, + { 0x13DF, 227 }, + { 0x13E2, 293 }, + { 0x13E6, 274 }, + { 0x13E7, 232 }, + { 0x13EE, 201 }, + { 0x13EF, 554 }, + { 0x13F0, 305 }, + { 0x13F3, 253 }, + { 0x13F4, 224 }, + { 0x1400, 114 }, + { 0x1403, 340 }, + { 0x1421, 555 }, + { 0x1427, 65 }, + { 0x1429, 556 }, + { 0x142F, 320 }, + { 0x1431, 322 }, + { 0x1433, 115 }, + { 0x1435, 557 }, + { 0x1438, 113 }, + { 0x144A, 67 }, + { 0x144C, 314 }, + { 0x144E, 376 }, + { 0x1450, 558 }, + { 0x1455, 559 }, + { 0x146D, 293 }, + { 0x146F, 232 }, + { 0x1489, 560 }, + { 0x148D, 271 }, + { 0x1490, 561 }, + { 0x14A5, 339 }, + { 0x14AA, 276 }, + { 0x14BF, 185 }, + { 0x14D1, 555 }, + { 0x14D3, 562 }, + { 0x14DA, 563 }, + { 0x1540, 556 }, + { 0x1541, 324 }, + { 0x1543, 564 }, + { 0x1546, 565 }, + { 0x154A, 566 }, + { 0x1577, 235 }, + { 0x157C, 260 }, + { 0x157D, 324 }, + { 0x1587, 300 }, + { 0x15AF, 223 }, + { 0x15B4, 249 }, + { 0x15B5, 250 }, + { 0x15B7, 251 }, + { 0x15C4, 221 }, + { 0x15C5, 215 }, + { 0x15D2, 567 }, + { 0x15D5, 568 }, + { 0x15DE, 233 }, + { 0x15E1, 569 }, + { 0x15EA, 233 }, + { 0x15EF, 366 }, + { 0x15F0, 278 }, + { 0x15F7, 224 }, + { 0x1602, 561 }, + { 0x1603, 560 }, + { 0x1604, 562 }, + { 0x1607, 563 }, + { 0x1622, 564 }, + { 0x1623, 565 }, + { 0x1624, 566 }, + { 0x162E, 318 }, + { 0x162F, 356 }, + { 0x1634, 318 }, + { 0x1635, 356 }, + { 0x1646, 570 }, + { 0x1660, 571 }, + { 0x166D, 325 }, + { 0x166E, 324 }, + { 0x1680, 52 }, + { 0x16B2, 113 }, + { 0x16B7, 325 }, + { 0x16B9, 575 }, + { 0x16BC, 576 }, + { 0x16BD, 577 }, + { 0x16C1, 275 }, + { 0x16C2, 577 }, + { 0x16CB, 578 }, + { 0x16CC, 67 }, + { 0x16CF, 579 }, + { 0x16D0, 580 }, + { 0x16D5, 274 }, + { 0x16D6, 278 }, + { 0x16D8, 354 }, + { 0x16DA, 582 }, + { 0x16DC, 583 }, + { 0x16DE, 584 }, + { 0x16E1, 576 }, + { 0x16E8, 585 }, + { 0x16EB, 65 }, + { 0x16EC, 60 }, + { 0x16ED, 111 }, + { 0x16EF, 581 }, + { 0x16F0, 351 }, + { 0x1735, 79 }, + { 0x17A2, 542 }, + { 0x17A3, 542 }, + { 0x17B7, 535 }, + { 0x17B8, 536 }, + { 0x17B9, 537 }, + { 0x17BA, 538 }, + { 0x17C6, 11 }, + { 0x17CB, 47 }, + { 0x17D3, 11 }, + { 0x17D4, 533 }, + { 0x17D5, 85 }, + { 0x17D9, 84 }, + { 0x17DA, 86 }, + { 0x1803, 60 }, + { 0x1809, 60 }, + { 0x1835, 553 }, + { 0x1855, 553 }, + { 0x185C, 552 }, + { 0x1896, 552 }, + { 0x18F3, 572 }, + { 0x18F4, 573 }, + { 0x18F5, 574 }, + { 0x199E, 543 }, + { 0x19B1, 544 }, + { 0x19D0, 543 }, + { 0x19D1, 544 }, + { 0x1A45, 545 }, + { 0x1A80, 545 }, + { 0x1A90, 545 }, + { 0x1AB4, 4 }, + { 0x1AB7, 17 }, + { 0x1B0D, 548 }, + { 0x1B11, 549 }, + { 0x1B28, 550 }, + { 0x1B50, 178 }, + { 0x1B52, 548 }, + { 0x1B53, 549 }, + { 0x1B58, 550 }, + { 0x1B5C, 178 }, + { 0x1CD0, 10 }, + { 0x1CD2, 18 }, + { 0x1CD5, 25 }, + { 0x1CD8, 38 }, + { 0x1CD9, 37 }, + { 0x1CDA, 19 }, + { 0x1CDC, 24 }, + { 0x1CDD, 33 }, + { 0x1CDE, 34 }, + { 0x1CED, 23 }, + { 0x1D00, 215 }, + { 0x1D04, 226 }, + { 0x1D08, 245 }, + { 0x1D0B, 273 }, + { 0x1D0E, 282 }, + { 0x1D0F, 284 }, + { 0x1D10, 289 }, + { 0x1D11, 284 }, + { 0x1D18, 294 }, + { 0x1D19, 301 }, + { 0x1D1B, 308 }, + { 0x1D1C, 313 }, + { 0x1D20, 319 }, + { 0x1D22, 329 }, + { 0x1D24, 334 }, + { 0x1D26, 299 }, + { 0x1D27, 321 }, + { 0x1D28, 280 }, + { 0x1D29, 294 }, + { 0x1D2B, 363 }, + { 0x1D34, 261 }, + { 0x1D4B, 244 }, + { 0x1D4D, 254 }, + { 0x1D52, 286 }, + { 0x1D78, 261 }, + { 0x1D83, 252 }, + { 0x1D8C, 326 }, + { 0x1D90, 298 }, + { 0x1D9F, 244 }, + { 0x1DA2, 254 }, + { 0x1DBB, 570 }, + { 0x1DDF, 279 }, + { 0x1E9A, 220 }, + { 0x1E9D, 248 }, + { 0x1E9F, 235 }, + { 0x1EA3, 220 }, + { 0x1EFF, 326 }, + { 0x1F7D, 357 }, + { 0x1FBD, 67 }, + { 0x1FBE, 266 }, + { 0x1FBF, 67 }, + { 0x1FC0, 116 }, + { 0x1FEF, 67 }, + { 0x1FF4, 357 }, + { 0x1FF6, 554 }, + { 0x1FFD, 67 }, + { 0x1FFE, 67 }, + { 0x2000, 52 }, + { 0x2001, 52 }, + { 0x2002, 52 }, + { 0x2003, 52 }, + { 0x2004, 52 }, + { 0x2005, 52 }, + { 0x2006, 52 }, + { 0x2007, 52 }, + { 0x2008, 52 }, + { 0x2009, 52 }, + { 0x200A, 52 }, + { 0x2010, 54 }, + { 0x2011, 54 }, + { 0x2012, 54 }, + { 0x2013, 54 }, + { 0x2014, 175 }, + { 0x2015, 175 }, + { 0x2018, 67 }, + { 0x2019, 67 }, + { 0x201A, 56 }, + { 0x201B, 67 }, + { 0x2022, 65 }, + { 0x2024, 64 }, + { 0x2027, 65 }, + { 0x2028, 52 }, + { 0x2029, 52 }, + { 0x202F, 52 }, + { 0x2032, 67 }, + { 0x2035, 67 }, + { 0x2039, 113 }, + { 0x203A, 115 }, + { 0x203E, 90 }, + { 0x2041, 79 }, + { 0x2043, 54 }, + { 0x2044, 79 }, + { 0x204E, 78 }, + { 0x2053, 116 }, + { 0x205A, 60 }, + { 0x205D, 444 }, + { 0x205E, 443 }, + { 0x205F, 52 }, + { 0x2070, 286 }, + { 0x2079, 333 }, + { 0x20A4, 176 }, + { 0x20AC, 229 }, + { 0x20B8, 177 }, + { 0x20BD, 377 }, + { 0x20DB, 4 }, + { 0x20E9, 51 }, + { 0x2102, 227 }, + { 0x2107, 243 }, + { 0x2108, 372 }, + { 0x210A, 252 }, + { 0x210B, 260 }, + { 0x210C, 260 }, + { 0x210D, 260 }, + { 0x210E, 259 }, + { 0x2110, 275 }, + { 0x2111, 275 }, + { 0x2112, 276 }, + { 0x2113, 275 }, + { 0x2115, 281 }, + { 0x2117, 99 }, + { 0x2119, 293 }, + { 0x211A, 297 }, + { 0x211B, 300 }, + { 0x211C, 300 }, + { 0x211D, 300 }, + { 0x2124, 330 }, + { 0x2126, 356 }, + { 0x2127, 318 }, + { 0x2128, 330 }, + { 0x2129, 302 }, + { 0x212A, 274 }, + { 0x212C, 224 }, + { 0x212D, 227 }, + { 0x212E, 236 }, + { 0x212F, 236 }, + { 0x2130, 237 }, + { 0x2131, 249 }, + { 0x2132, 250 }, + { 0x2133, 278 }, + { 0x2134, 284 }, + { 0x2135, 379 }, + { 0x2136, 381 }, + { 0x2137, 382 }, + { 0x2138, 383 }, + { 0x2139, 266 }, + { 0x213C, 280 }, + { 0x213D, 326 }, + { 0x213E, 339 }, + { 0x213F, 348 }, + { 0x2140, 307 }, + { 0x2141, 629 }, + { 0x2142, 630 }, + { 0x2144, 100 }, + { 0x2145, 233 }, + { 0x2146, 232 }, + { 0x2147, 236 }, + { 0x2148, 266 }, + { 0x2149, 270 }, + { 0x2160, 275 }, + { 0x2164, 320 }, + { 0x2169, 325 }, + { 0x216C, 276 }, + { 0x216D, 227 }, + { 0x216E, 233 }, + { 0x216F, 278 }, + { 0x2170, 266 }, + { 0x2174, 319 }, + { 0x2179, 324 }, + { 0x217C, 275 }, + { 0x217D, 226 }, + { 0x217E, 232 }, + { 0x2183, 290 }, + { 0x2184, 289 }, + { 0x2191, 579 }, + { 0x2195, 585 }, + { 0x219E, 101 }, + { 0x219F, 102 }, + { 0x21A0, 103 }, + { 0x21A1, 104 }, + { 0x21B2, 105 }, + { 0x21B5, 105 }, + { 0x21BE, 582 }, + { 0x21BF, 580 }, + { 0x2200, 221 }, + { 0x2202, 106 }, + { 0x2203, 241 }, + { 0x2205, 107 }, + { 0x2206, 340 }, + { 0x2207, 108 }, + { 0x220E, 109 }, + { 0x220F, 348 }, + { 0x2210, 110 }, + { 0x2211, 307 }, + { 0x2212, 54 }, + { 0x2215, 79 }, + { 0x2216, 80 }, + { 0x2217, 78 }, + { 0x2218, 95 }, + { 0x2219, 65 }, + { 0x2220, 117 }, + { 0x2223, 275 }, + { 0x2227, 118 }, + { 0x2228, 319 }, + { 0x2229, 376 }, + { 0x222A, 314 }, + { 0x222B, 306 }, + { 0x2234, 119 }, + { 0x2235, 120 }, + { 0x2236, 60 }, + { 0x2237, 121 }, + { 0x223C, 116 }, + { 0x2248, 122 }, + { 0x224F, 123 }, + { 0x2261, 124 }, + { 0x2263, 124 }, + { 0x2282, 559 }, + { 0x2283, 558 }, + { 0x228D, 125 }, + { 0x228E, 126 }, + { 0x228F, 127 }, + { 0x2290, 128 }, + { 0x2293, 129 }, + { 0x2294, 130 }, + { 0x2295, 631 }, + { 0x2297, 131 }, + { 0x2299, 338 }, + { 0x229B, 132 }, + { 0x22A0, 133 }, + { 0x22A1, 134 }, + { 0x22A4, 309 }, + { 0x22A5, 627 }, + { 0x22B2, 135 }, + { 0x22B3, 136 }, + { 0x22C0, 118 }, + { 0x22C1, 319 }, + { 0x22C2, 376 }, + { 0x22C3, 314 }, + { 0x22C4, 583 }, + { 0x22C5, 65 }, + { 0x22C8, 584 }, + { 0x22EE, 444 }, + { 0x22F4, 228 }, + { 0x22FF, 237 }, + { 0x2300, 107 }, + { 0x2307, 137 }, + { 0x2312, 138 }, + { 0x2319, 139 }, + { 0x2324, 140 }, + { 0x2325, 140 }, + { 0x2329, 74 }, + { 0x232A, 75 }, + { 0x233B, 141 }, + { 0x233E, 142 }, + { 0x2341, 614 }, + { 0x2342, 143 }, + { 0x2349, 144 }, + { 0x234B, 145 }, + { 0x234E, 146 }, + { 0x2355, 147 }, + { 0x235F, 132 }, + { 0x2365, 148 }, + { 0x2369, 557 }, + { 0x236D, 149 }, + { 0x2373, 266 }, + { 0x2374, 292 }, + { 0x2375, 355 }, + { 0x237A, 214 }, + { 0x237F, 577 }, + { 0x2388, 150 }, + { 0x239C, 645 }, + { 0x239F, 645 }, + { 0x23A2, 645 }, + { 0x23A5, 645 }, + { 0x23AA, 645 }, + { 0x23AE, 645 }, + { 0x23C1, 147 }, + { 0x23C2, 146 }, + { 0x23C3, 145 }, + { 0x23C6, 149 }, + { 0x23DC, 151 }, + { 0x23DD, 152 }, + { 0x23DE, 153 }, + { 0x23DF, 154 }, + { 0x23E0, 155 }, + { 0x23E1, 156 }, + { 0x23E5, 157 }, + { 0x23FB, 1829 }, + { 0x23FC, 1829 }, + { 0x23FD, 275 }, + { 0x23FE, 170 }, + { 0x2460, 183 }, + { 0x2461, 190 }, + { 0x2462, 194 }, + { 0x2463, 198 }, + { 0x2464, 200 }, + { 0x2465, 204 }, + { 0x2466, 206 }, + { 0x2467, 209 }, + { 0x2468, 213 }, + { 0x2469, 184 }, + { 0x24B8, 97 }, + { 0x24BE, 267 }, + { 0x24C5, 99 }, + { 0x24C7, 98 }, + { 0x24DB, 267 }, + { 0x2500, 175 }, + { 0x2501, 175 }, + { 0x2502, 158 }, + { 0x2503, 158 }, + { 0x250C, 159 }, + { 0x250F, 159 }, + { 0x251C, 160 }, + { 0x2523, 160 }, + { 0x2571, 79 }, + { 0x2573, 325 }, + { 0x2588, 109 }, + { 0x258C, 161 }, + { 0x2590, 161 }, + { 0x2594, 90 }, + { 0x2596, 162 }, + { 0x2597, 162 }, + { 0x2598, 163 }, + { 0x259D, 163 }, + { 0x25A0, 109 }, + { 0x25A1, 164 }, + { 0x25AA, 165 }, + { 0x25B1, 157 }, + { 0x25B3, 340 }, + { 0x25B6, 166 }, + { 0x25B7, 136 }, + { 0x25B8, 166 }, + { 0x25BA, 166 }, + { 0x25BD, 632 }, + { 0x25C1, 135 }, + { 0x25C7, 583 }, + { 0x25CA, 583 }, + { 0x25CB, 95 }, + { 0x25CE, 142 }, + { 0x25E0, 138 }, + { 0x25E6, 95 }, + { 0x2609, 338 }, + { 0x2610, 164 }, + { 0x2625, 640 }, + { 0x2627, 167 }, + { 0x2629, 168 }, + { 0x2630, 358 }, + { 0x2638, 150 }, + { 0x263D, 169 }, + { 0x263E, 170 }, + { 0x264E, 123 }, + { 0x2662, 583 }, + { 0x26AC, 82 }, + { 0x2768, 68 }, + { 0x2769, 69 }, + { 0x276C, 74 }, + { 0x276D, 75 }, + { 0x276E, 113 }, + { 0x276F, 115 }, + { 0x2772, 68 }, + { 0x2773, 69 }, + { 0x2774, 70 }, + { 0x2775, 71 }, + { 0x2780, 183 }, + { 0x2781, 190 }, + { 0x2782, 194 }, + { 0x2783, 198 }, + { 0x2784, 200 }, + { 0x2785, 204 }, + { 0x2786, 206 }, + { 0x2787, 209 }, + { 0x2788, 213 }, + { 0x2789, 184 }, + { 0x2795, 111 }, + { 0x2796, 54 }, + { 0x2797, 112 }, + { 0x27C2, 627 }, + { 0x27CB, 79 }, + { 0x27CD, 80 }, + { 0x27D9, 309 }, + { 0x27E6, 72 }, + { 0x27E7, 73 }, + { 0x27E8, 74 }, + { 0x27E9, 75 }, + { 0x292B, 324 }, + { 0x292C, 324 }, + { 0x2999, 443 }, + { 0x299A, 171 }, + { 0x29B0, 144 }, + { 0x29BE, 142 }, + { 0x29C4, 614 }, + { 0x29C5, 143 }, + { 0x29C7, 141 }, + { 0x29D6, 633 }, + { 0x29D9, 171 }, + { 0x29DF, 172 }, + { 0x29F5, 80 }, + { 0x29F8, 79 }, + { 0x29F9, 80 }, + { 0x2A00, 338 }, + { 0x2A01, 631 }, + { 0x2A02, 131 }, + { 0x2A03, 125 }, + { 0x2A04, 126 }, + { 0x2A05, 129 }, + { 0x2A06, 130 }, + { 0x2A1D, 584 }, + { 0x2A1F, 173 }, + { 0x2A21, 582 }, + { 0x2A2F, 324 }, + { 0x2A3D, 139 }, + { 0x2A3E, 173 }, + { 0x2A3F, 110 }, + { 0x2AAA, 568 }, + { 0x2AAB, 567 }, + { 0x2BEC, 101 }, + { 0x2BED, 102 }, + { 0x2BEE, 103 }, + { 0x2BEF, 104 }, + { 0x2C3F, 374 }, + { 0x2C6F, 221 }, + { 0x2C70, 222 }, + { 0x2C75, 264 }, + { 0x2C84, 339 }, + { 0x2C85, 299 }, + { 0x2C86, 340 }, + { 0x2C88, 229 }, + { 0x2C89, 228 }, + { 0x2C8E, 260 }, + { 0x2C92, 275 }, + { 0x2C94, 274 }, + { 0x2C95, 273 }, + { 0x2C96, 344 }, + { 0x2C98, 278 }, + { 0x2C9A, 281 }, + { 0x2C9E, 285 }, + { 0x2C9F, 284 }, + { 0x2CA0, 348 }, + { 0x2CA2, 293 }, + { 0x2CA3, 292 }, + { 0x2CA4, 227 }, + { 0x2CA5, 226 }, + { 0x2CA6, 309 }, + { 0x2CA8, 327 }, + { 0x2CAA, 351 }, + { 0x2CAB, 295 }, + { 0x2CAC, 325 }, + { 0x2CAD, 352 }, + { 0x2CAE, 354 }, + { 0x2CB1, 355 }, + { 0x2CB6, 358 }, + { 0x2CBA, 54 }, + { 0x2CBC, 371 }, + { 0x2CBD, 370 }, + { 0x2CC6, 79 }, + { 0x2CCA, 210 }, + { 0x2CCC, 191 }, + { 0x2CCD, 328 }, + { 0x2CD0, 276 }, + { 0x2CD1, 277 }, + { 0x2CD2, 201 }, + { 0x2CDC, 359 }, + { 0x2CE4, 343 }, + { 0x2CE9, 167 }, + { 0x2D37, 322 }, + { 0x2D38, 320 }, + { 0x2D39, 237 }, + { 0x2D3A, 241 }, + { 0x2D40, 442 }, + { 0x2D42, 443 }, + { 0x2D49, 307 }, + { 0x2D4F, 275 }, + { 0x2D51, 61 }, + { 0x2D54, 285 }, + { 0x2D55, 297 }, + { 0x2D57, 444 }, + { 0x2D59, 338 }, + { 0x2D5D, 325 }, + { 0x2D60, 340 }, + { 0x2D63, 581 }, + { 0x2DE8, 279 }, + { 0x2E26, 559 }, + { 0x2E27, 558 }, + { 0x2E2A, 120 }, + { 0x2E2B, 119 }, + { 0x2E2C, 121 }, + { 0x2E2E, 63 }, + { 0x2E30, 95 }, + { 0x2E31, 65 }, + { 0x2E32, 57 }, + { 0x2E35, 59 }, + { 0x2E39, 235 }, + { 0x2E3D, 443 }, + { 0x2E3F, 77 }, + { 0x2E40, 114 }, + { 0x2E82, 652 }, + { 0x2E83, 651 }, + { 0x2E85, 662 }, + { 0x2E89, 721 }, + { 0x2E8B, 763 }, + { 0x2E8E, 683 }, + { 0x2E8F, 876 }, + { 0x2E90, 875 }, + { 0x2E92, 903 }, + { 0x2E93, 916 }, + { 0x2E94, 937 }, + { 0x2E96, 951 }, + { 0x2E97, 952 }, + { 0x2E98, 994 }, + { 0x2E99, 1029 }, + { 0x2E9B, 1043 }, + { 0x2E9E, 1127 }, + { 0x2E9F, 1135 }, + { 0x2EA0, 1140 }, + { 0x2EA1, 1143 }, + { 0x2EA2, 1144 }, + { 0x2EA3, 1196 }, + { 0x2EA4, 1217 }, + { 0x2EA6, 1221 }, + { 0x2EA8, 1232 }, + { 0x2EAB, 1416 }, + { 0x2EAD, 1331 }, + { 0x2EAF, 1390 }, + { 0x2EB1, 1417 }, + { 0x2EB2, 1416 }, + { 0x2EB9, 1431 }, + { 0x2EBA, 1445 }, + { 0x2EBE, 1477 }, + { 0x2EBF, 1477 }, + { 0x2EC0, 1477 }, + { 0x2EC1, 1530 }, + { 0x2EC2, 1555 }, + { 0x2EC3, 1570 }, + { 0x2EC4, 1569 }, + { 0x2EC5, 1574 }, + { 0x2EC8, 1597 }, + { 0x2EC9, 1613 }, + { 0x2ECB, 1636 }, + { 0x2ECC, 1641 }, + { 0x2ECD, 1641 }, + { 0x2ECF, 1690 }, + { 0x2ED0, 1678 }, + { 0x2ED1, 1679 }, + { 0x2ED2, 1680 }, + { 0x2ED3, 1681 }, + { 0x2ED4, 1688 }, + { 0x2ED6, 1690 }, + { 0x2ED8, 1714 }, + { 0x2ED9, 1726 }, + { 0x2EDA, 1739 }, + { 0x2EDB, 1742 }, + { 0x2EDC, 1744 }, + { 0x2EDD, 1745 }, + { 0x2EDF, 1746 }, + { 0x2EE0, 1753 }, + { 0x2EE2, 1762 }, + { 0x2EE4, 1772 }, + { 0x2EE5, 1777 }, + { 0x2EE8, 1797 }, + { 0x2EE9, 1801 }, + { 0x2EEB, 1036 }, + { 0x2EEC, 1819 }, + { 0x2EED, 1123 }, + { 0x2EEE, 1822 }, + { 0x2EEF, 1364 }, + { 0x2EF0, 1825 }, + { 0x2EF2, 653 }, + { 0x2EF3, 1827 }, + { 0x2F00, 175 }, + { 0x2F01, 645 }, + { 0x2F02, 80 }, + { 0x2F03, 79 }, + { 0x2F04, 650 }, + { 0x2F05, 655 }, + { 0x2F06, 657 }, + { 0x2F07, 659 }, + { 0x2F08, 661 }, + { 0x2F09, 682 }, + { 0x2F0A, 688 }, + { 0x2F0B, 692 }, + { 0x2F0C, 699 }, + { 0x2F0D, 706 }, + { 0x2F0E, 709 }, + { 0x2F0F, 717 }, + { 0x2F10, 719 }, + { 0x2F11, 720 }, + { 0x2F12, 734 }, + { 0x2F13, 744 }, + { 0x2F14, 749 }, + { 0x2F15, 751 }, + { 0x2F16, 752 }, + { 0x2F17, 754 }, + { 0x2F18, 761 }, + { 0x2F19, 762 }, + { 0x2F1A, 768 }, + { 0x2F1B, 770 }, + { 0x2F1C, 772 }, + { 0x2F1D, 776 }, + { 0x2F1E, 776 }, + { 0x2F1F, 812 }, + { 0x2F20, 812 }, + { 0x2F21, 833 }, + { 0x2F22, 835 }, + { 0x2F23, 836 }, + { 0x2F24, 839 }, + { 0x2F25, 845 }, + { 0x2F26, 861 }, + { 0x2F27, 862 }, + { 0x2F28, 871 }, + { 0x2F29, 874 }, + { 0x2F2A, 875 }, + { 0x2F2B, 878 }, + { 0x2F2C, 884 }, + { 0x2F2D, 886 }, + { 0x2F2E, 899 }, + { 0x2F2F, 901 }, + { 0x2F30, 902 }, + { 0x2F31, 906 }, + { 0x2F32, 913 }, + { 0x2F33, 916 }, + { 0x2F34, 917 }, + { 0x2F35, 929 }, + { 0x2F36, 930 }, + { 0x2F37, 933 }, + { 0x2F38, 934 }, + { 0x2F39, 936 }, + { 0x2F3A, 940 }, + { 0x2F3B, 944 }, + { 0x2F3C, 950 }, + { 0x2F3D, 987 }, + { 0x2F3E, 992 }, + { 0x2F3F, 993 }, + { 0x2F40, 1027 }, + { 0x2F41, 1028 }, + { 0x2F42, 1035 }, + { 0x2F43, 1037 }, + { 0x2F44, 1039 }, + { 0x2F45, 1040 }, + { 0x2F46, 1042 }, + { 0x2F47, 1046 }, + { 0x2F48, 1061 }, + { 0x2F49, 1064 }, + { 0x2F4A, 1080 }, + { 0x2F4B, 1117 }, + { 0x2F4C, 1122 }, + { 0x2F4D, 1126 }, + { 0x2F4E, 1130 }, + { 0x2F4F, 1134 }, + { 0x2F50, 1137 }, + { 0x2F51, 1138 }, + { 0x2F52, 1139 }, + { 0x2F53, 1141 }, + { 0x2F54, 1142 }, + { 0x2F55, 1195 }, + { 0x2F56, 1216 }, + { 0x2F57, 1219 }, + { 0x2F58, 1220 }, + { 0x2F59, 1222 }, + { 0x2F5A, 1223 }, + { 0x2F5B, 1225 }, + { 0x2F5C, 1227 }, + { 0x2F5D, 1231 }, + { 0x2F5E, 1241 }, + { 0x2F5F, 1243 }, + { 0x2F60, 1261 }, + { 0x2F61, 1262 }, + { 0x2F62, 1265 }, + { 0x2F63, 1266 }, + { 0x2F64, 1268 }, + { 0x2F65, 1269 }, + { 0x2F66, 1277 }, + { 0x2F67, 1278 }, + { 0x2F68, 1285 }, + { 0x2F69, 1286 }, + { 0x2F6A, 1289 }, + { 0x2F6B, 1290 }, + { 0x2F6C, 1297 }, + { 0x2F6D, 1315 }, + { 0x2F6E, 1316 }, + { 0x2F6F, 1317 }, + { 0x2F70, 1330 }, + { 0x2F71, 1350 }, + { 0x2F72, 1351 }, + { 0x2F73, 1359 }, + { 0x2F74, 1363 }, + { 0x2F75, 1367 }, + { 0x2F76, 1379 }, + { 0x2F77, 1389 }, + { 0x2F78, 1411 }, + { 0x2F79, 1415 }, + { 0x2F7A, 1425 }, + { 0x2F7B, 1428 }, + { 0x2F7C, 1430 }, + { 0x2F7D, 1433 }, + { 0x2F7E, 1435 }, + { 0x2F7F, 1437 }, + { 0x2F80, 1444 }, + { 0x2F81, 1446 }, + { 0x2F82, 1460 }, + { 0x2F83, 1462 }, + { 0x2F84, 1464 }, + { 0x2F85, 1465 }, + { 0x2F86, 1468 }, + { 0x2F87, 1470 }, + { 0x2F88, 1471 }, + { 0x2F89, 1473 }, + { 0x2F8A, 1475 }, + { 0x2F8B, 1476 }, + { 0x2F8C, 1529 }, + { 0x2F8D, 1535 }, + { 0x2F8E, 1551 }, + { 0x2F8F, 1552 }, + { 0x2F90, 1554 }, + { 0x2F91, 1568 }, + { 0x2F92, 1572 }, + { 0x2F93, 1575 }, + { 0x2F94, 1576 }, + { 0x2F95, 1598 }, + { 0x2F96, 1599 }, + { 0x2F97, 1601 }, + { 0x2F98, 1603 }, + { 0x2F99, 1605 }, + { 0x2F9A, 1614 }, + { 0x2F9B, 1615 }, + { 0x2F9C, 1620 }, + { 0x2F9D, 1627 }, + { 0x2F9E, 1628 }, + { 0x2F9F, 1637 }, + { 0x2FA0, 1639 }, + { 0x2FA1, 1640 }, + { 0x2FA2, 1650 }, + { 0x2FA3, 1658 }, + { 0x2FA4, 1662 }, + { 0x2FA5, 1663 }, + { 0x2FA6, 1665 }, + { 0x2FA7, 1679 }, + { 0x2FA8, 1682 }, + { 0x2FA9, 1689 }, + { 0x2FAA, 1700 }, + { 0x2FAB, 1702 }, + { 0x2FAC, 1706 }, + { 0x2FAD, 1713 }, + { 0x2FAE, 1717 }, + { 0x2FAF, 1718 }, + { 0x2FB0, 1720 }, + { 0x2FB1, 1723 }, + { 0x2FB2, 1727 }, + { 0x2FB3, 1729 }, + { 0x2FB4, 1731 }, + { 0x2FB5, 1740 }, + { 0x2FB6, 1743 }, + { 0x2FB7, 1745 }, + { 0x2FB8, 1754 }, + { 0x2FB9, 1755 }, + { 0x2FBA, 1757 }, + { 0x2FBB, 1763 }, + { 0x2FBC, 1765 }, + { 0x2FBD, 1766 }, + { 0x2FBE, 1769 }, + { 0x2FBF, 1770 }, + { 0x2FC0, 1771 }, + { 0x2FC1, 1772 }, + { 0x2FC2, 1773 }, + { 0x2FC3, 1778 }, + { 0x2FC4, 1791 }, + { 0x2FC5, 1792 }, + { 0x2FC6, 1796 }, + { 0x2FC7, 1798 }, + { 0x2FC8, 1800 }, + { 0x2FC9, 1802 }, + { 0x2FCA, 1805 }, + { 0x2FCB, 1807 }, + { 0x2FCC, 1808 }, + { 0x2FCD, 1811 }, + { 0x2FCE, 1813 }, + { 0x2FCF, 1815 }, + { 0x2FD0, 1816 }, + { 0x2FD1, 1818 }, + { 0x2FD2, 1820 }, + { 0x2FD3, 1823 }, + { 0x2FD4, 1826 }, + { 0x2FD5, 1828 }, + { 0x3002, 94 }, + { 0x3007, 285 }, + { 0x3008, 74 }, + { 0x3009, 75 }, + { 0x3012, 177 }, + { 0x3014, 68 }, + { 0x3015, 69 }, + { 0x301A, 72 }, + { 0x301B, 73 }, + { 0x301C, 55 }, + { 0x302C, 32 }, + { 0x302D, 35 }, + { 0x3033, 79 }, + { 0x3036, 177 }, + { 0x3038, 754 }, + { 0x3039, 641 }, + { 0x303A, 755 }, + { 0x303C, 614 }, + { 0x304F, 74 }, + { 0x3078, 613 }, + { 0x309A, 11 }, + { 0x309B, 29 }, + { 0x309C, 30 }, + { 0x30A0, 114 }, + { 0x30A4, 662 }, + { 0x30A8, 901 }, + { 0x30AB, 734 }, + { 0x30BF, 836 }, + { 0x30C8, 761 }, + { 0x30CB, 657 }, + { 0x30CE, 79 }, + { 0x30CF, 692 }, + { 0x30D8, 613 }, + { 0x30ED, 776 }, + { 0x30FB, 65 }, + { 0x30FC, 175 }, + { 0x3131, 586 }, + { 0x3134, 587 }, + { 0x3137, 588 }, + { 0x3139, 589 }, + { 0x3141, 590 }, + { 0x3142, 591 }, + { 0x3145, 592 }, + { 0x3147, 593 }, + { 0x3148, 594 }, + { 0x314A, 595 }, + { 0x314B, 596 }, + { 0x314C, 597 }, + { 0x314D, 598 }, + { 0x314E, 599 }, + { 0x314F, 604 }, + { 0x3151, 605 }, + { 0x3153, 606 }, + { 0x3155, 607 }, + { 0x3157, 608 }, + { 0x315B, 609 }, + { 0x315C, 610 }, + { 0x3160, 611 }, + { 0x3161, 175 }, + { 0x3163, 645 }, + { 0x3164, 603 }, + { 0x317F, 600 }, + { 0x3181, 601 }, + { 0x3186, 602 }, + { 0x318D, 612 }, + { 0x31D0, 175 }, + { 0x31D1, 645 }, + { 0x31D3, 79 }, + { 0x31D4, 80 }, + { 0x31D6, 652 }, + { 0x31DA, 655 }, + { 0x31DB, 74 }, + { 0x31DF, 651 }, + { 0x31E0, 650 }, + { 0x349E, 681 }, + { 0x34B9, 698 }, + { 0x34BB, 704 }, + { 0x34DF, 726 }, + { 0x3515, 736 }, + { 0x353E, 763 }, + { 0x3588, 790 }, + { 0x363D, 815 }, + { 0x36EE, 855 }, + { 0x36FC, 856 }, + { 0x3781, 877 }, + { 0x382F, 904 }, + { 0x3862, 911 }, + { 0x387C, 919 }, + { 0x38C7, 939 }, + { 0x38E3, 946 }, + { 0x38FA, 952 }, + { 0x391C, 960 }, + { 0x393A, 961 }, + { 0x39B3, 815 }, + { 0x3A2E, 1021 }, + { 0x3A41, 1022 }, + { 0x3A6C, 1026 }, + { 0x3ADA, 1048 }, + { 0x3AE4, 1049 }, + { 0x3B08, 1055 }, + { 0x3B19, 1059 }, + { 0x3B35, 1070 }, + { 0x3B3A, 1075 }, + { 0x3B3B, 1076 }, + { 0x3B49, 1090 }, + { 0x3B9D, 1104 }, + { 0x3BA3, 1105 }, + { 0x3C18, 1116 }, + { 0x3C4E, 1121 }, + { 0x3D33, 1179 }, + { 0x3D96, 1194 }, + { 0x3EAC, 1245 }, + { 0x3EB8, 1248 }, + { 0x3F1B, 1263 }, + { 0x3FFC, 1292 }, + { 0x4008, 1296 }, + { 0x4018, 1302 }, + { 0x4039, 1309 }, + { 0x403F, 1310 }, + { 0x4046, 1311 }, + { 0x4096, 1318 }, + { 0x40E3, 1328 }, + { 0x412F, 1353 }, + { 0x4202, 1370 }, + { 0x4227, 1373 }, + { 0x42A0, 1386 }, + { 0x4301, 1404 }, + { 0x4334, 1410 }, + { 0x4359, 1418 }, + { 0x439B, 790 }, + { 0x43D5, 1450 }, + { 0x43D9, 1451 }, + { 0x440B, 1455 }, + { 0x4420, 1076 }, + { 0x4443, 1458 }, + { 0x446B, 1472 }, + { 0x452B, 1514 }, + { 0x455D, 1518 }, + { 0x4561, 1520 }, + { 0x456B, 1523 }, + { 0x45D7, 1545 }, + { 0x45F9, 1549 }, + { 0x4635, 1564 }, + { 0x46B6, 1579 }, + { 0x46BE, 1580 }, + { 0x46C7, 1581 }, + { 0x4995, 1684 }, + { 0x49E6, 1699 }, + { 0x4A6E, 1721 }, + { 0x4A76, 1722 }, + { 0x4AB2, 1732 }, + { 0x4B33, 1750 }, + { 0x4BCE, 1764 }, + { 0x4CCE, 1780 }, + { 0x4CED, 1782 }, + { 0x4CF8, 1786 }, + { 0x4D56, 1804 }, + { 0x4E00, 175 }, + { 0x4E0D, 642 }, + { 0x4E26, 644 }, + { 0x4E28, 645 }, + { 0x4E2C, 1221 }, + { 0x4E32, 646 }, + { 0x4E36, 80 }, + { 0x4E38, 647 }, + { 0x4E39, 648 }, + { 0x4E3D, 643 }, + { 0x4E3F, 79 }, + { 0x4E41, 649 }, + { 0x4E59, 650 }, + { 0x4E5A, 651 }, + { 0x4E5B, 652 }, + { 0x4E80, 653 }, + { 0x4E82, 654 }, + { 0x4E85, 655 }, + { 0x4E86, 656 }, + { 0x4E8C, 657 }, + { 0x4EA0, 659 }, + { 0x4EAE, 660 }, + { 0x4EBA, 661 }, + { 0x4EBB, 662 }, + { 0x4EC0, 663 }, + { 0x4ECC, 664 }, + { 0x4EE4, 665 }, + { 0x4F60, 666 }, + { 0x4F75, 667 }, + { 0x4F80, 668 }, + { 0x4F86, 669 }, + { 0x4F8B, 670 }, + { 0x4FAE, 671 }, + { 0x4FBB, 672 }, + { 0x4FBF, 673 }, + { 0x5002, 667 }, + { 0x5024, 674 }, + { 0x502B, 675 }, + { 0x503C, 674 }, + { 0x507A, 676 }, + { 0x5099, 677 }, + { 0x50CF, 678 }, + { 0x50DA, 679 }, + { 0x50E7, 680 }, + { 0x513F, 682 }, + { 0x5140, 683 }, + { 0x5145, 684 }, + { 0x514D, 685 }, + { 0x5154, 686 }, + { 0x5164, 687 }, + { 0x5165, 688 }, + { 0x5167, 689 }, + { 0x5168, 690 }, + { 0x5169, 691 }, + { 0x516B, 692 }, + { 0x516D, 693 }, + { 0x5177, 694 }, + { 0x5180, 697 }, + { 0x5182, 699 }, + { 0x518D, 700 }, + { 0x5192, 702 }, + { 0x5195, 703 }, + { 0x5196, 706 }, + { 0x5197, 707 }, + { 0x51A4, 708 }, + { 0x51AB, 709 }, + { 0x51AC, 710 }, + { 0x51B5, 711 }, + { 0x51B7, 712 }, + { 0x51C9, 713 }, + { 0x51CC, 714 }, + { 0x51DC, 715 }, + { 0x51DE, 716 }, + { 0x51E0, 717 }, + { 0x51F5, 719 }, + { 0x5200, 720 }, + { 0x5202, 721 }, + { 0x5203, 722 }, + { 0x5207, 723 }, + { 0x5217, 724 }, + { 0x5229, 725 }, + { 0x523A, 727 }, + { 0x523B, 728 }, + { 0x5246, 729 }, + { 0x5272, 730 }, + { 0x5277, 731 }, + { 0x5289, 732 }, + { 0x529B, 734 }, + { 0x52A3, 735 }, + { 0x52B3, 737 }, + { 0x52C7, 738 }, + { 0x52C9, 739 }, + { 0x52D2, 740 }, + { 0x52DE, 741 }, + { 0x52E4, 742 }, + { 0x52F5, 743 }, + { 0x52F9, 744 }, + { 0x52FA, 745 }, + { 0x5305, 746 }, + { 0x5306, 747 }, + { 0x5315, 749 }, + { 0x5317, 750 }, + { 0x531A, 751 }, + { 0x5338, 752 }, + { 0x533F, 753 }, + { 0x5341, 754 }, + { 0x5344, 641 }, + { 0x5345, 755 }, + { 0x5349, 756 }, + { 0x534D, 757 }, + { 0x5350, 758 }, + { 0x5351, 759 }, + { 0x535A, 760 }, + { 0x535C, 761 }, + { 0x5369, 762 }, + { 0x5373, 764 }, + { 0x5375, 765 }, + { 0x537D, 766 }, + { 0x537F, 767 }, + { 0x5382, 768 }, + { 0x53B6, 770 }, + { 0x53C3, 771 }, + { 0x53C8, 772 }, + { 0x53CA, 773 }, + { 0x53DF, 774 }, + { 0x53E3, 776 }, + { 0x53E5, 777 }, + { 0x53EB, 778 }, + { 0x53F1, 779 }, + { 0x5406, 780 }, + { 0x540F, 781 }, + { 0x541D, 782 }, + { 0x5438, 783 }, + { 0x5442, 784 }, + { 0x5448, 785 }, + { 0x5468, 786 }, + { 0x549E, 787 }, + { 0x54A2, 788 }, + { 0x54BD, 789 }, + { 0x54F6, 791 }, + { 0x5510, 792 }, + { 0x5553, 793 }, + { 0x5555, 794 }, + { 0x555F, 793 }, + { 0x5563, 795 }, + { 0x5584, 796 }, + { 0x5587, 797 }, + { 0x5599, 798 }, + { 0x559D, 799 }, + { 0x55AB, 800 }, + { 0x55B3, 801 }, + { 0x55C0, 802 }, + { 0x55C2, 803 }, + { 0x55E2, 804 }, + { 0x5606, 805 }, + { 0x5651, 806 }, + { 0x5668, 808 }, + { 0x5674, 807 }, + { 0x56D7, 776 }, + { 0x56F9, 809 }, + { 0x5716, 810 }, + { 0x5717, 811 }, + { 0x571F, 812 }, + { 0x578B, 813 }, + { 0x57CE, 814 }, + { 0x57F4, 816 }, + { 0x580D, 817 }, + { 0x5831, 818 }, + { 0x5832, 819 }, + { 0x5840, 820 }, + { 0x585A, 821 }, + { 0x585E, 822 }, + { 0x5861, 823 }, + { 0x586B, 823 }, + { 0x58A8, 1806 }, + { 0x58AB, 824 }, + { 0x58AC, 825 }, + { 0x58B3, 826 }, + { 0x58D8, 827 }, + { 0x58DF, 828 }, + { 0x58EB, 812 }, + { 0x58EE, 830 }, + { 0x58F2, 831 }, + { 0x58F7, 832 }, + { 0x58FF, 824 }, + { 0x5902, 833 }, + { 0x5906, 834 }, + { 0x590A, 835 }, + { 0x5915, 836 }, + { 0x591A, 837 }, + { 0x5922, 838 }, + { 0x5927, 839 }, + { 0x5944, 840 }, + { 0x5948, 841 }, + { 0x5951, 842 }, + { 0x5954, 843 }, + { 0x5962, 844 }, + { 0x5973, 845 }, + { 0x59D8, 848 }, + { 0x59EC, 849 }, + { 0x5A1B, 850 }, + { 0x5A27, 851 }, + { 0x5A62, 852 }, + { 0x5A66, 853 }, + { 0x5AAF, 854 }, + { 0x5AB5, 857 }, + { 0x5B00, 854 }, + { 0x5B08, 858 }, + { 0x5B28, 859 }, + { 0x5B3E, 860 }, + { 0x5B50, 861 }, + { 0x5B80, 862 }, + { 0x5B85, 863 }, + { 0x5BC3, 865 }, + { 0x5BD8, 866 }, + { 0x5BE7, 867 }, + { 0x5BEE, 868 }, + { 0x5BF3, 869 }, + { 0x5BF8, 871 }, + { 0x5BFF, 872 }, + { 0x5C06, 873 }, + { 0x5C0F, 874 }, + { 0x5C22, 875 }, + { 0x5C23, 876 }, + { 0x5C38, 878 }, + { 0x5C3F, 879 }, + { 0x5C60, 880 }, + { 0x5C62, 881 }, + { 0x5C64, 882 }, + { 0x5C65, 883 }, + { 0x5C6E, 884 }, + { 0x5C71, 886 }, + { 0x5C8D, 888 }, + { 0x5CC0, 887 }, + { 0x5D19, 891 }, + { 0x5D43, 892 }, + { 0x5D50, 893 }, + { 0x5D6B, 894 }, + { 0x5D6E, 895 }, + { 0x5D7C, 896 }, + { 0x5DB2, 897 }, + { 0x5DBA, 898 }, + { 0x5DDB, 899 }, + { 0x5DE1, 1642 }, + { 0x5DE2, 900 }, + { 0x5DE5, 901 }, + { 0x5DF1, 902 }, + { 0x5DF3, 903 }, + { 0x5DFD, 905 }, + { 0x5DFE, 906 }, + { 0x5E21, 907 }, + { 0x5E28, 908 }, + { 0x5E32, 907 }, + { 0x5E3D, 909 }, + { 0x5E50, 1075 }, + { 0x5E69, 910 }, + { 0x5E72, 913 }, + { 0x5E74, 914 }, + { 0x5E7A, 916 }, + { 0x5E7F, 917 }, + { 0x5EA6, 918 }, + { 0x5EB0, 920 }, + { 0x5EB3, 921 }, + { 0x5EB6, 922 }, + { 0x5EC9, 924 }, + { 0x5ECA, 923 }, + { 0x5ED2, 925 }, + { 0x5ED3, 926 }, + { 0x5ED9, 927 }, + { 0x5EEC, 928 }, + { 0x5EF4, 929 }, + { 0x5EFE, 930 }, + { 0x5F04, 932 }, + { 0x5F0B, 933 }, + { 0x5F13, 934 }, + { 0x5F22, 935 }, + { 0x5F50, 936 }, + { 0x5F51, 937 }, + { 0x5F53, 938 }, + { 0x5F61, 940 }, + { 0x5F62, 941 }, + { 0x5F69, 942 }, + { 0x5F6B, 943 }, + { 0x5F73, 944 }, + { 0x5F8B, 945 }, + { 0x5F9A, 947 }, + { 0x5FA9, 948 }, + { 0x5FAD, 949 }, + { 0x5FC3, 950 }, + { 0x5FC4, 951 }, + { 0x5FCD, 953 }, + { 0x5FD7, 954 }, + { 0x5FF5, 955 }, + { 0x5FF9, 956 }, + { 0x6012, 957 }, + { 0x601C, 958 }, + { 0x6075, 959 }, + { 0x6081, 962 }, + { 0x6094, 963 }, + { 0x60C7, 964 }, + { 0x60D8, 965 }, + { 0x60E1, 966 }, + { 0x6108, 968 }, + { 0x6144, 970 }, + { 0x6148, 971 }, + { 0x614C, 972 }, + { 0x614E, 973 }, + { 0x6160, 974 }, + { 0x6168, 969 }, + { 0x617A, 975 }, + { 0x618E, 976 }, + { 0x6190, 977 }, + { 0x61A4, 978 }, + { 0x61AF, 979 }, + { 0x61B2, 980 }, + { 0x61DE, 983 }, + { 0x61F2, 984 }, + { 0x61F6, 985 }, + { 0x6200, 986 }, + { 0x6208, 987 }, + { 0x6210, 988 }, + { 0x621B, 989 }, + { 0x622E, 990 }, + { 0x6234, 991 }, + { 0x6236, 992 }, + { 0x6238, 992 }, + { 0x624B, 993 }, + { 0x624C, 994 }, + { 0x625D, 995 }, + { 0x62B1, 996 }, + { 0x62C9, 997 }, + { 0x62CF, 998 }, + { 0x62D3, 999 }, + { 0x62D4, 1000 }, + { 0x62FC, 1001 }, + { 0x62FE, 1002 }, + { 0x633D, 1004 }, + { 0x6350, 1005 }, + { 0x6368, 1006 }, + { 0x637B, 1007 }, + { 0x6383, 1008 }, + { 0x63A0, 1009 }, + { 0x63A9, 1010 }, + { 0x63C4, 1011 }, + { 0x63C5, 1017 }, + { 0x63E4, 1012 }, + { 0x6409, 1022 }, + { 0x641C, 1015 }, + { 0x6422, 1016 }, + { 0x6452, 1013 }, + { 0x6469, 1018 }, + { 0x6477, 1019 }, + { 0x647E, 1020 }, + { 0x649A, 1023 }, + { 0x649D, 1024 }, + { 0x64C4, 1025 }, + { 0x652F, 1027 }, + { 0x6534, 1028 }, + { 0x6535, 1029 }, + { 0x654F, 1030 }, + { 0x6556, 1031 }, + { 0x656C, 1032 }, + { 0x6578, 1033 }, + { 0x6587, 1035 }, + { 0x6589, 1036 }, + { 0x6597, 1037 }, + { 0x6599, 1038 }, + { 0x65A4, 1039 }, + { 0x65B9, 1040 }, + { 0x65C5, 1041 }, + { 0x65E0, 1042 }, + { 0x65E1, 1043 }, + { 0x65E2, 1044 }, + { 0x65E3, 1045 }, + { 0x65E5, 1046 }, + { 0x6613, 1047 }, + { 0x6649, 1050 }, + { 0x665A, 1051 }, + { 0x6663, 1310 }, + { 0x6669, 1051 }, + { 0x6674, 1052 }, + { 0x6688, 1054 }, + { 0x6691, 1053 }, + { 0x669C, 1056 }, + { 0x66B4, 1057 }, + { 0x66C6, 1058 }, + { 0x66F0, 1061 }, + { 0x66F4, 1062 }, + { 0x66F6, 1048 }, + { 0x66F8, 1063 }, + { 0x6700, 705 }, + { 0x6708, 1064 }, + { 0x670C, 1066 }, + { 0x670F, 1067 }, + { 0x6710, 1068 }, + { 0x6713, 1069 }, + { 0x6717, 1071 }, + { 0x6718, 1072 }, + { 0x671B, 1073 }, + { 0x6721, 1074 }, + { 0x6723, 1078 }, + { 0x6726, 1458 }, + { 0x6728, 1080 }, + { 0x674E, 1081 }, + { 0x6753, 1082 }, + { 0x6756, 1083 }, + { 0x675E, 1084 }, + { 0x676E, 1086 }, + { 0x677B, 1087 }, + { 0x6785, 1088 }, + { 0x6797, 1089 }, + { 0x67F3, 1092 }, + { 0x67FA, 1093 }, + { 0x67FF, 1086 }, + { 0x6817, 1094 }, + { 0x681F, 1095 }, + { 0x6852, 1096 }, + { 0x6881, 1098 }, + { 0x6885, 1099 }, + { 0x688E, 1100 }, + { 0x68A8, 1101 }, + { 0x6914, 1102 }, + { 0x6942, 1103 }, + { 0x699D, 1106 }, + { 0x69A3, 1107 }, + { 0x69E9, 1105 }, + { 0x69EA, 1108 }, + { 0x6A02, 1109 }, + { 0x6A13, 1110 }, + { 0x6A27, 1106 }, + { 0x6AA8, 1112 }, + { 0x6AD3, 1113 }, + { 0x6ADB, 1114 }, + { 0x6B04, 1115 }, + { 0x6B20, 1117 }, + { 0x6B21, 1118 }, + { 0x6B54, 1120 }, + { 0x6B62, 1122 }, + { 0x6B6F, 1123 }, + { 0x6B72, 1124 }, + { 0x6B77, 1125 }, + { 0x6B79, 1126 }, + { 0x6B7A, 1127 }, + { 0x6B9F, 1128 }, + { 0x6BAE, 1129 }, + { 0x6BB3, 1130 }, + { 0x6BBA, 1131 }, + { 0x6BBB, 1132 }, + { 0x6BCB, 1134 }, + { 0x6BCD, 1135 }, + { 0x6BD4, 1137 }, + { 0x6BDB, 1138 }, + { 0x6C0F, 1139 }, + { 0x6C11, 1140 }, + { 0x6C14, 1141 }, + { 0x6C34, 1142 }, + { 0x6C35, 1143 }, + { 0x6C3A, 1144 }, + { 0x6C4E, 1145 }, + { 0x6C67, 1146 }, + { 0x6C88, 1147 }, + { 0x6CBF, 1148 }, + { 0x6CCC, 1149 }, + { 0x6CCD, 1150 }, + { 0x6CE5, 1151 }, + { 0x6D16, 1158 }, + { 0x6D1B, 1153 }, + { 0x6D1E, 1154 }, + { 0x6D34, 1155 }, + { 0x6D3E, 1156 }, + { 0x6D41, 1157 }, + { 0x6D69, 1159 }, + { 0x6D6A, 1160 }, + { 0x6D77, 1161 }, + { 0x6D78, 1162 }, + { 0x6D85, 1163 }, + { 0x6DCB, 1165 }, + { 0x6DDA, 1166 }, + { 0x6DEA, 1167 }, + { 0x6DF9, 1168 }, + { 0x6E1A, 1169 }, + { 0x6E2F, 1170 }, + { 0x6E6E, 1171 }, + { 0x6E88, 1172 }, + { 0x6E9C, 1174 }, + { 0x6EBA, 1175 }, + { 0x6EC7, 1176 }, + { 0x6ECB, 1173 }, + { 0x6ED1, 1177 }, + { 0x6EDB, 1178 }, + { 0x6F0F, 1180 }, + { 0x6F22, 1181 }, + { 0x6F23, 1182 }, + { 0x6F59, 1172 }, + { 0x6F6E, 1184 }, + { 0x6FC6, 1187 }, + { 0x6FEB, 1188 }, + { 0x6FFE, 1189 }, + { 0x701B, 1190 }, + { 0x701E, 1191 }, + { 0x7039, 1192 }, + { 0x704A, 1193 }, + { 0x706B, 1195 }, + { 0x706C, 1196 }, + { 0x7070, 1197 }, + { 0x7077, 1198 }, + { 0x707D, 1199 }, + { 0x7099, 1200 }, + { 0x70AD, 1201 }, + { 0x70C8, 1202 }, + { 0x70D9, 1203 }, + { 0x7145, 1206 }, + { 0x7149, 1207 }, + { 0x716E, 1204 }, + { 0x719C, 1209 }, + { 0x71CE, 1210 }, + { 0x71D0, 1211 }, + { 0x7210, 1213 }, + { 0x721B, 1214 }, + { 0x7228, 1215 }, + { 0x722A, 1216 }, + { 0x722B, 1217 }, + { 0x7235, 1218 }, + { 0x7236, 1219 }, + { 0x723B, 1220 }, + { 0x723F, 1222 }, + { 0x7247, 1223 }, + { 0x7250, 1224 }, + { 0x7259, 1225 }, + { 0x725B, 1227 }, + { 0x7262, 1228 }, + { 0x7280, 1229 }, + { 0x7295, 1230 }, + { 0x72AC, 1231 }, + { 0x72AD, 1232 }, + { 0x72AF, 1233 }, + { 0x72C0, 1234 }, + { 0x72FC, 1236 }, + { 0x732A, 1237 }, + { 0x7375, 1239 }, + { 0x737A, 1240 }, + { 0x7384, 1241 }, + { 0x7387, 1242 }, + { 0x7389, 1243 }, + { 0x738B, 1244 }, + { 0x73A5, 1246 }, + { 0x73B2, 1247 }, + { 0x73DE, 1249 }, + { 0x7406, 1251 }, + { 0x7409, 1250 }, + { 0x7422, 1252 }, + { 0x7447, 1253 }, + { 0x745C, 1254 }, + { 0x7469, 1255 }, + { 0x7471, 1256 }, + { 0x7485, 1257 }, + { 0x7489, 1258 }, + { 0x7498, 1259 }, + { 0x74CA, 1260 }, + { 0x74DC, 1261 }, + { 0x74E6, 1262 }, + { 0x7506, 1264 }, + { 0x7518, 1265 }, + { 0x751F, 1266 }, + { 0x7524, 1267 }, + { 0x7528, 1268 }, + { 0x7530, 1269 }, + { 0x753B, 1270 }, + { 0x753E, 1271 }, + { 0x7559, 1273 }, + { 0x7565, 1274 }, + { 0x7570, 1275 }, + { 0x758B, 1277 }, + { 0x7592, 1278 }, + { 0x75E2, 1279 }, + { 0x7610, 1280 }, + { 0x761D, 1282 }, + { 0x761F, 1281 }, + { 0x7642, 1283 }, + { 0x7669, 1284 }, + { 0x7676, 1285 }, + { 0x767D, 1286 }, + { 0x76AE, 1289 }, + { 0x76BF, 1290 }, + { 0x76CA, 1293 }, + { 0x76DB, 1294 }, + { 0x76E7, 1295 }, + { 0x76EE, 1297 }, + { 0x76F4, 1298 }, + { 0x7701, 1301 }, + { 0x771E, 1304 }, + { 0x771F, 1305 }, + { 0x7740, 1307 }, + { 0x774A, 1308 }, + { 0x778B, 1312 }, + { 0x77A7, 1314 }, + { 0x77DB, 1315 }, + { 0x77E2, 1316 }, + { 0x77F3, 1317 }, + { 0x7814, 1320 }, + { 0x784E, 1321 }, + { 0x784F, 1320 }, + { 0x786B, 1322 }, + { 0x788C, 1323 }, + { 0x7891, 1324 }, + { 0x78CA, 1325 }, + { 0x78CC, 1326 }, + { 0x78FB, 1327 }, + { 0x792A, 1329 }, + { 0x793A, 1330 }, + { 0x793B, 1331 }, + { 0x793C, 1332 }, + { 0x793E, 1333 }, + { 0x7948, 1334 }, + { 0x7949, 1335 }, + { 0x7950, 1337 }, + { 0x7956, 1338 }, + { 0x795D, 1339 }, + { 0x795E, 1340 }, + { 0x7965, 1341 }, + { 0x797F, 1343 }, + { 0x798D, 1345 }, + { 0x798E, 1346 }, + { 0x798F, 1347 }, + { 0x79AE, 1349 }, + { 0x79B8, 1350 }, + { 0x79BE, 1351 }, + { 0x79CA, 1352 }, + { 0x79EB, 1354 }, + { 0x7A1C, 1355 }, + { 0x7A40, 1357 }, + { 0x7A4A, 1356 }, + { 0x7A4F, 1358 }, + { 0x7A74, 1359 }, + { 0x7A81, 1360 }, + { 0x7AB1, 1362 }, + { 0x7ACB, 1363 }, + { 0x7ADC, 1364 }, + { 0x7AEE, 1366 }, + { 0x7AF9, 1367 }, + { 0x7B20, 1368 }, + { 0x7BC0, 1369 }, + { 0x7BC6, 1372 }, + { 0x7BC9, 1374 }, + { 0x7C3E, 1377 }, + { 0x7C60, 1378 }, + { 0x7C73, 1379 }, + { 0x7C7B, 1380 }, + { 0x7C92, 1381 }, + { 0x7CBE, 1382 }, + { 0x7CD2, 1383 }, + { 0x7CD6, 1384 }, + { 0x7CE3, 1387 }, + { 0x7CE7, 1388 }, + { 0x7CE8, 1385 }, + { 0x7CF8, 1389 }, + { 0x7CF9, 1390 }, + { 0x7D00, 1392 }, + { 0x7D10, 1393 }, + { 0x7D22, 1394 }, + { 0x7D2F, 1395 }, + { 0x7D55, 1396 }, + { 0x7D5B, 1398 }, + { 0x7D63, 1397 }, + { 0x7D76, 1396 }, + { 0x7DA0, 1399 }, + { 0x7DBE, 1400 }, + { 0x7DC7, 1401 }, + { 0x7DF4, 1402 }, + { 0x7E02, 1403 }, + { 0x7E09, 1405 }, + { 0x7E37, 1406 }, + { 0x7E41, 1407 }, + { 0x7E45, 1408 }, + { 0x7F36, 1411 }, + { 0x7F3E, 1413 }, + { 0x7F51, 1415 }, + { 0x7F52, 1416 }, + { 0x7F53, 1417 }, + { 0x7F72, 1419 }, + { 0x7F79, 1421 }, + { 0x7F7A, 1422 }, + { 0x7F85, 1423 }, + { 0x7F8A, 1425 }, + { 0x7F95, 1426 }, + { 0x7F9A, 1427 }, + { 0x7FBD, 1428 }, + { 0x7FFA, 1429 }, + { 0x8001, 1430 }, + { 0x8002, 1431 }, + { 0x8005, 1432 }, + { 0x800C, 1433 }, + { 0x8012, 1435 }, + { 0x8033, 1437 }, + { 0x8046, 1438 }, + { 0x8060, 1439 }, + { 0x806F, 1441 }, + { 0x8070, 1442 }, + { 0x807E, 1443 }, + { 0x807F, 1444 }, + { 0x8080, 1445 }, + { 0x8089, 1446 }, + { 0x808B, 1447 }, + { 0x80A6, 1066 }, + { 0x80AD, 1448 }, + { 0x80B2, 1449 }, + { 0x80CA, 1068 }, + { 0x80D0, 1067 }, + { 0x80F6, 1070 }, + { 0x80FC, 1452 }, + { 0x8101, 1069 }, + { 0x8103, 1453 }, + { 0x8127, 1072 }, + { 0x813E, 1454 }, + { 0x8141, 1452 }, + { 0x81A7, 1078 }, + { 0x81D8, 1459 }, + { 0x81E3, 1460 }, + { 0x81E8, 1461 }, + { 0x81EA, 1462 }, + { 0x81ED, 1463 }, + { 0x81F3, 1464 }, + { 0x81FC, 1465 }, + { 0x8201, 1466 }, + { 0x8204, 1467 }, + { 0x820C, 1468 }, + { 0x8218, 1469 }, + { 0x821B, 1470 }, + { 0x821F, 1471 }, + { 0x826E, 1473 }, + { 0x826F, 1474 }, + { 0x8272, 1475 }, + { 0x8278, 1476 }, + { 0x8279, 1477 }, + { 0x828B, 1478 }, + { 0x8291, 1479 }, + { 0x829D, 1480 }, + { 0x82B1, 1481 }, + { 0x82B3, 1482 }, + { 0x82BD, 1483 }, + { 0x82E5, 1484 }, + { 0x82E6, 1485 }, + { 0x831D, 1490 }, + { 0x8323, 1491 }, + { 0x8336, 1487 }, + { 0x8352, 1488 }, + { 0x8353, 1493 }, + { 0x8363, 1489 }, + { 0x83AD, 1503 }, + { 0x83BD, 1492 }, + { 0x83C9, 1494 }, + { 0x83CA, 1495 }, + { 0x83CC, 1496 }, + { 0x83DC, 1497 }, + { 0x83E7, 1498 }, + { 0x83EF, 1499 }, + { 0x83F1, 1500 }, + { 0x843D, 1504 }, + { 0x8449, 1505 }, + { 0x8457, 1501 }, + { 0x848D, 1506 }, + { 0x84EE, 1509 }, + { 0x84F1, 1510 }, + { 0x84F3, 1511 }, + { 0x84FC, 1512 }, + { 0x8516, 1513 }, + { 0x853F, 1506 }, + { 0x8564, 1515 }, + { 0x85CD, 1517 }, + { 0x85FA, 1521 }, + { 0x8606, 1522 }, + { 0x8612, 1524 }, + { 0x862D, 1525 }, + { 0x8637, 1527 }, + { 0x863F, 1528 }, + { 0x8641, 1527 }, + { 0x864D, 1529 }, + { 0x864E, 1530 }, + { 0x8650, 1531 }, + { 0x865C, 1532 }, + { 0x8667, 1533 }, + { 0x8669, 1534 }, + { 0x866B, 1535 }, + { 0x8688, 1537 }, + { 0x86A9, 1536 }, + { 0x86E2, 1538 }, + { 0x870E, 1539 }, + { 0x8728, 1540 }, + { 0x876B, 1541 }, + { 0x8779, 1543 }, + { 0x8786, 1544 }, + { 0x87BA, 1547 }, + { 0x87E1, 1542 }, + { 0x8801, 1548 }, + { 0x881F, 1550 }, + { 0x8840, 1551 }, + { 0x884C, 1552 }, + { 0x8860, 1553 }, + { 0x8863, 1554 }, + { 0x8864, 1555 }, + { 0x88C2, 1556 }, + { 0x88CF, 1558 }, + { 0x88D7, 1559 }, + { 0x88DE, 1560 }, + { 0x88E1, 1561 }, + { 0x88F8, 1562 }, + { 0x88FA, 1563 }, + { 0x8910, 1565 }, + { 0x8941, 1566 }, + { 0x8964, 1567 }, + { 0x897E, 1568 }, + { 0x897F, 1569 }, + { 0x8980, 1570 }, + { 0x8986, 1571 }, + { 0x898B, 1572 }, + { 0x8996, 1342 }, + { 0x89C1, 1574 }, + { 0x89D2, 1575 }, + { 0x8A00, 1576 }, + { 0x8A1E, 1579 }, + { 0x8A2E, 1578 }, + { 0x8A7D, 1578 }, + { 0x8AA0, 1582 }, + { 0x8AAA, 1583 }, + { 0x8ABF, 1584 }, + { 0x8ACB, 1585 }, + { 0x8AD2, 1586 }, + { 0x8AD6, 1587 }, + { 0x8AED, 1588 }, + { 0x8AF8, 1589 }, + { 0x8AFE, 1590 }, + { 0x8B01, 1591 }, + { 0x8B39, 1592 }, + { 0x8B58, 1593 }, + { 0x8B80, 1594 }, + { 0x8B86, 1595 }, + { 0x8B8A, 1596 }, + { 0x8B8F, 1595 }, + { 0x8BA0, 1597 }, + { 0x8C37, 1598 }, + { 0x8C46, 1599 }, + { 0x8C48, 1600 }, + { 0x8C55, 1601 }, + { 0x8C5C, 1602 }, + { 0x8C63, 1602 }, + { 0x8C78, 1603 }, + { 0x8C9D, 1605 }, + { 0x8CAB, 1606 }, + { 0x8CC1, 1607 }, + { 0x8CC2, 1608 }, + { 0x8CC8, 1609 }, + { 0x8CD3, 1610 }, + { 0x8D08, 1611 }, + { 0x8D1B, 1612 }, + { 0x8D1D, 1613 }, + { 0x8D64, 1614 }, + { 0x8D70, 1615 }, + { 0x8D77, 1616 }, + { 0x8D7F, 1617 }, + { 0x8D86, 1617 }, + { 0x8DB3, 1620 }, + { 0x8DBC, 1622 }, + { 0x8DCB, 1621 }, + { 0x8DE5, 1623 }, + { 0x8DEF, 1624 }, + { 0x8DF0, 1625 }, + { 0x8DFA, 1623 }, + { 0x8E97, 1626 }, + { 0x8E9B, 1626 }, + { 0x8EAB, 1627 }, + { 0x8ECA, 1628 }, + { 0x8ED4, 1629 }, + { 0x8EFF, 1630 }, + { 0x8F26, 1631 }, + { 0x8F27, 1630 }, + { 0x8F2A, 1632 }, + { 0x8F38, 1633 }, + { 0x8F3B, 1634 }, + { 0x8F62, 1635 }, + { 0x8F66, 1636 }, + { 0x8F9B, 1637 }, + { 0x8F9E, 1638 }, + { 0x8FB0, 1639 }, + { 0x8FB5, 1640 }, + { 0x8FB6, 1641 }, + { 0x9023, 1643 }, + { 0x9038, 1644 }, + { 0x9072, 1645 }, + { 0x907C, 1646 }, + { 0x908F, 1649 }, + { 0x9091, 1650 }, + { 0x9094, 1651 }, + { 0x90CE, 1652 }, + { 0x90DE, 1652 }, + { 0x90F1, 1653 }, + { 0x90FD, 1654 }, + { 0x9111, 1656 }, + { 0x911B, 1657 }, + { 0x9149, 1658 }, + { 0x916A, 1659 }, + { 0x9199, 1660 }, + { 0x91B4, 1661 }, + { 0x91C6, 1662 }, + { 0x91CC, 1663 }, + { 0x91CF, 1664 }, + { 0x91D1, 1665 }, + { 0x9234, 1666 }, + { 0x9238, 1667 }, + { 0x9276, 1668 }, + { 0x927C, 1671 }, + { 0x92D7, 1669 }, + { 0x92D8, 1670 }, + { 0x9304, 1672 }, + { 0x934A, 1673 }, + { 0x93AD, 1674 }, + { 0x93AE, 1674 }, + { 0x93F9, 1675 }, + { 0x9415, 1676 }, + { 0x9485, 1678 }, + { 0x9577, 1679 }, + { 0x9578, 1680 }, + { 0x957F, 1681 }, + { 0x9580, 1682 }, + { 0x958B, 1683 }, + { 0x95AD, 1685 }, + { 0x95B7, 1686 }, + { 0x95E8, 1688 }, + { 0x961C, 1689 }, + { 0x961D, 1690 }, + { 0x962E, 1691 }, + { 0x964B, 1692 }, + { 0x964D, 1693 }, + { 0x9675, 1694 }, + { 0x9678, 1695 }, + { 0x967C, 1696 }, + { 0x9686, 1697 }, + { 0x96A3, 1698 }, + { 0x96B6, 1700 }, + { 0x96B7, 1701 }, + { 0x96B8, 1701 }, + { 0x96B9, 1702 }, + { 0x96C3, 1703 }, + { 0x96E2, 1704 }, + { 0x96E3, 1705 }, + { 0x96E8, 1706 }, + { 0x96F6, 1707 }, + { 0x96F7, 1708 }, + { 0x9723, 1709 }, + { 0x9732, 1711 }, + { 0x9748, 1712 }, + { 0x9751, 1713 }, + { 0x9752, 1714 }, + { 0x9756, 1715 }, + { 0x975E, 1717 }, + { 0x9762, 1718 }, + { 0x9769, 1720 }, + { 0x97CB, 1723 }, + { 0x97DB, 1724 }, + { 0x97E0, 1725 }, + { 0x97E6, 1726 }, + { 0x97ED, 1727 }, + { 0x97F3, 1729 }, + { 0x97FF, 1730 }, + { 0x9801, 1731 }, + { 0x980B, 1733 }, + { 0x9818, 1734 }, + { 0x9829, 1735 }, + { 0x983B, 1737 }, + { 0x985E, 1738 }, + { 0x9875, 1739 }, + { 0x98A8, 1740 }, + { 0x98CE, 1742 }, + { 0x98DB, 1743 }, + { 0x98DE, 1744 }, + { 0x98DF, 1745 }, + { 0x98E0, 1746 }, + { 0x98E2, 1747 }, + { 0x98EF, 1748 }, + { 0x98FC, 1749 }, + { 0x9928, 1751 }, + { 0x9929, 1752 }, + { 0x9963, 1753 }, + { 0x9996, 1754 }, + { 0x9999, 1755 }, + { 0x99A7, 1756 }, + { 0x99AC, 1757 }, + { 0x99C2, 1758 }, + { 0x99F1, 1759 }, + { 0x99FE, 1760 }, + { 0x9A6A, 1761 }, + { 0x9A6C, 1762 }, + { 0x9AA8, 1763 }, + { 0x9AD8, 1765 }, + { 0x9ADF, 1766 }, + { 0x9B12, 1768 }, + { 0x9B25, 1769 }, + { 0x9B2F, 1770 }, + { 0x9B32, 1771 }, + { 0x9B3C, 1772 }, + { 0x9B5A, 1773 }, + { 0x9B6F, 1774 }, + { 0x9C40, 1775 }, + { 0x9C57, 1776 }, + { 0x9C7C, 1777 }, + { 0x9CE5, 1778 }, + { 0x9CFD, 1779 }, + { 0x9D67, 1781 }, + { 0x9DB4, 1784 }, + { 0x9DFA, 1787 }, + { 0x9E1E, 1789 }, + { 0x9E42, 1790 }, + { 0x9E43, 1790 }, + { 0x9E75, 1791 }, + { 0x9E7F, 1792 }, + { 0x9E97, 1794 }, + { 0x9E9F, 1795 }, + { 0x9EA5, 1796 }, + { 0x9EA6, 1797 }, + { 0x9EBB, 1798 }, + { 0x9EC3, 1800 }, + { 0x9EC4, 1801 }, + { 0x9ECD, 1802 }, + { 0x9ECE, 1803 }, + { 0x9ED1, 1805 }, + { 0x9ED2, 1805 }, + { 0x9EF9, 1807 }, + { 0x9EFD, 1808 }, + { 0x9EFE, 1810 }, + { 0x9F05, 1809 }, + { 0x9F0E, 1811 }, + { 0x9F0F, 1812 }, + { 0x9F13, 1813 }, + { 0x9F16, 1814 }, + { 0x9F20, 1815 }, + { 0x9F3B, 1816 }, + { 0x9F43, 1817 }, + { 0x9F4A, 1818 }, + { 0x9F50, 1819 }, + { 0x9F52, 1820 }, + { 0x9F7F, 1822 }, + { 0x9F8D, 1823 }, + { 0x9F8E, 1824 }, + { 0x9F99, 1825 }, + { 0x9F9C, 1826 }, + { 0x9F9F, 1827 }, + { 0x9FA0, 1828 }, + { 0x9FC3, 1309 }, + { 0xA04A, 615 }, + { 0xA050, 616 }, + { 0xA0C0, 617 }, + { 0xA132, 618 }, + { 0xA259, 619 }, + { 0xA2B1, 620 }, + { 0xA2CD, 621 }, + { 0xA3AB, 622 }, + { 0xA3B5, 623 }, + { 0xA3BF, 624 }, + { 0xA3C2, 625 }, + { 0xA458, 626 }, + { 0xA494, 621 }, + { 0xA49C, 617 }, + { 0xA49E, 615 }, + { 0xA4A7, 626 }, + { 0xA4A8, 618 }, + { 0xA4AC, 616 }, + { 0xA4B0, 625 }, + { 0xA4BA, 624 }, + { 0xA4BE, 620 }, + { 0xA4BF, 619 }, + { 0xA4C0, 622 }, + { 0xA4C2, 623 }, + { 0xA4D0, 224 }, + { 0xA4D1, 293 }, + { 0xA4D2, 232 }, + { 0xA4D3, 233 }, + { 0xA4D4, 309 }, + { 0xA4D5, 627 }, + { 0xA4D6, 253 }, + { 0xA4D7, 274 }, + { 0xA4D9, 271 }, + { 0xA4DA, 227 }, + { 0xA4DB, 290 }, + { 0xA4DC, 330 }, + { 0xA4DD, 249 }, + { 0xA4DE, 250 }, + { 0xA4DF, 278 }, + { 0xA4E0, 281 }, + { 0xA4E1, 276 }, + { 0xA4E2, 304 }, + { 0xA4E3, 300 }, + { 0xA4E4, 628 }, + { 0xA4E5, 322 }, + { 0xA4E6, 320 }, + { 0xA4E7, 260 }, + { 0xA4E8, 629 }, + { 0xA4EA, 323 }, + { 0xA4EB, 325 }, + { 0xA4EC, 327 }, + { 0xA4ED, 571 }, + { 0xA4EE, 215 }, + { 0xA4EF, 221 }, + { 0xA4F0, 237 }, + { 0xA4F1, 241 }, + { 0xA4F2, 275 }, + { 0xA4F3, 285 }, + { 0xA4F4, 314 }, + { 0xA4F5, 376 }, + { 0xA4F6, 630 }, + { 0xA4F7, 569 }, + { 0xA4F8, 64 }, + { 0xA4F9, 56 }, + { 0xA4FD, 60 }, + { 0xA4FF, 114 }, + { 0xA60E, 64 }, + { 0xA644, 185 }, + { 0xA645, 334 }, + { 0xA647, 266 }, + { 0xA64C, 367 }, + { 0xA64D, 355 }, + { 0xA658, 373 }, + { 0xA668, 338 }, + { 0xA66F, 51 }, + { 0xA67C, 9 }, + { 0xA67E, 89 }, + { 0xA69A, 631 }, + { 0xA6A1, 360 }, + { 0xA6B0, 575 }, + { 0xA6B1, 264 }, + { 0xA6CD, 337 }, + { 0xA6CE, 322 }, + { 0xA6DB, 348 }, + { 0xA6DF, 320 }, + { 0xA6EB, 62 }, + { 0xA6EF, 185 }, + { 0xA6F0, 10 }, + { 0xA6F1, 18 }, + { 0xA714, 93 }, + { 0xA716, 92 }, + { 0xA727, 265 }, + { 0xA731, 303 }, + { 0xA73E, 231 }, + { 0xA73F, 230 }, + { 0xA75A, 185 }, + { 0xA76A, 191 }, + { 0xA76B, 328 }, + { 0xA76E, 210 }, + { 0xA770, 333 }, + { 0xA778, 81 }, + { 0xA779, 234 }, + { 0xA77A, 234 }, + { 0xA786, 311 }, + { 0xA789, 60 }, + { 0xA78C, 67 }, + { 0xA78F, 65 }, + { 0xA792, 229 }, + { 0xA793, 228 }, + { 0xA795, 265 }, + { 0xA798, 249 }, + { 0xA799, 248 }, + { 0xA79A, 635 }, + { 0xA79B, 634 }, + { 0xA79D, 247 }, + { 0xA79E, 628 }, + { 0xA79F, 313 }, + { 0xA7AB, 191 }, + { 0xA7B1, 627 }, + { 0xA7B2, 271 }, + { 0xA7B3, 325 }, + { 0xA7B4, 224 }, + { 0xA7B5, 305 }, + { 0xA7B6, 367 }, + { 0xA7B7, 355 }, + { 0xA7F7, 175 }, + { 0xA7FB, 251 }, + { 0xA830, 66 }, + { 0xA8FB, 450 }, + { 0xA8FC, 83 }, + { 0xA992, 374 }, + { 0xA99D, 551 }, + { 0xA9A3, 551 }, + { 0xA9C6, 179 }, + { 0xA9CF, 186 }, + { 0xA9D0, 179 }, + { 0xAA01, 546 }, + { 0xAA23, 547 }, + { 0xAA53, 546 }, + { 0xAA56, 547 }, + { 0xAB32, 236 }, + { 0xAB35, 248 }, + { 0xAB3D, 284 }, + { 0xAB47, 299 }, + { 0xAB48, 299 }, + { 0xAB4D, 306 }, + { 0xAB4E, 313 }, + { 0xAB52, 313 }, + { 0xAB53, 352 }, + { 0xAB55, 352 }, + { 0xAB5A, 326 }, + { 0xAB60, 364 }, + { 0xF900, 1600 }, + { 0xF901, 1062 }, + { 0xF902, 1628 }, + { 0xF903, 1609 }, + { 0xF904, 1177 }, + { 0xF905, 646 }, + { 0xF906, 777 }, + { 0xF907, 1826 }, + { 0xF908, 1826 }, + { 0xF909, 842 }, + { 0xF90A, 1665 }, + { 0xF90B, 797 }, + { 0xF90C, 841 }, + { 0xF90D, 985 }, + { 0xF90E, 1284 }, + { 0xF90F, 1423 }, + { 0xF910, 1528 }, + { 0xF911, 1547 }, + { 0xF912, 1562 }, + { 0xF913, 1649 }, + { 0xF914, 1109 }, + { 0xF915, 1153 }, + { 0xF916, 1203 }, + { 0xF917, 1249 }, + { 0xF918, 1504 }, + { 0xF919, 1659 }, + { 0xF91A, 1759 }, + { 0xF91B, 654 }, + { 0xF91C, 765 }, + { 0xF91D, 1115 }, + { 0xF91E, 1214 }, + { 0xF91F, 1525 }, + { 0xF920, 1789 }, + { 0xF921, 893 }, + { 0xF922, 1188 }, + { 0xF923, 1517 }, + { 0xF924, 1567 }, + { 0xF925, 997 }, + { 0xF926, 1459 }, + { 0xF927, 1550 }, + { 0xF928, 923 }, + { 0xF929, 1071 }, + { 0xF92A, 1160 }, + { 0xF92B, 1236 }, + { 0xF92C, 1652 }, + { 0xF92D, 669 }, + { 0xF92E, 712 }, + { 0xF92F, 741 }, + { 0xF930, 1025 }, + { 0xF931, 1113 }, + { 0xF932, 1213 }, + { 0xF933, 1295 }, + { 0xF934, 1430 }, + { 0xF935, 1522 }, + { 0xF936, 1532 }, + { 0xF937, 1624 }, + { 0xF938, 1711 }, + { 0xF939, 1774 }, + { 0xF93A, 1787 }, + { 0xF93B, 1323 }, + { 0xF93C, 1343 }, + { 0xF93D, 1399 }, + { 0xF93E, 1494 }, + { 0xF93F, 1672 }, + { 0xF940, 1792 }, + { 0xF941, 1587 }, + { 0xF942, 828 }, + { 0xF943, 932 }, + { 0xF944, 1378 }, + { 0xF945, 1443 }, + { 0xF946, 1228 }, + { 0xF947, 1325 }, + { 0xF948, 1608 }, + { 0xF949, 1708 }, + { 0xF94A, 827 }, + { 0xF94B, 881 }, + { 0xF94C, 1110 }, + { 0xF94D, 1166 }, + { 0xF94E, 1180 }, + { 0xF94F, 1395 }, + { 0xF950, 1406 }, + { 0xF951, 1692 }, + { 0xF952, 740 }, + { 0xF953, 1447 }, + { 0xF954, 715 }, + { 0xF955, 714 }, + { 0xF956, 1355 }, + { 0xF957, 1400 }, + { 0xF958, 1500 }, + { 0xF959, 1694 }, + { 0xF95A, 1594 }, + { 0xF95B, 998 }, + { 0xF95C, 1109 }, + { 0xF95D, 1590 }, + { 0xF95E, 648 }, + { 0xF95F, 867 }, + { 0xF960, 957 }, + { 0xF961, 1242 }, + { 0xF962, 1275 }, + { 0xF963, 750 }, + { 0xF964, 1327 }, + { 0xF965, 673 }, + { 0xF966, 948 }, + { 0xF967, 642 }, + { 0xF968, 1149 }, + { 0xF969, 1033 }, + { 0xF96A, 1394 }, + { 0xF96B, 771 }, + { 0xF96C, 822 }, + { 0xF96D, 1301 }, + { 0xF96E, 1505 }, + { 0xF96F, 1583 }, + { 0xF970, 1131 }, + { 0xF971, 1639 }, + { 0xF972, 1147 }, + { 0xF973, 1002 }, + { 0xF974, 1484 }, + { 0xF975, 1009 }, + { 0xF976, 1274 }, + { 0xF977, 660 }, + { 0xF978, 691 }, + { 0xF979, 713 }, + { 0xF97A, 1098 }, + { 0xF97B, 1388 }, + { 0xF97C, 1474 }, + { 0xF97D, 1586 }, + { 0xF97E, 1664 }, + { 0xF97F, 743 }, + { 0xF980, 784 }, + { 0xF981, 845 }, + { 0xF982, 928 }, + { 0xF983, 1041 }, + { 0xF984, 1189 }, + { 0xF985, 1329 }, + { 0xF986, 1685 }, + { 0xF987, 1761 }, + { 0xF988, 1794 }, + { 0xF989, 1803 }, + { 0xF98A, 734 }, + { 0xF98B, 1058 }, + { 0xF98C, 1125 }, + { 0xF98D, 1635 }, + { 0xF98E, 914 }, + { 0xF98F, 977 }, + { 0xF990, 986 }, + { 0xF991, 1023 }, + { 0xF992, 1182 }, + { 0xF993, 1207 }, + { 0xF994, 1258 }, + { 0xF995, 1352 }, + { 0xF996, 1402 }, + { 0xF997, 1441 }, + { 0xF998, 1631 }, + { 0xF999, 1509 }, + { 0xF99A, 1643 }, + { 0xF99B, 1673 }, + { 0xF99C, 724 }, + { 0xF99D, 735 }, + { 0xF99E, 789 }, + { 0xF99F, 1202 }, + { 0xF9A0, 1556 }, + { 0xF9A1, 1583 }, + { 0xF9A2, 924 }, + { 0xF9A3, 955 }, + { 0xF9A4, 1007 }, + { 0xF9A5, 1129 }, + { 0xF9A6, 1377 }, + { 0xF9A7, 1239 }, + { 0xF9A8, 665 }, + { 0xF9A9, 809 }, + { 0xF9AA, 867 }, + { 0xF9AB, 898 }, + { 0xF9AC, 958 }, + { 0xF9AD, 1247 }, + { 0xF9AE, 1255 }, + { 0xF9AF, 1427 }, + { 0xF9B0, 1438 }, + { 0xF9B1, 1666 }, + { 0xF9B2, 1707 }, + { 0xF9B3, 1712 }, + { 0xF9B4, 1734 }, + { 0xF9B5, 670 }, + { 0xF9B6, 1349 }, + { 0xF9B7, 1661 }, + { 0xF9B8, 1701 }, + { 0xF9B9, 966 }, + { 0xF9BA, 656 }, + { 0xF9BB, 679 }, + { 0xF9BC, 868 }, + { 0xF9BD, 879 }, + { 0xF9BE, 1038 }, + { 0xF9BF, 1109 }, + { 0xF9C0, 1210 }, + { 0xF9C1, 1283 }, + { 0xF9C2, 1512 }, + { 0xF9C3, 1646 }, + { 0xF9C4, 1823 }, + { 0xF9C5, 1054 }, + { 0xF9C6, 1691 }, + { 0xF9C7, 732 }, + { 0xF9C8, 1087 }, + { 0xF9C9, 1092 }, + { 0xF9CA, 1157 }, + { 0xF9CB, 1174 }, + { 0xF9CC, 1250 }, + { 0xF9CD, 1273 }, + { 0xF9CE, 1322 }, + { 0xF9CF, 1393 }, + { 0xF9D0, 1738 }, + { 0xF9D1, 693 }, + { 0xF9D2, 990 }, + { 0xF9D3, 1695 }, + { 0xF9D4, 675 }, + { 0xF9D5, 891 }, + { 0xF9D6, 1167 }, + { 0xF9D7, 1632 }, + { 0xF9D8, 945 }, + { 0xF9D9, 970 }, + { 0xF9DA, 1094 }, + { 0xF9DB, 1242 }, + { 0xF9DC, 1697 }, + { 0xF9DD, 725 }, + { 0xF9DE, 781 }, + { 0xF9DF, 883 }, + { 0xF9E0, 1047 }, + { 0xF9E1, 1081 }, + { 0xF9E2, 1101 }, + { 0xF9E3, 1151 }, + { 0xF9E4, 1251 }, + { 0xF9E5, 1279 }, + { 0xF9E6, 1421 }, + { 0xF9E7, 1558 }, + { 0xF9E8, 1561 }, + { 0xF9E9, 1663 }, + { 0xF9EA, 1704 }, + { 0xF9EB, 753 }, + { 0xF9EC, 1175 }, + { 0xF9ED, 782 }, + { 0xF9EE, 1211 }, + { 0xF9EF, 1259 }, + { 0xF9F0, 1521 }, + { 0xF9F1, 1698 }, + { 0xF9F2, 1776 }, + { 0xF9F3, 1795 }, + { 0xF9F4, 1089 }, + { 0xF9F5, 1165 }, + { 0xF9F6, 1461 }, + { 0xF9F7, 1363 }, + { 0xF9F8, 1368 }, + { 0xF9F9, 1381 }, + { 0xF9FA, 1234 }, + { 0xF9FB, 1200 }, + { 0xF9FC, 1593 }, + { 0xF9FD, 663 }, + { 0xF9FE, 1487 }, + { 0xF9FF, 727 }, + { 0xFA00, 723 }, + { 0xFA01, 918 }, + { 0xFA02, 999 }, + { 0xFA03, 1384 }, + { 0xFA04, 863 }, + { 0xFA05, 1154 }, + { 0xFA06, 1057 }, + { 0xFA07, 1634 }, + { 0xFA08, 1552 }, + { 0xFA09, 1693 }, + { 0xFA0A, 1572 }, + { 0xFA0B, 926 }, + { 0xFA0C, 683 }, + { 0xFA0D, 802 }, + { 0xFA10, 821 }, + { 0xFA12, 1052 }, + { 0xFA15, 716 }, + { 0xFA16, 1237 }, + { 0xFA17, 1293 }, + { 0xFA18, 1332 }, + { 0xFA19, 1340 }, + { 0xFA1A, 1341 }, + { 0xFA1B, 1347 }, + { 0xFA1C, 1715 }, + { 0xFA1D, 1382 }, + { 0xFA1E, 1428 }, + { 0xFA20, 1524 }, + { 0xFA22, 1589 }, + { 0xFA25, 1644 }, + { 0xFA26, 1654 }, + { 0xFA2A, 1748 }, + { 0xFA2B, 1749 }, + { 0xFA2C, 1751 }, + { 0xFA2D, 1784 }, + { 0xFA2E, 1652 }, + { 0xFA2F, 1701 }, + { 0xFA30, 671 }, + { 0xFA31, 680 }, + { 0xFA32, 685 }, + { 0xFA33, 739 }, + { 0xFA34, 742 }, + { 0xFA35, 759 }, + { 0xFA36, 799 }, + { 0xFA37, 805 }, + { 0xFA38, 808 }, + { 0xFA39, 820 }, + { 0xFA3A, 1806 }, + { 0xFA3B, 882 }, + { 0xFA3C, 884 }, + { 0xFA3D, 963 }, + { 0xFA3E, 969 }, + { 0xFA3F, 976 }, + { 0xFA40, 984 }, + { 0xFA41, 1030 }, + { 0xFA42, 1044 }, + { 0xFA43, 1053 }, + { 0xFA44, 1099 }, + { 0xFA45, 1161 }, + { 0xFA46, 1169 }, + { 0xFA47, 1181 }, + { 0xFA48, 1204 }, + { 0xFA49, 1217 }, + { 0xFA4A, 1252 }, + { 0xFA4B, 1324 }, + { 0xFA4C, 1333 }, + { 0xFA4D, 1335 }, + { 0xFA4E, 1334 }, + { 0xFA4F, 1337 }, + { 0xFA50, 1338 }, + { 0xFA51, 1339 }, + { 0xFA52, 1345 }, + { 0xFA53, 1346 }, + { 0xFA54, 1357 }, + { 0xFA55, 1360 }, + { 0xFA56, 1369 }, + { 0xFA57, 1402 }, + { 0xFA58, 1405 }, + { 0xFA59, 1407 }, + { 0xFA5A, 1419 }, + { 0xFA5B, 1432 }, + { 0xFA5C, 1463 }, + { 0xFA5D, 1477 }, + { 0xFA5E, 1477 }, + { 0xFA5F, 1501 }, + { 0xFA60, 1565 }, + { 0xFA61, 1342 }, + { 0xFA62, 1591 }, + { 0xFA63, 1592 }, + { 0xFA64, 1610 }, + { 0xFA65, 1611 }, + { 0xFA66, 1641 }, + { 0xFA67, 1644 }, + { 0xFA68, 1705 }, + { 0xFA69, 1730 }, + { 0xFA6A, 1737 }, + { 0xFA6B, 959 }, + { 0xFA6C, 1208 }, + { 0xFA6D, 1469 }, + { 0xFA70, 644 }, + { 0xFA71, 711 }, + { 0xFA72, 690 }, + { 0xFA73, 668 }, + { 0xFA74, 684 }, + { 0xFA75, 697 }, + { 0xFA76, 738 }, + { 0xFA77, 745 }, + { 0xFA78, 799 }, + { 0xFA79, 794 }, + { 0xFA7A, 798 }, + { 0xFA7B, 804 }, + { 0xFA7C, 821 }, + { 0xFA7D, 826 }, + { 0xFA7E, 840 }, + { 0xFA7F, 843 }, + { 0xFA80, 852 }, + { 0xFA81, 859 }, + { 0xFA82, 925 }, + { 0xFA83, 927 }, + { 0xFA84, 942 }, + { 0xFA85, 949 }, + { 0xFA86, 965 }, + { 0xFA87, 973 }, + { 0xFA88, 968 }, + { 0xFA89, 976 }, + { 0xFA8A, 974 }, + { 0xFA8B, 984 }, + { 0xFA8C, 991 }, + { 0xFA8D, 1011 }, + { 0xFA8E, 1015 }, + { 0xFA8F, 1013 }, + { 0xFA90, 1031 }, + { 0xFA91, 1052 }, + { 0xFA92, 1071 }, + { 0xFA93, 1073 }, + { 0xFA94, 1083 }, + { 0xFA95, 1126 }, + { 0xFA96, 1131 }, + { 0xFA97, 1157 }, + { 0xFA98, 1178 }, + { 0xFA99, 1173 }, + { 0xFA9A, 1181 }, + { 0xFA9B, 1191 }, + { 0xFA9C, 1204 }, + { 0xFA9D, 1314 }, + { 0xFA9E, 1218 }, + { 0xFA9F, 1233 }, + { 0xFAA0, 1237 }, + { 0xFAA1, 1256 }, + { 0xFAA2, 1264 }, + { 0xFAA3, 1270 }, + { 0xFAA4, 1282 }, + { 0xFAA5, 1281 }, + { 0xFAA6, 1293 }, + { 0xFAA7, 1294 }, + { 0xFAA8, 1298 }, + { 0xFAA9, 1308 }, + { 0xFAAA, 1307 }, + { 0xFAAB, 1326 }, + { 0xFAAC, 1362 }, + { 0xFAAD, 1369 }, + { 0xFAAE, 1380 }, + { 0xFAAF, 1398 }, + { 0xFAB0, 1402 }, + { 0xFAB1, 1413 }, + { 0xFAB2, 1432 }, + { 0xFAB3, 1488 }, + { 0xFAB4, 1499 }, + { 0xFAB5, 1543 }, + { 0xFAB6, 1566 }, + { 0xFAB7, 1571 }, + { 0xFAB8, 1342 }, + { 0xFAB9, 1584 }, + { 0xFABA, 1589 }, + { 0xFABB, 1585 }, + { 0xFABC, 1591 }, + { 0xFABD, 1590 }, + { 0xFABE, 1588 }, + { 0xFABF, 1592 }, + { 0xFAC0, 1596 }, + { 0xFAC1, 1611 }, + { 0xFAC2, 1633 }, + { 0xFAC3, 1645 }, + { 0xFAC4, 1660 }, + { 0xFAC5, 1668 }, + { 0xFAC6, 1696 }, + { 0xFAC7, 1705 }, + { 0xFAC8, 1715 }, + { 0xFAC9, 1724 }, + { 0xFACA, 1730 }, + { 0xFACB, 1733 }, + { 0xFACC, 1737 }, + { 0xFACD, 1768 }, + { 0xFACE, 1826 }, + { 0xFACF, 982 }, + { 0xFAD0, 981 }, + { 0xFAD1, 1091 }, + { 0xFAD2, 1104 }, + { 0xFAD3, 1302 }, + { 0xFAD4, 1309 }, + { 0xFAD5, 1313 }, + { 0xFAD6, 1376 }, + { 0xFAD7, 1618 }, + { 0xFAD8, 1817 }, + { 0xFAD9, 1824 }, + { 0xFB1D, 385 }, + { 0xFB20, 389 }, + { 0xFB21, 379 }, + { 0xFB22, 383 }, + { 0xFB23, 384 }, + { 0xFB24, 386 }, + { 0xFB25, 387 }, + { 0xFB26, 388 }, + { 0xFB27, 390 }, + { 0xFB28, 393 }, + { 0xFB2A, 391 }, + { 0xFB2B, 391 }, + { 0xFB2C, 392 }, + { 0xFB2D, 392 }, + { 0xFB2E, 380 }, + { 0xFB2F, 380 }, + { 0xFB30, 380 }, + { 0xFB39, 385 }, + { 0xFB49, 391 }, + { 0xFB50, 396 }, + { 0xFB51, 396 }, + { 0xFB52, 398 }, + { 0xFB53, 398 }, + { 0xFB54, 398 }, + { 0xFB55, 398 }, + { 0xFB5A, 399 }, + { 0xFB5B, 399 }, + { 0xFB5C, 399 }, + { 0xFB5D, 399 }, + { 0xFB5E, 403 }, + { 0xFB5F, 403 }, + { 0xFB60, 403 }, + { 0xFB61, 403 }, + { 0xFB62, 404 }, + { 0xFB63, 404 }, + { 0xFB64, 404 }, + { 0xFB65, 404 }, + { 0xFB6E, 427 }, + { 0xFB6F, 427 }, + { 0xFB70, 427 }, + { 0xFB71, 427 }, + { 0xFB72, 407 }, + { 0xFB73, 407 }, + { 0xFB74, 407 }, + { 0xFB75, 407 }, + { 0xFB76, 406 }, + { 0xFB77, 406 }, + { 0xFB78, 406 }, + { 0xFB79, 406 }, + { 0xFB7A, 408 }, + { 0xFB7B, 408 }, + { 0xFB7C, 408 }, + { 0xFB7D, 408 }, + { 0xFB7E, 409 }, + { 0xFB7F, 409 }, + { 0xFB80, 409 }, + { 0xFB81, 409 }, + { 0xFB82, 415 }, + { 0xFB83, 415 }, + { 0xFB84, 414 }, + { 0xFB85, 414 }, + { 0xFB8E, 429 }, + { 0xFB8F, 429 }, + { 0xFB90, 429 }, + { 0xFB91, 429 }, + { 0xFB92, 431 }, + { 0xFB93, 431 }, + { 0xFB94, 431 }, + { 0xFB95, 431 }, + { 0xFB96, 433 }, + { 0xFB97, 433 }, + { 0xFB98, 433 }, + { 0xFB99, 433 }, + { 0xFB9A, 432 }, + { 0xFB9B, 432 }, + { 0xFB9C, 432 }, + { 0xFB9D, 432 }, + { 0xFB9E, 440 }, + { 0xFB9F, 440 }, + { 0xFBA4, 437 }, + { 0xFBA5, 437 }, + { 0xFBA6, 284 }, + { 0xFBA7, 284 }, + { 0xFBA8, 284 }, + { 0xFBA9, 284 }, + { 0xFBAA, 284 }, + { 0xFBAB, 284 }, + { 0xFBAC, 284 }, + { 0xFBAD, 284 }, + { 0xFBAE, 440 }, + { 0xFBAF, 440 }, + { 0xFBB0, 441 }, + { 0xFBB1, 441 }, + { 0xFBE0, 439 }, + { 0xFBE1, 439 }, + { 0xFBE4, 398 }, + { 0xFBE5, 398 }, + { 0xFBE6, 398 }, + { 0xFBE7, 398 }, + { 0xFBE8, 440 }, + { 0xFBE9, 440 }, + { 0xFBFC, 440 }, + { 0xFBFD, 440 }, + { 0xFBFE, 440 }, + { 0xFBFF, 440 }, + { 0xFD3E, 68 }, + { 0xFD3F, 69 }, + { 0xFE19, 444 }, + { 0xFE30, 60 }, + { 0xFE31, 158 }, + { 0xFE34, 137 }, + { 0xFE35, 151 }, + { 0xFE36, 152 }, + { 0xFE37, 153 }, + { 0xFE38, 154 }, + { 0xFE39, 155 }, + { 0xFE3A, 156 }, + { 0xFE3F, 76 }, + { 0xFE49, 90 }, + { 0xFE4A, 90 }, + { 0xFE4B, 90 }, + { 0xFE4C, 90 }, + { 0xFE4D, 53 }, + { 0xFE4E, 53 }, + { 0xFE4F, 53 }, + { 0xFE58, 54 }, + { 0xFE68, 80 }, + { 0xFE80, 394 }, + { 0xFE81, 395 }, + { 0xFE82, 395 }, + { 0xFE8D, 275 }, + { 0xFE8E, 275 }, + { 0xFE8F, 397 }, + { 0xFE90, 397 }, + { 0xFE91, 397 }, + { 0xFE92, 397 }, + { 0xFE93, 401 }, + { 0xFE94, 401 }, + { 0xFE95, 402 }, + { 0xFE96, 402 }, + { 0xFE97, 402 }, + { 0xFE98, 402 }, + { 0xFE9D, 405 }, + { 0xFE9E, 405 }, + { 0xFE9F, 405 }, + { 0xFEA0, 405 }, + { 0xFEA1, 410 }, + { 0xFEA2, 410 }, + { 0xFEA3, 410 }, + { 0xFEA4, 410 }, + { 0xFEA5, 411 }, + { 0xFEA6, 411 }, + { 0xFEA7, 411 }, + { 0xFEA8, 411 }, + { 0xFEA9, 412 }, + { 0xFEAA, 412 }, + { 0xFEAB, 413 }, + { 0xFEAC, 413 }, + { 0xFEAD, 416 }, + { 0xFEAE, 416 }, + { 0xFEAF, 417 }, + { 0xFEB0, 417 }, + { 0xFEB1, 418 }, + { 0xFEB2, 418 }, + { 0xFEB3, 418 }, + { 0xFEB4, 418 }, + { 0xFEB9, 419 }, + { 0xFEBA, 419 }, + { 0xFEBB, 419 }, + { 0xFEBC, 419 }, + { 0xFEBD, 420 }, + { 0xFEBE, 420 }, + { 0xFEBF, 420 }, + { 0xFEC0, 420 }, + { 0xFEC1, 421 }, + { 0xFEC2, 421 }, + { 0xFEC3, 421 }, + { 0xFEC4, 421 }, + { 0xFEC5, 422 }, + { 0xFEC6, 422 }, + { 0xFEC7, 422 }, + { 0xFEC8, 422 }, + { 0xFEC9, 423 }, + { 0xFECA, 423 }, + { 0xFECB, 423 }, + { 0xFECC, 423 }, + { 0xFECD, 424 }, + { 0xFECE, 424 }, + { 0xFECF, 424 }, + { 0xFED0, 424 }, + { 0xFED1, 425 }, + { 0xFED2, 425 }, + { 0xFED3, 425 }, + { 0xFED4, 425 }, + { 0xFED5, 428 }, + { 0xFED6, 428 }, + { 0xFED7, 428 }, + { 0xFED8, 428 }, + { 0xFED9, 429 }, + { 0xFEDA, 429 }, + { 0xFEDB, 429 }, + { 0xFEDC, 429 }, + { 0xFEDD, 434 }, + { 0xFEDE, 434 }, + { 0xFEDF, 434 }, + { 0xFEE0, 434 }, + { 0xFEE1, 435 }, + { 0xFEE2, 435 }, + { 0xFEE3, 435 }, + { 0xFEE4, 435 }, + { 0xFEE5, 436 }, + { 0xFEE6, 436 }, + { 0xFEE7, 436 }, + { 0xFEE8, 436 }, + { 0xFEE9, 284 }, + { 0xFEEA, 284 }, + { 0xFEEB, 284 }, + { 0xFEEC, 284 }, + { 0xFEED, 438 }, + { 0xFEEE, 438 }, + { 0xFEEF, 440 }, + { 0xFEF0, 440 }, + { 0xFEF1, 440 }, + { 0xFEF2, 440 }, + { 0xFEF3, 440 }, + { 0xFEF4, 440 }, + { 0xFF01, 61 }, + { 0xFF07, 67 }, + { 0xFF0D, 175 }, + { 0xFF1A, 60 }, + { 0xFF21, 215 }, + { 0xFF22, 224 }, + { 0xFF23, 227 }, + { 0xFF25, 237 }, + { 0xFF28, 260 }, + { 0xFF29, 275 }, + { 0xFF2A, 271 }, + { 0xFF2B, 274 }, + { 0xFF2D, 278 }, + { 0xFF2E, 281 }, + { 0xFF2F, 285 }, + { 0xFF30, 293 }, + { 0xFF33, 304 }, + { 0xFF34, 309 }, + { 0xFF38, 325 }, + { 0xFF39, 327 }, + { 0xFF3A, 330 }, + { 0xFF3B, 68 }, + { 0xFF3C, 80 }, + { 0xFF3D, 69 }, + { 0xFF3E, 76 }, + { 0xFF40, 67 }, + { 0xFF41, 214 }, + { 0xFF43, 226 }, + { 0xFF45, 236 }, + { 0xFF47, 252 }, + { 0xFF48, 259 }, + { 0xFF49, 266 }, + { 0xFF4A, 270 }, + { 0xFF4C, 275 }, + { 0xFF4F, 284 }, + { 0xFF50, 292 }, + { 0xFF53, 303 }, + { 0xFF56, 319 }, + { 0xFF58, 324 }, + { 0xFF59, 326 }, + { 0xFF5C, 158 }, + { 0xFF5E, 55 }, + { 0xFF65, 65 }, + { 0xFF9E, 29 }, + { 0xFF9F, 30 }, + { 0xFFE3, 90 }, + { 0xFFE8, 275 }, + { 0xFFED, 165 }, + { 0x10101, 65 }, + { 0x10282, 224 }, + { 0x10285, 340 }, + { 0x10286, 237 }, + { 0x10287, 249 }, + { 0x1028A, 275 }, + { 0x1028D, 322 }, + { 0x10290, 325 }, + { 0x10292, 285 }, + { 0x10294, 583 }, + { 0x10295, 293 }, + { 0x10296, 304 }, + { 0x10297, 309 }, + { 0x1029B, 111 }, + { 0x102A0, 215 }, + { 0x102A1, 224 }, + { 0x102A2, 227 }, + { 0x102A3, 340 }, + { 0x102A5, 249 }, + { 0x102A8, 631 }, + { 0x102AB, 285 }, + { 0x102AD, 349 }, + { 0x102B0, 278 }, + { 0x102B1, 309 }, + { 0x102B2, 327 }, + { 0x102B3, 351 }, + { 0x102B4, 325 }, + { 0x102B5, 354 }, + { 0x102B6, 356 }, + { 0x102B8, 442 }, + { 0x102BC, 632 }, + { 0x102C0, 633 }, + { 0x102CF, 260 }, + { 0x102E1, 412 }, + { 0x102E4, 438 }, + { 0x102E8, 421 }, + { 0x102F2, 419 }, + { 0x102F5, 330 }, + { 0x10301, 224 }, + { 0x10302, 227 }, + { 0x10309, 275 }, + { 0x10311, 278 }, + { 0x10312, 349 }, + { 0x10315, 309 }, + { 0x10317, 325 }, + { 0x1031A, 207 }, + { 0x1031F, 78 }, + { 0x10320, 275 }, + { 0x10322, 325 }, + { 0x10382, 637 }, + { 0x10393, 638 }, + { 0x1039A, 639 }, + { 0x103D1, 637 }, + { 0x103D3, 638 }, + { 0x10401, 243 }, + { 0x10404, 285 }, + { 0x10411, 630 }, + { 0x10412, 635 }, + { 0x10415, 227 }, + { 0x1041B, 276 }, + { 0x1041F, 222 }, + { 0x10420, 304 }, + { 0x10423, 290 }, + { 0x10425, 360 }, + { 0x10429, 228 }, + { 0x1042A, 247 }, + { 0x1042C, 284 }, + { 0x1043A, 634 }, + { 0x1043D, 226 }, + { 0x1043F, 291 }, + { 0x10442, 246 }, + { 0x10443, 277 }, + { 0x10448, 303 }, + { 0x1044B, 289 }, + { 0x1044D, 282 }, + { 0x10486, 636 }, + { 0x104A0, 636 }, + { 0x10513, 281 }, + { 0x10516, 285 }, + { 0x10518, 274 }, + { 0x1051C, 227 }, + { 0x1051D, 320 }, + { 0x10525, 249 }, + { 0x10526, 276 }, + { 0x10527, 325 }, + { 0x1099E, 640 }, + { 0x10A3A, 33 }, + { 0x10A50, 64 }, + { 0x110BB, 82 }, + { 0x111C7, 82 }, + { 0x111CA, 33 }, + { 0x111CB, 451 }, + { 0x111DB, 83 }, + { 0x111DC, 450 }, + { 0x111DE, 122 }, + { 0x11300, 11 }, + { 0x11492, 456 }, + { 0x11494, 457 }, + { 0x11496, 458 }, + { 0x11498, 459 }, + { 0x11499, 460 }, + { 0x1149B, 461 }, + { 0x1149D, 473 }, + { 0x1149E, 463 }, + { 0x1149F, 464 }, + { 0x114A0, 465 }, + { 0x114A1, 466 }, + { 0x114A2, 467 }, + { 0x114A3, 468 }, + { 0x114A7, 470 }, + { 0x114A8, 471 }, + { 0x114A9, 469 }, + { 0x114AA, 462 }, + { 0x114AB, 472 }, + { 0x114AD, 474 }, + { 0x114AE, 475 }, + { 0x114B0, 477 }, + { 0x114B1, 478 }, + { 0x114B9, 479 }, + { 0x114BC, 480 }, + { 0x114BD, 483 }, + { 0x114BE, 481 }, + { 0x114C1, 46 }, + { 0x114C2, 482 }, + { 0x114C3, 33 }, + { 0x114C4, 476 }, + { 0x114D0, 285 }, + { 0x114D1, 180 }, + { 0x114D2, 188 }, + { 0x114D6, 203 }, + { 0x11582, 514 }, + { 0x11583, 515 }, + { 0x11584, 516 }, + { 0x115B2, 517 }, + { 0x115B3, 518 }, + { 0x115D8, 514 }, + { 0x115D9, 514 }, + { 0x115DA, 515 }, + { 0x115DB, 516 }, + { 0x115DC, 517 }, + { 0x115DD, 518 }, + { 0x118A0, 320 }, + { 0x118A2, 249 }, + { 0x118A3, 276 }, + { 0x118A4, 327 }, + { 0x118A6, 237 }, + { 0x118A8, 108 }, + { 0x118A9, 330 }, + { 0x118AC, 210 }, + { 0x118AE, 237 }, + { 0x118AF, 195 }, + { 0x118B2, 276 }, + { 0x118B5, 285 }, + { 0x118B7, 583 }, + { 0x118B8, 314 }, + { 0x118BB, 199 }, + { 0x118BC, 309 }, + { 0x118C0, 319 }, + { 0x118C1, 303 }, + { 0x118C2, 249 }, + { 0x118C3, 266 }, + { 0x118C4, 329 }, + { 0x118C6, 205 }, + { 0x118C8, 284 }, + { 0x118CA, 191 }, + { 0x118CC, 210 }, + { 0x118CE, 228 }, + { 0x118D5, 201 }, + { 0x118D6, 210 }, + { 0x118D7, 284 }, + { 0x118D8, 313 }, + { 0x118DC, 326 }, + { 0x118E0, 285 }, + { 0x118E4, 211 }, + { 0x118E5, 330 }, + { 0x118E6, 323 }, + { 0x118E9, 227 }, + { 0x118EC, 325 }, + { 0x118EF, 323 }, + { 0x118F2, 227 }, + { 0x12038, 639 }, + { 0x132F9, 640 }, + { 0x1D114, 70 }, + { 0x1D16D, 64 }, + { 0x1D202, 365 }, + { 0x1D206, 191 }, + { 0x1D20B, 360 }, + { 0x1D20D, 320 }, + { 0x1D20F, 80 }, + { 0x1D212, 205 }, + { 0x1D213, 249 }, + { 0x1D214, 632 }, + { 0x1D215, 630 }, + { 0x1D216, 300 }, + { 0x1D217, 221 }, + { 0x1D21B, 100 }, + { 0x1D21C, 627 }, + { 0x1D221, 243 }, + { 0x1D222, 366 }, + { 0x1D22A, 276 }, + { 0x1D22B, 630 }, + { 0x1D230, 251 }, + { 0x1D236, 113 }, + { 0x1D237, 115 }, + { 0x1D238, 127 }, + { 0x1D239, 128 }, + { 0x1D23A, 79 }, + { 0x1D23B, 80 }, + { 0x1D23F, 578 }, + { 0x1D245, 376 }, + { 0x1D400, 215 }, + { 0x1D401, 224 }, + { 0x1D402, 227 }, + { 0x1D403, 233 }, + { 0x1D404, 237 }, + { 0x1D405, 249 }, + { 0x1D406, 253 }, + { 0x1D407, 260 }, + { 0x1D408, 275 }, + { 0x1D409, 271 }, + { 0x1D40A, 274 }, + { 0x1D40B, 276 }, + { 0x1D40C, 278 }, + { 0x1D40D, 281 }, + { 0x1D40E, 285 }, + { 0x1D40F, 293 }, + { 0x1D410, 297 }, + { 0x1D411, 300 }, + { 0x1D412, 304 }, + { 0x1D413, 309 }, + { 0x1D414, 314 }, + { 0x1D415, 320 }, + { 0x1D416, 323 }, + { 0x1D417, 325 }, + { 0x1D418, 327 }, + { 0x1D419, 330 }, + { 0x1D41A, 214 }, + { 0x1D41B, 223 }, + { 0x1D41C, 226 }, + { 0x1D41D, 232 }, + { 0x1D41E, 236 }, + { 0x1D41F, 248 }, + { 0x1D420, 252 }, + { 0x1D421, 259 }, + { 0x1D422, 266 }, + { 0x1D423, 270 }, + { 0x1D424, 273 }, + { 0x1D425, 275 }, + { 0x1D427, 280 }, + { 0x1D428, 284 }, + { 0x1D429, 292 }, + { 0x1D42A, 296 }, + { 0x1D42B, 299 }, + { 0x1D42C, 303 }, + { 0x1D42D, 308 }, + { 0x1D42E, 313 }, + { 0x1D42F, 319 }, + { 0x1D431, 324 }, + { 0x1D432, 326 }, + { 0x1D433, 329 }, + { 0x1D434, 215 }, + { 0x1D435, 224 }, + { 0x1D436, 227 }, + { 0x1D437, 233 }, + { 0x1D438, 237 }, + { 0x1D439, 249 }, + { 0x1D43A, 253 }, + { 0x1D43B, 260 }, + { 0x1D43C, 275 }, + { 0x1D43D, 271 }, + { 0x1D43E, 274 }, + { 0x1D43F, 276 }, + { 0x1D440, 278 }, + { 0x1D441, 281 }, + { 0x1D442, 285 }, + { 0x1D443, 293 }, + { 0x1D444, 297 }, + { 0x1D445, 300 }, + { 0x1D446, 304 }, + { 0x1D447, 309 }, + { 0x1D448, 314 }, + { 0x1D449, 320 }, + { 0x1D44A, 323 }, + { 0x1D44B, 325 }, + { 0x1D44C, 327 }, + { 0x1D44D, 330 }, + { 0x1D44E, 214 }, + { 0x1D44F, 223 }, + { 0x1D450, 226 }, + { 0x1D451, 232 }, + { 0x1D452, 236 }, + { 0x1D453, 248 }, + { 0x1D454, 252 }, + { 0x1D456, 266 }, + { 0x1D457, 270 }, + { 0x1D458, 273 }, + { 0x1D459, 275 }, + { 0x1D45B, 280 }, + { 0x1D45C, 284 }, + { 0x1D45D, 292 }, + { 0x1D45E, 296 }, + { 0x1D45F, 299 }, + { 0x1D460, 303 }, + { 0x1D461, 308 }, + { 0x1D462, 313 }, + { 0x1D463, 319 }, + { 0x1D465, 324 }, + { 0x1D466, 326 }, + { 0x1D467, 329 }, + { 0x1D468, 215 }, + { 0x1D469, 224 }, + { 0x1D46A, 227 }, + { 0x1D46B, 233 }, + { 0x1D46C, 237 }, + { 0x1D46D, 249 }, + { 0x1D46E, 253 }, + { 0x1D46F, 260 }, + { 0x1D470, 275 }, + { 0x1D471, 271 }, + { 0x1D472, 274 }, + { 0x1D473, 276 }, + { 0x1D474, 278 }, + { 0x1D475, 281 }, + { 0x1D476, 285 }, + { 0x1D477, 293 }, + { 0x1D478, 297 }, + { 0x1D479, 300 }, + { 0x1D47A, 304 }, + { 0x1D47B, 309 }, + { 0x1D47C, 314 }, + { 0x1D47D, 320 }, + { 0x1D47E, 323 }, + { 0x1D47F, 325 }, + { 0x1D480, 327 }, + { 0x1D481, 330 }, + { 0x1D482, 214 }, + { 0x1D483, 223 }, + { 0x1D484, 226 }, + { 0x1D485, 232 }, + { 0x1D486, 236 }, + { 0x1D487, 248 }, + { 0x1D488, 252 }, + { 0x1D489, 259 }, + { 0x1D48A, 266 }, + { 0x1D48B, 270 }, + { 0x1D48C, 273 }, + { 0x1D48D, 275 }, + { 0x1D48F, 280 }, + { 0x1D490, 284 }, + { 0x1D491, 292 }, + { 0x1D492, 296 }, + { 0x1D493, 299 }, + { 0x1D494, 303 }, + { 0x1D495, 308 }, + { 0x1D496, 313 }, + { 0x1D497, 319 }, + { 0x1D499, 324 }, + { 0x1D49A, 326 }, + { 0x1D49B, 329 }, + { 0x1D49C, 215 }, + { 0x1D49E, 227 }, + { 0x1D49F, 233 }, + { 0x1D4A2, 253 }, + { 0x1D4A5, 271 }, + { 0x1D4A6, 274 }, + { 0x1D4A9, 281 }, + { 0x1D4AA, 285 }, + { 0x1D4AB, 293 }, + { 0x1D4AC, 297 }, + { 0x1D4AE, 304 }, + { 0x1D4AF, 309 }, + { 0x1D4B0, 314 }, + { 0x1D4B1, 320 }, + { 0x1D4B2, 323 }, + { 0x1D4B3, 325 }, + { 0x1D4B4, 327 }, + { 0x1D4B5, 330 }, + { 0x1D4B6, 214 }, + { 0x1D4B7, 223 }, + { 0x1D4B8, 226 }, + { 0x1D4B9, 232 }, + { 0x1D4BB, 248 }, + { 0x1D4BD, 259 }, + { 0x1D4BE, 266 }, + { 0x1D4BF, 270 }, + { 0x1D4C0, 273 }, + { 0x1D4C1, 275 }, + { 0x1D4C3, 280 }, + { 0x1D4C5, 292 }, + { 0x1D4C6, 296 }, + { 0x1D4C7, 299 }, + { 0x1D4C8, 303 }, + { 0x1D4C9, 308 }, + { 0x1D4CA, 313 }, + { 0x1D4CB, 319 }, + { 0x1D4CD, 324 }, + { 0x1D4CE, 326 }, + { 0x1D4CF, 329 }, + { 0x1D4D0, 215 }, + { 0x1D4D1, 224 }, + { 0x1D4D2, 227 }, + { 0x1D4D3, 233 }, + { 0x1D4D4, 237 }, + { 0x1D4D5, 249 }, + { 0x1D4D6, 253 }, + { 0x1D4D7, 260 }, + { 0x1D4D8, 275 }, + { 0x1D4D9, 271 }, + { 0x1D4DA, 274 }, + { 0x1D4DB, 276 }, + { 0x1D4DC, 278 }, + { 0x1D4DD, 281 }, + { 0x1D4DE, 285 }, + { 0x1D4DF, 293 }, + { 0x1D4E0, 297 }, + { 0x1D4E1, 300 }, + { 0x1D4E2, 304 }, + { 0x1D4E3, 309 }, + { 0x1D4E4, 314 }, + { 0x1D4E5, 320 }, + { 0x1D4E6, 323 }, + { 0x1D4E7, 325 }, + { 0x1D4E8, 327 }, + { 0x1D4E9, 330 }, + { 0x1D4EA, 214 }, + { 0x1D4EB, 223 }, + { 0x1D4EC, 226 }, + { 0x1D4ED, 232 }, + { 0x1D4EE, 236 }, + { 0x1D4EF, 248 }, + { 0x1D4F0, 252 }, + { 0x1D4F1, 259 }, + { 0x1D4F2, 266 }, + { 0x1D4F3, 270 }, + { 0x1D4F4, 273 }, + { 0x1D4F5, 275 }, + { 0x1D4F7, 280 }, + { 0x1D4F8, 284 }, + { 0x1D4F9, 292 }, + { 0x1D4FA, 296 }, + { 0x1D4FB, 299 }, + { 0x1D4FC, 303 }, + { 0x1D4FD, 308 }, + { 0x1D4FE, 313 }, + { 0x1D4FF, 319 }, + { 0x1D501, 324 }, + { 0x1D502, 326 }, + { 0x1D503, 329 }, + { 0x1D504, 215 }, + { 0x1D505, 224 }, + { 0x1D507, 233 }, + { 0x1D508, 237 }, + { 0x1D509, 249 }, + { 0x1D50A, 253 }, + { 0x1D50D, 271 }, + { 0x1D50E, 274 }, + { 0x1D50F, 276 }, + { 0x1D510, 278 }, + { 0x1D511, 281 }, + { 0x1D512, 285 }, + { 0x1D513, 293 }, + { 0x1D514, 297 }, + { 0x1D516, 304 }, + { 0x1D517, 309 }, + { 0x1D518, 314 }, + { 0x1D519, 320 }, + { 0x1D51A, 323 }, + { 0x1D51B, 325 }, + { 0x1D51C, 327 }, + { 0x1D51E, 214 }, + { 0x1D51F, 223 }, + { 0x1D520, 226 }, + { 0x1D521, 232 }, + { 0x1D522, 236 }, + { 0x1D523, 248 }, + { 0x1D524, 252 }, + { 0x1D525, 259 }, + { 0x1D526, 266 }, + { 0x1D527, 270 }, + { 0x1D528, 273 }, + { 0x1D529, 275 }, + { 0x1D52B, 280 }, + { 0x1D52C, 284 }, + { 0x1D52D, 292 }, + { 0x1D52E, 296 }, + { 0x1D52F, 299 }, + { 0x1D530, 303 }, + { 0x1D531, 308 }, + { 0x1D532, 313 }, + { 0x1D533, 319 }, + { 0x1D535, 324 }, + { 0x1D536, 326 }, + { 0x1D537, 329 }, + { 0x1D538, 215 }, + { 0x1D539, 224 }, + { 0x1D53B, 233 }, + { 0x1D53C, 237 }, + { 0x1D53D, 249 }, + { 0x1D53E, 253 }, + { 0x1D540, 275 }, + { 0x1D541, 271 }, + { 0x1D542, 274 }, + { 0x1D543, 276 }, + { 0x1D544, 278 }, + { 0x1D546, 285 }, + { 0x1D54A, 304 }, + { 0x1D54B, 309 }, + { 0x1D54C, 314 }, + { 0x1D54D, 320 }, + { 0x1D54E, 323 }, + { 0x1D54F, 325 }, + { 0x1D550, 327 }, + { 0x1D552, 214 }, + { 0x1D553, 223 }, + { 0x1D554, 226 }, + { 0x1D555, 232 }, + { 0x1D556, 236 }, + { 0x1D557, 248 }, + { 0x1D558, 252 }, + { 0x1D559, 259 }, + { 0x1D55A, 266 }, + { 0x1D55B, 270 }, + { 0x1D55C, 273 }, + { 0x1D55D, 275 }, + { 0x1D55F, 280 }, + { 0x1D560, 284 }, + { 0x1D561, 292 }, + { 0x1D562, 296 }, + { 0x1D563, 299 }, + { 0x1D564, 303 }, + { 0x1D565, 308 }, + { 0x1D566, 313 }, + { 0x1D567, 319 }, + { 0x1D569, 324 }, + { 0x1D56A, 326 }, + { 0x1D56B, 329 }, + { 0x1D56C, 215 }, + { 0x1D56D, 224 }, + { 0x1D56E, 227 }, + { 0x1D56F, 233 }, + { 0x1D570, 237 }, + { 0x1D571, 249 }, + { 0x1D572, 253 }, + { 0x1D573, 260 }, + { 0x1D574, 275 }, + { 0x1D575, 271 }, + { 0x1D576, 274 }, + { 0x1D577, 276 }, + { 0x1D578, 278 }, + { 0x1D579, 281 }, + { 0x1D57A, 285 }, + { 0x1D57B, 293 }, + { 0x1D57C, 297 }, + { 0x1D57D, 300 }, + { 0x1D57E, 304 }, + { 0x1D57F, 309 }, + { 0x1D580, 314 }, + { 0x1D581, 320 }, + { 0x1D582, 323 }, + { 0x1D583, 325 }, + { 0x1D584, 327 }, + { 0x1D585, 330 }, + { 0x1D586, 214 }, + { 0x1D587, 223 }, + { 0x1D588, 226 }, + { 0x1D589, 232 }, + { 0x1D58A, 236 }, + { 0x1D58B, 248 }, + { 0x1D58C, 252 }, + { 0x1D58D, 259 }, + { 0x1D58E, 266 }, + { 0x1D58F, 270 }, + { 0x1D590, 273 }, + { 0x1D591, 275 }, + { 0x1D593, 280 }, + { 0x1D594, 284 }, + { 0x1D595, 292 }, + { 0x1D596, 296 }, + { 0x1D597, 299 }, + { 0x1D598, 303 }, + { 0x1D599, 308 }, + { 0x1D59A, 313 }, + { 0x1D59B, 319 }, + { 0x1D59D, 324 }, + { 0x1D59E, 326 }, + { 0x1D59F, 329 }, + { 0x1D5A0, 215 }, + { 0x1D5A1, 224 }, + { 0x1D5A2, 227 }, + { 0x1D5A3, 233 }, + { 0x1D5A4, 237 }, + { 0x1D5A5, 249 }, + { 0x1D5A6, 253 }, + { 0x1D5A7, 260 }, + { 0x1D5A8, 275 }, + { 0x1D5A9, 271 }, + { 0x1D5AA, 274 }, + { 0x1D5AB, 276 }, + { 0x1D5AC, 278 }, + { 0x1D5AD, 281 }, + { 0x1D5AE, 285 }, + { 0x1D5AF, 293 }, + { 0x1D5B0, 297 }, + { 0x1D5B1, 300 }, + { 0x1D5B2, 304 }, + { 0x1D5B3, 309 }, + { 0x1D5B4, 314 }, + { 0x1D5B5, 320 }, + { 0x1D5B6, 323 }, + { 0x1D5B7, 325 }, + { 0x1D5B8, 327 }, + { 0x1D5B9, 330 }, + { 0x1D5BA, 214 }, + { 0x1D5BB, 223 }, + { 0x1D5BC, 226 }, + { 0x1D5BD, 232 }, + { 0x1D5BE, 236 }, + { 0x1D5BF, 248 }, + { 0x1D5C0, 252 }, + { 0x1D5C1, 259 }, + { 0x1D5C2, 266 }, + { 0x1D5C3, 270 }, + { 0x1D5C4, 273 }, + { 0x1D5C5, 275 }, + { 0x1D5C7, 280 }, + { 0x1D5C8, 284 }, + { 0x1D5C9, 292 }, + { 0x1D5CA, 296 }, + { 0x1D5CB, 299 }, + { 0x1D5CC, 303 }, + { 0x1D5CD, 308 }, + { 0x1D5CE, 313 }, + { 0x1D5CF, 319 }, + { 0x1D5D1, 324 }, + { 0x1D5D2, 326 }, + { 0x1D5D3, 329 }, + { 0x1D5D4, 215 }, + { 0x1D5D5, 224 }, + { 0x1D5D6, 227 }, + { 0x1D5D7, 233 }, + { 0x1D5D8, 237 }, + { 0x1D5D9, 249 }, + { 0x1D5DA, 253 }, + { 0x1D5DB, 260 }, + { 0x1D5DC, 275 }, + { 0x1D5DD, 271 }, + { 0x1D5DE, 274 }, + { 0x1D5DF, 276 }, + { 0x1D5E0, 278 }, + { 0x1D5E1, 281 }, + { 0x1D5E2, 285 }, + { 0x1D5E3, 293 }, + { 0x1D5E4, 297 }, + { 0x1D5E5, 300 }, + { 0x1D5E6, 304 }, + { 0x1D5E7, 309 }, + { 0x1D5E8, 314 }, + { 0x1D5E9, 320 }, + { 0x1D5EA, 323 }, + { 0x1D5EB, 325 }, + { 0x1D5EC, 327 }, + { 0x1D5ED, 330 }, + { 0x1D5EE, 214 }, + { 0x1D5EF, 223 }, + { 0x1D5F0, 226 }, + { 0x1D5F1, 232 }, + { 0x1D5F2, 236 }, + { 0x1D5F3, 248 }, + { 0x1D5F4, 252 }, + { 0x1D5F5, 259 }, + { 0x1D5F6, 266 }, + { 0x1D5F7, 270 }, + { 0x1D5F8, 273 }, + { 0x1D5F9, 275 }, + { 0x1D5FB, 280 }, + { 0x1D5FC, 284 }, + { 0x1D5FD, 292 }, + { 0x1D5FE, 296 }, + { 0x1D5FF, 299 }, + { 0x1D600, 303 }, + { 0x1D601, 308 }, + { 0x1D602, 313 }, + { 0x1D603, 319 }, + { 0x1D605, 324 }, + { 0x1D606, 326 }, + { 0x1D607, 329 }, + { 0x1D608, 215 }, + { 0x1D609, 224 }, + { 0x1D60A, 227 }, + { 0x1D60B, 233 }, + { 0x1D60C, 237 }, + { 0x1D60D, 249 }, + { 0x1D60E, 253 }, + { 0x1D60F, 260 }, + { 0x1D610, 275 }, + { 0x1D611, 271 }, + { 0x1D612, 274 }, + { 0x1D613, 276 }, + { 0x1D614, 278 }, + { 0x1D615, 281 }, + { 0x1D616, 285 }, + { 0x1D617, 293 }, + { 0x1D618, 297 }, + { 0x1D619, 300 }, + { 0x1D61A, 304 }, + { 0x1D61B, 309 }, + { 0x1D61C, 314 }, + { 0x1D61D, 320 }, + { 0x1D61E, 323 }, + { 0x1D61F, 325 }, + { 0x1D620, 327 }, + { 0x1D621, 330 }, + { 0x1D622, 214 }, + { 0x1D623, 223 }, + { 0x1D624, 226 }, + { 0x1D625, 232 }, + { 0x1D626, 236 }, + { 0x1D627, 248 }, + { 0x1D628, 252 }, + { 0x1D629, 259 }, + { 0x1D62A, 266 }, + { 0x1D62B, 270 }, + { 0x1D62C, 273 }, + { 0x1D62D, 275 }, + { 0x1D62F, 280 }, + { 0x1D630, 284 }, + { 0x1D631, 292 }, + { 0x1D632, 296 }, + { 0x1D633, 299 }, + { 0x1D634, 303 }, + { 0x1D635, 308 }, + { 0x1D636, 313 }, + { 0x1D637, 319 }, + { 0x1D639, 324 }, + { 0x1D63A, 326 }, + { 0x1D63B, 329 }, + { 0x1D63C, 215 }, + { 0x1D63D, 224 }, + { 0x1D63E, 227 }, + { 0x1D63F, 233 }, + { 0x1D640, 237 }, + { 0x1D641, 249 }, + { 0x1D642, 253 }, + { 0x1D643, 260 }, + { 0x1D644, 275 }, + { 0x1D645, 271 }, + { 0x1D646, 274 }, + { 0x1D647, 276 }, + { 0x1D648, 278 }, + { 0x1D649, 281 }, + { 0x1D64A, 285 }, + { 0x1D64B, 293 }, + { 0x1D64C, 297 }, + { 0x1D64D, 300 }, + { 0x1D64E, 304 }, + { 0x1D64F, 309 }, + { 0x1D650, 314 }, + { 0x1D651, 320 }, + { 0x1D652, 323 }, + { 0x1D653, 325 }, + { 0x1D654, 327 }, + { 0x1D655, 330 }, + { 0x1D656, 214 }, + { 0x1D657, 223 }, + { 0x1D658, 226 }, + { 0x1D659, 232 }, + { 0x1D65A, 236 }, + { 0x1D65B, 248 }, + { 0x1D65C, 252 }, + { 0x1D65D, 259 }, + { 0x1D65E, 266 }, + { 0x1D65F, 270 }, + { 0x1D660, 273 }, + { 0x1D661, 275 }, + { 0x1D663, 280 }, + { 0x1D664, 284 }, + { 0x1D665, 292 }, + { 0x1D666, 296 }, + { 0x1D667, 299 }, + { 0x1D668, 303 }, + { 0x1D669, 308 }, + { 0x1D66A, 313 }, + { 0x1D66B, 319 }, + { 0x1D66D, 324 }, + { 0x1D66E, 326 }, + { 0x1D66F, 329 }, + { 0x1D670, 215 }, + { 0x1D671, 224 }, + { 0x1D672, 227 }, + { 0x1D673, 233 }, + { 0x1D674, 237 }, + { 0x1D675, 249 }, + { 0x1D676, 253 }, + { 0x1D677, 260 }, + { 0x1D678, 275 }, + { 0x1D679, 271 }, + { 0x1D67A, 274 }, + { 0x1D67B, 276 }, + { 0x1D67C, 278 }, + { 0x1D67D, 281 }, + { 0x1D67E, 285 }, + { 0x1D67F, 293 }, + { 0x1D680, 297 }, + { 0x1D681, 300 }, + { 0x1D682, 304 }, + { 0x1D683, 309 }, + { 0x1D684, 314 }, + { 0x1D685, 320 }, + { 0x1D686, 323 }, + { 0x1D687, 325 }, + { 0x1D688, 327 }, + { 0x1D689, 330 }, + { 0x1D68A, 214 }, + { 0x1D68B, 223 }, + { 0x1D68C, 226 }, + { 0x1D68D, 232 }, + { 0x1D68E, 236 }, + { 0x1D68F, 248 }, + { 0x1D690, 252 }, + { 0x1D691, 259 }, + { 0x1D692, 266 }, + { 0x1D693, 270 }, + { 0x1D694, 273 }, + { 0x1D695, 275 }, + { 0x1D697, 280 }, + { 0x1D698, 284 }, + { 0x1D699, 292 }, + { 0x1D69A, 296 }, + { 0x1D69B, 299 }, + { 0x1D69C, 303 }, + { 0x1D69D, 308 }, + { 0x1D69E, 313 }, + { 0x1D69F, 319 }, + { 0x1D6A1, 324 }, + { 0x1D6A2, 326 }, + { 0x1D6A3, 329 }, + { 0x1D6A4, 266 }, + { 0x1D6A5, 272 }, + { 0x1D6A8, 215 }, + { 0x1D6A9, 224 }, + { 0x1D6AA, 339 }, + { 0x1D6AB, 340 }, + { 0x1D6AC, 237 }, + { 0x1D6AD, 330 }, + { 0x1D6AE, 260 }, + { 0x1D6B0, 275 }, + { 0x1D6B1, 274 }, + { 0x1D6B2, 322 }, + { 0x1D6B3, 278 }, + { 0x1D6B4, 281 }, + { 0x1D6B5, 347 }, + { 0x1D6B6, 285 }, + { 0x1D6B7, 348 }, + { 0x1D6B8, 293 }, + { 0x1D6BA, 307 }, + { 0x1D6BB, 309 }, + { 0x1D6BC, 327 }, + { 0x1D6BD, 351 }, + { 0x1D6BE, 325 }, + { 0x1D6BF, 354 }, + { 0x1D6C0, 356 }, + { 0x1D6C1, 108 }, + { 0x1D6C2, 214 }, + { 0x1D6C3, 305 }, + { 0x1D6C4, 326 }, + { 0x1D6C5, 235 }, + { 0x1D6C6, 228 }, + { 0x1D6C7, 342 }, + { 0x1D6CA, 266 }, + { 0x1D6CB, 273 }, + { 0x1D6CC, 344 }, + { 0x1D6CD, 345 }, + { 0x1D6CE, 319 }, + { 0x1D6CF, 346 }, + { 0x1D6D0, 284 }, + { 0x1D6D1, 280 }, + { 0x1D6D2, 292 }, + { 0x1D6D3, 350 }, + { 0x1D6D4, 284 }, + { 0x1D6D5, 308 }, + { 0x1D6D6, 313 }, + { 0x1D6D7, 295 }, + { 0x1D6D8, 352 }, + { 0x1D6D9, 353 }, + { 0x1D6DA, 355 }, + { 0x1D6DB, 106 }, + { 0x1D6DC, 228 }, + { 0x1D6DE, 273 }, + { 0x1D6DF, 295 }, + { 0x1D6E0, 292 }, + { 0x1D6E1, 280 }, + { 0x1D6E2, 215 }, + { 0x1D6E3, 224 }, + { 0x1D6E4, 339 }, + { 0x1D6E5, 340 }, + { 0x1D6E6, 237 }, + { 0x1D6E7, 330 }, + { 0x1D6E8, 260 }, + { 0x1D6EA, 275 }, + { 0x1D6EB, 274 }, + { 0x1D6EC, 322 }, + { 0x1D6ED, 278 }, + { 0x1D6EE, 281 }, + { 0x1D6EF, 347 }, + { 0x1D6F0, 285 }, + { 0x1D6F1, 348 }, + { 0x1D6F2, 293 }, + { 0x1D6F4, 307 }, + { 0x1D6F5, 309 }, + { 0x1D6F6, 327 }, + { 0x1D6F7, 351 }, + { 0x1D6F8, 325 }, + { 0x1D6F9, 354 }, + { 0x1D6FA, 356 }, + { 0x1D6FB, 108 }, + { 0x1D6FC, 214 }, + { 0x1D6FD, 305 }, + { 0x1D6FE, 326 }, + { 0x1D6FF, 235 }, + { 0x1D700, 228 }, + { 0x1D701, 342 }, + { 0x1D704, 266 }, + { 0x1D705, 273 }, + { 0x1D706, 344 }, + { 0x1D707, 345 }, + { 0x1D708, 319 }, + { 0x1D709, 346 }, + { 0x1D70A, 284 }, + { 0x1D70B, 280 }, + { 0x1D70C, 292 }, + { 0x1D70D, 350 }, + { 0x1D70E, 284 }, + { 0x1D70F, 308 }, + { 0x1D710, 313 }, + { 0x1D711, 295 }, + { 0x1D712, 352 }, + { 0x1D713, 353 }, + { 0x1D714, 355 }, + { 0x1D715, 106 }, + { 0x1D716, 228 }, + { 0x1D718, 273 }, + { 0x1D719, 295 }, + { 0x1D71A, 292 }, + { 0x1D71B, 280 }, + { 0x1D71C, 215 }, + { 0x1D71D, 224 }, + { 0x1D71E, 339 }, + { 0x1D71F, 340 }, + { 0x1D720, 237 }, + { 0x1D721, 330 }, + { 0x1D722, 260 }, + { 0x1D724, 275 }, + { 0x1D725, 274 }, + { 0x1D726, 322 }, + { 0x1D727, 278 }, + { 0x1D728, 281 }, + { 0x1D729, 347 }, + { 0x1D72A, 285 }, + { 0x1D72B, 348 }, + { 0x1D72C, 293 }, + { 0x1D72E, 307 }, + { 0x1D72F, 309 }, + { 0x1D730, 327 }, + { 0x1D731, 351 }, + { 0x1D732, 325 }, + { 0x1D733, 354 }, + { 0x1D734, 356 }, + { 0x1D735, 108 }, + { 0x1D736, 214 }, + { 0x1D737, 305 }, + { 0x1D738, 326 }, + { 0x1D739, 235 }, + { 0x1D73A, 228 }, + { 0x1D73B, 342 }, + { 0x1D73E, 266 }, + { 0x1D73F, 273 }, + { 0x1D740, 344 }, + { 0x1D741, 345 }, + { 0x1D742, 319 }, + { 0x1D743, 346 }, + { 0x1D744, 284 }, + { 0x1D745, 280 }, + { 0x1D746, 292 }, + { 0x1D747, 350 }, + { 0x1D748, 284 }, + { 0x1D749, 308 }, + { 0x1D74A, 313 }, + { 0x1D74B, 295 }, + { 0x1D74C, 352 }, + { 0x1D74D, 353 }, + { 0x1D74E, 355 }, + { 0x1D74F, 106 }, + { 0x1D750, 228 }, + { 0x1D752, 273 }, + { 0x1D753, 295 }, + { 0x1D754, 292 }, + { 0x1D755, 280 }, + { 0x1D756, 215 }, + { 0x1D757, 224 }, + { 0x1D758, 339 }, + { 0x1D759, 340 }, + { 0x1D75A, 237 }, + { 0x1D75B, 330 }, + { 0x1D75C, 260 }, + { 0x1D75E, 275 }, + { 0x1D75F, 274 }, + { 0x1D760, 322 }, + { 0x1D761, 278 }, + { 0x1D762, 281 }, + { 0x1D763, 347 }, + { 0x1D764, 285 }, + { 0x1D765, 348 }, + { 0x1D766, 293 }, + { 0x1D768, 307 }, + { 0x1D769, 309 }, + { 0x1D76A, 327 }, + { 0x1D76B, 351 }, + { 0x1D76C, 325 }, + { 0x1D76D, 354 }, + { 0x1D76E, 356 }, + { 0x1D76F, 108 }, + { 0x1D770, 214 }, + { 0x1D771, 305 }, + { 0x1D772, 326 }, + { 0x1D773, 235 }, + { 0x1D774, 228 }, + { 0x1D775, 342 }, + { 0x1D778, 266 }, + { 0x1D779, 273 }, + { 0x1D77A, 344 }, + { 0x1D77B, 345 }, + { 0x1D77C, 319 }, + { 0x1D77D, 346 }, + { 0x1D77E, 284 }, + { 0x1D77F, 280 }, + { 0x1D780, 292 }, + { 0x1D781, 350 }, + { 0x1D782, 284 }, + { 0x1D783, 308 }, + { 0x1D784, 313 }, + { 0x1D785, 295 }, + { 0x1D786, 352 }, + { 0x1D787, 353 }, + { 0x1D788, 355 }, + { 0x1D789, 106 }, + { 0x1D78A, 228 }, + { 0x1D78C, 273 }, + { 0x1D78D, 295 }, + { 0x1D78E, 292 }, + { 0x1D78F, 280 }, + { 0x1D790, 215 }, + { 0x1D791, 224 }, + { 0x1D792, 339 }, + { 0x1D793, 340 }, + { 0x1D794, 237 }, + { 0x1D795, 330 }, + { 0x1D796, 260 }, + { 0x1D798, 275 }, + { 0x1D799, 274 }, + { 0x1D79A, 322 }, + { 0x1D79B, 278 }, + { 0x1D79C, 281 }, + { 0x1D79D, 347 }, + { 0x1D79E, 285 }, + { 0x1D79F, 348 }, + { 0x1D7A0, 293 }, + { 0x1D7A2, 307 }, + { 0x1D7A3, 309 }, + { 0x1D7A4, 327 }, + { 0x1D7A5, 351 }, + { 0x1D7A6, 325 }, + { 0x1D7A7, 354 }, + { 0x1D7A8, 356 }, + { 0x1D7A9, 108 }, + { 0x1D7AA, 214 }, + { 0x1D7AB, 305 }, + { 0x1D7AC, 326 }, + { 0x1D7AD, 235 }, + { 0x1D7AE, 228 }, + { 0x1D7AF, 342 }, + { 0x1D7B2, 266 }, + { 0x1D7B3, 273 }, + { 0x1D7B4, 344 }, + { 0x1D7B5, 345 }, + { 0x1D7B6, 319 }, + { 0x1D7B7, 346 }, + { 0x1D7B8, 284 }, + { 0x1D7B9, 280 }, + { 0x1D7BA, 292 }, + { 0x1D7BB, 350 }, + { 0x1D7BC, 284 }, + { 0x1D7BD, 308 }, + { 0x1D7BE, 313 }, + { 0x1D7BF, 295 }, + { 0x1D7C0, 352 }, + { 0x1D7C1, 353 }, + { 0x1D7C2, 355 }, + { 0x1D7C3, 106 }, + { 0x1D7C4, 228 }, + { 0x1D7C6, 273 }, + { 0x1D7C7, 295 }, + { 0x1D7C8, 292 }, + { 0x1D7C9, 280 }, + { 0x1D7CA, 249 }, + { 0x1D7CB, 341 }, + { 0x1D7CE, 285 }, + { 0x1D7CF, 275 }, + { 0x1D7D0, 185 }, + { 0x1D7D1, 191 }, + { 0x1D7D2, 195 }, + { 0x1D7D3, 199 }, + { 0x1D7D4, 201 }, + { 0x1D7D5, 205 }, + { 0x1D7D6, 207 }, + { 0x1D7D7, 210 }, + { 0x1D7D8, 285 }, + { 0x1D7D9, 275 }, + { 0x1D7DA, 185 }, + { 0x1D7DB, 191 }, + { 0x1D7DC, 195 }, + { 0x1D7DD, 199 }, + { 0x1D7DE, 201 }, + { 0x1D7DF, 205 }, + { 0x1D7E0, 207 }, + { 0x1D7E1, 210 }, + { 0x1D7E2, 285 }, + { 0x1D7E3, 275 }, + { 0x1D7E4, 185 }, + { 0x1D7E5, 191 }, + { 0x1D7E6, 195 }, + { 0x1D7E7, 199 }, + { 0x1D7E8, 201 }, + { 0x1D7E9, 205 }, + { 0x1D7EA, 207 }, + { 0x1D7EB, 210 }, + { 0x1D7EC, 285 }, + { 0x1D7ED, 275 }, + { 0x1D7EE, 185 }, + { 0x1D7EF, 191 }, + { 0x1D7F0, 195 }, + { 0x1D7F1, 199 }, + { 0x1D7F2, 201 }, + { 0x1D7F3, 205 }, + { 0x1D7F4, 207 }, + { 0x1D7F5, 210 }, + { 0x1D7F6, 285 }, + { 0x1D7F7, 275 }, + { 0x1D7F8, 185 }, + { 0x1D7F9, 191 }, + { 0x1D7FA, 195 }, + { 0x1D7FB, 199 }, + { 0x1D7FC, 201 }, + { 0x1D7FD, 205 }, + { 0x1D7FE, 207 }, + { 0x1D7FF, 210 }, + { 0x1E8C7, 275 }, + { 0x1E8C8, 117 }, + { 0x1E8C9, 192 }, + { 0x1E8CB, 207 }, + { 0x1E8CC, 106 }, + { 0x1EE00, 275 }, + { 0x1EE01, 397 }, + { 0x1EE02, 405 }, + { 0x1EE03, 412 }, + { 0x1EE05, 438 }, + { 0x1EE06, 417 }, + { 0x1EE07, 410 }, + { 0x1EE08, 421 }, + { 0x1EE09, 440 }, + { 0x1EE0A, 429 }, + { 0x1EE0B, 434 }, + { 0x1EE0C, 435 }, + { 0x1EE0D, 436 }, + { 0x1EE0E, 418 }, + { 0x1EE0F, 423 }, + { 0x1EE10, 425 }, + { 0x1EE11, 419 }, + { 0x1EE12, 428 }, + { 0x1EE13, 416 }, + { 0x1EE15, 402 }, + { 0x1EE17, 411 }, + { 0x1EE18, 413 }, + { 0x1EE19, 420 }, + { 0x1EE1A, 422 }, + { 0x1EE1B, 424 }, + { 0x1EE1C, 440 }, + { 0x1EE1D, 440 }, + { 0x1EE1E, 426 }, + { 0x1EE1F, 426 }, + { 0x1EE21, 397 }, + { 0x1EE22, 405 }, + { 0x1EE24, 284 }, + { 0x1EE27, 410 }, + { 0x1EE29, 440 }, + { 0x1EE2A, 429 }, + { 0x1EE2B, 434 }, + { 0x1EE2C, 435 }, + { 0x1EE2D, 436 }, + { 0x1EE2E, 418 }, + { 0x1EE2F, 423 }, + { 0x1EE30, 425 }, + { 0x1EE31, 419 }, + { 0x1EE32, 428 }, + { 0x1EE35, 402 }, + { 0x1EE37, 411 }, + { 0x1EE39, 420 }, + { 0x1EE3B, 424 }, + { 0x1EE42, 405 }, + { 0x1EE47, 410 }, + { 0x1EE49, 440 }, + { 0x1EE4B, 434 }, + { 0x1EE4D, 436 }, + { 0x1EE4E, 418 }, + { 0x1EE4F, 423 }, + { 0x1EE51, 419 }, + { 0x1EE52, 428 }, + { 0x1EE57, 411 }, + { 0x1EE59, 420 }, + { 0x1EE5B, 424 }, + { 0x1EE5D, 440 }, + { 0x1EE5F, 426 }, + { 0x1EE61, 397 }, + { 0x1EE62, 405 }, + { 0x1EE64, 284 }, + { 0x1EE67, 410 }, + { 0x1EE68, 421 }, + { 0x1EE69, 440 }, + { 0x1EE6A, 429 }, + { 0x1EE6C, 435 }, + { 0x1EE6D, 436 }, + { 0x1EE6E, 418 }, + { 0x1EE6F, 423 }, + { 0x1EE70, 425 }, + { 0x1EE71, 419 }, + { 0x1EE72, 428 }, + { 0x1EE75, 402 }, + { 0x1EE77, 411 }, + { 0x1EE79, 420 }, + { 0x1EE7A, 422 }, + { 0x1EE7B, 424 }, + { 0x1EE7C, 440 }, + { 0x1EE7E, 426 }, + { 0x1EE80, 275 }, + { 0x1EE81, 397 }, + { 0x1EE82, 405 }, + { 0x1EE83, 412 }, + { 0x1EE84, 284 }, + { 0x1EE85, 438 }, + { 0x1EE86, 417 }, + { 0x1EE87, 410 }, + { 0x1EE88, 421 }, + { 0x1EE89, 440 }, + { 0x1EE8B, 434 }, + { 0x1EE8C, 435 }, + { 0x1EE8D, 436 }, + { 0x1EE8E, 418 }, + { 0x1EE8F, 423 }, + { 0x1EE90, 425 }, + { 0x1EE91, 419 }, + { 0x1EE92, 428 }, + { 0x1EE93, 416 }, + { 0x1EE95, 402 }, + { 0x1EE97, 411 }, + { 0x1EE98, 413 }, + { 0x1EE99, 420 }, + { 0x1EE9A, 422 }, + { 0x1EE9B, 424 }, + { 0x1EEA1, 397 }, + { 0x1EEA2, 405 }, + { 0x1EEA3, 412 }, + { 0x1EEA5, 438 }, + { 0x1EEA6, 417 }, + { 0x1EEA7, 410 }, + { 0x1EEA8, 421 }, + { 0x1EEA9, 440 }, + { 0x1EEAB, 434 }, + { 0x1EEAC, 435 }, + { 0x1EEAD, 436 }, + { 0x1EEAE, 418 }, + { 0x1EEAF, 423 }, + { 0x1EEB0, 425 }, + { 0x1EEB1, 419 }, + { 0x1EEB2, 428 }, + { 0x1EEB3, 416 }, + { 0x1EEB5, 402 }, + { 0x1EEB7, 411 }, + { 0x1EEB8, 413 }, + { 0x1EEB9, 420 }, + { 0x1EEBA, 422 }, + { 0x1EEBB, 424 }, + { 0x1F312, 169 }, + { 0x1F318, 170 }, + { 0x1F319, 169 }, + { 0x1F701, 373 }, + { 0x1F702, 340 }, + { 0x1F704, 632 }, + { 0x1F70A, 168 }, + { 0x1F728, 631 }, + { 0x1F73A, 172 }, + { 0x1F74C, 227 }, + { 0x1F754, 583 }, + { 0x1F755, 134 }, + { 0x1F75E, 123 }, + { 0x1F768, 309 }, + { 0x1F771, 133 }, + { 0x20122, 658 }, + { 0x2051C, 695 }, + { 0x20525, 696 }, + { 0x2054B, 701 }, + { 0x2063A, 718 }, + { 0x20804, 733 }, + { 0x208DE, 748 }, + { 0x20A2C, 769 }, + { 0x20B63, 775 }, + { 0x214E4, 829 }, + { 0x216A8, 846 }, + { 0x216EA, 847 }, + { 0x219C8, 864 }, + { 0x21B18, 870 }, + { 0x21D0B, 885 }, + { 0x21DE4, 889 }, + { 0x21DE6, 890 }, + { 0x21FE8, 74 }, + { 0x22183, 912 }, + { 0x2219F, 915 }, + { 0x22331, 931 }, + { 0x226D4, 967 }, + { 0x22844, 981 }, + { 0x2284A, 982 }, + { 0x22B0C, 1003 }, + { 0x22BF1, 1014 }, + { 0x2300A, 1034 }, + { 0x232B8, 1060 }, + { 0x2335F, 1065 }, + { 0x23393, 1077 }, + { 0x2339C, 1079 }, + { 0x233C3, 1085 }, + { 0x233D5, 1091 }, + { 0x2346D, 1097 }, + { 0x236A3, 1111 }, + { 0x238A7, 1119 }, + { 0x23A8D, 1133 }, + { 0x23AFA, 1136 }, + { 0x23CBC, 1152 }, + { 0x23D1E, 1164 }, + { 0x23ED1, 1183 }, + { 0x23F5E, 1185 }, + { 0x23F8E, 1186 }, + { 0x24263, 1205 }, + { 0x242EE, 1208 }, + { 0x243AB, 1212 }, + { 0x24608, 1226 }, + { 0x24735, 1235 }, + { 0x24814, 1238 }, + { 0x24C36, 1272 }, + { 0x24C92, 1276 }, + { 0x24FA1, 1287 }, + { 0x24FB8, 1288 }, + { 0x25044, 1291 }, + { 0x250F2, 1299 }, + { 0x250F3, 1300 }, + { 0x25119, 1303 }, + { 0x25133, 1306 }, + { 0x25249, 1313 }, + { 0x2541D, 1319 }, + { 0x25626, 1336 }, + { 0x2569A, 1344 }, + { 0x256C5, 1348 }, + { 0x2597C, 1361 }, + { 0x25AA7, 1365 }, + { 0x25BAB, 1371 }, + { 0x25C80, 1375 }, + { 0x25CD0, 1376 }, + { 0x25F86, 1391 }, + { 0x261DA, 1409 }, + { 0x26228, 1412 }, + { 0x26247, 1414 }, + { 0x262D9, 1420 }, + { 0x2633E, 1424 }, + { 0x264DA, 1434 }, + { 0x26523, 1436 }, + { 0x265A8, 1440 }, + { 0x267A7, 1456 }, + { 0x267B5, 1457 }, + { 0x26B3C, 1486 }, + { 0x26C36, 1502 }, + { 0x26CD5, 1507 }, + { 0x26D6B, 1508 }, + { 0x26F2C, 1516 }, + { 0x26FB1, 1519 }, + { 0x270D2, 1526 }, + { 0x273CA, 1546 }, + { 0x27667, 1557 }, + { 0x278AE, 1573 }, + { 0x27966, 1577 }, + { 0x27CA8, 1604 }, + { 0x27ED3, 1618 }, + { 0x27F2F, 1619 }, + { 0x285D2, 1647 }, + { 0x285ED, 1648 }, + { 0x2872E, 1655 }, + { 0x28BFA, 1677 }, + { 0x28D77, 1687 }, + { 0x29145, 1710 }, + { 0x291DF, 1716 }, + { 0x2921A, 1719 }, + { 0x2940A, 1728 }, + { 0x29496, 1736 }, + { 0x295B6, 1741 }, + { 0x29B30, 1767 }, + { 0x2A0CE, 1783 }, + { 0x2A105, 1785 }, + { 0x2A20E, 1788 }, + { 0x2A291, 1793 }, + { 0x2A392, 1799 }, + { 0x2A600, 1821 }, + { 0x2F800, 643 }, + { 0x2F801, 647 }, + { 0x2F802, 649 }, + { 0x2F803, 658 }, + { 0x2F804, 666 }, + { 0x2F805, 671 }, + { 0x2F806, 672 }, + { 0x2F807, 667 }, + { 0x2F808, 676 }, + { 0x2F809, 677 }, + { 0x2F80A, 680 }, + { 0x2F80B, 678 }, + { 0x2F80C, 681 }, + { 0x2F80D, 718 }, + { 0x2F80E, 685 }, + { 0x2F80F, 686 }, + { 0x2F810, 687 }, + { 0x2F811, 694 }, + { 0x2F812, 695 }, + { 0x2F813, 698 }, + { 0x2F814, 689 }, + { 0x2F815, 700 }, + { 0x2F816, 701 }, + { 0x2F817, 707 }, + { 0x2F818, 708 }, + { 0x2F819, 664 }, + { 0x2F81A, 710 }, + { 0x2F81B, 711 }, + { 0x2F81C, 1716 }, + { 0x2F81D, 719 }, + { 0x2F81E, 722 }, + { 0x2F81F, 726 }, + { 0x2F820, 728 }, + { 0x2F821, 729 }, + { 0x2F822, 730 }, + { 0x2F823, 731 }, + { 0x2F824, 736 }, + { 0x2F825, 738 }, + { 0x2F826, 739 }, + { 0x2F827, 742 }, + { 0x2F828, 745 }, + { 0x2F829, 746 }, + { 0x2F82A, 747 }, + { 0x2F82B, 750 }, + { 0x2F82C, 756 }, + { 0x2F82D, 759 }, + { 0x2F82E, 760 }, + { 0x2F82F, 764 }, + { 0x2F830, 766 }, + { 0x2F831, 767 }, + { 0x2F832, 767 }, + { 0x2F833, 767 }, + { 0x2F834, 769 }, + { 0x2F835, 1197 }, + { 0x2F836, 773 }, + { 0x2F837, 774 }, + { 0x2F838, 775 }, + { 0x2F839, 778 }, + { 0x2F83A, 779 }, + { 0x2F83B, 780 }, + { 0x2F83C, 787 }, + { 0x2F83D, 783 }, + { 0x2F83E, 785 }, + { 0x2F83F, 786 }, + { 0x2F840, 788 }, + { 0x2F841, 791 }, + { 0x2F842, 792 }, + { 0x2F843, 793 }, + { 0x2F844, 795 }, + { 0x2F845, 796 }, + { 0x2F846, 796 }, + { 0x2F847, 798 }, + { 0x2F848, 800 }, + { 0x2F849, 801 }, + { 0x2F84A, 803 }, + { 0x2F84B, 810 }, + { 0x2F84C, 805 }, + { 0x2F84D, 811 }, + { 0x2F84E, 806 }, + { 0x2F84F, 807 }, + { 0x2F850, 723 }, + { 0x2F851, 830 }, + { 0x2F852, 814 }, + { 0x2F853, 816 }, + { 0x2F854, 817 }, + { 0x2F855, 813 }, + { 0x2F856, 819 }, + { 0x2F857, 818 }, + { 0x2F858, 825 }, + { 0x2F859, 829 }, + { 0x2F85A, 831 }, + { 0x2F85B, 832 }, + { 0x2F85C, 834 }, + { 0x2F85D, 837 }, + { 0x2F85E, 838 }, + { 0x2F85F, 844 }, + { 0x2F860, 846 }, + { 0x2F861, 847 }, + { 0x2F862, 849 }, + { 0x2F863, 850 }, + { 0x2F864, 851 }, + { 0x2F865, 848 }, + { 0x2F866, 853 }, + { 0x2F867, 855 }, + { 0x2F868, 856 }, + { 0x2F869, 858 }, + { 0x2F86A, 860 }, + { 0x2F86B, 860 }, + { 0x2F86C, 864 }, + { 0x2F86D, 865 }, + { 0x2F86E, 866 }, + { 0x2F86F, 867 }, + { 0x2F870, 869 }, + { 0x2F871, 870 }, + { 0x2F872, 872 }, + { 0x2F873, 873 }, + { 0x2F874, 938 }, + { 0x2F875, 875 }, + { 0x2F876, 877 }, + { 0x2F877, 880 }, + { 0x2F878, 884 }, + { 0x2F879, 887 }, + { 0x2F87A, 888 }, + { 0x2F87B, 889 }, + { 0x2F87C, 892 }, + { 0x2F87D, 890 }, + { 0x2F87E, 895 }, + { 0x2F87F, 894 }, + { 0x2F880, 896 }, + { 0x2F881, 1642 }, + { 0x2F882, 900 }, + { 0x2F883, 904 }, + { 0x2F884, 905 }, + { 0x2F885, 908 }, + { 0x2F886, 909 }, + { 0x2F887, 910 }, + { 0x2F888, 911 }, + { 0x2F889, 912 }, + { 0x2F88A, 919 }, + { 0x2F88B, 920 }, + { 0x2F88C, 921 }, + { 0x2F88D, 922 }, + { 0x2F88E, 923 }, + { 0x2F88F, 1799 }, + { 0x2F890, 930 }, + { 0x2F891, 931 }, + { 0x2F892, 931 }, + { 0x2F893, 1466 }, + { 0x2F894, 935 }, + { 0x2F895, 935 }, + { 0x2F896, 939 }, + { 0x2F897, 1060 }, + { 0x2F898, 1409 }, + { 0x2F899, 941 }, + { 0x2F89A, 943 }, + { 0x2F89B, 946 }, + { 0x2F89C, 947 }, + { 0x2F89D, 953 }, + { 0x2F89E, 954 }, + { 0x2F89F, 956 }, + { 0x2F8A0, 962 }, + { 0x2F8A1, 961 }, + { 0x2F8A2, 960 }, + { 0x2F8A3, 963 }, + { 0x2F8A4, 967 }, + { 0x2F8A5, 964 }, + { 0x2F8A6, 971 }, + { 0x2F8A7, 972 }, + { 0x2F8A8, 973 }, + { 0x2F8A9, 972 }, + { 0x2F8AA, 975 }, + { 0x2F8AB, 976 }, + { 0x2F8AC, 980 }, + { 0x2F8AD, 978 }, + { 0x2F8AE, 979 }, + { 0x2F8AF, 983 }, + { 0x2F8B0, 984 }, + { 0x2F8B1, 985 }, + { 0x2F8B2, 988 }, + { 0x2F8B3, 989 }, + { 0x2F8B4, 995 }, + { 0x2F8B5, 996 }, + { 0x2F8B6, 1000 }, + { 0x2F8B7, 1005 }, + { 0x2F8B8, 1003 }, + { 0x2F8B9, 1004 }, + { 0x2F8BA, 1001 }, + { 0x2F8BB, 1006 }, + { 0x2F8BC, 1008 }, + { 0x2F8BD, 1012 }, + { 0x2F8BE, 1014 }, + { 0x2F8BF, 1016 }, + { 0x2F8C0, 1017 }, + { 0x2F8C1, 1010 }, + { 0x2F8C2, 1021 }, + { 0x2F8C3, 1018 }, + { 0x2F8C4, 1020 }, + { 0x2F8C5, 1024 }, + { 0x2F8C6, 1019 }, + { 0x2F8C7, 1026 }, + { 0x2F8C8, 1030 }, + { 0x2F8C9, 1032 }, + { 0x2F8CA, 1034 }, + { 0x2F8CB, 1045 }, + { 0x2F8CC, 1063 }, + { 0x2F8CD, 1050 }, + { 0x2F8CE, 1059 }, + { 0x2F8CF, 1053 }, + { 0x2F8D0, 1055 }, + { 0x2F8D1, 1049 }, + { 0x2F8D2, 702 }, + { 0x2F8D3, 703 }, + { 0x2F8D4, 705 }, + { 0x2F8D5, 1056 }, + { 0x2F8D6, 1448 }, + { 0x2F8D7, 1451 }, + { 0x2F8D8, 1071 }, + { 0x2F8D9, 1073 }, + { 0x2F8DA, 1074 }, + { 0x2F8DB, 1084 }, + { 0x2F8DC, 1082 }, + { 0x2F8DD, 1085 }, + { 0x2F8DE, 1090 }, + { 0x2F8DF, 1093 }, + { 0x2F8E0, 1088 }, + { 0x2F8E1, 1096 }, + { 0x2F8E2, 1099 }, + { 0x2F8E3, 1097 }, + { 0x2F8E4, 1100 }, + { 0x2F8E5, 1095 }, + { 0x2F8E6, 1102 }, + { 0x2F8E7, 1104 }, + { 0x2F8E8, 1103 }, + { 0x2F8E9, 1107 }, + { 0x2F8EA, 1108 }, + { 0x2F8EB, 1112 }, + { 0x2F8EC, 1111 }, + { 0x2F8ED, 1114 }, + { 0x2F8EE, 1116 }, + { 0x2F8EF, 1118 }, + { 0x2F8F0, 1119 }, + { 0x2F8F1, 1120 }, + { 0x2F8F2, 1121 }, + { 0x2F8F3, 1124 }, + { 0x2F8F4, 1128 }, + { 0x2F8F5, 1131 }, + { 0x2F8F6, 1132 }, + { 0x2F8F7, 1133 }, + { 0x2F8F8, 885 }, + { 0x2F8F9, 1136 }, + { 0x2F8FA, 1145 }, + { 0x2F8FB, 1152 }, + { 0x2F8FC, 1148 }, + { 0x2F8FD, 1150 }, + { 0x2F8FE, 1146 }, + { 0x2F8FF, 1158 }, + { 0x2F900, 1156 }, + { 0x2F901, 1161 }, + { 0x2F902, 1157 }, + { 0x2F903, 1159 }, + { 0x2F904, 1162 }, + { 0x2F905, 1163 }, + { 0x2F906, 1164 }, + { 0x2F907, 1155 }, + { 0x2F908, 1170 }, + { 0x2F909, 1171 }, + { 0x2F90A, 1179 }, + { 0x2F90B, 1173 }, + { 0x2F90C, 1176 }, + { 0x2F90D, 1183 }, + { 0x2F90E, 1168 }, + { 0x2F90F, 1184 }, + { 0x2F910, 1185 }, + { 0x2F911, 1186 }, + { 0x2F912, 1187 }, + { 0x2F913, 1192 }, + { 0x2F914, 1191 }, + { 0x2F915, 1190 }, + { 0x2F916, 1194 }, + { 0x2F917, 1193 }, + { 0x2F918, 1199 }, + { 0x2F919, 1198 }, + { 0x2F91A, 1201 }, + { 0x2F91B, 696 }, + { 0x2F91C, 1206 }, + { 0x2F91D, 1205 }, + { 0x2F91E, 1209 }, + { 0x2F91F, 1212 }, + { 0x2F920, 1215 }, + { 0x2F921, 1218 }, + { 0x2F922, 1224 }, + { 0x2F923, 1226 }, + { 0x2F924, 1229 }, + { 0x2F925, 1230 }, + { 0x2F926, 1235 }, + { 0x2F927, 1238 }, + { 0x2F928, 1240 }, + { 0x2F929, 1244 }, + { 0x2F92A, 1245 }, + { 0x2F92B, 1246 }, + { 0x2F92C, 1248 }, + { 0x2F92D, 1248 }, + { 0x2F92E, 1253 }, + { 0x2F92F, 1254 }, + { 0x2F930, 1256 }, + { 0x2F931, 1257 }, + { 0x2F932, 1260 }, + { 0x2F933, 1263 }, + { 0x2F934, 1267 }, + { 0x2F935, 1272 }, + { 0x2F936, 1271 }, + { 0x2F937, 1276 }, + { 0x2F938, 1275 }, + { 0x2F939, 915 }, + { 0x2F93A, 1280 }, + { 0x2F93B, 1287 }, + { 0x2F93C, 1288 }, + { 0x2F93D, 1291 }, + { 0x2F93E, 1292 }, + { 0x2F93F, 1296 }, + { 0x2F940, 1298 }, + { 0x2F941, 1300 }, + { 0x2F942, 1299 }, + { 0x2F943, 1303 }, + { 0x2F944, 1306 }, + { 0x2F945, 1304 }, + { 0x2F946, 1305 }, + { 0x2F947, 1305 }, + { 0x2F948, 1308 }, + { 0x2F949, 1309 }, + { 0x2F94A, 1312 }, + { 0x2F94B, 1311 }, + { 0x2F94C, 1318 }, + { 0x2F94D, 1319 }, + { 0x2F94E, 1321 }, + { 0x2F94F, 1323 }, + { 0x2F950, 1326 }, + { 0x2F951, 1328 }, + { 0x2F952, 1336 }, + { 0x2F953, 1338 }, + { 0x2F954, 1344 }, + { 0x2F955, 1348 }, + { 0x2F956, 1347 }, + { 0x2F957, 1354 }, + { 0x2F958, 1353 }, + { 0x2F959, 1357 }, + { 0x2F95A, 1356 }, + { 0x2F95B, 1358 }, + { 0x2F95C, 1361 }, + { 0x2F95D, 1365 }, + { 0x2F95E, 1365 }, + { 0x2F95F, 1366 }, + { 0x2F960, 1370 }, + { 0x2F961, 1371 }, + { 0x2F962, 1372 }, + { 0x2F963, 1374 }, + { 0x2F964, 1373 }, + { 0x2F965, 1375 }, + { 0x2F966, 1383 }, + { 0x2F967, 1386 }, + { 0x2F968, 1385 }, + { 0x2F969, 1387 }, + { 0x2F96A, 1392 }, + { 0x2F96B, 1391 }, + { 0x2F96C, 1397 }, + { 0x2F96D, 1404 }, + { 0x2F96E, 1401 }, + { 0x2F96F, 1403 }, + { 0x2F970, 1408 }, + { 0x2F971, 1410 }, + { 0x2F972, 1412 }, + { 0x2F973, 1414 }, + { 0x2F974, 1418 }, + { 0x2F975, 1420 }, + { 0x2F976, 1422 }, + { 0x2F977, 1424 }, + { 0x2F978, 1426 }, + { 0x2F979, 1429 }, + { 0x2F97A, 1432 }, + { 0x2F97B, 1434 }, + { 0x2F97C, 1436 }, + { 0x2F97D, 1439 }, + { 0x2F97E, 1440 }, + { 0x2F97F, 1442 }, + { 0x2F980, 1065 }, + { 0x2F981, 1450 }, + { 0x2F982, 1449 }, + { 0x2F983, 1453 }, + { 0x2F984, 1455 }, + { 0x2F985, 1454 }, + { 0x2F986, 857 }, + { 0x2F987, 1456 }, + { 0x2F988, 1457 }, + { 0x2F989, 1077 }, + { 0x2F98A, 1079 }, + { 0x2F98B, 1466 }, + { 0x2F98C, 1467 }, + { 0x2F98D, 1638 }, + { 0x2F98E, 1472 }, + { 0x2F98F, 1479 }, + { 0x2F990, 1478 }, + { 0x2F991, 1480 }, + { 0x2F992, 737 }, + { 0x2F993, 1481 }, + { 0x2F994, 1482 }, + { 0x2F995, 1483 }, + { 0x2F996, 1485 }, + { 0x2F997, 1486 }, + { 0x2F998, 1484 }, + { 0x2F999, 1490 }, + { 0x2F99A, 1489 }, + { 0x2F99B, 1503 }, + { 0x2F99C, 1491 }, + { 0x2F99D, 1492 }, + { 0x2F99E, 1498 }, + { 0x2F99F, 1501 }, + { 0x2F9A0, 1493 }, + { 0x2F9A1, 1495 }, + { 0x2F9A2, 1496 }, + { 0x2F9A3, 1497 }, + { 0x2F9A4, 1502 }, + { 0x2F9A5, 1508 }, + { 0x2F9A6, 1507 }, + { 0x2F9A7, 1514 }, + { 0x2F9A8, 1510 }, + { 0x2F9A9, 1511 }, + { 0x2F9AA, 1513 }, + { 0x2F9AB, 1546 }, + { 0x2F9AC, 1515 }, + { 0x2F9AD, 1516 }, + { 0x2F9AE, 1518 }, + { 0x2F9AF, 1520 }, + { 0x2F9B0, 1519 }, + { 0x2F9B1, 1526 }, + { 0x2F9B2, 1523 }, + { 0x2F9B3, 1531 }, + { 0x2F9B4, 1532 }, + { 0x2F9B5, 1533 }, + { 0x2F9B6, 1534 }, + { 0x2F9B7, 1536 }, + { 0x2F9B8, 1537 }, + { 0x2F9B9, 1539 }, + { 0x2F9BA, 1538 }, + { 0x2F9BB, 1543 }, + { 0x2F9BC, 1540 }, + { 0x2F9BD, 1541 }, + { 0x2F9BE, 1544 }, + { 0x2F9BF, 1545 }, + { 0x2F9C0, 1542 }, + { 0x2F9C1, 1548 }, + { 0x2F9C2, 1549 }, + { 0x2F9C3, 1553 }, + { 0x2F9C4, 1554 }, + { 0x2F9C5, 1557 }, + { 0x2F9C6, 1559 }, + { 0x2F9C7, 1560 }, + { 0x2F9C8, 1564 }, + { 0x2F9C9, 1563 }, + { 0x2F9CA, 704 }, + { 0x2F9CB, 1573 }, + { 0x2F9CC, 1577 }, + { 0x2F9CD, 1580 }, + { 0x2F9CE, 1581 }, + { 0x2F9CF, 1582 }, + { 0x2F9D0, 1588 }, + { 0x2F9D1, 1596 }, + { 0x2F9D2, 1601 }, + { 0x2F9D3, 1604 }, + { 0x2F9D4, 1606 }, + { 0x2F9D5, 1607 }, + { 0x2F9D6, 1612 }, + { 0x2F9D7, 1616 }, + { 0x2F9D8, 1619 }, + { 0x2F9D9, 733 }, + { 0x2F9DA, 1621 }, + { 0x2F9DB, 1622 }, + { 0x2F9DC, 1625 }, + { 0x2F9DD, 748 }, + { 0x2F9DE, 1629 }, + { 0x2F9DF, 1633 }, + { 0x2F9E0, 1647 }, + { 0x2F9E1, 1648 }, + { 0x2F9E2, 1651 }, + { 0x2F9E3, 1653 }, + { 0x2F9E4, 1656 }, + { 0x2F9E5, 1655 }, + { 0x2F9E6, 1657 }, + { 0x2F9E7, 1667 }, + { 0x2F9E8, 1669 }, + { 0x2F9E9, 1670 }, + { 0x2F9EA, 1671 }, + { 0x2F9EB, 1675 }, + { 0x2F9EC, 1676 }, + { 0x2F9ED, 1677 }, + { 0x2F9EE, 1683 }, + { 0x2F9EF, 1684 }, + { 0x2F9F0, 1686 }, + { 0x2F9F1, 1687 }, + { 0x2F9F2, 1699 }, + { 0x2F9F3, 1703 }, + { 0x2F9F4, 897 }, + { 0x2F9F5, 1709 }, + { 0x2F9F6, 1710 }, + { 0x2F9F7, 1719 }, + { 0x2F9F8, 1721 }, + { 0x2F9F9, 1722 }, + { 0x2F9FA, 1725 }, + { 0x2F9FB, 1728 }, + { 0x2F9FC, 1732 }, + { 0x2F9FD, 1736 }, + { 0x2F9FE, 1733 }, + { 0x2F9FF, 1733 }, + { 0x2FA00, 1735 }, + { 0x2FA01, 1741 }, + { 0x2FA02, 1747 }, + { 0x2FA03, 1750 }, + { 0x2FA04, 1752 }, + { 0x2FA05, 1756 }, + { 0x2FA06, 1758 }, + { 0x2FA07, 1760 }, + { 0x2FA08, 1764 }, + { 0x2FA09, 1767 }, + { 0x2FA0A, 1768 }, + { 0x2FA0B, 1775 }, + { 0x2FA0C, 1779 }, + { 0x2FA0D, 1780 }, + { 0x2FA0E, 1782 }, + { 0x2FA0F, 1781 }, + { 0x2FA10, 1783 }, + { 0x2FA11, 1786 }, + { 0x2FA12, 1785 }, + { 0x2FA13, 1788 }, + { 0x2FA14, 1793 }, + { 0x2FA15, 1798 }, + { 0x2FA16, 1804 }, + { 0x2FA17, 1807 }, + { 0x2FA18, 1810 }, + { 0x2FA19, 1809 }, + { 0x2FA1A, 1812 }, + { 0x2FA1B, 1814 }, + { 0x2FA1C, 1816 }, + { 0x2FA1D, 1821 }, + }; diff --git a/lib/emoji.h b/lib/emoji.h new file mode 100644 index 0000000..8dfd7ab --- /dev/null +++ b/lib/emoji.h @@ -0,0 +1,177 @@ +#define EMOJI_SMILEYS_CHARACTER_COUNT 272 +static const uint32_t emoji_smileys_characters[272] = + { + 0x270A, 0x270B, 0x1F385, 0x1F392, 0x1F393, 0x1F3A9, 0x1F3C2, + 0x1F3C3, 0x1F3C4, 0x1F3C7, 0x1F3CA, 0x1F440, 0x1F442, 0x1F443, + 0x1F444, 0x1F445, 0x1F446, 0x1F447, 0x1F448, 0x1F449, 0x1F44A, + 0x1F44B, 0x1F44C, 0x1F44D, 0x1F44E, 0x1F44F, 0x1F450, 0x1F451, + 0x1F452, 0x1F453, 0x1F454, 0x1F455, 0x1F456, 0x1F457, 0x1F458, + 0x1F459, 0x1F45A, 0x1F45B, 0x1F45C, 0x1F45D, 0x1F45E, 0x1F45F, + 0x1F460, 0x1F461, 0x1F462, 0x1F463, 0x1F464, 0x1F465, 0x1F466, + 0x1F467, 0x1F468, 0x1F469, 0x1F46A, 0x1F46B, 0x1F46C, 0x1F46D, + 0x1F46E, 0x1F46F, 0x1F470, 0x1F471, 0x1F472, 0x1F473, 0x1F474, + 0x1F475, 0x1F476, 0x1F477, 0x1F478, 0x1F479, 0x1F47A, 0x1F47B, + 0x1F47C, 0x1F47D, 0x1F47E, 0x1F47F, 0x1F480, 0x1F481, 0x1F482, + 0x1F483, 0x1F484, 0x1F485, 0x1F486, 0x1F487, 0x1F48B, 0x1F48C, + 0x1F48D, 0x1F48E, 0x1F48F, 0x1F491, 0x1F493, 0x1F494, 0x1F495, + 0x1F496, 0x1F497, 0x1F498, 0x1F499, 0x1F49A, 0x1F49B, 0x1F49C, + 0x1F49D, 0x1F49E, 0x1F49F, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, + 0x1F4A6, 0x1F4A8, 0x1F4A9, 0x1F4AA, 0x1F4AB, 0x1F4AC, 0x1F4AD, + 0x1F4FF, 0x1F57A, 0x1F595, 0x1F596, 0x1F5A4, 0x1F600, 0x1F601, + 0x1F602, 0x1F603, 0x1F604, 0x1F605, 0x1F606, 0x1F607, 0x1F608, + 0x1F609, 0x1F60A, 0x1F60B, 0x1F60C, 0x1F60D, 0x1F60E, 0x1F60F, + 0x1F610, 0x1F611, 0x1F612, 0x1F613, 0x1F614, 0x1F615, 0x1F616, + 0x1F617, 0x1F618, 0x1F619, 0x1F61A, 0x1F61B, 0x1F61C, 0x1F61D, + 0x1F61E, 0x1F61F, 0x1F620, 0x1F621, 0x1F622, 0x1F623, 0x1F624, + 0x1F625, 0x1F626, 0x1F627, 0x1F628, 0x1F629, 0x1F62A, 0x1F62B, + 0x1F62C, 0x1F62D, 0x1F62E, 0x1F62F, 0x1F630, 0x1F631, 0x1F632, + 0x1F633, 0x1F634, 0x1F635, 0x1F636, 0x1F637, 0x1F638, 0x1F639, + 0x1F63A, 0x1F63B, 0x1F63C, 0x1F63D, 0x1F63E, 0x1F63F, 0x1F640, + 0x1F641, 0x1F642, 0x1F643, 0x1F644, 0x1F645, 0x1F646, 0x1F647, + 0x1F648, 0x1F649, 0x1F64A, 0x1F64B, 0x1F64C, 0x1F64D, 0x1F64E, + 0x1F64F, 0x1F6A3, 0x1F6B4, 0x1F6B5, 0x1F6B6, 0x1F6C0, 0x1F6CC, + 0x1F910, 0x1F911, 0x1F912, 0x1F913, 0x1F914, 0x1F915, 0x1F916, + 0x1F917, 0x1F918, 0x1F919, 0x1F91A, 0x1F91B, 0x1F91C, 0x1F91D, + 0x1F91E, 0x1F91F, 0x1F920, 0x1F921, 0x1F922, 0x1F923, 0x1F924, + 0x1F925, 0x1F926, 0x1F927, 0x1F928, 0x1F929, 0x1F92A, 0x1F92B, + 0x1F92C, 0x1F92D, 0x1F92E, 0x1F92F, 0x1F930, 0x1F931, 0x1F932, + 0x1F933, 0x1F934, 0x1F935, 0x1F936, 0x1F937, 0x1F938, 0x1F939, + 0x1F93A, 0x1F93C, 0x1F93D, 0x1F93E, 0x1F9D0, 0x1F9D1, 0x1F9D2, + 0x1F9D3, 0x1F9D4, 0x1F9D5, 0x1F9D6, 0x1F9D7, 0x1F9D8, 0x1F9D9, + 0x1F9DA, 0x1F9DB, 0x1F9DC, 0x1F9DD, 0x1F9DE, 0x1F9DF, 0x1F9E0, + 0x1F9E1, 0x1F9E2, 0x1F9E3, 0x1F9E4, 0x1F9E5, 0x1F9E6, + }; + +#define EMOJI_ANIMALS_CHARACTER_COUNT 107 +static const uint32_t emoji_animals_characters[107] = + { + 0x1F331, 0x1F332, 0x1F333, 0x1F334, 0x1F335, 0x1F337, 0x1F338, + 0x1F339, 0x1F33A, 0x1F33B, 0x1F33C, 0x1F33E, 0x1F33F, 0x1F340, + 0x1F341, 0x1F342, 0x1F343, 0x1F400, 0x1F401, 0x1F402, 0x1F403, + 0x1F404, 0x1F405, 0x1F406, 0x1F407, 0x1F408, 0x1F409, 0x1F40A, + 0x1F40B, 0x1F40C, 0x1F40D, 0x1F40E, 0x1F40F, 0x1F410, 0x1F411, + 0x1F412, 0x1F413, 0x1F414, 0x1F415, 0x1F416, 0x1F417, 0x1F418, + 0x1F419, 0x1F41A, 0x1F41B, 0x1F41C, 0x1F41D, 0x1F41E, 0x1F41F, + 0x1F420, 0x1F421, 0x1F422, 0x1F423, 0x1F424, 0x1F425, 0x1F426, + 0x1F427, 0x1F428, 0x1F429, 0x1F42A, 0x1F42B, 0x1F42C, 0x1F42D, + 0x1F42E, 0x1F42F, 0x1F430, 0x1F431, 0x1F432, 0x1F433, 0x1F434, + 0x1F435, 0x1F436, 0x1F437, 0x1F438, 0x1F439, 0x1F43A, 0x1F43B, + 0x1F43C, 0x1F43D, 0x1F43E, 0x1F490, 0x1F4AE, 0x1F940, 0x1F980, + 0x1F981, 0x1F982, 0x1F983, 0x1F984, 0x1F985, 0x1F986, 0x1F987, + 0x1F988, 0x1F989, 0x1F98A, 0x1F98B, 0x1F98C, 0x1F98D, 0x1F98E, + 0x1F98F, 0x1F990, 0x1F991, 0x1F992, 0x1F993, 0x1F994, 0x1F995, + 0x1F996, 0x1F997, + }; + +#define EMOJI_FOOD_CHARACTER_COUNT 100 +static const uint32_t emoji_food_characters[100] = + { + 0x2615, 0x1F32D, 0x1F32E, 0x1F32F, 0x1F330, 0x1F33D, 0x1F344, + 0x1F345, 0x1F346, 0x1F347, 0x1F348, 0x1F349, 0x1F34A, 0x1F34B, + 0x1F34C, 0x1F34D, 0x1F34E, 0x1F34F, 0x1F350, 0x1F351, 0x1F352, + 0x1F353, 0x1F354, 0x1F355, 0x1F356, 0x1F357, 0x1F358, 0x1F359, + 0x1F35A, 0x1F35B, 0x1F35C, 0x1F35D, 0x1F35E, 0x1F35F, 0x1F360, + 0x1F361, 0x1F362, 0x1F363, 0x1F364, 0x1F365, 0x1F366, 0x1F367, + 0x1F368, 0x1F369, 0x1F36A, 0x1F36B, 0x1F36C, 0x1F36D, 0x1F36E, + 0x1F36F, 0x1F370, 0x1F371, 0x1F372, 0x1F373, 0x1F374, 0x1F375, + 0x1F376, 0x1F377, 0x1F378, 0x1F379, 0x1F37A, 0x1F37B, 0x1F37C, + 0x1F37E, 0x1F37F, 0x1F382, 0x1F3FA, 0x1F52A, 0x1F942, 0x1F943, + 0x1F944, 0x1F950, 0x1F951, 0x1F952, 0x1F953, 0x1F954, 0x1F955, + 0x1F956, 0x1F957, 0x1F958, 0x1F959, 0x1F95A, 0x1F95B, 0x1F95C, + 0x1F95D, 0x1F95E, 0x1F95F, 0x1F960, 0x1F961, 0x1F962, 0x1F963, + 0x1F964, 0x1F965, 0x1F966, 0x1F967, 0x1F968, 0x1F969, 0x1F96A, + 0x1F96B, 0x1F9C0, + }; + +#define EMOJI_TRAVEL_CHARACTER_COUNT 158 +static const uint32_t emoji_travel_characters[158] = + { + 0x231A, 0x231B, 0x23F0, 0x23F3, 0x2614, 0x2693, 0x26A1, 0x26C4, + 0x26C5, 0x26EA, 0x26F2, 0x26F5, 0x26FA, 0x26FD, 0x2B50, 0x1F300, + 0x1F301, 0x1F302, 0x1F303, 0x1F304, 0x1F305, 0x1F306, 0x1F307, + 0x1F308, 0x1F309, 0x1F30A, 0x1F30B, 0x1F30C, 0x1F30D, 0x1F30E, + 0x1F30F, 0x1F310, 0x1F311, 0x1F312, 0x1F313, 0x1F314, 0x1F315, + 0x1F316, 0x1F317, 0x1F318, 0x1F319, 0x1F31A, 0x1F31B, 0x1F31C, + 0x1F31D, 0x1F31E, 0x1F31F, 0x1F320, 0x1F3A0, 0x1F3A1, 0x1F3A2, + 0x1F3A8, 0x1F3AA, 0x1F3AD, 0x1F3B0, 0x1F3E0, 0x1F3E1, 0x1F3E2, + 0x1F3E3, 0x1F3E4, 0x1F3E5, 0x1F3E6, 0x1F3E8, 0x1F3E9, 0x1F3EA, + 0x1F3EB, 0x1F3EC, 0x1F3ED, 0x1F3EF, 0x1F3F0, 0x1F488, 0x1F492, + 0x1F4A7, 0x1F4BA, 0x1F525, 0x1F54B, 0x1F54C, 0x1F54D, 0x1F550, + 0x1F551, 0x1F552, 0x1F553, 0x1F554, 0x1F555, 0x1F556, 0x1F557, + 0x1F558, 0x1F559, 0x1F55A, 0x1F55B, 0x1F55C, 0x1F55D, 0x1F55E, + 0x1F55F, 0x1F560, 0x1F561, 0x1F562, 0x1F563, 0x1F564, 0x1F565, + 0x1F566, 0x1F567, 0x1F5FB, 0x1F5FC, 0x1F5FD, 0x1F5FE, 0x1F680, + 0x1F681, 0x1F682, 0x1F683, 0x1F684, 0x1F685, 0x1F686, 0x1F687, + 0x1F688, 0x1F689, 0x1F68A, 0x1F68B, 0x1F68C, 0x1F68D, 0x1F68E, + 0x1F68F, 0x1F690, 0x1F691, 0x1F692, 0x1F693, 0x1F694, 0x1F695, + 0x1F696, 0x1F697, 0x1F698, 0x1F699, 0x1F69A, 0x1F69B, 0x1F69C, + 0x1F69D, 0x1F69E, 0x1F69F, 0x1F6A0, 0x1F6A1, 0x1F6A2, 0x1F6A4, + 0x1F6A5, 0x1F6A6, 0x1F6A7, 0x1F6A8, 0x1F6AA, 0x1F6B2, 0x1F6BD, + 0x1F6BF, 0x1F6C1, 0x1F6D1, 0x1F6EB, 0x1F6EC, 0x1F6F4, 0x1F6F5, + 0x1F6F6, 0x1F6F8, + }; + +#define EMOJI_ACTIVITIES_CHARACTER_COUNT 51 +static const uint32_t emoji_activities_characters[51] = + { + 0x26BD, 0x26BE, 0x26F3, 0x2728, 0x1F004, 0x1F0CF, 0x1F380, 0x1F381, + 0x1F383, 0x1F384, 0x1F386, 0x1F387, 0x1F388, 0x1F389, 0x1F38A, + 0x1F38B, 0x1F38D, 0x1F38E, 0x1F38F, 0x1F390, 0x1F391, 0x1F3A3, + 0x1F3AB, 0x1F3AE, 0x1F3AF, 0x1F3B1, 0x1F3B2, 0x1F3B3, 0x1F3B4, + 0x1F3BD, 0x1F3BE, 0x1F3BF, 0x1F3C0, 0x1F3C5, 0x1F3C6, 0x1F3C8, + 0x1F3C9, 0x1F3CF, 0x1F3D0, 0x1F3D1, 0x1F3D2, 0x1F3D3, 0x1F3F8, + 0x1F6F7, 0x1F945, 0x1F947, 0x1F948, 0x1F949, 0x1F94A, 0x1F94B, + 0x1F94C, + }; + +#define EMOJI_OBJECTS_CHARACTER_COUNT 117 +static const uint32_t emoji_objects_characters[117] = + { + 0x1F3A4, 0x1F3A5, 0x1F3A7, 0x1F3AC, 0x1F3B5, 0x1F3B6, 0x1F3B7, + 0x1F3B8, 0x1F3B9, 0x1F3BA, 0x1F3BB, 0x1F3BC, 0x1F3EE, 0x1F3F9, + 0x1F489, 0x1F48A, 0x1F4A1, 0x1F4B0, 0x1F4B1, 0x1F4B2, 0x1F4B3, + 0x1F4B4, 0x1F4B5, 0x1F4B6, 0x1F4B7, 0x1F4B8, 0x1F4B9, 0x1F4BB, + 0x1F4BC, 0x1F4BD, 0x1F4BE, 0x1F4BF, 0x1F4C0, 0x1F4C1, 0x1F4C2, + 0x1F4C3, 0x1F4C4, 0x1F4C5, 0x1F4C6, 0x1F4C7, 0x1F4C8, 0x1F4C9, + 0x1F4CA, 0x1F4CB, 0x1F4CC, 0x1F4CD, 0x1F4CE, 0x1F4CF, 0x1F4D0, + 0x1F4D1, 0x1F4D2, 0x1F4D3, 0x1F4D4, 0x1F4D5, 0x1F4D6, 0x1F4D7, + 0x1F4D8, 0x1F4D9, 0x1F4DA, 0x1F4DC, 0x1F4DD, 0x1F4DE, 0x1F4DF, + 0x1F4E0, 0x1F4E1, 0x1F4E2, 0x1F4E3, 0x1F4E4, 0x1F4E5, 0x1F4E6, + 0x1F4E7, 0x1F4E8, 0x1F4E9, 0x1F4EA, 0x1F4EB, 0x1F4EC, 0x1F4ED, + 0x1F4EE, 0x1F4EF, 0x1F4F0, 0x1F4F1, 0x1F4F2, 0x1F4F7, 0x1F4F8, + 0x1F4F9, 0x1F4FA, 0x1F4FB, 0x1F4FC, 0x1F507, 0x1F508, 0x1F509, + 0x1F50A, 0x1F50B, 0x1F50C, 0x1F50D, 0x1F50E, 0x1F50F, 0x1F510, + 0x1F511, 0x1F512, 0x1F513, 0x1F514, 0x1F515, 0x1F516, 0x1F517, + 0x1F526, 0x1F527, 0x1F528, 0x1F529, 0x1F52B, 0x1F52C, 0x1F52D, + 0x1F52E, 0x1F5FF, 0x1F6AC, 0x1F6D2, 0x1F941, + }; + +#define EMOJI_SYMBOLS_CHARACTER_COUNT 126 +static const uint32_t emoji_symbols_characters[126] = + { + 0x23E9, 0x23EA, 0x23EB, 0x23EC, 0x25FD, 0x25FE, 0x2648, 0x2649, + 0x264A, 0x264B, 0x264C, 0x264D, 0x264E, 0x264F, 0x2650, 0x2651, + 0x2652, 0x2653, 0x267F, 0x26AA, 0x26AB, 0x26CE, 0x26D4, 0x2705, + 0x274C, 0x274E, 0x2753, 0x2754, 0x2755, 0x2757, 0x2795, 0x2796, + 0x2797, 0x27B0, 0x27BF, 0x2B1B, 0x2B1C, 0x2B55, 0x1F18E, 0x1F191, + 0x1F192, 0x1F193, 0x1F194, 0x1F195, 0x1F196, 0x1F197, 0x1F198, + 0x1F199, 0x1F19A, 0x1F201, 0x1F21A, 0x1F22F, 0x1F232, 0x1F233, + 0x1F234, 0x1F235, 0x1F236, 0x1F238, 0x1F239, 0x1F23A, 0x1F250, + 0x1F251, 0x1F3A6, 0x1F3E7, 0x1F4A0, 0x1F4AF, 0x1F4DB, 0x1F4F3, + 0x1F4F4, 0x1F4F5, 0x1F4F6, 0x1F500, 0x1F501, 0x1F502, 0x1F503, + 0x1F504, 0x1F505, 0x1F506, 0x1F518, 0x1F519, 0x1F51A, 0x1F51B, + 0x1F51C, 0x1F51D, 0x1F51E, 0x1F51F, 0x1F520, 0x1F521, 0x1F522, + 0x1F523, 0x1F524, 0x1F52F, 0x1F530, 0x1F531, 0x1F532, 0x1F533, + 0x1F534, 0x1F535, 0x1F536, 0x1F537, 0x1F538, 0x1F539, 0x1F53A, + 0x1F53B, 0x1F53C, 0x1F53D, 0x1F54E, 0x1F6AB, 0x1F6AD, 0x1F6AE, + 0x1F6AF, 0x1F6B0, 0x1F6B1, 0x1F6B3, 0x1F6B7, 0x1F6B8, 0x1F6B9, + 0x1F6BA, 0x1F6BB, 0x1F6BC, 0x1F6BE, 0x1F6C2, 0x1F6C3, 0x1F6C4, + 0x1F6C5, 0x1F6D0, + }; + +#define EMOJI_FLAGS_CHARACTER_COUNT 4 +static const uint32_t emoji_flags_characters[4] = + { + 0x1F38C, 0x1F3C1, 0x1F3F4, 0x1F6A9, + }; + diff --git a/lib/gc-enumtypes.c b/lib/gc-enumtypes.c new file mode 100644 index 0000000..8cb71db --- /dev/null +++ b/lib/gc-enumtypes.c @@ -0,0 +1,67 @@ + +/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ + +#include "gc.h" +/* enumerations from "./gc.h" */ +GType +gc_category_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const GEnumValue values[] = { + { GC_CATEGORY_NONE, "GC_CATEGORY_NONE", "none" }, + { GC_CATEGORY_LETTER, "GC_CATEGORY_LETTER", "letter" }, + { GC_CATEGORY_LETTER_PUNCTUATION, "GC_CATEGORY_LETTER_PUNCTUATION", "letter-punctuation" }, + { GC_CATEGORY_LETTER_ARROW, "GC_CATEGORY_LETTER_ARROW", "letter-arrow" }, + { GC_CATEGORY_LETTER_BULLET, "GC_CATEGORY_LETTER_BULLET", "letter-bullet" }, + { GC_CATEGORY_LETTER_PICTURE, "GC_CATEGORY_LETTER_PICTURE", "letter-picture" }, + { GC_CATEGORY_LETTER_CURRENCY, "GC_CATEGORY_LETTER_CURRENCY", "letter-currency" }, + { GC_CATEGORY_LETTER_MATH, "GC_CATEGORY_LETTER_MATH", "letter-math" }, + { GC_CATEGORY_LETTER_LATIN, "GC_CATEGORY_LETTER_LATIN", "letter-latin" }, + { GC_CATEGORY_EMOJI, "GC_CATEGORY_EMOJI", "emoji" }, + { GC_CATEGORY_EMOJI_SMILEYS, "GC_CATEGORY_EMOJI_SMILEYS", "emoji-smileys" }, + { GC_CATEGORY_EMOJI_ANIMALS, "GC_CATEGORY_EMOJI_ANIMALS", "emoji-animals" }, + { GC_CATEGORY_EMOJI_FOOD, "GC_CATEGORY_EMOJI_FOOD", "emoji-food" }, + { GC_CATEGORY_EMOJI_ACTIVITIES, "GC_CATEGORY_EMOJI_ACTIVITIES", "emoji-activities" }, + { GC_CATEGORY_EMOJI_TRAVEL, "GC_CATEGORY_EMOJI_TRAVEL", "emoji-travel" }, + { GC_CATEGORY_EMOJI_OBJECTS, "GC_CATEGORY_EMOJI_OBJECTS", "emoji-objects" }, + { GC_CATEGORY_EMOJI_SYMBOLS, "GC_CATEGORY_EMOJI_SYMBOLS", "emoji-symbols" }, + { GC_CATEGORY_EMOJI_FLAGS, "GC_CATEGORY_EMOJI_FLAGS", "emoji-flags" }, + { 0, NULL, NULL } + }; + etype = g_enum_register_static (g_intern_static_string ("GcCategory"), values); + } + return etype; +} +GType +gc_search_error_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const GEnumValue values[] = { + { GC_SEARCH_ERROR_FAILED, "GC_SEARCH_ERROR_FAILED", "failed" }, + { GC_SEARCH_ERROR_INVALID_STATE, "GC_SEARCH_ERROR_INVALID_STATE", "invalid-state" }, + { 0, NULL, NULL } + }; + etype = g_enum_register_static (g_intern_static_string ("GcSearchError"), values); + } + return etype; +} +GType +gc_search_flag_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const GFlagsValue values[] = { + { GC_SEARCH_FLAG_NONE, "GC_SEARCH_FLAG_NONE", "none" }, + { GC_SEARCH_FLAG_WORD, "GC_SEARCH_FLAG_WORD", "word" }, + { 0, NULL, NULL } + }; + etype = g_flags_register_static (g_intern_static_string ("GcSearchFlag"), values); + } + return etype; +} + + +/* Generated data ends here */ + diff --git a/lib/gc-enumtypes.c.template b/lib/gc-enumtypes.c.template new file mode 100644 index 0000000..67b3331 --- /dev/null +++ b/lib/gc-enumtypes.c.template @@ -0,0 +1,35 @@ +/*** BEGIN file-header ***/ +#include "gc.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType +@enum_name@_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const G@Type@Value values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } + }; + etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); + } + return etype; +} + +/*** END value-tail ***/ + +/*** BEGIN file-tail ***/ + +/*** END file-tail ***/ diff --git a/lib/gc-enumtypes.h b/lib/gc-enumtypes.h new file mode 100644 index 0000000..8bd198f --- /dev/null +++ b/lib/gc-enumtypes.h @@ -0,0 +1,23 @@ + +/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */ + +#ifndef GC_ENUMTYPES_H_ +#define GC_ENUMTYPES_H_ + +#include + +G_BEGIN_DECLS + +/* enumerations from "./gc.h" */ +GType gc_category_get_type (void) G_GNUC_CONST; +#define GC_TYPE_CATEGORY (gc_category_get_type ()) +GType gc_search_error_get_type (void) G_GNUC_CONST; +#define GC_TYPE_SEARCH_ERROR (gc_search_error_get_type ()) +GType gc_search_flag_get_type (void) G_GNUC_CONST; +#define GC_TYPE_SEARCH_FLAG (gc_search_flag_get_type ()) +G_END_DECLS + +#endif /* GC_ENUMTYPES_H_ */ + +/* Generated data ends here */ + diff --git a/lib/gc-enumtypes.h.template b/lib/gc-enumtypes.h.template new file mode 100644 index 0000000..b8a0896 --- /dev/null +++ b/lib/gc-enumtypes.h.template @@ -0,0 +1,24 @@ +/*** BEGIN file-header ***/ +#ifndef GC_ENUMTYPES_H_ +#define GC_ENUMTYPES_H_ + +#include + +G_BEGIN_DECLS +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType @enum_name@_get_type (void) G_GNUC_CONST; +#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS + +#endif /* GC_ENUMTYPES_H_ */ +/*** END file-tail ***/ diff --git a/lib/gc.c b/lib/gc.c new file mode 100644 index 0000000..ce33511 --- /dev/null +++ b/lib/gc.c @@ -0,0 +1,1385 @@ +#include + +#include "gc.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "confusables.h" +#include "emoji.h" +#include "scripts.h" + +#define PANGO_ENABLE_ENGINE 1 +#include + +static gsize all_blocks_initialized; +static const uc_block_t *all_blocks; +static size_t all_block_count; + +#define LATIN_BLOCK_SIZE 4 +static gsize latin_blocks_initialized; +static uc_block_t latin_blocks[LATIN_BLOCK_SIZE]; +static const ucs4_t latin_block_starters[LATIN_BLOCK_SIZE] = + { 0x0000, 0x0080, 0x0100, 0x0180 }; +static size_t latin_block_count; + +#define HIRAGANA_BLOCK_SIZE 1 +static gsize hiragana_blocks_initialized; +static uc_block_t hiragana_blocks[HIRAGANA_BLOCK_SIZE]; +static const ucs4_t hiragana_block_starters[HIRAGANA_BLOCK_SIZE] = + { 0x3040 }; +static size_t hiragana_block_count; + +#define KATAKANA_BLOCK_SIZE 2 +static gsize katakana_blocks_initialized; +static uc_block_t katakana_blocks[KATAKANA_BLOCK_SIZE]; +static const ucs4_t katakana_block_starters[KATAKANA_BLOCK_SIZE] = + { 0x30A0, 0x31F0 }; +static size_t katakana_block_count; + +/* Bullets are not specially categorized in the Unicode standard. + Use the character list from UTR#25 "Unicode Support for Mathematics". */ +static const gunichar bullet_characters[] = + { + /* triangle left */ + 0x25C2, 0x25C3, + 0x25C0, 0x25C1, + /* triangle right */ + 0x25B8, 0x2023, 0x25B9, + 0x25B6, 0x25B7, + /* triangle up */ + 0x25B4, 0x25B5, + 0x25B2, 0x25B3, + /* triangle down */ + 0x25BE, 0x25BF, + 0x25BC, 0x25BD, + /* square */ + 0x2B1D, 0x2B1E, 0x25AA, 0x25AB, 0x25FD, 0x25FE, 0x25FC, 0x25FB, + 0x25A0, 0x25A1, 0x2B1B, 0x2B1C, + /* diamond */ + 0x2B29, 0x22C4, 0x2B25, 0x2B26, 0x25C6, 0x25C7, + /* lozenge */ + 0x2B2A, 0x2B2B, 0x2B27, 0x2B28, 0x29EB, 0x25CA, + /* pentagon */ + 0x2B1F, 0x2B20, + /* pentagon right */ + 0x2B53, 0x2B54, + /* hexagon horizontal */ + 0x2B23, 0x2394, + /* hexagon vertical */ + 0x2B22, 0x2B21, + /* arabic star */ + 0x2B51, 0x2B52, 0x22C6, 0x2B50, 0x2605, 0x2606, + /* ellipse horizontal */ + 0x2B2C, 0x2B2D, + /* ellipse vertical */ + 0x2B2E, 0x2B2F, + /* circle */ + 0x22C5, 0x2219, 0x00B7, 0x2218, 0x2022, 0x25E6, 0x2981, 0x26AC, + 0x26AB, 0x26AA, 0x25CF, 0x25CB, 0x2B24, 0x25EF, + /* circled circles */ + 0x2299, 0x2609, 0x233E, 0x2A00, 0x29BF, 0x229A, 0x29BE, 0x25C9, 0x25CE + }; +static size_t bullet_character_count = G_N_ELEMENTS (bullet_characters); + +typedef struct GcCharacterIter GcCharacterIter; + +struct GcCharacterIter +{ + ucs4_t uc; + + const gunichar *characters; + gssize character_index; + gssize character_count; + + const uc_block_t *blocks; + size_t block_index; + size_t block_count; + + const uc_script_t * const * scripts; + uc_general_category_t category; + const gchar * const * keywords; + GcSearchFlag flags; + + gboolean (* filter) (GcCharacterIter *iter, ucs4_t uc); +}; + +static gboolean gc_character_iter_next (GcCharacterIter *iter); +static gunichar gc_character_iter_get (GcCharacterIter *iter); + +static void gc_character_iter_init_for_category + (GcCharacterIter *iter, + GcCategory category); + +static void gc_character_iter_init_for_keywords + (GcCharacterIter *iter, + const gchar * const * keywords); + +static gboolean +gc_character_iter_next (GcCharacterIter *iter) +{ + ucs4_t uc = iter->uc; + + /* First, search in the explicit character list. */ + if (iter->character_index < iter->character_count) + { + iter->uc = iter->characters[iter->character_index++]; + return TRUE; + } + + /* Then go through the Unicode blocks. */ + if (!iter->blocks) + return FALSE; + + while (TRUE) + { + if (uc == iter->blocks[iter->block_index].end) + { + iter->block_index++; + uc = UNINAME_INVALID; + } + + if (uc == UNINAME_INVALID) + { + while (iter->block_index < iter->block_count + && iter->blocks[iter->block_index].start + == iter->blocks[iter->block_index].end) + iter->block_index++; + if (iter->block_index == iter->block_count) + return FALSE; + uc = iter->blocks[iter->block_index].start; + } + else + uc++; + + while (uc < iter->blocks[iter->block_index].end + && !iter->filter (iter, uc)) + uc++; + + if (uc < iter->blocks[iter->block_index].end) + { + iter->uc = uc; + return TRUE; + } + } + + return FALSE; +} + +static gunichar +gc_character_iter_get (GcCharacterIter *iter) +{ + return iter->uc; +} + +static void +gc_character_iter_init (GcCharacterIter *iter) +{ + memset (iter, 0, sizeof (GcCharacterIter)); + iter->uc = UNINAME_INVALID; +} + +static gboolean +filter_category (GcCharacterIter *iter, ucs4_t uc) +{ + return uc_is_print (uc) && uc_is_general_category (uc, iter->category); +} + +static void +gc_character_iter_init_for_general_category (GcCharacterIter *iter, + uc_general_category_t category) +{ + gc_character_iter_init (iter); + iter->blocks = all_blocks; + iter->block_count = all_block_count; + iter->filter = filter_category; + iter->category = category; +} + +static gboolean +filter_is_print (GcCharacterIter *iter, ucs4_t uc) +{ + return uc_is_print (uc); +} + +static gboolean +filter_all (GcCharacterIter *iter, ucs4_t uc) +{ + return TRUE; +} + +static void +gc_character_iter_init_for_blocks (GcCharacterIter *iter, + const uc_block_t *blocks, + size_t block_count) +{ + gc_character_iter_init (iter); + iter->blocks = blocks; + iter->block_count = block_count; + iter->filter = filter_is_print; +} + +static gboolean +filter_scripts (GcCharacterIter *iter, ucs4_t uc) +{ + const uc_script_t * const *scripts = iter->scripts; + + if (!uc_is_print (uc)) + return FALSE; + + while (*scripts) + { + if (uc_is_script (uc, *scripts)) + return TRUE; + scripts++; + } + + return FALSE; +} + +static void +gc_character_iter_init_for_scripts (GcCharacterIter *iter, + const uc_script_t * const * scripts) +{ + gc_character_iter_init (iter); + iter->blocks = all_blocks; + iter->block_count = all_block_count; + iter->filter = filter_scripts; + iter->scripts = scripts; +} + +static void +gc_character_iter_init_for_category (GcCharacterIter *iter, + GcCategory category) +{ + if (g_once_init_enter (&all_blocks_initialized)) + { + uc_all_blocks (&all_blocks, &all_block_count); + g_once_init_leave (&all_blocks_initialized, 1); + } + + switch (category) + { + case GC_CATEGORY_NONE: + break; + + case GC_CATEGORY_LETTER_PUNCTUATION: + gc_character_iter_init_for_general_category (iter, UC_CATEGORY_P); + return; + + case GC_CATEGORY_LETTER_ARROW: + { + static uc_block_t arrow_blocks[3]; + static gsize arrow_blocks_size = 0; + static gsize arrow_blocks_initialized = 0; + if (g_once_init_enter (&arrow_blocks_initialized)) + { + const uc_block_t *block; + + /* 2190..21FF; Arrows */ + block = uc_block (0x2190); + if (block) + memcpy (&arrow_blocks[arrow_blocks_size++], block, + sizeof (uc_block_t)); + /* 27F0..27FF; Supplemental Arrows-A */ + block = uc_block (0x27F0); + if (block) + memcpy (&arrow_blocks[arrow_blocks_size++], block, + sizeof (uc_block_t)); + /* 2900..297F; Supplemental Arrows-B */ + block = uc_block (0x2900); + if (block) + memcpy (&arrow_blocks[arrow_blocks_size++], block, + sizeof (uc_block_t)); + g_once_init_leave (&arrow_blocks_initialized, 1); + } + gc_character_iter_init_for_blocks (iter, + arrow_blocks, + arrow_blocks_size); + return; + } + + case GC_CATEGORY_LETTER_BULLET: + gc_character_iter_init (iter); + iter->characters = bullet_characters; + iter->character_count = bullet_character_count; + iter->filter = filter_all; + return; + + case GC_CATEGORY_LETTER_PICTURE: + { + static uc_block_t picture_blocks[6]; + static gsize picture_blocks_size = 0; + static gsize picture_blocks_initialized = 0; + if (g_once_init_enter (&picture_blocks_initialized)) + { + const uc_block_t *block; + + /* 2600..26FF; Miscellaneous Symbols */ + block = uc_block (0x2600); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + /* 2700..27BF; Dingbats */ + block = uc_block (0x2700); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + /* 1F000..1F02F; Mahjong Tiles */ + block = uc_block (0x1F000); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + /* 1F030..1F09F; Domino Tiles */ + block = uc_block (0x1F030); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + /* 1F0A0..1F0FF; Playing Cards */ + block = uc_block (0x1F0A0); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + /* 1F300..1F5FF; Miscellaneous Symbols and Pictographs */ + block = uc_block (0x1F300); + if (block) + memcpy (&picture_blocks[picture_blocks_size++], block, + sizeof (uc_block_t)); + g_once_init_leave (&picture_blocks_initialized, 1); + } + gc_character_iter_init_for_blocks (iter, + picture_blocks, + picture_blocks_size); + return; + } + break; + + case GC_CATEGORY_LETTER_CURRENCY: + gc_character_iter_init_for_general_category (iter, UC_CATEGORY_Sc); + return; + + case GC_CATEGORY_LETTER_MATH: + gc_character_iter_init_for_general_category (iter, UC_CATEGORY_Sm); + return; + + case GC_CATEGORY_LETTER_LATIN: + { + uc_script_t *latin_scripts[2]; + latin_scripts[0] = (uc_script_t *)uc_script ('A'); + latin_scripts[1] = NULL; + gc_character_iter_init_for_scripts (iter, (const uc_script_t * const *)latin_scripts); + return; + } + + case GC_CATEGORY_EMOJI_SMILEYS: + gc_character_iter_init (iter); + iter->characters = emoji_smileys_characters; + iter->character_count = EMOJI_SMILEYS_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_ANIMALS: + gc_character_iter_init (iter); + iter->characters = emoji_animals_characters; + iter->character_count = EMOJI_ANIMALS_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_FOOD: + gc_character_iter_init (iter); + iter->characters = emoji_food_characters; + iter->character_count = EMOJI_FOOD_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_ACTIVITIES: + gc_character_iter_init (iter); + iter->characters = emoji_activities_characters; + iter->character_count = EMOJI_ACTIVITIES_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_TRAVEL: + gc_character_iter_init (iter); + iter->characters = emoji_travel_characters; + iter->character_count = EMOJI_TRAVEL_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_OBJECTS: + gc_character_iter_init (iter); + iter->characters = emoji_objects_characters; + iter->character_count = EMOJI_OBJECTS_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_SYMBOLS: + gc_character_iter_init (iter); + iter->characters = emoji_symbols_characters; + iter->character_count = EMOJI_SYMBOLS_CHARACTER_COUNT; + iter->filter = filter_all; + return; + + case GC_CATEGORY_EMOJI_FLAGS: + gc_character_iter_init (iter); + iter->characters = emoji_flags_characters; + iter->character_count = EMOJI_FLAGS_CHARACTER_COUNT; + iter->filter = filter_all; + return; + } + + gc_character_iter_init (iter); + return; +} + +static gboolean +filter_keywords (GcCharacterIter *iter, ucs4_t uc) +{ + const gchar * const * keywords = iter->keywords; + gchar buffer[UNINAME_MAX]; + + if (!uc_is_print (uc)) + return FALSE; + + /* Special case if KEYWORDS only contains a single word. */ + if (*keywords && *(keywords + 1) == NULL) + { + size_t length = strlen (*keywords); + uint8_t utf8[6]; + size_t utf8_length = G_N_ELEMENTS (utf8); + + /* Match against the character itself. */ + u32_to_u8 (&uc, 1, utf8, &utf8_length); + if (utf8_length == length && memcmp (*keywords, utf8, utf8_length) == 0) + return TRUE; + + /* Match against the hexadecimal code point. */ + if (length <= 6 + && strspn (*keywords, "0123456789abcdefABCDEF") == length + && strtoul (*keywords, NULL, 16) == uc) + return TRUE; + } + + /* Match against the name. */ + if (!unicode_character_name (uc, buffer)) + return FALSE; + + while (*keywords) + { + const gchar *keyword = *keywords++; + size_t length = strlen (keyword); + gchar *p; + + if (length >= UNINAME_MAX) + return FALSE; + + p = g_strstr_len (buffer, UNINAME_MAX, keyword); + if (!p) + return FALSE; + + if (iter->flags & GC_SEARCH_FLAG_WORD) + { + while (p) + { + if (p == buffer || g_ascii_isspace (*(p - 1))) + break; + p = g_strstr_len (p + 1, UNINAME_MAX, keyword); + } + + if (!p) + return FALSE; + } + } + + return TRUE; +} + +static void +gc_character_iter_init_for_keywords (GcCharacterIter *iter, + const gchar * const * keywords) +{ + if (g_once_init_enter (&all_blocks_initialized)) + { + uc_all_blocks (&all_blocks, &all_block_count); + g_once_init_leave (&all_blocks_initialized, 1); + } + + gc_character_iter_init (iter); + iter->blocks = all_blocks; + iter->block_count = all_block_count; + iter->filter = filter_keywords; + iter->keywords = keywords; +} + +/** + * gc_character_name: + * @uc: a UCS-4 character + * + * Returns: (nullable): a newly allocated character name of @uc. + */ +gchar * +gc_character_name (gunichar uc) +{ + const uc_block_t *block; + static uc_block_t *cjk_blocks[6]; + static gsize cjk_blocks_initialized = 0; + gsize i; + + if (g_once_init_enter (&cjk_blocks_initialized)) + { + static const ucs4_t cjk_block_starters[6] = + { + 0x4E00, 0x3400, 0x20000, 0x2A700, 0x2B740, 0x2B820 + }; + + for (i = 0; i < G_N_ELEMENTS (cjk_block_starters); i++) + cjk_blocks[i] = (uc_block_t *)uc_block (cjk_block_starters[i]); + g_once_init_leave (&cjk_blocks_initialized, 1); + } + + block = uc_block (uc); + for (i = 0; i < G_N_ELEMENTS (cjk_blocks); i++) + if (block == cjk_blocks[i]) + return g_strdup_printf ("CJK UNIFIED IDEOGRAPH-%X", uc); + + return unicode_character_name (uc, g_new0 (gchar, UNINAME_MAX)); +} + +/** + * gc_character_is_invisible: + * @uc: a UCS-4 character + * + * Returns: %TRUE if @uc is an invisible character, %FALSE otherwise. + */ +gboolean +gc_character_is_invisible (gunichar uc) +{ + return uc_is_property_space (uc) + || uc_is_property_iso_control (uc) + || uc_is_property_format_control (uc) + || uc_is_property_zero_width (uc); +} + +/** + * gc_character_width: + * @uc: a UCS-4 character + * + * Returns: column width of @uc, or -1 if @uc is a control character. + */ +gint +gc_character_width (gunichar uc) +{ + return uc_width (uc, "UTF-8"); +} + +G_DEFINE_QUARK (gc-search-error-quark, gc_search_error) + +G_DEFINE_BOXED_TYPE (GcSearchResult, gc_search_result, + g_array_ref, g_array_unref); + +gunichar +gc_search_result_get (GcSearchResult *result, gint index) +{ + g_return_val_if_fail (result, G_MAXUINT32); + g_return_val_if_fail (0 <= index && index < result->len, G_MAXUINT32); + + return g_array_index (result, gunichar, index); +} + +typedef enum + { + GC_SEARCH_CRITERIA_CATEGORY, + GC_SEARCH_CRITERIA_KEYWORDS, + GC_SEARCH_CRITERIA_SCRIPTS, + GC_SEARCH_CRITERIA_RELATED + } GcSearchCriteriaType; + +struct _GcSearchCriteria +{ + GcSearchCriteriaType type; + + union { + GcCategory category; + gchar **keywords; + const uc_script_t **scripts; + gunichar related; + } u; +}; + +static gpointer +gc_search_criteria_copy (gpointer boxed) +{ + GcSearchCriteria *criteria = g_memdup (boxed, sizeof (GcSearchCriteria)); + + if (criteria->type == GC_SEARCH_CRITERIA_KEYWORDS) + criteria->u.keywords = g_strdupv (criteria->u.keywords); + + return criteria; +} + +static void +gc_search_criteria_free (gpointer boxed) +{ + GcSearchCriteria *criteria = boxed; + + if (criteria->type == GC_SEARCH_CRITERIA_KEYWORDS) + g_strfreev (criteria->u.keywords); + + g_free (criteria); +} + +G_DEFINE_BOXED_TYPE (GcSearchCriteria, gc_search_criteria, + gc_search_criteria_copy, gc_search_criteria_free) + +/** + * gc_search_criteria_new_category: + * @category: a #GcCategory + * + * Returns: (transfer full): a new #GcSearchCriteria + */ +GcSearchCriteria * +gc_search_criteria_new_category (GcCategory category) +{ + GcSearchCriteria *result = g_new0 (GcSearchCriteria, 1); + result->type = GC_SEARCH_CRITERIA_CATEGORY; + result->u.category = category; + return result; +} + +/** + * gc_search_criteria_new_keywords: + * @keywords: (array zero-terminated=1) (element-type utf8): an array of keywords + * + * Returns: (transfer full): a new #GcSearchCriteria + */ +GcSearchCriteria * +gc_search_criteria_new_keywords (const gchar * const * keywords) +{ + GcSearchCriteria *result = g_new0 (GcSearchCriteria, 1); + result->type = GC_SEARCH_CRITERIA_KEYWORDS; + result->u.keywords = g_strdupv ((gchar **) keywords); + return result; +} + +/** + * gc_search_criteria_new_scripts: + * @scripts: (array zero-terminated=1) (element-type utf8): an array of scripts + * + * Returns: (transfer full): a new #GcSearchCriteria + */ +GcSearchCriteria * +gc_search_criteria_new_scripts (const gchar * const * scripts) +{ + GcSearchCriteria *result = g_new0 (GcSearchCriteria, 1); + guint length, i; + + result->type = GC_SEARCH_CRITERIA_SCRIPTS; + + length = g_strv_length ((gchar **) scripts); + result->u.scripts = g_malloc0_n (length + 1, sizeof (uc_script_t *)); + for (i = 0; i < length; i++) + result->u.scripts[i] = uc_script_byname (scripts[i]); + + return result; +} + +GcSearchCriteria * +gc_search_criteria_new_related (gunichar uc) +{ + GcSearchCriteria *result = g_new0 (GcSearchCriteria, 1); + result->type = GC_SEARCH_CRITERIA_RELATED; + result->u.related = uc; + return result; +} + +enum GcSearchState + { + GC_SEARCH_STATE_NOT_STARTED, + GC_SEARCH_STATE_STEP_STARTED, + GC_SEARCH_STATE_STEP_FINISHED, + GC_SEARCH_STATE_FINISHED + }; + +struct _GcSearchContext +{ + GObject parent; + GMutex lock; + enum GcSearchState state; + GcCharacterIter iter; + GcSearchCriteria *criteria; + GcSearchFlag flags; +}; + +struct SearchData +{ + gunichar uc; + gint max_matches; + GcSearchContext *context; +}; + +static void +search_data_free (struct SearchData *data) +{ + g_clear_object (&data->context); + g_slice_free (struct SearchData, data); +} + +static void +add_composited (GArray *result, ucs4_t base, + const uc_block_t *blocks, size_t count) +{ + size_t i; + + for (i = 0; i < count; i++) + { + const uc_block_t *block = &blocks[i]; + ucs4_t uc; + + for (uc = 0; uc < block->end; uc++) + { + ucs4_t decomposition[UC_DECOMPOSITION_MAX_LENGTH]; + + uc_canonical_decomposition (uc, decomposition); + if (decomposition[0] == base) + g_array_append_val (result, uc); + } + } +} + +static int +confusable_character_class_compare (const void *a, + const void *b) +{ + const struct ConfusableCharacterClass *ac = a, *bc = b; + return ac->uc == bc->uc ? 0 : (ac->uc < bc->uc ? -1 : 1); +} + +static void +add_confusables (GArray *result, ucs4_t uc) +{ + struct ConfusableCharacterClass key, *res; + + key.uc = uc; + res = bsearch (&key, confusable_character_classes, + G_N_ELEMENTS (confusable_character_classes), + sizeof (*confusable_character_classes), + confusable_character_class_compare); + if (res) + { + const struct ConfusableClass *klass = &confusable_classes[res->index]; + g_array_append_vals (result, + &confusable_characters[klass->offset], + klass->length); + } +} + +static gint +compare_unichar (gconstpointer a, + gconstpointer b) +{ + const gunichar *auc = a, *buc = b; + return *auc == *buc ? 0 : (*auc < *buc ? -1 : 1); +} + +static void +remove_duplicates (GArray *array) +{ + gint i; + + for (i = 0; i < array->len; i++) + { + gunichar *start; + gint j; + + start = &g_array_index (array, gunichar, i); + for (j = i + 1; j < array->len; j++) + { + gunichar *stop; + + stop = &g_array_index (array, gunichar, j); + if (*start != *stop) + break; + } + if (j != i + 1) + g_array_remove_range (array, i + 1, j - (i + 1)); + } +} + +static void +populate_related_characters (GcCharacterIter *iter) +{ + GArray *result; + ucs4_t related; + size_t i; + + result = g_array_new (FALSE, FALSE, sizeof (gunichar)); + + related = uc_toupper (iter->uc); + if (related != iter->uc) + g_array_append_val (result, related); + + related = uc_tolower (iter->uc); + if (related != iter->uc) + g_array_append_val (result, related); + + related = uc_totitle (iter->uc); + if (related != iter->uc) + g_array_append_val (result, related); + + if (uc_mirror_char (iter->uc, &related) && related != iter->uc) + g_array_append_val (result, related); + + if (uc_is_general_category (iter->uc, UC_CATEGORY_L)) + { + const uc_script_t *script; + + script = uc_script (iter->uc); + if (script) + { + if (strcmp (script->name, "Hangul") == 0) + { + /* For Hangul, do full canonical decomposition. */ + uint32_t s = (uint32_t) iter->uc; + uint32_t decomposition[3]; + size_t decomposition_length = 3; + + if (u32_normalize (UNINORM_NFD, &s, 1, + decomposition, &decomposition_length)) + for (i = 0; i < decomposition_length; i++) + { + ucs4_t hangul_jamo = (ucs4_t) decomposition[i]; + g_array_append_val (result, hangul_jamo); + } + } + else + { + /* For Latin, Hiragana, and Katakana, first find out the + base character, and then find all composited + characters whose base character is the one identified + by the first step. */ + ucs4_t decomposition[UC_DECOMPOSITION_MAX_LENGTH]; + int decomposition_length; + ucs4_t decomposition_base; + + decomposition_length = + uc_canonical_decomposition (iter->uc, decomposition); + if (decomposition_length > 0) + { + decomposition_base = decomposition[0]; + if (decomposition_base != iter->uc) + g_array_append_val (result, decomposition_base); + } + else + decomposition_base = iter->uc; + + if (strcmp (script->name, "Latin") == 0) + add_composited (result, decomposition_base, + latin_blocks, latin_block_count); + else if (strcmp (script->name, "Hiragana") == 0) + add_composited (result, decomposition_base, + hiragana_blocks, hiragana_block_count); + else if (strcmp (script->name, "Katakana") == 0) + add_composited (result, decomposition_base, + katakana_blocks, katakana_block_count); + } + } + } + + add_confusables (result, iter->uc); + + g_array_sort (result, compare_unichar); + remove_duplicates (result); + + for (i = 0; i < result->len; i++) + { + gunichar *puc; + + puc = &g_array_index (result, gunichar, i); + if (*puc == iter->uc) + { + g_array_remove_index (result, i); + break; + } + } + + iter->character_count = result->len; + iter->characters = (gunichar *) g_array_free (result, FALSE); +} + +static size_t +init_blocks (uc_block_t *blocks, const ucs4_t *starters, size_t size) +{ + size_t i, count; + + for (i = 0, count = 0; i < size; i++) + { + const uc_block_t *block = uc_block (starters[i]); + if (block) + memcpy ((uc_block_t *) &blocks[count++], block, sizeof (uc_block_t)); + } + return count; +} + +static void +gc_character_iter_init_for_related (GcCharacterIter *iter, + gunichar uc) +{ + if (g_once_init_enter (&latin_blocks_initialized)) + { + latin_block_count = + init_blocks (latin_blocks, latin_block_starters, + LATIN_BLOCK_SIZE); + g_once_init_leave (&latin_blocks_initialized, 1); + } + + if (g_once_init_enter (&hiragana_blocks_initialized)) + { + hiragana_block_count = + init_blocks (hiragana_blocks, hiragana_block_starters, + HIRAGANA_BLOCK_SIZE); + g_once_init_leave (&hiragana_blocks_initialized, 1); + } + + if (g_once_init_enter (&katakana_blocks_initialized)) + { + katakana_block_count = + init_blocks (katakana_blocks, katakana_block_starters, + KATAKANA_BLOCK_SIZE); + g_once_init_leave (&katakana_blocks_initialized, 1); + } + + gc_character_iter_init (iter); + iter->uc = uc; + populate_related_characters (iter); +} + +enum { + SEARCH_CONTEXT_PROP_0, + SEARCH_CONTEXT_PROP_CRITERIA, + SEARCH_CONTEXT_PROP_FLAGS, + SEARCH_CONTEXT_LAST_PROP +}; + +static GParamSpec *search_context_props[SEARCH_CONTEXT_LAST_PROP] = { NULL, }; + +G_DEFINE_TYPE (GcSearchContext, gc_search_context, G_TYPE_OBJECT); + +static void +gc_search_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GcSearchContext *context = GC_SEARCH_CONTEXT (object); + + switch (prop_id) + { + case SEARCH_CONTEXT_PROP_CRITERIA: + context->criteria = g_value_dup_boxed (value); + break; + case SEARCH_CONTEXT_PROP_FLAGS: + context->flags = g_value_get_flags (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gc_search_context_finalize (GObject *object) +{ + GcSearchContext *context = GC_SEARCH_CONTEXT (object); + + g_mutex_clear (&context->lock); + g_boxed_free (GC_TYPE_SEARCH_CONTEXT, context->criteria); + + G_OBJECT_CLASS (gc_search_context_parent_class)->finalize (object); +} + +static void +gc_search_context_class_init (GcSearchContextClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->set_property = gc_search_context_set_property; + object_class->finalize = gc_search_context_finalize; + + search_context_props[SEARCH_CONTEXT_PROP_CRITERIA] = + g_param_spec_boxed ("criteria", NULL, NULL, + GC_TYPE_SEARCH_CRITERIA, + G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE); + search_context_props[SEARCH_CONTEXT_PROP_FLAGS] = + g_param_spec_flags ("flags", NULL, NULL, + GC_TYPE_SEARCH_FLAG, + GC_SEARCH_FLAG_NONE, + G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE); + g_object_class_install_properties (object_class, SEARCH_CONTEXT_LAST_PROP, + search_context_props); +} + +static void +gc_search_context_init (GcSearchContext *context) +{ + g_mutex_init (&context->lock); +} + +GcSearchContext * +gc_search_context_new (GcSearchCriteria *criteria, + GcSearchFlag flags) +{ + return g_object_new (GC_TYPE_SEARCH_CONTEXT, + "criteria", criteria, + "flags", flags, + NULL); +} + +static void +gc_search_context_search_thread (GTask *task, + gpointer source_object, + gpointer task_data, + GCancellable *cancellable) +{ + GArray *result; + struct SearchData *data = task_data; + + if (g_once_init_enter (&all_blocks_initialized)) + { + uc_all_blocks (&all_blocks, &all_block_count); + g_once_init_leave (&all_blocks_initialized, 1); + } + + result = g_array_new (FALSE, FALSE, sizeof (gunichar)); + while (gc_character_iter_next (&data->context->iter)) + { + gunichar uc; + + if (g_task_return_error_if_cancelled (task)) + { + g_mutex_lock (&data->context->lock); + data->context->state = GC_SEARCH_STATE_NOT_STARTED; + g_mutex_unlock (&data->context->lock); + return; + } + + if (result->len == data->max_matches) + { + g_mutex_lock (&data->context->lock); + data->context->state = GC_SEARCH_STATE_STEP_FINISHED; + g_mutex_unlock (&data->context->lock); + + g_task_return_pointer (task, result, (GDestroyNotify) g_array_unref); + return; + } + + uc = gc_character_iter_get (&data->context->iter); + g_array_append_val (result, uc); + } + + g_mutex_lock (&data->context->lock); + data->context->state = GC_SEARCH_STATE_FINISHED; + g_mutex_unlock (&data->context->lock); + + g_task_return_pointer (task, result, (GDestroyNotify) g_array_unref); +} + +void +gc_search_context_search (GcSearchContext *context, + gint max_matches, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GTask *task; + struct SearchData *data; + + g_mutex_lock (&context->lock); + task = g_task_new (context, cancellable, callback, user_data); + switch (context->state) + { + case GC_SEARCH_STATE_NOT_STARTED: + switch (context->criteria->type) + { + case GC_SEARCH_CRITERIA_CATEGORY: + gc_character_iter_init_for_category (&context->iter, + context->criteria->u.category); + break; + case GC_SEARCH_CRITERIA_KEYWORDS: + gc_character_iter_init_for_keywords (&context->iter, + (const gchar * const *) context->criteria->u.keywords); + break; + case GC_SEARCH_CRITERIA_SCRIPTS: + gc_character_iter_init_for_scripts (&context->iter, + context->criteria->u.scripts); + break; + case GC_SEARCH_CRITERIA_RELATED: + gc_character_iter_init_for_related (&context->iter, + context->criteria->u.related); + } + context->state = GC_SEARCH_STATE_STEP_STARTED; + break; + + case GC_SEARCH_STATE_STEP_STARTED: + g_mutex_unlock (&context->lock); + g_task_return_new_error (task, + GC_SEARCH_ERROR, + GC_SEARCH_ERROR_INVALID_STATE, + "search step already started"); + return; + + case GC_SEARCH_STATE_STEP_FINISHED: + break; + + case GC_SEARCH_STATE_FINISHED: + g_mutex_unlock (&context->lock); + g_task_return_new_error (task, + GC_SEARCH_ERROR, + GC_SEARCH_ERROR_INVALID_STATE, + "search context destroyed"); + return; + } + context->iter.flags = context->flags; + g_mutex_unlock (&context->lock); + + data = g_slice_new0 (struct SearchData); + data->context = g_object_ref (context); + data->max_matches = max_matches; + g_task_set_task_data (task, data, (GDestroyNotify) search_data_free); + g_task_run_in_thread (task, gc_search_context_search_thread); +} + +/** + * gc_search_context_search_finish: + * @context: a #GcSearchContext. + * @result: a #GAsyncResult. + * @error: return location of an error. + * + * Returns: (transfer full): an array of characters. + */ +GcSearchResult * +gc_search_context_search_finish (GcSearchContext *context, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, context), NULL); + + return g_task_propagate_pointer (G_TASK (result), error); +} + +gboolean +gc_search_context_is_finished (GcSearchContext *context) +{ + return context->state == GC_SEARCH_STATE_FINISHED; +} + +static int +filter_compare (const void *a, const void *b) +{ + const uint32_t *ac = a, *bc = b; + return *ac == *bc ? 0 : (*ac < *bc ? -1 : 1); +} + +/** + * gc_filter_characters: + * @category: a #GcCategory. + * @characters: (array zero-terminated=1) (element-type utf8): an array of characters + * + * Returns: (transfer full): an array of characters. + */ +GcSearchResult * +gc_filter_characters (GcCategory category, + const gchar * const *characters) +{ + static const struct { + const uint32_t *table; + size_t length; + } emoji_tables[] = { + { emoji_smileys_characters, EMOJI_SMILEYS_CHARACTER_COUNT }, + { emoji_animals_characters, EMOJI_ANIMALS_CHARACTER_COUNT }, + { emoji_food_characters, EMOJI_FOOD_CHARACTER_COUNT }, + { emoji_travel_characters, EMOJI_TRAVEL_CHARACTER_COUNT }, + { emoji_activities_characters, EMOJI_ACTIVITIES_CHARACTER_COUNT }, + { emoji_objects_characters, EMOJI_OBJECTS_CHARACTER_COUNT }, + { emoji_symbols_characters, EMOJI_SYMBOLS_CHARACTER_COUNT }, + { emoji_flags_characters, EMOJI_FLAGS_CHARACTER_COUNT } + }; + GArray *result; + size_t i, j; + + result = g_array_new (FALSE, FALSE, sizeof (gunichar)); + + g_return_val_if_fail (category == GC_CATEGORY_LETTER || category == GC_CATEGORY_EMOJI, result); + + for (i = 0; characters[i] != 0; i++) + { + const uint8_t *utf8 = characters[i]; + size_t utf8_length = u8_strmblen (utf8); + uint32_t uc; + size_t uc_length = 1; + + u8_to_u32 (utf8, utf8_length, &uc, &uc_length); + for (j = 0; j < G_N_ELEMENTS(emoji_tables); j++) + { + uint32_t *res; + res = bsearch (&uc, emoji_tables[j].table, emoji_tables[j].length, + sizeof (uint32_t), + filter_compare); + if (res) + { + if (category == GC_CATEGORY_EMOJI) + g_array_append_val (result, uc); + break; + } + } + if (j == G_N_ELEMENTS(emoji_tables) && category == GC_CATEGORY_LETTER) + g_array_append_val (result, uc); + } + + return result; +} + +/** + * gc_gtk_clipboard_get: + * + * Returns: (transfer none): a #GtkClipboard. + */ +GtkClipboard * +gc_gtk_clipboard_get (void) +{ + return gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); +} + +void +gc_pango_layout_disable_fallback (PangoLayout *layout) +{ + PangoAttrList *attr_list; + + attr_list = pango_layout_get_attributes (layout); + if (!attr_list) + { + attr_list = pango_attr_list_new (); + pango_layout_set_attributes (layout, attr_list); + } + pango_attr_list_insert (attr_list, pango_attr_fallback_new (FALSE)); +} + +gboolean +gc_pango_context_font_has_glyph (PangoContext *context, + PangoFont *font, + gunichar uc) +{ + PangoLayout *layout; + GError *error; + gchar *utf8; + glong items_written; + int retval; + +#ifdef HAVE_PANGOFT2 + if (PANGO_IS_FC_FONT (font)) + /* Fast path when the font is loaded as PangoFcFont. */ + { + PangoFcFont *fcfont = PANGO_FC_FONT (font); + return pango_fc_font_has_char (fcfont, uc); + } +#endif + + /* Slow path performing actual rendering. */ + utf8 = g_ucs4_to_utf8 (&uc, 1, NULL, &items_written, &error); + if (!utf8) + { + g_printerr ("error in decoding: %s\n", error->message); + g_error_free (error); + return FALSE; + } + + layout = pango_layout_new (context); + gc_pango_layout_disable_fallback (layout); + pango_layout_set_text (layout, utf8, items_written); + g_free (utf8); + + retval = pango_layout_get_unknown_glyphs_count (layout); + g_object_unref (layout); + + return retval == 0; +} + +/** + * gc_get_current_language: + * + * Returns: (transfer full): an ISO639 two-letter language code + */ +gchar * +gc_get_current_language (void) +{ + const gchar *locale = setlocale (LC_MESSAGES, NULL); + size_t length; + + if (!locale || !*locale) + return NULL; + + length = strcspn (locale, "_.@"); + + return g_strndup (locale, length); +} + +static int +language_scripts_compare (const void *a, + const void *b) +{ + const struct LanguageScripts *al = a, *bl = b; + return strcmp (al->language, bl->language); +} + +static int +language_scripts_compare_ignore_territory (const void *a, + const void *b) +{ + const struct LanguageScripts *al = a, *bl = b; + int an, bn; + gchar *p; + + p = strchr (al->language, '_'); + an = p ? p - al->language : strlen (al->language); + p = strchr (bl->language, '_'); + bn = p ? p - bl->language : strlen (bl->language); + + if (an == bn) + return strncmp (al->language, bl->language, an); + + return language_scripts_compare (a, b); +} + +/** + * gc_get_scripts_for_language: + * @language: a language name + * + * Returns: (transfer none) (array zero-terminated=1) (element-type utf8): a list of script names. + */ +const gchar * const * +gc_get_scripts_for_language (const gchar *language) +{ + struct LanguageScripts key, *res; + + key.language = language; + res = bsearch (&key, language_scripts, + G_N_ELEMENTS (language_scripts), + sizeof (*language_scripts), + language_scripts_compare); + if (!res) + res = bsearch (&key, language_scripts, + G_N_ELEMENTS (language_scripts), + sizeof (*language_scripts), + language_scripts_compare_ignore_territory); + if (res) + return res->scripts; + + return NULL; +} diff --git a/lib/gc.h b/lib/gc.h new file mode 100644 index 0000000..c575b09 --- /dev/null +++ b/lib/gc.h @@ -0,0 +1,135 @@ +/* libgc is a wrapper library to fill the gaps between Gjs and + libunistring, pango, GTK+. */ + +#ifndef __GC_H__ +#define __GC_H__ + +#include +#include +#include +#include "gc-enumtypes.h" + +G_BEGIN_DECLS + +/* libunistring support. In libunistring, the Unicode general + categories are defined as global constant, which is not accessible + through GI. */ + +typedef enum +{ + GC_CATEGORY_NONE, + GC_CATEGORY_LETTER, + GC_CATEGORY_LETTER_PUNCTUATION, + GC_CATEGORY_LETTER_ARROW, + GC_CATEGORY_LETTER_BULLET, + GC_CATEGORY_LETTER_PICTURE, + GC_CATEGORY_LETTER_CURRENCY, + GC_CATEGORY_LETTER_MATH, + GC_CATEGORY_LETTER_LATIN, + GC_CATEGORY_EMOJI, + GC_CATEGORY_EMOJI_SMILEYS, + GC_CATEGORY_EMOJI_ANIMALS, + GC_CATEGORY_EMOJI_FOOD, + GC_CATEGORY_EMOJI_ACTIVITIES, + GC_CATEGORY_EMOJI_TRAVEL, + GC_CATEGORY_EMOJI_OBJECTS, + GC_CATEGORY_EMOJI_SYMBOLS, + GC_CATEGORY_EMOJI_FLAGS, +} GcCategory; + +/* Provides asynchronous access to Unicode characters with the given + criteria. Note that it is not feasible to support user-defined + search criteria written in JS, because the JS code needs to be run + in the main thread. */ + +typedef GArray GcSearchResult; +typedef gboolean (*GcSearchFunc) (gunichar uc, gpointer user_data); + +#define GC_SEARCH_ERROR (gc_search_error_quark ()) + +typedef enum + { + GC_SEARCH_ERROR_FAILED, + GC_SEARCH_ERROR_INVALID_STATE + } GcSearchError; + +typedef enum +{ + GC_SEARCH_FLAG_NONE = 0, + GC_SEARCH_FLAG_WORD = 1 << 0 +} GcSearchFlag; + +#define GC_TYPE_SEARCH_CRITERIA (gc_search_criteria_get_type ()) + +typedef struct _GcSearchCriteria GcSearchCriteria; + +#define GC_TYPE_SEARCH_CONTEXT (gc_search_context_get_type ()) +G_DECLARE_FINAL_TYPE (GcSearchContext, gc_search_context, + GC, SEARCH_CONTEXT, GObject) + +GType gc_search_result_get_type + (void); +gunichar gc_search_result_get (GcSearchResult *result, + gint index); + +GType gc_search_criteria_get_type + (void); + +GcSearchCriteria *gc_search_criteria_new_category + (GcCategory category); + +GcSearchCriteria *gc_search_criteria_new_keywords + (const gchar * const * keywords); + +GcSearchCriteria *gc_search_criteria_new_scripts + (const gchar * const * scripts); + +GcSearchCriteria *gc_search_criteria_new_related + (gunichar uc); + +GcSearchContext *gc_search_context_new (GcSearchCriteria *criteria, + GcSearchFlag flags); +void gc_search_context_search + (GcSearchContext *context, + gint max_matches, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); +GcSearchResult *gc_search_context_search_finish + (GcSearchContext *context, + GAsyncResult *result, + GError **error); +gboolean gc_search_context_is_finished + (GcSearchContext *context); + +GcSearchResult *gc_filter_characters (GcCategory category, + const gchar * const * characters); + +gchar *gc_character_name (gunichar uc); +gboolean gc_character_is_invisible + (gunichar uc); +gint gc_character_width (gunichar uc); + + +/* GTK+ support. gtk_clipboard_get() takes an GdkAtom as the first + argument, but GdkAtom is not accessible through GI. */ + +GtkClipboard *gc_gtk_clipboard_get (void); + +/* Pango support. PangoAttrFallback is not accessible from GI. */ +void gc_pango_layout_disable_fallback + (PangoLayout *layout); + +gboolean gc_pango_context_font_has_glyph + (PangoContext *context, + PangoFont *font, + gunichar uc); + +gchar *gc_get_current_language + (void); +const gchar * const * gc_get_scripts_for_language + (const gchar *language); + +G_END_DECLS + +#endif /* __GC_H__ */ diff --git a/lib/gen-confusables.py b/lib/gen-confusables.py new file mode 100755 index 0000000..13e01eb --- /dev/null +++ b/lib/gen-confusables.py @@ -0,0 +1,85 @@ +#!/usr/bin/python3 + +import io +import re + +class Builder(object): + def __init__(self): + pass + + def read(self, infile): + classes = [] + for line in infile: + if line.startswith('#'): + continue + line = line.strip() + if len(line) == 0: + continue + (source, target, _type) = line.split(';', 2) + source = int(source.strip(), 16) + target = [int(x, 16) for x in re.split('\s+', target.strip())] + if len(target) > 1: + continue + source_classes = [c for c in classes if source in c] + if len(source_classes) > 0: + source_classes[0].add(target[0]) + else: + target_classes = [c for c in classes if target[0] in c] + if len(target_classes) > 0: + target_classes[0].add(source) + else: + c = set() + c.add(source) + c.add(target[0]) + classes.append(c) + return classes + + def write(self, data): + classes = [] + character_to_class = {} + print('static const uint32_t confusable_characters[] =\n {') + print(' ', end='') + s = '' + offset = 0 + for index, characters in enumerate(data): + length = 0 + for c in sorted(characters): + s += '0x%X, ' % c + length += 1 + if len(s) > 60: + print(s) + print(' ', end='') + s = '' + character_to_class[c] = index + classes.append((offset, length)) + offset += length + if len(s) > 0: + print(s) + print(' };') + print() + print('struct ConfusableClass\n{\n uint16_t offset;\n uint16_t length;\n};') + print('static const struct ConfusableClass confusable_classes[] =\n {') + for offset, length in classes: + print(' { %d, %d }, ' % (offset, length)) + print(' };') + print() + print('struct ConfusableCharacterClass\n{\n uint32_t uc;\n uint16_t index;\n};') + print('static const struct ConfusableCharacterClass confusable_character_classes[] =\n {') + for character, index in sorted(character_to_class.items(), + key=lambda x: x[0]): + print(' { 0x%X, %d }, ' % (character, index)) + print(' };') + + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser(description='build') + parser.add_argument('infile', type=argparse.FileType('r'), + help='input file') + args = parser.parse_args() + + builder = Builder() + # FIXME: argparse.FileType(encoding=...) is available since Python 3.4 + data = builder.read(io.open(args.infile.name, encoding='utf_8_sig')) + builder.write(data) diff --git a/lib/gen-emoji.py b/lib/gen-emoji.py new file mode 100755 index 0000000..28029b8 --- /dev/null +++ b/lib/gen-emoji.py @@ -0,0 +1,73 @@ +#!/usr/bin/python3 + +import io +import re + +GROUPS = { + 'Smileys & People': 'smileys', + 'Animals & Nature': 'animals', + 'Food & Drink': 'food', + 'Travel & Places': 'travel', + 'Activities': 'activities', + 'Objects': 'objects', + 'Symbols': 'symbols', + 'Flags': 'flags' +} + +class Builder(object): + def __init__(self): + pass + + def read(self, infile): + group = None + groups = dict() + for line in infile: + m = re.match('# group: (.*)', line) + if m: + groups[m.group(1)] = group = set() + if line.startswith('#'): + continue + line = line.strip() + if len(line) == 0: + continue + (cp, status) = line.split(';', 1) + cp = cp.strip() + if cp.find(' ') > 0: + continue + status = status.strip(); + if not status.startswith('fully-qualified'): + continue + group.add(int(cp, 16)) + return groups + + def write(self, groups): + for name, group in groups.items(): + print('#define EMOJI_{}_CHARACTER_COUNT {}'.format( + GROUPS[name].upper(), len(group))) + print('static const uint32_t emoji_{}_characters[{}] ='.format( + GROUPS[name], len(group))) + print(' {') + print(' ', end='') + s = '' + for index, cp in enumerate(sorted(group)): + s += '0x%X, ' % cp + if len(s) > 60: + print(s) + print(' ', end='') + s = '' + print(s) + print(' };') + print() + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser(description='build') + parser.add_argument('infile', type=argparse.FileType('r'), + help='input file') + args = parser.parse_args() + + builder = Builder() + # FIXME: argparse.FileType(encoding=...) is available since Python 3.4 + data = builder.read(io.open(args.infile.name, encoding='utf_8_sig')) + builder.write(data) diff --git a/lib/gen-scripts.py b/lib/gen-scripts.py new file mode 100755 index 0000000..be20ac1 --- /dev/null +++ b/lib/gen-scripts.py @@ -0,0 +1,98 @@ +#!/usr/bin/python3 + +# Usage: gen-scripts.py --cldrinfile .../supplementalData.xml \ +# --ucdinfile .../PropertyValueAliases.txt + +import io +import re +import xml.etree.ElementTree as et + +ISO_ALIASES = { 'Hans': ['Hani'], 'Hant': ['Hani'], + 'Jpan': ['Hrkt'], + 'Kore': ['Hang'] } +UCD_ALIASES = { 'Katakana_Or_Hiragana': ['Katakana', 'Hiragana'] } +DEFAULT_ALIASES = { 'en': ['Latin'] } + +def get_language_data(infile, aliases): + result = {} + tree = et.parse(infile) + for data in tree.findall('languageData'): + for lang in data.findall('language'): + type = lang.get('type') + scripts = lang.get('scripts') + if not scripts: + continue + territories = lang.get('territories') + keys = [] + if territories: + for territory in territories.split(' '): + keys.append('{0}_{1}'.format(type, territory)) + else: + keys.append(type) + + scripts = scripts.split(' ') + + # Resolve aliases of the ISO 15924 codes. + scripts = [ISO_ALIASES.get(script, [script]) for script in scripts] + scripts = [script for elements in scripts for script in elements] + + # Resolve ISO 15924 to Unicode mapping. + scripts = [aliases[script] for script in scripts + if script in aliases] + + # Resolve aliases of Unicode script names. + scripts = [UCD_ALIASES.get(script, [script]) for script in scripts] + scripts = [script for elements in scripts for script in elements] + + scripts = set(scripts) + + if len(scripts) == 0: + continue + for key in keys: + result[key] = scripts + temp = dict(DEFAULT_ALIASES) + temp.update(result) + return temp + +def get_aliases(infile): + result = {} + for line in infile: + if not line.startswith('sc'): + continue + (sc, iso, ucd, *comment) = re.split('\s*;\s*', line.strip()) + result[iso] = ucd + return result + +def build_header(data): + print('#define NLANGUAGES {0}'.format(len(data))) + print('''\ +struct LanguageScripts +{{ + const gchar *language; + const gchar *scripts[{0}]; +}};'''.format(max([len(v) for v in data.values()])+1)) + print('''\ +struct LanguageScripts language_scripts[NLANGUAGES] = + {''') + for index, (lang, scripts) in enumerate(sorted(data.items(), key=lambda x: x[0])): + print(' {{ "{0}", {{ {1} }} }}'.format(lang, ', '.join(['N_("{0}")'.format(script) for script in scripts] + ['NULL'])), end='') + if index + 1 < len(data): + print(',') + else: + print('') + print('};') + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser(description='build') + parser.add_argument('cldrinfile', type=argparse.FileType('r'), + help='CLDR input file') + parser.add_argument('ucdinfile', type=argparse.FileType('r'), + help='UCD input file') + args = parser.parse_args() + + # FIXME: argparse.FileType(encoding=...) is available since Python 3.4 + aliases = get_aliases(io.open(args.ucdinfile.name, encoding='utf_8_sig')) + data = get_language_data(args.cldrinfile, aliases) + build_header(data) diff --git a/lib/meson.build b/lib/meson.build new file mode 100644 index 0000000..e6c06ac --- /dev/null +++ b/lib/meson.build @@ -0,0 +1,45 @@ +gc_h = 'gc.h' + +sources = files('gc.c') + +enum_types = 'gc-enumtypes' + +gc_enums = gnome.mkenums( + enum_types, + sources: gc_h, + c_template: enum_types + '.c.template', + h_template: enum_types + '.h.template', + identifier_prefix: characters_ns, + symbol_prefix: characters_ns.to_lower() +) + +cflags = [ + '-DG_LOG_DOMAIN="libgc"', + '-DG_DISABLE_DEPRECATED', + '-DPREFIX="@0@"'.format(characters_prefix), + '-DLIBDIR="@0@"'.format(characters_libdir) +] + +libgc = shared_library( + characters_ns.to_lower(), + sources: sources + gc_enums, + include_directories: top_inc, + dependencies: libgc_deps, + c_args: cflags, + install: true, + install_dir: characters_pkglibdir +) + +gnome.generate_gir( + libgc, + sources: sources + [gc_enums[0], gc_h], + nsversion: characters_gir_version, + namespace: characters_ns, + identifier_prefix: characters_ns, + symbol_prefix: characters_ns.to_lower(), + header: gc_h, + includes: ['Gio-2.0', 'Gtk-3.0'], + install: true, + install_dir_gir: join_paths(characters_pkgdatadir, 'gir-' + characters_gir_version), + install_dir_typelib: join_paths(characters_pkglibdir, 'girepository-' + characters_gir_version) +) diff --git a/lib/scripts.h b/lib/scripts.h new file mode 100644 index 0000000..c33b34f --- /dev/null +++ b/lib/scripts.h @@ -0,0 +1,1109 @@ +#define NLANGUAGES 1100 +struct LanguageScripts +{ + const gchar *language; + const gchar *scripts[6]; +}; +struct LanguageScripts language_scripts[NLANGUAGES] = + { + { "aa", { N_("Latin"), NULL } }, + { "ab", { N_("Cyrillic"), NULL } }, + { "abq", { N_("Cyrillic"), NULL } }, + { "abr", { N_("Latin"), NULL } }, + { "ace", { N_("Latin"), NULL } }, + { "ach", { N_("Latin"), NULL } }, + { "ada", { N_("Latin"), NULL } }, + { "ady", { N_("Cyrillic"), NULL } }, + { "ae", { N_("Avestan"), NULL } }, + { "aeb", { N_("Arabic"), NULL } }, + { "af", { N_("Latin"), NULL } }, + { "agq", { N_("Latin"), NULL } }, + { "aii", { N_("Syriac"), NULL } }, + { "ain", { N_("Katakana"), N_("Latin"), NULL } }, + { "ak", { N_("Latin"), NULL } }, + { "akk", { N_("Cuneiform"), NULL } }, + { "akz", { N_("Latin"), NULL } }, + { "ale", { N_("Latin"), NULL } }, + { "aln", { N_("Latin"), NULL } }, + { "alt", { N_("Cyrillic"), NULL } }, + { "am_ET", { N_("Ethiopic"), NULL } }, + { "amo", { N_("Latin"), NULL } }, + { "an", { N_("Latin"), NULL } }, + { "ang", { N_("Latin"), NULL } }, + { "anp", { N_("Devanagari"), NULL } }, + { "aoz", { N_("Latin"), NULL } }, + { "ar_AE", { N_("Arabic"), NULL } }, + { "ar_BH", { N_("Arabic"), NULL } }, + { "ar_DJ", { N_("Arabic"), NULL } }, + { "ar_DZ", { N_("Arabic"), NULL } }, + { "ar_EG", { N_("Arabic"), NULL } }, + { "ar_EH", { N_("Arabic"), NULL } }, + { "ar_ER", { N_("Arabic"), NULL } }, + { "ar_IL", { N_("Arabic"), NULL } }, + { "ar_IQ", { N_("Arabic"), NULL } }, + { "ar_IR", { N_("Syriac"), NULL } }, + { "ar_JO", { N_("Arabic"), NULL } }, + { "ar_KM", { N_("Arabic"), NULL } }, + { "ar_KW", { N_("Arabic"), NULL } }, + { "ar_LB", { N_("Arabic"), NULL } }, + { "ar_LY", { N_("Arabic"), NULL } }, + { "ar_MA", { N_("Arabic"), NULL } }, + { "ar_MR", { N_("Arabic"), NULL } }, + { "ar_OM", { N_("Arabic"), NULL } }, + { "ar_PS", { N_("Arabic"), NULL } }, + { "ar_QA", { N_("Arabic"), NULL } }, + { "ar_SA", { N_("Arabic"), NULL } }, + { "ar_SD", { N_("Arabic"), NULL } }, + { "ar_SO", { N_("Arabic"), NULL } }, + { "ar_SS", { N_("Syriac"), NULL } }, + { "ar_SY", { N_("Arabic"), NULL } }, + { "ar_TD", { N_("Arabic"), NULL } }, + { "ar_TN", { N_("Arabic"), NULL } }, + { "ar_YE", { N_("Arabic"), NULL } }, + { "arc", { N_("Nabataean"), N_("Palmyrene"), N_("Imperial_Aramaic"), NULL } }, + { "arn", { N_("Latin"), NULL } }, + { "aro", { N_("Latin"), NULL } }, + { "arp", { N_("Latin"), NULL } }, + { "arq", { N_("Arabic"), NULL } }, + { "arw", { N_("Latin"), NULL } }, + { "ary", { N_("Arabic"), NULL } }, + { "arz", { N_("Arabic"), NULL } }, + { "as", { N_("Bengali"), NULL } }, + { "asa", { N_("Latin"), NULL } }, + { "ast", { N_("Latin"), NULL } }, + { "atj", { N_("Latin"), NULL } }, + { "av", { N_("Cyrillic"), NULL } }, + { "avk", { N_("Latin"), NULL } }, + { "awa", { N_("Devanagari"), NULL } }, + { "ay_BO", { N_("Latin"), NULL } }, + { "az_AZ", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "azb", { N_("Arabic"), NULL } }, + { "ba", { N_("Cyrillic"), NULL } }, + { "bal", { N_("Arabic"), NULL } }, + { "bal_AF", { N_("Latin"), NULL } }, + { "bal_IR", { N_("Latin"), NULL } }, + { "bal_PK", { N_("Latin"), NULL } }, + { "ban", { N_("Latin"), NULL } }, + { "ban_ID", { N_("Balinese"), NULL } }, + { "bap", { N_("Devanagari"), NULL } }, + { "bar", { N_("Latin"), NULL } }, + { "bas", { N_("Latin"), NULL } }, + { "bax", { N_("Bamum"), NULL } }, + { "bbc", { N_("Latin"), NULL } }, + { "bbc_ID", { N_("Batak"), NULL } }, + { "bbj", { N_("Latin"), NULL } }, + { "bci", { N_("Latin"), NULL } }, + { "be_BY", { N_("Cyrillic"), NULL } }, + { "bej", { N_("Arabic"), NULL } }, + { "bem", { N_("Latin"), NULL } }, + { "bew", { N_("Latin"), NULL } }, + { "bez", { N_("Latin"), NULL } }, + { "bfd", { N_("Latin"), NULL } }, + { "bfq", { N_("Tamil"), NULL } }, + { "bft", { N_("Tibetan"), NULL } }, + { "bfy", { N_("Devanagari"), NULL } }, + { "bg_BG", { N_("Cyrillic"), NULL } }, + { "bgc", { N_("Devanagari"), NULL } }, + { "bgn", { N_("Arabic"), NULL } }, + { "bgx", { N_("Greek"), NULL } }, + { "bhb", { N_("Devanagari"), NULL } }, + { "bhi", { N_("Devanagari"), NULL } }, + { "bhk", { N_("Latin"), NULL } }, + { "bho", { N_("Devanagari"), NULL } }, + { "bi_VU", { N_("Latin"), NULL } }, + { "bik", { N_("Latin"), NULL } }, + { "bin", { N_("Latin"), NULL } }, + { "bjj", { N_("Devanagari"), NULL } }, + { "bjn", { N_("Latin"), NULL } }, + { "bkm", { N_("Latin"), NULL } }, + { "bku", { N_("Buhid"), NULL } }, + { "bla", { N_("Latin"), NULL } }, + { "blt", { N_("Tai_Viet"), NULL } }, + { "bm", { N_("Nko"), N_("Latin"), NULL } }, + { "bmq", { N_("Latin"), NULL } }, + { "bn_BD", { N_("Bengali"), NULL } }, + { "bo", { N_("Tibetan"), NULL } }, + { "bpy", { N_("Bengali"), NULL } }, + { "bqi", { N_("Arabic"), NULL } }, + { "bqv", { N_("Latin"), NULL } }, + { "br", { N_("Latin"), NULL } }, + { "bra", { N_("Devanagari"), NULL } }, + { "brh", { N_("Arabic"), NULL } }, + { "brh_PK", { N_("Latin"), NULL } }, + { "brx", { N_("Devanagari"), NULL } }, + { "bs_BA", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "bss", { N_("Latin"), NULL } }, + { "bto", { N_("Latin"), NULL } }, + { "btv", { N_("Devanagari"), NULL } }, + { "bua", { N_("Cyrillic"), NULL } }, + { "buc", { N_("Latin"), NULL } }, + { "bug", { N_("Latin"), NULL } }, + { "bug_ID", { N_("Buginese"), NULL } }, + { "bum", { N_("Latin"), NULL } }, + { "bvb", { N_("Latin"), NULL } }, + { "byn", { N_("Ethiopic"), NULL } }, + { "byv", { N_("Latin"), NULL } }, + { "bze", { N_("Latin"), NULL } }, + { "bzx", { N_("Latin"), NULL } }, + { "ca_AD", { N_("Latin"), NULL } }, + { "cad", { N_("Latin"), NULL } }, + { "car", { N_("Latin"), NULL } }, + { "cay", { N_("Latin"), NULL } }, + { "cch", { N_("Latin"), NULL } }, + { "ccp", { N_("Chakma"), NULL } }, + { "ce", { N_("Cyrillic"), NULL } }, + { "ceb", { N_("Latin"), NULL } }, + { "cgg", { N_("Latin"), NULL } }, + { "ch_GU", { N_("Latin"), NULL } }, + { "chk", { N_("Latin"), NULL } }, + { "chm", { N_("Cyrillic"), NULL } }, + { "chn", { N_("Latin"), NULL } }, + { "cho", { N_("Latin"), NULL } }, + { "chp", { N_("Canadian_Aboriginal"), NULL } }, + { "chr", { N_("Cherokee"), NULL } }, + { "chy", { N_("Latin"), NULL } }, + { "cja", { N_("Cham"), NULL } }, + { "cjm", { N_("Arabic"), NULL } }, + { "cjs", { N_("Cyrillic"), NULL } }, + { "ckb", { N_("Arabic"), NULL } }, + { "ckt", { N_("Cyrillic"), NULL } }, + { "co", { N_("Latin"), NULL } }, + { "cop", { N_("Greek"), N_("Arabic"), N_("Coptic"), NULL } }, + { "cps", { N_("Latin"), NULL } }, + { "cr", { N_("Canadian_Aboriginal"), N_("Latin"), NULL } }, + { "crh", { N_("Cyrillic"), NULL } }, + { "crj", { N_("Latin"), NULL } }, + { "crk", { N_("Canadian_Aboriginal"), NULL } }, + { "crl", { N_("Latin"), NULL } }, + { "crm", { N_("Canadian_Aboriginal"), NULL } }, + { "crs", { N_("Latin"), NULL } }, + { "cs_CZ", { N_("Latin"), NULL } }, + { "csb_PL", { N_("Latin"), NULL } }, + { "csw", { N_("Canadian_Aboriginal"), NULL } }, + { "ctd", { N_("Latin"), NULL } }, + { "cu", { N_("Cyrillic"), NULL } }, + { "cv", { N_("Cyrillic"), NULL } }, + { "cy", { N_("Latin"), NULL } }, + { "da_DK", { N_("Latin"), NULL } }, + { "dak", { N_("Latin"), NULL } }, + { "dar", { N_("Cyrillic"), NULL } }, + { "dav", { N_("Latin"), NULL } }, + { "dcc", { N_("Arabic"), NULL } }, + { "de_AT", { N_("Latin"), NULL } }, + { "de_BE", { N_("Latin"), NULL } }, + { "de_BR", { N_("Runic"), NULL } }, + { "de_CH", { N_("Latin"), NULL } }, + { "de_DE", { N_("Latin"), NULL } }, + { "de_DK", { N_("Runic"), NULL } }, + { "de_KZ", { N_("Runic"), NULL } }, + { "de_LI", { N_("Latin"), NULL } }, + { "de_LU", { N_("Latin"), NULL } }, + { "de_PL", { N_("Runic"), NULL } }, + { "de_US", { N_("Runic"), NULL } }, + { "del", { N_("Latin"), NULL } }, + { "den", { N_("Canadian_Aboriginal"), NULL } }, + { "dgr", { N_("Latin"), NULL } }, + { "din", { N_("Latin"), NULL } }, + { "dje", { N_("Latin"), NULL } }, + { "dng", { N_("Cyrillic"), NULL } }, + { "dnj", { N_("Latin"), NULL } }, + { "doi", { N_("Arabic"), NULL } }, + { "doi_IN", { N_("Takri"), NULL } }, + { "dsb", { N_("Latin"), NULL } }, + { "dtm", { N_("Latin"), NULL } }, + { "dtp", { N_("Latin"), NULL } }, + { "dua", { N_("Latin"), NULL } }, + { "dum", { N_("Latin"), NULL } }, + { "dv_MV", { N_("Thaana"), NULL } }, + { "dyo", { N_("Arabic"), NULL } }, + { "dyu", { N_("Latin"), NULL } }, + { "dz_BT", { N_("Tibetan"), NULL } }, + { "ebu", { N_("Latin"), NULL } }, + { "ee", { N_("Latin"), NULL } }, + { "efi", { N_("Latin"), NULL } }, + { "egl", { N_("Latin"), NULL } }, + { "egy", { N_("Egyptian_Hieroglyphs"), NULL } }, + { "eka", { N_("Latin"), NULL } }, + { "eky", { N_("Kayah_Li"), NULL } }, + { "el_CY", { N_("Greek"), NULL } }, + { "el_GR", { N_("Greek"), NULL } }, + { "en", { N_("Latin"), NULL } }, + { "en_AC", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_AG", { N_("Latin"), NULL } }, + { "en_AI", { N_("Latin"), NULL } }, + { "en_AR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_AS", { N_("Latin"), NULL } }, + { "en_AT", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_AU", { N_("Latin"), NULL } }, + { "en_BA", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_BB", { N_("Latin"), NULL } }, + { "en_BD", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_BE", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_BG", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_BM", { N_("Latin"), NULL } }, + { "en_BR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_BS", { N_("Latin"), NULL } }, + { "en_BW", { N_("Latin"), NULL } }, + { "en_BZ", { N_("Latin"), NULL } }, + { "en_CA", { N_("Latin"), NULL } }, + { "en_CC", { N_("Latin"), NULL } }, + { "en_CH", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_CK", { N_("Latin"), NULL } }, + { "en_CL", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_CM", { N_("Latin"), NULL } }, + { "en_CX", { N_("Latin"), NULL } }, + { "en_CY", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_CZ", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_DE", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_DG", { N_("Latin"), NULL } }, + { "en_DK", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_DM", { N_("Latin"), NULL } }, + { "en_DZ", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_EG", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_ER", { N_("Latin"), NULL } }, + { "en_ES", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_ET", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_FI", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_FJ", { N_("Latin"), NULL } }, + { "en_FK", { N_("Latin"), NULL } }, + { "en_FM", { N_("Latin"), NULL } }, + { "en_FR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_GB", { N_("Latin"), NULL } }, + { "en_GD", { N_("Latin"), NULL } }, + { "en_GG", { N_("Latin"), NULL } }, + { "en_GH", { N_("Latin"), NULL } }, + { "en_GI", { N_("Latin"), NULL } }, + { "en_GM", { N_("Latin"), NULL } }, + { "en_GR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_GU", { N_("Latin"), NULL } }, + { "en_GY", { N_("Latin"), NULL } }, + { "en_HK", { N_("Latin"), NULL } }, + { "en_HR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_HU", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_IE", { N_("Latin"), NULL } }, + { "en_IL", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_IM", { N_("Latin"), NULL } }, + { "en_IN", { N_("Latin"), NULL } }, + { "en_IO", { N_("Latin"), NULL } }, + { "en_IQ", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_IT", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_JE", { N_("Latin"), NULL } }, + { "en_JM", { N_("Latin"), NULL } }, + { "en_JO", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_KE", { N_("Latin"), NULL } }, + { "en_KI", { N_("Latin"), NULL } }, + { "en_KN", { N_("Latin"), NULL } }, + { "en_KY", { N_("Latin"), NULL } }, + { "en_KZ", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_LB", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_LC", { N_("Latin"), NULL } }, + { "en_LK", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_LR", { N_("Latin"), NULL } }, + { "en_LS", { N_("Latin"), NULL } }, + { "en_LT", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_MA", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_MG", { N_("Latin"), NULL } }, + { "en_MH", { N_("Latin"), NULL } }, + { "en_MP", { N_("Latin"), NULL } }, + { "en_MS", { N_("Latin"), NULL } }, + { "en_MT", { N_("Latin"), NULL } }, + { "en_MU", { N_("Latin"), NULL } }, + { "en_MW", { N_("Latin"), NULL } }, + { "en_MX", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_MY", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_NA", { N_("Latin"), NULL } }, + { "en_NF", { N_("Latin"), NULL } }, + { "en_NG", { N_("Latin"), NULL } }, + { "en_NL", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_NR", { N_("Latin"), NULL } }, + { "en_NU", { N_("Latin"), NULL } }, + { "en_NZ", { N_("Latin"), NULL } }, + { "en_PG", { N_("Latin"), NULL } }, + { "en_PH", { N_("Latin"), NULL } }, + { "en_PK", { N_("Latin"), NULL } }, + { "en_PL", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_PN", { N_("Latin"), NULL } }, + { "en_PR", { N_("Latin"), NULL } }, + { "en_PT", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_PW", { N_("Latin"), NULL } }, + { "en_RO", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_RW", { N_("Latin"), NULL } }, + { "en_SB", { N_("Latin"), NULL } }, + { "en_SC", { N_("Latin"), NULL } }, + { "en_SD", { N_("Latin"), NULL } }, + { "en_SE", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_SG", { N_("Latin"), NULL } }, + { "en_SH", { N_("Latin"), NULL } }, + { "en_SI", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_SK", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_SL", { N_("Latin"), NULL } }, + { "en_SS", { N_("Latin"), NULL } }, + { "en_SX", { N_("Latin"), NULL } }, + { "en_SZ", { N_("Latin"), NULL } }, + { "en_TA", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_TC", { N_("Latin"), NULL } }, + { "en_TH", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_TK", { N_("Latin"), NULL } }, + { "en_TO", { N_("Latin"), NULL } }, + { "en_TR", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_TT", { N_("Latin"), NULL } }, + { "en_TV", { N_("Latin"), NULL } }, + { "en_TZ", { N_("Latin"), NULL } }, + { "en_UG", { N_("Latin"), NULL } }, + { "en_UM", { N_("Latin"), NULL } }, + { "en_US", { N_("Latin"), NULL } }, + { "en_VC", { N_("Latin"), NULL } }, + { "en_VG", { N_("Latin"), NULL } }, + { "en_VI", { N_("Latin"), NULL } }, + { "en_VU", { N_("Latin"), NULL } }, + { "en_WS", { N_("Latin"), NULL } }, + { "en_YE", { N_("Shavian"), N_("Deseret"), NULL } }, + { "en_ZA", { N_("Latin"), NULL } }, + { "en_ZM", { N_("Latin"), NULL } }, + { "en_ZW", { N_("Latin"), NULL } }, + { "enm", { N_("Latin"), NULL } }, + { "eo", { N_("Latin"), NULL } }, + { "es_AR", { N_("Latin"), NULL } }, + { "es_BO", { N_("Latin"), NULL } }, + { "es_CL", { N_("Latin"), NULL } }, + { "es_CO", { N_("Latin"), NULL } }, + { "es_CR", { N_("Latin"), NULL } }, + { "es_CU", { N_("Latin"), NULL } }, + { "es_DO", { N_("Latin"), NULL } }, + { "es_EA", { N_("Latin"), NULL } }, + { "es_EC", { N_("Latin"), NULL } }, + { "es_ES", { N_("Latin"), NULL } }, + { "es_GQ", { N_("Latin"), NULL } }, + { "es_GT", { N_("Latin"), NULL } }, + { "es_HN", { N_("Latin"), NULL } }, + { "es_IC", { N_("Latin"), NULL } }, + { "es_MX", { N_("Latin"), NULL } }, + { "es_NI", { N_("Latin"), NULL } }, + { "es_PA", { N_("Latin"), NULL } }, + { "es_PE", { N_("Latin"), NULL } }, + { "es_PR", { N_("Latin"), NULL } }, + { "es_PY", { N_("Latin"), NULL } }, + { "es_SV", { N_("Latin"), NULL } }, + { "es_UY", { N_("Latin"), NULL } }, + { "es_VE", { N_("Latin"), NULL } }, + { "esu", { N_("Latin"), NULL } }, + { "et_EE", { N_("Latin"), NULL } }, + { "ett", { N_("Old_Italic"), N_("Latin"), NULL } }, + { "eu", { N_("Latin"), NULL } }, + { "evn", { N_("Cyrillic"), NULL } }, + { "ewo", { N_("Latin"), NULL } }, + { "ext", { N_("Latin"), NULL } }, + { "fa_AF", { N_("Arabic"), NULL } }, + { "fa_IR", { N_("Arabic"), NULL } }, + { "fan", { N_("Latin"), NULL } }, + { "ff", { N_("Latin"), NULL } }, + { "ffm", { N_("Latin"), NULL } }, + { "fi_FI", { N_("Latin"), NULL } }, + { "fil_PH", { N_("Latin"), NULL } }, + { "fil_US", { N_("Tagalog"), NULL } }, + { "fit", { N_("Latin"), NULL } }, + { "fj_FJ", { N_("Latin"), NULL } }, + { "fo_FO", { N_("Latin"), NULL } }, + { "fon", { N_("Latin"), NULL } }, + { "fr_BE", { N_("Latin"), NULL } }, + { "fr_BF", { N_("Latin"), NULL } }, + { "fr_BI", { N_("Latin"), NULL } }, + { "fr_BJ", { N_("Latin"), NULL } }, + { "fr_BL", { N_("Latin"), NULL } }, + { "fr_CA", { N_("Latin"), NULL } }, + { "fr_CD", { N_("Latin"), NULL } }, + { "fr_CF", { N_("Latin"), NULL } }, + { "fr_CG", { N_("Latin"), NULL } }, + { "fr_CH", { N_("Latin"), NULL } }, + { "fr_CI", { N_("Latin"), NULL } }, + { "fr_CM", { N_("Latin"), NULL } }, + { "fr_DE", { N_("Duployan"), NULL } }, + { "fr_DJ", { N_("Latin"), NULL } }, + { "fr_DZ", { N_("Latin"), NULL } }, + { "fr_FR", { N_("Latin"), NULL } }, + { "fr_GA", { N_("Latin"), NULL } }, + { "fr_GF", { N_("Latin"), NULL } }, + { "fr_GN", { N_("Latin"), NULL } }, + { "fr_GP", { N_("Latin"), NULL } }, + { "fr_GQ", { N_("Latin"), NULL } }, + { "fr_HT", { N_("Latin"), NULL } }, + { "fr_IT", { N_("Duployan"), NULL } }, + { "fr_KM", { N_("Latin"), NULL } }, + { "fr_LU", { N_("Latin"), NULL } }, + { "fr_MA", { N_("Latin"), NULL } }, + { "fr_MC", { N_("Latin"), NULL } }, + { "fr_MF", { N_("Latin"), NULL } }, + { "fr_MG", { N_("Latin"), NULL } }, + { "fr_ML", { N_("Latin"), NULL } }, + { "fr_MQ", { N_("Latin"), NULL } }, + { "fr_MU", { N_("Latin"), NULL } }, + { "fr_NC", { N_("Latin"), NULL } }, + { "fr_NE", { N_("Latin"), NULL } }, + { "fr_PF", { N_("Latin"), NULL } }, + { "fr_PM", { N_("Latin"), NULL } }, + { "fr_RE", { N_("Latin"), NULL } }, + { "fr_RW", { N_("Latin"), NULL } }, + { "fr_SC", { N_("Latin"), NULL } }, + { "fr_SN", { N_("Latin"), NULL } }, + { "fr_SY", { N_("Latin"), NULL } }, + { "fr_TD", { N_("Latin"), NULL } }, + { "fr_TF", { N_("Duployan"), NULL } }, + { "fr_TG", { N_("Latin"), NULL } }, + { "fr_TN", { N_("Latin"), NULL } }, + { "fr_US", { N_("Duployan"), NULL } }, + { "fr_VU", { N_("Latin"), NULL } }, + { "fr_WF", { N_("Latin"), NULL } }, + { "fr_YT", { N_("Latin"), NULL } }, + { "frc", { N_("Latin"), NULL } }, + { "frm", { N_("Latin"), NULL } }, + { "fro", { N_("Latin"), NULL } }, + { "frp", { N_("Latin"), NULL } }, + { "frr", { N_("Latin"), NULL } }, + { "frs", { N_("Latin"), NULL } }, + { "fud", { N_("Latin"), NULL } }, + { "fuq", { N_("Latin"), NULL } }, + { "fur", { N_("Latin"), NULL } }, + { "fuv", { N_("Latin"), NULL } }, + { "fy", { N_("Latin"), NULL } }, + { "ga_IE", { N_("Latin"), NULL } }, + { "gaa", { N_("Latin"), NULL } }, + { "gag", { N_("Cyrillic"), NULL } }, + { "gan", { N_("Han"), NULL } }, + { "gay", { N_("Latin"), NULL } }, + { "gba", { N_("Arabic"), NULL } }, + { "gbm", { N_("Devanagari"), NULL } }, + { "gbz", { N_("Arabic"), NULL } }, + { "gcr", { N_("Latin"), NULL } }, + { "gd", { N_("Latin"), NULL } }, + { "gez", { N_("Ethiopic"), NULL } }, + { "ggn", { N_("Latin"), NULL } }, + { "gil_KI", { N_("Latin"), NULL } }, + { "gjk", { N_("Arabic"), NULL } }, + { "gju", { N_("Arabic"), NULL } }, + { "gl", { N_("Latin"), NULL } }, + { "gld", { N_("Cyrillic"), NULL } }, + { "glk", { N_("Arabic"), NULL } }, + { "gmh", { N_("Latin"), NULL } }, + { "gn_PY", { N_("Latin"), NULL } }, + { "goh", { N_("Latin"), NULL } }, + { "gom", { N_("Devanagari"), NULL } }, + { "gon", { N_("Devanagari"), N_("Telugu"), NULL } }, + { "gor", { N_("Latin"), NULL } }, + { "gos", { N_("Latin"), NULL } }, + { "got", { N_("Gothic"), NULL } }, + { "grb", { N_("Latin"), NULL } }, + { "grc", { N_("Linear_B"), N_("Greek"), N_("Cypriot"), NULL } }, + { "grt", { N_("Bengali"), NULL } }, + { "gsw_CH", { N_("Latin"), NULL } }, + { "gsw_LI", { N_("Latin"), NULL } }, + { "gu", { N_("Gujarati"), NULL } }, + { "gub", { N_("Latin"), NULL } }, + { "guc", { N_("Latin"), NULL } }, + { "gur", { N_("Latin"), NULL } }, + { "guz", { N_("Latin"), NULL } }, + { "gv_IM", { N_("Latin"), NULL } }, + { "gvr", { N_("Devanagari"), NULL } }, + { "gwi", { N_("Latin"), NULL } }, + { "ha", { N_("Arabic"), N_("Latin"), NULL } }, + { "hai", { N_("Latin"), NULL } }, + { "hak", { N_("Han"), NULL } }, + { "haw", { N_("Latin"), NULL } }, + { "haz", { N_("Arabic"), NULL } }, + { "he_IL", { N_("Hebrew"), NULL } }, + { "hi_FJ", { N_("Mahajani"), NULL } }, + { "hi_IN", { N_("Devanagari"), NULL } }, + { "hif_FJ", { N_("Devanagari"), N_("Latin"), NULL } }, + { "hil", { N_("Latin"), NULL } }, + { "hit", { N_("Cuneiform"), NULL } }, + { "hmd", { N_("Miao"), NULL } }, + { "hmn", { N_("Pahawh_Hmong"), NULL } }, + { "hnd", { N_("Arabic"), NULL } }, + { "hne", { N_("Devanagari"), NULL } }, + { "hnj", { N_("Lao"), NULL } }, + { "hnn", { N_("Hanunoo"), NULL } }, + { "hno", { N_("Arabic"), NULL } }, + { "ho_PG", { N_("Latin"), NULL } }, + { "hoc", { N_("Devanagari"), NULL } }, + { "hoc_IN", { N_("Warang_Citi"), NULL } }, + { "hoj", { N_("Devanagari"), NULL } }, + { "hop", { N_("Latin"), NULL } }, + { "hr_BA", { N_("Latin"), NULL } }, + { "hr_HR", { N_("Latin"), NULL } }, + { "hsb", { N_("Latin"), NULL } }, + { "hsn", { N_("Han"), NULL } }, + { "ht_HT", { N_("Latin"), NULL } }, + { "hu_HU", { N_("Latin"), NULL } }, + { "hup", { N_("Latin"), NULL } }, + { "hy_AM", { N_("Armenian"), NULL } }, + { "hz", { N_("Latin"), NULL } }, + { "ia", { N_("Latin"), NULL } }, + { "iba", { N_("Latin"), NULL } }, + { "ibb", { N_("Latin"), NULL } }, + { "id", { N_("Arabic"), NULL } }, + { "id_ID", { N_("Latin"), NULL } }, + { "ig", { N_("Latin"), NULL } }, + { "ii", { N_("Yi"), NULL } }, + { "ii_CN", { N_("Latin"), NULL } }, + { "ik", { N_("Latin"), NULL } }, + { "ikt", { N_("Latin"), NULL } }, + { "ilo", { N_("Latin"), NULL } }, + { "inh", { N_("Cyrillic"), NULL } }, + { "inh_RU", { N_("Arabic"), N_("Latin"), NULL } }, + { "is_IS", { N_("Latin"), NULL } }, + { "it_CH", { N_("Latin"), NULL } }, + { "it_IT", { N_("Latin"), NULL } }, + { "it_SM", { N_("Latin"), NULL } }, + { "iu", { N_("Canadian_Aboriginal"), N_("Latin"), NULL } }, + { "izh", { N_("Latin"), NULL } }, + { "ja_JP", { N_("Katakana"), N_("Hiragana"), NULL } }, + { "jam", { N_("Latin"), NULL } }, + { "jgo", { N_("Latin"), NULL } }, + { "jmc", { N_("Latin"), NULL } }, + { "jml", { N_("Devanagari"), NULL } }, + { "jpr", { N_("Hebrew"), NULL } }, + { "jrb", { N_("Hebrew"), NULL } }, + { "jut", { N_("Latin"), NULL } }, + { "jv", { N_("Latin"), NULL } }, + { "jv_ID", { N_("Javanese"), NULL } }, + { "ka_GE", { N_("Georgian"), NULL } }, + { "kaa", { N_("Cyrillic"), NULL } }, + { "kab", { N_("Latin"), NULL } }, + { "kac", { N_("Latin"), NULL } }, + { "kaj", { N_("Latin"), NULL } }, + { "kam", { N_("Latin"), NULL } }, + { "kao", { N_("Latin"), NULL } }, + { "kbd", { N_("Cyrillic"), NULL } }, + { "kca", { N_("Cyrillic"), NULL } }, + { "kcg", { N_("Latin"), NULL } }, + { "kck", { N_("Latin"), NULL } }, + { "kde", { N_("Latin"), NULL } }, + { "kdt", { N_("Thai"), NULL } }, + { "kea", { N_("Latin"), NULL } }, + { "kfo", { N_("Latin"), NULL } }, + { "kfr", { N_("Devanagari"), NULL } }, + { "kfy", { N_("Devanagari"), NULL } }, + { "kg", { N_("Latin"), NULL } }, + { "kge", { N_("Latin"), NULL } }, + { "kgp", { N_("Latin"), NULL } }, + { "kha", { N_("Latin"), NULL } }, + { "kha_IN", { N_("Bengali"), NULL } }, + { "khb", { N_("New_Tai_Lue"), NULL } }, + { "khn", { N_("Devanagari"), NULL } }, + { "khq", { N_("Latin"), NULL } }, + { "kht", { N_("Myanmar"), NULL } }, + { "khw", { N_("Arabic"), NULL } }, + { "ki", { N_("Latin"), NULL } }, + { "kiu", { N_("Latin"), NULL } }, + { "kj", { N_("Latin"), NULL } }, + { "kjg", { N_("Latin"), NULL } }, + { "kjh", { N_("Cyrillic"), NULL } }, + { "kk_KZ", { N_("Arabic"), N_("Cyrillic"), NULL } }, + { "kkj", { N_("Latin"), NULL } }, + { "kl_GL", { N_("Latin"), NULL } }, + { "kln", { N_("Latin"), NULL } }, + { "km_KH", { N_("Khmer"), NULL } }, + { "kmb", { N_("Latin"), NULL } }, + { "kn", { N_("Kannada"), NULL } }, + { "ko_KP", { N_("Hangul"), NULL } }, + { "ko_KR", { N_("Hangul"), NULL } }, + { "koi", { N_("Cyrillic"), NULL } }, + { "kok", { N_("Devanagari"), NULL } }, + { "kos", { N_("Latin"), NULL } }, + { "kpe", { N_("Latin"), NULL } }, + { "kpy", { N_("Cyrillic"), NULL } }, + { "kr", { N_("Latin"), NULL } }, + { "krc", { N_("Cyrillic"), NULL } }, + { "kri", { N_("Latin"), NULL } }, + { "krj", { N_("Latin"), NULL } }, + { "krl", { N_("Latin"), NULL } }, + { "kru", { N_("Devanagari"), NULL } }, + { "ks", { N_("Devanagari"), N_("Arabic"), NULL } }, + { "ksb", { N_("Latin"), NULL } }, + { "ksf", { N_("Latin"), NULL } }, + { "ksh", { N_("Latin"), NULL } }, + { "ku", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "kum", { N_("Cyrillic"), NULL } }, + { "kut", { N_("Latin"), NULL } }, + { "kv", { N_("Cyrillic"), NULL } }, + { "kv_RU", { N_("Old_Permic"), NULL } }, + { "kvr", { N_("Latin"), NULL } }, + { "kvx", { N_("Arabic"), NULL } }, + { "kw", { N_("Latin"), NULL } }, + { "kxm", { N_("Thai"), NULL } }, + { "kxp", { N_("Arabic"), NULL } }, + { "ky_KG", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "kyu", { N_("Kayah_Li"), NULL } }, + { "la_VA", { N_("Latin"), NULL } }, + { "lab", { N_("Linear_A"), NULL } }, + { "lad", { N_("Hebrew"), NULL } }, + { "lag", { N_("Latin"), NULL } }, + { "lah", { N_("Arabic"), NULL } }, + { "laj", { N_("Latin"), NULL } }, + { "lam", { N_("Latin"), NULL } }, + { "lb_LU", { N_("Latin"), NULL } }, + { "lbe", { N_("Cyrillic"), NULL } }, + { "lbw", { N_("Latin"), NULL } }, + { "lcp", { N_("Thai"), NULL } }, + { "lep", { N_("Lepcha"), NULL } }, + { "lez", { N_("Cyrillic"), NULL } }, + { "lez_RU", { N_("Caucasian_Albanian"), NULL } }, + { "lfn", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "lg", { N_("Latin"), NULL } }, + { "li", { N_("Latin"), NULL } }, + { "lif", { N_("Devanagari"), N_("Limbu"), NULL } }, + { "lij", { N_("Latin"), NULL } }, + { "lis", { N_("Lisu"), NULL } }, + { "liv", { N_("Latin"), NULL } }, + { "ljp", { N_("Latin"), NULL } }, + { "lki", { N_("Arabic"), NULL } }, + { "lkt", { N_("Latin"), NULL } }, + { "lmn", { N_("Telugu"), NULL } }, + { "lmo", { N_("Latin"), NULL } }, + { "ln", { N_("Latin"), NULL } }, + { "lo_LA", { N_("Lao"), NULL } }, + { "lol", { N_("Latin"), NULL } }, + { "loz", { N_("Latin"), NULL } }, + { "lrc", { N_("Arabic"), NULL } }, + { "lt_LT", { N_("Latin"), NULL } }, + { "ltg", { N_("Latin"), NULL } }, + { "lu", { N_("Latin"), NULL } }, + { "lua", { N_("Latin"), NULL } }, + { "lui", { N_("Latin"), NULL } }, + { "lun", { N_("Latin"), NULL } }, + { "luo", { N_("Latin"), NULL } }, + { "lus", { N_("Bengali"), NULL } }, + { "lut", { N_("Latin"), NULL } }, + { "luy", { N_("Latin"), NULL } }, + { "luz", { N_("Arabic"), NULL } }, + { "lv_LV", { N_("Latin"), NULL } }, + { "lwl", { N_("Thai"), NULL } }, + { "lzh", { N_("Han"), NULL } }, + { "lzz", { N_("Georgian"), N_("Latin"), NULL } }, + { "mad", { N_("Latin"), NULL } }, + { "maf", { N_("Latin"), NULL } }, + { "mag", { N_("Devanagari"), NULL } }, + { "mai", { N_("Devanagari"), NULL } }, + { "mai_IN", { N_("Tirhuta"), NULL } }, + { "mai_NP", { N_("Tirhuta"), NULL } }, + { "mak", { N_("Latin"), NULL } }, + { "mak_ID", { N_("Buginese"), NULL } }, + { "man", { N_("Nko"), N_("Latin"), NULL } }, + { "mas", { N_("Latin"), NULL } }, + { "maz", { N_("Latin"), NULL } }, + { "mdf", { N_("Cyrillic"), NULL } }, + { "mdh", { N_("Latin"), NULL } }, + { "mdr", { N_("Buginese"), NULL } }, + { "mdt", { N_("Latin"), NULL } }, + { "men", { N_("Latin"), NULL } }, + { "men_SL", { N_("Mende_Kikakui"), NULL } }, + { "mer", { N_("Latin"), NULL } }, + { "mfa", { N_("Arabic"), NULL } }, + { "mfe", { N_("Latin"), NULL } }, + { "mg_MG", { N_("Latin"), NULL } }, + { "mgh", { N_("Latin"), NULL } }, + { "mgo", { N_("Latin"), NULL } }, + { "mgp", { N_("Devanagari"), NULL } }, + { "mgy", { N_("Latin"), NULL } }, + { "mh_MH", { N_("Latin"), NULL } }, + { "mi_NZ", { N_("Latin"), NULL } }, + { "mic", { N_("Latin"), NULL } }, + { "min", { N_("Latin"), NULL } }, + { "mk_MK", { N_("Cyrillic"), NULL } }, + { "ml", { N_("Malayalam"), NULL } }, + { "mn_CN", { N_("Phags_Pa"), NULL } }, + { "mn_MN", { N_("Cyrillic"), N_("Mongolian"), NULL } }, + { "mnc", { N_("Mongolian"), NULL } }, + { "mni", { N_("Bengali"), NULL } }, + { "mni_IN", { N_("Meetei_Mayek"), NULL } }, + { "mns", { N_("Cyrillic"), NULL } }, + { "mnw", { N_("Myanmar"), NULL } }, + { "moe", { N_("Latin"), NULL } }, + { "moh", { N_("Latin"), NULL } }, + { "mos", { N_("Latin"), NULL } }, + { "mr", { N_("Devanagari"), NULL } }, + { "mr_IN", { N_("Modi"), NULL } }, + { "mrd", { N_("Devanagari"), NULL } }, + { "mrj", { N_("Cyrillic"), NULL } }, + { "mro", { N_("Mro"), NULL } }, + { "ms_BN", { N_("Arabic"), N_("Latin"), NULL } }, + { "ms_MY", { N_("Arabic"), N_("Latin"), NULL } }, + { "ms_SG", { N_("Arabic"), N_("Latin"), NULL } }, + { "mt_MT", { N_("Latin"), NULL } }, + { "mtr", { N_("Devanagari"), NULL } }, + { "mua", { N_("Latin"), NULL } }, + { "mus", { N_("Latin"), NULL } }, + { "mvy", { N_("Arabic"), NULL } }, + { "mwk", { N_("Latin"), NULL } }, + { "mwl", { N_("Latin"), NULL } }, + { "mwr", { N_("Devanagari"), NULL } }, + { "mwv", { N_("Latin"), NULL } }, + { "mxc", { N_("Latin"), NULL } }, + { "my_MM", { N_("Myanmar"), NULL } }, + { "myv", { N_("Cyrillic"), NULL } }, + { "myx", { N_("Latin"), NULL } }, + { "myz", { N_("Mandaic"), NULL } }, + { "mzn", { N_("Arabic"), NULL } }, + { "na_NR", { N_("Latin"), NULL } }, + { "nan", { N_("Han"), NULL } }, + { "nap", { N_("Latin"), NULL } }, + { "naq", { N_("Latin"), NULL } }, + { "nb_NO", { N_("Latin"), NULL } }, + { "nb_SJ", { N_("Latin"), NULL } }, + { "nch", { N_("Latin"), NULL } }, + { "nd_ZW", { N_("Latin"), NULL } }, + { "ndc", { N_("Latin"), NULL } }, + { "nds", { N_("Latin"), NULL } }, + { "ne_NP", { N_("Devanagari"), NULL } }, + { "new", { N_("Devanagari"), NULL } }, + { "ng", { N_("Latin"), NULL } }, + { "ngl", { N_("Latin"), NULL } }, + { "nhe", { N_("Latin"), NULL } }, + { "nhw", { N_("Latin"), NULL } }, + { "nia", { N_("Latin"), NULL } }, + { "nij", { N_("Latin"), NULL } }, + { "niu_NU", { N_("Latin"), NULL } }, + { "njo", { N_("Latin"), NULL } }, + { "nl_AW", { N_("Latin"), NULL } }, + { "nl_BE", { N_("Latin"), NULL } }, + { "nl_BQ", { N_("Latin"), NULL } }, + { "nl_CW", { N_("Latin"), NULL } }, + { "nl_NL", { N_("Latin"), NULL } }, + { "nl_SR", { N_("Latin"), NULL } }, + { "nl_SX", { N_("Latin"), NULL } }, + { "nmg", { N_("Latin"), NULL } }, + { "nn_NO", { N_("Latin"), NULL } }, + { "nnh", { N_("Latin"), NULL } }, + { "nod", { N_("Tai_Tham"), NULL } }, + { "noe", { N_("Devanagari"), NULL } }, + { "nog", { N_("Cyrillic"), NULL } }, + { "non", { N_("Runic"), NULL } }, + { "nov", { N_("Latin"), NULL } }, + { "nqo", { N_("Nko"), NULL } }, + { "nr", { N_("Latin"), NULL } }, + { "nsk", { N_("Latin"), NULL } }, + { "nso", { N_("Latin"), NULL } }, + { "nus", { N_("Latin"), NULL } }, + { "nv", { N_("Latin"), NULL } }, + { "nxq", { N_("Latin"), NULL } }, + { "ny_MW", { N_("Latin"), NULL } }, + { "nym", { N_("Latin"), NULL } }, + { "nyn", { N_("Latin"), NULL } }, + { "nyo", { N_("Latin"), NULL } }, + { "nzi", { N_("Latin"), NULL } }, + { "oc", { N_("Latin"), NULL } }, + { "oj", { N_("Latin"), NULL } }, + { "om", { N_("Latin"), NULL } }, + { "om_ET", { N_("Ethiopic"), NULL } }, + { "or", { N_("Oriya"), NULL } }, + { "os", { N_("Cyrillic"), NULL } }, + { "osa", { N_("Latin"), NULL } }, + { "osc", { N_("Old_Italic"), N_("Latin"), NULL } }, + { "otk", { N_("Old_Turkic"), NULL } }, + { "pa", { N_("Gurmukhi"), N_("Arabic"), NULL } }, + { "pag", { N_("Latin"), NULL } }, + { "pal", { N_("Inscriptional_Pahlavi"), N_("Psalter_Pahlavi"), NULL } }, + { "pam", { N_("Latin"), NULL } }, + { "pap_AW", { N_("Latin"), NULL } }, + { "pap_CW", { N_("Latin"), NULL } }, + { "pau_PW", { N_("Latin"), NULL } }, + { "pcd", { N_("Latin"), NULL } }, + { "pcm", { N_("Latin"), NULL } }, + { "pdc", { N_("Latin"), NULL } }, + { "pdt", { N_("Latin"), NULL } }, + { "peo", { N_("Old_Persian"), NULL } }, + { "pfl", { N_("Latin"), NULL } }, + { "phn", { N_("Phoenician"), NULL } }, + { "pi", { N_("Devanagari"), N_("Sinhala"), N_("Thai"), NULL } }, + { "pko", { N_("Latin"), NULL } }, + { "pl_PL", { N_("Latin"), NULL } }, + { "pms", { N_("Latin"), NULL } }, + { "pnt", { N_("Greek"), N_("Cyrillic"), N_("Latin"), NULL } }, + { "pon", { N_("Latin"), NULL } }, + { "prd", { N_("Arabic"), NULL } }, + { "prg", { N_("Latin"), NULL } }, + { "pro", { N_("Latin"), NULL } }, + { "prs", { N_("Arabic"), NULL } }, + { "ps_AF", { N_("Arabic"), NULL } }, + { "pt_AO", { N_("Latin"), NULL } }, + { "pt_BR", { N_("Latin"), NULL } }, + { "pt_CV", { N_("Latin"), NULL } }, + { "pt_GW", { N_("Latin"), NULL } }, + { "pt_MO", { N_("Latin"), NULL } }, + { "pt_MZ", { N_("Latin"), NULL } }, + { "pt_PT", { N_("Latin"), NULL } }, + { "pt_ST", { N_("Latin"), NULL } }, + { "pt_TL", { N_("Latin"), NULL } }, + { "puu", { N_("Latin"), NULL } }, + { "qu_BO", { N_("Latin"), NULL } }, + { "qu_EC", { N_("Latin"), NULL } }, + { "qu_PE", { N_("Latin"), NULL } }, + { "quc", { N_("Latin"), NULL } }, + { "qug", { N_("Latin"), NULL } }, + { "raj", { N_("Latin"), NULL } }, + { "rap", { N_("Latin"), NULL } }, + { "rar", { N_("Latin"), NULL } }, + { "rcf", { N_("Latin"), NULL } }, + { "rej", { N_("Latin"), NULL } }, + { "rej_ID", { N_("Rejang"), NULL } }, + { "rgn", { N_("Latin"), NULL } }, + { "ria", { N_("Latin"), NULL } }, + { "rif", { N_("Tifinagh"), N_("Latin"), NULL } }, + { "rjs", { N_("Devanagari"), NULL } }, + { "rkt", { N_("Bengali"), NULL } }, + { "rm", { N_("Latin"), NULL } }, + { "rmf", { N_("Latin"), NULL } }, + { "rmo", { N_("Latin"), NULL } }, + { "rmt", { N_("Arabic"), NULL } }, + { "rmu", { N_("Latin"), NULL } }, + { "rn_BI", { N_("Latin"), NULL } }, + { "rng", { N_("Latin"), NULL } }, + { "ro_MD", { N_("Latin"), NULL } }, + { "ro_RO", { N_("Latin"), NULL } }, + { "ro_RS", { N_("Cyrillic"), NULL } }, + { "rob", { N_("Latin"), NULL } }, + { "rof", { N_("Latin"), NULL } }, + { "rom", { N_("Cyrillic"), NULL } }, + { "rtm", { N_("Latin"), NULL } }, + { "ru_BY", { N_("Cyrillic"), NULL } }, + { "ru_KG", { N_("Cyrillic"), NULL } }, + { "ru_KZ", { N_("Cyrillic"), NULL } }, + { "ru_RU", { N_("Cyrillic"), NULL } }, + { "ru_UA", { N_("Cyrillic"), NULL } }, + { "rue", { N_("Cyrillic"), NULL } }, + { "rug", { N_("Latin"), NULL } }, + { "rup", { N_("Latin"), NULL } }, + { "rw_RW", { N_("Latin"), NULL } }, + { "rwk", { N_("Latin"), NULL } }, + { "ryu", { N_("Katakana"), NULL } }, + { "sa_IN", { N_("Devanagari"), N_("Sharada"), N_("Grantha"), N_("Siddham"), N_("Sinhala"), NULL } }, + { "sad", { N_("Latin"), NULL } }, + { "saf", { N_("Latin"), NULL } }, + { "sah", { N_("Cyrillic"), NULL } }, + { "sam", { N_("Samaritan"), N_("Hebrew"), NULL } }, + { "saq", { N_("Latin"), NULL } }, + { "sas", { N_("Latin"), NULL } }, + { "sat", { N_("Latin"), NULL } }, + { "sat_IN", { N_("Oriya"), N_("Devanagari"), N_("Bengali"), N_("Ol_Chiki"), NULL } }, + { "saz", { N_("Saurashtra"), NULL } }, + { "sbp", { N_("Latin"), NULL } }, + { "sc", { N_("Latin"), NULL } }, + { "sck", { N_("Devanagari"), NULL } }, + { "scn", { N_("Latin"), NULL } }, + { "sco", { N_("Latin"), NULL } }, + { "scs", { N_("Latin"), NULL } }, + { "sd", { N_("Devanagari"), N_("Arabic"), NULL } }, + { "sd_IN", { N_("Khudawadi"), N_("Khojki"), NULL } }, + { "sd_PK", { N_("Khudawadi"), N_("Khojki"), NULL } }, + { "sdc", { N_("Latin"), NULL } }, + { "sdh", { N_("Arabic"), NULL } }, + { "se", { N_("Latin"), NULL } }, + { "se_NO", { N_("Cyrillic"), NULL } }, + { "see", { N_("Latin"), NULL } }, + { "sef", { N_("Latin"), NULL } }, + { "seh", { N_("Latin"), NULL } }, + { "sei", { N_("Latin"), NULL } }, + { "sel", { N_("Cyrillic"), NULL } }, + { "ses", { N_("Latin"), NULL } }, + { "sg_CF", { N_("Latin"), NULL } }, + { "sga", { N_("Ogham"), N_("Latin"), NULL } }, + { "sgs", { N_("Latin"), NULL } }, + { "shi", { N_("Tifinagh"), N_("Arabic"), N_("Latin"), NULL } }, + { "shn", { N_("Myanmar"), NULL } }, + { "si_LK", { N_("Sinhala"), NULL } }, + { "sid", { N_("Latin"), NULL } }, + { "sk_SK", { N_("Latin"), NULL } }, + { "skr", { N_("Arabic"), NULL } }, + { "sl_SI", { N_("Latin"), NULL } }, + { "sli", { N_("Latin"), NULL } }, + { "sly", { N_("Latin"), NULL } }, + { "sm_AS", { N_("Latin"), NULL } }, + { "sm_WS", { N_("Latin"), NULL } }, + { "sma", { N_("Latin"), NULL } }, + { "smj", { N_("Latin"), NULL } }, + { "smn", { N_("Latin"), NULL } }, + { "smp", { N_("Samaritan"), NULL } }, + { "sms", { N_("Latin"), NULL } }, + { "sn_ZW", { N_("Latin"), NULL } }, + { "snk", { N_("Latin"), NULL } }, + { "so_DJ", { N_("Arabic"), N_("Osmanya"), NULL } }, + { "so_ET", { N_("Arabic"), N_("Osmanya"), NULL } }, + { "so_SO", { N_("Latin"), NULL } }, + { "sou", { N_("Thai"), NULL } }, + { "sq_AL", { N_("Latin"), NULL } }, + { "sq_MK", { N_("Elbasan"), NULL } }, + { "sq_RS", { N_("Elbasan"), NULL } }, + { "sq_XK", { N_("Latin"), NULL } }, + { "sr_BA", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "sr_ME", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "sr_RS", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "sr_XK", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "srb", { N_("Sora_Sompeng"), NULL } }, + { "srn", { N_("Latin"), NULL } }, + { "srr", { N_("Latin"), NULL } }, + { "srx", { N_("Devanagari"), NULL } }, + { "ss_SZ", { N_("Latin"), NULL } }, + { "ssy", { N_("Latin"), NULL } }, + { "st_LS", { N_("Latin"), NULL } }, + { "stq", { N_("Latin"), NULL } }, + { "su", { N_("Latin"), NULL } }, + { "su_ID", { N_("Sundanese"), NULL } }, + { "suk", { N_("Latin"), NULL } }, + { "sus", { N_("Latin"), NULL } }, + { "sus_GN", { N_("Arabic"), NULL } }, + { "sv_AX", { N_("Latin"), NULL } }, + { "sv_FI", { N_("Latin"), NULL } }, + { "sv_SE", { N_("Latin"), NULL } }, + { "sw_KE", { N_("Latin"), NULL } }, + { "sw_TZ", { N_("Latin"), NULL } }, + { "sw_UG", { N_("Latin"), NULL } }, + { "swb", { N_("Arabic"), NULL } }, + { "swb_YT", { N_("Latin"), NULL } }, + { "swc", { N_("Latin"), NULL } }, + { "swv", { N_("Devanagari"), NULL } }, + { "sxn", { N_("Latin"), NULL } }, + { "syi", { N_("Latin"), NULL } }, + { "syl", { N_("Bengali"), NULL } }, + { "syl_BD", { N_("Syloti_Nagri"), NULL } }, + { "syr", { N_("Syriac"), NULL } }, + { "szl", { N_("Latin"), NULL } }, + { "ta_LK", { N_("Tamil"), NULL } }, + { "ta_SG", { N_("Tamil"), NULL } }, + { "tab", { N_("Cyrillic"), NULL } }, + { "taj", { N_("Tibetan"), NULL } }, + { "tbw", { N_("Tagbanwa"), NULL } }, + { "tcy", { N_("Kannada"), NULL } }, + { "tdd", { N_("Tai_Le"), NULL } }, + { "tdg", { N_("Tibetan"), NULL } }, + { "tdh", { N_("Devanagari"), NULL } }, + { "te", { N_("Telugu"), NULL } }, + { "tem", { N_("Latin"), NULL } }, + { "teo", { N_("Latin"), NULL } }, + { "ter", { N_("Latin"), NULL } }, + { "tet_TL", { N_("Latin"), NULL } }, + { "tg_TJ", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "th_TH", { N_("Thai"), NULL } }, + { "thl", { N_("Devanagari"), NULL } }, + { "thq", { N_("Devanagari"), NULL } }, + { "thr", { N_("Devanagari"), NULL } }, + { "ti_ER", { N_("Ethiopic"), NULL } }, + { "tig", { N_("Ethiopic"), NULL } }, + { "tiv", { N_("Latin"), NULL } }, + { "tk_TM", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "tkl_TK", { N_("Latin"), NULL } }, + { "tkr", { N_("Cyrillic"), N_("Latin"), NULL } }, + { "tkt", { N_("Devanagari"), NULL } }, + { "tli", { N_("Latin"), NULL } }, + { "tly", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "tmh", { N_("Latin"), NULL } }, + { "tn_BW", { N_("Latin"), NULL } }, + { "to_TO", { N_("Latin"), NULL } }, + { "tog", { N_("Latin"), NULL } }, + { "tpi_PG", { N_("Latin"), NULL } }, + { "tr_CY", { N_("Latin"), NULL } }, + { "tr_DE", { N_("Arabic"), NULL } }, + { "tr_TR", { N_("Latin"), NULL } }, + { "tru", { N_("Syriac"), NULL } }, + { "trv", { N_("Latin"), NULL } }, + { "ts", { N_("Latin"), NULL } }, + { "tsd", { N_("Greek"), NULL } }, + { "tsf", { N_("Devanagari"), NULL } }, + { "tsg", { N_("Latin"), NULL } }, + { "tsi", { N_("Latin"), NULL } }, + { "tsj", { N_("Tibetan"), NULL } }, + { "tt", { N_("Cyrillic"), NULL } }, + { "ttj", { N_("Latin"), NULL } }, + { "tts", { N_("Thai"), NULL } }, + { "ttt", { N_("Arabic"), NULL } }, + { "tum", { N_("Latin"), NULL } }, + { "tvl_TV", { N_("Latin"), NULL } }, + { "twq", { N_("Latin"), NULL } }, + { "ty_PF", { N_("Latin"), NULL } }, + { "tyv", { N_("Cyrillic"), NULL } }, + { "tzm_MA", { N_("Tifinagh"), N_("Latin"), NULL } }, + { "ude", { N_("Cyrillic"), NULL } }, + { "udm", { N_("Cyrillic"), NULL } }, + { "udm_RU", { N_("Latin"), NULL } }, + { "ug", { N_("Arabic"), N_("Cyrillic"), NULL } }, + { "ug_CN", { N_("Latin"), NULL } }, + { "uga", { N_("Ugaritic"), NULL } }, + { "uk_UA", { N_("Cyrillic"), NULL } }, + { "uli", { N_("Latin"), NULL } }, + { "umb", { N_("Latin"), NULL } }, + { "unr", { N_("Devanagari"), N_("Bengali"), NULL } }, + { "unx", { N_("Devanagari"), N_("Bengali"), NULL } }, + { "ur_PK", { N_("Arabic"), NULL } }, + { "uz_UZ", { N_("Latin"), N_("Arabic"), N_("Cyrillic"), NULL } }, + { "vai", { N_("Vai"), N_("Latin"), NULL } }, + { "ve", { N_("Latin"), NULL } }, + { "vec", { N_("Latin"), NULL } }, + { "vep", { N_("Latin"), NULL } }, + { "vi_US", { N_("Han"), NULL } }, + { "vi_VN", { N_("Latin"), NULL } }, + { "vic", { N_("Latin"), NULL } }, + { "vls", { N_("Latin"), NULL } }, + { "vmf", { N_("Latin"), NULL } }, + { "vmw", { N_("Latin"), NULL } }, + { "vo", { N_("Latin"), NULL } }, + { "vot", { N_("Latin"), NULL } }, + { "vro", { N_("Latin"), NULL } }, + { "vun", { N_("Latin"), NULL } }, + { "wa", { N_("Latin"), NULL } }, + { "wae", { N_("Latin"), NULL } }, + { "wal", { N_("Ethiopic"), NULL } }, + { "war", { N_("Latin"), NULL } }, + { "was", { N_("Latin"), NULL } }, + { "wbp", { N_("Latin"), NULL } }, + { "wbq", { N_("Telugu"), NULL } }, + { "wbr", { N_("Devanagari"), NULL } }, + { "wls", { N_("Latin"), NULL } }, + { "wo", { N_("Arabic"), NULL } }, + { "wo_SN", { N_("Latin"), NULL } }, + { "wtm", { N_("Devanagari"), NULL } }, + { "wuu", { N_("Han"), NULL } }, + { "xal", { N_("Cyrillic"), NULL } }, + { "xav", { N_("Latin"), NULL } }, + { "xcr", { N_("Carian"), NULL } }, + { "xh", { N_("Latin"), NULL } }, + { "xlc", { N_("Lycian"), NULL } }, + { "xld", { N_("Lydian"), NULL } }, + { "xmf", { N_("Georgian"), NULL } }, + { "xmn", { N_("Manichaean"), NULL } }, + { "xmr", { N_("Meroitic_Cursive"), NULL } }, + { "xna", { N_("Old_North_Arabian"), NULL } }, + { "xnr", { N_("Devanagari"), NULL } }, + { "xog", { N_("Latin"), NULL } }, + { "xpr", { N_("Inscriptional_Parthian"), NULL } }, + { "xsa", { N_("Old_South_Arabian"), NULL } }, + { "xsr", { N_("Devanagari"), NULL } }, + { "xum", { N_("Old_Italic"), N_("Latin"), NULL } }, + { "yao", { N_("Latin"), NULL } }, + { "yap", { N_("Latin"), NULL } }, + { "yav", { N_("Latin"), NULL } }, + { "ybb", { N_("Latin"), NULL } }, + { "yi", { N_("Hebrew"), NULL } }, + { "yo_NG", { N_("Latin"), NULL } }, + { "yrk", { N_("Cyrillic"), NULL } }, + { "yrl", { N_("Latin"), NULL } }, + { "yua", { N_("Latin"), NULL } }, + { "yue", { N_("Han"), NULL } }, + { "za", { N_("Latin"), NULL } }, + { "za_CN", { N_("Han"), NULL } }, + { "zap", { N_("Latin"), NULL } }, + { "zdj_KM", { N_("Arabic"), NULL } }, + { "zea", { N_("Latin"), NULL } }, + { "zen", { N_("Tifinagh"), NULL } }, + { "zgh", { N_("Tifinagh"), NULL } }, + { "zh_CN", { N_("Han"), NULL } }, + { "zh_HK", { N_("Han"), NULL } }, + { "zh_ID", { N_("Phags_Pa"), N_("Bopomofo"), NULL } }, + { "zh_MO", { N_("Han"), NULL } }, + { "zh_MY", { N_("Phags_Pa"), N_("Bopomofo"), NULL } }, + { "zh_SG", { N_("Han"), NULL } }, + { "zh_TH", { N_("Phags_Pa"), N_("Bopomofo"), NULL } }, + { "zh_TW", { N_("Han"), NULL } }, + { "zh_US", { N_("Phags_Pa"), N_("Bopomofo"), NULL } }, + { "zmi", { N_("Latin"), NULL } }, + { "zu", { N_("Latin"), NULL } }, + { "zun", { N_("Latin"), NULL } }, + { "zza", { N_("Latin"), NULL } } +}; diff --git a/ltmain.sh b/ltmain.sh new file mode 100644 index 0000000..0f0a2da --- /dev/null +++ b/ltmain.sh @@ -0,0 +1,11147 @@ +#! /bin/sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2014-01-03.01 + +# libtool (GNU libtool) 2.4.6 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +PROGRAM=libtool +PACKAGE=libtool +VERSION=2.4.6 +package_revision=2.4.6 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2015-01-20.17; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () +{ + $debug_cmd + + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + fi + + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" + ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; + esac + + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done +} + + +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd + + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; + esac + + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" + ;; + esac + + func_quote_for_expand_result=$_G_arg +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Set a version string for this script. +scriptversion=2014-01-07.03; # UTC + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# warranty; '. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It is assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + eval $_G_hook '"$@"' + + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + done + + func_quote_for_eval ${1+"$@"} + func_run_hooks_result=$func_quote_for_eval_result +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list in your hook function, remove any +# options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# +# func_quote_for_eval ${1+"$@"} +# my_options_prep_result=$func_quote_for_eval_result +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# # Note that for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# ;; +# *) set dummy "$_G_opt" "$*"; shift; break ;; +# esac +# done +# +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# +# func_quote_for_eval ${1+"$@"} +# my_option_validation_result=$func_quote_for_eval_result +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll alse need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + func_options_prep ${1+"$@"} + eval func_parse_options \ + ${func_options_prep_result+"$func_options_prep_result"} + eval func_validate_options \ + ${func_parse_options_result+"$func_parse_options_result"} + + eval func_run_hooks func_options \ + ${func_validate_options_result+"$func_validate_options_result"} + + # save modified positional parameters for caller + func_options_result=$func_run_hooks_result +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propogate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before +# returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + func_parse_options_result= + + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + + # Adjust func_parse_options positional parameters to match + eval set dummy "$func_run_hooks_result"; shift + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + test $# = 0 && func_missing_arg $_G_opt && break + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE + + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more + } + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p + } + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.6' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.6 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func__fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -stdlib=* select c++ std lib with clang + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/m4/glibtests.m4 b/m4/glibtests.m4 new file mode 100644 index 0000000..7d5920a --- /dev/null +++ b/m4/glibtests.m4 @@ -0,0 +1,28 @@ +dnl GLIB_TESTS +dnl + +AC_DEFUN([GLIB_TESTS], +[ + AC_ARG_ENABLE(installed-tests, + AS_HELP_STRING([--enable-installed-tests], + [Enable installation of some test cases]), + [case ${enableval} in + yes) ENABLE_INSTALLED_TESTS="1" ;; + no) ENABLE_INSTALLED_TESTS="" ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-installed-tests]) ;; + esac]) + AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], test "$ENABLE_INSTALLED_TESTS" = "1") + AC_ARG_ENABLE(always-build-tests, + AS_HELP_STRING([--enable-always-build-tests], + [Enable always building tests during 'make all']), + [case ${enableval} in + yes) ENABLE_ALWAYS_BUILD_TESTS="1" ;; + no) ENABLE_ALWAYS_BUILD_TESTS="" ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;; + esac]) + AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test "$ENABLE_ALWAYS_BUILD_TESTS" = "1") + if test "$ENABLE_INSTALLED_TESTS" = "1"; then + AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME) + AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME) + fi +]) diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..b8251d0 --- /dev/null +++ b/meson.build @@ -0,0 +1,87 @@ +project( + 'gnome-characters', 'c', + version: '3.28.2', + license: 'BSD3', + default_options: 'buildtype=debugoptimized', + meson_version: '>= 0.42.0' +) + +characters_name = 'org.gnome.Characters' +characters_background_name = characters_name + '.BackgroundService' + +characters_version = meson.project_version() + +characters_prefix = get_option('prefix') +characters_bindir = join_paths(characters_prefix, get_option('bindir')) +characters_datadir = join_paths(characters_prefix, get_option('datadir')) +characters_libdir = join_paths(characters_prefix, get_option('libdir')) +characters_libexecdir = join_paths(characters_prefix, get_option('libexecdir')) + +characters_pkgdatadir = join_paths(characters_datadir, characters_name) +characters_pkglibdir = join_paths(characters_libdir, characters_name) + +characters_gir_version = '1.0' +characters_ns = 'Gc' + +cc = meson.get_compiler('c') + +# *** Check for dbus service dir *** +dbus_service_dir = get_option('dbus_service_dir') +if dbus_service_dir == '' + dbus_dep = dependency('dbus-1', required: false) + assert(dbus_dep.found(), 'dbus-1 required but not found, please provide a valid D-Bus service dir') + dbus_service_dir = dbus_dep.get_pkgconfig_variable('session_bus_services_dir') +endif + +libunistring_src = ''' + #include + int main() { + u8_strconv_from_locale((char*)0); + }; +''' + +# FIXME: libunistring doesn't have pkgconfig support +assert(cc.links(libunistring_src, name: 'libunistring support', args: '-lunistring'), 'libunistring is required but not found') + +# Just check that gjs-1.0 is present and recent enough +dependency('gjs-1.0', version: '>= 1.43.3') + +libgc_deps = [ + dependency('gio-2.0'), + dependency('gtk+-3.0'), + dependency('pango'), + declare_dependency(link_args: '-lunistring') +] + +if get_option('pangoft2') + libgc_deps += dependency('pangoft2') +endif + +gnome = import('gnome') +i18n = import('i18n') + +po_dir = join_paths(meson.source_root(), 'po') + +top_inc = include_directories('.') + +subdir('po') +subdir('data') +# FIXME: local gnulib library is not built +#subdir('gllib') +subdir('lib') +subdir('src') + +if get_option('installed_tests') + subdir('tests') +endif + +configure_file( + output: 'config.h', + configuration: configuration_data() +) + +meson.add_install_script( + 'meson_post_install.py', + characters_datadir, + characters_bindir +) diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..62ff6fa --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,3 @@ +option('dbus_service_dir', type: 'string', value: '', description: 'custom directory for dbus service files') +option('pangoft2', type: 'boolean', value: true, description: 'enable pangoft2 support') +option('installed_tests', type: 'boolean', value: false, description: 'Enable installation of some test cases') diff --git a/meson_post_install.py b/meson_post_install.py new file mode 100644 index 0000000..749f574 --- /dev/null +++ b/meson_post_install.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import glob +import os +import re +import subprocess +import sys + +datadir = sys.argv[1] + +destdir = os.environ.get('DESTDIR', '') +bindir = os.path.normpath(destdir + os.sep + sys.argv[2]) + +# FIXME: meson will not track the creation of these files +# https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39 +if not os.path.exists(bindir): + os.makedirs(bindir) + +src = os.path.join(datadir, 'org.gnome.Characters', 'org.gnome.Characters') +dest = os.path.join(bindir, 'gnome-characters') +subprocess.call(['ln', '-s', '-f', src, dest]) + +if not os.environ.get('DESTDIR'): + icondir = os.path.join(datadir, 'icons', 'hicolor') + + print('Update icon cache...') + subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir]) + + schemadir = os.path.join(datadir, 'glib-2.0', 'schemas') + print('Compiling gsettings schemas...') + subprocess.call(['glib-compile-schemas', schemadir]) + + # FIXME + ''' + search_pattern = '/*.desktop' + + desktopdir = os.path.join(datadir, 'applications') + print('Validate desktop files...') + [subprocess.call(['desktop-file-validate', file]) + for file in glob.glob(desktopdir + search_pattern, recursive=False)] + ''' diff --git a/missing b/missing new file mode 100755 index 0000000..c6e3795 --- /dev/null +++ b/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2016-01-11.22; # UTC + +# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/org.gnome.Characters.spec b/org.gnome.Characters.spec new file mode 100644 index 0000000..7d3d54b --- /dev/null +++ b/org.gnome.Characters.spec @@ -0,0 +1,56 @@ +Name: %{_name} +Version: %{_version} +Release: 1%{?dist} +Summary: Character map application for GNOME + +License: BSD and GPLv2+ +URL: http://www.example.com/gnome-characters +Source0: %{_distdir}-%{version}.tar.xz +BuildArch: noarch + +%description +Characters is a simple utility application to find and insert unusual +characters. + +%prep +%setup -q -n %{_distdir}-%{version} + +%build +%configure --disable-static +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +rm -fR $RPM_BUILD_ROOT/%{_bindir} +desktop-file-edit $RPM_BUILD_ROOT/%{_datadir}/applications/%{name}.desktop \ + --set-key=X-AppInstall-Package --set-value=%{name} + +%find_lang %{name} + +%check +desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/%{name}.desktop + +%post +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +if [ $1 -eq 0 ] ; then + glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans +glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files -f %{name}.lang +%doc NEWS COPYING +%{_datadir}/appstream/%{name}.appdata.xml +%{_datadir}/applications/%{name}.desktop +%{_datadir}/dbus-1/services/%{name}.service +%{_datadir}/glib-2.0/schemas/%{name}.gschema.xml +#%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_datadir}/%{name}/ +#%{_libdir}/%{name}/ diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..d1e71e6 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,53 @@ +af +ar +be +ca +ca@valencia +cs +da +de +el +en_GB +eo +es +eu +fa +fi +fr +fur +gd +gl +gu +he +hr +hu +id +is +it +ja +kk +ko +ln +lt +lv +ml +nb +ne +nl +oc +pa +pl +pt +pt_BR +ro +ru +sk +sl +sr +sr@latin +sv +tg +tr +uk +zh_CN +zh_TW diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..38c293d --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,483 @@ +# Makefile for PO directory in any package using GNU gettext. +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. +# +# Origin: gettext-0.19.8 +GETTEXT_MACRO_VERSION = 0.19 + +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + +SED = @SED@ +SHELL = /bin/sh +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ +gettextsrcdir = $(datadir)/gettext/po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +# We use $(mkdir_p). +# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +# @install_sh@ does not start with $(SHELL), so we add it. +# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +# versions, $(mkinstalldirs) and $(install_sh) are unused. +mkinstalldirs = $(SHELL) @install_sh@ -d +install_sh = $(SHELL) @install_sh@ +MKDIR_P = @MKDIR_P@ +mkdir_p = @mkdir_p@ + +# When building gettext-tools, we prefer to use the built programs +# rather than installed programs. However, we can't do that when we +# are cross compiling. +CROSS_COMPILING = @CROSS_COMPILING@ + +GMSGFMT_ = @GMSGFMT@ +GMSGFMT_no = @GMSGFMT@ +GMSGFMT_yes = @GMSGFMT_015@ +GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +MSGFMT_ = @MSGFMT@ +MSGFMT_no = @MSGFMT@ +MSGFMT_yes = @MSGFMT_015@ +MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +XGETTEXT_ = @XGETTEXT@ +XGETTEXT_no = @XGETTEXT@ +XGETTEXT_yes = @XGETTEXT_015@ +XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +MSGMERGE = msgmerge +MSGMERGE_UPDATE = @MSGMERGE@ --update +MSGINIT = msginit +MSGCONV = msgconv +MSGFILTER = msgfilter + +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +UPDATEPOFILES = @UPDATEPOFILES@ +DUMMYPOFILES = @DUMMYPOFILES@ +DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +$(POFILES) $(GMOFILES) \ +$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) + +POTFILES = \ + +CATALOGS = @CATALOGS@ + +POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot +POFILESDEPS_yes = $(POFILESDEPS_) +POFILESDEPS_no = +POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) + +DISTFILESDEPS_ = update-po +DISTFILESDEPS_yes = $(DISTFILESDEPS_) +DISTFILESDEPS_no = +DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) + +# Makevars gets inserted here. (Don't remove this line!) + +.SUFFIXES: +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update + +.po.mo: + @echo "$(MSGFMT) -c -o $@ $<"; \ + $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ + +.po.gmo: + @lang=`echo $* | sed -e 's,.*/,,'`; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + +.sin.sed: + sed -e '/^#/d' $< > t-$@ + mv t-$@ $@ + + +all: all-@USE_NLS@ + +all-yes: stamp-po +all-no: + +# Ensure that the gettext macros and this Makefile.in.in are in sync. +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + +# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +# we don't want to bother translators with empty POT files). We assume that +# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +# In this case, stamp-po is a nop (i.e. a phony target). + +# stamp-po is a timestamp denoting the last time at which the CATALOGS have +# been loosely updated. Its purpose is that when a developer or translator +# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +# invocations of "make" will do nothing. This timestamp would not be necessary +# if updating the $(CATALOGS) would always touch them; however, the rule for +# $(POFILES) has been designed to not touch files that don't need to be +# changed. +stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) + test ! -f $(srcdir)/$(DOMAIN).pot || \ + test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) + @test ! -f $(srcdir)/$(DOMAIN).pot || { \ + echo "touch stamp-po" && \ + echo timestamp > stamp-poT && \ + mv stamp-poT stamp-po; \ + } + +# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +# otherwise packages like GCC can not be built if only parts of the source +# have been downloaded. + +# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +# The determination of whether the package xyz is a GNU one is based on the +# heuristic whether some file in the top level directory mentions "GNU xyz". +# If GNU 'find' is available, we avoid grepping through monster files. +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + package_gnu="$(PACKAGE_GNU)"; \ + test -n "$$package_gnu" || { \ + if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ + -size -10000000c -exec grep 'GNU @PACKAGE@' \ + /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + fi; \ + } | grep -v 'libtool:' >/dev/null; then \ + package_gnu=yes; \ + else \ + package_gnu=no; \ + fi; \ + }; \ + if test "$$package_gnu" = "yes"; then \ + package_prefix='GNU '; \ + else \ + package_prefix=''; \ + fi; \ + if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ + msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ + else \ + msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ + fi; \ + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_prefix}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac + test ! -f $(DOMAIN).po || { \ + if test -f $(srcdir)/$(DOMAIN).pot-header; then \ + sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \ + cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \ + rm -f $(DOMAIN).1po; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ + if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ + else \ + rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + else \ + mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + fi; \ + } + +# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +# every "make" invocation, only create it when it is missing. +# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +$(srcdir)/$(DOMAIN).pot: + $(MAKE) $(DOMAIN).pot-update + +# This target rebuilds a PO file if $(DOMAIN).pot has changed. +# Note that a PO file is not touched if it doesn't need to be changed. +$(POFILES): $(POFILESDEPS) + @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ + if test -f "$(srcdir)/$${lang}.po"; then \ + test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ + else \ + $(MAKE) $${lang}.po-create; \ + fi + + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + for file in $(DISTFILES.common) Makevars.template; do \ + $(INSTALL_DATA) $(srcdir)/$$file \ + $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + for file in Makevars; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +install-data-no: all +install-data-yes: all + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ + $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ + echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ + cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ + fi; \ + done; \ + done + +install-strip: install + +installdirs: installdirs-exec installdirs-data +installdirs-exec: +installdirs-data: installdirs-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ + else \ + : ; \ + fi +installdirs-data-no: +installdirs-data-yes: + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + dir=$(localedir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $(DESTDIR)$$dir; \ + for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ + if test -n "$$lc"; then \ + if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ + link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ + mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ + for file in *; do \ + if test -f $$file; then \ + ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ + fi; \ + done); \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ + else \ + if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ + :; \ + else \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ + mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ + fi; \ + fi; \ + fi; \ + done; \ + done + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: uninstall-exec uninstall-data +uninstall-exec: +uninstall-data: uninstall-data-@USE_NLS@ + if test "$(PACKAGE)" = "gettext-tools"; then \ + for file in $(DISTFILES.common) Makevars.template; do \ + rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ + done; \ + else \ + : ; \ + fi +uninstall-data-no: +uninstall-data-yes: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ + for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ + rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ + done; \ + done + +check: all + +info dvi ps pdf html tags TAGS ctags CTAGS ID: + +mostlyclean: + rm -f remove-potcdate.sed + rm -f stamp-poT + rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f stamp-po $(GMOFILES) + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: + test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) + @$(MAKE) dist2 +# This is a separate target because 'update-po' must be executed before. +dist2: stamp-po $(DISTFILES) + dists="$(DISTFILES)"; \ + if test "$(PACKAGE)" = "gettext-tools"; then \ + dists="$$dists Makevars.template"; \ + fi; \ + if test -f $(srcdir)/$(DOMAIN).pot; then \ + dists="$$dists $(DOMAIN).pot stamp-po"; \ + fi; \ + if test -f $(srcdir)/ChangeLog; then \ + dists="$$dists ChangeLog"; \ + fi; \ + for i in 0 1 2 3 4 5 6 7 8 9; do \ + if test -f $(srcdir)/ChangeLog.$$i; then \ + dists="$$dists ChangeLog.$$i"; \ + fi; \ + done; \ + if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ + for file in $$dists; do \ + if test -f $$file; then \ + cp -p $$file $(distdir) || exit 1; \ + else \ + cp -p $(srcdir)/$$file $(distdir) || exit 1; \ + fi; \ + done + +update-po: Makefile + $(MAKE) $(DOMAIN).pot-update + test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) + $(MAKE) update-gmo + +# General rule for creating PO files. + +.nop.po-create: + @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ + echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ + exit 1 + +# General rule for updating PO files. + +.nop.po-update: + @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + cd $(srcdir); \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +$(DUMMYPOFILES): + +update-gmo: Makefile $(GMOFILES) + @: + +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. +Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ + cd $(top_builddir) \ + && @SHELL@ ./config.status $(subdir)/$@.in po-directories + +force: + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..e99a67b --- /dev/null +++ b/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = GNOME Characters contributors + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = no + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters&keywords=I18N+L10N&component=general + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..3a4dcbd --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,21 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +data/app-menu.ui +data/characterlist.ui +data/character.ui +data/mainview.ui +data/mainwindow.ui +data/menu.ui +data/org.gnome.Characters.appdata.xml.in +data/org.gnome.Characters.desktop.in +data/org.gnome.Characters.gschema.xml +src/categoryList.js +src/character.js +src/characterList.js +src/main.js +src/menu.js +src/params.js +src/searchProvider.js +src/service.js +src/util.js +src/window.js diff --git a/po/Rules-quot b/po/Rules-quot new file mode 100644 index 0000000..baf6528 --- /dev/null +++ b/po/Rules-quot @@ -0,0 +1,58 @@ +# This file, Rules-quot, can be copied and used freely without restrictions. +# Special Makefile rules for English message catalogs with quotation marks. + +DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot + +.SUFFIXES: .insert-header .po-update-en + +en@quot.po-create: + $(MAKE) en@quot.po-update +en@boldquot.po-create: + $(MAKE) en@boldquot.po-update + +en@quot.po-update: en@quot.po-update-en +en@boldquot.po-update: en@boldquot.po-update-en + +.insert-header.po-update-en: + @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ + if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + tmpdir=`pwd`; \ + echo "$$lang:"; \ + ll=`echo $$lang | sed -e 's/@.*//'`; \ + LC_ALL=C; export LC_ALL; \ + cd $(srcdir); \ + if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ + | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ + { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ + $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ + ;; \ + *) \ + $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ + ;; \ + esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ + ; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "creation of $$lang.po failed!" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi + +en@quot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header + +en@boldquot.insert-header: insert-header.sin + sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header + +mostlyclean: mostlyclean-quot +mostlyclean-quot: + rm -f *.insert-header diff --git a/po/af.gmo b/po/af.gmo new file mode 100644 index 0000000..54dcc9b Binary files /dev/null and b/po/af.gmo differ diff --git a/po/af.po b/po/af.po new file mode 100644 index 0000000..f335b11 --- /dev/null +++ b/po/af.po @@ -0,0 +1,278 @@ +# Afrikaans translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# pieter , 2017. +# Pieter Schoeman , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-12-03 06:45+0000\n" +"PO-Revision-Date: 2017-12-18 22:33+0200\n" +"Last-Translator: Pieter Schoeman \n" +"Language-Team: Afrikaans \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Aangaande" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Sluit af" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Soektog het geen resultate getoon nie" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Probeer 'n ander soektog." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Laai tans…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopieer Karakter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Karakter na knipbord gekopieer" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Geen onlangse karakters gevind nie" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Karakters sal hier vertoon word indien u hulle gebruik." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Huidige bladsy" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrer volgens lettertipe" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "GNOME Karakters" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Karakterkaart toepassing" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Karakters is 'n eenvoudige nutstoepassing om ongewone karakters te vind en " +"in te voeg. Dit laat u toe om vinnig karakter te vind deur met sleutelwoorde " +"te soek" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"U kan ook deur karakter-kategorieë blaai, soos leestekens, prente, ens." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Karakters" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Nutstoepassing om ongewone karakters te vind en in te voeg" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;emoji;emoticon;karakters;leestekens;" +"wiskunde;letters;emosiekone" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Lettertipe waarin karakters vertoon word" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Gebruik die lettertipe om karakters op die karakterlys te skep." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksimum onlangse karakters" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emosiekone" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letters & Simbole" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Leestekens" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Pyle" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Koeëls" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Prente" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Geldeenhede" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Wiskunde" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letters" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Glimlagge & Mense" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Diere & Natuur" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Kos & Drank" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktiwiteite" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Reis & Plekke" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Voorwerpe" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simbole" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Vlae" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s Kategorie Lys Ry" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Onlangs Gebruik" + +#: src/character.js:56 +msgid "See Also" +msgstr "Sien Ook" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s is nie ingesluit by %s nie" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nie toegeken nie" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Karakter Toepassing" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Karakter Toepassing begin" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Karakter Toepassing maak toe" + +#: src/menu.js:50 +msgid "None" +msgstr "Geen" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Onbekende karakternaam" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "Pieter Schalk Schoeman" + +#: src/window.js:200 +msgid "Character Map" +msgstr "Karakterkaart" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s slegs)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "%s Karakterlys" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Onlangs Gebruikte %s Karakterlys" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Soek Resultaat Karakterlys" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Soek Resultaat" diff --git a/po/ar.gmo b/po/ar.gmo new file mode 100644 index 0000000..9b033b7 Binary files /dev/null and b/po/ar.gmo differ diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..6fbe4b6 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,290 @@ +# Arabic translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Safa Alfulaij , 2015. +# Abderrahim Kitouni , 2015. +# Khaled Hosny , 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-11-06 06:38+0200\n" +"PO-Revision-Date: 2017-11-06 06:42+0200\n" +"Last-Translator: Khaled Hosny \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Virtaal 1.0.0-beta1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "عنْ" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "أنهِ" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "لم يأت البحث بأية نتيجة" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "جرّب بحثًا آخر." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "يحمّل…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "انسخ المحرف" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "نُسخ الحرف إلى الحافظة" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "لا محارف استخدمتها حديثًا" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "ستظهر المحارف التي تستخدمها هنا." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "الصّفحة الحالية" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "رشّح حسب الخطّ" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "محارف جنوم" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "تطبيق خريطة المحارف" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"«محارف» تطبيق بسيط للبحث عن المحارف غير المألوفة. يسمح لك التّطبيق بالبحث عن " +"المحرف الّذي تريده بالبحث عن الكلمات المفتاحية." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "يمكنك تصفّح المحارف حسب فئاتها، كعلامات الترقيم و الصّور وغيرها." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "المحارف" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "تطبيق للبحث عن المحارف غير المألوفة و إدراجها" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "حرف;حروف;يونيكود;ترقيم;رياضية;رياضيات;إموجي;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "الخطّ المستخدم لعرض المحارف" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "استخدم الخطّ لعرض المحارف في قائمة المحارف." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "أقصى عدد للمحارف الحديثة" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "إموجي" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "حروف و رموز" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "ترقيم" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "أسهم" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "نّقاط" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "صور" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "عملات" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "رياضيات" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "حروف" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "ابتسامات و أشخاص" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "حيوانات و طبيعة" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "طعام و شراب" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "أنشطة" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "سفر و أماكن" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "أشياء" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "رموز" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "أعلام" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "صف فئة %s في القائمة" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "المستخدمة حديثا" + +#: src/character.js:56 +msgid "See Also" +msgstr "انظر أيضًا" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "يونيكود U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s ليست موجودة في %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "غير مُسنَد" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "تطبيق «محارف»" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "بدأ تطبيق «محارف»" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "تطبيق «محارف» يخرج" + +#: src/menu.js:50 +msgid "None" +msgstr "لا ترشّح" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "اسم المحرف مجهول" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "‏U+%s،‏ ‏%s:‏‏ %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "" +"فريق عربآيز للترجمة http://www.arabeyes.org:\n" +"صفا الفليج " + +#: src/window.js:200 +msgid "Character Map" +msgstr "خريطة المحارف" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "‏%s ‏(%s فقط)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "قائمة محارف %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "قائمة محارف %s المستخدمة حديثًا" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "قائمة المحارف من نتيجة البحث" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "نتيجة البحث" + +#~ msgid "Try another search criteria." +#~ msgstr "جرّب البحث عن شيء آخر." + +#~ msgid "Emoticons" +#~ msgstr "الوجوه التّعبيريّة" + +#~ msgid "About Characters" +#~ msgstr "عن «محارف»" + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;محرف;محارف;يونيكود;" diff --git a/po/be.gmo b/po/be.gmo new file mode 100644 index 0000000..c150cde Binary files /dev/null and b/po/be.gmo differ diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000..025ae96 --- /dev/null +++ b/po/be.po @@ -0,0 +1,278 @@ +# Belarusian translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Yuras Shumovich , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-01 16:45+0300\n" +"Last-Translator: Yuras Shumovich \n" +"Language-Team: Belarusian \n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 1.8.11\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Аб праграме" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Выйсці" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Нічога не знойдзена." + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Паспрабуйце іншы пошук" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Загрузка..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Скапіраваць знак" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Знак капіраваны ў буфер абмену" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Няма нядаўніх знакаў" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Тут будуць з'яўляцца знакі, якія вы выкарыстоўвалі." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Бягучая старонка" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Фільтраваць на шрыфту" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Знакі GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Праграма-знаказбор" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Знакі - гэта простая прылада, якая дазваляе шукаць і ўстаўляць незвычайныя " +"знакі. Вы можаце хутка знайсці патрэбны вам знак па ключавых словах." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Таксама можна аглядаць знакі па катэгорыях, такіх як пунктуацыя, выявы і інш." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Знакі" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Прылада, якая дазваляе шукаць і ўстаўляць незвычайныя знакі" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "знакі;унікод;пунктуацыя;матэматыка;літары;эмоцыі;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Шрыфт для паказу знакаў" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Выкарыстоўваць гэты шрыфт для паказу знакаў і спісе." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Найбольшая колькасць знакаў у спісе нядаўніх" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Значкі эмоцый" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Літары і сімвалы" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Пунктуацыя" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Стрэлкі" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Маркеры" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Выявы" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Валюты" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Матэматыка" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Літары" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Смайлікі і людзі" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Жывёлы і прырода" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Ежа і напоі" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Заняткі" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Падарожжа і месцы" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Аб'екты" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Сімвалы" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Сцягі" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Радок спіса катэгорыі %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Нядаўнія" + +#: src/character.js:56 +msgid "See Also" +msgstr "Глядзі таксама" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Унікод U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s няма ў %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Не прызначаны" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Праграма Знакі" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Праграма Знакі запушчана" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Выхад з праграмы Знакі" + +#: src/menu.js:50 +msgid "None" +msgstr "Нічога" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Знак я такой назвай невядомы" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Юрась Шумовіч " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Знаказбор" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (толькі %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Спіс знакаў %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Спіс нядаўна выкарыстаных знакаў %s" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Спіс знойдзеных знакаў" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Вынікі пошуку" + +#~ msgid "Emoticons" +#~ msgstr "Эмоцыі" diff --git a/po/boldquot.sed b/po/boldquot.sed new file mode 100644 index 0000000..4b937aa --- /dev/null +++ b/po/boldquot.sed @@ -0,0 +1,10 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g +s/“/“/g +s/”/”/g +s/‘/‘/g +s/’/’/g diff --git a/po/ca.gmo b/po/ca.gmo new file mode 100644 index 0000000..1a21274 Binary files /dev/null and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..56f3890 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,293 @@ +# +# This file is distributed under the same license as the PACKAGE package. +# +# Traducció al català del gnome-characters +# +# Jordi Mas i Hernàndez , 2015 +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-01 14:17+0000\n" +"PO-Revision-Date: 2017-09-01 18:22+0200\n" +"Last-Translator: Jordi Mas i Hernàndez , 2015\n" +"Language-Team: \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.8.11\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Quant a" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Surt" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "La cerca no ha donat resultats" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Proveu una cerca diferent. " + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "S'està carregant..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copia caràcter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "El caràcter s'ha copiat al porta-retalls" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "No s'han trobat caràcters recents" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Els caràcters apareixen aquí si els utilitzeu." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pàgina actual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtra per tipus de lletra" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caràcters del GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicació per mostrar caràcters" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caràcters és una aplicació per cercar i inserir caràcters inusuals. Us " +"permet trobar ràpidament els caràcters que esteu cercant usant paraules clau." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"També podeu navegar els caràcters per categories, com ara puntuació, " +"imatges, etc. " + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caràcters" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Una aplicació per cercar i inserir caràcters inusuals" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caràcters;unicode;puntuació;mates;lletres;emoji;emoticona;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Tipus de lletra per a mostrar caràcters" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Usa el tipus de lletra per mostrar els caràcters en la llista de caràcters." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Màxim de caràcters recents" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Lletres i símbols" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puntuació" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Fletxes" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Pics" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imatges" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Monedes" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemàtiques" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Lletres" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Emoticones i persones" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animals i natura" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Menjar i beure" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activitats" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viatges i llocs" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objectes" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Símbols" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Banderes" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s fila de la llista de categories" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Utilitzats recentment" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vegeu també" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s no està inclòs a %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "No assignat" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicació Caràcters" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "S'ha iniciat l'aplicació Caràcters" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "S'està sortint de l'aplicació Caràcters" + +#: src/menu.js:50 +msgid "None" +msgstr "Cap" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nom de caràcter desconegut" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Jordi Mas i Hernàndez , 2015" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa de caràcters" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s només)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s llista de caràcters" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "%s llista de caràcters utilitzats recentment" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Cerca el resultat a la llista de caràcters" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Resultat de la cerca" + +#~ msgid "Emoticons" +#~ msgstr "Emoticones" + +#~ msgid "About Characters" +#~ msgstr "Quant al Caràcters" + +#~ msgid "Try another search criteria." +#~ msgstr "Proveu un altre criteri de cerca." + +#~ msgid "characters;unicode;" +#~ msgstr "caràcters;unicode;" + +#~ msgid "Latin" +#~ msgstr "Llatí" diff --git a/po/ca@valencia.gmo b/po/ca@valencia.gmo new file mode 100644 index 0000000..ad0e8b4 Binary files /dev/null and b/po/ca@valencia.gmo differ diff --git a/po/ca@valencia.po b/po/ca@valencia.po new file mode 100644 index 0000000..f0bff44 --- /dev/null +++ b/po/ca@valencia.po @@ -0,0 +1,293 @@ +# +# This file is distributed under the same license as the PACKAGE package. +# +# Traducció al català del gnome-characters +# +# Jordi Mas i Hernàndez , 2015 +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-08 08:34+0000\n" +"PO-Revision-Date: 2017-09-01 18:22+0200\n" +"Last-Translator: Xavi Ivars \n" +"Language-Team: \n" +"Language: ca-valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.8.11\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Quant a" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Ix" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "La busca no ha donat resultats" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Proveu una busca diferent. " + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "S'està carregant..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copia caràcter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "El caràcter s'ha copiat al porta-retalls" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "No s'han trobat caràcters recents" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Els caràcters apareixen ací si els utilitzeu." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pàgina actual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtra per tipus de lletra" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caràcters del GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicació per mostrar caràcters" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caràcters és una aplicació per buscar i inserir caràcters inusuals. Vos " +"permet trobar ràpidament els caràcters que esteu cercant usant paraules clau." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"També podeu navegar els caràcters per categories, com ara puntuació, " +"imatges, etc. " + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caràcters" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Una aplicació per buscar i inserir caràcters inusuals" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caràcters;unicode;puntuació;mates;lletres;emoji;emoticona;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Tipus de lletra per a mostrar caràcters" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Usa el tipus de lletra per mostrar els caràcters en la llista de caràcters." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Màxim de caràcters recents" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Lletres i símbols" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puntuació" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Fletxes" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Pics" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imatges" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Monedes" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemàtiques" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Lletres" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Emoticones i persones" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animals i natura" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Menjar i beure" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activitats" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viatges i llocs" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objectes" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Símbols" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Banderes" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s fila de la llista de categories" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Utilitzats recentment" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vegeu també" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s no està inclòs a %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "No assignat" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicació Caràcters" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "S'ha iniciat l'aplicació Caràcters" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "S'està eixint de l'aplicació Caràcters" + +#: src/menu.js:50 +msgid "None" +msgstr "Cap" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nom de caràcter desconegut" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Jordi Mas i Hernàndez , 2015" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa de caràcters" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s només)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s llista de caràcters" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "%s llista de caràcters utilitzats recentment" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Busca el resultat a la llista de caràcters" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Resultat de la busca" + +#~ msgid "Emoticons" +#~ msgstr "Emoticones" + +#~ msgid "About Characters" +#~ msgstr "Quant al Caràcters" + +#~ msgid "Try another search criteria." +#~ msgstr "Proveu un altre criteri de cerca." + +#~ msgid "characters;unicode;" +#~ msgstr "caràcters;unicode;" + +#~ msgid "Latin" +#~ msgstr "Llatí" diff --git a/po/cs.gmo b/po/cs.gmo new file mode 100644 index 0000000..ceaab3f Binary files /dev/null and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..7f9c145 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,281 @@ +# Czech translation for gnome-characters. +# Copyright (C) 2014 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# +# Marek Černoch , 2015 +# Marek Černocký , 2014, 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 00:18+0200\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: čeština \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O aplikaci" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Ukončit" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Nebylo nic nalezeno" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Zkuste jiné hledání." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Načítá se…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopírovat znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Znak byl zkopírován do schránky" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nenalezen žádný nedávný znak" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Zde se objeví znaky, které jste již použili." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Aktuální stránka" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrovat podle písma" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Znaky GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplikace s mapou znaků" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Znaky je jednoduchá pomocná aplikace pro vyhledávání a vkládání méně běžných " +"znaků. Znak, který hledáte, můžete rychle najít podle klíčových slov." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Znaky můžete také procházet podle kategorií, jako například „interpunkce“, " +"„obrázky“ atd." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Znaky" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Pomocná aplikace pro vyhledávání a vkládání méně běžných znaků." + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"znak;znaky;unicode;unikód;interpunkce;interpunkční;znaménko;znaménka;" +"matematické;symboly;značky;písmena;smajlík;smajlíci;emotikona;emotikony;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Písmo pro zobrazení znaků" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Použít toto písmo pro vykreslování znaků v seznamu." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximální počet nedávných znaků" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emodži" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Písmena a symboly" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkce" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Šipky" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Odrážky" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Obrázky" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Měny" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Písmena" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smajlíci a lidé" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Zvířata a příroda" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Jídlo a pití" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Činnosti" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Cestování a místa" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekty" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboly" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Vlajky" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Řádek v seznam znaků %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nedávno použité" + +#: src/character.js:56 +msgid "See Also" +msgstr "Viz také" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikód U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s v písmu %s schází" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "nepřiřazen" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplikace Znaky" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplikace Znaky je spuštěna" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Aplikace Znaky se ukončuje" + +#: src/menu.js:50 +msgid "None" +msgstr "žádný" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Neznámý název znaku" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Marek Černocký \n" +"Marek Černoch " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa znaků" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (jen %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Seznam znaků %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Seznam nedávno použitých znaků %s" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Seznam nalezených znaků" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Výsledek hledání" diff --git a/po/da.gmo b/po/da.gmo new file mode 100644 index 0000000..af8deb0 Binary files /dev/null and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..4aca2dc --- /dev/null +++ b/po/da.po @@ -0,0 +1,295 @@ +# Danish translation for gnome-characters. +# Copyright (C) 2015, 2016-2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# +# Kris Thomsen , 2015-2016. +# scootergrisen, 2016. +# Ask Hjorth Larsen , 2016-2017. +# Alan Mortensen , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-10 17:49+0200\n" +"Last-Translator: Alan Mortensen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Om" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Afslut" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Søgningen gav intet resultat" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Prøv en anden søgning." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Indlæser …" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopiér tegn" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Tegn kopieret til udklipsholderen" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Ingen seneste fundne tegn" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tegn vises her, hvis du bruger dem." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Nuværende side" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Sortér efter skrifttype" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Tegn" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Tegnoversigtsprogram" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Tegn er et simpelt hjælpeværktøj til at finde og indsætte usædvanlige tegn. " +"Det giver dig mulighed for hurtigt at finde tegn, du leder efter, ved at " +"søge efter nøgleord." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Du kan også gennemse tegn efter kategorier såsom tegnsætning, billeder osv." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Tegn" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Hjælpeværktøj til at finde og indsætte usædvanlige tegn" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "tegn;unicode;tegnsætning;matematik;bogstaver;emoji;smiley;humørikon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Skrifttype som tegn skal vises med" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Brug skrifttypen til at vise tegn i tegnlisten." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksimum antal seneste tegn" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojier" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Bogstaver & symboler" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Tegnsætning" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Pile" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Prikker" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Billeder" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valutaer" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematik" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Bogstaver" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smileyer & mennesker" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Dyr & natur" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Mad & drikke" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktiviteter" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Rejse & steder" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekter" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboler" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Flag" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Listerække for kategorien %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Senest brugte" + +#: src/character.js:56 +msgid "See Also" +msgstr "Se også" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s er ikke inkluderet i %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Ikke tildelt" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Programmet Tegn" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Programmet Tegn startet" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Programmet Tegn afslutter" + +#: src/menu.js:50 +msgid "None" +msgstr "Ingen" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Ukendt tegn-navn" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Kris Thomsen\n" +"scootergrisen\n" +"Alan Mortensen\n" +"\n" +"Dansk-gruppen \n" +"Mere info: http://www.dansk-gruppen.dk" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tegnoversigt" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (kun %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Tegnliste for %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Liste over senest brugte %s-tegn" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Søgeresultat for tegnliste" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Søgeresultat" + +#~ msgid "Emoticons" +#~ msgstr "Humørikoner" + +#~ msgid "Try another search criteria." +#~ msgstr "Prøv et andet søgekriterium." + +#~ msgid "characters;unicode;" +#~ msgstr "tegn;unicode;" diff --git a/po/de.gmo b/po/de.gmo new file mode 100644 index 0000000..70a5cf3 Binary files /dev/null and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..47e82af --- /dev/null +++ b/po/de.po @@ -0,0 +1,283 @@ +# German translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Christian Kirbach , 2015. +# Paul Seyfert , 2015. +# Bernd Homuth , 2016. +# Mario Blättermann , 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 21:38+0200\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Info" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Beenden" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Suche ergab keine Treffer" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Versuchen Sie eine andere Suche." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Laden …" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Zeichen kopieren" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Zeichen in die Zwischenablage kopiert" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Es wurden keine bereits verwendeten Zeichen gefunden" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Zeichen erschienen hier, sobald Sie diese verwenden." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Aktuelle Seite" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Nach Schriftart filtern" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Zeichen" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Zeichentabelle-Anwendung" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Zeichen ist ein einfaches Hilfsprogramm zum Auffinden und Einsetzen von " +"selten verwendeten Zeichen. Sie können schnell das gesuchte Zeichen finden, " +"indem Sie nach Schlüsselwörtern suchen." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Sie können ebenfalls nach Kategorie suchen, wie z.B. nach Zeichensetzung " +"oder Bildern." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Zeichen" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Hilfsprogramm zum Auffinden und Einsetzen von selten benutzen Zeichen" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "Zeichen;Unicode;Zeichensetzung;Math;Buchstaben;Smilies;Emoji;Emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Schriftart zum Anzeigen von Zeichen" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Die zu verwendende Schriftart zum Anzeigen von Zeichen in der Zeichenliste." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximale Anzahl zuletzt betrachteter Zeichen" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Buchstaben und Symbole" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Satzzeichen" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Pfeile" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Aufzählungspunkte" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Bilder" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Währungen" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Mathematik" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Buchstaben" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Grafische Emoticons und Menschen" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Natur und Tiere" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Essen und Trinken" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktivitäten" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Reise und Orte" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekte" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symbole" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Flaggen" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s Kategorielistenzeile" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Zuletzt verwendet" + +#: src/character.js:56 +msgid "See Also" +msgstr "Siehe auch" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s ist nicht in %s enthalten" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nicht zugeordnet" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Zeichen-Anwendung" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Zeichen-Anwendung gestartet" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Zeichen-Anwendung wird beendet" + +#: src/menu.js:50 +msgid "None" +msgstr "Keine" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Unbekannter Zeichenname" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Christian Kirbach , 2015\n" +"Bernd Homuth , 2015, 2016\n" +"Paul Seyfert , 2015" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Zeichentabelle" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (nur %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s Zeichenliste" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Kürzlich verwendete %s-Zeichenliste" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Suchergebnisse der Zeichenliste" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Suchergebnis" diff --git a/po/el.gmo b/po/el.gmo new file mode 100644 index 0000000..7572686 Binary files /dev/null and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..96bb515 --- /dev/null +++ b/po/el.po @@ -0,0 +1,325 @@ +# Greek translation for gnome-characters. +# Copyright (C) 2014 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Dimitris Spingos , 2014. +# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. +# Efstathios Iosifidis , 2015, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-08 08:40+0000\n" +"PO-Revision-Date: 2017-09-12 22:22+0300\n" +"Last-Translator: Tom Tryfonidis \n" +"Language-Team: Greek, Modern (1453-) \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.3\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Περί" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Έξοδος" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Δεν υπάρχουν αποτελέσματα" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Δοκιμάστε μια διαφορετική αναζήτηση" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Φόρτωση…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Αντιγραφή χαρακτήρα" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Χαρακτήρας που αντιγράφτηκε στο πρόχειρο" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Δεν βρέθηκαν πρόσφατοι χαρακτήρες" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Οι χαρακτήρες θα εμφανίζονται εδώ αν χρησιμοποιούνται." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Τρέχουσα σελίδα" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Φιλτράρισμα κατά γραμματοσειρά" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Χαρακτήρες GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Εφαρμογή χαρακτήρων " + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Η εφαρμογή «Χαρακτήρες» είναι μια απλή βοηθητική εφαρμογή εύρεσης και " +"εισαγωγής σπάνιων χαρακτήρων. Σας επιτρέπει να βρείτε γρήγορα τον χαρακτήρα " +"που ψάχνετε αναζητώντας λέξεις κλειδιά." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Μπορείτε επίσης να περιηγηθείτε στους χαρακτήρες κατά κατηγορίες, όπως " +"στίξη, εικόνες κ.λπ." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Χαρακτήρες" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Βοηθητική εφαρμογή εύρεσης και εισαγωγής σπάνιων χαρακτήρων" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"χαρακτήρες;σημείο στίξης;μαθηματικά;γράμματα;εικονίδιο διάθεσης;characters;" +"unicode;punctuation;math;letters;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Γραμματοσειρά που θα εμφανίσει χαρακτήρες" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Χρησιμοποιεί τη γραμματοσειρά για να αποδώσει τους χαρακτήρες στη λίστα " +"χαρακτήρων." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Μέγιστοι πρόσφατοι χαρακτήρες" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Γράμματα & σύμβολα" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Στίξη" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Βέλη" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Κουκκίδες" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Εικόνες" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Νομίσματα" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Μαθηματικά" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Γράμματα" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Χαμόγελα & άτομα" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Ζώα & φύση" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Φαγητό & ποτό" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Δραστηριότητες" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Ταξίδια & τοποθεσίες" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Αντικείμενα" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Σύμβολα" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Σημαίες" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Σειρά λίστας χαρακτήρων %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Πρόσφατα χρησιμοποιημένα" + +#: src/character.js:56 +msgid "See Also" +msgstr "Δείτε επίσης" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Το %s δεν υπάρχει στο %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Μη καθορισμένο" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Εφαρμογή χαρακτήρων " + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Άρχισε η εφαρμογή χαρακτήρων" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Έξοδος από την εφαρμογή χαρακτήρων" + +#: src/menu.js:50 +msgid "None" +msgstr "Kανένα" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Άγνωστο όνομα χαρακτήρα" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Ελληνική μεταφραστική ομάδα GNOME\n" +" Δημήτρης Σπίγγος \n" +" Θάνος Τρυφωνίδης \n" +"\n" +"Για περισσότερες πληροφορίες, επισκεφθείτε τη σελίδα\n" +"http://gnome.gr/" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Πίνακας χαρακτήρων" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (μόνο %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Λίστα χαρακτήρων %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Πρόσφατα χρησιμοποιημένη λίστα χαρακτήρων %s" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Αποτέλεσμα αναζήτησης λίστας χαρακτήρων" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Αποτέλεσμα αναζήτησης" + +#~ msgid "Emoticons" +#~ msgstr "Εικονίδια διάθεσης" + +#~ msgid "Try another search criteria." +#~ msgstr "Δοκιμάστε διαφορετικά κριτήρια αναζήτησης." + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;χαρακτήρες;" + +#~ msgid "About Characters" +#~ msgstr "Περί Χαρακτήρες" + +#~ msgid "_New" +#~ msgstr "_Νέο" + +#~ msgid "About Example" +#~ msgstr "Παράδειγμα για το περί" + +#~ msgid "Type to Search" +#~ msgstr "Πληκτρολογήστε για αναζήτηση" + +#~ msgid "JS Application" +#~ msgstr "Εφαρμογή JS" + +#~ msgid "Demo JS Application and template" +#~ msgstr "Παρουσίαση εφαρμογής JS και προτύπου" + +#~ msgid "gtk;gjs;demo;development;" +#~ msgstr "gtk;gjs;demo;development;παρουσίαση;ανάπτυξη;" + +#~ msgid "Latin" +#~ msgstr "Λατινικά" + +#~ msgid "Done" +#~ msgstr "Έτοιμο" diff --git a/po/en@boldquot.header b/po/en@boldquot.header new file mode 100644 index 0000000..fedb6a0 --- /dev/null +++ b/po/en@boldquot.header @@ -0,0 +1,25 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# +# This catalog furthermore displays the text between the quotation marks in +# bold face, assuming the VT100/XTerm escape sequences. +# diff --git a/po/en@quot.header b/po/en@quot.header new file mode 100644 index 0000000..a9647fc --- /dev/null +++ b/po/en@quot.header @@ -0,0 +1,22 @@ +# All this catalog "translates" are quotation characters. +# The msgids must be ASCII and therefore cannot contain real quotation +# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +# and double quote (0x22). These substitutes look strange; see +# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +# +# This catalog translates grave accent (0x60) and apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019). +# It also translates pairs of apostrophe (0x27) to +# left single quotation mark (U+2018) and right single quotation mark (U+2019) +# and pairs of quotation mark (0x22) to +# left double quotation mark (U+201C) and right double quotation mark (U+201D). +# +# When output to an UTF-8 terminal, the quotation characters appear perfectly. +# When output to an ISO-8859-1 terminal, the single quotation marks are +# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +# grave/acute accent (by libiconv), and the double quotation marks are +# transliterated to 0x22. +# When output to an ASCII terminal, the single quotation marks are +# transliterated to apostrophes, and the double quotation marks are +# transliterated to 0x22. +# diff --git a/po/en_GB.gmo b/po/en_GB.gmo new file mode 100644 index 0000000..5d999b5 Binary files /dev/null and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..bffe481 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,229 @@ +# British English translation for gnome-characters. +# Copyright (C) 2016 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Bruce Cowan , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-09-08 09:06+0000\n" +"PO-Revision-Date: 2016-09-08 11:54+0100\n" +"Last-Translator: Bruce Cowan \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "About" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Quit" + +#: data/characterlist.ui:30 +msgid "Search produced empty result" +msgstr "Search produced empty result" + +#: data/characterlist.ui:41 +msgid "Try another search criteria." +msgstr "Try another search criteria." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Loading…" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "No recent characters found" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "Characters will appear here if you use them." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copy Character" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Character copied to clipboard" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Current page" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filter by Font" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "GNOME Characters" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Character map application" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Characters" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utility application to find and insert unusual characters" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "characters;unicode;punctuation;maths;letters;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Font to display characters" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Use the font to render characters on the character list." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximum recent characters" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "Recently Used" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "Punctuation" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "Arrows" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "Bullets" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "Pictures" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "Currencies" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "Maths" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "Letters" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "Emoticons" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s Category List Row" + +#: src/character.js:53 +msgid "See Also" +msgstr "See Also" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s is not included in %s" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Characters Application" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Characters Application started" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Characters Application exiting" + +#: src/menu.js:50 +msgid "None" +msgstr "None" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Unknown character name" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "Bruce Cowan " + +#: src/window.js:167 +msgid "Character Map" +msgstr "Character Map" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s only)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s Character List" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "Search Result Character List" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "Search Result" diff --git a/po/eo.gmo b/po/eo.gmo new file mode 100644 index 0000000..153f1ae Binary files /dev/null and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..1c73e7e --- /dev/null +++ b/po/eo.po @@ -0,0 +1,201 @@ +# Esperanto translation for gnome-characters. +# Copyright (C) 2015 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnome-characters package. +# Baptiste DARTHENAY , 2015. +# Kristjan SCHMIDT , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2015-09-29 06:45+0000\n" +"PO-Revision-Date: 2015-10-04 01:36+0200\n" +"Last-Translator: Kristjan SCHMIDT \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.4\n" +"X-Project-Style: gnome\n" + +#: ../data/app-menu.ui.h:1 +msgid "About Characters" +msgstr "Pri Signoj" + +#: ../data/app-menu.ui.h:2 +msgid "Quit" +msgstr "Ĉesi" + +#: ../data/characterlist.ui.h:1 +msgid "Search produced empty result" +msgstr "La serĉo produktis malplenan rezulton" + +#: ../data/characterlist.ui.h:2 +msgid "Try another search criteria." +msgstr "Provi aliajn serĉajn kriteriojn." + +#: ../data/characterlist.ui.h:3 +msgid "Loading…" +msgstr "Ŝargante…" + +#: ../data/characterlist.ui.h:4 +msgid "No recent characters found" +msgstr "Ne trovis lastatempan signojn" + +#: ../data/characterlist.ui.h:5 +msgid "Characters will appear here if you use them." +msgstr "Signoj aperos ĉi tie se vi uzas ilin." + +#: ../data/character.ui.h:1 +msgid "Copy Character" +msgstr "Kopii signon" + +#: ../data/mainwindow.ui.h:1 +msgid "Current page" +msgstr "Aktuala paĝo" + +#: ../data/menu.ui.h:1 +msgid "Filter by font" +msgstr "Filtri laŭ tiparo" + +#: ../data/org.gnome.Characters.appdata.xml.in.h:1 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Signoj estas simpla utila aplikaĵo por trovi kaj enmeti nekutimajn signojn. " +"Ĝi permesas al vi rapide trovi la signon kiun vi serĉas per serĉi " +"ŝlosilvortojn." + +#: ../data/org.gnome.Characters.appdata.xml.in.h:2 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Vi ankaŭ povas foliumi signojn laŭ kategorioj, kiel Interpunkcio, Bildoj, " +"ktp." + +#: ../data/org.gnome.Characters.desktop.in.h:1 ../src/service.js:51 +msgid "Characters" +msgstr "Signoj" + +#: ../data/org.gnome.Characters.desktop.in.h:2 +msgid "Utility application to find and insert unusual characters" +msgstr "Utila programo por trovi kaj enmeti nekutimajn signojn" + +#: ../data/org.gnome.Characters.desktop.in.h:3 +msgid "characters;unicode;" +msgstr "signoj;unikodo;" + +#: ../data/org.gnome.Characters.gschema.xml.h:1 +msgid "Font to display characters" +msgstr "Tiparo por montri signojn" + +#: ../data/org.gnome.Characters.gschema.xml.h:2 +msgid "Use the font to render characters on the character list." +msgstr "Uzi la tiparon por bildigi signojn sur la signo-listo." + +#: ../data/org.gnome.Characters.gschema.xml.h:3 +msgid "Maximum recent characters" +msgstr "Maksimumaj lastatempaj signoj" + +#: ../src/categoryList.js:33 +msgid "Recently Used" +msgstr "Lasttempe uzataj" + +#: ../src/categoryList.js:39 +msgid "Punctuation" +msgstr "Interpunkcio" + +#: ../src/categoryList.js:45 +msgid "Arrows" +msgstr "Sagoj" + +#: ../src/categoryList.js:51 +msgid "Bullets" +msgstr "Kugloj" + +#: ../src/categoryList.js:57 +msgid "Pictures" +msgstr "Bildoj" + +#: ../src/categoryList.js:63 +msgid "Currencies" +msgstr "Valutoj" + +#: ../src/categoryList.js:69 +msgid "Math" +msgstr "Matematiko" + +#: ../src/categoryList.js:75 +msgid "Letters" +msgstr "Leteroj" + +#: ../src/categoryList.js:81 +msgid "Emoticons" +msgstr "Miensimboloj" + +#: ../src/categoryList.js:96 +msgid "%s Category List Row" +msgstr "%s kategoria listvico" + +#: ../src/character.js:52 +msgid "See Also" +msgstr "Vidu ankaŭ" + +#: ../src/character.js:114 +msgid "Unicode U+%04s" +msgstr "Unikodo U+%04s" + +#: ../src/main.js:58 +msgid "Characters Application" +msgstr "Signa programo" + +#: ../src/main.js:95 +msgid "Characters Application started" +msgstr "Signa programo ekis" + +#: ../src/main.js:103 +msgid "Characters Application exiting" +msgstr "Signa programo finas" + +#: ../src/menu.js:39 +msgid "None" +msgstr "Neniu" + +#: ../src/searchProvider.js:94 +msgid "Unknown character name" +msgstr "Nekonata signo-nomo" + +#: ../src/searchProvider.js:97 +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: ../src/window.js:165 +msgid "translator-credits" +msgstr "Kristjan SCHMIDT, Baptiste DARTHENAY" + +#: ../src/window.js:166 +msgid "GNOME Characters" +msgstr "GNOME Signoj" + +#: ../src/window.js:167 +msgid "Character Map" +msgstr "Signo-mapo" + +#: ../src/window.js:187 +msgid "%s (%s only)" +msgstr "%s(%s nur)" + +#: ../src/window.js:273 +msgid "%s Character List" +msgstr "%s signo-listo" + +#: ../src/window.js:280 +msgid "Search Result Character List" +msgstr "Serĉrezulto de signo-listo" diff --git a/po/es.gmo b/po/es.gmo new file mode 100644 index 0000000..9ab291e Binary files /dev/null and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..812f558 --- /dev/null +++ b/po/es.po @@ -0,0 +1,304 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Irene Sáez Sanz , 2015. +# +# lcapalbo , 2016. +# Daniel Mustieles , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters.master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 12:59+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: es \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Acerca de" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Salir" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "La búsqueda no ha producido resultados" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Pruebe a hacer una búsqueda diferente." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Cargando…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiar carácter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Carácter copiado al portapapeles" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "No se han encontrado caracteres recientes" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Aquí aparecerán los caracteres si los usa." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Página actual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrar por tipografía" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caracteres de GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicación de mapa de caracteres" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caracteres es una sencilla aplicación para buscar e insertar caracteres poco " +"habituales. Le permite buscar rápidamente el carácter que está buscando " +"usando palabras clave." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Puede examinar los caracteres por categorías, tales como Puntuación, " +"Imágenes, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caracteres" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" +"Aplicación de utilidad para buscar y encontrar caracteres poco habituales" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caracteres;unicode;puntuación;matemáticas;letras;emoji;emoticono;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Tipografía para mostrar los caracteres" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Usar la tipografía para renderizar los caracteres en la lista de caracteres." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Número máximo de caracteres recientes" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoticonos" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letras y símbolos" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puntuación" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Flechas" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Topos" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imágenes" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Monedas" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemáticas" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letras" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Caritas y personas" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animales y naturaleza" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Comida y bebida" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Actividades" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viajes y lugares" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objetos" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Símbolos" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Banderas" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Fila de lista de categorías %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Usados recientemente" + +#: src/character.js:56 +msgid "See Also" +msgstr "Consulte también" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s no está incluido en %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "No asignado" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicación Caracteres" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplicación Caracteres iniciada" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Saliendo de la aplicación Caracteres" + +#: src/menu.js:50 +msgid "None" +msgstr "Ninguno" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nombre de carácter desconocido" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Daniel Mustieles , 2015" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa de caracteres" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s solo)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Lista de caracteres %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Lista de caracteres de tipo %s usados recientemente" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Buscar en la lista de resultados de caracteres" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Buscar resultados" + +#~ msgid "Emoticons" +#~ msgstr "Emoticonos" + +#~ msgid "Try another search criteria." +#~ msgstr "Pruebe otro criterio de búsqueda." + +#~ msgid "characters;unicode;" +#~ msgstr "caracteres;unicode;" + +#~ msgid "About Characters" +#~ msgstr "Acerca de Caracteres" + +#~ msgid "Latin" +#~ msgstr "Latín" + +#~ msgid "_New" +#~ msgstr "_Nuevo" + +#~ msgid "Type to Search" +#~ msgstr "Escribir para buscar" diff --git a/po/eu.gmo b/po/eu.gmo new file mode 100644 index 0000000..2902b6c Binary files /dev/null and b/po/eu.gmo differ diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..6864b71 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,244 @@ +# Basque translation for gnome-characters. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# +# Iñaki Larrañaga Murgoitio , 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-01-18 21:52+0000\n" +"PO-Revision-Date: 2017-01-27 11:25+0100\n" +"Last-Translator: \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Honi buruz" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Irten" + +#: data/characterlist.ui:30 +#| msgid "Search produced empty result" +msgid "Search found no results" +msgstr "Bilaketak ez du emaitzarik aurkitu" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Saiatu bestelako bilaketa batekin." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Kargatzen..." + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "Ez da azken aldian erabilitako karaktererik aurkitu" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "Karaktereak hemen agertuko dira erabiltzen badituzu." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopiatu karakterea" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Karakterea arbelean kopiatuta" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Uneko orria" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Iragazi letra-tipoaren arabera" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "GNOMEren Karaktereak" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Karaktere-maparen aplikazioa" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"'Karaktereak' aplikazio xume bat da ohikoak ez diren karaktereak bilatu eta " +"txertatzeko. Gako-hitzen arabera bilatzea nahi duzun karakterea bizkor " +"aurkitzen du." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Kategorien arabera ere araka ditzakezu karaktereak. Hala nola, puntuazioa, " +"irudiak, eta abar." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Karaktereak" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Aplikazio bat da ohikoak ez diren karaktereak bilatu eta txertatzeko" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "karaktereak;unicode;puntuazioa;matematika;hizkiak;aurpegierak;ikurrak;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Letra-tipoa karaktereak bistaratzeko" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Erabili letra-tipoa karaktereak karaktereen zerrendan marrazteko." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Gehienezko azken karaktereak" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "Duela gutxi erabilita" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "Puntuazioa" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "Geziak" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "Buletak" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "Irudiak" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "Dibisak" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "Hizkiak" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "Aurpegierak" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "'%s' kategoria-zerrendako errenkada" + +#: src/character.js:53 +msgid "See Also" +msgstr "Ikus halaber" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "'%s' ez dago '%s' letra-tipoan" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Esleitu gabea" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "'Karaktereak' aplikazioa" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "'Karaktereak' aplikazioa abiarazita" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "'Karaktereak' aplikaziotik irteten" + +#: src/menu.js:50 +msgid "None" +msgstr "Bat ere ez" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Karakterearen izena ezezaguna" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "Iñaki Larrañaga Murgoitio " + +#: src/window.js:167 +msgid "Character Map" +msgstr "Karaktere-mapa" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s soilik)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s karaktere-zerrenda" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "Bilaketaren emaitzako karaktere-zerrenda" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "Bilaketaren emaitzak" + +#~ msgid "Try another search criteria." +#~ msgstr "Saiatu bilaketa beste irizpide batekin." + +#~ msgid "About Characters" +#~ msgstr "'Karaktereak' buruz" + +#~ msgid "characters;unicode;" +#~ msgstr "karaktereak;unicode;" diff --git a/po/fa.gmo b/po/fa.gmo new file mode 100644 index 0000000..95b19cd Binary files /dev/null and b/po/fa.gmo differ diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 0000000..c90eedf --- /dev/null +++ b/po/fa.po @@ -0,0 +1,289 @@ +# Persian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Arash Mousavi , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-22 22:19+0330\n" +"Last-Translator: Arash Mousavi \n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "درباره" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "خروج" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "جستجو نتیجه‌ای نداشت" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "یک جست‌وجو دیگر را امتحان کنید." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "درحال بارگیری…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "رونوشت از نویشه" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "نویسه به تخته‌گیره رونوشت شد" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "هیچ نویسه‌ای که که اخیرا استفاده شده باشد پیدا نشد" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "نویسه اگر از آنها استفاده کنید اینجا ظاهر می‌شوند." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "صفحه فعلی" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "صافی بر اساس قلم" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "نویسه‌های گنوم" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "برنامه نمایشگر نویسه‌ها" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"نویسه‌ها یک ابزار ساده برای پیدا کردن و وارد کردن نویسه‌های غیر معمول است. به " +"شما اجازه می‌دهد تا به سرعت یک نویسه را که بدنبالش هستید را با جستجوی کلمات " +"کلیدی مرتبط، پیدا کنید." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"شما همچنین می‌توانید نویسه‌ها را بر اساس دسته‌بندی، مثل نقطه‌گذاری، تصاویر و غیره " +"بیابید." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "نویسه‌ها" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "ابزاری برای پیدا و وارد کردن نویسه‌های غیرمعمول" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;نویسه‌ها;یونیکد;" +"ریاضی;حروف;شکلک;نقطه‌گذاری;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "قلم برای نمایش نویسه‌ها" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "از قلم برای رندر نویسه‌ها در فهرست نویسه استفاده کنید." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "بیشینه‌ی نویسه‌های اخیر" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "ایموجی‌ها" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "حروف و علائم" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "نقطه‌گذاری" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "پیکان‌ها" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "نقطه‌ها" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "تصاویر" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "ارزها" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "ریاضی" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "حروف" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "شکلک‌ها و افراد" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "حیوانات و طبعیت" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "غذا و نوشیدنی" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "فعالیت‌ها" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "مسافرت و مکان‌ها" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "اشیاء" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "علائم" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "پرچم‌ها" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "ردیفِ فهرستِ شاخه %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "اخیرا استفاده شده" + +#: src/character.js:56 +msgid "See Also" +msgstr "همچنین ببینید" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "یونیکد U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s در %s وجود ندارد" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "اختصاص نیافته" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "برنامه نویسه‌ها" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "برنامه نویسه‌ها شروع بکار کرد" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "برنامه نویسه‌ها در حال خروج است" + +#: src/menu.js:50 +msgid "None" +msgstr "هیچ‌کدام" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "نام نویسه ناشناس" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s، %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "آرش موسوی " + +#: src/window.js:201 +msgid "Character Map" +msgstr "نقشه نویسه‌ها" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s فقط)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "فهرست نویسه %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "فهرست نویسه‌های %s به تازگی استفاده شده" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "فهرست نویسه‌های نتیجه جستجو" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "نتایج جست‌وجو" + +#~ msgid "Try another search criteria." +#~ msgstr "یک محدوده جستجو دیگر را امتحان کنید" + +#~ msgid "Emoticons" +#~ msgstr "شکلک‌ها" + +#~ msgid "About Characters" +#~ msgstr "درباره نویسه‌ها" + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;نویسه‌ها;یونیکد;" diff --git a/po/fi.gmo b/po/fi.gmo new file mode 100644 index 0000000..c85ce8b Binary files /dev/null and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..c62d0b8 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,291 @@ +# Finnish translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# FIRST AUTHOR , YEAR. +# Jiri Grönroos , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 09:32+0300\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: suomi \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Tietoja" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Lopeta" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Haku ei tuottanut tuloksia." + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Kokeile eri hakuehtoja." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Ladataan…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopioi merkki" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Merkki kopioitu leikepöydälle" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Viimeisimpiä merkkejä ei löytynyt" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tänne ilmestyy merkkejä, kun käytät niitä." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Nykyinen sivu" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Suodata fontin perusteella" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Gnomen merkit" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Merkkikarttasovellus" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Merkit on yksinkertainen sovellus, jonka avulla on mahdollista etsiä ja " +"syöttää epätavallisia merkkejä. Voit etsiä merkkejä käyttäen hakusanoja." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Voit myös selata merkkejä luokkien perusteella, esimerkiksi välimerkkejä, " +"kuvia jne." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Merkit" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Sovellus epätavallisten merkkien etsintään ja syöttämiseen" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;merkit;kirjaimet;" +"hymiöt;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Fontti, jolla merkit näytetään" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Merkkiluettelossa olevien merkkien renderöintiin käytettävä fontti." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Äskettäisten merkkien enimmäismäärä" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojit" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Kirjaimet ja symbolit" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Välimerkit" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Nuolet" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Luettelomerkit" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Kuvat" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valuutat" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematiikka" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Kirjaimet" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Hymiöt ja ihmiset" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Eläimet ja luonto" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Ruoka ja juoma" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktiviteetit" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Matkustaminen" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objektit" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symbolit" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Liput" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s luokkaluettelon sarake" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Äskettäin käytetty" + +#: src/character.js:56 +msgid "See Also" +msgstr "Katso myös" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Merkki %s ei sisälly fonttiin %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Määrittämätön" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Merkkisovellus" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Merkkisovellus käynnistetty" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Merkkisovellus suljetaan" + +#: src/menu.js:50 +msgid "None" +msgstr "Ei mitään" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Tuntematon merkin nimi" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Jiri Grönroos" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Merkkikartta" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (vain %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s - Merkkiluettelo" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Äskettäin käytetty \"%s\"-merkkiluettelo" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Hakutulosten merkkiluettelo" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Hakutulos" + +#~ msgid "Emoticons" +#~ msgstr "Hymiöt" + +#~ msgid "Try another search criteria." +#~ msgstr "Kokeile eri hakuehtoja." + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;merkit;" + +#~ msgid "About Characters" +#~ msgstr "Tietoja - Merkit" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 0000000..92e4d27 Binary files /dev/null and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..332936d --- /dev/null +++ b/po/fr.po @@ -0,0 +1,280 @@ +# French translation for gnome-characters. +# Copyright (C) 2015-2016 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Guillaume Bernard , 2015. +# Charles Monzat , 2017. +# Alain Lojewski , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-characters/" +"issues\n" +"POT-Creation-Date: 2018-02-08 10:05+0000\n" +"PO-Revision-Date: 2018-02-09 09:54+0100\n" +"Last-Translator: Alain Lojewski \n" +"Language-Team: français \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "À propos" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Quitter" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "La recherche n’a donné aucun résultat" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Essayez une recherche différente." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Chargement…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copier le caractère" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caractère copié dans le presse-papiers" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Aucun caractère récent trouvé" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Les caractères apparaîtront ici si vous les utilisez." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Page actuelle" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrer par police" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "Caractères de GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Application de la table de caractères" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caractères est un utilitaire pour chercher et insérer des caractères " +"inhabituels. Il vous permet de trouver rapidement le caractère que vous " +"cherchez par le biais de mots-clés." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Vous pouvez aussi naviguer dans les caractères par catégories, comme par " +"Ponctuation, Images, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caractères" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilitaire pour chercher et insérer des caractères inhabituels." + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caractères;unicode;ponctuation;math;lettres;emoji;émoticône;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Police d’affichage des caractères" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Utiliser la police pour afficher la liste des caractères." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Nombre maximal de caractères récents" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Lettres et symboles" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Ponctuation" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Flèches" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Puces" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Images" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Monnaies" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Math" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Lettres" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Émoticônes et personnages" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animaux et nature" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Nourriture et boisson" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activités" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Voyages et lieux" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objets" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboles" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Drapeaux" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Ligne de la catégorie %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Récemment utilisé" + +#: src/character.js:56 +msgid "See Also" +msgstr "Voir aussi" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s n’est pas inclus dans %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Non assigné" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Application Caractères" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Application Caractères démarée" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Fermeture de l'application Caractères" + +#: src/menu.js:50 +msgid "None" +msgstr "Aucun" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nom de caractère inconnu" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s : %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "" +"Guillaume Bernard \n" +"Alain Lojewski " + +#: src/window.js:200 +msgid "Character Map" +msgstr "Table de caractères" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s seulement)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "Liste de caractères %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Liste de caractères %s récemment utilisée" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Liste des caractères issus de la recherche" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Résultat de la recherche" diff --git a/po/fur.gmo b/po/fur.gmo new file mode 100644 index 0000000..f4dc1b5 Binary files /dev/null and b/po/fur.gmo differ diff --git a/po/fur.po b/po/fur.po new file mode 100644 index 0000000..e7ee061 --- /dev/null +++ b/po/fur.po @@ -0,0 +1,288 @@ +# Friulian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Fabio Tomat , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-04 15:56+0200\n" +"Last-Translator: Fabio Tomat \n" +"Language-Team: Friulian \n" +"Language: fur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Informazions" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Jes" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "La ricercje no à dât nissun risultât" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Prove une ricercje diferente." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Daûr a cjamâ..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copie caratar" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caratar copiât tes notis" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nissun caratar resint cjatât" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "I caratars a vegnin listâts chi cuant che a vegnin doprâts." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pagjine atuâl" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtri par Caratar" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caratars GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicazion des mapis caratars" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caratars al è un sempliç program par la ricercje e l'inseriment di caratars " +"insolits. Al permet di cirî di corse dai caratars a mieç di une ricercje par " +"peraulis clâf." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Al è pussibil ancje esplorâ i caratars par categorie come puntuazions, " +"figuris, ecc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caratars" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Aplicazion par cirî e inserî caratars insolits" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caratars;unicode;puntuazion;matematiche;letaris;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Il gjenar di caratar di doprâ pe visualizazion" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Dopre il gjenar di caratar definît pe visualizazion dai caratars." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Massim numar di caratars recents" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letaris e simbui" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puntuazion" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Frecis" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Listis" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Figuris" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valudis" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematiche" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letaris" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Musutis e personis" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Bestiis e nature" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Mangjâ e bevi" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Ativitâts" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viaçs e lûcs" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Ogjets" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simbui" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bandieris" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Rie liste categorie %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Doprâts di recent" + +#: src/character.js:56 +msgid "See Also" +msgstr "Viodi ancje" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nol è includût in %s" + +# no assegnade? +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "No assegnât" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicazion caratars" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplicazion caratars inviade" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Aplicazion caratars daûr a jessî" + +#: src/menu.js:50 +msgid "None" +msgstr "Nissun" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Non caratar no cognossût" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Fabio Tomat " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tabele caratars" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (nome %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Liste caratars %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Liste caratars di %s doprade di resint" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Liste caratars de ricercje" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Risultâts de ricercje" + +#~ msgid "Emoticons" +#~ msgstr "Emoticon" + +#~ msgid "Try another search criteria." +#~ msgstr "Provâ cuntun altri criteri di ricercje" + +#~ msgid "characters;unicode;" +#~ msgstr "unicode;caratars;" + +#~ msgid "About Characters" +#~ msgstr "Informazions su Caratars" diff --git a/po/gd.gmo b/po/gd.gmo new file mode 100644 index 0000000..5413337 Binary files /dev/null and b/po/gd.gmo differ diff --git a/po/gd.po b/po/gd.po new file mode 100644 index 0000000..0f6e9df --- /dev/null +++ b/po/gd.po @@ -0,0 +1,288 @@ +# Scottish Gaelic translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# GunChleoc , 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters gnome-3-22\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-characters/issues\n" +"POT-Creation-Date: 2018-02-08 10:05+0000\n" +"PO-Revision-Date: 2018-02-23 09:51+0100\n" +"Last-Translator: GunChleoc \n" +"Language-Team: Fòram na Gàidhlig\n" +"Language: gd\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Mu dhèidhinn" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Fàg an-seo" + +#: data/characterlist.ui:30 +#| msgid "Search produced empty result" +msgid "Search found no results" +msgstr "Cha deach toradh a lorg" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Feuch lorg eile." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "’Ga luchdadh…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Dèan lethbhreac dhen charactar" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Chaidh lethbhreac dhen charactar a chur dhan stòr-bhòrd" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Cha deach caractar o chionn goirid a lorg" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Nochdaidh caractaran an-seo nuair a chleachdas tu iad." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "An duilleag làithreach" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Criathraich a-rèir crutha-chlò" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "Caractaran GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplacaid mapa charactaran" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"’S e goireas simplidh a th’ ann an Caractaran gus caractaran sònraichte a " +"lorg ’s a chur ann. Leigidh e leat an caractar a tha thu ag iarraidh a lorg " +"gu luath le taic faclan-luirg." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"’S urrainn dhut na caractaran a bhrabhsadh a-rèir roinn-seòrsa cuideachd, " +"can puingeachadh, dealbhan is msaa." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caractaran" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Goireas gus caractaran sònraichte a lorg ’s a chur ann" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;caractaran;" +"puingeachadh;matamataig;litrichean;litir;samhlaidhean-gnùis;samhla-gnùis;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "An cruth-clò gus na caractaran a shealltainn" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"cleachd an cruth-clò seo gus na caractaran air liosta nan caractaran a " +"reandaradh." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Uiread as motha nan caractaran o chionn goirid" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Litrichean ⁊ samhlaidhean" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puingeachadh" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Saighdean" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Peilearan" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Dealbhan" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Airgeadrathan" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matamataig" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Litrichean" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Samhlaidhean-gnùis ⁊ daoine" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Beathaichean ⁊ an nàdar" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Biadh ⁊ deoch" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Gnìomhachdan" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Siubhal ⁊ àitichean" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Nithean" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Samhlaidhean" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Brataichean" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Ràgh air liosta na roinne-seòrsa %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Air an cleachdadh o chionn ghoirid" + +#: src/character.js:56 +msgid "See Also" +msgstr "Faic cuideachd" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Chan eil %s am broinn %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Gun iomruineadh" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplacaid charactaran" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Chaidh aplacaid nan caractaran a thòiseachadh" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Tha aplacaid nan caractaran ’ga fàgail" + +#: src/menu.js:50 +msgid "None" +msgstr "Chan eil gin" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Ainm caractar nach aithne dhuinn" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "GunChleoc " + +#: src/window.js:200 +msgid "Character Map" +msgstr "Mapa nan caractaran" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s a-mhàin)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "Liosta charactaran %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Liosta charactaran %s o chionn ghoirid" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Liosta charactaran nan toraidhean luirg" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Toradh luirg" + +#~ msgid "Try another search criteria." +#~ msgstr "Feuch lorg eile." + +#~ msgid "Emoticons" +#~ msgstr "Samhlaidhean-gnùis" diff --git a/po/gl.gmo b/po/gl.gmo new file mode 100644 index 0000000..3194c77 Binary files /dev/null and b/po/gl.gmo differ diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..90f6108 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,290 @@ +# English translations for gnome-characters package. +# Copyright (C) 2015 THE gnome-characters'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Fran , 2015. +# Fran Dieguez , 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters gnome-3-18\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-30 22:18+0200\n" +"Last-Translator: Fran Dieguez \n" +"Language-Team: Galician\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Sobre" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Saír" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "A busca non devolveu resultados" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Probe con unha busca distinta." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Cargando…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiar caracter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caracter copiado ao portapapeis" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Non se atoparon caracteres recentes" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Os caracteres aparecerán aquí cando os use." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Páxina actual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrar por tipo de letra" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caracteres de GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicativo de mapa de caracteres" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caracteres é unha utilidade sinxela para buscar e inserir caracteres non " +"normais. Permítelle atopar de forma rápida o caracter que está buscando por " +"etiquetas." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Tamén pode explorar caracteres por categorías, como Puntuación, Imaxes, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caracteres" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilidade para atopar e inserir caracteres non usuais" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caracters;unicode;puntuación;matemático;letras;emoji;emoticono;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Tipo de letra para mostrar os caracteres" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Usar o tipo de letra para renderizar caracteres na lista de caracteres." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Número máximo de caracteres recentes" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letras e símbolos" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Puntuación" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Frechas" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Viñetas" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imaxes" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Moedas" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemáticas" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letras" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Cariñas e xente" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animais e natureza" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Comida e bebida" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Actividades" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viaxes e lugares" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Obxectos" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Símbolos" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bandeiras" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Fila da lista de categoría %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Usados recentemente" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vexa tamén" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s non está incluído en %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Non asignado" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicativo de caracteres" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplicativo Caracteres iniciado" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Saíndo do aplicativo Caracteres" + +#: src/menu.js:50 +msgid "None" +msgstr "Ningún" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nome de caracter descoñecido" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Fran Dieguez , 2015" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa de caracteres" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (só %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Lista de caracteres %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Lista de caracteres %s usados recentemente" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Lista de caracteres dos resultados da busca" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Resultados da busca" + +#~ msgid "Emoticons" +#~ msgstr "Emoticons" + +#~ msgid "Try another search criteria." +#~ msgstr "Probe con outros criterios de busca." + +#~ msgid "characters;unicode;" +#~ msgstr "caracteres;unicode;" + +#~ msgid "About Characters" +#~ msgstr "Sobre Caracteres" diff --git a/po/gu.gmo b/po/gu.gmo new file mode 100644 index 0000000..d8fdcd1 Binary files /dev/null and b/po/gu.gmo differ diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 0000000..ea4bf5e --- /dev/null +++ b/po/gu.po @@ -0,0 +1,225 @@ +# Gujarati translation for gnome-characters. +# Copyright (C) 2016 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# વિશાલ ભલાણી , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-08-28 04:41+0000\n" +"PO-Revision-Date: 2016-08-28 10:42+0200\n" +"Language-Team: Gujarati \n" +"Language: gu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: વિશાલ ભલાણી \n" +"X-Generator: Poedit 1.8.7.1\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "વિશે" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "બહાર નીકળો" + +#: data/characterlist.ui:30 +msgid "Search produced empty result" +msgstr "શોધનું પરિણામ ખાલી અાવ્યુ" + +#: data/characterlist.ui:41 +msgid "Try another search criteria." +msgstr "બીજો શોધ માપદંડથી પ્રયાસ કરો." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "લાવી રહ્યા છે" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "કોઈ તાજેતરના અક્ષરો મળ્યા નથી" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "જો તમે અક્ષરો વાપરસો તો તે અહીં દેખાશે." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "નકલ કરો" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "અક્ષરની ક્લિપબોર્ડ પર નકલ કરેલ છે" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "વર્તમાન પાનું" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "ફોન્ટથી ગાળો" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "GNOME અક્ષરો" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "અક્ષરનો નકશો એપલીકા" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"અક્ષરો ઓ શોધવા અને અસામાન્ય અક્ષરો દાખલ કરવા માટે એક સરળ ઉપયોગીતા એપ્લિકેશન છે. તે " +"તમને ઝડપથી તમારા કીવર્ડ્સ માટે અક્ષરને શોધવા માટે પરવાનગી આપે છે." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "તમે વિરામચિહ્ન, ચિત્રો, વગેરે દ્વારા પણ અક્ષરો બ્રાઉઝ કરી શકો છો." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "અક્ષરો" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "અક્ષરો શોધવા અને અસામાન્ય અક્ષરો દાખલ કરવા માટે એક સરળ ઉપયોગીતા એપ્લિકેશન" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "અક્ષરો;યુનિકોડ;ચિહ્ન;ગણીત;હાવભાવ;ભાવનાઓ;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "અક્ષરો દર્શાવા માટનાં ફોન્ટ" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "અક્ષર યાદી પર અક્ષરો દોરવા માટે ફોન્ટ ઉપયોગ કરો." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "મહત્તમ તાજેતરના અક્ષરો" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "તાજેતરમાં વાપરેલ" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "ચિહ્ન" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "તીરો" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "ગોળીઓ" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "ચિત્રો" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "ચલણ" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "ગણીત" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "અક્ષરો" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "ભાવનાઓ" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s વર્ગ યાદી ની લીટી" + +#: src/character.js:53 +msgid "See Also" +msgstr "પણ જુઓ" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "યુનિકોડ U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s નો સમાવેશ %s માં થયેલ નથી" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "અક્ષરો એપલીકા" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "અક્ષરો એપલીકા ચાલુ" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "અક્ષરો એપલીકા બંધ" + +#: src/menu.js:50 +msgid "None" +msgstr "કંઈ નહિં" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "અજ્ઞાત અક્ષર નામ" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "વિશાલ ભલાણી " + +#: src/window.js:167 +msgid "Character Map" +msgstr "અક્ષરનો નકશો" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s ફક્ત)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s અક્ષર યાદી" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "શોધનું પરિણામ અક્ષર યાદી" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "શોધનું પરિણામ" diff --git a/po/he.gmo b/po/he.gmo new file mode 100644 index 0000000..1c80d03 Binary files /dev/null and b/po/he.gmo differ diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..44cde15 --- /dev/null +++ b/po/he.po @@ -0,0 +1,261 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Yosef Or Boczko , 2014, 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-control-center.HEAD.he\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-08-25 15:44+0000\n" +"PO-Revision-Date: 2016-09-06 12:28+0300\n" +"Last-Translator: Yosef Or Boczko \n" +"Language-Team: עברית <>\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural= (n!=1);\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "על אודות" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "יציאה" + +#: data/characterlist.ui:30 +msgid "Search produced empty result" +msgstr "החיפוש לא הניב תוצאות" + +#: data/characterlist.ui:41 +msgid "Try another search criteria." +msgstr "ניתן לנסות תבחין אחר." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "בטעינה…" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "לא נמצאו תווים אחרונים" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "תווים יציג כאן אם הם בשימוש." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "העתקת תו" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "תו הועתק ללוח הגזירים" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "דף נוכחי" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "סינון לפי גופן" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "‏GNOME תווים" + +#: data/org.gnome.Characters.appdata.xml.in:5 +#| msgid "Characters Application" +msgid "Character map application" +msgstr "יישום מפת תווים" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"תווים זהו יישום שירות פשוט למציאה ולהכנסת תווים בלתי רגילים. הוא מאפשר לך " +"למצאו במהירות תווים שהנך מחפש באמצעות חיפוש מילות מפתח." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"כמו כן ניתן לדפדף בתווים באמצעות קטגוריות, כמו סימני פיסוק, תמונות וכו׳." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "תווים" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "יישום למציאה ולהכנסת תווים בלתי רגילים" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +#| msgid "Characters" +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"תו;תווים;יוניקוד;פיסוק;מתמטיקה;אותיות;חייכנים;רגשונים;סמיילים;סמיילי;רגשון;" +"חייכן;סמל הבעה;;ניקוד;טעמים;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Font to display characters" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Use the font to render characters on the character list." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximum recent characters" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "בשימוש לאחרונה" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "פסוק" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "חצים" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "תבליטים" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "תמונות" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "מטבעות" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "מתמטיקה" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "אותיות" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "פרצופונים" + +# הערות: +# הוספת הערה +# +# מבנה: +# JavaScript +# +# נתיבים: +# ../src/categoryList.js:94 +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s רשימת שורות קטגוריה" + +#: src/character.js:53 +msgid "See Also" +msgstr "ראו גם" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "יוניקוד ‎U+‎%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s אינו כלול בתוך %s" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "יישום תווים" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Characters Application started" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Characters Application exiting" + +#: src/menu.js:50 +msgid "None" +msgstr "אף אחד" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "שם תו לא ידוע" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "יוסף אור בוצ׳קו " + +#: src/window.js:167 +msgid "Character Map" +msgstr "מפת תווים" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s בלבד)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s רשימת תווים" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "תוצאות חיפוש תווים" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "תוצאות חיפוש" + +#~ msgid "characters;unicode;" +#~ msgstr "תווים;יוניקוד;" + +#~ msgid "About Characters" +#~ msgstr "על אודות תווים" + +#~ msgid "Latin" +#~ msgstr "לטינית" + +#~ msgid "_New" +#~ msgstr "_חדש" + +#~ msgid "About Example" +#~ msgstr "על אודות דוגמה" + +#~ msgid "Type to Search" +#~ msgstr "יש להקליד כדי לחפש" + +#~ msgid "Done" +#~ msgstr "בוצע" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000..13b8bbc Binary files /dev/null and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..d7fa6ad --- /dev/null +++ b/po/hr.po @@ -0,0 +1,280 @@ +# Croatian translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-07 20:19+0200\n" +"Last-Translator: gogo \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O programu" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Zatvori" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Nema pronađenih rezultata" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Pokušajte drugačiju pretragu" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Učitavanje…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopiraj znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Znak je kopiran u međuspremnik" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nema pronađenih nedavnih znakova" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Znakovi će se pojaviti ovdje ako ih korsitite." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Trenutna stranica" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtriraj po slovima" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME znakovi" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplikacij mape znakova" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Znakovi je mala aplikacija pomagala za pronalazak i umetanje neuobičajenih " +"znakova. Omogućuje vam brz pronalazak znaka kojeg tražite pretragom po " +"ključnoj riječi." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Isto tako možete pregledavati znakove po kategorijama, poput interpunkcija, " +"slika, itd." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Znakovi" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Aplikacija pomagala za pronalazak i umetanje neuobičajenih znakova" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "znakovi;unikôd;interpunkcija;matematika;slova;emoji;emotkoin;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Slovo za prikaz znaka" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Koristi slovo za prikaz znakova na popisu znaka." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Najviše nedavnih znakova" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Smajliji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Slova i simboli" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkcija" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Strelice" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Grafičke oznake" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Slike" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valute" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Slova" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smajliji i ljudi" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Životinje i priroda" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Hrana i piće" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktivnosti" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Putovanja i mjesta" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekti" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboli" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Zastave" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s redak popisa kategorije" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nedavno korišteno" + +#: src/character.js:56 +msgid "See Also" +msgstr "Još pogledajte" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikôd U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nije uključen u %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nedodjeljeno" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplikacija znakova" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplikacija znakova pokrenuta" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Aplikacija znakova zatvorena" + +#: src/menu.js:50 +msgid "None" +msgstr "Nepoznat" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nepoznat naziv znaka" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "gogo https://launchpad.net/~trebelnik-stefina" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa znaka" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s samo)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s popis znakova" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Nedavno korišten %s popis znakova" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Pretraži rezultat popisa znakova" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Rezult pretrage" + +#~ msgid "Emoticons" +#~ msgstr "Emotkoini" diff --git a/po/hu.gmo b/po/hu.gmo new file mode 100644 index 0000000..1e23e7a Binary files /dev/null and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..1c32107 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,282 @@ +# Hungarian translation for gnome-characters. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnome-characters package. +# +# Balázs Úr , 2014, 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-03 18:01+0200\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.2\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Névjegy" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Kilépés" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "A keresés nem talált semmit" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Próbáljon mást keresni." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Betöltés…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Karakter másolása" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Karakter vágólapra másolva" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nem találhatók legutóbbi karakterek" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "A karakterek itt fognak megjelenni, ha használja azokat." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Jelenlegi oldal" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Szűrés betűkészlet szerint" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Karakterek" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Karaktertérkép alkalmazás" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"A Karakterek egy egyszerű segédprogram alkalmazás szokatlan karakterek " +"kereséséhez és beszúrásához. Lehetővé teszi a keresett karakter gyors " +"megtalálását kulcsszavakra való kereséssel." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Böngészhet a karakterek között kategóriák szerint is, úgymint központozás, " +"képek, stb." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Karakterek" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" +"Segédprogram alkalmazás szokatlan karakterek kereséséhez és beszúrásához" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "karakterek;unicode;központozás;matematika;betűk;emodzsi;hangulatjel;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Betűkészlet a karakterek megjelenítéséhez" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"A betűkészlet használata a karakterek megjelenítéséhez a karakterlistán." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximális legutóbbi karakter" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Hangulatjelek" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Betűk és szimbólumok" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Központozás" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Nyilak" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Felsorolás" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Képek" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Pénznemek" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Betűk" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Mosolyok és emberek" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Állatok és természet" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Étel és ital" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Tevékenységek" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Utazás és helyek" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objektumok" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Szimbólumok" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Zászlók" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s kategórialista sor" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Legutóbb használt" + +#: src/character.js:56 +msgid "See Also" +msgstr "Lásd még" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nem található a következőben: %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nem kiosztott" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Karakterek alkalmazás" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Karakterek alkalmazás elindítva" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Karakterek alkalmazás kilépés" + +#: src/menu.js:50 +msgid "None" +msgstr "Nincs" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Ismeretlen karakternév" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Úr Balázs , 2014.\n" +"Meskó Balázs , 2017." + +#: src/window.js:201 +msgid "Character Map" +msgstr "Karaktertábla" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (csak %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s karakterlista" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Legutóbb használt %s karakterlista" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Keresési eredmény karakterlista" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Keresési eredmény" + diff --git a/po/id.gmo b/po/id.gmo new file mode 100644 index 0000000..04044da Binary files /dev/null and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..3553afe --- /dev/null +++ b/po/id.po @@ -0,0 +1,285 @@ +# Indonesian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Andika Triwidada , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 11:53+0700\n" +"Last-Translator: Kukuh Syafaat \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Ihwal" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Keluar" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Pencarian tidak menemukan hasil" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Coba pencarian yang berbeda." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Memuat…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Salin Karakter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Karakter disalin ke papan klip" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Tak ada karakter baru-baru ini yang ditemukan" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Karakter-karater akan muncul di sini bila Anda memakai mereka." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Halaman kini" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Saring menurut Fonta" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Karakter" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplikasi peta karakter" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Karakter adalah sebuah utilitas sederhana untuk mencari dan menyisipkan " +"karakter-karakter tak umum. Ini memungkinkan Anda mencari secara cepat " +"karakter yang Anda inginkan dengan mencari berdasarkan kata-kata kunci." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Anda juga dapat meramban karakter-karakter menurut kategori, seperti Tanda " +"Baca, Gambar, dsb." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Karakter" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" +"Aplikasi utilitas untuk mencari dan menyisipkan karakter-karakter tak umum" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"karakter;unikode;tanda baca;matematika;huruf;emoji;emotikon;unicode;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Fonta untuk menampilkan karakter-karakter" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Gunakan fonta untuk merender karakter-karakter pada daftar karakter." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksimum karakter baru-baru ini" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Huruf & Simbol" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Tanda Baca" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Panah" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Bulet" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Gambar" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Mata Uang" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Huruf" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Senyum & Orang" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Hewan & Alam" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Makanan & Minuman" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktivitas" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Perjalanan & Tempat" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objek" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simbol" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bendera" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Baris Daftar Kategori %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Baru-baru Ini Dipakai" + +#: src/character.js:56 +msgid "See Also" +msgstr "Lihat Juga" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s tidak termasuk dalam %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Belum ditetapkan" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplikasi Karakter" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplikasi Karakter dimulai" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Aplikasi Karakter keluar" + +#: src/menu.js:50 +msgid "None" +msgstr "Nihil" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nama karakter tak dikenal" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Andika Triwidada , 2015, 2016.\n" +"Kukuh Syafaat , 2017." + +#: src/window.js:201 +msgid "Character Map" +msgstr "Peta Karakter" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (hanya %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Daftar Karakter %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Daftar Karakter %s yang Baru Saja Digunakan" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Daftar Karakter Hasil Pencarian" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Hasil Pencarian" + +#~ msgid "Emoticons" +#~ msgstr "Emoticon" + +#~ msgid "Try another search criteria." +#~ msgstr "Cobalah kriteria pencarian lain." diff --git a/po/insert-header.sin b/po/insert-header.sin new file mode 100644 index 0000000..b26de01 --- /dev/null +++ b/po/insert-header.sin @@ -0,0 +1,23 @@ +# Sed script that inserts the file called HEADER before the header entry. +# +# At each occurrence of a line starting with "msgid ", we execute the following +# commands. At the first occurrence, insert the file. At the following +# occurrences, do nothing. The distinction between the first and the following +# occurrences is achieved by looking at the hold space. +/^msgid /{ +x +# Test if the hold space is empty. +s/m/m/ +ta +# Yes it was empty. First occurrence. Read the file. +r HEADER +# Output the file's contents by reading the next line. But don't lose the +# current line while doing this. +g +N +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/is.gmo b/po/is.gmo new file mode 100644 index 0000000..79f493e Binary files /dev/null and b/po/is.gmo differ diff --git a/po/is.po b/po/is.po new file mode 100644 index 0000000..f5d13e5 --- /dev/null +++ b/po/is.po @@ -0,0 +1,292 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-08 08:34+0000\n" +"PO-Revision-Date: 2017-09-25 17:33+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Um hugbúnaðinn" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Hætta" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Leit skilaði engum niðurstöðum" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Reyna aðra leit." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Hleð..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Afrita staftákn" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Stafur afritaður á klippispjaldið" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Engir nýlegir stafir fundust" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Stafir munu birtast hér ef þú hefur notað þá." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Núverandi síða" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Sía eftir leturgerð" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Stafir" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Stafatöfluforrit" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Stafataflan Characters er einfalt nytjatól til að finna og setja inn " +"óvenjuleg staftákn. Fljótlegt er að finna táknið sem þú leitar að með því að " +"setja inn stikkorð." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Þú getur skoðað staftákn eftir flokkum, eins og Myndir, Greinamerki o.s.frv." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Stafir" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" +"Nytjatól til að setja inn óvenjuleg staftákn (t.d. sem eru ekki á lyklaborði)" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"stafir;staftákn;unicode;greinamerki;stærðfræði;tjáningartákn;emoji;merki;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Letur fyrir birtingu stafa" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Nota letrið fyrir birtingu stafa í stafalistanum." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Hámarksfjöldi nýlegra stafa" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Tjáningartákn" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Stafir og tákn" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Greinamerki" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Örvar" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Áherslumerki" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Myndir" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Gjaldmiðlar" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Stærðfræði" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Stafir" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Fólk og broskarlar" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Dýr og náttúra" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Matur og drykkur" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Athafnir" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Staðir og ferðalög" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Hlutir" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Táknmerki" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Fánar" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s röð í flokkalista" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nýlega notað" + +#: src/character.js:56 +msgid "See Also" +msgstr "Sjá einnig" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s er ekki innifalið í %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Ekki úthlutað" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Stafaforrit" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Stafaforrit ræsist" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Stafaforrit hættir" + +#: src/menu.js:50 +msgid "None" +msgstr "Ekkert" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Óþekkt heiti á staftákni" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Áki G. Karlsson \n" +"Samúel Jón Gunnarsson \n" +"Sveinn í Felli " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Stafatafla" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (einungis %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s stafalisti" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Nýlega notaður %s stafalisti" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Listi með leitarniðurstöðum" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Leitarniðurstöður" + +#~ msgid "Emoticons" +#~ msgstr "Tjáningartákn" + +#~ msgid "Try another search criteria." +#~ msgstr "Prófa önnur leitarskilyrði." + +#~ msgid "About Characters" +#~ msgstr "Um hugbúnaðinn" + +#~ msgid "characters;unicode;" +#~ msgstr "stafir;staftákn;unicode;" diff --git a/po/it.gmo b/po/it.gmo new file mode 100644 index 0000000..a969b81 Binary files /dev/null and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..33d36fe --- /dev/null +++ b/po/it.po @@ -0,0 +1,285 @@ +# Italian translation of gnome-characters. +# Copyright (C) 2015, 2016, 2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the gnome-characters package. +# Milo Casagrande , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 15:07+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.12\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Informazioni" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Esci" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Nessun risultato trovato" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Provare un altro criterio di ricerca." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Caricamento…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copia carattere" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Carattere copiato negli appunti" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nessun carattere recente trovato" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "I caratteri sono elencati qui quando vengono usati." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pagina corrente" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtra per carattere" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Caratteri GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Applicazione caratteri" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caratteri è un semplice programma per la ricerca e l'inserimento di " +"caratteri insoliti. Consente di cercare velocemente dei caratteri attraverso " +"una ricerca per parole chiave." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"È anche possibile esplorare il caratteri per categorie come punteggiatura, " +"immagini, ecc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caratteri" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Applicazione per cercare e inserire caratteri insoliti" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"caratteri;carattere;unicode;punteggiatura;matematica;lettere;emoji;emoticon;" +"faccine;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Il tipo di carattere da usare per la visualizzazione" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Usa il tipo di carattere definito per la visualizzazione dei caratteri." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Massimo numero di caratteri recenti" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Lettere e simboli" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Punteggiatura" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Frecce" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Elenchi" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Immagini" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valute" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematica" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Lettere" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Faccine e persone" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animali e natura" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Cibo e bevande" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Attività" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viaggi e luoghi" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Oggetti" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboli" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bandiere" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Riga elenco categoria %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Usati di recente" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vedere anche" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s non è incluso in %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Non assegnato" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Applicazione Caratteri" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Applicazione Caratteri avviata" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Applicazione Caratteri terminata" + +#: src/menu.js:50 +msgid "None" +msgstr "Nessuno" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nome carattere sconosciuto" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Milo Casagrande " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tabella caratteri" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (solo %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Elenco caratteri %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Elenco «%s» usati di recente" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Elenco caratteri ricerca" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Risultati ricerca" + +#~ msgid "Emoticons" +#~ msgstr "Emoticon" + +#~ msgid "Try another search criteria." +#~ msgstr "Provare un'altra ricerca." diff --git a/po/ja.gmo b/po/ja.gmo new file mode 100644 index 0000000..cdde49d Binary files /dev/null and b/po/ja.gmo differ diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..b7f5051 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,275 @@ +# Japanese translations for org.gnome.Characters package. +# Copyright (C) 2015 THE org.gnome.Characters'S COPYRIGHT HOLDER +# This file is distributed under the same license as the org.gnome.Characters package. +# Daiki Ueno , 2015. +# Jiro Matsuzawa , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: org.gnome.Characters 3.15.91.1\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-25 14:04+0200\n" +"PO-Revision-Date: 2017-09-04 09:19+0200\n" +"Last-Translator: Jiro Matsuzawa \n" +"Language-Team: Japanese\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "このアプリケーションについて" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "終了" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "見つかりません" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "他のキーワードを試してください" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "読み込み中…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "文字をコピー" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "文字をクリップボードにコピーしました" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "最近使われた文字はありません" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "文字を使うとここに表示されます" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "現在のページ" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "フォントで絞り込み" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Characters" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "文字マップアプリケーション" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Characters は珍しい文字を探して挿入するためのシンプルなユーティリティです。" +"キーワード検索により、素早く文字を発見できます。" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "また、句読点記号や絵文字のようなカテゴリ別に閲覧することもできます。" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "文字" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "珍しい文字を探して挿入するためのユーティリティ" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "文字;unicode;句読点;数字;絵文字;顔文字;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "文字を表示するためのフォント" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "文字一覧に文字を描画するのにそのフォントを使います。" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "最近使われた文字の最大記憶数" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "絵文字" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "文字とシンボル" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "句読点記号" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "矢印記号" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "見出し記号" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "絵文字" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "通貨記号" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "数学記号" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "文字記号" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "顔文字と人" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "動物と自然" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "食品と飲料" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "活動" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "旅行と場所" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "物体" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "シンボル" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "旗" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s カテゴリの行" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "最近の使用" + +#: src/character.js:56 +msgid "See Also" +msgstr "関連項目" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "文字 %s はフォント %s に含まれていません" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "未割り当て" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Characters アプリケーション" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Characters アプリケーションが開始しました" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Characters アプリケーションが終了しました" + +#: src/menu.js:50 +msgid "None" +msgstr "なし" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "文字の名前が不明" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Daiki Ueno\n" +"松澤 二郎 " + +#: src/window.js:201 +msgid "Character Map" +msgstr "文字マップ" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s のみ)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s の文字一覧" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "最近使われた %s の文字一覧" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "検索結果の文字一覧" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "検索結果" diff --git a/po/kk.gmo b/po/kk.gmo new file mode 100644 index 0000000..f5f997e Binary files /dev/null and b/po/kk.gmo differ diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 0000000..0b48622 --- /dev/null +++ b/po/kk.po @@ -0,0 +1,286 @@ +# Kazakh translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Baurzhan Muftakhidinov , 2015-2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-04 20:53+0500\n" +"Last-Translator: Baurzhan Muftakhidinov \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.12\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Осы туралы" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Шығу" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Іздеу нәтижелерді қайтармады" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Басқа сөздерді іздеп көріңіз." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Жүктеу…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Таңбаны көшіріп алу" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Таңба алмасу буферіне көшірілді" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Жуырдағы таңбалар табылмады" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Таңбаларды қолдансаңыз, олар осында көрсетіледі." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Ағымдағы бет" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Қаріп бойынша сүзгілеу" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME таңбалар қолданбасы" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Таңбалар картасы қолданбасы" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Таңбалар - бұл сирек кездесетін таңбаларды табу және кірістіру үшін арналған " +"қолданба. Оның көмегімен сіз кілт сөздер көмегімен керек таңбаларды жылдам " +"таба аласыз." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Сонымен бірге, сіз таңбаларды санаттар бойынша шола аласыз, мыс. емле " +"таңбалары, суреттер және т.б." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Таңбалар" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Сирек кездесетін таңбаларды табу және кірістіру үшін арналған қолданба" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;таңбалар;юникод;" +"емле;математика;әріптер;эмодзи;смайлик;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Таңбаларды көрсету қарібі" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Бұл қаріпті таңбалар тізіміндегі таңбаларды көрсету үшін қолдану." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Жуырдағы таңбалардың макс. саны" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Эмодзи" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Әріптер және таңбалар" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Емле таңбалары" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Сызықшалар" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Маркерлер" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Суреттер" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Қаржылар" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Математика" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Әріптер" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Смайликтер және адамдар" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Жануарлар және табиғат" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Тамақ және сусындар" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Белсенділіктер" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Саяхат және орындар" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Объекттер" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Таңбалар" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Жалаулар" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s санаттар тізімінің жолы" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Жақында қолданылған" + +#: src/character.js:56 +msgid "See Also" +msgstr "Тағы қараңыз" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s %s ішінде жоқ" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Тағайындалмаған" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Таңбалар қолданбасы" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Таңбалар қолданбасы іске қосылды" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Таңбалар қолданбасы жұмысын аяқтауда" + +#: src/menu.js:50 +msgid "None" +msgstr "Ешнәрсе" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Таңба аты белгісіз" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Baurzhan Muftakhidinov " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Таңбалар картасы" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (тек %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s таңбалар тізімі" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Соңғы қолданылған %s таңбалар тізімі" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Іздеу нәтижесінің таңбалар тізімі" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Іздеу нәтижесі" + +#~ msgid "Emoticons" +#~ msgstr "Смайликтер" + +#~ msgid "Try another search criteria." +#~ msgstr "Басқа іздеу шартын қолданып көріңіз." + +#~ msgid "characters;unicode;" +#~ msgstr "таңбалар;unicode;юникод;" diff --git a/po/ko.gmo b/po/ko.gmo new file mode 100644 index 0000000..e06a953 Binary files /dev/null and b/po/ko.gmo differ diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..1da811f --- /dev/null +++ b/po/ko.po @@ -0,0 +1,278 @@ +# Korean translation for gnome-characters. +# Copyright (C) 2015, 2016 Seong-ho Cho, et al. +# This file is distributed under the same license as the gnome-characters package. +# Seong-ho Cho , 2015-2017. +# DaeHyun Sung , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-02 06:47+0000\n" +"PO-Revision-Date: 2017-09-02 16:15+0900\n" +"Last-Translator: DaeHyun Sung \n" +"Language-Team: 한국어 \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.8.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "정보" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "끝내기" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "검색 결과가 없습니다" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "다른 단어로 검색하십시오." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "불러오는 중…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "문자 복사" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "클립보드에 문자를 복사했습니다" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "최근 문자가 없습니다" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "사용한 문자가 여기에 나타납니다." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "현재 페이지" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "글꼴로 구분" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "그놈 문자 도구" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "문자 표 프로그램" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"문자 도구는 자주 사용하지 않는 문자를 찾아 입력하는 단순한 유틸리티 프로그램" +"입니다. 찾아볼 문자를 단어로 빨리 찾아볼 수 있습니다." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "구두기호, 그림 등의 분류 방식으로 문자를 찾아볼 수 있습니다." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "문자 도구" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "자주 사용하지 않는 문자를 찾아 입력하는 유틸리티 프로그램" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;문자;unicode;유니코드;punctuation;구두기호;math;수학;letters;언어" +"문자;emoji;이모지;emoticon;이모티콘;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "문자를 표시할 글꼴" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "문자 목록에 문자를 표현하려 글꼴을 사용합니다." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "최대 최근 사용 문자" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "이모지" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "문자와 기호" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "구두 기호" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "화살표" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "문단 기호" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "그림 문자" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "화폐 단위" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "수학기호" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "문자" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "표정과 사람" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "동물과 자연" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "음식과 음료" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "활동" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "여행과 장소" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "사물" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "기호" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "국기" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s 분류 목록" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "최근 사용" + +#: src/character.js:56 +msgid "See Also" +msgstr "더 보기" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "유니코드 U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s이(가) %s에 없습니다" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "할당하지 않음" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "문자 도구 프로그램" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "문자 도구 프로그램을 시작했습니다" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "문자 도구 프로그램이 이미 실행중입니다" + +#: src/menu.js:50 +msgid "None" +msgstr "없음" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "알 수 없는 문자 이름" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "조성호 \n" +"성대현 " + +#: src/window.js:201 +msgid "Character Map" +msgstr "문자표" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s(%s만)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s 문자 목록" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "최근 사용한 %s 문자 목록" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "검색 결과 문자 목록" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "검색 결과" + diff --git a/po/ln.gmo b/po/ln.gmo new file mode 100644 index 0000000..5640d62 Binary files /dev/null and b/po/ln.gmo differ diff --git a/po/ln.po b/po/ln.po new file mode 100644 index 0000000..12516a5 --- /dev/null +++ b/po/ln.po @@ -0,0 +1,200 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Arnauld NEDATI , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-03-05 10:19+0000\n" +"PO-Revision-Date: 2016-05-25 09:32+0100\n" +"Last-Translator: Arnauld NEDATI \n" +"Language-Team: lingala \n" +"Language: ln\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../data/app-menu.ui.h:1 +msgid "About" +msgstr "Oyo etalí" + +#: ../data/app-menu.ui.h:2 +msgid "Quit" +msgstr "Bima" + +#: ../data/characterlist.ui.h:1 +msgid "Search produced empty result" +msgstr "Boluki épesi rézita moko tê" + +#: ../data/characterlist.ui.h:2 +msgid "Try another search criteria." +msgstr "Meka klítɛlɛ ya boluki mosusu." + +#: ../data/characterlist.ui.h:3 +msgid "Loading…" +msgstr "kotómbisa..." + +#: ../data/characterlist.ui.h:4 +msgid "No recent characters found" +msgstr "Monkoma moko tɛ̂ ya kala tɛ̂ émonani" + +#: ../data/characterlist.ui.h:5 +msgid "Characters will appear here if you use them." +msgstr "Minkoma bikomonana awa soki oseleli yango." + +#: ../data/character.ui.h:1 +msgid "Copy Character" +msgstr "Kopi monkomá" + +#: ../data/character.ui.h:2 +msgid "Character copied to clipboard" +msgstr "Monkoma ékopiami na zau" + +#: ../data/mainwindow.ui.h:1 +msgid "Current page" +msgstr "Lonkasa ya sikawa" + +#: ../data/menu.ui.h:1 +msgid "Filter by Font" +msgstr "Kokɔngɔlɔ na polosi" + +#: ../data/org.gnome.Characters.appdata.xml.in.h:1 +msgid "Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for by searching for keywords." +msgstr "Minkoma ézali ntoma mpona koluka mpe bakisa minkoma ya momeseno tê. Ezo sunga yo mpona kokuta na lombangu monkoma ozali koluka na nzéla ya liloba-mamá." + +#: ../data/org.gnome.Characters.appdata.xml.in.h:2 +msgid "You can also browse characters by categories, such as Punctuation, Pictures, etc." +msgstr "Okoki mpe koluka minkoma na katégoli, lokola na bilembo bya bokomi, bilili, etc." + +#: ../data/org.gnome.Characters.desktop.in.h:1 +#: ../src/service.js:51 +msgid "Characters" +msgstr "Minkomá" + +#: ../data/org.gnome.Characters.desktop.in.h:2 +msgid "Utility application to find and insert unusual characters" +msgstr "Ntómo mpona koluka mpe bakisa minkoma ya momeseno tê" + +#: ../data/org.gnome.Characters.desktop.in.h:3 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "Minkoma;unikɔdɛ;bilembo bya bokomi;matématíki;minkandá;emoji;emoticon;" + +#: ../data/org.gnome.Characters.gschema.xml.h:1 +msgid "Font to display characters" +msgstr "Polosi ya bomonisi ya minkoma" + +#: ../data/org.gnome.Characters.gschema.xml.h:2 +msgid "Use the font to render characters on the character list." +msgstr "Salela polosi pona komonisa lisite ya minkoma." + +#: ../data/org.gnome.Characters.gschema.xml.h:3 +msgid "Maximum recent characters" +msgstr "Motuya ya suka ya minkoma ya kala tɛ̂" + +#: ../src/categoryList.js:33 +msgid "Recently Used" +msgstr "Esalelami sika" + +#: ../src/categoryList.js:39 +msgid "Punctuation" +msgstr "Bilembo bya bokomi" + +#: ../src/categoryList.js:45 +msgid "Arrows" +msgstr "Likulá" + +#: ../src/categoryList.js:51 +msgid "Bullets" +msgstr "Bakabulɛ" + +#: ../src/categoryList.js:57 +msgid "Pictures" +msgstr "Bilílí" + +#: ../src/categoryList.js:63 +msgid "Currencies" +msgstr "Mbɔ́ngɔ" + +#: ../src/categoryList.js:69 +msgid "Math" +msgstr "Matématíki" + +#: ../src/categoryList.js:75 +msgid "Letters" +msgstr "Minkandá" + +#: ../src/categoryList.js:81 +msgid "Emoticons" +msgstr "Bilembo sáí" + +#: ../src/categoryList.js:95 +msgid "%s Category List Row" +msgstr "%s Lisite ya linie ya katégoli" + +#: ../src/character.js:53 +msgid "See Also" +msgstr "Tala mpe" + +#: ../src/character.js:117 +#: ../src/character.js:139 +msgid "Unicode U+%04s" +msgstr "Unikɔdɛ U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: ../src/character.js:135 +msgid "%s is not included in %s" +msgstr "% Etiyami na káti tê %" + +#: ../src/main.js:58 +msgid "Characters Application" +msgstr "Esáliseli ya minkoma" + +#: ../src/main.js:95 +msgid "Characters Application started" +msgstr "Esáliseli ya minkoma ebandí" + +#: ../src/main.js:103 +msgid "Characters Application exiting" +msgstr "Bobimi ya ésáliseli ya minkoma " + +#: ../src/menu.js:50 +msgid "None" +msgstr "Mɔ̌kɔ́ tɛ̂" + +#: ../src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Nkombo ya monkoma eyébání tɛ̂" + +#: ../src/searchProvider.js:100 +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: ../src/window.js:165 +msgid "translator-credits" +msgstr "Arnauld Nedati " + +#: ../src/window.js:166 +msgid "GNOME Characters" +msgstr "GNOME Minkoma" + +#: ../src/window.js:167 +msgid "Character Map" +msgstr "Tablo ya monkoma" + +#: ../src/window.js:187 +msgid "%s (%s only)" +msgstr "%s (%s kaka)" + +#: ../src/window.js:273 +msgid "%s Character List" +msgstr "%s Lísite ya minkoma" + +#: ../src/window.js:280 +msgid "Search Result Character List" +msgstr "Lisite ya monkoma sima ya boluki" + diff --git a/po/lt.gmo b/po/lt.gmo new file mode 100644 index 0000000..0a382ce Binary files /dev/null and b/po/lt.gmo differ diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..662daf0 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,292 @@ +# Lithuanian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# FULL NAME , 2015. +# Aurimas Černius , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-03 23:14+0300\n" +"Last-Translator: Aurimas Černius \n" +"Language-Team: Lietuvių \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Apie" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Išeiti" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Paieška negrąžino jokių rezultatų" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Bandykite kitą paiešką." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Įkeliama…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopijuoti simbolį" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Simbolis nukopijuotas į iškarpinę" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nėra neseniai naudotų simbolių" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Simboliai bus matomi čia, jei juos naudosite." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Dabartinis puslapis" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtruoti pagal šriftą" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME simboliai" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Simbolių žemėlapio programa" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Simboliai yra paprasta programa simbolių suradimui ir įterpimui. Ji leidžia " +"greitai rasti pageidaujamą simbolį ieškant raktinių žodžių." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Taip pat galite ieškoti simbolių pagal kategorijas, tokias kaip skyrybos " +"ženklai, paveikslėliai ir kt." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Simboliai" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Programa neįprastų simbolių suradimui ir įterpimui" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "simboliai;unikodas;skyryba;matematika;raidės;šypsniukai;emotikonos;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Šriftas simbolių parodymui" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Naudoti šrifto piešėją simboliams sąraše." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Didžiausiais neseniai naudotų simbolių skaičius" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Raidės ir simboliai" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Skyrybos ženklai" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Rodyklės" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Punktai" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Paveikslėliai" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valiutos" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematiniai" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Raidės" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Šypsniukai ir žmonės" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Gyvūnai ir gamta" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Maistas ir gėrimai" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Veiklos" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Kelionės ir vietos" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objektai" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboliai" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Požymiai" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s kategorijų sąrašo eilutė" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Neseniai naudoti" + +#: src/character.js:56 +msgid "See Also" +msgstr "Taip pat žiūrėti" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikodas U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nėra įtrauktas į %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nepriskirta" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Simbolių programa" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Simbolių programa paleista" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Simbolių programa baigia darbą" + +#: src/menu.js:50 +msgid "None" +msgstr "Nėra" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nežinomas simbolio pavadinimas" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Išvertė:\n" +"Aurimas Černius " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Simbolių žemėlapis" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (tik %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s simbolių sąrašas" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Neseniai naudotų %s simbolių sąrašas" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Paieškos rezultatų simbolių sąrašas" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Paieškos rezultatai" + +#~ msgid "Emoticons" +#~ msgstr "Šypsniukai" + +#~ msgid "Try another search criteria." +#~ msgstr "Bandykite kitus paieškos kriterijus." + +#~ msgid "characters;unicode;" +#~ msgstr "simboliai;unikodas;" + +#~ msgid "About Characters" +#~ msgstr "Apie simbolius" diff --git a/po/lv.gmo b/po/lv.gmo new file mode 100644 index 0000000..29a8c02 Binary files /dev/null and b/po/lv.gmo differ diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..894b83f --- /dev/null +++ b/po/lv.po @@ -0,0 +1,281 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Rūdolfs Mazurs , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-c" +"haracters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-03 19:22+0200\n" +"Last-Translator: Rūdolfs Mazurs \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :" +" 2);\n" +"X-Generator: Lokalize 2.0\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Par" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Iziet" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Nekas netika atrasts" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Mēģiniet ar citu meklējamo vārdu." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Ielādē…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopēt rakstzīmi" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Rakstzīme ir iekopēta starpliktuvē" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nav atrastu neseno rakstzīmju" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Rakstzīmes parādīsies šeit, ja tās izmantosiet." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pašreizējā lapa" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrēt pēc fonta" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME rakstzīmes" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Rakstzīmju tabulu lietotne" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Rakstzīmes ir vienkārša utilītprogramma, lai atrastu un ievietotu neparastas " +"rakstzīmes. Tā ļauj ātri atrast vajadzīgās rakstzīmes, meklējot atslēgvārdus." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Rakstzīmes varat pārlūkot pēc kategorijām, piemēram, interpunkcija un attēli." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Rakstzīmes" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilītprogramma neparastu rakstzīmju meklēšanai un ievietošanai" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "rakstzīmes;unikods;interpunkcija;matemātika;burti;emocijas;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Fonts, kurā attēlot rakstzīmes" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Izmantot fontu, lai attēlotu rakstzīmju sarakstā esošās rakstzīmes." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksimālais neseno rakstzīmju skaits" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emocijzīmes" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Burti un simboli" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkcija" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Bultas" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Aizzīmes" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Attēli" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valūtas" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemātika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Burti" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smaidiņi un cilvēki" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Dzīvnieki un daba" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Ēdieni un dzērieni" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktivitātes" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Ceļošana un vietas" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekti" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboli" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Karogi" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s kategoriju saraksta rinda" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nesen lietotās" + +#: src/character.js:56 +msgid "See Also" +msgstr "Skatīt arī" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikods U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nav iekļauts %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nav piešķirts" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Rakstzīmju lietotne" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Rakstzīmju lietotne ir palaista" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Rakstzīmju lietotne tiek aizvērta" + +#: src/menu.js:50 +msgid "None" +msgstr "Nekas" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nezināms rakstzīmes nosaukums" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Rūdolfs Mazurs " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Rakstzīmju tabula" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s tikai)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s rakstzīmju saraksts" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Nesen izmantoto %s rakstzīmju saraksts" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Meklēšanas rezultātu rakstzīmju saraksts" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Meklēšanas rezultāts" + +#~ msgid "Emoticons" +#~ msgstr "Emocijas" + +#~ msgid "Try another search criteria." +#~ msgstr "Mēģiniet citu meklēšanas kritēriju." diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000..cb7909d --- /dev/null +++ b/po/meson.build @@ -0,0 +1 @@ +i18n.gettext(characters_name, preset: 'glib') diff --git a/po/ml.gmo b/po/ml.gmo new file mode 100644 index 0000000..84bc469 Binary files /dev/null and b/po/ml.gmo differ diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 0000000..942975c --- /dev/null +++ b/po/ml.po @@ -0,0 +1,280 @@ +# Malayalam translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Remya rajan.r 2017 +# sonima k.p.r 2017 +# sajan.k.s 2017 +# muhammed kasim e 2017 +# neethu.v r 2017 +# Anish Sheela , 2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-02 07:52+0000\n" +"PO-Revision-Date: 2017-09-30 17:04+0530\n" +"Last-Translator: Anish Sheela \n" +"Language-Team: Swatantra Malayalam Computing \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.4\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "ഗ്നോം ക്യാരക്ടറിനെ കുറിച്ച്" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "പുറത്ത് കടക്കുക" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "തിരയുന്ന വിവരം ലഭ്യമല്ല" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "വ്യത്യസ്ത രീതിയില്‍ തിരയാന്‍ ശ്രമിക്കുക." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "വന്നുക്കൊണ്ടിരിക്കുന്നു…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "അക്ഷരങ്ങള്‍ പകര്‍ത്തുക" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "അക്ഷരങ്ങള്‍ ക്ലിപ്ബോര്‍ഡിലേക്ക് പകര്‍ത്തുക" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "സമീപകാലത്ത് അക്ഷരങ്ങള്‍ ഉപയോഗിച്ചിട്ടില്ല" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "അക്ഷരങ്ങള്‍ ഉപയോഗിക്കുകയാണെങ്കില്‍ ഇവിടെ ലഭ്യമാകും." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "നിലവിലുള്ള താള്‍" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "അക്ഷരങ്ങളുടെ വിവിധ രൂപങ്ങളെ തെളിച്ചെടുക്കുക" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "ഗ്നോം ക്യാരക്റ്റേഴ്സ്" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "അക്ഷരങ്ങളുടെ വഴികാട്ടി" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"ക്യാരക്ടര്‍ എന്നത് ലളിതമായി ഉപയോഗിക്കാവുന്ന അപ്ലിക്കേഷന്‍ ആണ്.ഇത് അപൂര്‍വ്വമായ ക്യാരക്ടറെ കണ്ടെത്തുകയും കൂട്ടിച്ചേര്‍ക്കുകയും ചെയ്യുന്നു.നിങ്ങള്‍ നല്‍കുന്ന സൂചകപദങ്ങളെ വേഗത്തില്‍ കണ്ടെത്തുന്നതിന് ഇത് " +"അനുവദിക്കുന്നു." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "You can also browse characters by categories, such as Punctuation, Pictures, etc." +msgstr "ചിത്രങ്ങള്‍ , ചിഹ്നങ്ങള്‍ മുതലായവ വിഭാഗങ്ങളായി ക്രമത്തില്‍ നിങ്ങളെ തിരയാം." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "ക്യാരക്റ്റേഴ്സ്" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "അപൂര്‍വ്വ അക്ഷരങ്ങളെ കണ്ടെത്താനും ചേര്‍ക്കാനുമുള്ള ഉപാധി" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "characters;unicode;punctuation;math;letters;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "അക്ഷരങ്ങളുടെ വിവിധ രൂപങ്ങളെ പ്രദര്‍ശിപ്പിക്കുക" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "അക്ഷരവിന്യാസക്രമം അക്ഷരങ്ങളെ ക്യാരക്റ്റര്‍ പട്ടികയില്‍ വിന്യസിക്കുന്നു." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "ലഭ്യമായ പരമാവധി അക്ഷരങ്ങള്‍" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "ഇമോജികൾ" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "അക്ഷരങ്ങളും ചിഹ്നങ്ങളും" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "ചിഹ്നങ്ങള്‍" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "സൂചികകള്‍" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "ബുള്ളറ്റ്" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "ചിത്രങ്ങള്‍" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "കറന്‍സി" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "കണക്ക്" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "അക്ഷരങ്ങള്‍" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "സ്മൈലികളും ജനങ്ങളും" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "മൃഗങ്ങളും പ്രകൃതിയും" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "ഭക്ഷണവും പാനീയവും" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "പ്രവർത്തനങ്ങൾ" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "യാത്രകളും സ്ഥലങ്ങളും" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "സാധനങ്ങള്‍" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "ചിഹ്നങ്ങള്‍" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "കൊടികള്‍" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s വര്‍ഗ്ഗീകരണ പട്ടിക" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "അടുത്തിടെ ഉപയോഗിച്ചത്" + +#: src/character.js:56 +msgid "See Also" +msgstr "ഇതുംകൂടി കാണുക" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "യുണീകോഡ് U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s എന്നത് %s എന്നതില്‍ ഉള്‍പ്പെടുത്തിയിട്ടില്ല" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "ക്രമീകരിക്കാത്തത്" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "ക്യാരക്റ്റേഴ്സ് അപ്ലിക്കേഷന്‍" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "ക്യാരക്റ്റര്‍ തുടങ്ങുന്നു" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "ക്യാരക്റ്ററില്‍ നിന്ന് പുറത്ത്കടക്കുന്നു" + +#: src/menu.js:50 +msgid "None" +msgstr "യാതൊന്നുമില്ല" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "അപരിചിതമായ അക്ഷരം" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s:%s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"അനീഷ് ഷീല \n" +"ഗായത്രി എന്‍\n" +"അതുല്‍ ആര്‍ ടി" + +#: src/window.js:201 +msgid "Character Map" +msgstr "ക്യാരക്റ്റര്‍ വഴികാട്ടി" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s മാത്രം)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s ക്യാരക്ടര്‍ പട്ടിക" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "അടുത്തിടെ ഉപയോഗിച്ച %s ക്യാരക്ടര്‍ പട്ടിക" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "തിരഞ്ഞ ഫലങ്ങളുടെ പട്ടിക" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "തിരഞ്ഞ ഫലങ്ങള്‍" + +#~ msgid "Emoticons" +#~ msgstr "വികാരചിഹ്നങ്ങള്‍" diff --git a/po/nb.gmo b/po/nb.gmo new file mode 100644 index 0000000..7907892 Binary files /dev/null and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..9d4886b --- /dev/null +++ b/po/nb.po @@ -0,0 +1,272 @@ +# Norwegian bokmål translation of gnome-characters. +# Copyright (C) 2003-2005 Free Software Foundation, Inc. +# Kjartan Maraas , 2003-2017. +# Terance Edward Sola , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters 3.26.x\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-11-05 12:59+0100\n" +"Last-Translator: Kjartan Maraas \n" +"Language-Team: Norwegian bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Om" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Avslutt" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Søket gav ingen resultater" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Prøv et annet søk." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Laster …" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopier tegn" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Kopierte tegn til utklippstavlen" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Fant ingen nylig brukte tegn" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tegn vil vises her hvis du bruker dem." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Aktiv side" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrer etter skrifttype" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME tegn" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Program for tegnkart" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Tegn er et enkelt verktøy for å finne og sette inn uvanlige tegn. Det lar " +"deg finne tegn du leter etter raskt ved å søke etter nøkkelord." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Du kan også bla gjennom tegn ved bruk av kategorier som tegnsetting, bilder, " +"osv." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Tegn" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Verktøy for å finne og sette inn uvanlige tegn" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "tegn;unicode;tegnsetting;matematikk;bokstaver;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Skrittype for visning av tegn" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Bruk skriften til å tegne tegnene i tegnlisten." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksimalt antall nylige tegn" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojier" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Bokstaver og symboler" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Skilletegn" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Piler" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Kulepunkter" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Bilder" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valutaer" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematikk" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Bokstaver" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smiletegn og folk" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Dyr og natur" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Mat og drikke" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktiviteter" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Reise og steder" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekter" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboler" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Flagg" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s kategorilisterad" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nylig brukt" + +#: src/character.js:56 +msgid "See Also" +msgstr "Se også" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s er ikke inkludert i %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Ikke tildelt" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Tegnprogram" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Tegnprogram startet" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Tegnprogram avslutter" + +#: src/menu.js:50 +msgid "None" +msgstr "Ingen" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Ukjent navn på tegn." + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Kjartan Maraas " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tegnkart" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (kun %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s tegnliste" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Sist brukt %s tegnliste" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Søk i resultattegnlisten" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Søkeresultat" diff --git a/po/ne.gmo b/po/ne.gmo new file mode 100644 index 0000000..b0d87d0 Binary files /dev/null and b/po/ne.gmo differ diff --git a/po/ne.po b/po/ne.po new file mode 100644 index 0000000..0e777d2 --- /dev/null +++ b/po/ne.po @@ -0,0 +1,273 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Gnome Nepali Translation Project\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-10-05 12:50+0000\n" +"PO-Revision-Date: 2017-10-15 17:43+0545\n" +"Last-Translator: Pawan Chitrakar \n" +"Language-Team: Nepali Translation Team \n" +"Language: ne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "बारेमा" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "बन्द गर्नुहोस्" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "खोजिएको नतिजा भेटिएन" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "फरक खोज कोशिश गर्नुहोस् ।." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "लोड गर्दैछ…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "वर्ण प्रतिलिपि बनाउनुहोस्" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "वर्ण क्लिपबोर्डमा प्रतिलिपि" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "हालको वर्ण भेटिएन" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "यदि तपाईँले वर्णहरू प्रयोग गर्नुभएमा यहाँ देखा पर्नेछ।" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "हालको पृष्ठ" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "फन्ट फिल्टर गर्नुहोस्" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "जिनोम क्यारेक्टरस्" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "अक्षर मानचित्र अनुप्रयोग" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual characters. It allows " +"you to quickly find the character you are looking for by searching for keywords." +msgstr "" +"क्यारेक्टरस् असामान्य वर्णहरू फेला पार्न र सम्मिलित गर्न सरल उपयोगिक अनुप्रयोग हो। यसले तपाईँलाई चाँडै वर्णहरू " +"खोज्ने र पत्ता लगाउने अनुमति दिन्छ।" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "You can also browse characters by categories, such as Punctuation, Pictures, etc." +msgstr "तपाइँ पनि वर्ग द्वारा वर्णहरू ब्राउज गर्न सक्नुहुन्छ, जस्तै विराम चिन्ह, चित्रहरू आदि।" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "वर्ण" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "असामान्य वर्णहरू फेला पार्न र सम्मिलित गर्न उपयोगिक अनुप्रयोग" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "वर्णहरू; युनिकोड; विराम चिह्न; गणित; अक्षरहरू; इमोजी; ईमोटिकन;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "अक्षर प्रदर्शन गर्न फन्ट" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "अक्षर सूचीमा वर्णहरू प्रस्तुत गर्न फन्ट प्रयोग गर्नुहोस्।" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "हालको अधिकतम अक्षर" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "इमोजिस" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "अक्षर र प्रतीक" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "विराम चिन्ह" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "बाँणहरू" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "गोली चिन्ह" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "तस्वीरहरू" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "मुद्रा" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "गणित" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "अक्षर" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "स्माइलीहरू र मानव" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "प्रकृति र जनावर" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "खाद्य र पेय" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "गतिविधिहरू" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "यात्रा र स्थानहरू" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "वस्तुहरू" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "प्रतीक" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "झन्डा" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s को श्रेणी सूची पङ्क्ति" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "हालै प्रयोग गरिएको" + +#: src/character.js:56 +msgid "See Also" +msgstr "हेर्नुहोस् पनि" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "युनिकोड U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s , %s मा समावेश गरिएको छैन" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "नतोकिएको" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "क्यारेक्टर अनुप्रयोग" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "क्यारेक्टर अनुप्रयोग सुरु गरियो" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "क्यारेक्टर अनुप्रयोग निस्कँदै" + +#: src/menu.js:50 +msgid "None" +msgstr "कुनै पनि होइन" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "अज्ञात वर्ण नाम" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "Pawan Chitrakar - chautari @gmail.com" + +#: src/window.js:200 +msgid "Character Map" +msgstr "क्यारेक्टर मानचित्र" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s मात्र)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "%s वर्ण सुची" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "हालको %s वर्ण सुची" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "खोज परिणाम वर्ण सुची" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "खोज परिणाम" + +#~ msgid "Emoticons" +#~ msgstr "ईमोटिकनहरू" diff --git a/po/nl.gmo b/po/nl.gmo new file mode 100644 index 0000000..5c43036 Binary files /dev/null and b/po/nl.gmo differ diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..9b20116 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,295 @@ +# Dutch translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# +# Justin van Steijn , 2015. +# Hannie Dumoleyn , 2015, 2016. +# Nathan Follens , 2016-2017. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-02 07:52+0000\n" +"PO-Revision-Date: 2017-09-02 23:13+0200\n" +"Last-Translator: Justin van Steijn \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.11\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Info" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Afsluiten" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Zoekopdracht leverde geen resultaten op" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Probeer een andere zoekopdracht." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Laden..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Teken kopiëren" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Teken gekopieerd naar het klembord" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Geen onlangs gebruikte tekens gevonden" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tekens verschijnen hier wanneer u ze gebruikt." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Huidige pagina" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Op lettertype filteren" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Gnome Tekens en symbolen" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "De toepassing Tekens en symbolen" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Tekens en symbolen is een eenvoudig hulpmiddel om bijzondere tekens te " +"zoeken en in te voegen. U kunt het door u gezochte teken snel vinden door " +"middel van trefwoorden." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"U kunt ook tekens zoeken per categorie, zoals interpunctie, afbeeldingen, " +"enz." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Tekens en symbolen" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Hulpmiddel om bijzondere tekens te zoeken en in te voegen" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;tekens;symbolen;" +"interpunctie;wiskunde;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Lettertype voor het weergeven van tekens" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Het lettertype gebruiken om tekens uit de tekenlijst weer te geven." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximum aantal onlangs gebruikte tekens" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoticons" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letters & symbolen" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunctie" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Pijlen" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Opsommingstekens" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Afbeeldingen" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valuta" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Wiskunde" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letters" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smileys & mensen" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Dieren & natuur" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Eten & drinken" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activiteiten" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Reizen & locaties" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objecten" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symbolen" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Vlaggen" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s Categorielijst Rij" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Onlangs gebruikt" + +#: src/character.js:56 +msgid "See Also" +msgstr "Zie ook" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s zit niet in %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Niet toegewezen" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "De toepassing Tekens en symbolen" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Tekens en symbolen gestart" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Tekens en symbolen is al geopend" + +#: src/menu.js:50 +msgid "None" +msgstr "Geen" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Naam van teken onbekend" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Justin van Steijn\n" +"Hannie Dumoleyn\n" +"Nathan Follens\n" +"Meer info over Gnome-NL http://nl.gnome.org" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Speciale tekens" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (alleen %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s tekenlijst" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Recent gebruikte %s-tekenlijst" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Zoekresultaat tekenlijst" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Zoekresultaat" + +#~ msgid "Emoticons" +#~ msgstr "Emoticons" + +# Dit moet imperatief zijn lijkt me. +#~ msgid "Try another search criteria." +#~ msgstr "Probeer andere zoekcriteria." + +# Door ; gescheiden woorden worden volgens mij gebruikt als zoekwoord. Ze zijn niet zichtbaar. Er kan zowel naar Engelse als Nederlandse trefwoorden gezocht worden. Moet dit nakijken (Hannie) +#~ msgid "characters;unicode;" +#~ msgstr "characters;tekens;unicode;" diff --git a/po/oc.gmo b/po/oc.gmo new file mode 100644 index 0000000..e5e4442 Binary files /dev/null and b/po/oc.gmo differ diff --git a/po/oc.po b/po/oc.po new file mode 100644 index 0000000..e1e8e19 --- /dev/null +++ b/po/oc.po @@ -0,0 +1,297 @@ +# Occitan translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Cédric Valmary , 2015. +# Cédric Valmary (Tot en òc) , 2015. +# Cédric Valmary (totenoc.eu) , 2016, 2018. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters gnome-3-16\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2018-02-08 14:58+0200\n" +"Last-Translator: Cédric Valmary (totenoc.eu) \n" +"Language-Team: Tot En Òc\n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "A prepaus" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Quitar" + +#: data/characterlist.ui:30 +#| msgid "Search produced empty result" +msgid "Search found no results" +msgstr "La recèrca a pas donat cap de resultat" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Ensajatz una recèrca diferenta." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Cargament…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiar lo caractèr" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caractèrs copiats dempuèi lo quichapapièrs" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Cap de caractèr recent pas trobat" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Los caractèrs apareisseràn aicí se los utilizatz." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pagina actuala" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrar per poliça" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Caractèrs" + +#: data/org.gnome.Characters.appdata.xml.in:5 +#| msgid "Characters Application" +msgid "Character map application" +msgstr "Aplicacion de la taula de caractèrs" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caractèrs es un utilitari per cercar e inserir de caractèrs inabituals. Vos " +"permet de trobar rapidament lo caractèr que cercatz pel biais de mots-claus." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Tanben podètz navegar dins los caractèrs per categorias, coma per " +"Ponctuacion, Imatges, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caractèrs" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilitari per cercar e inserir de caractèrs inabituals." + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +#| msgid "Characters" +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caractèrs;unicode;pontuacion;math;letras;emoji;emoticòna;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Poliça d'afichatge dels caractèrs" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Utilizar la poliça per afichar la lista dels caractèrs." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Nombre maximal de caractèrs recents" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoticònas" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letras e simbòls" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Pontuacion" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Sagetas" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Piuses" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imatges" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Monedas" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Math" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letras" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Emoticònas e personatges" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animals e natura" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Noiridura e bevenda" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activitats" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viatges e luòcs" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objèctes" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simbòls" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bandièras" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Linha de la categoria %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Utilizat recentament" + +#: src/character.js:56 +msgid "See Also" +msgstr "Veire tanben" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s es pas inclús dins %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Pas assignat" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicacion de caractèrs" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Aplicacion Caractèrs aviada" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Tampadura de l'aplicacion Caractèrs" + +#: src/menu.js:50 +msgid "None" +msgstr "Pas cap" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nom de caractèr desconegut" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Cédric Valmary (totenoc.eu) " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Taula de caractèrs" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s solament)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s lista de caractèrs" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Lista de caractèrs %s utilizada recentament" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Lista dels caractèrs eissits de la recèrca" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +#| msgid "Search Result Character List" +msgid "Search Result" +msgstr "Resultat de la recèrca" + +#~ msgid "Try another search criteria." +#~ msgstr "Ensajatz un autre critèri de recèrca." + +#~ msgid "Emoticons" +#~ msgstr "Emoticònas" + +#~ msgid "characters;unicode;" +#~ msgstr "caractèrs;unicode;" + +#~ msgid "About Characters" +#~ msgstr "A prepaus de Caractèrs" + +#~ msgid "Latin" +#~ msgstr "Latin" diff --git a/po/org.gnome.Characters.pot b/po/org.gnome.Characters.pot new file mode 100644 index 0000000..2ceaa86 --- /dev/null +++ b/po/org.gnome.Characters.pot @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR GNOME Characters contributors +# This file is distributed under the same license as the org.gnome.Characters package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: org.gnome.Characters 3.28.2\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2018-05-07 08:55+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "" + +#: src/character.js:56 +msgid "See Also" +msgstr "" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "" + +#: src/menu.js:50 +msgid "None" +msgstr "" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "" + +#: src/window.js:200 +msgid "Character Map" +msgstr "" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "" diff --git a/po/pa.gmo b/po/pa.gmo new file mode 100644 index 0000000..6895d21 Binary files /dev/null and b/po/pa.gmo differ diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000..efc5f63 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,201 @@ +# Punjabi translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# +# A S Alam , 2015. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2015-08-30 09:12+0000\n" +"PO-Revision-Date: 2015-08-30 11:29UTC-0600\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: ../data/app-menu.ui.h:1 +msgid "About Characters" +msgstr "ਅੱਖਰਾਂ ਬਾਰੇ" + +#: ../data/app-menu.ui.h:2 +msgid "Quit" +msgstr "ਬਾਹਰ" + +#: ../data/characterlist.ui.h:1 +msgid "Search produced empty result" +msgstr "" + +#: ../data/characterlist.ui.h:2 +msgid "Try another search criteria." +msgstr "" + +#: ../data/characterlist.ui.h:3 +msgid "Loading…" +msgstr "...ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ" + +#: ../data/characterlist.ui.h:4 +msgid "No recent characters found" +msgstr "ਕੋਈ ਤਾਜ਼ਾ ਅੱਖਰ ਨਹੀਂ ਲੱਭੇ" + +#: ../data/characterlist.ui.h:5 +msgid "Characters will appear here if you use them." +msgstr "ਅੱਖਰ ਇੱਥੇ ਦਿਖਾਈ ਦੇਣਗੇ, ਜੇ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਵਰਤਦੇ ਹੋ।" + +#: ../data/character.ui.h:1 +msgid "Copy Character" +msgstr "ਅੱਖਰ ਕਾਪੀ ਕਰੋ" + +#: ../data/mainwindow.ui.h:1 +msgid "Current page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ" + +#: ../data/menu.ui.h:1 +msgid "Filter by font" +msgstr "ਫੋਂਟ ਰਾਹੀਂ ਫਿਲਟਰ" + +#: ../data/org.gnome.Characters.appdata.xml.in.h:1 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" + +#: ../data/org.gnome.Characters.appdata.xml.in.h:2 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" + +#: ../data/org.gnome.Characters.desktop.in.h:1 ../src/service.js:51 +msgid "Characters" +msgstr "ਅੱਖਰ" + +#: ../data/org.gnome.Characters.desktop.in.h:2 +msgid "Utility application to find and insert unusual characters" +msgstr "ਅਸਧਾਰਨ ਅੱਖਰ ਲੱਭਣ ਤੇ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸਹਾਇਕ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../data/org.gnome.Characters.desktop.in.h:3 +msgid "characters;unicode;" +msgstr "ਅੱਖਰ;ਯੂਨੀਕੋਡ;" + +#: ../data/org.gnome.Characters.gschema.xml.h:1 +msgid "Font to display characters" +msgstr "ਅੱਖਰ ਦਿਖਾਉਣ ਲਈ ਫ਼ੋਂਟ" + +#: ../data/org.gnome.Characters.gschema.xml.h:2 +msgid "Use the font to render characters on the character list." +msgstr "" + +#: ../data/org.gnome.Characters.gschema.xml.h:3 +msgid "Maximum recent characters" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਤਾਜ਼ਾ ਅੱਖਰ" + +#: ../src/categoryList.js:33 +msgid "Recently Used" +msgstr "ਤਾਜ਼ਾ ਵਰਤੇ" + +#: ../src/categoryList.js:39 +msgid "Punctuation" +msgstr "ਵਿਰਾਮ ਚਿੰਨ੍ਹ" + +#: ../src/categoryList.js:45 +msgid "Arrows" +msgstr "ਤੀਰ" + +#: ../src/categoryList.js:51 +msgid "Bullets" +msgstr "ਬਿੰਦੀਆਂ" + +#: ../src/categoryList.js:57 +msgid "Pictures" +msgstr "ਤਸਵੀਰਾਂ" + +#: ../src/categoryList.js:63 +msgid "Currencies" +msgstr "ਮੁਦਰਾ" + +#: ../src/categoryList.js:69 +msgid "Math" +msgstr "ਗਣਿਤ" + +#: ../src/categoryList.js:75 +msgid "Letters" +msgstr "ਅੱਖਰ" + +#: ../src/categoryList.js:81 +msgid "Emoticons" +msgstr "ਈਮੋ-ਆਈਕਾਨ" + +#: ../src/categoryList.js:96 +#, javascript-format +msgid "%s Category List Row" +msgstr "" + +#: ../src/character.js:52 +msgid "See Also" +msgstr "ਇਹ ਵੀ ਵੇਖੋ" + +#: ../src/character.js:114 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "ਯੂਨੀਕੋਡ U+%04s" + +#: ../src/main.js:58 +msgid "Characters Application" +msgstr "ਅੱਖਰ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../src/main.js:95 +msgid "Characters Application started" +msgstr "ਅੱਖਰ ਐਪਲੀਕੇਸ਼ਨ ਸ਼ੁਰੂ ਹੋਈ" + +#: ../src/main.js:103 +msgid "Characters Application exiting" +msgstr "ਅੱਖਰ ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਹੋ ਰਹੀ ਹੈ" + +#: ../src/menu.js:39 +msgid "None" +msgstr "ਕੋਈ ਨਹੀਂ" + +#: ../src/searchProvider.js:94 +msgid "Unknown character name" +msgstr "ਅਣਜਾਣ ਅੱਖਰ ਨਾਂ" + +#: ../src/searchProvider.js:97 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#: ../src/window.js:165 +msgid "translator-credits" +msgstr "" +"ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ\n" +"ਪੰਜਾਬੀ ਓਪਨਸੋਰਸ ਟੀਮ (POST)" + +#: ../src/window.js:166 +msgid "GNOME Characters" +msgstr "ਗਨੋਮ ਅੱਖਰ" + +#: ../src/window.js:167 +msgid "Character Map" +msgstr "ਅੱਖਰ ਨਕਸ਼ਾ" + +#: ../src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (%s ਕੇਵਲ)" + +#: ../src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s ਅੱਖਰ ਲਿਸਟ" + +#: ../src/window.js:280 +msgid "Search Result Character List" +msgstr "" + diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000..1b33545 Binary files /dev/null and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..9745e71 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,281 @@ +# Polish translation for gnome-characters. +# Copyright © 2015-2017 the gnome-characters authors. +# This file is distributed under the same license as the gnome-characters package. +# Piotr Drąg , 2015-2017. +# Aviary.pl , 2015-2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:43+0000\n" +"PO-Revision-Date: 2017-08-30 16:55+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O programie" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Zakończ" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Brak wyników wyszukiwania" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Proszę spróbować innych słów." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Wczytywanie…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Skopiuj znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Skopiowano znak do schowka" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nie odnaleziono żadnych ostatnio używanych znaków" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Znaki pojawią się w tym miejscu po ich użyciu." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Bieżąca strona" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrowanie według czcionki" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Tablica znaków dla środowiska GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Tablica znaków" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Tablica znaków to proste narzędzie do wyszukiwania i wstawiania znaków " +"specjalnych. Umożliwia ono szybkie znajdowanie znaków dzięki słowom " +"kluczowym." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Można także przeglądać znaki według kategorii, takich jak interpunkcja, " +"obrazki itp." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Znaki" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Narzędzie do wyszukiwania i wstawiania znaków specjalnych" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"znak;znaki;czcionka;font;pismo;unicode;unikod;interpunkcja;interpunkcyjne;" +"matematyka;matematyczne;litery;emoji;emotikony;emotikonki;emotki;mapa;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Czcionka, w jakiej wyświetlać znaki" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Czcionka używana do wyświetlania znaków na liście." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maksymalna liczba ostatnio używanych znaków" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Litery i symbole" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkcja" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Strzałki" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Wypunktowanie" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Obrazki" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Waluty" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Symbole matematyczne" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Litery" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Uśmieszki i osoby" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Zwierzęta i przyroda" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Jedzenie i napoje" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Sport" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Podróże i miejsca" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Rzeczy" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symbole" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Flagi" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Rząd listy kategorii „%s”" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Ostatnio używane" + +#: src/character.js:56 +msgid "See Also" +msgstr "Podobne znaki" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Znaku „%s” nie ma w czcionce %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nieprzydzielone" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Tablica znaków" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Uruchomiono tablicę znaków" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Kończenie działania tablicy znaków" + +#: src/menu.js:50 +msgid "None" +msgstr "Brak" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nieznana nazwa znaku" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Piotr Drąg , 2015-2017\n" +"Aviary.pl , 2015-2017" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tablica znaków" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (tylko %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Lista znaków „%s”" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Lista ostatnio używanych znaków „%s”" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Wynik wyszukiwania na liście znaków" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Wyniki wyszukiwania" diff --git a/po/pt.gmo b/po/pt.gmo new file mode 100644 index 0000000..24087d9 Binary files /dev/null and b/po/pt.gmo differ diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..e67616b --- /dev/null +++ b/po/pt.po @@ -0,0 +1,245 @@ +# Portuguese translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Pedro Albuquerque , 2015. +# Tiago Santos , 2014 - 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-03-07 13:15+0000\n" +"PO-Revision-Date: 2017-03-23 15:09+0000\n" +"Last-Translator: Tiago Santos \n" +"Language-Team: Português\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\\n;\n" +"X-Generator: Poedit 1.8.7.1\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Sobre" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Sair" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "A procura não produziu resultados" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Tente uma procura diferente" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "A carregar…" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "Sem caracteres recentes" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "Os caracteres aparecem aqui, se os usar." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiar carácter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caracteres copiados para a área de transferência" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Página atual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrar por tipo de letra" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "Caracteres GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicação Mapa de Caracteres" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"O Caracteres é um utilitário simples para localizar e inserir caracteres " +"pouco habituais. Permite-lhe encontrar rapidamente o carácter que procura, " +"procurando por palavras chave." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Também pode procurar por categorias, tais como pontuação, imagens, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caracteres" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilitário para localizar e inserir caracteres pouco habituais" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"caratéres;unicode;pontuação;matemática;letras;smeileys;emoticons;emoji;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Letra para mostrar os caracteres" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Usar a letra para desenhar caracteres na lista." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Máximo de caracteres recentes" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "Recentemente usados" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "Pontuação" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "Setas" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "Marcas" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "Imagens" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "Moedas" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "Matemática" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "Letras" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "Risonhos" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s linha da lista de categorias" + +#: src/character.js:53 +msgid "See Also" +msgstr "Ver também" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s não está incluído em %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Não atribuído" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicação Caracteres" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Caracteres iniciado" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Caracteres a sair" + +#: src/menu.js:50 +msgid "None" +msgstr "Nenhum" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Nome de carácter desconhecido" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "" +"Tiago Santos \n" +"Pedro Albuquerque " + +#: src/window.js:167 +msgid "Character Map" +msgstr "Mapa de caracteres" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (só %s)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "%s lista de caracteres" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "Lista de caracteres resultado da procura" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "Resultado da procura" + +#~ msgid "Try another search criteria." +#~ msgstr "Tente outro critério de procura." + +#~ msgid "characters;unicode;" +#~ msgstr "caracteres;unicode;" + +#~ msgid "About Characters" +#~ msgstr "Sobre o Caracteres" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo new file mode 100644 index 0000000..285b7fe Binary files /dev/null and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..0091b54 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,320 @@ +# Brazilian Portuguese translation for gnome-characters. +# Copyright (C) 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Fábio Nogueira , 2015. +# Artur de Aquino Morais , 2016. +# Enrico Nicoletto , 2014, 2015, 2016. +# Rafael Fontenelle , 2015, 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-characters/" +"issues\n" +"POT-Creation-Date: 2018-03-25 03:57+0000\n" +"PO-Revision-Date: 2018-04-29 11:29-0200\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Virtaal 1.0.0-beta1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Sobre" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Sair" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "A pesquisa localizou nenhum resultado" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Tente uma pesquisa diferente." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Carregando…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiar caractere" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "O aplicativo de caracteres foi copiado para a área de transferência" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Não foram localizados caracteres recentes" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Caracteres irão aparecer aqui se você usá-los." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Página atual" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrar por fonte" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "Caracteres do GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicativo de mapa de caracteres" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"O aplicativo Caracteres é um utilitário simples para localizar e inserir " +"caracteres incomuns. Ele permite que você localize de forma rápida o " +"caractere desejado ao pesquisar por palavras-chaves." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Você também pode navegar entre caracteres através de categorias, como " +"pontuação, imagens, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caracteres" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Aplicativo utilitário para localizar e inserir caracteres incomuns" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "caracteres;unicode;pontuação;matemática;letras;emoji;carinhas;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "A fonte para exibição de caracteres" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Use a fonte para renderizar caracteres na lista de caracteres." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Máximo de caracteres recentes" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojis" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Letras & símbolos" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Pontuação" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Setas" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Marcadores" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Figuras" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Moedas" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matemática" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Letras" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smileys & pessoas" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animais & natureza" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Comida & bebida" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Atividades" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Viagem & lugares" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objetos" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Símbolos" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bandeiras" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Linha %s da lista de categoria" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Usados recentemente" + +#: src/character.js:56 +msgid "See Also" +msgstr "Veja também" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s não está incluído em %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Não atribuído" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicativo de caracteres" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "O Aplicativo de caracteres foi iniciado" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Encerrando o aplicativo de caracteres" + +#: src/menu.js:50 +msgid "None" +msgstr "Nenhum" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nome de caractere desconhecido" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "" +"Enrico Nicoletto \n" +"Rafael Fontenelle " + +#: src/window.js:200 +msgid "Character Map" +msgstr "Mapa de caracteres" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (apenas %s)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "Lista de caracteres %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Lista de caracteres %s recentemente usados" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Resultado da pesquisa da lista de caracteres" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Resultado da pesquisa" + +#~ msgid "Emoticons" +#~ msgstr "Carinhas" + +#~ msgid "Try another search criteria." +#~ msgstr "Tente outro critério de pesquisa." + +#~ msgid "characters;unicode;" +#~ msgstr "caracteres;unicode;" + +#~ msgid "About Characters" +#~ msgstr "Sobre o Caracteres" + +#~ msgid "Loading..." +#~ msgstr "Carregando..." + +#~ msgid "Latin" +#~ msgstr "Latino" + +#~ msgid "_New" +#~ msgstr "_Novo" + +#~ msgid "Type to Search" +#~ msgstr "Digite para pesquisar" + +#~ msgid "About Example" +#~ msgstr "Sobre o exemplo" + +#~ msgid "JS Application" +#~ msgstr "Aplicativo de JS" + +#~ msgid "Demo JS Application and template" +#~ msgstr "Demonstração de modelo e aplicativo de JS" + +#~ msgid "gtk;gjs;demo;development;" +#~ msgstr "gtk;gjs;demonstração;desenvolvimento;" + +#~ msgid "Done" +#~ msgstr "Concluído" diff --git a/po/quot.sed b/po/quot.sed new file mode 100644 index 0000000..0122c46 --- /dev/null +++ b/po/quot.sed @@ -0,0 +1,6 @@ +s/"\([^"]*\)"/“\1”/g +s/`\([^`']*\)'/‘\1’/g +s/ '\([^`']*\)' / ‘\1’ /g +s/ '\([^`']*\)'$/ ‘\1’/g +s/^'\([^`']*\)' /‘\1’ /g +s/“”/""/g diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin new file mode 100644 index 0000000..2436c49 --- /dev/null +++ b/po/remove-potcdate.sin @@ -0,0 +1,19 @@ +# Sed script that remove the POT-Creation-Date line in the header entry +# from a POT file. +# +# The distinction between the first and the following occurrences of the +# pattern is achieved by looking at the hold space. +/^"POT-Creation-Date: .*"$/{ +x +# Test if the hold space is empty. +s/P/P/ +ta +# Yes it was empty. First occurrence. Remove the line. +g +d +bb +:a +# The hold space was nonempty. Following occurrences. Do nothing. +x +:b +} diff --git a/po/ro.gmo b/po/ro.gmo new file mode 100644 index 0000000..51ae767 Binary files /dev/null and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..41f349f --- /dev/null +++ b/po/ro.po @@ -0,0 +1,294 @@ +# Romanian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Adriannho , 2015. +# Daniel Șerbănescu , 2015, 2018. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters gnome-3-18\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-characters/" +"issues\n" +"POT-Creation-Date: 2018-03-26 12:01+0000\n" +"PO-Revision-Date: 2018-04-08 20:35+0200\n" +"Last-Translator: Daniel Șerbănescu \n" +"Language-Team: Gnome Romanian Translation Team\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);;\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Despre" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Ieșire" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Căutarea nu a găsit rezultate" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Încercați o căutare diferită." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Se încarcă…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Copiază caracter" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Caracter copiat în clipboard" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nu au fost găsite caractere recente" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Caracterele vor apărea aici dacă le utilizați." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Pagina curentă" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrează după font" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "Caractere GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplicație cu tabel de caractere" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Caractere este o aplicație simplă pentru găsirea și introducerea " +"caracterelor rare. Ea vă permite să găsiți rapid caracterele pe care le " +"doriți prin căutarea după cuvinte cheie." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Puteți de asemenea să navigați prin caractere după categorii, precum " +"punctuație, poze, etc." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Caractere" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Utilitar de găsire și introducere a caracterelor rare" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;caractere;" +"punctuație;matematică;litere;emoticoane;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Fontul de afișare a caracterelor" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Utilizează fontul la randarea caracterelor în lista cu caractere." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Număr maxim de caractere recente" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Litere și simboluri" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Punctuație" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Săgeți" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Buline" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Imagini" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valute" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematică" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Litere" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Emoticoane și oameni" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Animale și natură" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Mâncare și băutură" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Activități" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Călătorii și locuri" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Obiecte" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboluri" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Steaguri" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s rând listă categorii" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Utilizate recent" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vezi și" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nu este inclus în %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nealocat" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplicația Caractere" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "S-a pornit aplicația Caractere" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Se iese din aplicația Caractere" + +#: src/menu.js:50 +msgid "None" +msgstr "Nespecificat" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nume de caracter necunoscut" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "" +"Adriannho,\n" +"Daniel Șerbănescu , 2018" + +#: src/window.js:200 +msgid "Character Map" +msgstr "Tabel de caractere" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (doar %s)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "%s listă de caractere" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Listă de caractere %s utilizată recent" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Rezultatele căutării în lista cu caractere" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Rezultatele căutării" + +#~ msgid "Try another search criteria." +#~ msgstr "Încercați un alt criteriu de căutare." + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;caractere;" + +#~ msgid "Emoticons" +#~ msgstr "Emoticoane" + +#~ msgid "About Characters" +#~ msgstr "Despre Caractere" diff --git a/po/ru.gmo b/po/ru.gmo new file mode 100644 index 0000000..e3abcaa Binary files /dev/null and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..bf164ff --- /dev/null +++ b/po/ru.po @@ -0,0 +1,290 @@ +# Russian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Артём Воротников , 2015. +# Stas Solovey , 2015, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-11-14 16:03+0000\n" +"PO-Revision-Date: 2017-12-13 20:49+0300\n" +"Last-Translator: Stas Solovey \n" +"Language-Team: Русский \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.0.5\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "О приложении" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Завершить" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Поиск не дал результатов" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Попробуйте другой поиск." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Загрузка…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Копировать символ" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Символ скопирован в буфер обмена" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Не найдено недавних символов" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Здесь будут отображаться символы, которые вы используете." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Текущая страница" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Сортировать по шрифту" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:199 +msgid "GNOME Characters" +msgstr "Символы GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Приложение карты символов" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Символы — это простое приложение, для поиска и вставки необычных символов. " +"Оно позволяет быстро находить нужный символ по ключевым словам." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Также можно просматривать символы по категориям, таким как знаки пунктуации, " +"картинки и т.д." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Символы" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Простое приложение, для поиска и вставки необычных символов" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"символы;юникод;пунктуация;математический;буквы;смайлики;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Шрифт для отображения символов" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Используйте шрифт для отображения символов в списке символов." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Максимальное количество недавних символов" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Буквы и символы" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Пунктуация" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Стрелки" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Маркеры" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Картинки" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Валюты" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Математика" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Буквы" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Смайлы и люди" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Животные и природа" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Еда и напитки" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Занятия" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Путешествие и места" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Объекты" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Символы" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Флаги" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Список категорий %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:372 +msgid "Recently Used" +msgstr "Недавно использованные" + +#: src/character.js:56 +msgid "See Also" +msgstr "См. также" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Юникод U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s не содержится в %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Не назначено" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Приложение Символы" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Приложение Символы запущено" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Приложение Символы завершается" + +#: src/menu.js:50 +msgid "None" +msgstr "Нет" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Неизвестное имя символа" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:198 +msgid "translator-credits" +msgstr "Stas Solovey , 2015-2017." + +#: src/window.js:200 +msgid "Character Map" +msgstr "Карта символов" + +#: src/window.js:220 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (только %s)" + +#: src/window.js:349 +#, javascript-format +msgid "%s Character List" +msgstr "Список символов %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:357 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Недавно использованный список символов %s" + +#: src/window.js:376 +msgid "Search Result Character List" +msgstr "Результат поиска в списке символов" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:378 +msgid "Search Result" +msgstr "Результат поиска" + +#~ msgid "Emoticons" +#~ msgstr "Смайлики" + +#~ msgid "Try another search criteria." +#~ msgstr "Попробуйте другой поисковый запрос." + +#~ msgid "characters;unicode;" +#~ msgstr "символы;юникод;" + +#~ msgid "About Characters" +#~ msgstr "О приложении" diff --git a/po/sk.gmo b/po/sk.gmo new file mode 100644 index 0000000..e784257 Binary files /dev/null and b/po/sk.gmo differ diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..26d364c --- /dev/null +++ b/po/sk.po @@ -0,0 +1,291 @@ +# Slovak translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Dušan Kazik , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-01 16:17+0200\n" +"Last-Translator: Dušan Kazik \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O programe" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Ukončiť" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Vyhľadávaním sa nenašli žiadne výsledky" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Skúste vyhľadať niečo iné." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Načítava sa…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Skopírovať znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Znak skopírovaný do schránky" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nenašli sa žiadne nedávne znaky" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tu sa zobrazia znaky, ktoré ste použili." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Aktuálna stránka" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrovať podľa písma" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Znaky prostredia GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Aplikácia mapa znakov" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Znaky je jednoduchá užitočná aplikácia na nájdenie a vloženie neobvyklých " +"znakov. Umožňuje vám rýchlo nájsť znak, ktorý môžete vyhľadať pomocou " +"kľúčových slov." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Môžete tiež prehliadať znaky podľa kategórií, ako sú napríklad Znaky, " +"Obrázky, atď." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Znaky" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Užitočná aplikácia na nájdenie a vloženie neobvyklých znakov" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "znaky;unicode;diakritika;matematika;znaky;emotikona;smajlík;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Písmo zobrazovaných znakov" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Písmo, ktoré sa použije na vykreslenie znakov v zozname znakov." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximálny počet nedávnych znakov" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emotikony" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Písmená a symboly" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkcie" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Šípky" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Odrážky" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Obrázky" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Meny" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Písmená" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Emotikony a ľudia" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Zvieratá a príroda" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Jedlo a nápoje" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Činnosti" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Cestovanie a miesta" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Objekty" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboly" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Vlajky" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Riadok zoznamu kategórie %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nedávno použité" + +#: src/character.js:56 +msgid "See Also" +msgstr "Pozrite tiež" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Znak %s nie je zahrnutý v písme %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nepriradené" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Aplikácia Znaky" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Spustenie aplikácie Znaky" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Ukončenie aplikácie Znaky" + +#: src/menu.js:50 +msgid "None" +msgstr "Žiadne" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Neznámy názov znaku" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Dušan Kazik " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Mapa znakov" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (iba %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Zoznam znakov kategórie %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Zoznam nedávno použitých znakov kategórie %s" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Zoznam výsledkov vyhľadávaných znakov" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Výsledok vyhľadávania" + +#~ msgid "Emoticons" +#~ msgstr "Smejkovia" + +#~ msgid "Try another search criteria." +#~ msgstr "Skúste iné kritériá vyhľadávania." + +#~ msgid "characters;unicode;" +#~ msgstr "znaky;unicode;" + +#~ msgid "About Characters" +#~ msgstr "O programe Znaky" + +#~ msgid "Latin" +#~ msgstr "Latinka" diff --git a/po/sl.gmo b/po/sl.gmo new file mode 100644 index 0000000..c7f829a Binary files /dev/null and b/po/sl.gmo differ diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..0ef4253 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,293 @@ +# Slovenian translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# +# Matej Urbančič , + 2015–2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-09-13 12:09+0200\n" +"PO-Revision-Date: 2017-10-15 22:45+0200\n" +"Last-Translator: Matej Urbančič \n" +"Language-Team: Slovenian GNOME Translation Team \n" +"Language: sl_SI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: Poedit 2.0.4\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O programu" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Končaj" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Ni zadetkov" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Poskusite z drugačnim iskanjem." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Poteka nalaganje ..." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopiraj znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Znak je kopiran v odložišče" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Ni nedavno izbranih znakov" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "V tem oknu bodo pokazani vsi uporabljeni znaki." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Trenutna stran" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filter pisav" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Znaki GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Program za prikaz znakov pisav" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the character you are looking for by searching for keywords." +msgstr "Program Znaki je enostaven program za iskanje in vstavljanje neobičajnih znakov v besedilo. Omogoča hitro iskanje s ključnimi opisnimi besedami." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "You can also browse characters by categories, such as Punctuation, Pictures, etc." +msgstr "Kategorije, kot so Znaki, Ločila, Sličice in podobno, je mogoče tudi prebrskati." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Znaki" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Program za iskanje in vstavljanje neobičajnih znakov" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "znaki;unikod;unicode;matematika;ločila;črke;emotikoni;izrazne ikone;emoji" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Pisava, uporabljena za prikaz znakov" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Pisava, ki je uporabljena za izris znakov pisave." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Največje število nedavno uporabljenih znakov" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Izrazne ikone" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Črke in Simboli" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Ločila" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Puščice" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Vrstične oznake" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Sličice" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Denarne enote" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematični znaki" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Črke" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Izrazi in Ljudje" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Živali in Narava" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Hrana in Pijača" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Dejavnosti" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Potovanja in Mesta" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Predmeti" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simboli" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Zastavice" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Vrstica seznama kategorije %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nedavno uporabljeno" + +#: src/character.js:56 +msgid "See Also" +msgstr "Poglejte tudi" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikod U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "Znak %s ni vključen v %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nedodeljeno" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Program Znaki" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Program Znaki je zagnan" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Program Znaki se končuje" + +#: src/menu.js:50 +msgid "None" +msgstr "Brez" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Neznano ime znaka" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Matej Urbančič " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Nabor znakov" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (le %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Seznam znakov %s" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Nedavno uporabljen seznam znakov %s" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Seznam rezultatov iskanja znakov" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Zadetki iskanja" + +#~ msgid "Emoticons" +#~ msgstr "Izrazne ikone" + +#~ msgid "Search produced empty result" +#~ msgstr "Ni zadetkov" + +#~ msgid "Try another search criteria." +#~ msgstr "Poskusite nov niz za iskanje" + +#~ msgid "About Characters" +#~ msgstr "O programu" + +#~ msgid "Filter by font" +#~ msgstr "Filtriraj po pisavi" + +#~ msgid "characters;unicode;" +#~ msgstr "znaki;unikod;Unicode;nabor;" + +#~ msgid "Loading..." +#~ msgstr "Poteka nalaganje ..." + +#~ msgid "Latin" +#~ msgstr "latinski" diff --git a/po/sr.gmo b/po/sr.gmo new file mode 100644 index 0000000..c959f0e Binary files /dev/null and b/po/sr.gmo differ diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..94eb060 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,322 @@ +# Serbian translation for gnome-characters. +# Copyright (C) 2014 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Translators: +# Мирослав Николић , 2014—2017. +# Милош Поповић , 2015. +# Марко М. Костић , 2016. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 17:38+0200\n" +"Last-Translator: Марко М. Костић \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Project-Style: gnome\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "О програму" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Изађи" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Претрага није дала резултате" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Покишајте другачију претрагу." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Учитавам…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Умножи знак" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Знак је умножен у оставу" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Нису нађени скорашњи знакови" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Знакови ће се појавити овде уколико их употребите." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Тренутна страница" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Издвој према словима" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Гномов Знаковник" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Програм таблице знакова" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Знаковник је једноставно помагало за налажење и уметање необичних знакова. " +"Он вам омогућава да лако нађете знак који тражите уносом кључних речи." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Можете да листате знакове по категоријама као што су Интерпункције, Слике и " +"друго." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Таблица знакова" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Помагало за налажење и уметање необичних знакова" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"знак;знакови;уникод;јуникод;интерпункција;математика;слова;емотикон;" +"емотикони;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Писмо за приказ знакова" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Користиће писмо за исцртавање знакова на списку знакова." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Највише знакова међу скорашњим" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Емоџији" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Слова и знакови" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Интерпункција" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Стрелице" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Тачкасти спискови" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Слике" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Валуте" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Математика" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Слова" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Смешци и особе" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Животиње и природа" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Храна и пиће" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Активности" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Путовање и места" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Предмети" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Знакови" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Заставе" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s. ред у списку знакова" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Недавно коришћено" + +#: src/character.js:56 +msgid "See Also" +msgstr "Видите такође" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Уникод U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s није укључен у %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Недодељен" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Програм за знакове" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Програм за знакове је покренут" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Програм за знакове завршава" + +#: src/menu.js:50 +msgid "None" +msgstr "Ништа" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Непознат назив знака" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Мирослав Николић \n" +"Милош Поповић \n" +"Марко М. Костић \n" +"\n" +"http://prevod.org — превод на српски језик" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Таблица знакова" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (само %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Списак „%s“ знакова" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Списак скоро коришћених „%s“ знакова" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Претражите резултат списка знакова" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Резултат претраге" + +#~ msgid "Emoticons" +#~ msgstr "Смајлићи" + +#~ msgid "Try another search criteria." +#~ msgstr "Покушајте претрагу другим речима." + +#~ msgid "characters;unicode;" +#~ msgstr "знаци;уникод;знакови;" + +#~ msgid "About Characters" +#~ msgstr "О Знаковнику" + +#~ msgid "_New" +#~ msgstr "_Ново" + +#~ msgid "Type to Search" +#~ msgstr "Упишите да потражите" + +#~ msgid "Latin" +#~ msgstr "Латински" + +#~ msgid "About Example" +#~ msgstr "О примеру" + +#~ msgid "JS Application" +#~ msgstr "ЈС програм" + +#~ msgid "Demo JS Application and template" +#~ msgstr "Пробни ЈС програм и шаблон" + +#~ msgid "gtk;gjs;demo;development;" +#~ msgstr "гтк;гјс;проба;развој;" + +#~ msgid "Done" +#~ msgstr "Урађено" diff --git a/po/sr@latin.gmo b/po/sr@latin.gmo new file mode 100644 index 0000000..1f84379 Binary files /dev/null and b/po/sr@latin.gmo differ diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000..c62e57e --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,322 @@ +# Serbian translation for gnome-characters. +# Copyright (C) 2014 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Translators: +# Miroslav Nikolić , 2014—2017. +# Miloš Popović , 2015. +# Marko M. Kostić , 2016. +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-31 13:08+0000\n" +"PO-Revision-Date: 2017-08-31 17:38+0200\n" +"Last-Translator: Marko M. Kostić \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Project-Style: gnome\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "O programu" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Izađi" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Pretraga nije dala rezultate" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Pokišajte drugačiju pretragu." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Učitavam…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Umnoži znak" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Znak je umnožen u ostavu" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Nisu nađeni skorašnji znakovi" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Znakovi će se pojaviti ovde ukoliko ih upotrebite." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Trenutna stranica" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Izdvoj prema slovima" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "Gnomov Znakovnik" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Program tablice znakova" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Znakovnik je jednostavno pomagalo za nalaženje i umetanje neobičnih znakova. " +"On vam omogućava da lako nađete znak koji tražite unosom ključnih reči." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Možete da listate znakove po kategorijama kao što su Interpunkcije, Slike i " +"drugo." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Tablica znakova" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Pomagalo za nalaženje i umetanje neobičnih znakova" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"znak;znakovi;unikod;junikod;interpunkcija;matematika;slova;emotikon;" +"emotikoni;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Pismo za prikaz znakova" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Koristiće pismo za iscrtavanje znakova na spisku znakova." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Najviše znakova među skorašnjim" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emodžiji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Slova i znakovi" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Interpunkcija" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Strelice" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Tačkasti spiskovi" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Slike" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valute" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematika" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Slova" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Smešci i osobe" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Životinje i priroda" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Hrana i piće" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktivnosti" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Putovanje i mesta" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Predmeti" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Znakovi" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Zastave" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s. red u spisku znakova" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nedavno korišćeno" + +#: src/character.js:56 +msgid "See Also" +msgstr "Vidite takođe" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unikod U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s nije uključen u %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Nedodeljen" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Program za znakove" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Program za znakove je pokrenut" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Program za znakove završava" + +#: src/menu.js:50 +msgid "None" +msgstr "Ništa" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Nepoznat naziv znaka" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Miroslav Nikolić \n" +"Miloš Popović \n" +"Marko M. Kostić \n" +"\n" +"http://prevod.org — prevod na srpski jezik" + +#: src/window.js:201 +msgid "Character Map" +msgstr "Tablica znakova" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (samo %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "Spisak „%s“ znakova" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Spisak skoro korišćenih „%s“ znakova" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Pretražite rezultat spiska znakova" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Rezultat pretrage" + +#~ msgid "Emoticons" +#~ msgstr "Smajlići" + +#~ msgid "Try another search criteria." +#~ msgstr "Pokušajte pretragu drugim rečima." + +#~ msgid "characters;unicode;" +#~ msgstr "znaci;unikod;znakovi;" + +#~ msgid "About Characters" +#~ msgstr "O Znakovniku" + +#~ msgid "_New" +#~ msgstr "_Novo" + +#~ msgid "Type to Search" +#~ msgstr "Upišite da potražite" + +#~ msgid "Latin" +#~ msgstr "Latinski" + +#~ msgid "About Example" +#~ msgstr "O primeru" + +#~ msgid "JS Application" +#~ msgstr "JS program" + +#~ msgid "Demo JS Application and template" +#~ msgstr "Probni JS program i šablon" + +#~ msgid "gtk;gjs;demo;development;" +#~ msgstr "gtk;gjs;proba;razvoj;" + +#~ msgid "Done" +#~ msgstr "Urađeno" diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 0000000..9788f70 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 0000000..700a67b Binary files /dev/null and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..1309dcc --- /dev/null +++ b/po/sv.po @@ -0,0 +1,308 @@ +# Swedish translation for gnome-characters. +# Copyright © 2015, 2016, 2017 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Anders Jonsson , 2015, 2016, 2017. +# Sebastian Rasmussen , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-30 20:15+0200\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Om" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Avsluta" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Inga sökresultat hittades" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Försök med en annan sökning." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Läser in…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Kopiera tecken" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Tecken kopierat till urklipp" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Inga nyligen använda tecken hittades" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Tecken kommer dyka upp här om du använder dem." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Aktuell sida" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Filtrera efter typsnitt" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Tecken" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Teckentabellprogram" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Tecken är ett enkelt nyttoprogram för att söka och infoga ovanliga tecken. " +"Det låter dig snabbt hitta tecknet du söker genom att söka efter nyckelord." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Du kan också bläddra igenom tecken efter kategorier som skiljetecken, bilder " +"o.s.v." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Tecken" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Nyttoprogram för att söka och infoga ovanliga tecken" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"tecken;unicode;skiljetecken;matematik;bokstäver;emoji;emoticon;humörsymbol;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Typsnitt för att visa tecken" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Använd typsnittet för att rendera tecken i teckenlistan." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Maximalt antal senaste tecken" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Bokstäver och symboler" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Skiljetecken" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Pilar" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Punkter" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Bilder" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Valutor" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematik" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Bokstäver" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Humörsymboler och personer" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Djur och natur" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Mat och dryck" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Aktiviteter" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Resande och platser" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Föremål" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Symboler" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Flaggor" + +# accessible name +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "Listrad för kategorin %s" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Nyligen använda" + +#: src/character.js:56 +msgid "See Also" +msgstr "Se även" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s är inte inkluderat i %s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Otilldelad" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Programmet Tecken" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Programmet Tecken startat" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Programmet Tecken avslutas" + +# Gäller typsnitt +#: src/menu.js:50 +msgid "None" +msgstr "Inget" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Okänt teckennamn" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Anders Jonsson \n" +"\n" +"Skicka synpunkter på översättningen till\n" +"." + +#: src/window.js:201 +msgid "Character Map" +msgstr "Teckentabell" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (endast %s)" + +# accessible name +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s-teckenlista" + +# accessible name +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "Lista över senaste %s-tecken" + +# accessible name +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Teckenlista för sökresultat" + +# accessible name +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Sökresultat" + +#~ msgid "Emoticons" +#~ msgstr "Humörsymboler" + +#~ msgid "Try another search criteria." +#~ msgstr "Försök med ett annat sökkriterium." + +#~ msgid "characters;unicode;" +#~ msgstr "tecken;unicode;" + +#~ msgid "About Characters" +#~ msgstr "Om Tecken" + +#~ msgid "Latin" +#~ msgstr "Latin" + +#~ msgid "_New" +#~ msgstr "_Ny" + +#~ msgid "Type to Search" +#~ msgstr "Skriv för att söka" diff --git a/po/tg.gmo b/po/tg.gmo new file mode 100644 index 0000000..6d8f8fc Binary files /dev/null and b/po/tg.gmo differ diff --git a/po/tg.po b/po/tg.po new file mode 100644 index 0000000..05a751e --- /dev/null +++ b/po/tg.po @@ -0,0 +1,223 @@ +# Tajik translation for gnome-characters. +# Copyright (C) 2016 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Victor Ibragimov , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-10-23 16:08+0000\n" +"PO-Revision-Date: 2016-10-24 11:21+0500\n" +"Language-Team: Tajik \n" +"Language: tg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: \n" +"X-Generator: Poedit 1.8.4\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Дар бораи барнома" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Анҷоми кор" + +#: data/characterlist.ui:30 +msgid "Search produced empty result" +msgstr "" + +#: data/characterlist.ui:41 +msgid "Try another search criteria." +msgstr "" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Дар ҳоли боркунӣ…" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Нусха бардоштани аломат" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Саҳифаи ҷорӣ" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "Аломатҳои GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for by " +"searching for keywords." +msgstr "" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Аломатҳо" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "characters;unicode;punctuation;math;letters;emoji;emoticon;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Шрифт барои намоиш додани аломатҳо" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "Суратҳо" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "" + +#: src/character.js:53 +msgid "See Also" +msgstr "" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Юникоди U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Барномаи аломатҳо" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Барномаи аломатҳо оғоз ёфт" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Барномаи аломатҳо анҷом ёфт" + +#: src/menu.js:50 +msgid "None" +msgstr "Ҳеҷ" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Номи аломат номаълум аст" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "Victor Ibragimov - victor.ibragimov@gmail.com" + +#: src/window.js:167 +msgid "Character Map" +msgstr "Харитаи аломатҳо" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (танҳо %s)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "Рӯйхати аломатҳои %s" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "Натиҷаи ҷустуҷӯ дар рӯйхати аломатҳо" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +msgid "Search Result" +msgstr "Натиҷаи ҷустуҷӯ" diff --git a/po/tr.gmo b/po/tr.gmo new file mode 100644 index 0000000..a51bec2 Binary files /dev/null and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..f8c0bb4 --- /dev/null +++ b/po/tr.po @@ -0,0 +1,300 @@ +# Turkish translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Kaan Özdinçer , 2015. +# Muhammet Kara , 2015, 2016. +# Çağatay Yiğit Şahin , 2017. +# Emin Tufan Çetin , 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-08-31 21:27+0300\n" +"Last-Translator: Emin Tufan Çetin \n" +"Language-Team: Türkçe \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Gtranslator 2.91.7\n" +"X-POOTLE-MTIME: 1434360284.000000\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Hakkında" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Çık" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "Arama sonuç bulamadı" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "Farklı bir arama deneyin." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Yükleniyor…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Karakteri kopyala" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Karakter panoya kopyalandı" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "Son karakterler bulunamadı" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "Eğer kullanırsanız karakterler belirecek." + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Şimdiki sayfa" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Yazı tipine göre süz" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME Karakterler" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "Karakter eşlem uygulaması" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Karakterler alışılmadık karakterleri bulmak ve eklemek için yardımcı yalın " +"bir uygulamadır. Anahtar sözcükler arayarak karakteri hızlıca bulmanızı " +"sağlar." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Ayrıca karakterlere kategorileri ile göz atabilirsiniz, örneğin Noktalama, " +"Resimler vb." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Karakterler" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Alışılmadık karakterleri bulmak ve eklemek için yardımcı uygulama" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"karakterler;unicode;evrensel kod;noktalama;matematik;harfler;emoji;ifade;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Karakterlerin gösterileceği yazı tipi" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "" +"Karakter listesi üzerinde karakterleri gerçeklemek için yazı tipi kullan." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Azami son karakterler" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emojiler" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "Harfler ve Simgeler" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "Noktalama İşaretleri" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "Oklar" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "Madde İmleri" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "Resimler" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "Para Birimleri" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "Matematik" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "Harfler" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "Yüz İfadeleri ve İnsanlar" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "Hayvanlar ve Doğa" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "Yiyecek ve İçecek" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "Etkinlikler" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "Gezi ve Yerler" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "Nesneler" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "Simgeler" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "Bayraklar" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s Kategori Listesi Satırı" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "Son Kullanılan" + +#: src/character.js:56 +msgid "See Also" +msgstr "Ayrıca Bakınız" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s, %s içinde bulunmuyor" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "Atanmamış" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Karakterler Uygulaması" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Karakterler Uygulaması başladı" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Karakterler Uygulamasından çıkılıyor" + +#: src/menu.js:50 +msgid "None" +msgstr "Hiçbiri" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "Bilinmeyen karakter adı" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Simge Sezgin \n" +"Emin Tufan Çetin " + +#: src/window.js:201 +msgid "Character Map" +msgstr "Karakter Haritası" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (yalnızca %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s Karakter Listesi" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +#| msgid "%s Character List" +msgid "Recently Used %s Character List" +msgstr "Son Kullanılan %s Karakter Listesi" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "Karakter Listesi Arama Sonucu" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "Arama Sonucu" + +#~ msgid "Emoticons" +#~ msgstr "Duygu Simgeleri" + +#~ msgid "Try another search criteria." +#~ msgstr "Başka bir arama kıstası deneyin." + +#~ msgid "About Characters" +#~ msgstr "Characters Hakkında" + +#~ msgid "characters;unicode;" +#~ msgstr "karakterler;unicode;evrensel kod;" + +#~ msgid "Latin" +#~ msgstr "Latince" diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000..adc4e89 Binary files /dev/null and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..fd762e3 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Daniel Korostil , 2015, 2016. +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-09-06 21:18+0000\n" +"PO-Revision-Date: 2016-09-17 19:53+0300\n" +"Last-Translator: Daniel Korostil \n" +"Language-Team: linux.org.ua\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "Про програму" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "Вийти" + +#: data/characterlist.ui:30 +msgid "Search produced empty result" +msgstr "Пошук не має результатів" + +#: data/characterlist.ui:41 +msgid "Try another search criteria." +msgstr "Спробуйте інший критерій пошуку." + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "Завантаження…" + +#: data/characterlist.ui:108 +msgid "No recent characters found" +msgstr "Не знайдено жодного недавнього символу" + +#: data/characterlist.ui:119 +msgid "Characters will appear here if you use them." +msgstr "Символи з'являтимуться тут у міру їхнього використання." + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "Скопіювати символ" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "Символ скопійовано в буфер" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "Поточна сторінка" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "Відсіяти за шрифтом" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:166 +msgid "GNOME Characters" +msgstr "Символи GNOME" + +#: data/org.gnome.Characters.appdata.xml.in:5 +#| msgid "Characters Application" +msgid "Character map application" +msgstr "Програма символів" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"Символи — простенька програм для пошуку та вставлення незвичайних символів. " +"Він дозволяє швидко знайти символ за допомогою ключових слів." + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "" +"Ви також можете переглянути символи через категорії, як-от Пунктуація, " +"Малюнки тощо." + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "Символи" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "Програма для пошуку та вставлення незвичайних символів" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +#| msgid "Characters" +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "символи;унікод;пунктуація;математика;букви;літери;емоції;смайлики;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "Шрифт показу символів" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "Використовувати шрифт для відтворення символів у переліку." + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "Максимально нещодавні символи" + +#: src/categoryList.js:33 +msgid "Recently Used" +msgstr "Недавно вжиті" + +#: src/categoryList.js:39 +msgid "Punctuation" +msgstr "Пунктуація" + +#: src/categoryList.js:45 +msgid "Arrows" +msgstr "Стрілки" + +#: src/categoryList.js:51 +msgid "Bullets" +msgstr "Маркери" + +#: src/categoryList.js:57 +msgid "Pictures" +msgstr "Малюнки" + +#: src/categoryList.js:63 +msgid "Currencies" +msgstr "Валюти" + +#: src/categoryList.js:69 +msgid "Math" +msgstr "Математика" + +#: src/categoryList.js:75 +msgid "Letters" +msgstr "Букви" + +#: src/categoryList.js:81 +msgid "Emoticons" +msgstr "Емоції" + +#: src/categoryList.js:95 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s рядок переліку категорій" + +#: src/character.js:53 +msgid "See Also" +msgstr "Дивіться також" + +#: src/character.js:117 src/character.js:139 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Унікод U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:135 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s немає в %s" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "Програма символів" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "Програму символів запущено" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "Програма символів існує" + +#: src/menu.js:50 +msgid "None" +msgstr "Немає" + +#: src/searchProvider.js:97 +msgid "Unknown character name" +msgstr "Невідома назва символу" + +#: src/searchProvider.js:100 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:165 +msgid "translator-credits" +msgstr "Daniel Korostil " + +#: src/window.js:167 +msgid "Character Map" +msgstr "Таблиця символів" + +#: src/window.js:187 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (тільки %s)" + +#: src/window.js:273 +#, javascript-format +msgid "%s Character List" +msgstr "Перелік символів %s" + +#: src/window.js:280 +msgid "Search Result Character List" +msgstr "Перелік символів з результату пошуку" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:282 +#| msgid "Search Result Character List" +msgid "Search Result" +msgstr "Результати пошуку" + +#~ msgid "About Characters" +#~ msgstr "Про програму" + +#~ msgid "characters;unicode;" +#~ msgstr "символи;унікод;" + +#~ msgid "Latin" +#~ msgstr "Латиниця" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo new file mode 100644 index 0000000..ccdfb24 Binary files /dev/null and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..b40f769 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,286 @@ +# Chinese (China) translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Jeff Bai , 2015, 2016. +# Bin Li , 2016. +# Dingzhong Chen , 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-24 15:00+0000\n" +"PO-Revision-Date: 2017-08-25 10:25+0800\n" +"Last-Translator: Dingzhong Chen \n" +"Language-Team: Chinese (China) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Gtranslator 2.91.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "关于" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "退出" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "搜索未找到结果" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "尝试不同的搜索。" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "正在加载…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "复制字符" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "字符已复制到剪贴板" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "未找到最近使用的字符" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "你使用的字符将会在这里显示。" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "当前页" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "按字体筛选" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME 字符" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "字符映射应用程序" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"字符 是一个简单的查找并插入特殊字符的实用程序。它可以让你通过通过搜索关键字快" +"速找到你正在寻找的字符。" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "你也可以按照目录浏览字符,比如 标点、图片等。" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "字符" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "查找和插入特殊字符的实用程序" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;字符;统一码;标点符" +"号;表情;字母;公式;数学;音标;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "显示字符的字体" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "使用字体渲染字符列表上的字符。" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "最近字符的最大数" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "Emoji 表情" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "字母与符号" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "标点" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "箭头" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "项目符号" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "图片" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "货币" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "数学" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "字母" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "笑脸与人物" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "动物与自然" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "食物与饮料" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "活动" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "旅游与地方" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "物体" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "符号" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "标志" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s 分类列表行" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "最近使用" + +#: src/character.js:56 +msgid "See Also" +msgstr "另见" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "字体 %2$s 不包含字符 %1$s" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "未分配" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "字符 应用程序" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "字符 应用程序已打开" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "字符 应用程序正在退出" + +#: src/menu.js:50 +msgid "None" +msgstr "无" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "未知的字符名称" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s, %s: %s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "" +"Jeff Bai , 2015, 2016.\n" +"Bin Li , 2016.\n" +"Dingzhong Chen , 2015, 2016, 2017." + +#: src/window.js:201 +msgid "Character Map" +msgstr "字符映射表" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s(限 %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s 字符列表" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "最近使用的 %s 字符列表" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "字符列表搜索结果" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "搜索结果" + +#~ msgid "Emoticons" +#~ msgstr "表情" + +#~ msgid "Try another search criteria." +#~ msgstr "尝试其他搜索条件。" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo new file mode 100644 index 0000000..5a30b6c Binary files /dev/null and b/po/zh_TW.gmo differ diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..d0ddfef --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,289 @@ +# Chinese (Taiwan) translation for gnome-characters. +# Copyright (C) 2015 gnome-characters's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-characters package. +# Cheng-Chia Tseng , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-characters master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"characters&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-08-30 14:55+0000\n" +"PO-Revision-Date: 2017-09-03 21:38+0800\n" +"Last-Translator: Cheng-Chia Tseng \n" +"Language-Team: Chinese (Taiwan) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" + +#: data/app-menu.ui:6 +msgid "About" +msgstr "關於" + +#: data/app-menu.ui:10 +msgid "Quit" +msgstr "退出" + +#: data/characterlist.ui:30 +msgid "Search found no results" +msgstr "搜尋找不到結果" + +#: data/characterlist.ui:41 +msgid "Try a different search." +msgstr "嘗試不同的搜尋。" + +#: data/characterlist.ui:73 +msgid "Loading…" +msgstr "載入中…" + +#: data/character.ui:68 +msgid "Copy Character" +msgstr "複製字元" + +#: data/character.ui:86 +msgid "Character copied to clipboard" +msgstr "字元已貼上剪貼簿" + +#: data/mainview.ui:30 +msgid "No recent characters found" +msgstr "找不到最近的字元" + +#: data/mainview.ui:41 +msgid "Characters will appear here if you use them." +msgstr "你有用過字元會出現在這裡。" + +#: data/mainwindow.ui:12 +msgid "Current page" +msgstr "目前的頁面" + +#: data/menu.ui:17 +msgid "Filter by Font" +msgstr "根據字型過濾" + +#: data/org.gnome.Characters.appdata.xml.in:4 src/window.js:200 +msgid "GNOME Characters" +msgstr "GNOME 字元" + +#: data/org.gnome.Characters.appdata.xml.in:5 +msgid "Character map application" +msgstr "字元對應表應用程式" + +#: data/org.gnome.Characters.appdata.xml.in:9 +msgid "" +"Characters is a simple utility application to find and insert unusual " +"characters. It allows you to quickly find the character you are looking for " +"by searching for keywords." +msgstr "" +"《字元》是方便查找不常用字元並插入的簡單公用程式。透過關鍵字您就能快速尋找想" +"要使用的字元。" + +#: data/org.gnome.Characters.appdata.xml.in:12 +msgid "" +"You can also browse characters by categories, such as Punctuation, Pictures, " +"etc." +msgstr "您可以根據分類來瀏覽字元,例如:標點符號、圖片…等。" + +#: data/org.gnome.Characters.desktop.in:4 src/service.js:51 +msgid "Characters" +msgstr "字元" + +#: data/org.gnome.Characters.desktop.in:5 +msgid "Utility application to find and insert unusual characters" +msgstr "尋找並插入不常用字元的公用程式" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.Characters.desktop.in:7 +msgid "gnome-characters" +msgstr "gnome-characters" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.Characters.desktop.in:13 +msgid "characters;unicode;punctuation;math;letters;emoji;emoticon;" +msgstr "" +"characters;unicode;punctuation;math;letters;emoji;emoticon;字元;萬國碼;統一" +"碼;標點;符號;數學;字母;圖文字;" + +#: data/org.gnome.Characters.gschema.xml:5 +msgid "Font to display characters" +msgstr "顯示字元用的字型" + +#: data/org.gnome.Characters.gschema.xml:6 +msgid "Use the font to render characters on the character list." +msgstr "使用該字型來算繪呈現字型列表中的字元。" + +#: data/org.gnome.Characters.gschema.xml:15 +msgid "Maximum recent characters" +msgstr "最大的最近字元數" + +#: src/categoryList.js:33 +msgid "Emojis" +msgstr "繪文字" + +#: src/categoryList.js:40 src/categoryList.js:390 +msgid "Letters & Symbols" +msgstr "字母和符號" + +#: src/categoryList.js:50 +msgid "Punctuation" +msgstr "標點符號" + +#: src/categoryList.js:57 +msgid "Arrows" +msgstr "箭號" + +#: src/categoryList.js:64 +msgid "Bullets" +msgstr "項目符號" + +#: src/categoryList.js:71 +msgid "Pictures" +msgstr "圖符" + +#: src/categoryList.js:78 +msgid "Currencies" +msgstr "貨幣" + +#: src/categoryList.js:85 +msgid "Math" +msgstr "數學" + +#: src/categoryList.js:92 +msgid "Letters" +msgstr "字母" + +#: src/categoryList.js:102 +msgid "Smileys & People" +msgstr "表情和人物" + +#: src/categoryList.js:109 +msgid "Animals & Nature" +msgstr "動物和自然" + +#: src/categoryList.js:116 +msgid "Food & Drink" +msgstr "食物和飲品" + +#: src/categoryList.js:123 +msgid "Activities" +msgstr "活動" + +#: src/categoryList.js:130 +msgid "Travel & Places" +msgstr "旅行和地點" + +#: src/categoryList.js:137 +msgid "Objects" +msgstr "物體" + +#: src/categoryList.js:144 +msgid "Symbols" +msgstr "符號" + +#: src/categoryList.js:151 +msgid "Flags" +msgstr "旗幟" + +#: src/categoryList.js:166 +#, javascript-format +msgid "%s Category List Row" +msgstr "%s 分類清單列" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/categoryList.js:378 src/window.js:373 +msgid "Recently Used" +msgstr "最近使用" + +#: src/character.js:56 +msgid "See Also" +msgstr "參見" + +#: src/character.js:122 src/character.js:144 +#, javascript-format +msgid "Unicode U+%04s" +msgstr "Unicode U+%04s" + +#. TRANSLATORS: the first variable is a character, the second is a font +#: src/character.js:140 +#, javascript-format +msgid "%s is not included in %s" +msgstr "%s 不在 %s 中" + +#: src/characterList.js:178 +msgid "Unassigned" +msgstr "未分配" + +#: src/main.js:58 +msgid "Characters Application" +msgstr "字元應用程式" + +#: src/main.js:95 +msgid "Characters Application started" +msgstr "字元應用程式已啟動" + +#: src/main.js:103 +msgid "Characters Application exiting" +msgstr "字元應用程式正在離開" + +#: src/menu.js:50 +msgid "None" +msgstr "無" + +#: src/searchProvider.js:95 +msgid "Unknown character name" +msgstr "未知的字元名稱" + +#: src/searchProvider.js:98 +#, javascript-format +msgid "U+%s, %s: %s" +msgstr "U+%s,%s:%s" + +#. TRANSLATORS: put your names here, one name per line. +#: src/window.js:199 +msgid "translator-credits" +msgstr "Cheng-Chia Tseng , 2015, 2017" + +#: src/window.js:201 +msgid "Character Map" +msgstr "字元對應表" + +#: src/window.js:221 +#, javascript-format +msgid "%s (%s only)" +msgstr "%s (僅 %s)" + +#: src/window.js:350 +#, javascript-format +msgid "%s Character List" +msgstr "%s 字元清單" + +#. TRANSLATORS: %s will be either 'emojis' or 'letters' +#: src/window.js:358 +#, javascript-format +msgid "Recently Used %s Character List" +msgstr "最近使用的%s字元清單" + +#: src/window.js:377 +msgid "Search Result Character List" +msgstr "搜尋結果字元清單" + +#. FIXME: Can't use GtkContainer.child_get_property. +#: src/window.js:379 +msgid "Search Result" +msgstr "搜尋結果" + +#~ msgid "Emoticons" +#~ msgstr "表情圖示" + +#~ msgid "Try another search criteria." +#~ msgstr "嘗試另一個搜尋條件。" + +#~ msgid "About Characters" +#~ msgstr "關於《字元》" + +#~ msgid "characters;unicode;" +#~ msgstr "characters;unicode;字元;萬國碼;統一碼;" + +#~ msgid "Latin" +#~ msgstr "拉丁字" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..470b4b7 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,60 @@ +NULL = + +appdir = $(pkgdatadir) +nodist_app_SCRIPTS = org.gnome.Characters org.gnome.Characters.BackgroundService + +app_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.src.gresource.xml) +org.gnome.Characters.src.gresource: org.gnome.Characters.src.gresource.xml $(app_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +service_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.BackgroundService.src.gresource.xml) +org.gnome.Characters.BackgroundService.src.gresource: org.gnome.Characters.BackgroundService.src.gresource.xml $(service_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +resourcedir = $(pkgdatadir) +resource_DATA = org.gnome.Characters.src.gresource org.gnome.Characters.BackgroundService.src.gresource + +org.gnome.Characters: org.gnome.Characters.in + $(AM_V_GEN) sed \ + -e "s|[@]GJS@|$(GJS)|g" \ + -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ + -e "s|[@]prefix@|$(prefix)|g" \ + -e "s|[@]libdir@|$(libdir)|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + $< > $@ + @chmod +x $@ + +org.gnome.Characters.BackgroundService: org.gnome.Characters.BackgroundService.in + $(AM_V_GEN) sed \ + -e "s|[@]GJS@|$(GJS)|g" \ + -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ + -e "s|[@]prefix@|$(prefix)|g" \ + -e "s|[@]libdir@|$(libdir)|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + $< > $@ + @chmod +x $@ + +EXTRA_DIST = \ + org.gnome.Characters.in \ + org.gnome.Characters.src.gresource.xml \ + org.gnome.Characters.BackgroundService.in \ + org.gnome.Characters.BackgroundService.src.gresource.xml \ + $(app_resource_files) \ + $(service_resource_files) \ + meson.build \ + $(NULL) + +CLEANFILES = \ + org.gnome.Characters \ + org.gnome.Characters.src.gresource \ + org.gnome.Characters.BackgroundService \ + org.gnome.Characters.BackgroundService.src.gresource \ + $(NULL) + +install-exec-hook: + $(MKDIR_P) $(DESTDIR)$(bindir) + ln -sf $(appdir)/org.gnome.Characters $(DESTDIR)$(bindir)/$(PACKAGE_TARNAME) +uninstall-hook: + -rm -f $(DESTDIR)$(bindir)/$(PACKAGE_TARNAME) + +-include $(top_srcdir)/git.mk diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..50f858d --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,722 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(appdir)" "$(DESTDIR)$(resourcedir)" +SCRIPTS = $(nodist_app_SCRIPTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(resource_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +NULL = +appdir = $(pkgdatadir) +nodist_app_SCRIPTS = org.gnome.Characters org.gnome.Characters.BackgroundService +app_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.src.gresource.xml) +service_resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/org.gnome.Characters.BackgroundService.src.gresource.xml) +resourcedir = $(pkgdatadir) +resource_DATA = org.gnome.Characters.src.gresource org.gnome.Characters.BackgroundService.src.gresource +EXTRA_DIST = \ + org.gnome.Characters.in \ + org.gnome.Characters.src.gresource.xml \ + org.gnome.Characters.BackgroundService.in \ + org.gnome.Characters.BackgroundService.src.gresource.xml \ + $(app_resource_files) \ + $(service_resource_files) \ + meson.build \ + $(NULL) + +CLEANFILES = \ + org.gnome.Characters \ + org.gnome.Characters.src.gresource \ + org.gnome.Characters.BackgroundService \ + org.gnome.Characters.BackgroundService.src.gresource \ + $(NULL) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-nodist_appSCRIPTS: $(nodist_app_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(nodist_app_SCRIPTS)'; test -n "$(appdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(appdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(appdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(appdir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(appdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-nodist_appSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_app_SCRIPTS)'; test -n "$(appdir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(appdir)'; $(am__uninstall_files_from_dir) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-resourceDATA: $(resource_DATA) + @$(NORMAL_INSTALL) + @list='$(resource_DATA)'; test -n "$(resourcedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(resourcedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(resourcedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(resourcedir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(resourcedir)" || exit $$?; \ + done + +uninstall-resourceDATA: + @$(NORMAL_UNINSTALL) + @list='$(resource_DATA)'; test -n "$(resourcedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(resourcedir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(appdir)" "$(DESTDIR)$(resourcedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-nodist_appSCRIPTS install-resourceDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-nodist_appSCRIPTS uninstall-resourceDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +.MAKE: install-am install-exec-am install-strip uninstall-am + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-exec-hook \ + install-html install-html-am install-info install-info-am \ + install-man install-nodist_appSCRIPTS install-pdf \ + install-pdf-am install-ps install-ps-am install-resourceDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am uninstall-hook \ + uninstall-nodist_appSCRIPTS uninstall-resourceDATA + +.PRECIOUS: Makefile + +org.gnome.Characters.src.gresource: org.gnome.Characters.src.gresource.xml $(app_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< +org.gnome.Characters.BackgroundService.src.gresource: org.gnome.Characters.BackgroundService.src.gresource.xml $(service_resource_files) + $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) $< + +org.gnome.Characters: org.gnome.Characters.in + $(AM_V_GEN) sed \ + -e "s|[@]GJS@|$(GJS)|g" \ + -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ + -e "s|[@]prefix@|$(prefix)|g" \ + -e "s|[@]libdir@|$(libdir)|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + $< > $@ + @chmod +x $@ + +org.gnome.Characters.BackgroundService: org.gnome.Characters.BackgroundService.in + $(AM_V_GEN) sed \ + -e "s|[@]GJS@|$(GJS)|g" \ + -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \ + -e "s|[@]prefix@|$(prefix)|g" \ + -e "s|[@]libdir@|$(libdir)|g" \ + -e "s|[@]pkgdatadir@|$(pkgdatadir)|g" \ + $< > $@ + @chmod +x $@ + +install-exec-hook: + $(MKDIR_P) $(DESTDIR)$(bindir) + ln -sf $(appdir)/org.gnome.Characters $(DESTDIR)$(bindir)/$(PACKAGE_TARNAME) +uninstall-hook: + -rm -f $(DESTDIR)$(bindir)/$(PACKAGE_TARNAME) + +-include $(top_srcdir)/git.mk + +# 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/categoryList.js b/src/categoryList.js new file mode 100644 index 0000000..d2c6599 --- /dev/null +++ b/src/categoryList.js @@ -0,0 +1,451 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (C) 2014-2017 Daiki Ueno +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +const Lang = imports.lang; +const Params = imports.params; +const GnomeDesktop = imports.gi.GnomeDesktop; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Gtk = imports.gi.Gtk; +const Gettext = imports.gettext; +const Gc = imports.gi.Gc; +const Util = imports.util; + +const CategoryList = [ + { + name: 'emojis', + category: Gc.Category.EMOJI, + title: N_('Emojis'), + icon_name: 'characters-emoji-smileys', + action_name: 'category' + }, + { + name: 'letters', + category: Gc.Category.LETTER, + title: N_('Letters & Symbols'), + icon_name: 'characters-latin-symbolic', + action_name: 'category' + } +]; + +const LetterCategoryList = [ + { + name: 'punctuation', + category: Gc.Category.LETTER_PUNCTUATION, + title: N_('Punctuation'), + icon_name: 'characters-punctuation-symbolic', + action_name: 'subcategory' + }, + { + name: 'arrow', + category: Gc.Category.LETTER_ARROW, + title: N_('Arrows'), + icon_name: 'characters-arrow-symbolic', + action_name: 'subcategory' + }, + { + name: 'bullet', + category: Gc.Category.LETTER_BULLET, + title: N_('Bullets'), + icon_name: 'characters-bullet-symbolic', + action_name: 'subcategory' + }, + { + name: 'picture', + category: Gc.Category.LETTER_PICTURE, + title: N_('Pictures'), + icon_name: 'characters-picture-symbolic', + action_name: 'subcategory' + }, + { + name: 'currency', + category: Gc.Category.LETTER_CURRENCY, + title: N_('Currencies'), + icon_name: 'characters-currency-symbolic', + action_name: 'subcategory' + }, + { + name: 'math', + category: Gc.Category.LETTER_MATH, + title: N_('Math'), + icon_name: 'characters-math-symbolic', + action_name: 'subcategory' + }, + { + name: 'letters', + category: Gc.Category.LETTER_LATIN, + title: N_('Letters'), + icon_name: 'characters-latin-symbolic', + action_name: 'subcategory' + } +]; + +const EmojiCategoryList = [ + { + name: 'emoji-smileys', + category: Gc.Category.EMOJI_SMILEYS, + title: N_('Smileys & People'), + icon_name: 'characters-emoji-smileys', + action_name: 'subcategory' + }, + { + name: 'emoji-animals', + category: Gc.Category.EMOJI_ANIMALS, + title: N_('Animals & Nature'), + icon_name: 'characters-emoji-animals', + action_name: 'subcategory' + }, + { + name: 'emoji-food', + category: Gc.Category.EMOJI_FOOD, + title: N_('Food & Drink'), + icon_name: 'characters-emoji-food', + action_name: 'subcategory' + }, + { + name: 'emoji-activities', + category: Gc.Category.EMOJI_ACTIVITIES, + title: N_('Activities'), + icon_name: 'characters-emoji-activities', + action_name: 'subcategory' + }, + { + name: 'emoji-travel', + category: Gc.Category.EMOJI_TRAVEL, + title: N_('Travel & Places'), + icon_name: 'characters-emoji-travel', + action_name: 'subcategory' + }, + { + name: 'emoji-objects', + category: Gc.Category.EMOJI_OBJECTS, + title: N_('Objects'), + icon_name: 'characters-emoji-objects', + action_name: 'subcategory' + }, + { + name: 'emoji-symbols', + category: Gc.Category.EMOJI_SYMBOLS, + title: N_('Symbols'), + icon_name: 'characters-emoji-symbols', + action_name: 'subcategory' + }, + { + name: 'emoji-flags', + category: Gc.Category.EMOJI_FLAGS, + title: N_('Flags'), + icon_name: 'characters-emoji-flags', + action_name: 'subcategory' + } +]; + +const CategoryListRowWidget = new Lang.Class({ + Name: 'CategoryListRowWidget', + Extends: Gtk.ListBoxRow, + + _init: function(params, category) { + params = Params.fill(params, {}); + this.parent(params); + this.category = category; + this.get_accessible().accessible_name = + _('%s Category List Row').format(category.title); + + let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL }); + this.add(hbox); + + let pixbuf = Util.loadIcon(category.icon_name, 24); + let image = Gtk.Image.new_from_pixbuf(pixbuf); + image.get_style_context().add_class('category-icon'); + hbox.pack_start(image, false, false, 2); + + let label = new Gtk.Label({ label: Gettext.gettext(category.title), + halign: Gtk.Align.START }); + label.get_style_context().add_class('category-label'); + hbox.pack_start(label, true, true, 0); + + if (category.secondary_icon_name) { + let pixbuf = Util.loadIcon(category.secondary_icon_name, 16); + let image = Gtk.Image.new_from_pixbuf(pixbuf); + image.get_style_context().add_class('category-icon'); + hbox.pack_end(image, false, false, 2); + } + } +}); + +const CategoryListWidget = new Lang.Class({ + Name: 'CategoryListWidget', + Extends: Gtk.ListBox, + + _init: function(params) { + let filtered = Params.filter(params, { categoryList: null }); + params = Params.fill(params, {}); + this.parent(params); + + this.get_style_context().add_class('categories'); + + this._categoryList = filtered.categoryList; + this.populateCategoryList(); + + for (let index in this._categoryList) { + let category = this._categoryList[index]; + let rowWidget = new CategoryListRowWidget({}, category); + rowWidget.get_style_context().add_class('category'); + this.add(rowWidget); + } + }, + + vfunc_row_selected: function(row) { + if (row != null && row.selectable) { + let toplevel = row.get_toplevel(); + let action = toplevel.lookup_action(row.category.action_name); + action.activate(new GLib.Variant('s', row.category.name)); + } + }, + + populateCategoryList: function() { + }, + + getCategoryList: function() { + return this._categoryList; + }, + + getCategory: function(name) { + for (let index in this._categoryList) { + let category = this._categoryList[index]; + if (category.name == name) + return category; + } + return null; + } +}); + +const LetterCategoryListWidget = new Lang.Class({ + Name: 'LetterCategoryListWidget', + Extends: CategoryListWidget, + + _finishListEngines: function(sources, bus, res) { + try { + let engines = bus.list_engines_async_finish(res); + if (engines) { + for (let j in engines) { + let engine = engines[j]; + let language = engine.get_language(); + if (language != null) + this._ibusLanguageList[engine.get_name()] = language; + } + } + } catch (e) { + log("Failed to list engines: " + e.message); + } + this._finishBuildScriptList(sources); + }, + + _ensureIBusLanguageList: function(sources) { + if (this._ibusLanguageList != null) + return; + + this._ibusLanguageList = {}; + + // Don't assume IBus is always available. + let ibus; + try { + ibus = imports.gi.IBus; + } catch (e) { + this._finishBuildScriptList(sources); + return; + } + + ibus.init(); + let bus = new ibus.Bus(); + if (bus.is_connected()) { + bus.list_engines_async(-1, + null, + Lang.bind(this, function (bus, res) { + this._finishListEngines(sources, bus, res); + })); + } else + this._finishBuildScriptList(sources); + }, + + _finishBuildScriptList: function(sources) { + let xkbInfo = new GnomeDesktop.XkbInfo(); + let languages = []; + for (let i in sources) { + let [type, id] = sources[i]; + switch (type) { + case 'xkb': + // FIXME: Remove this check once gnome-desktop gets the + // support for that. + if (xkbInfo.get_languages_for_layout) { + languages = languages.concat( + xkbInfo.get_languages_for_layout(id)); + } + break; + case 'ibus': + if (id in this._ibusLanguageList) + languages.push(this._ibusLanguageList[id]); + break; + } + } + + // Add current locale language to languages. + languages.push(Gc.get_current_language()); + + let allScripts = []; + for (let i in languages) { + let language = GnomeDesktop.normalize_locale(languages[i]); + if (language == null) + continue; + let scripts = Gc.get_scripts_for_language(languages[i]); + for (let j in scripts) { + let script = scripts[j]; + // Exclude Latin and Han, since Latin is always added + // at the top and Han contains too many characters. + if (['Latin', 'Han'].indexOf(script) >= 0) + continue; + if (allScripts.indexOf(script) >= 0) + continue; + allScripts.push(script); + } + } + + allScripts.unshift('Latin'); + let category = this.getCategory('letters'); + category.scripts = allScripts; + }, + + populateCategoryList: function() { + // Populate the "scripts" element of the "Letter" category + // object, based on the current locale and the input-sources + // settings. + // + // This works asynchronously, in the following call flow: + // + // _buildScriptList() + // if an IBus input-source is configured: + // _ensureIBusLanguageList() + // ibus_bus_list_engines_async() + // _finishListEngines() + // _finishBuildScriptList() + // else: + // _finishBuildScriptList() + // + let settings = + Util.getSettings('org.gnome.desktop.input-sources', + '/org/gnome/desktop/input-sources/'); + if (settings) { + let sources = settings.get_value('sources').deep_unpack(); + let hasIBus = sources.some(function(current, index, array) { + return current[0] == 'ibus'; + }); + if (hasIBus) + this._ensureIBusLanguageList(sources); + else + this._finishBuildScriptList(sources); + } + } +}); + +const EmojiCategoryListWidget = new Lang.Class({ + Name: 'EmojiCategoryListWidget', + Extends: CategoryListWidget, + + _init: function(params) { + params = Params.fill(params, {}); + this.parent(params); + + let category; + let rowWidget; + + category = { + name: 'recent', + category: Gc.Category.NONE, + title: N_('Recently Used'), + icon_name: 'document-open-recent-symbolic', + action_name: 'subcategory' + }; + rowWidget = new CategoryListRowWidget({}, category); + rowWidget.get_style_context().add_class('category'); + this.prepend(rowWidget); + this._recentCategory = category; + + category = { + name: 'letters', + category: Gc.Category.NONE, + title: N_('Letters & Symbols'), + icon_name: 'characters-latin-symbolic', + secondary_icon_name: 'go-next-symbolic', + action_name: 'category', + }; + rowWidget = new CategoryListRowWidget({}, category); + rowWidget.get_style_context().add_class('category'); + let separator = new Gtk.Separator(); + let separatorRowWidget = new Gtk.ListBoxRow({ selectable: false }); + separatorRowWidget.add(separator); + this.add(separatorRowWidget); + this.add(rowWidget); + }, + + getCategory: function(name) { + if (name == 'recent') + return this._recentCategory; + return this.parent(name); + } +}); + +var CategoryListView = new Lang.Class({ + Name: 'CategoryListView', + Extends: Gtk.Stack, + + _init: function(params) { + params = Params.fill(params, { + hexpand: true, vexpand: true, + transition_type: Gtk.StackTransitionType.SLIDE_RIGHT + }); + this.parent(params); + + let emojiCategoryList = new EmojiCategoryListWidget({ + categoryList: EmojiCategoryList + }); + this.add_named(emojiCategoryList, 'emojis'); + + let letterCategoryList = new LetterCategoryListWidget({ + categoryList: LetterCategoryList + }); + this.add_named(letterCategoryList, 'letters'); + + this.set_visible_child_name('emojis'); + + this._categoryList = CategoryList.slice(); + + this.connect('notify::visible-child-name', + Lang.bind(this, this._ensureTransitionType)); + }, + + _ensureTransitionType: function() { + if (this.get_visible_child_name() == 'emojis') { + this.transition_type = Gtk.StackTransitionType.SLIDE_RIGHT; + } else { + this.transition_type = Gtk.StackTransitionType.SLIDE_LEFT; + } + }, + + getCategoryList: function() { + return this._categoryList; + } +}); diff --git a/src/character.js b/src/character.js new file mode 100644 index 0000000..66dd7f4 --- /dev/null +++ b/src/character.js @@ -0,0 +1,219 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (C) 2014-2015 Daiki Ueno +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +const Lang = imports.lang; +const Params = imports.params; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Pango = imports.gi.Pango; +const Gc = imports.gi.Gc; +const Main = imports.main; +const Util = imports.util; + +var CharacterDialog = new Lang.Class({ + Name: 'CharacterDialog', + Extends: Gtk.Dialog, + Signals: { + 'character-copied': { param_types: [ GObject.TYPE_STRING ] } + }, + Template: 'resource:///org/gnome/Characters/character.ui', + InternalChildren: ['main-stack', 'character-stack', + 'character-label', 'missing-label', 'detail-label', + 'copy-button', 'copy-revealer', 'related-listbox'], + + _init: function(params) { + let filtered = Params.filter(params, { character: null, + fontDescription: null }); + params = Params.fill(params, { use_header_bar: true, + width_request: 400, + height_request: 400 }); + this.parent(params); + + this._cancellable = new Gio.Cancellable(); + + this._copy_button.connect('clicked', Lang.bind(this, this._copyCharacter)); + + this._related_listbox.connect('row-selected', + Lang.bind(this, this._handleRowSelected)); + + this._relatedButton = new Gtk.ToggleButton({ label: _("See Also") }); + this.add_action_widget(this._relatedButton, Gtk.ResponseType.HELP); + this._relatedButton.show(); + + this._relatedButton.connect( + 'toggled', + Lang.bind(this, function() { + if (this._main_stack.visible_child_name == 'character') + this._main_stack.visible_child_name = 'related'; + else + this._main_stack.visible_child_name = 'character'; + })); + + this._fontDescription = filtered.fontDescription; + this._setCharacter(filtered.character); + + this._copyRevealerTimeoutId = 0; + }, + + _finishSearch: function(result) { + let children = this._related_listbox.get_children(); + for (let index in children) + this._related_listbox.remove(children[index]); + + for (let index = 0; index < result.len; index++) { + let uc = Gc.search_result_get(result, index); + let name = Gc.character_name(uc); + if (name == null) + continue; + + let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL }); + + let characterLabel = new Gtk.Label({ label: uc, + valign: Gtk.Align.CENTER, + halign: Gtk.Align.CENTER, + width_request: 45 }); + characterLabel.get_style_context().add_class('character'); + hbox.pack_start(characterLabel, false, false, 2); + + let nameLabel = new Gtk.Label({ label: Util.capitalize(name), + halign: Gtk.Align.START, + ellipsize: Pango.EllipsizeMode.END }); + hbox.pack_start(nameLabel, true, true, 0); + + let row = new Gtk.ListBoxRow(); + row._character = uc; + row.add(hbox); + row.show_all(); + + this._related_listbox.add(row); + } + + this._relatedButton.visible = + this._related_listbox.get_children().length > 0; + }, + + _setCharacter: function(uc) { + this._character = uc; + + let codePoint = Util.toCodePoint(this._character); + let codePointHex = codePoint.toString(16).toUpperCase(); + + let name = Gc.character_name(this._character); + if (name != null) { + name = Util.capitalize(name); + } else { + name = _("Unicode U+%04s").format(codePointHex); + } + + let headerBar = this.get_header_bar(); + headerBar.title = name; + + this._character_label.override_font(this._fontDescription); + this._character_label.label = this._character; + + var pangoContext = this._character_label.get_pango_context(); + var pangoLayout = Pango.Layout.new(pangoContext); + pangoLayout.set_text(this._character, -1); + if (pangoLayout.get_unknown_glyphs_count() == 0) { + this._character_stack.visible_child_name = 'character'; + } else { + var fontFamily = this._fontDescription.get_family(); + this._missing_label.label = + // TRANSLATORS: the first variable is a character, the second is a font + _("%s is not included in %s").format(name, fontFamily); + this._character_stack.visible_child_name = 'missing'; + } + + this._detail_label.label = _("Unicode U+%04s").format(codePointHex); + + this._cancellable.cancel(); + this._cancellable.reset(); + let criteria = Gc.SearchCriteria.new_related(this._character); + let context = new Gc.SearchContext({ criteria: criteria }); + context.search( + -1, + this._cancellable, + Lang.bind(this, function(context, res, user_data) { + try { + let result = context.search_finish(res); + this._finishSearch(result); + } catch (e) { + log("Failed to search related: " + e.message); + } + })); + + this._relatedButton.active = false; + this._main_stack.visible_child_name = 'character'; + this._main_stack.show_all(); + }, + + _hideCopyRevealer: function() { + if (this._copyRevealerTimeoutId > 0) { + GLib.source_remove(this._copyRevealerTimeoutId); + this._copyRevealerTimeoutId = 0; + this._copy_revealer.set_reveal_child(false); + } + }, + + _clipboardOwnerChanged: function(clipboard, event) { + let text = clipboard.wait_for_text(); + if (text != this._character) + this._hideCopyRevealer(); + }, + + _copyCharacter: function() { + if (this._clipboard == null) { + this._clipboard = Gc.gtk_clipboard_get(); + let clipboardOwnerChanged = + this._clipboard.connect('owner-change', + Lang.bind(this, + this._clipboardOwnerChanged)); + this.connect('destroy', + Lang.bind(this, function() { + this._clipboard.disconnect(clipboardOwnerChanged); + })); + } + this._clipboard.set_text(this._character, -1); + this.emit('character-copied', this._character); + + // Show a feedback message with a revealer. The message is + // hidden after 2 seconds, or when another client set a + // different text to clipboard. + this._hideCopyRevealer(); + this._copy_revealer.set_reveal_child(true); + this._copyRevealerTimeoutId = + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000, + Lang.bind(this, this._hideCopyRevealer)); + this.connect('destroy', + Lang.bind(this, function() { + if (this._copyRevealerTimeoutId > 0) + GLib.source_remove(this._copyRevealerTimeoutId); + })); + }, + + _handleRowSelected: function(listBox, row) { + if (row != null) { + this._setCharacter(row._character); + let toplevel = this.get_transient_for(); + let action = toplevel.lookup_action('character'); + action.activate(new GLib.Variant('s', row._character)); + } + }, +}); diff --git a/src/characterList.js b/src/characterList.js new file mode 100644 index 0000000..b65e8ed --- /dev/null +++ b/src/characterList.js @@ -0,0 +1,687 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (C) 2014-2015 Daiki Ueno +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +const Lang = imports.lang; +const Params = imports.params; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Gdk = imports.gi.Gdk; +const Cairo = imports.cairo; +const Pango = imports.gi.Pango; +const PangoCairo = imports.gi.PangoCairo; +const Gc = imports.gi.Gc; +const Main = imports.main; +const Util = imports.util; + +const BASELINE_OFFSET = 0.85; +const CELLS_PER_ROW = 5; +const NUM_ROWS = 5; +const NUM_COLUMNS = 5; +const CELL_SIZE = 50; + +function getCellSize(fontDescription) { + if (fontDescription == null + || fontDescription.get_size() == 0) + return CELL_SIZE; + return fontDescription.get_size() * 2 / Pango.SCALE; +} + +const CharacterListRow = new Lang.Class({ + Name: 'CharacterListRow', + Extends: GObject.Object, + + _init: function(params) { + let filtered = Params.filter(params, { characters: null, + fontDescription: null, + overlayFontDescription: null }); + params = Params.fill(params, {}); + this.parent(params); + this._characters = filtered.characters; + this._fontDescription = filtered.fontDescription; + this._overlayFontDescription = filtered.overlayFontDescription; + }, + + draw: function(cr, x, y, width, height) { + let layout = PangoCairo.create_layout(cr); + layout.set_font_description(this._fontDescription); + + // Draw baseline. + // FIXME: Pick the baseline color from CSS. + cr.setSourceRGBA(114.0 / 255.0, 159.0 / 255.0, 207.0 / 255.0, 1.0); + cr.setLineWidth(0.5); + cr.moveTo(x, y + BASELINE_OFFSET * height); + cr.relLineTo(width, 0); + cr.stroke(); + cr.setSourceRGBA(0.0, 0.0, 0.0, 1.0); + + // Draw characters. Do centering and attach to the baseline. + let cellSize = getCellSize(this._fontDescription); + for (let i in this._characters) { + var cellRect = new Gdk.Rectangle({ x: x + cellSize * i, + y: y, + width: cellSize, + height: cellSize }); + if (Gc.character_is_invisible(this._characters[i])) { + this._drawBoundingBox(cr, cellRect, this._characters[i]); + this._drawCharacterName(cr, cellRect, this._characters[i]); + } else { + layout.set_text(this._characters[i], -1); + if (layout.get_unknown_glyphs_count () == 0) { + let layoutBaseline = layout.get_baseline(); + let [logicalRect, inkRect] = layout.get_extents(); + cr.moveTo(x + cellSize * i - logicalRect.x / Pango.SCALE + + (cellSize - logicalRect.width / Pango.SCALE) / 2, + y + BASELINE_OFFSET * height - + layoutBaseline / Pango.SCALE); + PangoCairo.show_layout(cr, layout); + } else { + this._drawBoundingBox(cr, cellRect, this._characters[i]); + this._drawCharacterName(cr, cellRect, this._characters[i]); + } + } + } + }, + + _computeBoundingBox: function(cr, cellRect, uc) { + let layout = PangoCairo.create_layout(cr); + layout.set_font_description(this._fontDescription); + layout.set_text(uc, -1); + + let shapeRect; + let layoutBaseline; + if (layout.get_unknown_glyphs_count() == 0) { + let [logicalRect, inkRect] = layout.get_extents(); + layoutBaseline = layout.get_baseline(); + shapeRect = inkRect; + } else { + // If the character cannot be rendered with the current + // font settings, show a rectangle calculated from the + // base glyph ('A'). + if (this._baseGlyphRect == null) { + layout.set_text('A', -1); + let [baseLogicalRect, baseInkRect] = layout.get_extents(); + this._baseGlyphLayoutBaseline = layout.get_baseline(); + this._baseGlyphRect = baseInkRect; + } + layoutBaseline = this._baseGlyphLayoutBaseline; + shapeRect = new Pango.Rectangle({ + x: this._baseGlyphRect.x, + y: this._baseGlyphRect.y, + width: this._baseGlyphRect.width, + height: this._baseGlyphRect.height + }); + let characterWidth = Gc.character_width (uc); + if (characterWidth > 1) + shapeRect.width *= characterWidth; + } + + shapeRect.x = cellRect.x - shapeRect.x / Pango.SCALE + + (cellRect.width - shapeRect.width / Pango.SCALE) / 2; + shapeRect.y = cellRect.y + BASELINE_OFFSET * cellRect.height - + layoutBaseline / Pango.SCALE; + shapeRect.width = shapeRect.width / Pango.SCALE; + shapeRect.height = shapeRect.height / Pango.SCALE; + return shapeRect; + }, + + _drawBoundingBox: function(cr, cellRect, uc) { + cr.save(); + cr.rectangle(cellRect.x, cellRect.y, cellRect.width, cellRect.height); + cr.clip(); + + let layout = PangoCairo.create_layout(cr); + layout.set_font_description(this._fontDescription); + layout.set_text(uc, -1); + let shapeRect = this._computeBoundingBox(cr, cellRect, uc); + + let borderWidth = 1; + cr.rectangle(shapeRect.x - borderWidth * 2, + shapeRect.y - borderWidth * 2, + shapeRect.width + borderWidth * 2, + shapeRect.height + borderWidth * 2); + cr.setSourceRGBA(239.0 / 255.0, 239.0 / 255.0, 239.0 / 255.0, 1.0); + cr.fill(); + + cr.restore(); + }, + + _drawCharacterName: function(cr, cellRect, uc) { + cr.save(); + cr.rectangle(cellRect.x, cellRect.y, cellRect.width, cellRect.height); + cr.clip(); + + let layout = PangoCairo.create_layout(cr); + layout.set_width(cellRect.width * Pango.SCALE * 0.8); + layout.set_height(cellRect.height * Pango.SCALE * 0.8); + layout.set_wrap(Pango.WrapMode.WORD); + layout.set_ellipsize(Pango.EllipsizeMode.END); + layout.set_alignment(Pango.Alignment.CENTER); + layout.set_font_description(this._overlayFontDescription); + let name = Gc.character_name(uc); + let text = name == null ? _('Unassigned') : Util.capitalize(name); + layout.set_text(text, -1); + let [logicalRect, inkRect] = layout.get_extents(); + cr.moveTo(cellRect.x - logicalRect.x / Pango.SCALE + + (cellRect.width - logicalRect.width / Pango.SCALE) / 2, + cellRect.y - logicalRect.y / Pango.SCALE + + (cellRect.height - logicalRect.height / Pango.SCALE) / 2); + cr.setSourceRGBA(0.0, 0.0, 0.0, 1.0); + PangoCairo.show_layout(cr, layout); + + cr.restore(); + } +}); + +const CharacterListWidget = new Lang.Class({ + Name: 'CharacterListWidget', + Extends: Gtk.DrawingArea, + Signals: { + 'character-selected': { param_types: [ GObject.TYPE_STRING ] } + }, + + _init: function(params) { + let filtered = Params.filter(params, { + fontDescription: null, + numRows: NUM_ROWS + }); + params = Params.fill(params, {}); + this.parent(params); + let context = this.get_style_context(); + context.add_class('character-list'); + context.save(); + this._cellsPerRow = CELLS_PER_ROW; + this._fontDescription = filtered.fontDescription; + this._numRows = filtered.numRows; + this._characters = []; + this._rows = []; + this.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | + Gdk.EventMask.BUTTON_RELEASE_MASK); + this._character = null; + this.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, + null, + Gdk.DragAction.COPY); + this.drag_source_add_text_targets(); + }, + + vfunc_drag_begin: function(context) { + let cellSize = getCellSize(this._fontDescription); + this._dragSurface = new Cairo.ImageSurface(Cairo.Format.ARGB32, + cellSize, + cellSize); + let cr = new Cairo.Context(this._dragSurface); + cr.setSourceRGBA(1.0, 1.0, 1.0, 1.0); + cr.paint(); + cr.setSourceRGBA(0.0, 0.0, 0.0, 1.0); + let row = this._createCharacterListRow([this._character]); + row.draw(cr, 0, 0, cellSize, cellSize); + Gtk.drag_set_icon_surface(context, this._dragSurface, 0, 0); + }, + + vfunc_drag_data_get: function(context, data, info, time) { + if (this._character != null) + data.set_text(this._character, -1); + }, + + vfunc_button_press_event: function(event) { + let allocation = this.get_allocation(); + let cellSize = getCellSize(this._fontDescription); + let x = Math.floor(event.x / cellSize); + let y = Math.floor(event.y / cellSize); + let index = y * this._cellsPerRow + x; + if (index < this._characters.length) + this._character = this._characters[index]; + else + this._character = null; + return false; + }, + + vfunc_button_release_event: function(event) { + if (this._character) + this.emit('character-selected', this._character); + return false; + }, + + vfunc_get_request_mode: function() { + return Gtk.SizeRequestMode.HEIGHT_FOR_WIDTH; + }, + + vfunc_get_preferred_height: function() { + let [minWidth, natWidth] = this.vfunc_get_preferred_width(); + return this.vfunc_get_preferred_height_for_width(minWidth); + }, + + vfunc_get_preferred_height_for_width: function(width) { + let height = Math.max(this._rows.length, this._numRows) * + getCellSize(this._fontDescription); + return [height, height]; + }, + + vfunc_get_preferred_width: function() { + return this.vfunc_get_preferred_width_for_height(0); + }, + + vfunc_get_preferred_width_for_height: function(height) { + let cellSize = getCellSize(this._fontDescription); + let minWidth = NUM_COLUMNS * cellSize; + let natWidth = Math.max(this._cellsPerRow, NUM_COLUMNS) * cellSize; + return [minWidth, natWidth]; + }, + + vfunc_size_allocate: function(allocation) { + this.parent(allocation); + + let cellSize = getCellSize(this._fontDescription); + let cellsPerRow = Math.floor(allocation.width / cellSize); + if (cellsPerRow != this._cellsPerRow) { + // Reflow if the number of cells per row has changed. + this._cellsPerRow = cellsPerRow; + this.setCharacters(this._characters); + } + }, + + _createCharacterListRow: function(characters) { + var context = this.get_pango_context(); + var fontDescription = context.get_font_description(); + fontDescription.set_size(fontDescription.get_size() * 0.8); + let row = new CharacterListRow({ + characters: characters, + fontDescription: this._fontDescription, + overlayFontDescription: fontDescription + }); + return row; + }, + + setFontDescription: function(fontDescription) { + this._fontDescription = fontDescription; + }, + + setCharacters: function(characters) { + this._rows = []; + this._characters = characters; + + let start = 0, stop = 1; + for (; stop <= characters.length; stop++) { + if (stop % this._cellsPerRow == 0) { + let rowCharacters = characters.slice(start, stop); + let row = this._createCharacterListRow(rowCharacters); + this._rows.push(row); + start = stop; + } + } + if (start != stop - 1) { + let rowCharacters = characters.slice(start, stop); + let row = this._createCharacterListRow(rowCharacters); + this._rows.push(row); + } + + this.queue_resize(); + this.queue_draw(); + }, + + vfunc_draw: function(cr) { + // Clear the canvas. + let context = this.get_style_context(); + let fg = context.get_color(Gtk.StateFlags.NORMAL); + let bg = context.get_background_color(Gtk.StateFlags.NORMAL); + + cr.setSourceRGBA(bg.red, bg.green, bg.blue, bg.alpha); + cr.paint(); + cr.setSourceRGBA(fg.red, fg.green, fg.blue, fg.alpha); + + // Use device coordinates directly, since PangoCairo doesn't + // work well with scaled matrix: + // https://bugzilla.gnome.org/show_bug.cgi?id=700592 + let allocation = this.get_allocation(); + + // Redraw rows within the clipped region. + let [x1, y1, x2, y2] = cr.clipExtents(); + let cellSize = getCellSize(this._fontDescription); + let start = Math.max(0, Math.floor(y1 / cellSize)); + let end = Math.min(this._rows.length, Math.ceil(y2 / cellSize)); + for (let index = start; index < end; index++) { + this._rows[index].draw(cr, 0, index * cellSize, + allocation.width, cellSize); + } + } +}); + +const MAX_SEARCH_RESULTS = 100; + +var FontFilter = new Lang.Class({ + Name: 'FontFilter', + Extends: GObject.Object, + Properties: { + 'font': GObject.ParamSpec.string( + 'font', '', '', + GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE, + 'Cantarell 50') + }, + Signals: { + 'filter-set': { param_types: [] } + }, + + get font() { + return this._font; + }, + + set font(v) { + let fontDescription = Pango.FontDescription.from_string(v); + if (fontDescription.get_size() == 0) + fontDescription.set_size(CELL_SIZE * Pango.SCALE); + + if (this._fontDescription && + fontDescription.equal(this._fontDescription)) + return; + + this._font = v; + this._fontDescription = fontDescription; + }, + + get fontDescription() { + if (this._filterFontDescription) + return this._filterFontDescription; + return this._fontDescription; + }, + + _init: function(params) { + params = Params.fill(params, {}); + this.parent(params); + + this._fontDescription = null; + this._filterFontDescription = null; + + Main.settings.bind('font', this, 'font', Gio.SettingsBindFlags.DEFAULT); + }, + + setFilterFont: function(v) { + let fontDescription; + if (v == null) { + fontDescription = null; + } else { + fontDescription = Pango.FontDescription.from_string(v); + fontDescription.set_size(this._fontDescription.get_size()); + } + + if ((this._filterFontDescription != null && fontDescription == null) || + (this._filterFontDescription == null && fontDescription != null) || + (this._filterFontDescription != null && fontDescription != null && + !fontDescription.equal(this._filterFontDescription))) { + this._filterFontDescription = fontDescription; + this.emit('filter-set'); + } + }, + + apply: function(widget, characters) { + let fontDescription = this._fontDescription; + if (this._filterFontDescription) { + let context = widget.get_pango_context(); + let filterFont = context.load_font(this._filterFontDescription); + let filteredCharacters = []; + for (let index = 0; index < characters.length; index++) { + let uc = characters[index]; + if (Gc.pango_context_font_has_glyph(context, filterFont, uc)) + filteredCharacters.push(uc); + } + characters = filteredCharacters; + fontDescription = this._filterFontDescription; + } + + return [fontDescription, characters]; + }, +}); + +var CharacterListView = new Lang.Class({ + Name: 'CharacterListView', + Extends: Gtk.Stack, + Template: 'resource:///org/gnome/Characters/characterlist.ui', + InternalChildren: ['loading-spinner'], + Signals: { + 'character-selected': { param_types: [ GObject.TYPE_STRING ] } + }, + + _init: function(params) { + let filtered = Params.filter(params, { + fontFilter: null + }); + params = Params.fill(params, { + hexpand: true, vexpand: true, + transition_type: Gtk.StackTransitionType.CROSSFADE + }); + this.parent(params); + + this._fontFilter = filtered.fontFilter; + this._characterList = new CharacterListWidget({ + hexpand: true, + vexpand: true, + fontDescription: this._fontFilter.fontDescription + }); + this._characterList.connect('character-selected', + Lang.bind(this, function(w, c) { + this.emit('character-selected', c); + })); + let scroll = new Gtk.ScrolledWindow({ + hscrollbar_policy: Gtk.PolicyType.NEVER, + visible: true + }); + scroll.add(this._characterList); + let context = scroll.get_style_context(); + context.add_class('character-list-scroll'); + context.save(); + this.add_named(scroll, 'character-list'); + this.visible_child_name = 'character-list'; + + this._fontFilter.connect('filter-set', + Lang.bind(this, this._updateCharacterList)); + + this._characters = []; + this._spinnerTimeoutId = 0; + this._searchContext = null; + this._cancellable = new Gio.Cancellable(); + this._cancellable.connect(Lang.bind(this, function () { + this._stopSpinner(); + this._searchContext = null; + this._characters = []; + this._updateCharacterList(); + })); + scroll.connect('edge-reached', Lang.bind(this, this._onEdgeReached)); + scroll.connect('size-allocate', Lang.bind(this, this._onSizeAllocate)); + }, + + _startSpinner: function() { + this._stopSpinner(); + this._spinnerTimeoutId = + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000, + Lang.bind(this, function () { + this._loading_spinner.start(); + this.visible_child_name = 'loading'; + this.show_all(); + })); + }, + + _stopSpinner: function() { + if (this._spinnerTimeoutId > 0) { + GLib.source_remove(this._spinnerTimeoutId); + this._spinnerTimeoutId = 0; + this._loading_spinner.stop(); + } + }, + + _finishSearch: function(result) { + this._stopSpinner(); + + let characters = Util.searchResultToArray(result); + + this.setCharacters(characters); + }, + + setCharacters: function(characters) { + this._characters = characters; + this._updateCharacterList(); + }, + + _updateCharacterList: function() { + let [fontDescription, characters] = this._fontFilter.apply(this, this._characters); + this._characterList.setFontDescription(fontDescription); + this._characterList.setCharacters(characters); + if (characters.length == 0) { + this.visible_child_name = 'unavailable'; + } else { + this.visible_child_name = 'character-list'; + } + this.show_all(); + }, + + _maybeLoadMore() { + if (this._searchContext != null && !this._searchContext.is_finished()) { + this._searchWithContext(this._searchContext, MAX_SEARCH_RESULTS); + } + }, + + _onEdgeReached: function(scrolled, pos) { + if (pos == Gtk.PositionType.BOTTOM) { + this._maybeLoadMore(); + } + }, + + get initialSearchCount() { + // Use our parents allocation; we aren't visible before we do the + // initial search, so our allocation is 1x1 + let allocation = this.get_parent().get_allocation(); + + // Sometimes more MAX_SEARCH_RESULTS are visible on screen + // (eg. fullscreen at 1080p). We always present a over-full screen, + // otherwise the lazy loading gets broken + let cellSize = getCellSize(this._fontFilter.fontDescription); + let cellsPerRow = Math.floor(allocation.width / cellSize); + // Ensure the rows cause a scroll + let heightInRows = Math.ceil((allocation.height + 1) / cellSize); + + return Math.max(MAX_SEARCH_RESULTS, heightInRows * cellsPerRow); + }, + + _onSizeAllocate: function(scrolled, allocation) { + if (this._characters.length < this.initialSearchCount) { + this._maybeLoadMore(); + } + }, + + _addSearchResult: function(result) { + let characters = Util.searchResultToArray(result); + this.setCharacters(this._characters.concat(characters)); + }, + + _searchWithContext: function(context, count) { + this._startSpinner(); + context.search( + count, + this._cancellable, + Lang.bind(this, function(context, res, user_data) { + this._stopSpinner(); + try { + let result = context.search_finish(res); + this._addSearchResult(result); + } catch (e) { + log("Failed to search: " + e.message); + } + })); + }, + + searchByCategory: function(category) { + if ('scripts' in category) { + this.searchByScripts(category.scripts); + return; + } + + let criteria = Gc.SearchCriteria.new_category(category.category); + this._searchContext = new Gc.SearchContext({ criteria: criteria }); + this._searchWithContext(this._searchContext, this.initialSearchCount); + }, + + searchByKeywords: function(keywords) { + let criteria = Gc.SearchCriteria.new_keywords(keywords); + this._searchContext = new Gc.SearchContext({ + criteria: criteria, + flags: Gc.SearchFlag.WORD + }); + this._searchWithContext(this._searchContext, this.initialSearchCount); + }, + + searchByScripts: function(scripts) { + var criteria = Gc.SearchCriteria.new_scripts(scripts); + this._searchContext = new Gc.SearchContext({ criteria: criteria }); + this._searchWithContext(this._searchContext, this.initialSearchCount); + }, + + cancelSearch: function() { + this._cancellable.cancel(); + this._cancellable.reset(); + } +}); + +var RecentCharacterListView = new Lang.Class({ + Name: 'RecentCharacterListView', + Extends: Gtk.Bin, + Signals: { + 'character-selected': { param_types: [ GObject.TYPE_STRING ] } + }, + + _init: function(params) { + let filtered = Params.filter(params, { + category: null, + fontFilter: null + }); + params = Params.fill(params, { + hexpand: true, vexpand: false + }); + this.parent(params); + + this._fontFilter = filtered.fontFilter; + this._characterList = new CharacterListWidget({ + hexpand: true, + vexpand: true, + fontDescription: this._fontFilter.fontDescription, + numRows: 0 + }); + this._characterList.connect('character-selected', + Lang.bind(this, function(w, c) { + this.emit('character-selected', c); + })); + this.add(this._characterList); + + this._fontFilter.connect('filter-set', + Lang.bind(this, this._updateCharacterList)); + + this._category = filtered.category; + this._characters = []; + }, + + setCharacters: function(characters) { + let result = Gc.filter_characters(this._category, characters); + this._characters = Util.searchResultToArray(result); + this._updateCharacterList(); + }, + + _updateCharacterList: function() { + let [fontDescription, characters] = this._fontFilter.apply(this, this._characters); + this._characterList.setFontDescription(fontDescription); + this._characterList.setCharacters(characters); + this.show_all(); + } +}); diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..9057d2c --- /dev/null +++ b/src/main.js @@ -0,0 +1,113 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (c) 2013 Giovanni Campagna +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of the GNOME Foundation nor the +// names of its contributors may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +pkg.initGettext(); +pkg.initFormat(); +pkg.require({ 'Gdk': '3.0', + 'Gio': '2.0', + 'GLib': '2.0', + 'GObject': '2.0', + 'Gtk': '3.0' }); + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Gtk = imports.gi.Gtk; +const Lang = imports.lang; + +const Util = imports.util; +const Window = imports.window; + +var settings = null; + +function initEnvironment() { + window.getApp = function() { + return Gio.Application.get_default(); + }; +} + +const MyApplication = new Lang.Class({ + Name: 'MyApplication', + Extends: Gtk.Application, + + _init: function() { + this.parent({ application_id: pkg.name }); + + GLib.set_application_name(_("Characters Application")); + }, + + _onQuit: function() { + this.quit(); + }, + + _onSearch: function(action, parameter) { + let window = new Window.MainWindow({ application: this }); + window.setSearchKeywords(parameter.get_strv()); + window.show(); + }, + + _initAppMenu: function() { + let builder = new Gtk.Builder(); + builder.add_from_resource('/org/gnome/Characters/app-menu.ui'); + + let menu = builder.get_object('app-menu'); + this.set_app_menu(menu); + }, + + vfunc_startup: function() { + this.parent(); + + Util.loadStyleSheet('/org/gnome/Characters/application.css'); + + Util.initActions(this, + [{ name: 'quit', + activate: this._onQuit }, + { name: 'search', + activate: this._onSearch, + parameter_type: new GLib.VariantType('as') }]); + this._initAppMenu(); + + settings = Util.getSettings('org.gnome.Characters', + '/org/gnome/Characters/'); + + log(_("Characters Application started")); + }, + + vfunc_activate: function() { + (new Window.MainWindow({ application: this })).show(); + }, + + vfunc_shutdown: function() { + log(_("Characters Application exiting")); + + this.parent(); + } +}); + +function main(argv) { + initEnvironment(); + + return (new MyApplication()).run(argv); +} diff --git a/src/menu.js b/src/menu.js new file mode 100644 index 0000000..d3062c9 --- /dev/null +++ b/src/menu.js @@ -0,0 +1,118 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (C) 2015 Daiki Ueno +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Lang = imports.lang; +const Params = imports.params; +const Pango = imports.gi.Pango; + +var MenuPopover = new Lang.Class({ + Name: 'MenuPopover', + Extends: Gtk.Popover, + Template: 'resource:///org/gnome/Characters/menu.ui', + InternalChildren: ['search-entry', 'font-listbox'], + + _createFontListRow: function(title, family) { + let row = new Gtk.ListBoxRow({ visible: true }); + row.get_style_context().add_class('font'); + row._family = family; + let label = new Gtk.Label({ label: title, + visible: true, + halign: Gtk.Align.START }); + label.get_style_context().add_class('font-label'); + row.add(label); + return row; + }, + + _init: function(params) { + params = Params.fill(params, {}); + this.parent(params); + + this._font_listbox.get_style_context().add_class('fonts'); + let row = this._createFontListRow(_("None"), 'None'); + this._font_listbox.add(row); + + let context = this.get_pango_context(); + let families = context.list_families(); + families = families.sort(function(a, b) { + return a.get_name().localeCompare(b.get_name()); + }); + for (let index in families) { + row = this._createFontListRow(families[index].get_name(), + families[index].get_name()); + this._font_listbox.add(row); + } + + this._keywords = []; + this._search_entry.connect('search-changed', + Lang.bind(this, this._handleSearchChanged)); + this._font_listbox.connect('row-activated', + Lang.bind(this, this._handleRowActivated)); + this._font_listbox.set_filter_func(Lang.bind(this, this._filterFunc)); + this._font_listbox.set_header_func(Lang.bind(this, this._headerFunc)); + + // This silents warning at Characters exit about this widget being + // visible but not mapped. Borrowed from Maps. + this.connect('unmap', function(popover) { + popover._font_listbox.unselect_all(); + popover.hide(); + }); + }, + + _handleSearchChanged: function(entry) { + let text = entry.get_text().replace(/^\s+|\s+$/g, ''); + let keywords = text == '' ? [] : text.split(/\s+/); + this._keywords = keywords.map(String.toLowerCase); + this._font_listbox.invalidate_filter(); + return true; + }, + + _handleRowActivated: function(listBox, row) { + if (row != null) { + let toplevel = this.get_toplevel(); + let action = toplevel.lookup_action('filter-font'); + action.activate(new GLib.Variant('s', row._family)); + } + }, + + _filterFunc: function(row) { + if (this._keywords.length == 0) + return true; + if (row._family == 'None') + return true; + + let nameWords = row._family.split(/\s+/).map(String.toLowerCase); + return this._keywords.every(function(keyword, index, array) { + return nameWords.some(function(nameWord, index, array) { + return nameWord.indexOf(keyword) >= 0; + }); + }); + }, + + _headerFunc: function(row, before) { + if (before && !row.get_header()) { + let separator = new Gtk.Separator({ + orientation: Gtk.Orientation.HORIZONTAL + }); + row.set_header (separator); + } + } +}); diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..b908556 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,54 @@ +script_conf = configuration_data() +script_conf.set('GJS', find_program('gjs').path()) +script_conf.set('PACKAGE_VERSION', characters_version) +script_conf.set('libdir', characters_libdir) +script_conf.set('prefix', characters_prefix) + +scripts = [ + characters_name, + characters_background_name +] + +foreach script: scripts + configure_file( + input: script + '.in', + output: script, + configuration: script_conf, + install: true, + install_dir: characters_pkgdatadir + ) +endforeach + +common_resource_data = files( + 'params.js', + 'util.js' +) + +resource_data = common_resource_data + files( + 'categoryList.js', + 'character.js', + 'characterList.js', + 'main.js', + 'menu.js', + 'window.js' +) +resources = [[characters_name, resource_data]] + +resource_data = common_resource_data + files( + 'searchProvider.js', + 'service.js' +) +resources += [[characters_background_name, resource_data]] + +foreach resource: resources + name = resource[0] + '.src' + + gnome.compile_resources( + name, + name + '.gresource.xml', + gresource_bundle: true, + dependencies: resource[1], + install: true, + install_dir: characters_pkgdatadir + ) +endforeach diff --git a/src/org.gnome.Characters.BackgroundService.in b/src/org.gnome.Characters.BackgroundService.in new file mode 100755 index 0000000..bf43031 --- /dev/null +++ b/src/org.gnome.Characters.BackgroundService.in @@ -0,0 +1,6 @@ +#!@GJS@ +imports.package.init({ name: "org.gnome.Characters", + version: "@PACKAGE_VERSION@", + prefix: "@prefix@", + libdir: "@libdir@" }); +imports.package.run(imports.service); diff --git a/src/org.gnome.Characters.BackgroundService.src.gresource.xml b/src/org.gnome.Characters.BackgroundService.src.gresource.xml new file mode 100644 index 0000000..c9fd00d --- /dev/null +++ b/src/org.gnome.Characters.BackgroundService.src.gresource.xml @@ -0,0 +1,9 @@ + + + + service.js + searchProvider.js + params.js + util.js + + diff --git a/src/org.gnome.Characters.in b/src/org.gnome.Characters.in new file mode 100755 index 0000000..d18ee9a --- /dev/null +++ b/src/org.gnome.Characters.in @@ -0,0 +1,6 @@ +#!@GJS@ +imports.package.init({ name: "org.gnome.Characters", + version: "@PACKAGE_VERSION@", + prefix: "@prefix@", + libdir: "@libdir@" }); +imports.package.run(imports.main); diff --git a/src/org.gnome.Characters.src.gresource.xml b/src/org.gnome.Characters.src.gresource.xml new file mode 100644 index 0000000..eaf5281 --- /dev/null +++ b/src/org.gnome.Characters.src.gresource.xml @@ -0,0 +1,13 @@ + + + + main.js + menu.js + params.js + util.js + window.js + categoryList.js + character.js + characterList.js + + diff --git a/src/params.js b/src/params.js new file mode 100644 index 0000000..ee45c81 --- /dev/null +++ b/src/params.js @@ -0,0 +1,124 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +// Params: +// +// A set of convenience functions for dealing with pseudo-keyword +// arguments. +// +// Examples: +// +// A function with complex arguments +// function myFunction(params) { +// params = Params.parse(params, { myFlags: Flags.NONE, +// anInt: 42, +// aString: 'hello, world!', +// }); +// ... params.anInt, params.myFlags, params.aString ... +// } +// myFunction({ anInt: -1 }); +// +// Extend a method to allow more params in a subclass +// The superclass can safely use Params.parse(), it won't see +// the extensions. +// const MyClass = new Lang.Class({ +// ... +// method: function(params) { +// let mine = Params.filter(params, { anInt: 42 }); +// this.parent(params); +// ... mine.anInt ... +// } +// }); + +// parse: +// @params: caller-provided parameter object, or %null +// @defaults: function-provided defaults object +// +// Examines @params and fills in default values from @defaults for +// any properties in @defaults that don't appear in @params. +// This function will throw a Error if @params contains a property +// that is not recognized. Use fill() or filter() if you don't +// want that. +// +// If @params is %null, this returns the values from @defaults. +// +// Return value: a new object, containing the merged parameters from +// @params and @defaults +function parse(params, defaults) { + let ret = {}, prop; + params = params || {}; + + for (prop in params) { + if (!(prop in defaults)) + throw new Error('Unrecognized parameter "' + prop + '"'); + ret[prop] = params[prop]; + } + + for (prop in defaults) { + if (!(prop in params)) + ret[prop] = defaults[prop]; + } + + return ret; +} + +// fill: +// @params: caller-provided parameter object, or %null +// @defaults: function-provided defaults object +// +// Examines @params and fills in default values from @defaults +// for any properties in @defaults that don't appear in @params. +// +// Differently from parse(), this function does not throw for +// unrecognized parameters. +// +// Return value: a new object, containing the merged parameters from +// @params and @defaults +function fill(params, defaults) { + let ret = {}, prop; + params = params || {}; + + for (prop in params) + ret[prop] = params[prop]; + + for (prop in defaults) { + if (!(prop in ret)) + ret[prop] = defaults[prop]; + } + + return ret; +} + +// filter: +// @params: caller-provided parameter object, or %null +// @defaults: function-provided defaults object +// +// Examines @params and returns an object containing the +// same properties as @defaults, but with values taken from +// @params where available. +// Then it removes from @params all matched properties. +// +// This is similar to parse(), but it accepts unknown properties +// and modifies @params for known ones. +// +// If @params is %null, this returns the values from @defaults. +// +// Return value: a new object, containing the merged parameters from +// @params and @defaults +function filter(params, defaults) { + let ret = {}, prop; + params = params || {}; + + for (prop in defaults) { + if (!(prop in params)) + ret[prop] = defaults[prop]; + } + + for (prop in params) { + if (prop in defaults) { + ret[prop] = params[prop]; + delete params[prop]; + } + } + + return ret; +} diff --git a/src/searchProvider.js b/src/searchProvider.js new file mode 100644 index 0000000..d0d5ce7 --- /dev/null +++ b/src/searchProvider.js @@ -0,0 +1,159 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (c) 2013 Giovanni Campagna +// Copyright (C) 2015 Daiki Ueno +// +// Gnome Weather is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2 of the License, or (at your +// option) any later version. +// +// Gnome Weather 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 Gnome Weather; if not, write to the Free Software Foundation, +// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +const Gdk = imports.gi.Gdk; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Lang = imports.lang; +const Gc = imports.gi.Gc; +const Util = imports.util; + +const MAX_SEARCH_RESULTS = 100 + +const SearchProviderInterface = Gio.resources_lookup_data('/org/gnome/shell/ShellSearchProvider2.xml', 0).toArray().toString(); + +const SearchProvider = new Lang.Class({ + Name: 'CharactersSearchProvider', + + _init: function(application) { + this._app = application; + + this._impl = Gio.DBusExportedObject.wrapJSObject(SearchProviderInterface, this); + this._cancellable = new Gio.Cancellable(); + }, + + export: function(connection, path) { + return this._impl.export(connection, path); + }, + + unexport: function(connection) { + return this._impl.unexport_from_connection(connection); + }, + + _runQuery: function(keywords, invocation) { + this._cancellable.cancel(); + this._cancellable.reset(); + + let upper = keywords.map(String.toUpperCase); + let criteria = Gc.SearchCriteria.new_keywords(upper); + let context = new Gc.SearchContext({ criteria: criteria, + flags: Gc.SearchFlag.WORD }); + context.search( + MAX_SEARCH_RESULTS, + this._cancellable, + Lang.bind(this, function(source_object, res, user_data) { + let characters = []; + try { + let result = context.search_finish(res); + characters = Util.searchResultToArray(result); + } catch (e) { + log("Failed to search by keywords: " + e.message); + } + invocation.return_value(new GLib.Variant('(as)', [characters])); + + this._app.release(); + })); + }, + + GetInitialResultSetAsync: function(params, invocation) { + this._app.hold(); + this._runQuery(params[0], invocation); + }, + + GetSubsearchResultSetAsync: function(params, invocation) { + this._app.hold(); + this._runQuery(params[1], invocation); + }, + + GetResultMetas: function(identifiers) { + this._app.hold(); + + let ret = []; + + for (let i = 0; i < identifiers.length; i++) { + let character = identifiers[i]; + let codePoint = Util.toCodePoint(character); + let codePointHex = codePoint.toString(16).toUpperCase(); + let name = Gc.character_name(character); + if (name == null) + name = _("Unknown character name"); + else + name = Util.capitalize(name); + let summary = _("U+%s, %s: %s").format(codePointHex, + character, + name); + ret.push({ name: new GLib.Variant('s', name), + id: new GLib.Variant('s', identifiers[i]), + description: new GLib.Variant('s', summary), + icon: (new Gio.ThemedIcon({ name: 'gnome-characters' })).serialize(), + clipboardText: new GLib.Variant('s', character) + }); + } + + this._app.release(); + + return ret; + }, + + ActivateResult: function(id, terms, timestamp) { + let clipboard = Gc.gtk_clipboard_get(); + clipboard.set_text(id, -1); + }, + + _getPlatformData: function(timestamp) { + let display = Gdk.Display.get_default(); + let context = display.get_app_launch_context(); + context.set_timestamp(timestamp); + + let app = Gio.DesktopAppInfo.new('org.gnome.Characters.desktop'); + let id = context.get_startup_notify_id(app, []); + return {'desktop-startup-id': new GLib.Variant('s', id) }; + }, + + _activateAction: function(action, parameter, timestamp) { + let wrappedParam; + if (parameter) + wrappedParam = [parameter]; + else + wrappedParam = []; + + Gio.DBus.session.call('org.gnome.Characters', + '/org/gnome/Characters', + 'org.freedesktop.Application', + 'ActivateAction', + new GLib.Variant('(sava{sv})', [action, wrappedParam, + this._getPlatformData(timestamp)]), + null, + Gio.DBusCallFlags.NONE, + -1, null, Lang.bind(this, function(connection, result) { + try { + connection.call_finish(result); + } catch(e) { + log('Failed to launch application: ' + e.message); + } + + this._app.release(); + })); + }, + + LaunchSearch: function(terms, timestamp) { + this._activateAction('search', new GLib.Variant('as', terms), + timestamp); + } +}); diff --git a/src/service.js b/src/service.js new file mode 100644 index 0000000..22e5606 --- /dev/null +++ b/src/service.js @@ -0,0 +1,94 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (c) 2012 Giovanni Campagna +// Copyright (C) 2015 Daiki Ueno +// +// Gnome Weather is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2 of the License, or (at your +// option) any later version. +// +// Gnome Weather 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 Gnome Weather; if not, write to the Free Software Foundation, +// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +pkg.initGettext(); +pkg.initFormat(); +pkg.require({ 'Gio': '2.0', + 'GLib': '2.0', + 'GObject': '2.0', + 'Gtk': '3.0' }); + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Gtk = imports.gi.Gtk; +const Lang = imports.lang; + +const Util = imports.util; +const SearchProvider = imports.searchProvider; + +function initEnvironment() { + window.getApp = function() { + return Gio.Application.get_default(); + }; +} + +const BackgroundService = new Lang.Class({ + Name: 'CharactersBackgroundService', + // This needs to be a Gtk.Application instead of Gio.Application, + // to get Gtk.Clipboard working. + Extends: Gtk.Application, + + _init: function() { + this.parent({ application_id: pkg.name, + flags: Gio.ApplicationFlags.IS_SERVICE, + inactivity_timeout: 30000 }); + GLib.set_application_name(_("Characters")); + + this._searchProvider = new SearchProvider.SearchProvider(this); + }, + + _onQuit: function() { + this.quit(); + }, + + vfunc_dbus_register: function(connection, path) { + this.parent(connection, path); + + this._searchProvider.export(connection, path); + return true; + }, + +/* + Can't do until GApplication is fixed. + + vfunc_dbus_unregister: function(connection, path) { + this._searchProvider.unexport(connection); + + this.parent(connection, path); + }, +*/ + + vfunc_startup: function() { + this.parent(); + + Util.initActions(this, + [{ name: 'quit', + activate: this._onQuit }]); + }, + + vfunc_activate: function() { + // do nothing, this is a background service + }, +}); + +function main(argv) { + initEnvironment(); + + return (new BackgroundService()).run(argv); +} diff --git a/src/util.js b/src/util.js new file mode 100644 index 0000000..af362bd --- /dev/null +++ b/src/util.js @@ -0,0 +1,166 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (c) 2013 Giovanni Campagna +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of the GNOME Foundation nor the +// names of its contributors may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +const Gdk = imports.gi.Gdk; +const Gio = imports.gi.Gio; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Gc = imports.gi.Gc; +const Lang = imports.lang; +const Params = imports.params; +const System = imports.system; + +function loadUI(resourcePath, objects) { + let ui = new Gtk.Builder(); + + if (objects) { + for (let o in objects) + ui.expose_object(o, objects[o]); + } + + ui.add_from_resource(resourcePath); + return ui; +} + +function loadStyleSheet(resource) { + let provider = new Gtk.CssProvider(); + provider.load_from_file(Gio.File.new_for_uri('resource://' + resource)); + Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), + provider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); +} + +function initActions(actionMap, simpleActionEntries, context) { + simpleActionEntries.forEach(function(entry) { + let filtered = Params.filter(entry, { activate: null, + state_changed: null, + context: null }); + let action = new Gio.SimpleAction(entry); + + let context = filtered.context || actionMap; + if (filtered.activate) + action.connect('activate', filtered.activate.bind(context)); + if (filtered.state_changed) + action.connect('state-changed', filtered.state_changed.bind(context)); + + actionMap.add_action(action); + }); +} + +function arrayEqual(one, two) { + if (one.length != two.length) + return false; + + for (let i = 0; i < one.length; i++) + if (one[i] != two[i]) + return false; + + return true; +} + +function getSettings(schemaId, path) { + const GioSSS = Gio.SettingsSchemaSource; + let schemaSource; + + if (!pkg.moduledir.startsWith('resource://')) { + // Running from the source tree + schemaSource = GioSSS.new_from_directory(pkg.pkgdatadir, + GioSSS.get_default(), + false); + } else { + schemaSource = GioSSS.get_default(); + } + + let schemaObj = schemaSource.lookup(schemaId, true); + if (!schemaObj) { + log('Missing GSettings schema ' + schemaId); + System.exit(1); + } + + if (path === undefined) + return new Gio.Settings({ settings_schema: schemaObj }); + else + return new Gio.Settings({ settings_schema: schemaObj, + path: path }); +} + +function loadIcon(iconName, size) { + let theme = Gtk.IconTheme.get_default(); + + return theme.load_icon(iconName, + size, + Gtk.IconLookupFlags.GENERIC_FALLBACK); +} + +function assertEqual(one, two) { + if (one != two) + throw Error('Assertion failed: ' + one + ' != ' + two); +} + +function assertNotEqual(one, two) { + if (one == two) + throw Error('Assertion failed: ' + one + ' == ' + two); +} + +function capitalizeWord(w) { + if (w.length > 0) + return w[0].toUpperCase() + w.slice(1).toLowerCase() + return w; +} + +function capitalize(s) { + return s.split(/\s+/).map(function(w) { + let acronyms = ["CJK"]; + if (acronyms.indexOf(w) > -1) + return w; + let prefixes = ["IDEOGRAPH-", "SELECTOR-"]; + for (let index in prefixes) { + let prefix = prefixes[index]; + if (w.startsWith(prefix)) + return capitalizeWord(prefix) + w.slice(prefix.length); + } + return capitalizeWord(w); + }).join(' '); +} + +function toCodePoint(s) { + let codePoint = s.charCodeAt(0); + if (codePoint >= 0xD800 && codePoint <= 0xDBFF) { + let high = codePoint; + let low = s.charCodeAt(1); + codePoint = 0x10000 + (high - 0xD800) * 0x400 + (low - 0xDC00); + } + + return codePoint; +} + +function searchResultToArray(result) { + let characters = []; + for (let index = 0; index < result.len; index++) { + characters.push(Gc.search_result_get(result, index)); + } + return characters; +} diff --git a/src/window.js b/src/window.js new file mode 100644 index 0000000..247045e --- /dev/null +++ b/src/window.js @@ -0,0 +1,477 @@ +// -*- Mode: js; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*- +// +// Copyright (c) 2013 Giovanni Campagna +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of the GNOME Foundation nor the +// names of its contributors may be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +const Gc = imports.gi.Gc; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Lang = imports.lang; +const Params = imports.params; +const CategoryList = imports.categoryList; +const Character = imports.character; +const CharacterList = imports.characterList; +const Menu = imports.menu; +const Gettext = imports.gettext; + +const Main = imports.main; +const Util = imports.util; + +var MainWindow = new Lang.Class({ + Name: 'MainWindow', + Extends: Gtk.ApplicationWindow, + Template: 'resource:///org/gnome/Characters/mainwindow.ui', + InternalChildren: ['main-headerbar', 'search-active-button', + 'search-bar', 'search-entry', 'back-button', + 'menu-button', + 'main-grid', 'main-hbox', 'sidebar-grid'], + Properties: { + 'search-active': GObject.ParamSpec.boolean( + 'search-active', '', '', + GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE, false) + }, + + _init: function(params) { + params = Params.fill(params, { title: GLib.get_application_name(), + default_width: 640, + default_height: 480 }); + this.parent(params); + + this._searchActive = false; + this._searchKeywords = []; + + Util.initActions(this, + [{ name: 'about', + activate: this._about }, + { name: 'search-active', + activate: this._toggleSearch, + parameter_type: new GLib.VariantType('b'), + state: new GLib.Variant('b', false) }, + { name: 'find', + activate: this._find }, + { name: 'category', + activate: this._category, + parameter_type: new GLib.VariantType('s'), + state: new GLib.Variant('s', 'emojis') }, + { name: 'subcategory', + activate: this._subcategory, + parameter_type: new GLib.VariantType('s'), + state: new GLib.Variant('s', 'emoji-smileys') }, + { name: 'character', + activate: this._character, + parameter_type: new GLib.VariantType('s') }, + { name: 'filter-font', + activate: this._filterFont, + parameter_type: new GLib.VariantType('s') }]); + + this.application.set_accels_for_action('win.find', ['F']); + + this.bind_property('search-active', this._search_active_button, 'active', + GObject.BindingFlags.SYNC_CREATE | + GObject.BindingFlags.BIDIRECTIONAL); + this.bind_property('search-active', + this._search_bar, + 'search-mode-enabled', + GObject.BindingFlags.SYNC_CREATE | + GObject.BindingFlags.BIDIRECTIONAL); + this._search_bar.connect_entry(this._search_entry); + this._search_entry.connect('search-changed', + Lang.bind(this, this._handleSearchChanged)); + + this._back_button.connect('clicked', + Lang.bind(this, function() { + let action = this.lookup_action('category'); + action.activate(new GLib.Variant('s', 'emojis')); + })); + this._back_button.bind_property('visible', + this._search_active_button, 'visible', + GObject.BindingFlags.SYNC_CREATE | + GObject.BindingFlags.INVERT_BOOLEAN); + + this._menu_popover = new Menu.MenuPopover({}); + this._menu_button.set_popover(this._menu_popover); + + this._categoryListView = + new CategoryList.CategoryListView({ vexpand: true }); + let scroll = new Gtk.ScrolledWindow({ + hscrollbar_policy: Gtk.PolicyType.NEVER, + hexpand: false, + }); + scroll.add(this._categoryListView); + this._sidebar_grid.add(scroll); + + this._mainView = new MainView({ + categoryListView: this._categoryListView + }); + + this._main_hbox.pack_start(this._mainView, true, true, 0); + this._main_grid.show_all(); + + // Due to limitations of gobject-introspection wrt GdkEvent + // and GdkEventKey, this needs to be a signal handler + this.connect('key-press-event', Lang.bind(this, this._handleKeyPress)); + }, + + vfunc_map: function() { + this.parent(); + this._selectFirstSubcategory(); + }, + + // Select the first subcategory which contains at least one character. + _selectFirstSubcategory: function() { + let categoryList = this._categoryListView.get_visible_child(); + let index = 0; + let row = categoryList.get_row_at_index(index); + if (row.category.name == 'recent' && + this._mainView.recentCharacters.length == 0) + index++; + categoryList.select_row(categoryList.get_row_at_index(index)); + }, + + get search_active() { + return this._searchActive; + }, + + set search_active(v) { + if (this._searchActive == v) + return; + + this._searchActive = v; + + if (this._searchActive) { + let categoryList = this._categoryListView.get_visible_child(); + categoryList.unselect_all(); + } + + this.notify('search-active'); + }, + + _handleSearchChanged: function(entry) { + let text = entry.get_text().replace(/^\s+|\s+$/g, ''); + let keywords = text == '' ? [] : text.split(/\s+/); + keywords = keywords.map(String.toUpperCase); + if (keywords != this._searchKeywords) { + this._mainView.cancelSearch(); + this._searchKeywords = keywords; + if (this._searchKeywords.length > 0) + this._mainView.searchByKeywords(this._searchKeywords); + } + return true; + }, + + _handleKeyPress: function(self, event) { + if (this._menu_popover.visible) + return false; + return this._search_bar.handle_event(event); + }, + + _about: function() { + let aboutDialog = new Gtk.AboutDialog( + { artists: [ 'Allan Day ', + 'Jakub Steiner ' ], + authors: [ 'Daiki Ueno ', + 'Giovanni Campagna ' ], + // TRANSLATORS: put your names here, one name per line. + translator_credits: _("translator-credits"), + program_name: _("GNOME Characters"), + comments: _("Character Map"), + copyright: 'Copyright 2014-2018 Daiki Ueno', + license_type: Gtk.License.GPL_2_0, + logo_icon_name: 'gnome-characters', + version: pkg.version, + // website: 'https://wiki.gnome.org/Design/Apps/CharacterMap', + wrap_license: true, + modal: true, + transient_for: this + }); + + aboutDialog.show(); + aboutDialog.connect('response', function() { + aboutDialog.destroy(); + }); + }, + + _updateTitle: function(title) { + if (this._mainView.filterFontFamily) { + this._main_headerbar.title = + _("%s (%s only)").format(Gettext.gettext(title), + this._mainView.filterFontFamily); + } else { + this._main_headerbar.title = Gettext.gettext(title); + } + }, + + _category: function(action, v) { + this.search_active = false; + + let [name, length] = v.get_string() + + this._categoryListView.set_visible_child_name(name); + let categoryList = this._categoryListView.get_visible_child(); + if (categoryList == null) + return; + + this._selectFirstSubcategory(); + let category = categoryList.get_selected_row().category; + + if (name == 'emojis') { + this._back_button.hide(); + } else { + this._back_button.show(); + } + + Util.assertNotEqual(category, null); + this._mainView.setPage(category); + this._updateTitle(category.title); + }, + + _subcategory: function(action, v) { + this.search_active = false; + + let [name, length] = v.get_string() + + let categoryList = this._categoryListView.get_visible_child(); + if (categoryList == null) + return; + + let category = categoryList.getCategory(name); + if (category) { + this._mainView.setPage(category); + this._updateTitle(category.title); + } + }, + + _character: function(action, v) { + let [uc, length] = v.get_string() + this._mainView.addToRecent(uc); + }, + + _filterFont: function(action, v) { + let [family, length] = v.get_string() + if (family == 'None') + family = null; + this._mainView.filterFontFamily = family; + this._updateTitle(this._mainView.visible_child.title); + this._menu_popover.hide(); + }, + + _find: function() { + this.search_active = !this.search_active; + }, + + setSearchKeywords: function(keywords) { + this.search_active = keywords.length > 0; + this._search_entry.set_text(keywords.join(' ')); + } +}); + +const MainView = new Lang.Class({ + Name: 'MainView', + Extends: Gtk.Stack, + Template: 'resource:///org/gnome/Characters/mainview.ui', + Properties: { + 'max-recent-characters': GObject.ParamSpec.uint( + 'max-recent-characters', '', '', + GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE, + 0, GLib.MAXUINT32, 100) + }, + + get max_recent_characters() { + return this._maxRecentCharacters; + }, + + set max_recent_characters(v) { + this._maxRecentCharacters = v; + if (this.recentCharacters.length > this._maxRecentCharacters) + this.recentCharacters = this.recentCharacters.slice( + 0, this._maxRecentCharacters); + }, + + get filterFontFamily() { + return this._filterFontFamily; + }, + + set filterFontFamily(family) { + this._filterFontFamily = family; + this._fontFilter.setFilterFont(this._filterFontFamily); + }, + + _init: function(params) { + let filtered = Params.filter(params, { categoryListView: null }); + params = Params.fill(params, { + hexpand: true, vexpand: true, + transition_type: Gtk.StackTransitionType.CROSSFADE + }); + this.parent(params); + + this._fontFilter = new CharacterList.FontFilter({}); + this._filterFontFamily = null; + this._characterLists = {}; + this._recentCharacterLists = {}; + this._categoryListView = filtered.categoryListView; + + let characterList; + let categories = this._categoryListView.getCategoryList(); + let recentBox = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL, + hexpand: true, vexpand: false }); + + for (let i in categories) { + let category = categories[i]; + let categoryList = this._categoryListView.get_child_by_name(category.name); + let subcategories = categoryList.getCategoryList(); + for (let j in subcategories) { + let subcategory = subcategories[j]; + characterList = this._createCharacterList( + subcategory.name, + _('%s Character List').format(subcategory.title)); + // FIXME: Can't use GtkContainer.child_get_property. + characterList.title = subcategory.title; + this.add_titled(characterList, subcategory.name, subcategory.title); + } + characterList = this._createRecentCharacterList( + category.name, + // TRANSLATORS: %s will be either 'emojis' or 'letters' + _('Recently Used %s Character List').format(category.title), + category.category); + this._recentCharacterLists[category.name] = characterList; + if (i > 0) { + let separator = new Gtk.Separator({}); + recentBox.pack_start(separator, false, false, 0); + } + recentBox.pack_start(characterList, false, false, 0); + } + let scroll = new Gtk.ScrolledWindow({ + hscrollbar_policy: Gtk.PolicyType.NEVER, + hexpand: false, + }); + scroll.add(recentBox); + // FIXME: Can't use GtkContainer.child_get_property. + scroll.title = _('Recently Used'); + this.add_titled(scroll, 'recent', scroll.title); + + characterList = this._createCharacterList( + 'search-result', _('Search Result Character List')); + // FIXME: Can't use GtkContainer.child_get_property. + characterList.title = _("Search Result"); + this.add_named(characterList, 'search-result'); + + // FIXME: Can't use GSettings.bind with 'as' from Gjs + let recentCharacters = Main.settings.get_value('recent-characters'); + this.recentCharacters = recentCharacters.get_strv(); + this._maxRecentCharacters = 100; + Main.settings.bind('max-recent-characters', this, + 'max-recent-characters', + Gio.SettingsBindFlags.DEFAULT); + }, + + _createCharacterList: function(name, accessible_name) { + let characterList = new CharacterList.CharacterListView({ + fontFilter: this._fontFilter + }); + characterList.get_accessible().accessible_name = accessible_name; + characterList.connect('character-selected', + Lang.bind(this, this._handleCharacterSelected)); + + this._characterLists[name] = characterList; + return characterList; + }, + + _createRecentCharacterList: function(name, accessible_name, category) { + let characterList = new CharacterList.RecentCharacterListView({ + fontFilter: this._fontFilter, + category: category + }); + characterList.get_accessible().accessible_name = accessible_name; + characterList.connect('character-selected', + Lang.bind(this, this._handleCharacterSelected)); + + this._characterLists[name] = characterList; + return characterList; + }, + + searchByKeywords: function(keywords) { + this.visible_child_name = 'search-result'; + this.visible_child.searchByKeywords(keywords); + }, + + cancelSearch: function() { + let characterList = this.get_child_by_name('search-result'); + characterList.cancelSearch(); + }, + + setPage: function(category) { + if (category.name == 'recent') { + if (this.recentCharacters.length == 0) + this.visible_child_name = 'empty-recent'; + else { + let categories = this._categoryListView.getCategoryList(); + for (let i in categories) { + let category = categories[i]; + let characterList = this._recentCharacterLists[category.name]; + characterList.setCharacters(this.recentCharacters); + } + this.visible_child_name = 'recent'; + } + } else { + let characterList = this.get_child_by_name(category.name); + characterList.searchByCategory(category); + this.visible_child = characterList; + } + }, + + addToRecent: function(uc) { + if (this.recentCharacters.indexOf(uc) < 0) { + this.recentCharacters.unshift(uc); + if (this.recentCharacters.length > this._maxRecentCharacters) + this.recentCharacters = this.recentCharacters.slice( + 0, this._maxRecentCharacters); + Main.settings.set_value( + 'recent-characters', + GLib.Variant.new_strv(this.recentCharacters)); + } + }, + + _addToRecent: function(widget, uc) { + this.addToRecent(uc); + }, + + _handleCharacterSelected: function(widget, uc) { + let dialog = new Character.CharacterDialog({ + character: uc, + modal: true, + transient_for: this.get_toplevel(), + fontDescription: this._fontFilter.fontDescription + }); + + dialog.show(); + dialog.connect('character-copied', + Lang.bind(this, this._addToRecent)); + dialog.connect('response', function(self, response_id) { + if (response_id == Gtk.ResponseType.CLOSE) + dialog.destroy(); + }); + } +}); diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..66d4fd7 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,35 @@ +include $(top_srcdir)/glib-tap.mk + +dogtail_tests = \ + smoke_test.py + +TESTS_ENVIRONMENT += LC_ALL=C GSETTINGS_BACKEND=memory + +if ENABLE_DOGTAIL +dist_test_scripts = $(dogtail_tests) +dist_test_data = testutil.py + +CLEANFILES += *.pyc + +if ENABLE_COVERAGE +lcov: + ( cd $(abs_top_builddir) ; $(TESTS_ENVIRONMENT) $(GJS) --coverage-output=$(abs_builddir) \ + $(foreach source,$(wildcard $(abs_top_srcdir)/src/*.js),-C $(abs_top_srcdir)/src/$(notdir $(source))) \ + $(abs_top_builddir)/src/org.gnome.Characters --gapplication-service ) & \ + sleep 2 && TESTUTIL_DONT_START=1 $(MAKE) $(AM_MAKEFLAGS) check + $(GENHTML) $(builddir)/coverage.lcov + +clean-local: + rm -rf $(builddir)/src + +CLEANFILES += *.html *.png *.css coverage.lcov +GITIGNOREFILES = src/ +endif + +else +EXTRA_DIST += testutil.py $(dogtail_tests) +endif + +EXTRA_DIST += meson.build test.in + +-include $(top_srcdir)/git.mk diff --git a/tests/Makefile.in b/tests/Makefile.in new file mode 100644 index 0000000..fb9c388 --- /dev/null +++ b/tests/Makefile.in @@ -0,0 +1,1078 @@ +# Makefile.in generated by automake 1.15.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2017 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# GLIB - Library of useful C routines + + + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +TESTS = $(dist_test_scripts) +installed_test_PROGRAMS = $(am__EXEEXT_1) +noinst_PROGRAMS = $(am__EXEEXT_3) +check_PROGRAMS = $(am__EXEEXT_2) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_1 = $(all_test_ltlibs) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_2 = $(all_test_programs) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_3 = $(all_test_scripts) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_4 = $(all_test_data) +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_5 = $(all_test_ltlibs) +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_6 = $(all_test_programs) +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_7 = $(all_test_scripts) +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_8 = $(all_test_data) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_9 = $(test_programs) $(installed_test_programs) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(test_extra_programs) $(installed_test_extra_programs) + +@ENABLE_INSTALLED_TESTS_TRUE@am__append_10 = $(test_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(installed_test_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(test_extra_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(test_installed_extra_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_test_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_test_extra_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_installed_test_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_installed_test_extra_scripts) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_11 = $(test_data) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(installed_test_data) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_test_data) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_installed_test_data) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_12 = $(test_ltlibraries) $(installed_test_ltlibraries) +@ENABLE_INSTALLED_TESTS_TRUE@am__append_13 = $(installed_test_meta_DATA) +@ENABLE_DOGTAIL_TRUE@am__append_14 = *.pyc +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@am__append_15 = *.html *.png *.css coverage.lcov +@ENABLE_DOGTAIL_FALSE@am__append_16 = testutil.py $(dogtail_tests) +subdir = tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/glibtests.m4 \ + $(top_srcdir)/glm4/00gnulib.m4 \ + $(top_srcdir)/glm4/absolute-header.m4 \ + $(top_srcdir)/glm4/appstream-xml.m4 \ + $(top_srcdir)/glm4/asm-underscore.m4 \ + $(top_srcdir)/glm4/gettext.m4 $(top_srcdir)/glm4/glib-2.0.m4 \ + $(top_srcdir)/glm4/gnulib-common.m4 \ + $(top_srcdir)/glm4/gnulib-comp.m4 \ + $(top_srcdir)/glm4/gsettings.m4 \ + $(top_srcdir)/glm4/host-cpu-c-abi.m4 \ + $(top_srcdir)/glm4/iconv.m4 $(top_srcdir)/glm4/include_next.m4 \ + $(top_srcdir)/glm4/inline.m4 $(top_srcdir)/glm4/intlmacosx.m4 \ + $(top_srcdir)/glm4/introspection.m4 \ + $(top_srcdir)/glm4/lib-ld.m4 $(top_srcdir)/glm4/lib-link.m4 \ + $(top_srcdir)/glm4/lib-prefix.m4 $(top_srcdir)/glm4/libtool.m4 \ + $(top_srcdir)/glm4/libunistring-base.m4 \ + $(top_srcdir)/glm4/libunistring-optional.m4 \ + $(top_srcdir)/glm4/libunistring.m4 \ + $(top_srcdir)/glm4/limits-h.m4 $(top_srcdir)/glm4/longlong.m4 \ + $(top_srcdir)/glm4/ltoptions.m4 $(top_srcdir)/glm4/ltsugar.m4 \ + $(top_srcdir)/glm4/ltversion.m4 \ + $(top_srcdir)/glm4/lt~obsolete.m4 \ + $(top_srcdir)/glm4/multiarch.m4 $(top_srcdir)/glm4/nls.m4 \ + $(top_srcdir)/glm4/off_t.m4 $(top_srcdir)/glm4/pkg.m4 \ + $(top_srcdir)/glm4/po.m4 $(top_srcdir)/glm4/progtest.m4 \ + $(top_srcdir)/glm4/ssize_t.m4 $(top_srcdir)/glm4/stdbool.m4 \ + $(top_srcdir)/glm4/stdint.m4 $(top_srcdir)/glm4/sys_types_h.m4 \ + $(top_srcdir)/glm4/wint_t.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(installed_testdir)" \ + "$(DESTDIR)$(installed_testdir)" \ + "$(DESTDIR)$(installed_testdir)" \ + "$(DESTDIR)$(installed_test_metadir)" \ + "$(DESTDIR)$(installed_testdir)" +LTLIBRARIES = $(installed_test_LTLIBRARIES) $(noinst_LTLIBRARIES) +am__EXEEXT_1 = +@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_2 = $(am__EXEEXT_1) +@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_3 = $(am__EXEEXT_1) +PROGRAMS = $(installed_test_PROGRAMS) $(noinst_PROGRAMS) +SCRIPTS = $(installed_test_SCRIPTS) $(noinst_SCRIPTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(installed_test_meta_DATA) $(nobase_installed_test_DATA) \ + $(noinst_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/glib-tap.mk +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ +APPSTREAM_UTIL = @APPSTREAM_UTIL@ +AR = @AR@ +ARFLAGS = @ARFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ +BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ +BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ +BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ +BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DEPS_CFLAGS = @DEPS_CFLAGS@ +DEPS_LIBS = @DEPS_LIBS@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GJS = @GJS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ +GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@ +GOBJECT_QUERY = @GOBJECT_QUERY@ +GREP = @GREP@ +GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ +HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ +HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ +HAVE_LIBUNISTRING = @HAVE_LIBUNISTRING@ +HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ +HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ +HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ +HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ +HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ +HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ +HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ +HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ +HAVE_WCHAR_H = @HAVE_WCHAR_H@ +HAVE__BOOL = @HAVE__BOOL@ +HOST_CPU = @HOST_CPU@ +HOST_CPU_C_ABI = @HOST_CPU_C_ABI@ +INCLUDE_NEXT = @INCLUDE_NEXT@ +INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBGC_CFLAGS = @LIBGC_CFLAGS@ +LIBGC_LIBS = @LIBGC_LIBS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUNISTRING = @LIBUNISTRING@ +LIBUNISTRING_PREFIX = @LIBUNISTRING_PREFIX@ +LIBUNISTRING_UNICASE_H = @LIBUNISTRING_UNICASE_H@ +LIBUNISTRING_UNICTYPE_H = @LIBUNISTRING_UNICTYPE_H@ +LIBUNISTRING_UNINAME_H = @LIBUNISTRING_UNINAME_H@ +LIBUNISTRING_UNINORM_H = @LIBUNISTRING_UNINORM_H@ +LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@ +LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ +LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ +LIMITS_H = @LIMITS_H@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LTLIBUNISTRING = @LTLIBUNISTRING@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +MSGUNIQ = @MSGUNIQ@ +NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@ +NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ +NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@ +NEXT_LIMITS_H = @NEXT_LIMITS_H@ +NEXT_STDINT_H = @NEXT_STDINT_H@ +NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_DBUS_PATH = @PACKAGE_DBUS_PATH@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@ +PANGOFT2_LIBS = @PANGOFT2_LIBS@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PRAGMA_COLUMNS = @PRAGMA_COLUMNS@ +PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@ +PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ +SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ +STDBOOL_H = @STDBOOL_H@ +STDINT_H = @STDINT_H@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ +WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ +WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@ +WINT_T_SUFFIX = @WINT_T_SUFFIX@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +appstreamxmldir = @appstreamxmldir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +gl_LIBOBJS = @gl_LIBOBJS@ +gl_LTLIBOBJS = @gl_LTLIBOBJS@ +gltests_LIBOBJS = @gltests_LIBOBJS@ +gltests_LTLIBOBJS = @gltests_LTLIBOBJS@ +gltests_WITNESS = @gltests_WITNESS@ +gsettingsschemadir = @gsettingsschemadir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +installed_test_metadir = @installed_test_metadir@ +installed_testdir = @installed_testdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +TESTS_ENVIRONMENT = G_TEST_SRCDIR="$(abs_srcdir)" \ + G_TEST_BUILDDIR="$(abs_builddir)" G_DEBUG=gc-friendly \ + MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) \ + LC_ALL=C GSETTINGS_BACKEND=memory +LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh +LOG_COMPILER = $(top_srcdir)/tap-test +NULL = + +# initialize variables for unconditional += appending +BUILT_SOURCES = +BUILT_EXTRA_DIST = +CLEANFILES = *.log *.trs $(am__append_13) $(am__append_14) \ + $(am__append_15) +DISTCLEANFILES = +MAINTAINERCLEANFILES = +EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \ + $(am__append_16) meson.build test.in +installed_test_LTLIBRARIES = $(am__append_12) +installed_test_SCRIPTS = $(am__append_10) +nobase_installed_test_DATA = $(am__append_11) +noinst_LTLIBRARIES = $(am__append_1) +noinst_SCRIPTS = $(am__append_3) +noinst_DATA = $(am__append_4) +check_LTLIBRARIES = $(am__append_5) +check_SCRIPTS = $(am__append_7) +check_DATA = $(am__append_8) + +# Note: build even the installed-only targets during 'make check' to ensure that they still work. +# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to +# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were +# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'. +all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \ + $(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs) + +all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) \ + $(installed_test_scripts) $(test_extra_scripts) \ + $(uninstalled_test_extra_scripts) \ + $(installed_test_extra_scripts) $(all_dist_test_scripts) +all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \ + $(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts) + +all_test_data = $(test_data) $(uninstalled_test_data) \ + $(installed_test_data) $(all_dist_test_data) +all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data) +all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries) +@ENABLE_INSTALLED_TESTS_TRUE@installed_testcases = $(test_programs) $(installed_test_programs) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(test_scripts) $(installed_test_scripts) \ +@ENABLE_INSTALLED_TESTS_TRUE@ $(dist_test_scripts) $(dist_installed_test_scripts) + +@ENABLE_INSTALLED_TESTS_TRUE@installed_test_meta_DATA = $(installed_testcases:=.test) +dogtail_tests = \ + smoke_test.py + +@ENABLE_DOGTAIL_TRUE@dist_test_scripts = $(dogtail_tests) +@ENABLE_DOGTAIL_TRUE@dist_test_data = testutil.py +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@GITIGNOREFILES = src/ +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/glib-tap.mk $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign tests/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/glib-tap.mk $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkLTLIBRARIES: + -test -z "$(check_LTLIBRARIES)" || rm -f $(check_LTLIBRARIES) + @list='$(check_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +install-installed_testLTLIBRARIES: $(installed_test_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(installed_test_LTLIBRARIES)'; test -n "$(installed_testdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(installed_testdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(installed_testdir)"; \ + } + +uninstall-installed_testLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(installed_test_LTLIBRARIES)'; test -n "$(installed_testdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(installed_testdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(installed_testdir)/$$f"; \ + done + +clean-installed_testLTLIBRARIES: + -test -z "$(installed_test_LTLIBRARIES)" || rm -f $(installed_test_LTLIBRARIES) + @list='$(installed_test_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +install-installed_testPROGRAMS: $(installed_test_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(installed_test_PROGRAMS)'; test -n "$(installed_testdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + || test -f $$p1 \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(installed_testdir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(installed_testdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-installed_testPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(installed_test_PROGRAMS)'; test -n "$(installed_testdir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(installed_testdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(installed_testdir)" && rm -f $$files + +clean-installed_testPROGRAMS: + @list='$(installed_test_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +install-installed_testSCRIPTS: $(installed_test_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(installed_test_SCRIPTS)'; test -n "$(installed_testdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(installed_testdir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(installed_testdir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-installed_testSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(installed_test_SCRIPTS)'; test -n "$(installed_testdir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(installed_testdir)'; $(am__uninstall_files_from_dir) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-installed_test_metaDATA: $(installed_test_meta_DATA) + @$(NORMAL_INSTALL) + @list='$(installed_test_meta_DATA)'; test -n "$(installed_test_metadir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_test_metadir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_test_metadir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(installed_test_metadir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(installed_test_metadir)" || exit $$?; \ + done + +uninstall-installed_test_metaDATA: + @$(NORMAL_UNINSTALL) + @list='$(installed_test_meta_DATA)'; test -n "$(installed_test_metadir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(installed_test_metadir)'; $(am__uninstall_files_from_dir) +install-nobase_installed_testDATA: $(nobase_installed_test_DATA) + @$(NORMAL_INSTALL) + @list='$(nobase_installed_test_DATA)'; test -n "$(installed_testdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \ + fi; \ + $(am__nobase_list) | while read dir files; do \ + xfiles=; for file in $$files; do \ + if test -f "$$file"; then xfiles="$$xfiles $$file"; \ + else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ + test -z "$$xfiles" || { \ + test "x$$dir" = x. || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)/$$dir'"; \ + $(MKDIR_P) "$(DESTDIR)$(installed_testdir)/$$dir"; }; \ + echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(installed_testdir)/$$dir'"; \ + $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(installed_testdir)/$$dir" || exit $$?; }; \ + done + +uninstall-nobase_installed_testDATA: + @$(NORMAL_UNINSTALL) + @list='$(nobase_installed_test_DATA)'; test -n "$(installed_testdir)" || list=; \ + $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + dir='$(DESTDIR)$(installed_testdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) \ + $(check_SCRIPTS) $(check_DATA) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_test_metadir)" "$(DESTDIR)$(installed_testdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +@ENABLE_COVERAGE_FALSE@clean-local: +@ENABLE_DOGTAIL_FALSE@clean-local: +clean: clean-am + +clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ + clean-installed_testLTLIBRARIES clean-installed_testPROGRAMS \ + clean-libtool clean-local clean-noinstLTLIBRARIES \ + clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-installed_testLTLIBRARIES \ + install-installed_testPROGRAMS install-installed_testSCRIPTS \ + install-installed_test_metaDATA \ + install-nobase_installed_testDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-installed_testLTLIBRARIES \ + uninstall-installed_testPROGRAMS \ + uninstall-installed_testSCRIPTS \ + uninstall-installed_test_metaDATA \ + uninstall-nobase_installed_testDATA + +.MAKE: all check check-am install install-am install-strip + +.PHONY: all all-am check check-TESTS check-am clean \ + clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \ + clean-installed_testLTLIBRARIES clean-installed_testPROGRAMS \ + clean-libtool clean-local clean-noinstLTLIBRARIES \ + clean-noinstPROGRAMS cscopelist-am ctags-am distclean \ + distclean-generic distclean-libtool distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-installed_testLTLIBRARIES \ + install-installed_testPROGRAMS install-installed_testSCRIPTS \ + install-installed_test_metaDATA install-man \ + install-nobase_installed_testDATA install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-installed_testLTLIBRARIES \ + uninstall-installed_testPROGRAMS \ + uninstall-installed_testSCRIPTS \ + uninstall-installed_test_metaDATA \ + uninstall-nobase_installed_testDATA + +.PRECIOUS: Makefile + + +@ENABLE_INSTALLED_TESTS_TRUE@%.test: %$(EXEEXT) Makefile +@ENABLE_INSTALLED_TESTS_TRUE@ $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ +@ENABLE_INSTALLED_TESTS_TRUE@ echo 'Type=session-exclusive' >> $@.tmp; \ +@ENABLE_INSTALLED_TESTS_TRUE@ echo 'Exec=$(installed_testdir)/$(notdir $<)' >> $@.tmp; \ +@ENABLE_INSTALLED_TESTS_TRUE@ mv $@.tmp $@) + +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@lcov: +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ ( cd $(abs_top_builddir) ; $(TESTS_ENVIRONMENT) $(GJS) --coverage-output=$(abs_builddir) \ +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ $(foreach source,$(wildcard $(abs_top_srcdir)/src/*.js),-C $(abs_top_srcdir)/src/$(notdir $(source))) \ +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ $(abs_top_builddir)/src/org.gnome.Characters --gapplication-service ) & \ +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ sleep 2 && TESTUTIL_DONT_START=1 $(MAKE) $(AM_MAKEFLAGS) check +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ $(GENHTML) $(builddir)/coverage.lcov + +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@clean-local: +@ENABLE_COVERAGE_TRUE@@ENABLE_DOGTAIL_TRUE@ rm -rf $(builddir)/src + +-include $(top_srcdir)/git.mk + +# 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/tests/meson.build b/tests/meson.build new file mode 100644 index 0000000..98a06ec --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,26 @@ +installed_tests_execdir = join_paths(characters_libexecdir, 'installed-tests', characters_name) +installed_tests_metadir = join_paths(characters_datadir, 'installed-tests', characters_name) + +tests = ['smoke_test.py'] + +tests_data = files('testutil.py') + +install_data( + tests + tests_data, + install_dir: installed_tests_execdir +) + +template = 'test.in' + +foreach test: tests + tests_conf = configuration_data() + tests_conf.set('testdir', installed_tests_execdir) + + configure_file( + input: template, + output: test + '.test', + configuration: tests_conf, + install: true, + install_dir: installed_tests_metadir + ) +endforeach diff --git a/tests/smoke_test.py b/tests/smoke_test.py new file mode 100755 index 0000000..c47fd21 --- /dev/null +++ b/tests/smoke_test.py @@ -0,0 +1,97 @@ +#! /usr/bin/python + +from testutil import * + +from gi.repository import Gio, GLib + +import os, sys +import pyatspi +from dogtail import tree +from dogtail import utils +from dogtail.procedural import * +from dogtail.rawinput import click + +def active(widget): + return widget.getState().contains(pyatspi.STATE_ARMED) +def visible(widget): + return widget.getState().contains(pyatspi.STATE_VISIBLE) + +PAGE_LABELS = [ + 'Punctuation', + 'Arrows', + 'Bullets', + 'Pictures', + 'Currencies', + 'Math', + 'Letters', + 'Emoticons' +] + +class Page(object): + def __init__(self, app, label): + self.button = app.child('%s Category List Row' % label) + self.character_list = app.child('%s Character List' % label) + +init() +try: + app = start() + print "app started" + assert app is not None + + pages = dict() + for label in PAGE_LABELS: + pages[label] = Page(app, label) + + recently_used_page = Page(app, 'Recently Used') + assert recently_used_page.button.showing + assert not recently_used_page.character_list.showing + pages['Recently Used'] = recently_used_page + + # basic state + for label, page in pages.items(): + assert page.button.showing + if label in PAGE_LABELS: + # for the first time, recent characters are empty and + # 'Punctuation' tab should be selected. + if label == 'Punctuation': + assert page.character_list.showing + else: + assert not page.character_list.showing + + # selection mode + for label1 in PAGE_LABELS: + page = pages[label1] + page.button.click() + assert page.character_list.showing + for label2 in PAGE_LABELS: + if label2 == label1: + continue + assert not pages[label2].character_list.showing + + # character dialog + page = pages['Punctuation'] + page.button.click() + x, y = page.character_list.position + click(x + 10, y + 10) + assert len(app.children) == 2 + character_dialog = app.children[-1] + assert character_dialog.name == 'Exclamation Mark' + see_also_button = character_dialog.child('See Also') + assert see_also_button.showing + + see_also_button.click() + keyCombo('Escape') + + # recently used characters + recently_used_page = Page(app, 'Recently Used') + recently_used_page.button.click() + x, y = recently_used_page.character_list.position + click(x + 10, y + 10) + assert len(app.children) == 2 + character_dialog = app.children[-1] + assert character_dialog.name == 'Exclamation Mark' + see_also_button = character_dialog.child('See Also') + assert see_also_button.showing +finally: + print "tearing down" + fini() diff --git a/tests/test.in b/tests/test.in new file mode 100644 index 0000000..22677f6 --- /dev/null +++ b/tests/test.in @@ -0,0 +1,3 @@ +[Test] +Type=session-exclusive +Exec=@testdir@/smoke_test.py diff --git a/tests/testutil.py b/tests/testutil.py new file mode 100644 index 0000000..8b3ef26 --- /dev/null +++ b/tests/testutil.py @@ -0,0 +1,65 @@ +# -*- mode: python -*- + +from gi.repository import GLib, Gio + +from dogtail.utils import isA11yEnabled, enableA11y +if not isA11yEnabled(): + enableA11y(True) + +from dogtail import tree +from dogtail import utils +from dogtail.predicate import * +from dogtail.procedural import * + +import os, sys +import subprocess + +APPLICATION_ID = "org.gnome.Characters" + +_bus = None + +class IsTextEqual(Predicate): + """Predicate subclass that looks for top-level windows""" + def __init__(self, text): + self.text = text + + def satisfiedByNode(self, node): + try: + textIface = node.queryText() + #print textIface.getText(0, -1) + return textIface.getText(0, -1) == self.text + except NotImplementedError: + return False + + def describeSearchResult(self): + return '%s text node' % self.text + +def _do_bus_call(method, params): + global _bus + + if _bus == None: + _bus = Gio.bus_get_sync(Gio.BusType.SESSION) + _bus.call_sync(APPLICATION_ID, '/' + APPLICATION_ID.replace('.', '/'), + 'org.freedesktop.Application', + method, params, None, + Gio.DBusCallFlags.NONE, + -1, None) + +def start(): + builddir = os.environ.get('G_TEST_BUILDDIR', None) + if builddir and not 'TESTUTIL_DONT_START' in os.environ: + subprocess.Popen([os.path.join(builddir, '..', 'src', APPLICATION_ID)], + cwd=os.path.join(builddir, '..')) + else: + _do_bus_call("Activate", GLib.Variant('(a{sv})', ([],))) + utils.doDelay(3) + + app = tree.root.application(APPLICATION_ID) + focus.application(APPLICATION_ID) + + return app + +def init(): + pass +def fini(): + _do_bus_call("ActivateAction", GLib.Variant('(sava{sv})', ('quit', [], [])))