xchm-1.23/0000755000175000001440000000000012210054272007366 500000000000000xchm-1.23/ABOUT-NLS0000644000175000001440000020347412210054137010547 000000000000001 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. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 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. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _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.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. 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.3 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. 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 country 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.4 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://www.iro.umontreal.ca/contrib/po/HTML/', in the "National 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 `translation@iro.umontreal.ca' 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 skill are praised more than programming skill, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of March 2005. 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 ar az be bg bs ca cs cy da de el en en_GB +-------------------------------------------------+ GNUnet | | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] | bash | [] [] | batchelor | [] | bfd | [] | bibshelf | [] | binutils | [] | bison | [] [] | bluez-pin | [] [] [] [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] () [] [] [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | [] () () [] | gnucash-glossary | [] () | gnupg | [] () [] [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | [] [] | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] () | gtkspell | [] [] [] | hello | [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] | iso_3166 | | iso_3166_1 | [] [] [] [] [] | iso_3166_2 | | iso_3166_3 | [] | iso_4217 | | iso_639 | | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | latrine | () | ld | [] | libc | [] [] [] [] [] | libextractor | | libgpewidget | [] [] [] | libgsasl | | libiconv | [] [] [] [] [] | libidn | | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] | mysecretdiary | [] [] | nano | [] () [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | [] [] [] [] | psmisc | | ptx | [] [] [] | pwdutils | | python | | radius | [] | recode | [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] | sharutils | [] [] [] [] [] | silky | () | skencil | [] () | sketch | [] () | solfege | [] | soundtracker | [] [] | sp | [] | stardict | [] | tar | | texinfo | [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] [] [] [] | xchat | [] [] [] [] | xkeyboard-config | | xpad | | +-------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB 10 0 0 2 7 4 0 42 43 3 53 92 21 1 15 eo es et eu fa fi fr ga gl he hr hu id is it +-----------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] | aspell | [] [] | bash | [] [] [] [] | batchelor | [] [] | bfd | [] [] | bibshelf | [] [] [] | binutils | [] [] | bison | [] [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] | cpio | [] [] | cpplib | [] [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | [] () [] | gnucash-glossary | [] [] | gnupg | [] [] [] [] [] [] [] [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] | gpe-conf | [] | gpe-contacts | [] | gpe-edit | [] [] | gpe-go | [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] [] | gss | [] | gst-plugins | [] [] [] | gstreamer | [] | gtick | [] [] [] [] [] | gtkspell | [] [] [] [] [] [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] | iso_3166_1 | [] [] [] [] [] [] | iso_3166_2 | [] | iso_3166_3 | [] | iso_4217 | [] [] | iso_639 | [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | latrine | [] [] [] | ld | [] [] | libc | [] [] [] [] [] | libextractor | | libgpewidget | [] [] [] [] [] | libgsasl | [] [] | libiconv | [] [] [] [] [] [] [] [] [] [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] () [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | psmisc | [] [] | ptx | [] [] [] [] [] [] [] [] [] | pwdutils | | python | | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] | screem | | scrollkeeper | [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] | silky | () [] () () | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | tar | [] [] [] [] [] | texinfo | [] [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] | tuxpaint | [] [] [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] | xkeyboard-config | | xpad | [] [] [] | +-----------------------------------------------+ eo es et eu fa fi fr ga gl he hr hu id is it 14 86 22 15 2 31 117 44 18 8 6 40 28 1 45 ja ko lg lt lv mk mn ms mt nb nl nn no nso or +-----------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | | aspell | [] [] | bash | [] | batchelor | [] | bfd | | bibshelf | | binutils | [] | bison | [] [] [] | bluez-pin | [] | clisp | [] | console-tools | | coreutils | [] [] | cpio | | cpplib | | darkstat | [] [] | dialog | [] | diffutils | [] [] [] | doodle | | e2fsprogs | | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | | flex | [] [] | fslint | [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] | gliv | [] | glunarclock | [] [] | gmult | [] | gnubiff | | gnucash | () () [] | gnucash-glossary | [] | gnupg | [] [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] | gpe-conf | [] | gpe-contacts | | gpe-edit | [] | gpe-go | [] | gpe-login | [] | gpe-ownerinfo | [] | gpe-sketchbook | [] | gpe-su | [] | gpe-taskmanager | [] | gpe-timesheet | [] | gpe-today | [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] [] | gstreamer | [] | gtick | [] | gtkspell | [] [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_1 | [] [] | iso_3166_2 | [] | iso_3166_3 | [] | iso_4217 | [] [] [] | iso_639 | [] [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | latrine | [] | ld | | libc | [] [] [] [] [] | libextractor | | libgpewidget | [] | libgsasl | [] | libiconv | [] | libidn | | lifelines | [] | lilypond | [] | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | psmisc | [] [] | ptx | [] [] [] | pwdutils | | python | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] | silky | [] | skencil | | sketch | | solfege | [] [] | soundtracker | | sp | () | stardict | [] [] | tar | [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] | +-----------------------------------------------+ ja ko lg lt lv mk mn ms mt nb nl nn no nso or 35 11 1 1 2 2 3 11 0 15 96 7 5 0 1 pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +----------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] | bfd | [] [] | bibshelf | | binutils | [] [] | bison | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] | cpplib | | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] | fetchmail | [] () [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () [] | gnucash | () [] [] [] [] | gnucash-glossary | [] [] [] | gnupg | [] [] [] | gpe-aerial | [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] | gpe-calendar | [] [] [] [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] | gpe-contacts | [] [] [] | gpe-edit | [] [] [] [] [] [] [] | gpe-go | [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] | gpe-sketchbook | [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] [] [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] | gpsdrive | [] | gramadoir | [] | grep | [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] | gstreamer | [] [] [] [] | gtick | [] [] [] | gtkspell | [] [] [] [] [] | hello | [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] | iso_3166_1 | [] [] [] [] | iso_3166_2 | | iso_3166_3 | [] [] [] | iso_4217 | [] [] | iso_639 | [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] () () | kbd | [] [] [] | latrine | [] [] | ld | [] | libc | [] [] [] [] [] | libextractor | [] | libgpewidget | [] [] [] [] [] [] | libgsasl | [] [] [] | libiconv | [] [] [] [] [] [] [] [] [] [] | libidn | [] () | lifelines | [] [] | lilypond | [] | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | psmisc | [] [] | ptx | [] [] [] [] [] [] | pwdutils | [] | python | | radius | [] [] | recode | [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] | silky | () [] | skencil | [] [] [] | sketch | [] [] [] | solfege | | soundtracker | [] [] | sp | | stardict | [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | | +----------------------------------------------+ pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 48 30 58 6 81 69 4 46 13 12 50 88 0 tg th tk tr uk ven vi wa xh zh_CN zh_TW zu +--------------------------------------------+ GNUnet | | 0 a2ps | [] [] | 18 aegis | | 0 ant-phone | [] | 4 anubis | [] | 9 ap-utils | () | 1 aspell | [] [] [] | 13 bash | | 10 batchelor | [] [] | 7 bfd | [] | 6 bibshelf | [] | 5 binutils | [] [] | 8 bison | [] | 17 bluez-pin | [] [] [] [] [] | 24 clisp | | 7 console-tools | [] | 4 coreutils | [] | 16 cpio | [] | 5 cpplib | [] [] | 7 darkstat | [] () () | 15 dialog | [] [] | 23 diffutils | [] [] [] | 27 doodle | | 4 e2fsprogs | [] | 8 enscript | [] | 12 error | [] [] | 15 fetchmail | [] | 12 fileutils | [] [] [] | 18 findutils | [] [] | 16 flex | [] | 14 fslint | [] | 7 gas | [] | 3 gawk | [] | 13 gbiff | | 4 gcal | [] | 5 gcc | [] | 3 gettext-examples | [] [] [] [] | 20 gettext-runtime | [] [] [] [] [] | 25 gettext-tools | [] [] [] | 16 gimp-print | [] | 11 gip | [] | 8 gliv | [] | 6 glunarclock | [] [] | 14 gmult | [] [] [] | 13 gnubiff | [] | 3 gnucash | () [] | 10 gnucash-glossary | [] | 8 gnupg | [] [] [] | 19 gpe-aerial | [] [] | 13 gpe-beam | [] [] | 13 gpe-calendar | [] [] [] [] | 18 gpe-clock | [] [] [] | 16 gpe-conf | [] [] | 12 gpe-contacts | [] [] | 6 gpe-edit | [] [] [] | 14 gpe-go | [] | 10 gpe-login | [] [] [] [] | 17 gpe-ownerinfo | [] [] [] | 18 gpe-sketchbook | [] | 13 gpe-su | [] [] | 15 gpe-taskmanager | [] [] | 15 gpe-timesheet | [] [] [] | 16 gpe-today | [] [] [] [] | 18 gpe-todo | [] [] [] | 16 gphoto2 | [] [] | 17 gprof | [] [] | 10 gpsdrive | | 2 gramadoir | [] | 6 grep | [] [] [] [] | 32 gretl | | 4 gsasl | [] [] | 12 gss | [] | 5 gst-plugins | [] [] | 16 gstreamer | [] [] [] | 14 gtick | [] | 11 gtkspell | [] [] [] | 19 hello | [] [] [] [] | 37 id-utils | [] [] | 13 impost | [] | 3 indent | [] [] [] | 24 iso_3166 | [] [] | 10 iso_3166_1 | [] [] | 19 iso_3166_2 | | 2 iso_3166_3 | [] [] | 8 iso_4217 | [] | 8 iso_639 | [] | 10 jpilot | [] [] [] | 6 jtag | | 2 jwhois | [] [] [] | 12 kbd | [] | 11 latrine | [] [] | 8 ld | [] | 5 libc | [] [] | 22 libextractor | | 1 libgpewidget | [] [] | 17 libgsasl | [] | 7 libiconv | [] [] [] [] [] | 32 libidn | [] | 4 lifelines | | 4 lilypond | [] | 5 lingoteach | | 5 lynx | [] [] | 14 m4 | [] [] | 17 mailutils | [] | 7 make | [] [] | 18 man-db | | 5 minicom | | 11 mysecretdiary | [] [] | 11 nano | | 11 nano_1_0 | [] [] | 17 opcodes | [] | 7 parted | [] [] [] | 17 psmisc | [] | 7 ptx | [] [] | 23 pwdutils | | 1 python | | 0 radius | [] | 6 recode | [] [] | 22 rpm | [] [] | 11 screem | | 1 scrollkeeper | [] [] | 22 sed | [] [] | 19 sh-utils | [] | 15 shared-mime-info | [] [] | 19 sharutils | [] [] [] | 20 silky | | 3 skencil | | 6 sketch | | 6 solfege | | 4 soundtracker | [] | 8 sp | [] | 3 stardict | [] [] [] [] | 10 tar | [] [] | 13 texinfo | [] [] | 14 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] | 7 tuxpaint | [] [] [] [] | 34 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] | 17 vorbis-tools | [] | 10 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] [] | 31 xchat | [] [] [] | 22 xkeyboard-config | | 1 xpad | [] | 5 +--------------------------------------------+ 71 teams tg th tk tr uk ven vi wa xh zh_CN zh_TW zu 148 domains 0 0 1 69 29 0 61 16 0 42 21 0 1704 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 March 2005 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://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 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 Library 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 `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. xchm-1.23/AUTHORS0000644000175000001440000000004312210054137010353 00000000000000Razvan Cojocaru xchm-1.23/COPYING0000644000175000001440000004311012210054137010340 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library General Public License instead of this License. xchm-1.23/ChangeLog0000644000175000001440000003114312210054152011057 00000000000000 * 0.5 Initial release. + can load CHM files and display the homepage, print the displayed page, go back and forward in the history and toggle the contents tree panel. Enjoy. * 0.5.1. Minor modifications: + added Doxygen comments and generated some documentation; + added code to display the book's title on the titlebar, if the book's title can be determined. * 0.5.2. Minor bugfixes: + corrected a path-related bug that happened when opening a CHM file who's default page was only a reference to a page in a different CHM file. * 0.6. Feature enhancements: + added a custom selection font chooser dialog. Turns out to be a major feature as some (crappy) books display garbage with the default font. * 0.6.1. Major bugfix: + fixed Unicode bug that prevented xCHM from compiling properly on RedHat 9. Many thanks go to Stefano Caselli for his aid and patience in testing the release candidates. * 0.6.2. Minor bugfixes: + fixed references from a .chm file to pages in other .chm files (more MS-style petty stuff). + applied PLD Linux configure patch and added --enable-optimize to the set of configure flags. * 0.6.3. Major bugfix: + thanks to Vadim Zeitlin of wxWidgets.org, fixed an endianess bug which prevented xCHM from working properly on big endian machines. + changed the configure.in method to figure out where wxWidgets is from plain old `wx-config --cxxflags`, etc., to AM_PATH_WXCONFIG. * 0.7 Major feature enhancements: + added a full search panel and changed the layout of the contents panel. Now you can look for text in all the pages of the loaded .chm file. * 0.7.1 Minor bugfixes: + fixed bugs in the full document HTML search. + added a 'Search titles only' checkbox. + the contents tree is now synchronized with the displayed document even if a document is not opened by selecting a tree item. * 0.8 Major feature enhancements: + added bookmark support. * 0.8.1 Major feature enhancement masked as minor number release + added real Microsoft-like $FIftiMain index-based global search. The searches are as fast as possible now. - removed the 'Case sensitive' checkbox because index search can't use it anyway. + added support for 'javascript:fullSize' URLs. + beautified the font dialog a bit. + fixed empty title in the titlebar bug. + refined the synchronization between the contents tree and the wxHtmlWindow displayed page. * 0.8.2 Bug fixes and improvements: + added 'find in page' code (wxWidgets 2.5.x only). + added 'copy text' code (wxWidgets 2.5 only). + added a 'find in page' dialog that hopefully pops up on Ctrl-F :) (wxWidgets 2.5.x only) + added a popup menu with common options (back, forward, copy selection, find in page) that pops up when the user right clicks the HTML window. + beautified the tree control and enabled variable sizes for the tree items. * 0.8.3 Bug fixes: + fixed a relative path bug (i.e. for file paths like ../directory/file) both for HTML pages and images (had to override wxHtmlWindow::OnOpeningURL()). + made the fonts change if necessary so that alternative encodings can be used (such as Russian or Chinese). * 0.8.4 Minor bugfix: + corrected a bug that crashed xchm if the user tried to open a .chm file that is not present on disk. * 0.8.5 Major bugfixes: + made xCHM properly handle weird charset languages (Russian, Chinese) properly even when xCHM is being linked with the GTK2/Unicode version of wxWidgets. * 0.8.6 Minor bugfixes: + corrected a bug that made xCHM refuse to load pages with /absolute/paths. + corrected a bug that made xCHM refuse to load pages with ./in/current/dir paths. * 0.8.7 Minor feature enhancements: + the contents panel sash position persists between sessions. + decreased the default application font size from 14 to 12. + added opened files history support. * 0.8.8 Major feature enhancements: + all the wxListBox widgets have been replaced with wxListCtrl derived controls. + added real-time searchable index support via a new 'Index' panel (status / selected index word changes as you type). + suppressed unhelpful error messages while loading a page. + hacked around wxWidgets file system handler bug. GetMimeTypeFromExt() couldn't figure out that pages that ended in ".HTM" (as opposed to lowercase ".htm") are of "text/html" MIME type. * 0.8.9 Bugfix release: + checking for the u_intXX_t types with autoconf. + the detection of the book title, home page, index and contents files is reliable. + applied FreeBSD port patch. * 0.8.10 Bugfix / enhancements release: + fixed a horizontal scrollbar repainting bug that occured in the search and index tabs. + added Chanler White Mac OS X patch to be able to launch open a .chm file by double-clicking on it on Mac OS X. * 0.8.11 Bugfix release: + fixed a bug that prevented xCHM from properly figuring out where to construct the table of contents from. + fixed a bug that prevented the table of contents links to work properly w/ some books. + made the configure script sh friendly. + added Chanler White Mac OS X patch to be able to use the mouse wheel to scroll under Mac OS X. + replaced the application icon with a much better one contributed by Steven Chan. * 0.9 Major feature enhancements: + added i18n support. + added Romanian and French translations of xCHM's interface. + no more warnings on wxWidgets 2.5.1 compilations. * 0.9.1 Minor bugfixes: + fixed an index bug. + added translations for Italian, German, Portuguese and Russian. * 0.9.2 Minor bugfixes: + added Polish translation. + added Bulgarian translation. + fixed a Fonts dialog bug. + fixed a SunOS/sparc bug where reading info from the #SYSTEM file crashed xCHM. Thanks go to the reporter of the bug Markus Schwarzenberg, for helping solve a bug on a platform I had no access to. * 0.9.3 Minor bugfixes: + fixed 'MS-ITS:' link handling. + corrected a contents tree bug. * 0.9.4 Minor bugfixes: + fixed contents parsing problem. * 0.9.5 Major feature enhancements: + added support for context sensitive help; code contributed by Eamon Millman from PCI Geomatics. * 0.9.6 Minor bugfixes: + added Latvian translation. + Eamon Millman fixed the way xCHM treated '&' characters in URLs. + fixed a TOC bug. * 0.9.7 Minor bugfixes: + added ListDirty() optimization hack from Iulian Dragos + now the index list is being sorted. * 0.9.8 Minor feature enhancements: + fixed the German translation. + added 'Copy link location' to the right-click menu. * 1.0 Finally 'the release': + now xCHM only compiles with wxWidgets 2.6.0. + text selection and copy/paste operations are available. + searching in page with Ctrl+F is possible. + changed the protocol prefix to 'xchm:' to avoid conflicts with the wxWindows-integrated chm support. + improved CHM load times and UI usability during loading. * 1.1 Feature enhancements: + tw translation added. + fixed (wxWidgets bug?) bookmarks save on exit bug. + applied patch from Fritz Elfert for tag support and better icons for the contents tree control items. * 1.2 Feature enhancements: + added Chinese translation. + improved CHM language detection support. + fixed Cyrillic character mapping in Unicode builds. * 1.3: + added Czech translation. + added Slovak translation. + updated Russian translation. + updated French translation. + removed useless mouse scroll patch for Mac OS X. + fixed the About dialog on Mac OS X. + fixed the HTML link to Pabs' chmspec page. + now allowing the 'back' button to get to the welcome page. + the code compiles on Win32 with MinGW without patches + added Win32 resource and icon files + applied GCC 4.1 related patch * 1.4: + fixed Polish translation. + fixed command line relative path problem. + the build scripts are MinGW32-friendly. + fixed Windows CHM input stream bug. * 1.5: + fixed booksmark selection bug. + fixed Mac OS X locale warning. + now text can be copied with ctrl(or cmd, on Mac)-C. + added Copy toolbar button. + added Edit menu bar. * 1.6: + added Ukrainian translation. + fixed nasty wxHTML-related bug with absolute .chm links. * 1.7: + fixed the fix :-) + the Ukrainian translation should have been in uk.po not ua.po * 1.7.1: + the history and font dialog were broken. * 1.8: + fixed the copy link location code. + updated Polish translation. + now SPACE and BACKSPACE work like PAGEUP and PAGEDOWN in the HTML display window. + added (X)Emacs indertation meta-comments to the source files. + fixed Win32 MB2WC() bug. + re-wrote the HHC/HHK parsing code from scratch. + added pretty book icons to the Win32 content tree too. * 1.9: + it is now possible to search in the pages of books without a contents tree. + updated Romanian translation. + finally fixed CHM absolute links problem. + updated Polish translation. * 1.10: + loading CHM files by topic. + now keeping the scroll position between HTML window resizes. + WxWidgets 2.7 friendly code. + F9 now works to toggle the contents, just like Firefox. + added Swedish translation. + added Portuguese translation (in addition to the old - now pt_BR - translation). + fixed the Portuguese translations (they were using the wrong charset). + wxGTK 2.8.x friendly. + workaround to be able to print relative path CHM images. * 1.11: + now xCHM can parse binary TOC trees, if available. + now xCHM can retrieve data from the binary index, if available. + fixed random printout font size problem. + fixed Win32 logo loading problem. + added a progress bar for CHM loading. + fixed TOC tree append bug. + added "Save link as.." item to the context-sensitive right-click menu. + fixed special HTML characters in TOC/index links bug. + fixed relative links in TOC/index bug. + fixed TOC sync with the currently loaded page bug. * 1.12: + actually using the binary index code. + fixed the search results links. + fixed lost Unicode character translation for the TOC and index entries. + updated Polish translation. + fixed index display for non ASCII encodings. + CHM localization bugfixes. * 1.13: + fixed CHMLIB link in the splash page. + fixed special character languages index for wxGTK 2.6. * 1.14: + fixed Normalize() code for Windows CHM files. + fixed "Cannot display document in encoding" error. + now allowing ENTER to work in the bookmarks list. + updated Romanian, German translations. + added Belarusian translation. + don't initialize locale data on Windows (English-only) + fixed build problem with Unicode-detecting #ifdefs inside wxT() macros. + made the source code GCC 4.3 friendly (fixed duplicate parameters issue in GetItem()). * 1.15: + #included in chmapp.cpp (apparently it did not compile without this on some platforms) + updated French translation. + fixed XPM compile-time warnings for GCC 4.3 + bumped minimum accepted wxWidgets version to 2.8. + added tabbed browsing support (from Cedric Boudinet). + Firefox-style shortcuts for navigation. * 1.16: + fixed font non-Latin encoding character set encoding problem. + replaced the checks for u_intXX_t with checks for the more standard uintXX_t. + some refactoring. * 1.17: + added #include GCC 4.4 patch from the Gentoo ebuild. * 1.18: + updated PT translation. + added --notopics and --noindex as command line parameters. They inhibit loading the topics tree and the index list, respectively. + added Vim-like document scrolling key bindings. + made the source code wxWidgets 2.9 friendly. + documents using Chinese simplified now display properly. + fixed Windows application crash that happened when the user clicked the "Fonts.." button. + made the source code compatible with Unicode/MSVC wxMSW builds. + fixed loading of search-in-titles results. * 1.19: + fixed the table of contents display for most non-Latin character set documents (provided you get a Unicode build). + fixed linking issue for wxWidgets 2.9 (the AUI libraries were not being pulled in). + fixed a bunch of minor bugs. * 1.20: + fixed a nasty bug that crashed the application with some CHM files. + fixed strict-aliasing compile-time warning. + fixed a few signed/unsigned comparison warnings. * 1.21: + updated Polish, Russian translations. + fixed a fonts setup bug. * 1.22: + added Greek translation. + implemented fullscreen mode. * 1.23: + renamed configure.in to configure.ac + modernized autotools syntax + minor fixes, code is now wxWidgets-2.9-friendly xchm-1.23/Doxyfile0000644000175000001440000017365712210054152011034 00000000000000# Doxyfile 1.5.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = xCHM # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 1.23 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, # Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, # Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, # Spanish, Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = YES # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = NO # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = NO # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.cpp \ *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to FRAME, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. Other possible values # for this tag are: HIERARCHIES, which will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list; # ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which # disables this behavior completely. For backwards compatibility with previous # releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE # respectively. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Options related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO xchm-1.23/INSTALL0000644000175000001440000002203012210054152010331 00000000000000Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the `--target=TYPE' option to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc will cause the specified gcc to be used as the C compiler (unless it is overridden in the site shell script). `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. xchm-1.23/Makefile.am0000644000175000001440000000023312210054137011340 00000000000000 SUBDIRS = m4 po src art EXTRA_DIST = config.rpath Doxyfile README.xmlrpc rc/xchm.rc rc/xchm.ico ACLOCAL_AMFLAGS = -I m4 #-I /usr/local/share/aclocal xchm-1.23/Makefile.in0000644000175000001440000005755512210054242011371 00000000000000# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 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__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } 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 = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ INSTALL NEWS config.guess config.rpath config.sub depcomp \ install-sh missing mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-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 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=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) 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" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip 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@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LINKOPT = @LINKOPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WX_CFLAGS = @WX_CFLAGS@ WX_CFLAGS_ONLY = @WX_CFLAGS_ONLY@ WX_CONFIG_PATH = @WX_CONFIG_PATH@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_CXXFLAGS_ONLY = @WX_CXXFLAGS_ONLY@ WX_LIBS = @WX_LIBS@ WX_LIBS_STATIC = @WX_LIBS_STATIC@ WX_RESCOMP = @WX_RESCOMP@ WX_VERSION = @WX_VERSION@ WX_VERSION_MAJOR = @WX_VERSION_MAJOR@ WX_VERSION_MICRO = @WX_VERSION_MICRO@ WX_VERSION_MINOR = @WX_VERSION_MINOR@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ 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@ 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@ 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@ SUBDIRS = m4 po src art EXTRA_DIST = config.rpath Doxyfile README.xmlrpc rc/xchm.rc rc/xchm.ico ACLOCAL_AMFLAGS = -I m4 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) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: 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 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi 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 # 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. $(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ 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" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done cscopelist-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ 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 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ 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-recursive cscopelist cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ 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) | GZIP=$(GZIP_ENV) gzip -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 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -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*) \ GZIP=$(GZIP_ENV) gzip -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*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(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 \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(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." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr 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 pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ cscopelist-recursive ctags-recursive install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-cscope \ clean-generic cscope cscopelist cscopelist-recursive ctags \ ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzip \ dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-generic distclean-hdr 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 pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am #-I /usr/local/share/aclocal # 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: xchm-1.23/NEWS0000644000175000001440000000000012210054137007773 00000000000000xchm-1.23/README0000644000175000001440000000342012210054137010165 00000000000000 xCHM - the CHM viewer for UNIX (c) 2003 - 2013 Razvan Cojocaru * Prerequisites In order to be able to compile the code you need to have wxWidgets and CHMLIB installed. You can get wxWidgets from: http://www.wxwidgets.org Get the GTK+ version (also known as wxGTK). xCHM currently compiles with all flavours of wxWidgets, but only works well and looks truly appealing with wxGTK, so I recommend against bothering to use it with anything else. You can get CHMLIB from: http://www.jedrea.com/chmlib/ After you've installed the above you're ready for the next phase. * Installing Type ./configure --help if you're interested in parameters you can pass to configure for compile switches. Most people will be perfectly happy doing a: ./configure && make Once everything is built, type make install and the executable should be somewhere in your $PATH (hopefully :)). Now you can just type xchm and start your session. * Generating documentation If you'd like to generate developer documentation go to the root of the distribution and type doxygen This of course implies that you have doxygen installed. The documentation will be generated in the doc directory in HTML and LaTex format. The doc directory will be created in the process of creating the documentation so it's ok that it's not present by default in the tarball. * Legal stuff As far as I know this is legal code. If you know that the code is in any way illegal in your country, please drop me a note and stop using it / do not install it. * Contact For bug reports and patches, please use the address above. For everything else, count to 10 and if you still want to send the message, go ahead. Can't promise I'll answer everything though. * Happy reading! xchm-1.23/README.xmlrpc0000644000175000001440000000273512210054137011501 00000000000000XmlRpc interface documentation XmlRpc support enables 3rd party applications to issue load, change page, and close instructions to xCHM. In order to make use of the XmlRpc support in xCHM you must configure with the --enable-xmlrpc flag. You must also have the XmlRpc++ (0.7 or higher) library installed on your system. You can aquire this library at: http://xmlrpcpp.sourceforge.net/ Calls param 1 0 - Shuts down xCHM 1 - Loads a chmfile specified by param 2, and an optional contextID as param 3 2 - Loads a specified contextID within the file as param 2 Results 0 - The request was not completed, this indicates a failure in the command. For example if the call (1,file,id) is made with a valid file, but invalid id the correct file will be loaded but the id will not be. Thus it will report that the request was not completed. 1 - The request was completed successfully. Notes: File paths are relative to the xCHM executable, thus full path names are the recommended method for opening files via XmlRpc. Example using Python: Launch xCHM with the XmlRpc server activated xchm --with-xmlrpc=port Launch python >>> import xmlrpclib # establish connection to xCHM XmlRpc server >>> s = xmlrpclib.Server('http://localhost:port') # tell xCHM to open /path/to/sch/file.chm >>> s.xCHM(1,'/path/to/chm/file.chm') 1 # success #tell xCHM to load the contextID from the current file. >>> s.xCHM(2,1234) 0 # failure >>> s.xCHM(2,1235) 1 # success # close xCHM >>> s.xCHM(0) 1 xchm-1.23/aclocal.m40000644000175000001440000022373312210054242011155 00000000000000# generated automatically by aclocal 1.12.6 -*- Autoconf -*- # Copyright (C) 1996-2012 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_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'.])]) dnl --------------------------------------------------------------------------- dnl Author: wxWidgets development team, dnl Francesco Montorsi, dnl Bob McCown (Mac-testing) dnl Creation date: 24/11/2001 dnl RCS-ID: $Id: wxwin.m4-2.9,v 1.1 2010/02/16 01:21:29 dirtyepic Exp $ dnl --------------------------------------------------------------------------- dnl =========================================================================== dnl Table of Contents of this macro file: dnl ------------------------------------- dnl dnl SECTION A: wxWidgets main macros dnl - WX_CONFIG_OPTIONS dnl - WX_CONFIG_CHECK dnl - WXRC_CHECK dnl - WX_STANDARD_OPTIONS dnl - WX_CONVERT_STANDARD_OPTIONS_TO_WXCONFIG_FLAGS dnl - WX_DETECT_STANDARD_OPTION_VALUES dnl dnl SECTION B: wxWidgets-related utilities dnl - WX_LIKE_LIBNAME dnl - WX_ARG_ENABLE_YESNOAUTO dnl - WX_ARG_WITH_YESNOAUTO dnl dnl SECTION C: messages to the user dnl - WX_STANDARD_OPTIONS_SUMMARY_MSG dnl - WX_STANDARD_OPTIONS_SUMMARY_MSG_BEGIN dnl - WX_STANDARD_OPTIONS_SUMMARY_MSG_END dnl - WX_BOOLOPT_SUMMARY dnl dnl The special "WX_DEBUG_CONFIGURE" variable can be set to 1 to enable extra dnl debug output on stdout from these macros. dnl =========================================================================== dnl --------------------------------------------------------------------------- dnl Macros for wxWidgets detection. Typically used in configure.in as: dnl dnl AC_ARG_ENABLE(...) dnl AC_ARG_WITH(...) dnl ... dnl WX_CONFIG_OPTIONS dnl ... dnl ... dnl WX_CONFIG_CHECK([2.6.0], [wxWin=1]) dnl if test "$wxWin" != 1; then dnl AC_MSG_ERROR([ dnl wxWidgets must be installed on your system dnl but wx-config script couldn't be found. dnl dnl Please check that wx-config is in path, the directory dnl where wxWidgets libraries are installed (returned by dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or dnl equivalent variable and wxWidgets version is 2.3.4 or above. dnl ]) dnl fi dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" dnl dnl LIBS="$LIBS $WX_LIBS" dnl dnl If you want to support standard --enable-debug/unicode/shared options, you dnl may do the following: dnl dnl ... dnl AC_CANONICAL_SYSTEM dnl dnl # define configure options dnl WX_CONFIG_OPTIONS dnl WX_STANDARD_OPTIONS([debug,unicode,shared,toolkit,wxshared]) dnl dnl # basic configure checks dnl ... dnl dnl # we want to always have DEBUG==WX_DEBUG and UNICODE==WX_UNICODE dnl WX_DEBUG=$DEBUG dnl WX_UNICODE=$UNICODE dnl dnl WX_CONVERT_STANDARD_OPTIONS_TO_WXCONFIG_FLAGS dnl WX_CONFIG_CHECK([2.8.0], [wxWin=1],,[html,core,net,base],[$WXCONFIG_FLAGS]) dnl WX_DETECT_STANDARD_OPTION_VALUES dnl dnl # write the output files dnl AC_CONFIG_FILES([Makefile ...]) dnl AC_OUTPUT dnl dnl # optional: just to show a message to the user dnl WX_STANDARD_OPTIONS_SUMMARY_MSG dnl dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- dnl WX_CONFIG_OPTIONS dnl dnl adds support for --wx-prefix, --wx-exec-prefix, --with-wxdir and dnl --wx-config command line options dnl --------------------------------------------------------------------------- AC_DEFUN([WX_CONFIG_OPTIONS], [ AC_ARG_WITH(wxdir, [ --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH], [ wx_config_name="$withval/wx-config" wx_config_args="--inplace"]) AC_ARG_WITH(wx-config, [ --with-wx-config=CONFIG wx-config script to use (optional)], wx_config_name="$withval" ) AC_ARG_WITH(wx-prefix, [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)], wx_config_prefix="$withval", wx_config_prefix="") AC_ARG_WITH(wx-exec-prefix, [ --with-wx-exec-prefix=PREFIX Exec prefix where wxWidgets is installed (optional)], wx_config_exec_prefix="$withval", wx_config_exec_prefix="") ]) dnl Helper macro for checking if wx version is at least $1.$2.$3, set's dnl wx_ver_ok=yes if it is: AC_DEFUN([_WX_PRIVATE_CHECK_VERSION], [ wx_ver_ok="" if test "x$WX_VERSION" != x ; then if test $wx_config_major_version -gt $1; then wx_ver_ok=yes else if test $wx_config_major_version -eq $1; then if test $wx_config_minor_version -gt $2; then wx_ver_ok=yes else if test $wx_config_minor_version -eq $2; then if test $wx_config_micro_version -ge $3; then wx_ver_ok=yes fi fi fi fi fi fi ]) dnl --------------------------------------------------------------------------- dnl WX_CONFIG_CHECK(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND dnl [, WX-LIBS [, ADDITIONAL-WX-CONFIG-FLAGS]]]]) dnl dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME dnl environment variable to override the default name of the wx-config script dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this dnl case the macro won't even waste time on tests for its existence. dnl dnl Optional WX-LIBS argument contains comma- or space-separated list of dnl wxWidgets libraries to link against. If it is not specified then WX_LIBS dnl and WX_LIBS_STATIC will contain flags to link with all of the core dnl wxWidgets libraries. dnl dnl Optional ADDITIONAL-WX-CONFIG-FLAGS argument is appended to wx-config dnl invocation command in present. It can be used to fine-tune lookup of dnl best wxWidgets build available. dnl dnl Example use: dnl WX_CONFIG_CHECK([2.6.0], [wxWin=1], [wxWin=0], [html,core,net] dnl [--unicode --debug]) dnl --------------------------------------------------------------------------- dnl dnl Get the cflags and libraries from the wx-config script dnl AC_DEFUN([WX_CONFIG_CHECK], [ dnl do we have wx-config name: it can be wx-config or wxd-config or ... if test x${WX_CONFIG_NAME+set} != xset ; then WX_CONFIG_NAME=wx-config fi if test "x$wx_config_name" != x ; then WX_CONFIG_NAME="$wx_config_name" fi dnl deal with optional prefixes if test x$wx_config_exec_prefix != x ; then wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" fi if test x$wx_config_prefix != x ; then wx_config_args="$wx_config_args --prefix=$wx_config_prefix" WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" fi if test "$cross_compiling" = "yes"; then wx_config_args="$wx_config_args --host=$host_alias" fi dnl don't search the PATH if WX_CONFIG_NAME is absolute filename if test -x "$WX_CONFIG_NAME" ; then AC_MSG_CHECKING(for wx-config) WX_CONFIG_PATH="$WX_CONFIG_NAME" AC_MSG_RESULT($WX_CONFIG_PATH) else AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH") fi if test "$WX_CONFIG_PATH" != "no" ; then WX_VERSION="" min_wx_version=ifelse([$1], ,2.2.1,$1) if test -z "$5" ; then AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version]) else AC_MSG_CHECKING([for wxWidgets version >= $min_wx_version ($5)]) fi dnl don't add the libraries ($4) to this variable as this would result in dnl an error when it's used with --version below WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args $5" WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null` wx_config_major_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` wx_config_minor_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` wx_config_micro_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` wx_requested_major_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` wx_requested_minor_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` wx_requested_micro_version=`echo $min_wx_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` _WX_PRIVATE_CHECK_VERSION([$wx_requested_major_version], [$wx_requested_minor_version], [$wx_requested_micro_version]) if test -n "$wx_ver_ok"; then AC_MSG_RESULT(yes (version $WX_VERSION)) WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs $4` dnl is this even still appropriate? --static is a real option now dnl and WX_CONFIG_WITH_ARGS is likely to contain it if that is dnl what the user actually wants, making this redundant at best. dnl For now keep it in case anyone actually used it in the past. AC_MSG_CHECKING([for wxWidgets static library]) WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs $4 2>/dev/null` if test "x$WX_LIBS_STATIC" = "x"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) fi dnl starting with version 2.2.6 wx-config has --cppflags argument wx_has_cppflags="" if test $wx_config_major_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_major_version -eq 2; then if test $wx_config_minor_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_minor_version -eq 2; then if test $wx_config_micro_version -ge 6; then wx_has_cppflags=yes fi fi fi fi fi dnl starting with version 2.7.0 wx-config has --rescomp option wx_has_rescomp="" if test $wx_config_major_version -gt 2; then wx_has_rescomp=yes else if test $wx_config_major_version -eq 2; then if test $wx_config_minor_version -ge 7; then wx_has_rescomp=yes fi fi fi if test "x$wx_has_rescomp" = x ; then dnl cannot give any useful info for resource compiler WX_RESCOMP= else WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp` fi if test "x$wx_has_cppflags" = x ; then dnl no choice but to define all flags like CFLAGS WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $4` WX_CPPFLAGS=$WX_CFLAGS WX_CXXFLAGS=$WX_CFLAGS WX_CFLAGS_ONLY=$WX_CFLAGS WX_CXXFLAGS_ONLY=$WX_CFLAGS else dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags $4` WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags $4` WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags $4` WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` fi ifelse([$2], , :, [$2]) else if test "x$WX_VERSION" = x; then dnl no wx-config at all AC_MSG_RESULT(no) else AC_MSG_RESULT(no (version $WX_VERSION is not new enough)) fi WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" WX_RESCOMP="" if test ! -z "$5"; then wx_error_message=" The configuration you asked for $PACKAGE_NAME requires a wxWidgets build with the following settings: $5 but such build is not available. To see the wxWidgets builds available on this system, please use 'wx-config --list' command. To use the default build, returned by 'wx-config --selected-config', use the options with their 'auto' default values." fi wx_error_message=" The requested wxWidgets build couldn't be found. $wx_error_message If you still get this error, then check that 'wx-config' is in path, the directory where wxWidgets libraries are installed (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets version is $1 or above." ifelse([$3], , AC_MSG_ERROR([$wx_error_message]), [$3]) fi else WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" WX_RESCOMP="" ifelse([$3], , :, [$3]) fi AC_SUBST(WX_CPPFLAGS) AC_SUBST(WX_CFLAGS) AC_SUBST(WX_CXXFLAGS) AC_SUBST(WX_CFLAGS_ONLY) AC_SUBST(WX_CXXFLAGS_ONLY) AC_SUBST(WX_LIBS) AC_SUBST(WX_LIBS_STATIC) AC_SUBST(WX_VERSION) AC_SUBST(WX_RESCOMP) dnl need to export also WX_VERSION_MINOR and WX_VERSION_MAJOR symbols dnl to support wxpresets bakefiles (we export also WX_VERSION_MICRO for completeness): WX_VERSION_MAJOR="$wx_config_major_version" WX_VERSION_MINOR="$wx_config_minor_version" WX_VERSION_MICRO="$wx_config_micro_version" AC_SUBST(WX_VERSION_MAJOR) AC_SUBST(WX_VERSION_MINOR) AC_SUBST(WX_VERSION_MICRO) ]) dnl --------------------------------------------------------------------------- dnl Get information on the wxrc program for making C++, Python and xrs dnl resource files. dnl dnl AC_ARG_ENABLE(...) dnl AC_ARG_WITH(...) dnl ... dnl WX_CONFIG_OPTIONS dnl ... dnl WX_CONFIG_CHECK(2.6.0, wxWin=1) dnl if test "$wxWin" != 1; then dnl AC_MSG_ERROR([ dnl wxWidgets must be installed on your system dnl but wx-config script couldn't be found. dnl dnl Please check that wx-config is in path, the directory dnl where wxWidgets libraries are installed (returned by dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or dnl equivalent variable and wxWidgets version is 2.6.0 or above. dnl ]) dnl fi dnl dnl WXRC_CHECK([HAVE_WXRC=1], [HAVE_WXRC=0]) dnl if test "x$HAVE_WXRC" != x1; then dnl AC_MSG_ERROR([ dnl The wxrc program was not installed or not found. dnl dnl Please check the wxWidgets installation. dnl ]) dnl fi dnl dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" dnl dnl LDFLAGS="$LDFLAGS $WX_LIBS" dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- dnl WXRC_CHECK([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl dnl Test for wxWidgets' wxrc program for creating either C++, Python or XRS dnl resources. The variable WXRC will be set and substituted in the configure dnl script and Makefiles. dnl dnl Example use: dnl WXRC_CHECK([wxrc=1], [wxrc=0]) dnl --------------------------------------------------------------------------- dnl dnl wxrc program from the wx-config script dnl AC_DEFUN([WXRC_CHECK], [ AC_ARG_VAR([WXRC], [Path to wxWidget's wxrc resource compiler]) if test "x$WX_CONFIG_NAME" = x; then AC_MSG_ERROR([The wxrc tests must run after wxWidgets test.]) else AC_MSG_CHECKING([for wxrc]) if test "x$WXRC" = x ; then dnl wx-config --utility is a new addition to wxWidgets: _WX_PRIVATE_CHECK_VERSION(2,5,3) if test -n "$wx_ver_ok"; then WXRC=`$WX_CONFIG_WITH_ARGS --utility=wxrc` fi fi if test "x$WXRC" = x ; then AC_MSG_RESULT([not found]) ifelse([$2], , :, [$2]) else AC_MSG_RESULT([$WXRC]) ifelse([$1], , :, [$1]) fi AC_SUBST(WXRC) fi ]) dnl --------------------------------------------------------------------------- dnl WX_LIKE_LIBNAME([output-var] [prefix], [name]) dnl dnl Sets the "output-var" variable to the name of a library named with same dnl wxWidgets rule. dnl E.g. for output-var=='lib', name=='test', prefix='mine', sets dnl the $lib variable to: dnl 'mine_gtk2ud_test-2.8' dnl if WX_PORT=gtk2, WX_UNICODE=1, WX_DEBUG=1 and WX_RELEASE=28 dnl --------------------------------------------------------------------------- AC_DEFUN([WX_LIKE_LIBNAME], [ wx_temp="$2""_""$WX_PORT" dnl add the [u][d] string if test "$WX_UNICODE" = "1"; then wx_temp="$wx_temp""u" fi if test "$WX_DEBUG" = "1"; then wx_temp="$wx_temp""d" fi dnl complete the name of the lib wx_temp="$wx_temp""_""$3""-$WX_VERSION_MAJOR.$WX_VERSION_MINOR" dnl save it in the user's variable $1=$wx_temp ]) dnl --------------------------------------------------------------------------- dnl WX_ARG_ENABLE_YESNOAUTO/WX_ARG_WITH_YESNOAUTO dnl dnl Two little custom macros which define the ENABLE/WITH configure arguments. dnl Macro arguments: dnl $1 = the name of the --enable / --with feature dnl $2 = the name of the variable associated dnl $3 = the description of that feature dnl $4 = the default value for that feature dnl $5 = additional action to do in case option is given with "yes" value dnl --------------------------------------------------------------------------- AC_DEFUN([WX_ARG_ENABLE_YESNOAUTO], [AC_ARG_ENABLE($1, AC_HELP_STRING([--enable-$1], [$3 (default is $4)]), [], [enableval="$4"]) dnl Show a message to the user about this option AC_MSG_CHECKING([for the --enable-$1 option]) if test "$enableval" = "yes" ; then AC_MSG_RESULT([yes]) $2=1 $5 elif test "$enableval" = "no" ; then AC_MSG_RESULT([no]) $2=0 elif test "$enableval" = "auto" ; then AC_MSG_RESULT([will be automatically detected]) $2="auto" else AC_MSG_ERROR([ Unrecognized option value (allowed values: yes, no, auto) ]) fi ]) AC_DEFUN([WX_ARG_WITH_YESNOAUTO], [AC_ARG_WITH($1, AC_HELP_STRING([--with-$1], [$3 (default is $4)]), [], [withval="$4"]) dnl Show a message to the user about this option AC_MSG_CHECKING([for the --with-$1 option]) if test "$withval" = "yes" ; then AC_MSG_RESULT([yes]) $2=1 $5 dnl NB: by default we don't allow --with-$1=no option dnl since it does not make much sense ! elif test "$6" = "1" -a "$withval" = "no" ; then AC_MSG_RESULT([no]) $2=0 elif test "$withval" = "auto" ; then AC_MSG_RESULT([will be automatically detected]) $2="auto" else AC_MSG_ERROR([ Unrecognized option value (allowed values: yes, auto) ]) fi ]) dnl --------------------------------------------------------------------------- dnl WX_STANDARD_OPTIONS([options-to-add]) dnl dnl Adds to the configure script one or more of the following options: dnl --enable-[debug|unicode|shared|wxshared|wxdebug] dnl --with-[gtk|msw|motif|x11|mac|mgl|dfb] dnl --with-wxversion dnl Then checks for their presence and eventually set the DEBUG, UNICODE, SHARED, dnl PORT, WX_SHARED, WX_DEBUG, variables to one of the "yes", "no", "auto" values. dnl dnl Note that e.g. UNICODE != WX_UNICODE; the first is the value of the dnl --enable-unicode option (in boolean format) while the second indicates dnl if wxWidgets was built in Unicode mode (and still is in boolean format). dnl --------------------------------------------------------------------------- AC_DEFUN([WX_STANDARD_OPTIONS], [ dnl the following lines will expand to WX_ARG_ENABLE_YESNOAUTO calls if and only if dnl the $1 argument contains respectively the debug,unicode or shared options. dnl be careful here not to set debug flag if only "wxdebug" was specified ifelse(regexp([$1], [\bdebug]), [-1],, [WX_ARG_ENABLE_YESNOAUTO([debug], [DEBUG], [Build in debug mode], [auto])]) ifelse(index([$1], [unicode]), [-1],, [WX_ARG_ENABLE_YESNOAUTO([unicode], [UNICODE], [Build in Unicode mode], [auto])]) ifelse(regexp([$1], [\bshared]), [-1],, [WX_ARG_ENABLE_YESNOAUTO([shared], [SHARED], [Build as shared library], [auto])]) dnl WX_ARG_WITH_YESNOAUTO cannot be used for --with-toolkit since it's an option dnl which must be able to accept the auto|gtk1|gtk2|msw|... values ifelse(index([$1], [toolkit]), [-1],, [ AC_ARG_WITH([toolkit], AC_HELP_STRING([--with-toolkit], [Build against a specific wxWidgets toolkit (default is auto)]), [], [withval="auto"]) dnl Show a message to the user about this option AC_MSG_CHECKING([for the --with-toolkit option]) if test "$withval" = "auto" ; then AC_MSG_RESULT([will be automatically detected]) TOOLKIT="auto" else TOOLKIT="$withval" dnl PORT must be one of the allowed values if test "$TOOLKIT" != "gtk1" -a "$TOOLKIT" != "gtk2" -a \ "$TOOLKIT" != "msw" -a "$TOOLKIT" != "motif" -a \ "$TOOLKIT" != "x11" -a "$TOOLKIT" != "mac" -a \ "$TOOLKIT" != "mgl" -a "$TOOLKIT" != "dfb" ; then AC_MSG_ERROR([ Unrecognized option value (allowed values: auto, gtk1, gtk2, msw, motif, x11, mac, mgl, dfb) ]) fi AC_MSG_RESULT([$TOOLKIT]) fi ]) dnl ****** IMPORTANT ******* dnl Unlike for the UNICODE setting, you can build your program in dnl shared mode against a static build of wxWidgets. Thus we have the dnl following option which allows these mixtures. E.g. dnl dnl ./configure --disable-shared --with-wxshared dnl dnl will build your library in static mode against the first available dnl shared build of wxWidgets. dnl dnl Note that's not possible to do the viceversa: dnl dnl ./configure --enable-shared --without-wxshared dnl dnl Doing so you would try to build your library in shared mode against a static dnl build of wxWidgets. This is not possible (you would mix PIC and non PIC code) ! dnl A check for this combination of options is in WX_DETECT_STANDARD_OPTION_VALUES dnl (where we know what 'auto' should be expanded to). dnl dnl If you try to build something in ANSI mode against a UNICODE build dnl of wxWidgets or in RELEASE mode against a DEBUG build of wxWidgets, dnl then at best you'll get ton of linking errors ! dnl ************************ ifelse(index([$1], [wxshared]), [-1],, [ WX_ARG_WITH_YESNOAUTO( [wxshared], [WX_SHARED], [Force building against a shared build of wxWidgets, even if --disable-shared is given], [auto], [], [1]) ]) dnl Just like for SHARED and WX_SHARED it may happen that some adventurous dnl peoples will want to mix a wxWidgets release build with a debug build of dnl his app/lib. So, we have both DEBUG and WX_DEBUG variables. ifelse(index([$1], [wxdebug]), [-1],, [ WX_ARG_WITH_YESNOAUTO( [wxdebug], [WX_DEBUG], [Force building against a debug build of wxWidgets, even if --disable-debug is given], [auto], [], [1]) ]) dnl WX_ARG_WITH_YESNOAUTO cannot be used for --with-wxversion since it's an option dnl which accepts the "auto|2.6|2.7|2.8|2.9|3.0" etc etc values ifelse(index([$1], [wxversion]), [-1],, [ AC_ARG_WITH([wxversion], AC_HELP_STRING([--with-wxversion], [Build against a specific version of wxWidgets (default is auto)]), [], [withval="auto"]) dnl Show a message to the user about this option AC_MSG_CHECKING([for the --with-wxversion option]) if test "$withval" = "auto" ; then AC_MSG_RESULT([will be automatically detected]) WX_RELEASE="auto" else wx_requested_major_version=`echo $withval | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).*/\1/'` wx_requested_minor_version=`echo $withval | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).*/\2/'` dnl both vars above must be exactly 1 digit if test "${#wx_requested_major_version}" != "1" -o \ "${#wx_requested_minor_version}" != "1" ; then AC_MSG_ERROR([ Unrecognized option value (allowed values: auto, 2.6, 2.7, 2.8, 2.9, 3.0) ]) fi WX_RELEASE="$wx_requested_major_version"".""$wx_requested_minor_version" AC_MSG_RESULT([$WX_RELEASE]) fi ]) if test "$WX_DEBUG_CONFIGURE" = "1"; then echo "[[dbg]] DEBUG: $DEBUG, WX_DEBUG: $WX_DEBUG" echo "[[dbg]] UNICODE: $UNICODE, WX_UNICODE: $WX_UNICODE" echo "[[dbg]] SHARED: $SHARED, WX_SHARED: $WX_SHARED" echo "[[dbg]] TOOLKIT: $TOOLKIT, WX_TOOLKIT: $WX_TOOLKIT" echo "[[dbg]] VERSION: $VERSION, WX_RELEASE: $WX_RELEASE" fi ]) dnl --------------------------------------------------------------------------- dnl WX_CONVERT_STANDARD_OPTIONS_TO_WXCONFIG_FLAGS dnl dnl Sets the WXCONFIG_FLAGS string using the SHARED,DEBUG,UNICODE variable values dnl which are different from "auto". dnl Thus this macro needs to be called only once all options have been set. dnl --------------------------------------------------------------------------- AC_DEFUN([WX_CONVERT_STANDARD_OPTIONS_TO_WXCONFIG_FLAGS], [ if test "$WX_SHARED" = "1" ; then WXCONFIG_FLAGS="--static=no " elif test "$WX_SHARED" = "0" ; then WXCONFIG_FLAGS="--static=yes " fi if test "$WX_DEBUG" = "1" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--debug=yes " elif test "$WX_DEBUG" = "0" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--debug=no " fi dnl The user should have set WX_UNICODE=UNICODE if test "$WX_UNICODE" = "1" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--unicode=yes " elif test "$WX_UNICODE" = "0" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--unicode=no " fi if test "$TOOLKIT" != "auto" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--toolkit=$TOOLKIT " fi if test "$WX_RELEASE" != "auto" ; then WXCONFIG_FLAGS="$WXCONFIG_FLAGS""--version=$WX_RELEASE " fi dnl strip out the last space of the string WXCONFIG_FLAGS=${WXCONFIG_FLAGS% } if test "$WX_DEBUG_CONFIGURE" = "1"; then echo "[[dbg]] WXCONFIG_FLAGS: $WXCONFIG_FLAGS" fi ]) dnl --------------------------------------------------------------------------- dnl _WX_SELECTEDCONFIG_CHECKFOR([RESULTVAR], [STRING], [MSG] dnl [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl dnl Outputs the given MSG. Then searches the given STRING in the wxWidgets dnl additional CPP flags and put the result of the search in WX_$RESULTVAR dnl also adding the "yes" or "no" message result to MSG. dnl --------------------------------------------------------------------------- AC_DEFUN([_WX_SELECTEDCONFIG_CHECKFOR], [ if test "$$1" = "auto" ; then dnl The user does not have particular preferences for this option; dnl so we will detect the wxWidgets relative build setting and use it AC_MSG_CHECKING([$3]) dnl set WX_$1 variable to 1 if the $WX_SELECTEDCONFIG contains the $2 dnl string or to 0 otherwise. dnl NOTE: 'expr match STRING REGEXP' cannot be used since on Mac it dnl doesn't work; we use 'expr STRING : REGEXP' instead WX_$1=$(expr "$WX_SELECTEDCONFIG" : ".*$2.*") if test "$WX_$1" != "0"; then WX_$1=1 AC_MSG_RESULT([yes]) ifelse([$4], , :, [$4]) else WX_$1=0 AC_MSG_RESULT([no]) ifelse([$5], , :, [$5]) fi else dnl Use the setting given by the user WX_$1=$$1 fi ]) dnl --------------------------------------------------------------------------- dnl WX_DETECT_STANDARD_OPTION_VALUES dnl dnl Detects the values of the following variables: dnl 1) WX_RELEASE dnl 2) WX_UNICODE dnl 3) WX_DEBUG dnl 4) WX_SHARED (and also WX_STATIC) dnl 5) WX_PORT dnl from the previously selected wxWidgets build; this macro in fact must be dnl called *after* calling the WX_CONFIG_CHECK macro. dnl dnl Note that the WX_VERSION_MAJOR, WX_VERSION_MINOR symbols are already set dnl by WX_CONFIG_CHECK macro dnl --------------------------------------------------------------------------- AC_DEFUN([WX_DETECT_STANDARD_OPTION_VALUES], [ dnl IMPORTANT: WX_VERSION contains all three major.minor.micro digits, dnl while WX_RELEASE only the major.minor ones. WX_RELEASE="$WX_VERSION_MAJOR""$WX_VERSION_MINOR" if test $WX_RELEASE -lt 26 ; then AC_MSG_ERROR([ Cannot detect the wxWidgets configuration for the selected wxWidgets build since its version is $WX_VERSION < 2.6.0; please install a newer version of wxWidgets. ]) fi dnl The wx-config we are using understands the "--selected_config" dnl option which returns an easy-parseable string ! WX_SELECTEDCONFIG=$($WX_CONFIG_WITH_ARGS --selected_config) if test "$WX_DEBUG_CONFIGURE" = "1"; then echo "[[dbg]] Using wx-config --selected-config" echo "[[dbg]] WX_SELECTEDCONFIG: $WX_SELECTEDCONFIG" fi dnl we could test directly for WX_SHARED with a line like: dnl _WX_SELECTEDCONFIG_CHECKFOR([SHARED], [shared], dnl [if wxWidgets was built in SHARED mode]) dnl but wx-config --selected-config DOES NOT outputs the 'shared' dnl word when wx was built in shared mode; it rather outputs the dnl 'static' word when built in static mode. if test $WX_SHARED = "1"; then STATIC=0 elif test $WX_SHARED = "0"; then STATIC=1 elif test $WX_SHARED = "auto"; then STATIC="auto" fi dnl Now set the WX_UNICODE, WX_DEBUG, WX_STATIC variables _WX_SELECTEDCONFIG_CHECKFOR([UNICODE], [unicode], [if wxWidgets was built with UNICODE enabled]) _WX_SELECTEDCONFIG_CHECKFOR([DEBUG], [debug], [if wxWidgets was built in DEBUG mode]) _WX_SELECTEDCONFIG_CHECKFOR([STATIC], [static], [if wxWidgets was built in STATIC mode]) dnl init WX_SHARED from WX_STATIC if test "$WX_STATIC" != "0"; then WX_SHARED=0 else WX_SHARED=1 fi AC_SUBST(WX_UNICODE) AC_SUBST(WX_DEBUG) AC_SUBST(WX_SHARED) dnl detect the WX_PORT to use if test "$TOOLKIT" = "auto" ; then dnl The user does not have particular preferences for this option; dnl so we will detect the wxWidgets relative build setting and use it AC_MSG_CHECKING([which wxWidgets toolkit was selected]) WX_GTKPORT1=$(expr "$WX_SELECTEDCONFIG" : ".*gtk1.*") WX_GTKPORT2=$(expr "$WX_SELECTEDCONFIG" : ".*gtk2.*") WX_MSWPORT=$(expr "$WX_SELECTEDCONFIG" : ".*msw.*") WX_MOTIFPORT=$(expr "$WX_SELECTEDCONFIG" : ".*motif.*") WX_OSXCOCOAPORT=$(expr "$WX_SELECTEDCONFIG" : ".*osx_cocoa.*") WX_OSXCARBONPORT=$(expr "$WX_SELECTEDCONFIG" : ".*osx_carbon.*") WX_X11PORT=$(expr "$WX_SELECTEDCONFIG" : ".*x11.*") WX_MGLPORT=$(expr "$WX_SELECTEDCONFIG" : ".*mgl.*") WX_DFBPORT=$(expr "$WX_SELECTEDCONFIG" : ".*dfb.*") WX_PORT="unknown" if test "$WX_GTKPORT1" != "0"; then WX_PORT="gtk1"; fi if test "$WX_GTKPORT2" != "0"; then WX_PORT="gtk2"; fi if test "$WX_MSWPORT" != "0"; then WX_PORT="msw"; fi if test "$WX_MOTIFPORT" != "0"; then WX_PORT="motif"; fi if test "$WX_OSXCOCOAPORT" != "0"; then WX_PORT="osx_cocoa"; fi if test "$WX_OSXCARBONPORT" != "0"; then WX_PORT="osx_carbon"; fi if test "$WX_X11PORT" != "0"; then WX_PORT="x11"; fi if test "$WX_MGLPORT" != "0"; then WX_PORT="mgl"; fi if test "$WX_DFBPORT" != "0"; then WX_PORT="dfb"; fi dnl NOTE: backward-compatible check for wx2.8; in wx2.9 the mac dnl ports are called 'osx_cocoa' and 'osx_carbon' (see above) WX_MACPORT=$(expr "$WX_SELECTEDCONFIG" : ".*mac.*") if test "$WX_MACPORT" != "0"; then WX_PORT="mac"; fi dnl check at least one of the WX_*PORT has been set ! if test "$WX_PORT" = "unknown" ; then AC_MSG_ERROR([ Cannot detect the currently installed wxWidgets port ! Please check your 'wx-config --cxxflags'... ]) fi AC_MSG_RESULT([$WX_PORT]) else dnl Use the setting given by the user if test -z "$TOOLKIT" ; then WX_PORT=$TOOLKIT else dnl try with PORT WX_PORT=$PORT fi fi AC_SUBST(WX_PORT) if test "$WX_DEBUG_CONFIGURE" = "1"; then echo "[[dbg]] Values of all WX_* options after final detection:" echo "[[dbg]] WX_DEBUG: $WX_DEBUG" echo "[[dbg]] WX_UNICODE: $WX_UNICODE" echo "[[dbg]] WX_SHARED: $WX_SHARED" echo "[[dbg]] WX_RELEASE: $WX_RELEASE" echo "[[dbg]] WX_PORT: $WX_PORT" fi dnl Avoid problem described in the WX_STANDARD_OPTIONS which happens when dnl the user gives the options: dnl ./configure --enable-shared --without-wxshared dnl or just do dnl ./configure --enable-shared dnl but there is only a static build of wxWidgets available. if test "$WX_SHARED" = "0" -a "$SHARED" = "1"; then AC_MSG_ERROR([ Cannot build shared library against a static build of wxWidgets ! This error happens because the wxWidgets build which was selected has been detected as static while you asked to build $PACKAGE_NAME as shared library and this is not possible. Use the '--disable-shared' option to build $PACKAGE_NAME as static library or '--with-wxshared' to use wxWidgets as shared library. ]) fi dnl now we can finally update the DEBUG,UNICODE,SHARED options dnl to their final values if they were set to 'auto' if test "$DEBUG" = "auto"; then DEBUG=$WX_DEBUG fi if test "$UNICODE" = "auto"; then UNICODE=$WX_UNICODE fi if test "$SHARED" = "auto"; then SHARED=$WX_SHARED fi if test "$TOOLKIT" = "auto"; then TOOLKIT=$WX_PORT fi dnl in case the user needs a BUILD=debug/release var... if test "$DEBUG" = "1"; then BUILD="debug" elif test "$DEBUG" = "0" -o "$DEBUG" = ""; then BUILD="release" fi dnl respect the DEBUG variable adding the optimize/debug flags dnl NOTE: the CXXFLAGS are merged together with the CPPFLAGS so we dnl don't need to set them, too if test "$DEBUG" = "1"; then CXXFLAGS="$CXXFLAGS -g -O0" CFLAGS="$CFLAGS -g -O0" else CXXFLAGS="$CXXFLAGS -O2" CFLAGS="$CFLAGS -O2" fi ]) dnl --------------------------------------------------------------------------- dnl WX_BOOLOPT_SUMMARY([name of the boolean variable to show summary for], dnl [what to print when var is 1], dnl [what to print when var is 0]) dnl dnl Prints $2 when variable $1 == 1 and prints $3 when variable $1 == 0. dnl This macro mainly exists just to make configure.ac scripts more readable. dnl dnl NOTE: you need to use the [" my message"] syntax for 2nd and 3rd arguments dnl if you want that m4 avoid to throw away the spaces prefixed to the dnl argument value. dnl --------------------------------------------------------------------------- AC_DEFUN([WX_BOOLOPT_SUMMARY], [ if test "x$$1" = "x1" ; then echo $2 elif test "x$$1" = "x0" ; then echo $3 else echo "$1 is $$1" fi ]) dnl --------------------------------------------------------------------------- dnl WX_STANDARD_OPTIONS_SUMMARY_MSG dnl dnl Shows a summary message to the user about the WX_* variable contents. dnl This macro is used typically at the end of the configure script. dnl --------------------------------------------------------------------------- AC_DEFUN([WX_STANDARD_OPTIONS_SUMMARY_MSG], [ echo echo " The wxWidgets build which will be used by $PACKAGE_NAME $PACKAGE_VERSION" echo " has the following settings:" WX_BOOLOPT_SUMMARY([WX_DEBUG], [" - DEBUG build"], [" - RELEASE build"]) WX_BOOLOPT_SUMMARY([WX_UNICODE], [" - UNICODE mode"], [" - ANSI mode"]) WX_BOOLOPT_SUMMARY([WX_SHARED], [" - SHARED mode"], [" - STATIC mode"]) echo " - VERSION: $WX_VERSION" echo " - PORT: $WX_PORT" ]) dnl --------------------------------------------------------------------------- dnl WX_STANDARD_OPTIONS_SUMMARY_MSG_BEGIN, WX_STANDARD_OPTIONS_SUMMARY_MSG_END dnl dnl Like WX_STANDARD_OPTIONS_SUMMARY_MSG macro but these two macros also gives info dnl about the configuration of the package which used the wxpresets. dnl dnl Typical usage: dnl WX_STANDARD_OPTIONS_SUMMARY_MSG_BEGIN dnl echo " - Package setting 1: $SETTING1" dnl echo " - Package setting 2: $SETTING1" dnl ... dnl WX_STANDARD_OPTIONS_SUMMARY_MSG_END dnl dnl --------------------------------------------------------------------------- AC_DEFUN([WX_STANDARD_OPTIONS_SUMMARY_MSG_BEGIN], [ echo echo " ----------------------------------------------------------------" echo " Configuration for $PACKAGE_NAME $PACKAGE_VERSION successfully completed." echo " Summary of main configuration settings for $PACKAGE_NAME:" WX_BOOLOPT_SUMMARY([DEBUG], [" - DEBUG build"], [" - RELEASE build"]) WX_BOOLOPT_SUMMARY([UNICODE], [" - UNICODE mode"], [" - ANSI mode"]) WX_BOOLOPT_SUMMARY([SHARED], [" - SHARED mode"], [" - STATIC mode"]) ]) AC_DEFUN([WX_STANDARD_OPTIONS_SUMMARY_MSG_END], [ WX_STANDARD_OPTIONS_SUMMARY_MSG echo echo " Now, just run make." echo " ----------------------------------------------------------------" echo ]) dnl --------------------------------------------------------------------------- dnl Deprecated macro wrappers dnl --------------------------------------------------------------------------- AC_DEFUN([AM_OPTIONS_WXCONFIG], [WX_CONFIG_OPTIONS]) AC_DEFUN([AM_PATH_WXCONFIG], [ WX_CONFIG_CHECK([$1],[$2],[$3],[$4],[$5]) ]) # Copyright (C) 2002-2012 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.12' 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.12.6], [], [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.12.6])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-2012 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], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2012 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-2012 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-2012 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], [{ # Autoconf 2.62 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-2012 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. # 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.62])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. For more info, see: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation]) 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. 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 dnl Support for Objective C++ was only introduced in Autoconf 2.65, dnl but we still cater to Autoconf 2.62. m4_ifdef([AC_PROG_OBJCXX], [AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl 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 ]) 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-2012 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}" != 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-2012 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-2012 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-2012 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 supports --run. # If it does, 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 --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2012 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])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2012 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) 2001-2012 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-2012 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-2012 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}']) m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of '-'. 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/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) xchm-1.23/art/0000755000175000001440000000000012210054272010154 500000000000000xchm-1.23/art/Makefile.am0000644000175000001440000000051412210054152012125 00000000000000PIXMAPS = xchm-16.xpm xchm-32.xpm xchm-48.xpm xchm-128.xpm xchmdoc-16.xpm \ xchmdoc-32.xpm xchmdoc-48.xpm xchmdoc-128.xpm \ xchm-16.png xchm-32.png xchm-48.png xchm-128.png xchmdoc-16.png \ xchmdoc-32.png xchmdoc-48.png xchmdoc-128.png EXTRA_DIST = *.xpm *.png distpixmapdir = $(datadir)/pixmaps distpixmap_DATA = $(PIXMAPS) xchm-1.23/art/Makefile.in0000644000175000001440000003167212210054242012147 00000000000000# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 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__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } 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 = art DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = 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)$(distpixmapdir)" DATA = $(distpixmap_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LINKOPT = @LINKOPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WX_CFLAGS = @WX_CFLAGS@ WX_CFLAGS_ONLY = @WX_CFLAGS_ONLY@ WX_CONFIG_PATH = @WX_CONFIG_PATH@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_CXXFLAGS_ONLY = @WX_CXXFLAGS_ONLY@ WX_LIBS = @WX_LIBS@ WX_LIBS_STATIC = @WX_LIBS_STATIC@ WX_RESCOMP = @WX_RESCOMP@ WX_VERSION = @WX_VERSION@ WX_VERSION_MAJOR = @WX_VERSION_MAJOR@ WX_VERSION_MICRO = @WX_VERSION_MICRO@ WX_VERSION_MINOR = @WX_VERSION_MINOR@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ 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@ 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@ 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@ PIXMAPS = xchm-16.xpm xchm-32.xpm xchm-48.xpm xchm-128.xpm xchmdoc-16.xpm \ xchmdoc-32.xpm xchmdoc-48.xpm xchmdoc-128.xpm \ xchm-16.png xchm-32.png xchm-48.png xchm-128.png xchmdoc-16.png \ xchmdoc-32.png xchmdoc-48.png xchmdoc-128.png EXTRA_DIST = *.xpm *.png distpixmapdir = $(datadir)/pixmaps distpixmap_DATA = $(PIXMAPS) 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) --gnu art/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu art/Makefile .PRECIOUS: 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-distpixmapDATA: $(distpixmap_DATA) @$(NORMAL_INSTALL) @list='$(distpixmap_DATA)'; test -n "$(distpixmapdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(distpixmapdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(distpixmapdir)" || 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)$(distpixmapdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(distpixmapdir)" || exit $$?; \ done uninstall-distpixmapDATA: @$(NORMAL_UNINSTALL) @list='$(distpixmap_DATA)'; test -n "$(distpixmapdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(distpixmapdir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: 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)$(distpixmapdir)"; 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 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-distpixmapDATA 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-distpixmapDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-distpixmapDATA 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 maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am \ uninstall-distpixmapDATA # 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: xchm-1.23/art/back.xpm0000644000175000001440000000070312210054137011522 00000000000000/* XPM */ static const char * back_xpm[] = { "16 16 5 1", " c None", ". c #000000", "+ c #C0E4CB", "@ c #77C490", "# c #808080", " ", " ", " . ", " .. ", " .+. ", " .++........ ", " .++@+++++++. ", " .++@@@@@@@@@. ", " .+@@@@@@@@@. ", " #.+@........ ", " #.+.####### ", " #..# ", " #.# ", " ## ", " # ", " "}; xchm-1.23/art/copy.xpm0000644000175000001440000000136512210054137011601 00000000000000/* XPM */ static const char *copy_xpm[] = { /* columns rows colors chars-per-pixel */ "16 15 23 1", "o c #97C4E7", "* c #FFFFFF", "@ c #60A9DA", "= c #D1E5F5", "& c #C3DDF1", ". c #7EA6C0", " c None", "X c #2F93CD", "O c #85BBE2", ", c #EFF6FC", "; c #DEEDF8", "+ c #72B2DD", "3 c #F7FBFD", "4 c #FAFCFE", ": c #DAEAF7", "< c #E9F3FA", "1 c #E2EFF8", "- c #FDFDFE", "% c #B6D5EE", "$ c #A5CCEA", "> c #E5F0F9", "# c #AFD1EC", "2 c #F4F9FD", /* pixels */ " .....XX ", " .oO+@X#X ", " .$oO+X##X ", " .%$o........ ", " .&%$.*=&#o.-. ", " .=&%.*;=&#.--. ", " .:=&.*>;=&.... ", " .>:=.*,>;=&#o. ", " .<1:.*2,>:=&#. ", " .2<1.*32,>:=&. ", " .32<.*432,>:=. ", " .32<.*-432,>:. ", " .....**-432,>. ", " .***-432,. ", " .......... " }; xchm-1.23/art/fileopen.xpm0000644000175000001440000000074712210054137012433 00000000000000/* XPM */ static const char *fileopen_xpm[] = { /* columns rows colors chars-per-pixel */ "16 15 5 1", " c None", ". c Black", "X c Yellow", "o c Gray100", "O c #bfbf00", /* pixels */ " ", " ... ", " . . .", " ..", " ... ...", " .XoX....... ", " .oXoXoXoXo. ", " .XoXoXoXoX. ", " .oXoX..........", " .XoX.OOOOOOOOO.", " .oo.OOOOOOOOO. ", " .X.OOOOOOOOO. ", " ..OOOOOOOOO. ", " ........... ", " " }; xchm-1.23/art/find.xpm0000644000175000001440000000200312210054137011535 00000000000000/* XPM */ static const char *find_xpm[] = { /* columns rows colors chars-per-pixel */ "16 15 41 1", "y c #A06959", "9 c #A7DAF2", "$ c #B5CAD7", "> c #35B4E1", "t c #6B98B8", "w c #B6E0F4", "q c #AEC9D7", "1 c #5A89A6", "+ c #98B3C6", "4 c #EAF6FC", "3 c #DEF1FA", "= c #4CBCE3", "d c #DB916B", "X c #85A7BC", "s c #D8BCA4", "o c #749BB4", "e c #BCD9EF", "* c #62B4DD", "< c #91D2EF", "a c #E6DED2", "0 c #E9F4FB", " c None", "@ c #A0BACB", "O c #AABFCD", "i c #6591AE", ": c #B9CBD5", "- c #71C5E7", "5 c #D3ECF8", "% c #81A3B9", "6 c #8AD0EE", "8 c #FDFDFE", "p c #8EA9BC", "r c #B6D5EE", ", c #81CCEB", ". c #ACC4D3", "; c #AFD1DE", "7 c #EFF8FC", "u c #C2CBDB", "# c #C0D1DC", "2 c #CAD6E1", "& c #8FB0C3", /* pixels */ " .XooXO ", " +@###$+% ", " .&#*==-;@@ ", " o:*>,<--:X ", " 12>-345-#% ", " 12>678392% ", " %$*,3059q& ", " @Oq,wwer@@ ", " t@q22q&+ ", " yyui+%o%p ", " yasy ", " yasdy ", " yasdy ", " ysdy ", " yy " }; xchm-1.23/art/forward.xpm0000644000175000001440000000070612210054137012271 00000000000000/* XPM */ static const char * forward_xpm[] = { "16 16 5 1", " c None", ". c #000000", "+ c #C0E4CB", "@ c #77C490", "# c #808080", " ", " ", " . ", " .. ", " .+. ", " ........++. ", " .+++++++@++. ", " .@@@@@@@@@++. ", " .@@@@@@@@@+. ", " ........@+.# ", " #######.+.# ", " #..# ", " #.# ", " ## ", " # ", " "}; xchm-1.23/art/fullscreen.xpm0000644000175000001440000001127012210054137012765 00000000000000/* XPM */ static const char *fullscreen_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 256 2 ", " c None", ". c #A8AAA5", "X c #B8B9B3", "o c #B9BAB4", "O c #B9BAB4", "+ c #B8B9B3", "@ c #B2B3B0", "# c #B0B2AF", "$ c #B0B2AF", "% c #B1B2AF", "& c #B6B7B2", "* c #B9BAB4", "= c #B9BAB4", "- c #B9BAB4", "; c #AFB0AC", ": c #969893", "> c #95968F", ", c #C3C8CA", "< c #A3B3C6", "1 c #98AAC0", "2 c #98AAC0", "3 c #9FB1C4", "4 c #D2DBDE", "5 c #E0E6E5", "6 c #DFE6E5", "7 c #DCE3E4", "8 c #AEBDCC", "9 c #97AABF", "0 c #98ABC0", "q c #9AACC1", "w c #BEC7CE", "e c #AFB0AC", "r c #A0A097", "t c #BAC3CB", "y c #3D6397", "u c #204B88", "i c #254E8A", "p c #819BBA", "a c #DEE9EB", "s c #E4EEEE", "d c #E4EEEE", "f c #E4EEEE", "g c #ACBFD1", "h c #355C92", "j c #214B88", "k c #254E8A", "l c #9AACC1", "z c #B9BAB4", "x c #A1A097", "c c #B9C2CA", "v c #3B6096", "b c #1D4785", "n c #2F578F", "m c #99AFC6", "M c #E2ECEC", "N c #E4EDED", "B c #E4EDED", "V c #E5EEEE", "C c #BFCEDA", "Z c #486B9C", "A c #1F4987", "S c #214B88", "D c #99ABC0", "F c #B9BAB4", "G c #A1A097", "H c #B9C1C9", "J c #43679A", "K c #466A9B", "L c #5677A3", "P c #89A1BE", "I c #CEDAE2", "U c #E6EEEE", "Y c #E6EFEE", "T c #DDE7E9", "R c #A0B4CA", "E c #6482AA", "W c #4A6D9D", "Q c #365D93", "! c #98AABF", "~ c #BABAB4", "^ c #9E9D95", "/ c #BFC7CD", "( c #9FB2C9", ") c #CED9E1", "_ c #A6B8CC", "` c #B9C8D7", "' c #DEE7EA", "] c #E8EFEF", "[ c #E8EFEF", "{ c #E4EBED", "} c #C7D4DE", "| c #A4B7CB", " . c #C4D1DC", ".. c #B0C1D2", "X. c #B0BECC", "o. c #B6B7B2", "O. c #959691", "+. c #D6D9D8", "@. c #E9F0F0", "#. c #EBF1F0", "$. c #E4EBED", "%. c #E3EAEC", "&. c #E9F0F0", "*. c #E9F0F0", "=. c #E9EFEF", "-. c #E9F0F0", ";. c #E6EDEE", ":. c #E1E9EB", ">. c #EAF0F0", ",. c #EAF0F0", "<. c #E0E5E5", "1. c #B1B2AF", "2. c #949590", "3. c #D8DBDA", "4. c #ECF2F2", "5. c #EBF0F0", "6. c #EBF1F0", "7. c #EBF1F0", "8. c #EBF0F0", "9. c #EBF0F0", "0. c #EBF0F0", "q. c #EBF0F0", "w. c #EBF0F0", "e. c #EBF1F1", "r. c #EBF0F0", "t. c #ECF1F1", "y. c #E4E8E7", "u. c #B1B2AF", "i. c #939590", "p. c #D9DCDA", "a. c #EFF3F3", "s. c #EDF1F1", "d. c #EDF2F1", "f. c #EDF1F1", "g. c #EDF1F1", "h. c #EDF1F1", "j. c #EDF1F1", "k. c #EDF1F1", "l. c #EDF1F1", "z. c #EDF1F1", "x. c #EDF1F1", "c. c #EEF2F2", "v. c #E6E9E8", "b. c #B1B2AF", "n. c #969791", "m. c #D2D6D6", "M. c #E3E9EC", "N. c #F0F3F3", "B. c #DDE4E9", "V. c #DEE4E9", "C. c #EDF1F1", "Z. c #EEF2F2", "A. c #EEF2F2", "S. c #EEF2F2", "D. c #E5EAED", "F. c #D8E0E6", "G. c #EDF0F1", "H. c #E9EEF0", "J. c #D9DEE1", "K. c #B2B3B0", "L. c #A09F96", "P. c #BDC4CB", "I. c #7B94B7", "U. c #ADBCD0", "Y. c #8DA2BF", "T. c #AEBDD0", "R. c #DEE4E9", "E. c #F0F3F3", "W. c #F0F3F3", "Q. c #E8ECEE", "!. c #BFCBD9", "~. c #91A5C1", "^. c #A4B5CB", "/. c #89A0BE", "(. c #A4B3C6", "). c #B9B9B3", "_. c #A09F97", "`. c #BDC4CB", "'. c #3D6297", "]. c #2B538D", "[. c #476A9B", "{. c #8A9FBE", "}. c #DEE3E9", "|. c #F2F4F3", " X c #F2F3F3", ".X c #EBEEF0", "XX c #A9B9CE", "oX c #5878A4", "OX c #325990", "+X c #264F8B", "@X c #9CACC1", "#X c #BBBAB4", "$X c #A0A097", "%X c #BDC4CC", "&X c #3B6096", "*X c #1B4685", "=X c #2A528C", "-X c #ABBACF", ";X c #F5F5F5", ":X c #F3F4F4", ">X c #F3F4F4", ",X c #F5F5F5", " , < 1 2 3 4 5 6 7 8 9 0 q w e ", "r t y u i p a s d f g h j k l z ", "x c v b n m M N B V C Z A S D F ", "G H J K L P I U Y T R E W Q ! ~ ", "^ / ( ) _ ` ' ] [ { } | ...X.o.", "O.+.@.#.$.%.&.*.=.-.;.:.>.,.<.1.", "2.3.4.5.6.7.8.9.0.q.w.e.r.t.y.u.", "i.p.a.s.d.f.g.h.j.k.l.z.x.c.v.b.", "n.m.M.N.B.V.C.Z.A.S.D.F.G.H.J.K.", "L.P.I.U.Y.T.R.E.W.Q.!.~.^./.(.).", "_.`.'.].[.{.}.|. X.XXXoXOX+X@X#X", "$X%X&X*X=X-X;X:X>X,X c #BFBFFF", ", c #0000FF", "' c #505050", ") c #B0B0EF", "! c #7070EF", "~ c #707070", "{ c #404040", "] c #606060", "^ c #555555", "/ c #2B2B2B", " .+@@@+. ", " #$%%%%%$# ", " &%%$***$%%= ", " -%%%;$>,;%%%# ", "+%%%%,,$,,%%%%' ", "@%%%%))!,>%%%%..", "@%%%%%%,)%%%%%..", "#%%%%%%*%%%%%%~.", ".$%%%%),)%%%%${.", " .%%%%),)%%%%]..", " ^$%%%%%%%$].. ", " /~#%%%#~{.. ", " .]{#%{... ", " ^%{. ", " ^{. ", " .. "}; xchm-1.23/art/home.xpm0000644000175000001440000000112112210054137011545 00000000000000/* XPM */ static const char * home_xpm[] = { "20 20 3 1", " c None", ". c #000000000000", "X c #FFFFFFFFFFFF", " ", " ", " .. ", " . .... ", " . .XX . ", " . .XXXX . ", " ..XXXXXX . ", " .XXXXXXXX . ", " .XXXXXXXXX . ", " ...XXXXXXXX ... ", " .XXXXXXXX . ", " .XXX...XX . ", " .XXX. .XX . ", " .XXX. .XX . ", " .XXX. .XX . ", " .XXX. .XX . ", " ..... ...... ", " ", " ", " "}; xchm-1.23/art/hpage.xpm0000644000175000001440000000074212210054137011711 00000000000000/* XPM */ static const char * hpage_xpm[] = { "16 16 7 1", " c None", ". c #808080", "+ c #FFFFFF", "@ c #FFFF00", "# c #C0C0C0", "$ c #000000", "% c #0000FF", " ", " ......... ", " .++++++@#. ", " .+@@+@++#+. ", " .+++++++$$$$ ", " .+@%%%%+++#$ ", " .++++++++@#$ ", " .+@%%%%%++#$ ", " .@+@++++++#$ ", " .++%%%%%++#$ ", " .++@+++++@#$ ", " .@+%%%%%++#$ ", " .++++++@++#$ ", " .+@+@++++@#$ ", " .##########$ ", " $$$$$$$$$$$$ "}; xchm-1.23/art/htmoptns.xpm0000644000175000001440000000063212210054152012474 00000000000000/* XPM */ static const char * htmoptns_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " .. ", " ... ", " .... ", " . ... ", " .. ... ", " . .. ", " .. ... ", " . .. ", " ......... ", " .. ... ", " . ... ", " .. ... ", " .... ....... ", " ", " "}; xchm-1.23/art/htmsidep.xpm0000644000175000001440000000115012210054137012434 00000000000000/* XPM */ static const char * htmsidep_xpm[] = { "16 15 17 1", " c None", ". c #000000", "+ c #800000", "@ c #008000", "# c #808000", "$ c #000080", "% c #800080", "& c #008080", "* c #C0C0C0", "= c #808080", "- c #FF0000", "; c #00FF00", "> c #FFFF00", ", c #0000FF", "' c #FF00FF", ") c #00FFFF", "! c #FFFFFF", "****************", "*..............*", "*.************.*", "*..............*", "*.****.!!!!!!!.*", "*.****.!====*!.*", "*.****.!!!!!!!.*", "*.****.!===*!!.*", "*.****.!!!!!!!.*", "*.****.!====*!.*", "*.****.!!!!!!!.*", "*.****.!===*!!.*", "*.****.!!!!!!!.*", "*..............*", "****************"}; xchm-1.23/art/logo.xpm0000644000175000001440000007213012210054137011565 00000000000000/* XPM */ static const char *logo_xpm[] = { /* width height num_colors chars_per_pixel */ " 152 83 254 2", /* colors */ ".. c #24160c", ".# c #948e7a", ".a c #cccac4", ".b c #54524b", ".c c #e4e6dc", ".d c #acaeac", ".e c #34362c", ".f c #74726c", ".g c #ecf6f4", ".h c #e4d2bc", ".i c #9c9e94", ".j c #c4b6a1", ".k c #f4e6cc", ".l c #2c2611", ".m c #64625b", ".n c #4c3e2c", ".o c #d4d6cc", ".p c #8c8274", ".q c #c4c2b4", ".r c #b4a28c", ".s c #f4eaec", ".t c #a49282", ".u c #e4deca", ".v c #3c2a1c", ".w c #dccab4", ".x c #fcf6e2", ".y c #746654", ".z c #bcbaa8", ".A c #a4a69c", ".B c #4c4a43", ".C c #7c7e7c", ".D c #f4eed9", ".E c #342e1b", ".F c #9c9688", ".G c #44423a", ".H c #9c8a7b", ".I c #cccacc", ".J c #645a52", ".K c #e4e6e4", ".L c #bcaea0", ".M c #c4b6b4", ".N c #d4c2ac", ".O c #f4e2cc", ".P c #443627", ".Q c #8c8a7b", ".R c #e4dedc", ".S c #fcf6f5", ".T c #ac9e87", ".U c #948e86", ".V c #84766c", ".W c #e4d6d8", ".X c #6c6a63", ".Y c #c4c2bd", ".Z c #fceed7", ".0 c #241e12", ".1 c #5c5a4b", ".2 c #c4beac", ".3 c #2c261c", ".4 c #dcded8", ".5 c #746e64", ".6 c #5c4e40", ".7 c #eceee9", ".8 c #d4d2c4", ".9 c #4c463b", "#. c #8c827c", "## c #b4aa9b", "#a c #f4f2ee", "#b c #a49a8b", "#c c #dccecc", "#d c #d4cabb", "#e c #b4b6af", "#f c #7c7a74", "#g c #6c625a", "#h c #d4d6d4", "#i c #ecded0", "#j c #3c3223", "#k c #fcfeea", "#l c #544a3d", "#m c #2c2e24", "#n c #342214", "#o c #3c3e2c", "#p c #7c7269", "#q c #f4fefc", "#r c #e4dac0", "#s c #ccbaa7", "#t c #f4e6dc", "#u c #84867c", "#v c #bcb6ac", "#w c #443e33", "#x c #ac9e97", "#y c #9c8e84", "#z c #ccc2bd", "#A c #2c1e14", "#B c #5c5249", "#C c #b4aea3", "#D c #3c363c", "#E c #f4f6f2", "#F c #a49e92", "#G c #dcd2c2", "#H c #fcf6ec", "#I c #aca69b", "#J c #847e73", "#K c #d4d2cd", "#L c #ece6e4", "#M c #ecdedc", "#N c #fcfefc", "#O c #fceee4", "#P c #34261c", "#Q c #d4cac4", "#R c #9c8e7c", "#S c #ece6d0", "#T c #c4b6ac", "#U c #7c6a5c", "#V c #f4eee4", "#W c #9c9694", "#X c #6c5e54", "#Y c #c4beb6", "#Z c #948a7d", "#0 c #7c6e66", "#1 c #544639", "#2 c #948680", "#3 c #bcaa98", "#4 c #fcf2ed", "#5 c #342e25", "#6 c #7c7674", "#7 c #b4aeac", "#8 c #f4f6fc", "#9 c #a49e9c", "a. c #ac9a84", "a# c #443224", "aa c #ecdac4", "ab c #3c362a", "ac c #fcead4", "ad c #342614", "ae c #dcd6cc", "af c #94826c", "ag c #ccc2b2", "ah c #fceeec", "ai c #dcd6d4", "aj c #646664", "ak c #4c423c", "al c #b4a69c", "am c #e4dfd4", "an c #3c2e2c", "ao c #dccec4", "ap c #746a64", "aq c #bcbbb4", "ar c #4c4e4c", "as c #444644", "at c #d4cecc", "au c #645e5c", "av c #bcb2ac", "aw c #d4c6bc", "ax c #443a34", "ay c #24221c", "az c #5c5a54", "aA c #ecf2f4", "aB c #6c6664", "aC c #544e4c", "aD c #5c5654", "aE c #aca8a4", "aF c #84817c", "aG c #ece6dc", "aH c #ccbeaa", "aI c #ccbeb4", "aJ c #8c8a84", "aK c #746e6c", "aL c #4c4644", "aM c #b4aaa4", "aN c #f4f2fc", "aO c #a49a94", "aP c #3c322c", "aQ c #e4dacc", "aR c #bcb6b4", "aS c #443e3c", "aT c #94927c", "aU c #747674", "aV c #e4d6bf", "aW c #f4ead2", "aX c #64665c", "aY c #4c4232", "aZ c #b4a693", "a0 c #f4eeec", "a1 c #a49684", "a2 c #3c2e24", "a3 c #dcceb8", "a4 c #fcfae3", "a5 c #746a5c", "a6 c #4c4e44", "a7 c #f4f2dc", "a8 c #34321c", "a9 c #9c9a8c", "b. c #645e54", "b# c #bcb2a4", "ba c #d4c6b1", "bb c #443a2c", "bc c #e4e2dd", "bd c #fcfaf8", "be c #aca28c", "bf c #94928b", "bg c #847a70", "bh c #e4dad6", "bi c #6c6e64", "bj c #c4c6bc", "bk c #fcf2db", "bl c #242214", "bm c #2c2a21", "bn c #ecf2ec", "bo c #8c867e", "bp c #dcd2cd", "bq c #d4ceb7", "br c #6c665c", "bs c #ece2d3", "bt c #544e44", "bu c #7c766b", "bv c #f4eae1", "bw c #aca298", "bx c #9c9286", "by c #ccc6be", "bz c #2c2217", "bA c #5c564c", "bB c #b4b2a4", "bC c #3c3a34", "bD c #f4faf4", "bE c #a4a294", "bF c #acaa9c", "bG c #848274", "bH c #eceae6", "bI c #342a1f", "bJ c #343228", "bK c #3c3a2c", "bL c #dcdacc", "bM c #948674", "bN c #ccc6b4", "bO c #dcdad5", "bP c #241a0c", "bQ c #cccec4", "bR c #8c8674", "bS c #cccecc", "bT c #e4eae4", "bU c #c4bab4", "bV c #fcfaec", "bW c #ece2dc", "bX c #fcf2e4", "bY c #d4cec4", "bZ c #9c927c", "b0 c #c4baac", "b1 c #a4968c", "b2 c #f4f2e4", "b3 c #9c9a94", "b4 c #b4b2ac", "b5 c #f4fafc", "b6 c #a4a29c", "b7 c #342a14", /* pixels */ "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#Nbdbdbdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#4#4#LbH#L#L#LbHa0.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd.Sa0#L.Rai.R#M.K#L.K#L.7#8#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#4bcbO#K#z#Yaqaq.Yatbh#abH#L#L#E#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N.S#Nbd#N#N#N#N#N#a.R.ab4aEaEaqat.R#a.S#L.R#Lbd#a#L.Kbdbdbd#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#Ebd#N#N#N#N#NbV#N#N#Nbvam.Y#9.Ab4#zbObH.S#N#N#N#N#EbObdbd.7#a#Ebd#N#N#H#E#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#Nbd#N#Nbd#N#N#H#aam#YaEbfb4.Ybh#a#N#N#N#Nbdbd#N#Nbc.7#E#abH#H#N#H#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#V#Nbsbya9bf#9#Q#L.7.Sbd#Nbd#Nbd#N#E#N#N.7a0bd.7bHb2#N#kbV.xbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#N#N.S#Ebpag.Fbx#Ibpbp#E#Hbd#N#N#N#N#N#N#Nbd#N#N.7bn#kbH.Qa6bJaYbK#waTbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NbdaN#N#N.YaU#p.p#vawbh#4#a#N#N#N#N#Nbd#N#N#N#E#N#N#NbH#a#HbHaX.E.0bJbm#j#ZbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.S#N#NbObfaK#f.X#pbhbvbV#N#Nbd#N#N#Nbd#N#N#N#N#N#N#E#NbT#NbD#VbH.a#Kbq#p.lbg#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#Nbd#N#Nbd#N#N.Saq.f#6.XaD.C.I#N#Nbd#N#N#N#N#N.Sbd#N#Nbd#N#N#H#N#N#Lbdb2#abd#Nbd#N#Z.EbR#Nbd#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#Nbd#N#N#Nbd#Nbd#N#Nbd#N#N.S#N#N#N.S#N#N#N#Nb5#N#Nbd#N#Nbd#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#H.S#a#L.7#4#N#Nbd#N#Nbd#N#N#N#N#N#N#N#N#N#N#8.S#Nbdbd#N#N#Nbp#Zb..5az.maE#E#N#N#Nbdbd#H#Nbdbd#N#N#Nb5#q#N#N#N#Nbda0#N#E#abdbdbd#N.Q.E.p#N#N#N#Nbd#N#N#Nbd#N#N#N#N#N#N#Nbd#N#N#Nbd#N#N#N#N#N#N#N.Sbd#N#N#N#N#Nbdb5aA#Nbd#N#a#N#N#N#N#N#8#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NbdbHaeaibhaiai#aa0#N#Nbd#N#N#N#N#N#N#N#Nbdbdbd#N#Nbd#N#Nbd#4bwaBaKbraC#J.4bd#N#N#N#N#Nbdbd#N#N#N#Nbd#E#N#N#8#NbdbdaN#NbdbH#Hbd#Nbd#N#Z.l#.#N#N#N#N#Nbd#N#N#N.S#N#N#N#Nb5#N#Nbdbd#N.S#N#Nbd#N#N#N#N#Nbdbd#8#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#8#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#HaG#G#Y#zaebO.R#Q#L#L#E#N#E#N#N#N#N#N#N#N#N#N#N#a#N#N.S.Sbh#f#X.XaCaz.a#N#N#N.S#N#N#N#N#N#NbX#N#N#N#N#Nbd#N#N#N#N#NaN#N#a#E#Nbd#Nbd#k#Zbm.p#N#N#N#N#N#N#Nbd#4#Nbd.Sbd#N#N#N#N#N#N#N#8#N#8#N#Nbd#N.S#N#N#N#Nbdbd#N#Nbdbdb5#N#N#Nbd#N#N#abd#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#Nbd#N#Nbd#NbVaQbNaM#Cbw#p#Jawbh.Rbp.o.R#a#Nbd#N#N#N#N#N#N#N#N#Nbdbd#N#a.AaBauazaD#W#abdbXbd#N#N#N#Nbd.S#H#N#N#H#N#kbd#N#Nbd#Nb2#N#N.Sbdbd#Nbd#N#Nbd#N.Qb7.pbdbd#N#Nbdbd#N#N#Nbd#N#N#N#N#Nbdbd#N.Sbd#N#N#N#N.S#N#N#Nbd#Nbd#N#Nbd#N#N#N#N#N#Nbd#N#N.S#N#N#N#4#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#kbvbUagaQby.5#B#0bub3bvbhbY.RbLbH#N#N#N#N#N#Nbd#N#N#N#Nbd#K.X#g.maDap.abd#N.S#N#N#H#Nbd#Nbd#N#N#N#O#k#N#N#HbV#N#N#k#N#Nbd#N#N#N#N.S#N#Nbd#NbRbm.p#N#k#Nbd#k#N#NbdbVbV#Nbd.Sbd#N#Nbd#N#N#N#Nbd#E#N#Ebd#O#N.x#N#N#H.S#N#NbX#Nbdbd#H#NbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#NbV#N#N#GbYbhaQbhbybu#lapbgbuaibW#YamamaG#Hbd#N#N#Nbd#N#NbdbX.U.m.X#B.BaE#8#Nbd#Nbd#N#N#N#NbVbv#Y.p#g.JbA#g#p#C#t#HbV#N#Na7#N.Sbd#Nbd#N#N#N#Nbd#N#Zb7.pbdbVbV#OaI#..Jbt.J#pbwam#N#Nbdbd#N#N#N#N#N#N#NbHbd#ObX.k#NbVbvbF#6#B.5bwbH#kbdbV#NbsaO#gbA#0b#bX#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.S#N#N#k#N#Y#EbcaeaG#H#OaEaC#Xap#0#v#4aeby#KbHbX#N#N#Nbdbd#Nbybi.Xau.b#6bcbdbdbd#N#N#N#E#N#N#V.UaxbIbmbIbIbI.E.3bI#5#gaQbX#FbK#z#N#N#N#N#N#Nbd#Nbd#N.Q.l.p#NbVaMbtbzbz#5a2bzbJbPbCbxbH#N#Nbdbd#N#Nbd#N.4.GbIbIab.PbsaI#l#A#5bJay#j.J#ibV#Nav#w#m.3#5bm.3.Vbv#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#4bO#4.cbcaG#N#N#HbcaK#B#p#g#FbWaeaw.aaG#V#N#N#N.sbfb.br.b.JaE#a#Nbd#N#N#N#N#N#N#N#Y.G.3bIbA#JbEavaMa9bxbAbmbIabbo.5#5.F#N.S#N#N#N#Nbd#N#N#N.#.l#ZbX.Va2.3#1bgaM#v#7.U#Baybm.m#H#N#N#N#N#Nbd#NbOaSaybIbI.v#b.P.3.9aJ#7aFabbI#X#Ha.bI#jaL.Faq#p#5bI.pbd#Nbd#N#N#Nbd#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#a.4#EbH.KbH#N#N#N#Eah#WaD#p.5bo#tae#d#zaQbd#O.YaB.m.mbt#JbO#N#Nbd#N#N#Nbd#N#N#NaRbCbJb.#Ybd#Hbd#NbV#Nbdbd#Gbu.3.l#5bzb3#N.S#N#N#N#N#Nbd.S#NbGb7.V.5bI#Db1#H#NbVbdbd.S#a#7ax#5#JbV#k#N#N#N#N#N#NaG#H#GbI#j#P.0#pbs#N#N#Nbya2a2#Ua2bI#Z#a#Nbd#Nb0#P#j.a#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N.Sbc#EbT#LbH#N#N#N#N.S#N#7.6aB.5a5ambLby.2bY.Uauap.b.Jb4.S#Nbd#N#N#Nbd#N#Nbd#N.a.E.3bga0#N#4#N#N#V#N#NbV#N#N#V#F.Pbm.l#F#N.S#N#N#N#Nbd#N.S#N.#a8bb..ab###4#N#N#N#Nbd#N#N#4#CbIbJ#cbd#N#N#N#NbD#E#N#4#t#Pad#j.5#Vbd#N#V#N#kbg.v#j#A#b#E#N#N#NbV#H#0bz.Ubd#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#Nb5bTbd.K.KbH#Nbd#N#N#N.S.S.Raz#g#pbuaoae#v.b.J.X.9#J.R#E#H.S#N#N.S#N#N.S#N#NaGak#m#Jbd#N#N#N#H#N#N#N#N#NbV#H#N.S#Z#5#5#Fbd#N#N#N#N#N#Nbd#N#kbR.EbP#wbU#N#N#HbdbdbV#N#N#4bd#NaBbIbo#N#Nbd#N#N#N#N#NbVbv#jbI.6bsbX#N#k#N#Nbdba#n.v.y#O#N#Hbd#N#N#N.tbIaB#N#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#a#NbHbTaA#N#N#N#N#Nbd#N#abWbr.J.f.5bM#B#gbA#1b4a0bd#N#N#N#a#N#N#N#N#N#N#Hbfa8#lbHbd.S#a#N#N#Nbd#Nbd#N#N#N#H#N.x.9bl#Fbd#N#N#N#N#Nb5#N#N#a.Fb7b7#T#N#H#4#N#Nbd#N.S#N#N#N#HavbJ#lbd#N#N#Nbd#N#a#N#Naa.PbIby#N#N#Nbd#N.SbVbY.va#aV#N#N#N#NbdbVbV###jb.#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#E#NaA#a#E#N#N#N#Nbd#N#N#N#NbHbr.5#p#gbAb.a5bUam#H#Nbd.S#N#N#Nbdbd#N#N#H#NbJbI.j#k#N#N#N#N#8#N#Nbd#Nbd#N#Nbd#4#N.5.EaM#N#Nbd#N#N#N#N#N.S#NbR.l.VbX#N#N#N#Nbd#N#Nbd#E#Nbd#a#KbIakbX#N#N#Nb5#N#N#H#NbWa2a2bvbVbd#N#N#N#N#N#G#j.PbV.xbdbn#N#N#NbVb##A.m#Nbd#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#N#Nbdbdbd#N#N#N#N#N#N#N#N#N#N#b.9#p#p.6.#by#Y.WbW.S#N#NaN#N#N.S#N#N#a#NbBab#waW#N#N#abd#Nbdbd#N#Nb5#N#N#N#N#H.SbYbobL#N#N#N#N#N#Nb5#Nbd#NaTb7#Z#k#H#N#N#N#N#N#a#N#N#Nbd#NbybIaLbV#N#N#N.S#N#N#N#Nbv#j#jbW#N#N.S#N#N#N#HbYad.n#O#N#N#N#N#q#N#NaZ#5aB#N#N#Nbd#Nbd#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#N#N#N#Nbd#Nbd#N#N#N#8#N#Nbc#pb.b.btb..5.J#G#Gby#K#L.S#N#Nbd#N#N#Nbd#N#H.QbI.5#k#kbd#N#Nbd#N#Nbdbd#N#N#Nbdbd#Nbd#N.x#Nbdbd#Nbd#q#N#N#N#N.x.#b7bgbV#N#N#Nbd#N#Nbd#N#N#N#N#N.a#j#w.S#N#N#N#N#Nbd#NbVaGa2#5#O#N#Nb5#N#NbD#NbY#P#1.Z#Nbd#N#q#Nbd#N##bIau#N#N#N#8#Nbd#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#Nbd#N#N#Nbdbd#N#N#Y.mbAb.bA#b.5.yaK.J#caQ#zbc.4#Nbd#N#N#N#N#Nbd#N.XbIa9#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NbV#N#N#Nbd#N#N#N#N#Nbd#N.QbI.p#N#N#N#N#N#N#N#N#N#N#N#N#NbqbI#wbV#N#N#N#N#N#N#N#N#t#5#j#t#N#N#N#N#N#NbdbpbI#w#4bd#N#N#N#N#N#N##.E.mbd#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#Nbd#N#Nbd#a#N#N#N#H.U.9aBaD#B#za0ahapap#f.Jbp.RbUai.S.S#N.S#N#N#N#N#NbAbJb0bdbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#8#N#N#N#N#N.Qbm.p#k#k#N#N#N#N#N#N#N#N#N#N#NatbI.nbV#N#N#N#N#N#N#NbdaG#5aPbvbV#N#N#N#N#NbdbYbI.n#4bd#N#N#N#N#N#N##bI#Xbd#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#Nbd#Nbd#8#N#N#Nbdaebrb.bi#laF#Lbd#Nbd#4apaBbraKbO.R.IbOaN#N#N#N#N#N#NbVazbmbU#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#N#N#N#Nbd#N#Zbm#.#N#N#N#N#N#N#N#N#N#Nbd#N#NbYbIaSbdbd#N#N#N#Nbd#N#N#ta2aPaG#N#N#N#N#N#Nbd#cbI.nahbd#N#N#N#N#N#N##bI.m#Nbd#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.S#Nbd.S.aau.XaC.bb6a0.Sbd#N.S#Nbcap.Vb.aK.Rbc#Qbc#a#N#N#Nbd#N#NaBbI#FbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbdbd#N.S#N#Nbd#Nbobm.pbd#N#N#N#N#N#N#N#N#N#N#N#Natbm.nbd#Nbd#Nbd#N#N#NbdbW#5anbvbd#N#N#N#N#NbdaobI.n#4bd#Nbd#N#N#N#N##bI#gbd#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#a#N#NbdaOaraXar.f.Ibd#N#N#Nbd#N.S#N.R.X.X.JaF#LbOaibHa0#Nbdbd#N#H#JabbGbV#k#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.SaN#N#Nbd#N.Sbd#Nbd#N#2bI#.bd#Nbd#Nbd#N#Nbd#Nbdbd#N#N#QbIaS.S#N#N#N#N#Nbd#N#N#t#5aP#t#Nbd#N#N#N#Nbd#GbIbb#4bd#N#N#N#N#Nbd##b7au#N#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.7#N.S.R.f#g.XaCaJ.obdbdbd#N.S.S#N#N#4#Naiaz#6az.FaGbhbO.Rbd#N#N.S#Nb4bz#BbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbdbd#Nbd#Nbd#Nbd#NaJbm#.bd#N#N#N#N#N#N#N#N#N#N#NbdatbIakbd#Nbd#Nbd#N#N#NbdbWanaP#t#N#N#N#N#N#Nbd#cbI.n#4bd#N#N#N#N#N#NalbI#X#Nbd#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NamaB.5.JaC.d.c#N#Nbdbd#N#N#N#N#N#E#N#N.Iaz.5.1aM.4aibh#Lbd#N#4#N#t#5.E.2#k#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.s#N#N.S#N.S#Nbd#Nbd#N#2bI#.bd#Nbd#Nbd#Nbd#Nbd#Nbd#N#N#QbIaS.S#N#N#N#N#N#N#Nbd#t#5aP.sbd#N#N#N#N#NbV#cb7.n#4bd#Nbd#N#N#Nbd##.v.mbd#N#N#Nbd#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Naqaz.XbAb.bybH#N#Nbd#N#N#Nbdbdbd#N#N#Nbd#Naq.1#pbt#QbHat.R#L.S#N.S#N#p.E.1bX#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NbH#faR#N.S#N#N#Nbd#Nbd#NbobI#.bV#N#N#N#N#N#N#N#N#N#N#N#Natbm.nbV#N#N#N#N#N#N#N#N#La2aP#tbd#N#N#N#N#Nbd#cb7.n#4bd#N#N#N#N#N#Nalb7#gbd#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#Na9#g.XbAbu#K#H#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#I.m.Xb.#Q.Wai.W.sbdbd#NambKa8bub2#N#Nbd#N#N#Nbd#Nbd#N#N#N#Nbdae.GbJ.f.S#Na0#Nbd#Nbdbd#NbobI.pbV#N.S#N#N#N#Nbd#N#NbdbdbdbpbIaSbd#N#N#N#N#N#N#N#kbsaPbbbH#k#N#N#E#NbV#Nbpb7.P#H.S.S#Nbd#N#N.S.LbI#g#N#Nbd#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdb5#N#N#N#NbH#NaJ.faB.bboaG#O#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.xbobraKaB#L.W.I.R#4#N#N#NaE.lbJaF#S#N.x#N#NbX#NbV#N#N.x#NbVbwbJbm#wbc#Na0#Nbd#N#H#N#Ha4#ZbIbRbVa4#N#Nbd#N#N#N#N#N#a#N#N.q.l#l.D#k#N#N#N#N#H#k#Nbv#P.EaWbdbVbD#N#NbDbdaw#j.nbd#N#Nbd#N#Nbd#NaZbz.J#N#N#N.S#Nbd#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbdbd#NbdaJ.5aBaLaO#a#4#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.5b.#0#6.s.W.Waia0#NbV#NbEbmbIbtav#N#HbV#Nbkbd#k#HaG#xak.0aP.J.c#EbV#N#a#N#N#NbWambY#p.lbu#r.oam#N#k#Nbd#NbdbVbHbLbq#vababae.8.ubn.xbd#N#S#G.2ab.P#Yamam#NbD#Nbd#N#QbI.PaI#cbHbdbD#Nbdbdal#jbAbqbLbH#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.7bd#Nbdbdaiap.J.B#vbd#4#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#NbV#NbW.m#pau#Wa0bpai#L.S#H#NbVb4bJaPbI.nbgbwalavaO#y#l#5axbI#w#b#abV#N#N#H#N#N#N.abmblbJbJ.E.0.l#mbJbjbd#N#N#N#N.Sa6.0bJbmbz.Eb7.3bmbf#N#Nae.ebm.lbzbzbJ.3.ebc#N#N#N.Sai#j.lax#m#D.7#N#N#N#NaM.3bI#D.3.1.7.S#Nbd", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbdbvaq#p.m#z#a.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#H#NaiaC#faDaM#L#KbhbHbd#N#E#NaG#fab#m.3.3bmbm#5aybI#5#wb3#a#N#N#NbVbd#N#N#a#NbOaC.B#wab.GaY.9.G.9#K#N#N#N#N#Nb2aU.B#w#w.9#w#o.9.G.i#N#Nam.B#1ak#1bb.Pas.b.7#q#N#Nbd#K#w#jabaSaj.S.g#E#N#Nav#w#wab.G#f#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#a#Nbd#N.RaMataibW.Sbd.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#Nbdbdbd#z.B#6aubybc.abO#a#Nbdbd#N#Na0#YaF.XaB.1ap#u#7.4#H#N#k#NbVbd#N#N#N#N#N#N#NbD.S#HbV#HbVbV#abd#N#N#N#E#N#N#N#a#H#abV#kbkbVbdbdbdbDbd#N#N#4#4#H.S#N.S#a#Nb5#Nb5#N#NbX#k#N#4#8#N#N#N#N#N#H#NbV#N.S#H#N#N.S#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Qb4atbh#L.Sbd#Nbdbd#N.S#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#Nbd.S#Nbdbwaz.5.5am.4#Kbc.7#8#N#N#N#HbD#N#N#N#N#N#N#H#N#N#NbV#N#N#N#N#N#abd#NbdaN#N#N#N#N.Sbd#N#N#Nbd#a#Nbd#N#Nbd#N#N#N#Nbd#N#Nbd#N#N#N#N.S#Nbdbdbdbd.Sbd#Nbd#N#N#Nbd#4#N#k#N#N#N#8#q#N#8bdbdbVbV#N#k#Nbd#Nbdbd", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd.S.I#7#KbO.R#N#Nbdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd.S#JbrbraFbH.4bS.4bd#N#N#N#N#N#N#N#N#k#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#8#N#N#N.S#N#N#NbV#N#N.S#N#N#N#Nbd#N#N#NbdbdbVbd#NbV#Nbd#N#N#N#N#N#N#H#Nbd.S#Nbdb5#N#q#N#N#N#NbV.S#Nbd#N#q#N#Nbd#N#k#N#H#N#NbV#N#N#N", "#N#N#N#N#N#N#N#Nbd#N#Nbd#N#Nbd#N#VaIavat.R#L.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.S#Nbd#N#N#N.c.X.5azbwaGai#K#L#H#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#Nbd#N#N.S#N#NbW#v.M#Q#M.sbd#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#H#N#Nbd#N.aaD#Jau#Y#Vbpbhbv#k#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#Nbdbd#N#k.u#vbU#zbpbH#4#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#NbV#N#Nb4bt#6.JbOaQ#Qbc#abd#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N.S#N#Nb2#SbNal#C.jb#aIaobh#t#4bdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N.S.UaB.X#6#HbLatbc#a#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#kbvbsbq##.F#F.T#ybe#3#C.L#zbpbW.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N.7aB.mau#YbdbO#K.Kbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#Nbd#N#N#NbV.x.D#G.zaZ###3#Ia1.t.tbx.tb1aOalbU.R#4#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#NbdbdbHbiaK#Lbv.sbp.4bH.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#Na4bv.uagbq.Nag#Ga3aHba#saZ.H#R.t#Z#R#IbUae#a#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#q#N#N#Nbd#N#N#N.S.S#N#Ya0.SbcbO.4bHbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#Nbd#NbVbva3aHa3aHaVbka4.x.xbkbk.Za3#3a.bZ.HbxaO#YbW.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N.S#N#N#Nbd#NbH.abd#abh#h.4.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#Nbd#N#NahbN.u#G#r.kbkbkbkbk.x.xbkbkbk#i.ja.bZ#R#R.TaIbW.S#Nbd#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#N#N#N#N#N#N#Nbd#N#Nbd#N#N#N#NbV#tae.SbHbhbObW#abd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#C.u#S.k.k.Za4a4bka4.xbk#kbkbkbk.O.N.r.t#Zbx#I#Y#t#Nbd#N#N#N#N#N#N#N#N#Nbd#Nbd#N#Nbdbd#N#N#Nbd#N#N#N#N#N#N#N#N#k#N#NbHbYbWbv.RbYatbH.S#H#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "bd#N#N#QbxbXbv.Zbka4bka4bk.x.x.xbX.x.xa4.x.Z.wa.#R#Rbx#xat#4.S#N#N#N#N#Nbdbdbdbd.S.S.S.S.Sbd#N#N#N#N#Nbd#N#N#Nbd#H#N#kbXaQbqawbybBb0bUb##CaI#M#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "bd#N#Nbo#z#H.Dbk.x.x.x.x.x.x#HbV.Za4bVbkbk#kaWbaa..H#R#b#vbh#4#N#Nbd.S#4#V#LbWambh#KbpamaibWa0a0bd#N#N#N#Nbd#N#N#N#HaGbY.Y#v###b#b#b#I##bw#x#v.W#O.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N.s.f.SbX#4bX.xbXbk.x.xbV.x#HbV#4.xbV.xbkbkbk.j#Z#Z.t#FbNah#NbV#4bvbWbhbObpbpaGbp#camaiaobpbObcbH.S#N#N#N#NbV#V.u#QbN#dbq#Y.Lbe#b.HbRbMbZbwb##Q#M.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#NbS.F#a#4#H.S#H#H#H#HbV#H#H#H#NbX.xbV.x.xbk.Z.O.T#RbZbx#T#ibv#MaebybUbU#TavavaM#v#QaebhbWbhat#K#hbc#a#N#NbVb2bW#V#H.x#H.xa4#ka4#Sba.L.tbM.Hb1bwbUbh#4bd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#Naqb4#V#4.S.S.S#4#4bd#H#H#HbVb2bVbd.xbXa4.xacbk.Na.#RbZaMbyaoav#TagbYam#V#HbdbV.S#i#z#Y#GbWbv.4ai#h.Rb2bV#H#V.x#Ha4bV.x.xbXbkbkbkbk.k.waZ#y.H#y#xaRai.sbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#NbV.qb4#N.S.S#4.S#4#H.SbV#H#EbV#N#a#HbV.xbka4bk.Za3aZ#RbxaZ#C#zae.Rbvbdbd#N#NbV#Nbd#H#N.Sbp#zam#a#LbOaebhaG#V#H#H.xbX.x#H.xa4.xa4a4bk.Obs#iaI.H#Z#yaO.MbO.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", ".S#Nbhb3bd#N#H.Sbdbdbd#Hbd#HbdbV#H#H#H#Ha4.xbka4.Z.h.T#Ra1#I#dbs.Sbdbd#N#N#N#N#Nbd#N#Nbd#N#Na0aibO#V#4ai#GbHb2.x#H#H.x#H.x#H.x.xbX#k#kbkaW.k.u#G#R#R.H#9aIbcbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#k#Na0.U#ObX#N#N#N#k#N#Nbd#H#E#a.S.S#4.x.xbkbka4bk.wa1.##b#vbsbVbdbd#N#N#N#Nbd#N#N#N#Nbd#N#N#N#a#c.Rah#VbhbX#HbV#Ha4#H.x#H#H#H#H#HbX.xa4a4.D.kaWagaf.t.tbwbQ#abd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#Nbd#N#C#Y#N#HbVbdbd#k#NbVbVbV#N.x#H#H#H.x.xa4bkbk#sa1bZaZbq#V#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Na0bcbW#HambVbV#H#H#H#H#H#H#H#H#H#HbXbXa4a4bkaWaW.Z.T#R#Rbxavbcbn#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "bd#N#N#L#9#abdbV#N#N#NbVbVbd#H#H#H#HbV.xa4bka4bkac##bZ#b#vam#H#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#N#a#LbvaGbdbV#4.x#H.x#H#H#H#H#H#HbVa4.xbka4.Z.kacaabMbZbxbE#zbH#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", ".S#NbV#Nbyb4#N#N#k#N#k#N#N#k#Hb2#HbV#HbX.xa4bkbkaV.TbZbF#db2#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#Nbd#NbdaG#4#H#H#HbV#H#HbV#HbV#H#H#4#H#H.xa4a4a4.Z#Sbka1.HbZ.Fb#.c#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#Nbd#Nbdbd#Yby#V#N#k#N#ka4#N#k#H#H#HbXbk.x#ka4bk##.F#IbNbW#N#Nbd#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N.S#N#Nambdbd#HbV#HbVbVbdbV#H#H#HbV#4bXa4a4a4a4a4.Z.O.N.H#Zb1#vbW#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#Nbd#N#N#NbDaqbQ#V#H#NbV#4bX.xbX#H.xbX.DbXbk#S#Gbeb#bNaGbd#N#N.S#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#NbdbO#abVbd#Hbd#NbV#NbVbdbd#HbV#4bXbVa4bkbkbka4.O.h.HbM#F#YaG#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "bD#N#N#Nbd#Nbdbj#CbY#VbVbVbVbV#H#H.xbX.DaWbL.j#F.2aQbc.S#N.S#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#NbdbdbH.K#EbV#N#N#k#N#k#N#NbV.S#4bVbVbk.xa4a4a4bkbkbabZ#2.T.qbW#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N.7bjbE#I#YbY#Qag#v##bEbF#C.2bY.u#4#Ebdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#E.a#Nb2#N#N#k#NbV#NbVbdbd#4#H#HbV.xbkbka4bk.x.NbM.t#v#QbH.Sbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#Nbdb2amae.4aG#SaGaG#V#4bX#H#Nbd#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#a#N#N.aaG#N#k#N#N#k#N#N#N#Nbd#H#H#H.xa4#ka4.x#k#iaZ.H.Lat#i#E.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#NbV#N#N#k#Hbd#N#k#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#8#N#N#Kaq#N#NbV#N#N#N#k#HbV#N#H#H#H#H.x.x.xa4.ZaI.Fbwbpbv#a#Nbd#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#Nbdbd#kbV#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#Nbc.i.abV#N#Nbd#k#N#Nbd#H#H#O#4bVbVb2.x#NagbFaM#Q#V.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#NbVbd#N#N#k#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#Nbd#eb3aqb2#k#N#NbV#N#N#NbX#HbX#V#k#N.ubFbBb0aea0.S#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#Nbdbdbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbdbd#N#a.Y#eaqae.x#N#NbV#E#t#O#tbv#O.8bF#I#Y.8aG.S#Nbd#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#abd#N#Nbd#N#NbVbdbsbQbyaebH#V#4bW#tbY#C#C.8.cam#E#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#N#N#N#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#Nbd#NbV#N#N#N#N#N#N#VbObYbpbpbpbW#abV#EbV#N#N#Nbd#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N", "#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N#N" }; xchm-1.23/art/print.xpm0000644000175000001440000000074412210054137011763 00000000000000/* XPM */ static const char *print_xpm[] = { /* columns rows colors chars-per-pixel */ "16 15 5 1", " c None", ". c Black", "X c Gray100", "o c #808000", "O c Yellow", /* pixels */ " ", " ......... ", " .XXXXXXXX. ", " .X.....X. ", " .XXXXXXXX. ", " .X.....X.... ", " .XXXXXXXX. . .", " .......... . ..", ". . . .", "............. .", ". ooo . . ", ". OOO ... ", "............. . ", " . . . ", " ........... " }; xchm-1.23/art/xchm-128.png0000644000175000001440000003575212210054137012065 00000000000000‰PNG  IHDR€€Ã>aËgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“;IDATxÚí½yœ%WuØÿ½÷V½­»§{zÖžÑÌhf´B;Bá°Ê˜-`󳙨‰1ØØxÅ„؉Çù#N~‰ ù}ÇNœDÁf‘À`a „Z‘Ð.Í¢Ù§§§··UÕ½ç÷Ç­ªWõÞëžžMá9ú(»÷.`eéái¥X·¦Îš55Ö¯i0±ªºä¹+EúÐsû¶;–£ÇÛ=ÚæèL‹(Z^÷ز©Î ל» ä95°>(Ïì™ô’çLNÔØ²iŒÍS#TB³ìýNfµ¯äÃÎ;t¤Ås9r´…sKsªíS#\{í¹§'œ3ºýož‘î«©ZÑ\¸eœ­›Çi„ËÞç´W{ß'>âï'Žƒ‡šìÝ7ÏÜB´äé?ôÖ‹Ï™9‡s€îºç99|´3ô·Z5à’\¸e ­õ²÷y>V{ñÇåÿ‘£-žÚ5Ëì\wèïõºæ-¯ßù‚Ï=¼ÀðÉ;ž:ÏzÈÅÛ'ضe­–Fü µÚ—»Qq3Ç»<±k†ãLJÂæ©:7¾À¦äáwß{PZ8®µâÒ\¼c⌠þùXí9â—9éðÑ>9C»3hA¼ÐÜàyð_~F:ÁÙÚ°n„—_¾fI®¯öe'`­ðôî9víCdðé/”nð¼=Ôkøƒ«¾Z ¸ú¥kظ~tèugbµ·è:hYÈæ>ˆ­0¨üúŠjF1.s3–_í¥± Ôb+æáǦ‡ê&«Üüª­Ï+!íýíßï•£Ó½*¯ºnе“µûä´áï{m>²ÐŒóa±#´!Šýd¬ªhnØl˜Ze@æðÛ§3 ¢¤øµô‡È iß8¥ÿÎé×½³ _{²Åñ–óÖCà-†Ñš'‚±º¦^ñJá S!׬ —E|ñ½’Äò­ÓíöIÆï|ó%g„Nû&ý¬ÿ²‹VsÉΉÁ—ˆÀím _?˜É{XìöV}7]õZÁËÖ\¾>ÀnäÜðgÈ0YŸý݇ì~’aâ#uR "­7¼þæÓ· ‚Ó¹¸ùëÖÔ¸xÇÄð·`pe>1'ÜsØ{ï:±c±+Ìw„Vì9Ö9&jšWo ­(D„$GC£jBoqåέP¢H­‘Þd‹ë¡6Uò=bSÐ ˆRÓ2û­ÿ¸js 'C¾øx“ãó mg‰-DÖÇÂøˆ¡*î?³ o¾°†VK]VVÙ¾u¼;8>gO÷Àip€;¿¾WŽÍöXµðÚ›6ûôëÄÛw/wNâ½…¶7ï"ë°;' Wm †a¤·Î]ßC„ñÊ'j-¥p€ÎVlÿí(Evâ<ÒG¾“,Æàzú@Á‚<7øæžîï¢ðfa­¢XU7ŒhUM W¬¹åÂÚ’ˆï?þð£G˜™í™ÙÎYÞýöËN‹ èS½°ˆ|€+_¶†J¨‡ÈÍA8Ђ¯îºÖÑŠsa¾í5ýÈú Åæ+7ÞÝ+g'þ#ÞÛ[ç@®÷±Öá¬wî8ÉX7•V¸ô{qŒÅ•,:sÚxVî)¤pè4è$$âÇ”¤c³N¸~K×\Ô@¢ÄÑì8Ž7cf, mK'±Ü(âoŸë–EMúœ;ÇeOöœi€Ö†¿ûæ³'LmXNI|æKÏHÜí­¡ÍGÙ¸¶‘Oà’ 0ݾ°Gè8G ,¶…Vd‰h¶„¬­+Û[Z}æ:Å5,Åä”uk-EJ³s\qÙÄÊ^u6bëˆÌv4­X8Þš±Ë‘b¥L8ÞÝ\\°:äµ—ŒrçMbëp…³ N ¶®©Wàïö´©xÅÆê¹sùûwIïÜ>ÁOÏäg9vz¢à¤ÙGbG`4oxõÂê2Ì$EPbá¶gf;~%7#Xh íÈY¨hÍuVUú‘]¸UæÃwåô;v´Q´Ñ\:©yéšÓRwhÆÂÁ¦åpÓñÜ|âEAˈ•<Êh… ŸiY¾öø"ÝØM5Ô¬j(V5j¡ç­/cëX6FW"ú~xð‘#Ì2ëuxËëOÍ4CzqÞžv¹Ì"çS»ºÎGã4ê—Ÿo{Ÿ(' 鉒3£¸t2à]—7xÅ5j¡ÊŸe³ç&’†¤…È õPqÝöˆÇB«›0ß´,t,Øq¬eù‹GšˆÏ”Ó¢¥06²~íHé¼;¾øÄ)½äIÀž}åÕñŽÕ˜\K*¯ö"ïwî·X Xh¥È¬ÃZáòµ†ñŠŸÄ¤¨ô9/*’$ýØŒˆóÛÁù¹éªG’O”†Ï¼tmÈ^>ÂË7THœ"ï.ŽEa¥@”Î1Q7\¹µsþ]ZË|ËÒêZ¢Øò衈oìóÊuŽô!iزyU‰ tâSÓçOêªÄ–WÿS#CW»‡Ìw&|eŸ¥›@×ú^;‚®u$VØ8f˜¨+â4¹#ûØ”Ý'ÖC”®úì“s†¢4$NÒl +>#ÈùgœM~õÖ¯Ù^CAÎü¸$åjž@×j.˜¬`SÕîX[Žv$$Öqûã ,Fýúf’æÓJµjX·¦Q:ïT¸ÀŠ àŽ/?Sºùöm«Pz˜Þ‘"Þy{ú©ãÂ3³ŽÄy—n+º±Å:a$T\0®ýŠI l{¢ñ²?qôV:©‰óy‰ƒÄy¢I¬'„®uX9ËÂ5SÞ}ŘnâRBÌDBF ÂÎ 5M,ÝØÑêXÚQB7u†}êñÅâûmBIÿ»`ÓØis_QÌå¯V¶m^5€ô"âÁ¯Ú/ìI°)ÒÚ‰ÐIúf;& V¼ýœHªì¥y}Ù÷щ·ùãÄõî\Ỏ†4#HHâLx^ðÀæU·\Ú Y:‘%N,ÝØæºM7}§Ë¦j(4IâèD ­Ž×âÄq÷®OLÇ}ˆ—ü¿Œ:jÕ€ÕãµÒó¿z×Ó'Eí+"€¯ßSnª´uóÚ¨¤÷ÇTî=â˜ï†výªˆ­ÏÔ]?ªÐª§áçJ\Q qì¼=n=ÂckK!J•+ÿq…ë…$ö,·›@'ñÏ}>áU[ëìœ ètcÚÝ”¬ó\!ö­›ÖïHJ„N”ÐéZOäÖñ©GÑ>ÄQ´yÓXéÙ3³ñIuEÆñËhÝ‹ë_°y„A[¼ ±ÀÝû­_ý©Lö±|¨°¦aòlÞÌQPtòô*Rïfy}?pÎTï>:õJ$$ñóKï¼bœo=5‡Jt AéÂ{9ÖŽ†™iwQZyÂŒâ±Ãž<qñš¾ht Fjµ€NVv¦NÎß±¢³‹ÈŸ¯R¯K"?ཇ ísõ¢Ø‚8X7®‰“rpÕÛ¾½ Ì ²Sä*R$r|„’í,8TV[Ž-XÞ‰MpVÒ:þÞ \ºy«ê§ç(ê‡õc—OÕxð¹Ú©[¹HÐÂÆ‰guë‰Àho£à¯™çÃ7¯î*¼ïÚÉ:û,ä?}þËß•xÃKWä:á[ñÎ=²Ðìy6O œ#}_Dàïö'ž[%^&G©C¦**Z“ô9h{Hz²ÐøBŠ$r(u Yï(ÏEEÎ= ×¹²Èpâ¢TE”FWœŸøŒHlÆ5<8çp‰ bq©×ñsãÑCÿêÛNŠVÕB%t» Fy] ':^Å(Â@ÅB‚#Šu¤¹{×"?uÝjLCw}H˜œ¬—às_zDÞòÆ—P ,K÷Ü¿Ož;Ðs4O®®.‰ô Ú ØìÀDmHdª|àÙYK'í)ÜË~_p)IÒ‡8Ê+ [Á¹w‘²†Ëz(­ú>Ñ’!»HP¥û¸ò=‹‘…6€VžœBÀÍ»¶Æ&H Eƒ.ë;~E‘ ØÄ¡ïmµî}®Å[‡X`ätÂèHÙüë&'Ö–$€¹VÙ¤ÈÚ®.WêüÔŒOæT©KÊ“"R È.q> ¡t“!åó]$¨’¸ðbÉ ½NÕŽŸ$X±¾ç°õYCN¥cïMé¸4>‚•(oM}g_k(Ò‹Q­h¥ò*h¥k'ß’0¿Qäù£cá`N_Õë®ãIÚû<}=¾ •Ìá\Y~;‡ËWAy“³Ü\¯Oe7P}+º°Ò‹&¤êã ýŠd?Ñ dQ¥RU@+tJ¼K9s…K"h#¨T¶ûá¸Gro¡s‚E¡”Â9aסΕi°_$)jµ€V{åñ€% ÀÚòƒP÷Ú²‘Þ']ÎLjÕ8ã³r}Þœ€VXký¤ÛÔÞN'ÝI‘#[‰ÊÿTšØëýs×pê,É0¦„R¤íÝ×gõzä«ié< | “ÖM%Ô}jÙ×.¬óÊ$¥”'¸~ý¦ÈõRäR³QºÝ˜=Ç#¶¯îWÄó‰ó\ fÎ ¡Q NXãž$øbIæ”mÓm¤Ö€8œµyïq¶‡|±éKh2œƒÝJ)&•/¥5ZIASOWªê#T¦C  g“8…èìy:®ÖŠ Ð%¬®¼ pN¼³É F@ÙáVç€ýCÎùç9k''€ ¬ø%²<ŠWD•°òûˆÀþù˜$0‚’‡%J6I°6ÆÆÎGãœÅ&Öûlæås}e^y~Å+”mBÂPcDS©†£G£ÑÚ#­r‘¬÷Þ ¤”º­4~åã¹J£¢Ø¶:äŠuU^µ¥Ê¦‘“‹dpߣ‡1Õª'r'X%)ò](sE¶ɬ~ÏA‡ŽuH%jù­zRÀs«Ò//º†Àƒ’§w÷¢K•´Æ¹øÿô¢W“$Fi…,‰‰£„$‰Ibÿ¯'‹³I.°eóÐËzïÓZ£Ã€0´&Ę A „!ž B_ñ£S6¾uuH£¢©Öhïî%ÓTÙì냫CF«šK&|-âéÂÿùƾ©ÚW‘ú&2ä{%'^bñÁ"§ XÖ~¡8aº¯ ù°îôA_ }±§@Q_•Ñz(ò3¶eE˜o'Ø$F$ 6‰‰£˜nÔ%‰"¢(&‰#’8Æ¥Dà=ƒR¾cöUáY}% BHÔÐÚ`Œ`Œ/‘^7¦yå¶QvNV¹dM…©‘3Ó?]øÚC‡³2„¥zOÊÖÅ ¢R(±€hpžó!’Š€„…fäõ¨%ìÑÌŒ,<è/»6}¡()ÿœ£;ld‘ªÂ9Hbü¨Ó%궉ºqa“$¿II_/ºFs.àMHmÀ e¼ªÿ’©*ï¾j=7lá\…{žšáö»ö ª5DD¯ÑbÎÙ”|à©hÆfeÍÊ |±ˆ³B·{¿JŸ4*¢Bë~\-¯¸'€þ,Úbg­!ŽhÌ·-I’ ” Jˆã˜¸Ñí´év:DÝNîÉD8Ÿ$`­-Ü׿€ ÂZ…J5¤Z ©5*LŒÕø…×måMM¼Ðø]Ž-DüêÇ¿ Ú ‚•5©r.U~=ò]âdo ¹ÜÿÖ^\¯‰³`ºQЕ™³¢úñ­O† —>¢¾/ÎÚ4’¢IÇ1Q·KÔiu:Ø8åÒ~‚S(›N1I’ê„óö\±ñÜ]õüæŸ>ÈÓ{çÑõ0¡BJêôr[œK$N½¥Iª JªôjÐJ|ÿ!¬÷ªÆQœ;¶Êq©ž‹n˜sh9JÚôi’nUå­ •`“…àŒx¥/ŽHâ'DY[fƒ—‡Ù÷M¡!‚J~ç/9ç‘l!âÿñîºÿ ªVE…!˜48‰_õ6öŽ1ãl’zHÓ %g1Aˆ_Í’bc*ak‹‹ºà›u}ÿ®†@¿Úú­€F€àãþiÓíešµÎ›{qœ»q!ÓI–k®›:t†hc¸åª)^Óßyäƒ/ÜwüŽë¢kUT¥A€˜T¤Úç\’àlì?.NMaßÍÚ%‘:F[ãçK±.Õ%…R³š>„Û>îíÜò1”úíþ$v}+¾M'hNáAÖXÓRž¤A¥´FkƒJÓ¨ßsݦç ' OXàÿï#|öÎgPaˆªU¡RõÈOû¿¸$FRˆK"O.Nu @6ö¾Vq å“ÈT€X‹XËXMõT¥%RÅ]_)´¨åó†ÀÕWL©bÿŸ8ÎÜ´}Pp¤ŒT .qˆñ —›x‚Ê“+„ÉÝÛ;fz¦“®.U!ðù{ð©¯ïâ³_}ŒFW*ñaBã‘ï¼öž±zÿñ«?Ÿñ\2W€•BÄ¢”Ic6íuo­=á ±¿:·º–€ÎQÖôìºB@XE…hß:g}b©õJÞÀªÇÇBl’n ígï0YTÈ{×Wrä<º€oؾ*(aù4¶@7²K7UL5„©q“ç³QIgá[MÎÎËÐã=ÿOÖžÙ NP† øæã‡™Yˆ¸ïÉ#Ì.F<üÌ4~÷ ÷Njí9TXE ALàó •ò·gùâÄ"ã¬-½²ç>ý»*ë³$iøÚëXËúâî¨}ˆÏ ŠËNi_Ö¥LšÏî=Rþ»6`B$³˜”ó^=\϶Ï>…wÎ"¢~‚bë>H¿Al‚XÇES£YÒn •*î+ƒs3À¢8Á9—›K™–'ž<¡­£òôxÕ½–Þ½w=·©)DðNnýŸâȡ٬I vß3”ñ¡ã-©£Ei_úî#LÞ‹çãà ’q,ÐòlIõžŒÐKγ,ú™s4ÕOƒdО˜÷Ú¿/§¶\ºiU>^5p­ÿ§Û-ç¼÷ÖwœZNàXðв9›­h ç¬Ͷ žxn1*_ÉJiOǯOÈÒ©òÃC¤àZ-9Z–Tb–ºÈ0Ä÷›jø—V)ù¥$±Ö—W;Ëk®Ø€VBÿî…EœôçÆÝN+&€V+&Na K]9!cÚ^6½tÇ8ÏH§Í:ÕŒQ>I4¿T ¦7gMǬ'‚ùňÏÞw€¼ïSR¬ô~Søü+cR%nÈˤáÖÀhT`ò^G.¶yö()hÏR4m–˜¬"¨aëµÜ°Ú)8Ü7'I,.vlÝ<ÁÚUÕœŽ‡1 €vDã§Gcc†……ž"8·1¹z°@$Ks Œæû¯šâÓw>‹Äƒ2itË9´îóÈà]z3«1Z³kß·þá7¼-œæsåY=âíc¬wµâ¼ÈÑõ:ªZAU” ½ÊWéj£1NÙº`ŸÇèýó=¡îRyŽ€h/ŠuªØñ{H¬$«<ΕÁ:ß#7'Ž”ý' bcn¾j3F)´óû «PK¬ ÀϾÿŸž^uð-ß·£¤Ÿmû ¡„y=@!lß8¶ cì9²è+rk!J§™¾ L¨±™­Z²²L>¯@šÐ`ÂúÄÏÜfáÊ«½o$±<öì sÇ[Hš‹ ”ÂS«`ÂÐ'‹*5 4i­0A€ 4h…KIœxwv±hC$ u{¼ i4Ú˜Ò¸ŠÙL¹Ò—^ï¢48–¤Í)úäiÏÞÑþ7ãâ-Ž·Ý¸5gýÒ,ýw±¯7@kñè‰pb臙ãm¶oè ¢Ï-¬”Ï¢ýG×nä¿}öqTd Pi&¯8‡Ñ»Ô[à5¦bëªõ*•Z@P1¼åª ¼çÚ \½i0$|Ïî9>ñÕ=Üþõ½¨ÂJH^Í˰èÅÜÁÿf Æ(þø'^Æë.šà·>û4þ•]iI¸÷]ˆs8g¬Ã:I] ž0‹*çNö@ç6ÑX•¤çi®¤,f™B8?‡’Ç'\~ÉzÖ­j¤R«ÏqT¸G³Yvø´ž¨„¾q@y™<>Ú3ûzƒâ–«¦øóÏ>NÒP º‚ÖŠ$ ijNÔP×°6ÊçÖ*ÔGªLLÔù7m8aÿÑE.íË 8:×á×nàåÛÆùÄWwÓuc|0ݹ^ :du?)Q(‡EçCß ÒϪV­´'^-ˆ´8”6ãÓÓÓZƒbVsN.%ˆ4·ßZI+‹toÖr*M’ÑÚÇ\ŒÄ1’$|ÿÛ}ã(¥†"ÞÓ™°¸X&€÷ý³<3=‚6oh°k_¯HtzºÅªÑA‡Pf!k­™¯qÓUùÊ·žƒ@hÝãb1ÃÅÁ€hÊ„˜ BX©06Zå?ýÈ%\5Õཟ¸ŸÛïÚC£pÛ¯ÝÌiïžþã7ýÌ5üóÿþ]Þqín}ÅFv¬©³|øÓO羆?xçÅüÁ;/8çX+æKÍðñ;ŸcÏá&Ú~ôÕ›¹õ¹hmïþóø ŸùÎQ®Ø<Æë/]ÍÅéoÇZ1qÏA~ÿ?BÔŽòLQ å³@S·/>ˆÅH7fÍêo¸n+Æhïí æ ›QJàšÍ9V ',u¹öªM%4MÏ´zI™ò+à ­¡ÖüÄ-— ­`;1¶cÓ-Y} CkI]šªôAÒ4pãõ€·^¹Ž«¦|EìŸþô5¼íæm´Z ïþ·w1ÝŒù£/=Ëíwíà?ð nÜ9Áu[Æø“ {óö" ¹Ð9¡¯aM#ä=×nà“¸’jÅð#¯ÜÄïüÀöòÞtÙ$ÿéÝ—ò37mÊ‘Ÿ]ÿÁ×nå?¿ïZ\V3ŸÎ"N3ÁˆFb‹ëD¸8⇿ÿ%TÎw>)"=÷W³óe‡Os~ÏŠ `…¥ašVÚ)ÔZáØ±6ëÖ6†Ÿì¼"·yMƒW]»‰»î݇5mjèPcS•9qÄ@êlIwå°NxóKÊÛËÿ»»‚ïî™åÙ½sÜüÛ_åÈ´¯…ÿè­WòÖ+7äçÝp¡ÏøwŸ{šùñoú šâÊQ „ÞB0†7^áÛ¾¼ÿßæÏþò/tñ «ì¸x=ßùƒ×²¦²mm›vŽð_ïÚËïüùƒLYdíÆU|ôǯä'_½…Ç,ðýù2ÓGÛÔÇêüЛ.âO~â þñ5¼Õ’'~Úž*-ÊG£.D]&Æj¼ã¦cÐôÉþ|Ê„$±4ûÀNse ¬°àyݺr™ñ‘éæÀ9¹«[ƒ1m·Þr X‹mu‘nìëãTR¼E—ªm{Õ¦Ö I”pm_Ú÷Ú‘¿þ͛ٱu¼„ü_x㎡ã~öÀlêƒQ•ºVG×èZU­£kUL5ìMC¦$ºlj¼I¶kw¥v»qÞåì[áèÄZ¦/ò­§¼ÝýÄþŽ˜›Ð^ìòÂ’ÖùùxB/À{ýb\·‹bÞuËK©Vïê/Ä-408>W÷.Îâ—>ô3+®jY\åfå qمň¹ùȇk%K#ï1%-^îoߏз¾v'6ê’´:H×ß# Ç“x= ÛÞKyG‘-qg8[~êP“C|`×ìÒç‚a€ªÖ0# ‚Ñ‚‘•‘a½ŠÂòäz öÖK D£¶wÍ>™Ó¥¾{ú7Ë2·îÔ»gÛó°ét‘N— ·¬æ=ox F)Œò–F¯¦Í?Äá rææÊìaveÚÿIÀæMe–ðÐíûHj8'ØÈÒmÇ|óÙ²2óÄ¡&ïþ·wÑj%¼æÚ)€ÛïÚÃ{?qÿÐ1_wÑZê£cõµ±:õU#ÔWÕ©Õ©ŽT *a97@áw} «¨°ŽªÔÑ•*Ú\ÅITF>/€>‡“ÒÚÓeW´8AIåQ;¤ÓÅuÚh›ð³?~£/I7YZp!ÀCOšÍÏuJÁŸVs†~àÝ'UÓ¶b?ÀM×m-9…fç»,6cFG¡®IƒÆÇH=à§è*~ÿãw‘è6Qèº÷Ð9— •`T‚%Mwr¾“¦Çÿ¸û7îðòvºóãÿñZ­„[ÇùÔ‡^É7Ÿ™å­»“ÛïÚÃmŸÈEÁûf¸bû$?ùºüäëv,û^ïÿóG{¥P¢|üÀTPAz±…R9IÊ]±•Î û+rLM4¥Œ%q1„Æ÷@ð±í6ÒíòÊWìäêkýê' ´ ÙæNàØLy_áÙ™•+œTÁûÚÕezÙ·¾PÝš½xzWå¹€Qš7^·…ë®ØLÒl7[Øn6Kÿò\@)›æú"$NøË¯<Ã7žšaºóæß»‹g÷αcë8ý›7pãÎ >zë•üΟ=Ä}éYž;¼À[~铼ÿ?ÜÅcûV`u:>è©"£Hk„qÖ{¥X)I\&vI¯óíPJÇÅ ØÄ2°-”ïdá9z”`[-¤Ýar¼Î/ÿ“WQ ŒîÅE@`n¶-d»n‡ŸÿÉ­~X:œ±$ôïzñÎI&Æûö NÝöN„DQâ˜YŒøÉßþ ÓÇÛ˜U#£ T%Àª´k§R$®`Ò‹}*t½ŸøÐ ¼ãº©Ží»{føá|Ž=»û쓲ç,ͬ$‹SυЋÂ)æ„„ž}{Ÿ³wÌÄÝ4G-}[cP¦âŸ…JK¸¬?'KÓ*%„¢y?9Z£‚š¯øiv°ÍE‚8æßüæÛ¹æ%ST!4iÂBòGNCVؽçXÉö?¸ç~>ø³?rö àkwï’é™EW«/½|š² 䬳tℇž>Ƈ~÷œ 0«F1£ T¨óݹM"#>ID|:µÄ1$o}Í…|à-—póåkÆt×#‡ø‹¯<Åÿ䃨À¤ÈO˜F)‹M¡zo®zÿjŸó§ŒIå¹éEyœõÁ¦$!ßAéüšì9YZ"©hÈŽ $³^o׊pÍ&Òióc?|ÿôíWS ÂÀgRé‚~R\`‡ϳ°Ðóüu;-~쇮<¥zöSº¨Ÿ lÜ0ÊS«Ø•s>IÒIº[Fœð¿ÿæqþøÏîF×k㣘FŠD 4VF}¼xöëW_ä£~I•/ÝkÄO>3M«ÙEiãW­ }I–Ò¦A~ú²¨\ïÍ{eÛ>Ó·ðÉ¿§cp’F#ûwÅ0eùßëï’§’@<’(âÛŽ‘fi-rí5;ùý_¼…Zø¶4¢ ©ñeè´cöíŸ-Û·û>ôs?~J¸<¥‚ú 6†ì;Ô =>²ÈšÉµj@1ÖéFá 8 øá7^Æá™&uûCiÓhAÔQƉCi‡a‘D5üðŒ—Éh I€˜„‡ž<ž5ùePµQ0:eÝïv6É3>dhîIúK/ÀSC:öÔ÷®RB2…Ðâ b³}ùóÉZ•+² ptz±ô}fz÷)#ÿ” à•×]¨nÿâãÒ³þ;°÷¹Y.Þ¹fà\­À¡ÑÎa´ïaóþº†é™û't£Žª¦©ãÕ$a¥ßìYkD‡èT7ÈWb¶ÒŒñ\Àøl ¡Øec,Ÿq\ÎìònÚ%v±îûnR‚²éÊÓP±g±­n± í&›7­á÷~ù-ŒÔŒÒJ÷šR™ã-ºÝr†Ôì‘§N÷þÕNçâ~Q°aÃ(›7–)åañåb‰¢$¡8~ãß•{ïß…®†˜±QÏ Â§Sm\¥Ž£Öc­bóàC–[©²6žÙjTËd/•NӇΕ¥£Ð.BÙùž£H@b‡kµq‹ Ði399Æ}ô]lZ?FÅB㳂KY¿…Ç´Û1ûÌ–|î>x šNëâ;ïzZŽÍ•ßþ¢í“Œ n„œußt"é.` ‹]Ë¿ú/wñ»Ÿ‚ÐŒ¢G¨jàY Êª„œcéÓ¡.¤%n3ñ²ôý’&ʵҊžùÝ×Î15µšßûð[Ù²nœj 1Âä~qÎÀ÷ZÜûÜLÉìkµf¹õÝןv#£SÞ>àµ7_¤*aÙE±kïì@yRN£Äo–£UÃGßw3?ð¦—!±%>>Gr|×ìôö”uE„q3hצ3HäÒû>Mås†}òˆä’ýt†\×O‰PÑq”mzKÀ XV»°€››…NÄöø÷ÿâ]K#¿ìñàÐáùòí¹Ÿ3§MA0( FF*\´cM©#ßئûúÊãvlù³Ï=ÌÿúË{}ÖM-ÄŒŽ 5T˜ÖÈçÅÎŒ!…~øÃâŠ`‰naCo³Ô‰b!^@I§°êY¤ÓƵZ¸v e…«®ÚÁÇ>øFFkáò—‚™ã-ŽÏ”ƒoû÷ÜÇ/üì{ÎîÎÈM¾~ï3rèP™B'ÆklÛZ¬ì-´1±¤=‚ýžQbi'Ž¿x?ø‰¿ea®í-¬‘ôH UóžNC§®ÑÑ#ˆ®–³$FûR±O@$²ô¥Þ*p Ø&ʵÓÕ42f‰¢Ô»×B¢˜P~ð×ó︚jh¨ã}TNçÅ(Ã`a±Ã‘à ¥cÇ?Íû~êÍgop†à‹w>) ÍòíÖ¯ajjth*“o‹—õÆ÷›*D‘ãÈl›ù'wòøcü‰•3Ò@5j¨JšH™GÑ5DW‘t7Ž2 ¦Ð¬xÕ%Yp]°”tKˆ+ĸN„´š¸Nœ°zb”_ÿÙ7q奩††0-C3ùN$ÃGÑjÅ:4W"ÔÅÅiÞûžÏÎà À_~B:òmØ0ʆ¾­Î³wò:’¤ÁŸl7PK”$üÅå¶ÏÜG§{M¿ZÁ4ê¨ZÍRŒ*‹À³¢jˆ® <ðD’A†aßYpm°]”Dù‰9»ÏÒ·»‘WôÚmp‚áÆ/ãçÿÉ«˜«jC`´oj™iûƒMý¯ñ<8ß×={è>ò[¿xîÀ§?ÿ˜$®ì^ذn”õëû²y3 W2í;ÝâÍAl-ØräX“ÿð÷ðíûžMG+>ß¿VGÕRŸI=qšž­.¤P¯/(¨pè˜{–¡¯ÂQ’ .A¹HÒ;+Íï÷lË"‰Oß’n×îx°6mZÃϽ÷5\uéFx­ åí|EòË ëíVÌ¡CƒÈæñ¯ñá_ùçg_gü†Ÿ¼ãqé/·šœløM'3Ä÷#!M«'Ä.Ûo0&Jß~ì ÿßmßbÏîétçñ–z]© *LîA˹B!?¿ßþ2‘äN¥½ „!iö‹$1D .Žpí®wQ§b`b|”·Ýr%?rË„¡& íûg,2wEñ8Xlu9zda`{žù&¿ü ·ž\•›Âp"_Ueóæ‰áž.ɸw¹&â·q‹¿¡r'¶|ûуü¯;äÉ'ôF¯A…¯„!:Ò`.è xe+MDxtÿ6"i»{/ÛÓê£$ÁÅ1Ò(ÊûᄵkÇyË^Î;^wõjHÅhBã÷(¯úA¤g0¿ÐaºÏÍ ðÜ®øÅžž³g98k7øÔí‰íÛ¾ld¤ÂÖ-¾¥©”×d!iøÆùmáçËžcëè&–Gž9Êí_}ŒÚC³Õ-˜ã ŒB›¦¡`­ ݤU/-ªäák¿ÙaýK;s$¾¡#‰íÕø‹ïÖ{é¥[¸åû.ãµ×ï ’*xÖFùGæ«^z_úÞÔ›-'w<·÷^~ñÿÏYÅÑY½9À§?ÿ°$®œTZ 5›7MPo E¤}“Ó¿‡`Åo@‘¤„[G'²Üùí]|åOòôÓ‡éFQÚ©´ r•êB¯!S&ÛÓâ—öäÉ8BFŒâ+x¶n[Ï+®ÙÎÜ|)ëÆ„öÊòˆÏØ=Ú¡Šñƒ!m¬s9²H»=¸åë®'þ–_ýåvÖñsÖðé¿~X[&¥`ýúQÖLv¢¦g„`Ó­K‰ÁZ’4{(v~o‚¿x??~ÇŸ9ÄžÝGH M˜†Šép¦+¤~݆q.»x/¿|׿t3«ÇêéŒ1„iW3£üŠ_ âÚ˜#G<|®Ûæé§¿Áo~øýÏ nž—‡|毖Øîb52ZaÓÆq‚`øPŠÎ#HÝIBΜu©WQp‰%!I±8ö™gß¡ö˜e÷s>ƒ&±–çÒ{{`bb„±‘JÁÔ†Ul\7ƶ\¶c-FùäL£Ö~‡’tgÏ|µãòö.Ê]Žoq|Ë_lM³û‰oð±üÊó†—çíAŸû›¤×Z±~ý(«'|5ÍR²2ƒ,¶·× õ&¹K7¬Îj­Ã’îÛ“nX•UeÛ­ª4ŸÉ#5Ý.†ÁÆ ÅËt¿'Q†ôG9ÁjÏ Û9:Ý$Òôâèá'yÿO½åyŇ÷nûì#¢û]¸@­2µqŒjeP7ô÷§ùñ¹YÙÓ(~Ç2I 4]º­í»6ÏÉÌ3—";ÕŠ/¥®éàeýÌL³”ÆU„½Ï~‹_úù{Apñ‚<à¯>wŸ8Þvb¼Æšµ£„F/‰ø ÜR?,‰RoZT¼Nç•@å™Q…éY΄[ ¬8ºÌo•83X\œæÀžŸ7y? ^°|öŽoHÇN Íjccc5ÖL6z{¦°ìܯ<ü¿‚¤“G:@âósæçÛC°÷ÙoóK?ÿ£/èüà LüÕg¾)ά]ò÷Uc¾O@µ6Ü•»|BÈà¹'&Ž“G¼‰µÌÏuYXXñ3Ó»9¼ÿ»|ä·>tNÌý91ˆ nûôý¢ƒ¥÷æ«TFǪLŒW1Æœ«ÝŠ£¹Ñlvzô¡µØ¿ç~íß{NÍù95€Û>u§àV¡«Ë·ˆ¯×CFGªÔáÀn™9œ¥Õn£Ý‰i6#ZÍh pS„æâ ÓGžbúàüþïÿî97ßçÜ€2¸íÿ~A5N¥¶ö„ç£iÔCê#jÕ€0øÍÙƒüÚ¯žùÐíـŠ3øŸÿó‹’¨ #«.x¡‡R‚…¹#?ú,ÇŽíã_ÿîo¼¨æôE5Ø"ü×?ý+Qáae µúÉoê|:Ðé´XœÛÏüüaZ GøØG?ü¢ÇíÀûáOþËmÔVS©¬¦12~FïÝjÍÑnΰ¸pÖÜ>ò‘_ýž™·ï™ôñ?•P˜ª8Öj…zAÊ»˜ÝÎIÒÅ&ÝÎ,ÝÖ¿ýÛ¿ü==Gçá<œ‡ópÎÃy8çá<œ‡ópÎÃyø‡ÿ?P¿B¦Ðç¤%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:33+03:00%& ªIEND®B`‚xchm-1.23/art/xchm-128.xpm0000644000175000001440000027666112210054137012113 00000000000000/* XPM */ static const char * xchm_128_xpm[] = { "128 128 4023 2", " c None", ". c #C6CDE4", "+ c #CFD3E7", "@ c #CCCDE6", "# c #BDC4E1", "$ c #B3BCDC", "% c #ACB4DB", "& c #AFB7DA", "* c #B9C0DE", "= c #C9CEE4", "- c #B5BDDD", "; c #B1B7DC", "> c #C3C9E3", ", c #B9BFDF", "' c #B4BBDC", ") c #CCD1E6", "! c #C4C9E4", "~ c #BBC1E1", "{ c #C5CBE6", "] c #CBD1E8", "^ c #CFD3EB", "/ c #DBDEF0", "( c #D3D8EC", "_ c #CACFE8", ": c #CACFE7", "< c #BBC2E1", "[ c #AFB7DC", "} c #B9BFE1", "| c #B2B9DD", "1 c #C4CBE6", "2 c #D9DCEF", "3 c #E5E7F4", "4 c #F0F1F9", "5 c #FCFCFE", "6 c #FBFCFE", "7 c #FBFBFE", "8 c #FBFBFC", "9 c #FAFBFC", "0 c #F4F5FA", "a c #E7EBF5", "b c #DADEEF", "c c #B5BDDF", "d c #ABB3D9", "e c #CCCFE5", "f c #AFB5DA", "g c #AEB5DC", "h c #C3C8E5", "i c #D6DBED", "j c #ECEEF7", "k c #FAFAFC", "l c #F1F2F9", "m c #DCE1F0", "n c #C7CCE7", "o c #B2BADD", "p c #ACB4D9", "q c #BEC4E3", "r c #F6F7FB", "s c #F9FAFC", "t c #E1E4F2", "u c #AEB6DC", "v c #CDCDE6", "w c #B3BADD", "x c #D3D7EC", "y c #F9F9FC", "z c #F7F9FC", "A c #F2F5FA", "B c #D9DDEF", "C c #B4BBDF", "D c #DADDEF", "E c #BCC3E2", "F c #B6BDE0", "G c #F7F9FB", "H c #F6F9FB", "I c #E4E6F4", "J c #BDC5E2", "K c #C7CDE4", "L c #C6CCE7", "M c #D5D9EC", "N c #DFE2F1", "O c #B5BCDF", "P c #B4BCDD", "Q c #C3C9E6", "R c #F5F7FB", "S c #F5F6FB", "T c #F2F3FA", "U c #CED3EB", "V c #ADB5DC", "W c #B3BBDF", "X c #E4E6F2", "Y c #F0F6FC", "Z c #E9F4FC", "` c #DFF1FC", " . c #DEF0FC", ".. c #D8EFFC", "+. c #D3ECFB", "@. c #DDF0FC", "#. c #E3F1FB", "$. c #EBF4FC", "%. c #E9ECF6", "&. c #C3C6E2", "*. c #C6CBE3", "=. c #C1C7E5", "-. c #F5F5FA", ";. c #ECF6FC", ">. c #DAF0FC", ",. c #CDEBFB", "'. c #C4E9FB", "). c #B6E4FB", "!. c #B5E2FB", "~. c #B4E1FB", "{. c #B3E1FB", "]. c #B3E0FA", "^. c #B2E0FA", "/. c #B0DFFA", "(. c #B1DFFA", "_. c #BCE4FA", ":. c #C4E6FB", "<. c #D2EBFA", "[. c #E3F1FA", "}. c #F4F7FB", "|. c #F4F6FB", "1. c #F2F3FB", "2. c #BDC4DF", "3. c #ADB5DB", "4. c #D4D8EC", "5. c #F6FAFC", "6. c #CBEAFB", "7. c #B9E4FB", "8. c #B2E1FB", "9. c #AFDFFB", "0. c #ADDFFA", "a. c #ABDCFA", "b. c #A7DAFA", "c. c #A5D8FA", "d. c #A3D7FA", "e. c #A1D6F8", "f. c #9FD6F8", "g. c #9FD5F8", "h. c #9ED5F8", "i. c #9ED5F7", "j. c #A2D7F7", "k. c #A5D9F8", "l. c #A7DAF9", "m. c #AADBF9", "n. c #ABDCF9", "o. c #ADDCF9", "p. c #AFDDF9", "q. c #C0E4FA", "r. c #D1EAFA", "s. c #ECF4FB", "t. c #F4F5FB", "u. c #F2F5FB", "v. c #DFE3F1", "w. c #BBC1DF", "x. c #BFC4E1", "y. c #E7E9F5", "z. c #E4F4FC", "A. c #CAEAFB", "B. c #B0E0FB", "C. c #AEDFFB", "D. c #ABDDFA", "E. c #A7DBFA", "F. c #A2D7FA", "G. c #9CD5F8", "H. c #98D1F8", "I. c #93CFF8", "J. c #8FCCF7", "K. c #8BCAF6", "L. c #88C9F6", "M. c #86C6F6", "N. c #83C5F6", "O. c #82C4F5", "P. c #82C5F5", "Q. c #83C5F5", "R. c #84C6F5", "S. c #86C6F5", "T. c #89C9F5", "U. c #8DCAF6", "V. c #90CCF6", "W. c #96CFF6", "X. c #99D1F6", "Y. c #9DD4F7", "Z. c #A2D6F7", "`. c #A5D7F7", " + c #A7DAF7", ".+ c #A8DAF7", "++ c #BCE1F9", "@+ c #D5EBFA", "#+ c #F0F5FB", "$+ c #EBEDF6", "%+ c #BBC2E2", "&+ c #BDC3E1", "*+ c #F7FAFC", "=+ c #DBF0FC", "-+ c #BBE5FB", ";+ c #AFE0FB", ">+ c #ADDFFB", ",+ c #A9DCFA", "'+ c #A3D9FA", ")+ c #9CD5FA", "!+ c #97D1F8", "~+ c #8ECCF7", "{+ c #87C9F7", "]+ c #80C4F6", "^+ c #79C0F6", "/+ c #75BCF6", "(+ c #70BAF3", "_+ c #6DB9F3", ":+ c #6AB6F3", "<+ c #68B5F3", "[+ c #67B4F2", "}+ c #66B3F2", "|+ c #65B3F2", "1+ c #65B2F1", "2+ c #66B3F1", "3+ c #67B4F1", "4+ c #69B4F1", "5+ c #6CB7F1", "6+ c #70B9F2", "7+ c #76BDF2", "8+ c #7CBFF2", "9+ c #82C4F3", "0+ c #8AC7F3", "a+ c #90CCF5", "b+ c #97CFF5", "c+ c #9CD2F6", "d+ c #A1D5F6", "e+ c #A4D7F6", "f+ c #A8D9F6", "g+ c #C7E5F9", "h+ c #F1F4FA", "i+ c #EFF1F9", "j+ c #B2B9DC", "k+ c #C0C6E2", "l+ c #D7EFFC", "m+ c #B6E1FB", "n+ c #ADDDFB", "o+ c #AADCFB", "p+ c #A4DAFA", "q+ c #93D0F8", "r+ c #8BCBF8", "s+ c #81C5F7", "t+ c #72BBF5", "u+ c #6CB8F5", "v+ c #67B5F5", "w+ c #63B2F2", "x+ c #60B1F2", "y+ c #5EAFF2", "z+ c #5EAEF2", "A+ c #5CADF1", "B+ c #5BADF1", "C+ c #5AACF1", "D+ c #5AACF0", "E+ c #59ABF0", "F+ c #58ABF0", "G+ c #58A9F0", "H+ c #57AAEE", "I+ c #57A8EE", "J+ c #58AAEE", "K+ c #59AAEE", "L+ c #5CACEE", "M+ c #60ADEE", "N+ c #64B1F0", "O+ c #6AB4F0", "P+ c #72B9F1", "Q+ c #7BBEF2", "R+ c #83C4F3", "S+ c #8DC9F3", "T+ c #94CDF5", "U+ c #9BD1F5", "V+ c #9FD4F5", "W+ c #A4D6F6", "X+ c #C1E2F9", "Y+ c #E9F1FA", "Z+ c #F0F2FA", "`+ c #BEC6E3", " @ c #E2F2FC", ".@ c #B5E1FB", "+@ c #ABDDFB", "@@ c #A7DBFB", "#@ c #A1D7FA", "$@ c #98D2F8", "%@ c #8ECCF8", "&@ c #83C6F7", "*@ c #70BBF5", "=@ c #69B6F5", "-@ c #65B3F3", ";@ c #61B2F3", ">@ c #5FAFF3", ",@ c #5DAEF2", "'@ c #61B1F2", ")@ c #70B8F2", "!@ c #81C1F5", "~@ c #84C2F5", "{@ c #83C2F5", "]@ c #82C2F5", "^@ c #81C1F3", "/@ c #7EBFF3", "(@ c #6BB4F1", "_@ c #5AABF0", ":@ c #55A7ED", "<@ c #53A6ED", "[@ c #54A6ED", "}@ c #55A6EC", "|@ c #55A7EC", "1@ c #59A8ED", "2@ c #5FADED", "3@ c #66B1EE", "4@ c #70B8F0", "5@ c #7BBEF0", "6@ c #85C5F2", "7@ c #8FCBF3", "8@ c #C6E4F7", "9@ c #F0F4FA", "0@ c #CBD2EA", "a@ c #BABFDE", "b@ c #C0C6E3", "c@ c #F9FBFC", "d@ c #EFF7FC", "e@ c #C0E5FB", "f@ c #A5DAFB", "g@ c #9ED6FA", "h@ c #96D1F8", "i@ c #7EC4F7", "j@ c #74BEF6", "k@ c #6CB8F6", "l@ c #66B4F3", "m@ c #62B2F3", "n@ c #60B1F3", "o@ c #5FB1F3", "p@ c #79BEF5", "q@ c #92CBF7", "r@ c #AED8FA", "s@ c #BDE0FA", "t@ c #C8E5FB", "u@ c #C7E5FB", "v@ c #C7E5FA", "w@ c #C7E3FA", "x@ c #C6E3FA", "y@ c #BADDF9", "z@ c #A8D5F7", "A@ c #8BC5F3", "B@ c #6FB5F0", "C@ c #54A5EC", "D@ c #51A4EB", "E@ c #52A3EB", "F@ c #52A4EB", "G@ c #53A4EC", "H@ c #57A7EB", "I@ c #5FACEC", "J@ c #69B3ED", "K@ c #75BAEE", "L@ c #81C1F1", "M@ c #8CC9F2", "N@ c #93CCF2", "O@ c #97CFF3", "P@ c #A4D5F5", "Q@ c #D9EAF9", "R@ c #F1F2FA", "S@ c #BAC1DD", "T@ c #CED2E7", "U@ c #BAC0E1", "V@ c #D8EDFC", "W@ c #97D1FA", "X@ c #73BCF6", "Y@ c #6BB8F6", "Z@ c #65B4F3", "`@ c #61B3F3", " # c #63B3F3", ".# c #84C4F6", "+# c #A7D6F8", "@# c #C4E5FB", "## c #C6E5FB", "$# c #C6E3FB", "%# c #C5E3FB", "&# c #C5E3FA", "*# c #C4E3FA", "=# c #C4E2FA", "-# c #C4E1FA", ";# c #C3E1FA", "># c #C1E1F9", ",# c #BEDEF9", "'# c #9ECFF5", ")# c #78B9F0", "!# c #53A4EB", "~# c #4EA1E9", "{# c #4EA0E9", "]# c #50A1E9", "^# c #53A5E9", "/# c #5AA8EB", "(# c #65B0EC", "_# c #73B8ED", ":# c #7FC0F0", "<# c #8AC7F2", "[# c #90CBF2", "}# c #B6DBF5", "|# c #EEF2FA", "1# c #EFF2FA", "2# c #EFF1FA", "3# c #C7CDE7", "4# c #BEC4DF", "5# c #F4F5F9", "6# c #F6F9FC", "7# c #C2E5FB", "8# c #A0D7FA", "9# c #99D2FA", "0# c #8DCCF8", "a# c #80C5F7", "b# c #6BB9F6", "c# c #65B4F5", "d# c #75BBF5", "e# c #9ED1F8", "f# c #C0E1FA", "g# c #C3E2FA", "h# c #C0E1F9", "i# c #C0E0F9", "j# c #BFE0F9", "k# c #BEE0F9", "l# c #BEDFF7", "m# c #B9DCF7", "n# c #92C9F2", "o# c #63ADEC", "p# c #4C9FE8", "q# c #4C9EE8", "r# c #4DA0E7", "s# c #52A3E8", "t# c #5AA9E9", "u# c #8AC6F1", "v# c #8FCAF1", "w# c #9ED1F2", "x# c #E1ECF9", "y# c #EDF0F9", "z# c #CCCDE3", "A# c #F0F1F7", "B# c #EAF4FC", "C# c #AEDDFA", "D# c #9BD5FA", "E# c #92CFFA", "F# c #86C9F7", "G# c #78C0F6", "H# c #6DBAF6", "I# c #67B4F5", "J# c #62B3F3", "K# c #60B2F3", "L# c #76BEF5", "M# c #C3E2FB", "N# c #C1E2FA", "O# c #C0E2FA", "P# c #BFE1FA", "Q# c #BFE1F9", "R# c #BDDEF9", "S# c #BDDDF9", "T# c #BCDDF9", "U# c #BADDF7", "V# c #BADCF7", "W# c #9BCCF3", "X# c #64ACEB", "Y# c #499DE7", "Z# c #4B9EE7", "`# c #52A1E7", " $ c #5BA8E9", ".$ c #68B1EB", "+$ c #77BAED", "@$ c #82C1F0", "#$ c #89C5F0", "$$ c #CBE2F6", "%$ c #EEF1F9", "&$ c #ECF0F7", "*$ c #C1C8E2", "=$ c #E7E9F4", "-$ c #E3F1FC", ";$ c #A5DAFA", ">$ c #9DD5FA", ",$ c #97D2FA", "'$ c #8CCCF8", ")$ c #72BCF6", "!$ c #69B8F5", "~$ c #63B3F5", "{$ c #6FB8F5", "]$ c #A6D3F8", "^$ c #BFE1FB", "/$ c #BEE0FA", "($ c #BDDEFA", "_$ c #BCDFF9", ":$ c #BADFF9", "<$ c #B8DCF7", "[$ c #B8DBF7", "}$ c #B7DBF7", "|$ c #B6DBF6", "1$ c #B6DAF6", "2$ c #98CAF2", "3$ c #58A4E8", "4$ c #479AE6", "5$ c #489AE6", "6$ c #4B9EE6", "7$ c #53A3E7", "8$ c #5FABE9", "9$ c #6EB4EB", "0$ c #7BBDED", "a$ c #84C3F0", "b$ c #86C4F0", "c$ c #BDDDF5", "d$ c #DBEFFB", "e$ c #9FD6FA", "f$ c #9AD4FA", "g$ c #93D0FA", "h$ c #6EBAF6", "i$ c #64B4F3", "j$ c #90CAF7", "k$ c #B9E0FB", "l$ c #BCE0FA", "m$ c #BADEFA", "n$ c #BADDFA", "o$ c #B9DDF9", "p$ c #B8DDF9", "q$ c #B7DDF9", "r$ c #B7DCF7", "s$ c #B6DBF7", "t$ c #B5DAF7", "u$ c #B4DAF7", "v$ c #B4D8F7", "w$ c #B4D8F6", "x$ c #B2D8F6", "y$ c #B1D7F6", "z$ c #B0D7F5", "A$ c #AED5F5", "B$ c #7CBAED", "C$ c #499AE6", "D$ c #4698E4", "E$ c #4799E4", "F$ c #4D9EE6", "G$ c #58A5E7", "H$ c #66B0E9", "I$ c #75B9EC", "J$ c #7EBFEE", "K$ c #82C1EE", "L$ c #AFD5F2", "M$ c #ECF0F9", "N$ c #DEE2F2", "O$ c #BDC3DE", "P$ c #C1C7E3", "Q$ c #D2EBFB", "R$ c #9BD4FA", "S$ c #8FCDF8", "T$ c #75BEF6", "U$ c #64B4F5", "V$ c #71BAF5", "W$ c #ADD8FA", "X$ c #B9DEFB", "Y$ c #B8DFFA", "Z$ c #B8DDFA", "`$ c #B7DCF9", " % c #B6DCF9", ".% c #B5DCF9", "+% c #B5DBF9", "@% c #B9DFFA", "#% c #B9E0F9", "$% c #BBE0F9", "%% c #B8DDF7", "&% c #B7DDF7", "*% c #B6DCF7", "=% c #B5DBF7", "-% c #B2DAF7", ";% c #B1DAF7", ">% c #AFD6F5", ",% c #ADD5F5", "'% c #ACD5F5", ")% c #9CCCF2", "!% c #55A4E7", "~% c #4496E3", "{% c #4497E3", "]% c #489BE3", "^% c #52A2E6", "/% c #61ABE8", "(% c #70B6EB", "_% c #7ABBEC", ":% c #7DBEED", "<% c #A3D0F1", "[% c #ECEEF9", "}% c #BFC4E2", "|% c #B3BADF", "1% c #D9EDFB", "2% c #98D2FA", "3% c #95D0FA", "4% c #83C4F6", "5% c #B3DCFA", "6% c #B5DCFA", "7% c #B4DBF9", "8% c #B2DBF9", "9% c #B2DAF9", "0% c #B1DAF9", "a% c #B4DCF9", "b% c #B6DDFA", "c% c #B8DFF9", "d% c #BBE0FA", "e% c #B9E0FA", "f% c #B8E0F9", "g% c #B7DFF9", "h% c #B6DDF9", "i% c #B2DBF7", "j% c #B0D8F6", "k% c #AFD7F6", "l% c #ADD6F6", "m% c #ABD6F5", "n% c #A9D3F3", "o% c #A9D2F3", "p% c #A8D2F3", "q% c #A8D1F3", "r% c #A7D1F3", "s% c #A6D1F3", "t% c #A4CFF3", "u% c #6BB0E9", "v% c #4195E2", "w% c #4295E2", "x% c #4698E3", "y% c #4E9EE4", "z% c #5CA7E7", "A% c #6BB2E9", "B% c #75B9EB", "C% c #79BAEC", "D% c #A6D0F1", "E% c #EBEEF9", "F% c #AAB2D8", "G% c #E2E6F2", "H% c #DFF0FC", "I% c #91CFF8", "J% c #96CDF8", "K% c #B2DBFA", "L% c #B1DBFA", "M% c #B0DBFA", "N% c #B0DAF9", "O% c #AFD8F9", "P% c #AFD8F7", "Q% c #AED8F7", "R% c #AED7F7", "S% c #B0D8F7", "T% c #B8E0FA", "U% c #BBE1FA", "V% c #BCE2FA", "W% c #B9E1FA", "X% c #B9E1F9", "Y% c #B7E0F9", "Z% c #B6DFF9", "`% c #B5DFF9", " & c #B5DDF9", ".& c #B4DCF7", "+& c #B3DCF7", "@& c #B0DAF7", "#& c #AFDAF7", "$& c #ADD7F6", "%& c #A9D3F5", "&& c #A7D2F3", "*& c #A5D0F2", "=& c #A4D0F2", "-& c #A3CFF2", ";& c #A1CFF2", ">& c #A1CDF2", ",& c #A0CDF2", "'& c #7FB9EC", ")& c #4195E1", "!& c #4094E1", "~& c #4396E2", "{& c #4B9CE2", "]& c #59A5E6", "^& c #68B0E8", "/& c #71B6E9", "(& c #74B8EB", "_& c #AED3F2", ":& c #EBEEF7", "<& c #E6E9F5", "[& c #B0B7DD", "}& c #C2C7DE", "|& c #B1BBDD", "1& c #E5F1FB", "2& c #8FCFF8", "3& c #8ACAF7", "4& c #7DC4F7", "5& c #71BBF6", "6& c #67B5F3", "7& c #64B2F3", "8& c #9ACFF8", "9& c #AED8F9", "0& c #AED7F9", "a& c #ADD7F9", "b& c #ACD7F9", "c& c #ACD7F7", "d& c #ABD6F7", "e& c #A9D6F7", "f& c #A9D5F7", "g& c #AAD5F7", "h& c #ACD7F6", "i& c #AEDAF7", "j& c #B1DDF9", "k& c #D7EFFB", "l& c #FFFFFF", "m& c #EFF9FE", "n& c #EAF6FC", "o& c #D4ECFB", "p& c #CAE7FA", "q& c #B9DFF9", "r& c #ADD8F7", "s& c #A8D5F5", "t& c #A7D3F5", "u& c #A6D2F3", "v& c #9FCDF1", "w& c #9ECCF1", "x& c #9DCBF1", "y& c #9CCBF1", "z& c #9BCAF1", "A& c #82BBED", "B& c #4194E2", "C& c #3E93E0", "D& c #4194E1", "E& c #4999E2", "F& c #57A4E5", "G& c #65ADE7", "H& c #6EB3E9", "I& c #70B4E9", "J& c #B6D6F2", "K& c #EAEDF7", "L& c #D3D8ED", "M& c #F4F3FA", "N& c #F3F6FC", "O& c #9DD4F8", "P& c #88CAF7", "Q& c #70BBF6", "R& c #9BD0F8", "S& c #A9D6F8", "T& c #A8D6F8", "U& c #A7D5F8", "V& c #A7D5F7", "W& c #A6D3F7", "X& c #A6D3F6", "Y& c #A5D3F6", "Z& c #A5D2F6", "`& c #ABD7F7", " * c #ADDAF9", ".* c #F4FAFE", "+* c #C4E4F9", "@* c #A7D6F5", "#* c #A5D5F5", "$* c #A3D2F3", "%* c #A0D0F3", "&* c #9ECFF2", "** c #9DCCF1", "=* c #9ACBF1", "-* c #99CAF0", ";* c #96C9F0", ">* c #96C7F0", ",* c #95C7F0", "'* c #83BDED", ")* c #4395E1", "!* c #3C90DE", "~* c #4093E0", "{* c #4798E2", "]* c #55A2E3", "^* c #63ACE7", "/* c #6BB1E8", "(* c #6FB3E8", "_* c #CDE1F5", ":* c #EBEDF7", "<* c #BAC1E1", "[* c #B5BDDB", "}* c #AFDBFA", "|* c #8CCBF8", "1* c #88C9F7", "2* c #7EC2F7", "3* c #66B5F3", "4* c #9ACDF7", "5* c #A6D5F8", "6* c #A5D5F8", "7* c #A5D3F8", "8* c #A4D3F8", "9* c #A4D2F8", "0* c #A4D2F7", "a* c #A3D2F7", "b* c #A2D2F6", "c* c #A2D1F6", "d* c #A0D1F6", "e* c #A0D0F6", "f* c #A3D2F6", "g* c #A8D7F7", "h* c #D1EAFB", "i* c #F9FCFE", "j* c #D8EDFB", "k* c #ADD6F5", "l* c #9DCDF2", "m* c #9ACCF1", "n* c #98CAF1", "o* c #94C7F0", "p* c #93C6EE", "q* c #92C5EE", "r* c #91C5EE", "s* c #91C4EE", "t* c #90C3EE", "u* c #80BAEC", "v* c #3F91E0", "w* c #3A8FDE", "x* c #3E92DE", "y* c #4797E1", "z* c #62AAE6", "A* c #67AEE7", "B* c #76B5E9", "C* c #E2EBF6", "D* c #E9ECF7", "E* c #DCE1F2", "F* c #CAE5FA", "G* c #89CAF7", "H* c #73BCF5", "I* c #68B5F5", "J* c #8FCAF6", "K* c #A2D2F7", "L* c #A0D1F7", "M* c #9FD1F7", "N* c #9ED0F7", "O* c #9DD0F7", "P* c #9DD0F6", "Q* c #9DCFF6", "R* c #9CCDF5", "S* c #9BCDF5", "T* c #A3D4F6", "U* c #CDE7FA", "V* c #D4EBFA", "W* c #A5D2F3", "X* c #95CAF1", "Y* c #93C7F0", "Z* c #91C5F0", "`* c #8EC4EE", " = c #8DC1ED", ".= c #8AC0ED", "+= c #89BFED", "@= c #73B2E8", "#= c #3A8EDD", "$= c #398DDD", "%= c #3D90DD", "&= c #4797E0", "*= c #5FA9E5", "== c #63ABE6", "-= c #88BFEB", ";= c #E9EDF7", ">= c #B4B9D9", ",= c #B0B7D9", "'= c #DADEF0", ")= c #E6F1FB", "!= c #86C7F7", "~= c #7FC4F6", "{= c #74BEF5", "]= c #5FAFF2", "^= c #89C6F6", "/= c #9CD0F7", "(= c #9BD0F7", "_= c #9BCFF7", ":= c #9BCFF6", "<= c #9BCDF6", "[= c #9ACDF6", "}= c #99CCF6", "|= c #98CCF6", "1= c #98CCF5", "2= c #96CBF5", "3= c #96CBF3", "4= c #97CCF3", "5= c #99CCF5", "6= c #9BCFF5", "7= c #CAE6FA", "8= c #F8FBFE", "9= c #C3E1F7", "0= c #8FC5F1", "a= c #8DC4EE", "b= c #89C1EE", "c= c #88C0EE", "d= c #87BFEC", "e= c #85BDEC", "f= c #84BDEB", "g= c #83BBEB", "h= c #69ACE7", "i= c #378BDC", "j= c #398DDC", "k= c #3D8FDD", "l= c #4798E0", "m= c #55A2E2", "n= c #5DA6E3", "o= c #5EA7E5", "p= c #AFD1F0", "q= c #E7ECF7", "r= c #E0E4F4", "s= c #A3D5F8", "t= c #82C6F7", "u= c #77BEF6", "v= c #6BB8F5", "w= c #77BCF5", "x= c #99CFF7", "y= c #99CDF6", "z= c #98CDF6", "A= c #97CCF6", "B= c #96CCF6", "C= c #95CBF6", "D= c #94CBF5", "E= c #94CAF5", "F= c #93CAF5", "G= c #93C8F5", "H= c #92C8F5", "I= c #91C7F3", "J= c #91C9F2", "K= c #93CAF3", "L= c #97CDF3", "M= c #99CDF5", "N= c #CDE6F9", "O= c #84BDED", "P= c #81BBEC", "Q= c #80B9EB", "R= c #7FB9EB", "S= c #7EB9EB", "T= c #7EB9E9", "U= c #7EB8E9", "V= c #539DE2", "W= c #368ADB", "X= c #3E90DD", "Y= c #4998E0", "Z= c #54A0E2", "`= c #5AA4E3", " - c #62A9E3", ".- c #DEE7F6", "+- c #E7EBF7", "@- c #C2C8E5", "#- c #D1E8FA", "$- c #80C5F6", "%- c #7EC4F6", "&- c #79BFF6", "*- c #6DB9F5", "=- c #64B3F2", "-- c #5FB1F2", ";- c #69B4F3", ">- c #93CBF7", ",- c #94CCF7", "'- c #94CBF6", ")- c #93CBF6", "!- c #93CBF5", "~- c #92CAF5", "{- c #91CAF5", "]- c #91C8F5", "^- c #90C9F5", "/- c #90C7F5", "(- c #8FC7F5", "_- c #8EC6F5", ":- c #8EC6F3", "<- c #8DC6F3", "[- c #8DC5F3", "}- c #8DC5F2", "|- c #8DC6F2", "1- c #8FC7F3", "2- c #91CAF2", "3- c #92CAF3", "4- c #E4F1FB", "5- c #7EBAEC", "6- c #7CB9EB", "7- c #7BB8EB", "8- c #7AB7EB", "9- c #79B5E9", "0- c #79B4E8", "a- c #76B4E8", "b- c #4092DD", "c- c #3487D9", "d- c #378BDB", "e- c #3F90DD", "f- c #4B9ADE", "g- c #539FE1", "h- c #56A2E2", "i- c #8DBFEA", "j- c #E6EBF6", "k- c #89C9F6", "l- c #7DC3F6", "m- c #7AC0F6", "n- c #8BC6F6", "o- c #90CAF6", "p- c #8FC8F6", "q- c #8FC9F5", "r- c #8EC9F5", "s- c #8EC7F5", "t- c #8DC7F5", "u- c #8CC6F5", "v- c #8CC5F3", "w- c #8AC4F3", "x- c #89C4F3", "y- c #88C4F2", "z- c #87C3F2", "A- c #8AC4F2", "B- c #8DC7F2", "C- c #C5E1F6", "D- c #75B3E8", "E- c #73B1E8", "F- c #72B1E8", "G- c #71B1E8", "H- c #68ABE5", "I- c #3587DB", "J- c #3387D9", "K- c #378AD9", "L- c #4192DD", "M- c #4C9BE0", "N- c #519EE0", "O- c #539EE0", "P- c #C2D8F2", "Q- c #E7EBF6", "R- c #E6E9F6", "S- c #BEC3DC", "T- c #D1D5EC", "U- c #7BC1F6", "V- c #73BBF5", "W- c #69B7F3", "X- c #75BBF3", "Y- c #8DC7F6", "Z- c #8CC7F6", "`- c #8CC6F6", " ; c #8BC6F5", ".; c #8AC5F5", "+; c #89C4F5", "@; c #87C4F3", "#; c #86C3F2", "$; c #85C1F2", "%; c #84C1F2", "&; c #83C1F1", "*; c #83C0F1", "=; c #82C0F1", "-; c #82BFF1", ";; c #83BEF1", ">; c #84C0F2", ",; c #86C1F2", "'; c #85C3F1", "); c #B9DDF7", "!; c #98C5EC", "~; c #6BABE3", "{; c #6CACE5", "]; c #6CADE5", "^; c #6DAEE6", "/; c #6CADE6", "(; c #6CACE6", "_; c #6BACE6", ":; c #6AACE6", "<; c #4F9BDE", "[; c #3085D8", "}; c #3386D8", "|; c #398CD9", "1; c #4494DD", "2; c #4C9BDE", "3; c #4E9BDE", "4; c #71AEE5", "5; c #E5E9F6", "6; c #D9DEF0", "7; c #ACB3D7", "8; c #EDF0F7", "9; c #F1F6FB", "0; c #82C4F6", "a; c #78BFF6", "b; c #74BCF5", "c; c #64B2F2", "d; c #88C5F6", "e; c #86C4F6", "f; c #86C4F5", "g; c #86C2F5", "h; c #85C2F5", "i; c #85C2F3", "j; c #84C1F3", "k; c #83C1F2", "l; c #82C1F2", "m; c #82C0F2", "n; c #81C0F2", "o; c #81BFF1", "p; c #80BEF1", "q; c #80BCF1", "r; c #7FBCF1", "s; c #7EBCF1", "t; c #7DBDF0", "u; c #7DBBF0", "v; c #7CBBF0", "w; c #7EBDF0", "x; c #7EBEF1", "y; c #B5D8F5", "z; c #E9F2FB", "A; c #62A0DD", "B; c #64A4DE", "C; c #65A5E1", "D; c #67A9E3", "E; c #67AAE5", "F; c #66A9E5", "G; c #65A9E3", "H; c #63A7E3", "I; c #398BD9", "J; c #3084D7", "K; c #3B8DDB", "L; c #4695DC", "M; c #4A98DD", "N; c #4897DD", "O; c #C1D8F1", "P; c #E5E8F6", "Q; c #B4BCDF", "R; c #75BCF5", "S; c #75BEF5", "T; c #70B9F3", "U; c #67B4F3", "V; c #5FAFF1", "W; c #5DADF1", "X; c #79BEF3", "Y; c #83C1F5", "Z; c #82C1F5", "`; c #81C0F5", " > c #80C0F3", ".> c #7FC0F3", "+> c #7EC0F3", "@> c #7EBFF2", "#> c #7DBEF2", "$> c #7DBEF1", "%> c #7DBCF1", "&> c #7CBDF1", "*> c #7CBBF1", "=> c #7BBBF0", "-> c #7ABBF0", ";> c #7ABAF0", ">> c #79B9F0", ",> c #77B9EE", "'> c #78B9EE", ")> c #76B8EE", "!> c #74B3EB", "~> c #A2CBED", "{> c #D2E3F5", "]> c #CEE0F1", "^> c #CCDDF0", "/> c #CADBEF", "(> c #CADBED", "_> c #8BB9E5", ":> c #5B9CDB", "<> c #5D9FDD", "[> c #61A4E1", "}> c #62A5E3", "|> c #61A5E2", "1> c #60A5E2", "2> c #60A4E2", "3> c #5FA4E1", "4> c #519BDE", "5> c #2E83D7", "6> c #2F83D6", "7> c #3587D8", "8> c #3E8FDB", "9> c #4694DC", "0> c #6FACE3", "a> c #E4E8F6", "b> c #C8CEE8", "c> c #B6BCD5", "d> c #D7DCEF", "e> c #7FC3F5", "f> c #61B1F1", "g> c #7FC0F5", "h> c #7DBFF3", "i> c #7CBFF3", "j> c #7CBEF3", "k> c #7BBCF2", "l> c #7ABCF2", "m> c #7ABBF2", "n> c #79BAF1", "o> c #78B9F1", "p> c #77B9F0", "q> c #76B9F0", "r> c #75B8F0", "s> c #75B8EE", "t> c #74B8EE", "u> c #74B7ED", "v> c #73B7ED", "w> c #73B5ED", "x> c #72B5ED", "y> c #70B3EC", "z> c #6AACE7", "A> c #64A3E0", "B> c #5B96D6", "C> c #548CCD", "D> c #4F84C7", "E> c #4C81C3", "F> c #4B7FC2", "G> c #497EC2", "H> c #497DC0", "I> c #6895CC", "J> c #739DD1", "K> c #98B8DD", "L> c #CBDCEF", "M> c #C0DAF0", "N> c #5394D5", "O> c #5698DB", "P> c #5A9EDE", "Q> c #5BA0E1", "R> c #5BA2E2", "S> c #5AA0E2", "T> c #5AA0E1", "U> c #599FE1", "V> c #388AD8", "W> c #2D81D6", "X> c #3F8FDB", "Y> c #4293DC", "Z> c #4091D9", "`> c #C4D9F1", " , c #DCE2F2", "., c #CCE5F9", "+, c #6FB9F3", "@, c #6CB8F2", "#, c #65B2F2", "$, c #5EAEF1", "%, c #5BACF1", "&, c #73B9F2", "*, c #7ABCF3", "=, c #7ABBF3", "-, c #79BBF2", ";, c #78BBF2", ">, c #77BBF2", ",, c #77BAF1", "', c #76BAF1", "), c #75B9F1", "!, c #74B9F1", "~, c #74B8F1", "{, c #73B8F0", "], c #73B7F0", "^, c #72B5F0", "/, c #72B5EE", "(, c #71B5EE", "_, c #70B5EE", ":, c #70B4EE", "<, c #70B4ED", "[, c #6FB3ED", "}, c #6EB3ED", "|, c #6EB2EC", "1, c #6DB2EC", "2, c #6BB0EB", "3, c #66ABE6", "4, c #62A4E1", "5, c #5D9CDB", "6, c #5795D5", "7, c #548ED1", "8, c #528CCF", "9, c #528BCD", "0, c #518BCC", "a, c #508ACC", "b, c #4F8ACB", "c, c #4E88CA", "d, c #4D87C9", "e, c #4B85C7", "f, c #4A82C7", "g, c #4982C6", "h, c #4981C6", "i, c #548CCC", "j, c #99BEE3", "k, c #F3F7FC", "l, c #F1F7FB", "m, c #4B8BD0", "n, c #4F92D5", "o, c #5397DB", "p, c #569CE0", "q, c #569EE0", "r, c #559DE0", "s, c #549DE0", "t, c #539CDE", "u, c #4895DC", "v, c #2C80D5", "w, c #2C81D5", "x, c #3184D7", "y, c #3A8CD8", "z, c #3F8FD9", "A, c #3E8ED9", "B, c #7EB3E5", "C, c #E2E7F6", "D, c #B9C0E1", "E, c #6EB9F3", "F, c #6DB8F2", "G, c #68B4F2", "H, c #60AFF1", "I, c #76BBF2", "J, c #76BAF2", "K, c #75BAF2", "L, c #75B9F2", "M, c #73B9F1", "N, c #73B8F1", "O, c #72B8F1", "P, c #72B7F0", "Q, c #71B5F0", "R, c #70B5F0", "S, c #70B4F0", "T, c #6FB4F0", "U, c #6EB3F0", "V, c #6DB3EE", "W, c #6DB2EE", "X, c #6CB2EE", "Y, c #6CB2ED", "Z, c #6BB2ED", "`, c #6BB1ED", " ' c #6AAFEC", ".' c #69AEEC", "+' c #69AEEB", "@' c #67ADE9", "#' c #65ABE7", "$' c #61A6E5", "%' c #5EA2E0", "&' c #5B9DDD", "*' c #599BDB", "=' c #589AD9", "-' c #5899D8", ";' c #5799D8", ">' c #5596D7", ",' c #5496D7", "'' c #5494D6", ")' c #5393D5", "!' c #5191D3", "~' c #4F8DD2", "{' c #4E8CCF", "]' c #4C8ACF", "^' c #4D8ACF", "/' c #4E8DD0", "(' c #6FA6DD", "_' c #508CCF", ":' c #498BD1", "<' c #4C92D7", "[' c #4E97DC", "}' c #509BDE", "|' c #509ADE", "1' c #4F9ADD", "2' c #4E98DD", "3' c #3184D6", "4' c #2B7FD5", "5' c #2D81D5", "6' c #3487D7", "7' c #3B8CD8", "8' c #4492D9", "9' c #E1E7F6", "0' c #E2E7F5", "a' c #B5BBD4", "b' c #EBF2FB", "c' c #6DB9F2", "d' c #6CB7F2", "e' c #69B5F2", "f' c #5DAEF0", "g' c #6AB4F1", "h' c #71B8F1", "i' c #70B8F1", "j' c #70B7F1", "k' c #6FB7F1", "l' c #6EB5F1", "m' c #6EB5F0", "n' c #6DB4F0", "o' c #6CB4F0", "p' c #6CB3F0", "q' c #6CB3EE", "r' c #6BB2EE", "s' c #6AB1EE", "t' c #6AB1ED", "u' c #69B1ED", "v' c #69AFED", "w' c #68AFED", "x' c #67AEED", "y' c #66AEED", "z' c #66ADEC", "A' c #65ADEC", "B' c #64ADEC", "C' c #63ADEB", "D' c #63ACEB", "E' c #62ABEB", "F' c #61AAE8", "G' c #60A7E8", "H' c #5FA6E7", "I' c #5DA4E5", "J' c #5CA4E5", "K' c #5CA1E3", "L' c #5BA0E2", "M' c #599FE2", "N' c #589EE1", "O' c #589EE0", "P' c #569DE0", "Q' c #559BDD", "R' c #5398DB", "S' c #5196D9", "T' c #4F93D7", "U' c #4E92D7", "V' c #4F94D9", "W' c #5097DB", "X' c #87BDEA", "Y' c #6C9FD7", "Z' c #4285CD", "`' c #468CD5", " ) c #4A93DB", ".) c #4B96DD", "+) c #4A96DD", "@) c #4995DC", "#) c #4894DC", "$) c #3E8DD8", "%) c #297DD3", "&) c #3083D5", "*) c #3687D7", "=) c #388AD7", "-) c #3688D6", ";) c #A7C8EC", ">) c #DBE1F2", ",) c #ABB3D7", "') c #B9DBF7", ")) c #69B4F2", "!) c #59ACF0", "~) c #6EB5F2", "{) c #6EB7F1", "]) c #6DB5F1", "^) c #6BB3F0", "/) c #6AB2EE", "() c #69B1EE", "_) c #68B1EE", ":) c #67AFEE", "<) c #66AFED", "[) c #65AEED", "}) c #62ACEB", "|) c #61ACEB", "1) c #61ABEB", "2) c #61ABE9", "3) c #60AAE9", "4) c #5FAAE9", "5) c #5EA8E9", "6) c #5EA7E9", "7) c #5DA7E9", "8) c #5CA6E8", "9) c #5CA5E8", "0) c #5BA5E8", "a) c #5AA4E7", "b) c #59A4E7", "c) c #58A4E7", "d) c #58A4E6", "e) c #57A3E6", "f) c #56A1E6", "g) c #56A2E5", "h) c #549FE3", "i) c #549EE3", "j) c #529CE1", "k) c #509BE0", "l) c #519CE1", "m) c #529EE2", "n) c #55A0E3", "o) c #689CD3", "p) c #3D80CA", "q) c #4188D2", "r) c #448FD7", "s) c #4693DC", "t) c #4592DB", "u) c #4490DB", "v) c #418FDB", "w) c #2A7DD3", "x) c #287BD2", "y) c #2C80D3", "z) c #3284D6", "A) c #3588D6", "B) c #3385D6", "C) c #63A3E0", "D) c #E1E7F5", "E) c #E1E6F5", "F) c #B0B9DD", "G) c #63B1F1", "H) c #5DADF0", "I) c #59A9F0", "J) c #5FAEF0", "K) c #6AB3F0", "L) c #69B3F0", "M) c #68B3F0", "N) c #67B2F0", "O) c #67B2EE", "P) c #66AFEE", "Q) c #65AFED", "R) c #64AEED", "S) c #63ADED", "T) c #62ADEC", "U) c #61ADEC", "V) c #60ABEB", "W) c #5FABEB", "X) c #5FAAEB", "Y) c #5EAAEB", "Z) c #5DA8EB", "`) c #5CA8E9", " ! c #5CA7E9", ".! c #5BA6E9", "+! c #5AA6E8", "@! c #59A5E8", "#! c #57A3E7", "$! c #56A3E6", "%! c #55A1E6", "&! c #54A1E6", "*! c #54A0E6", "=! c #53A0E6", "-! c #539FE5", ";! c #529EE4", ">! c #519EE4", ",! c #509EE3", "'! c #509DE3", ")! c #509DE2", "!! c #529FE3", "~! c #53A2E3", "{! c #55A3E5", "]! c #649AD2", "^! c #397DC7", "/! c #3C83CF", "(! c #408BD6", "_! c #428ED8", ":! c #418FD9", "~ c #61ADED", ",~ c #60ADED", "'~ c #5FACED", ")~ c #5EACEC", "!~ c #5EABEC", "~~ c #5DAAEC", "{~ c #5DAAEB", "]~ c #5BA8EB", "^~ c #58A6E9", "/~ c #57A5E8", "(~ c #56A5E8", "_~ c #55A5E8", ":~ c #55A4E8", "<~ c #54A3E8", "[~ c #51A0E6", "}~ c #509FE6", "|~ c #4F9DE4", "1~ c #4E9DE3", "2~ c #4D9CE3", "3~ c #4C9CE3", "4~ c #4B99E2", "5~ c #4A99E2", "6~ c #4A98E1", "7~ c #4998E1", "8~ c #4997E1", "9~ c #4897E0", "0~ c #4796E0", "a~ c #4695E0", "b~ c #4898E1", "c~ c #4C9DE2", "d~ c #50A0E3", "e~ c #52A2E5", "f~ c #5D94D0", "g~ c #3176C4", "h~ c #347ECB", "i~ c #3684D3", "j~ c #3887D7", "k~ c #3889D8", "l~ c #3787D8", "m~ c #3787D7", "n~ c #3686D7", "o~ c #3585D6", "p~ c #2578D0", "q~ c #287BD1", "r~ c #2C7FD2", "s~ c #2C7FD1", "t~ c #277BD1", "u~ c #74ABE1", "v~ c #E0E4F5", "w~ c #D7DDF1", "x~ c #ABB2D3", "y~ c #BDC3E0", "z~ c #E0E3F2", "A~ c #A5D0F5", "B~ c #5EADF1", "C~ c #5EAEF0", "D~ c #5AABEE", "E~ c #58A8ED", "F~ c #5FADEE", "G~ c #5FACEE", "H~ c #5EACEE", "I~ c #5DACED", "J~ c #5CABEC", "K~ c #5BAAEC", "L~ c #5AAAEB", "M~ c #59A8EB", "N~ c #58A8EB", "O~ c #58A7EB", "P~ c #58A7E9", "Q~ c #57A6E9", "R~ c #56A6E9", "S~ c #56A5E9", "T~ c #54A4E8", "U~ c #53A3E8", "V~ c #51A0E7", "W~ c #509EE6", "X~ c #4F9EE4", "Y~ c #4E9DE4", "Z~ c #4B9BE3", "`~ c #4998E2", " { c #4898E2", ".{ c #4797E2", "+{ c #4796E1", "@{ c #4696E1", "#{ c #4596E1", "${ c #4495E0", "%{ c #4394E0", "&{ c #4294DE", "*{ c #4193DE", "={ c #499BE1", "-{ c #4D9EE3", ";{ c #50A2E5", ">{ c #5A93CD", ",{ c #2E73C3", "'{ c #317BCA", "){ c #3381D2", "!{ c #3485D6", "~{ c #3385D7", "{{ c #3283D6", "]{ c #3183D5", "^{ c #3182D5", "/{ c #277AD1", "({ c #2377D0", "_{ c #2579D1", ":{ c #297BD1", "<{ c #297CD1", "[{ c #2579D0", "}{ c #468FD7", "|{ c #DFE4F5", "1{ c #DEE4F5", "2{ c #84BFF1", "3{ c #58ABEE", "4{ c #5CACF0", "5{ c #5BACF0", "6{ c #57A8ED", "7{ c #59AAED", "8{ c #57A6EB", "9{ c #56A4E9", "0{ c #52A0E7", "a{ c #50A0E6", "b{ c #50A0E7", "c{ c #4FA0E6", "d{ c #4F9FE6", "e{ c #4F9FE7", "f{ c #4E9FE6", "g{ c #4C9EE6", "h{ c #4C9DE4", "i{ c #4B9CE4", "j{ c #4A9BE3", "k{ c #4999E3", "l{ c #489AE2", "m{ c #4395E0", "n{ c #4293DE", "o{ c #4093DD", "p{ c #4193DD", "q{ c #4194DD", "r{ c #4597E0", "s{ c #4A9DE2", "t{ c #4FA2E3", "u{ c #51A3E3", "v{ c #5791CD", "w{ c #2A70C2", "x{ c #2D77C9", "y{ c #2F7ED1", "z{ c #3082D3", "A{ c #2E80D3", "B{ c #2D80D3", "C{ c #2D7FD2", "D{ c #2277CF", "E{ c #2377CF", "F{ c #2679D0", "G{ c #2577CF", "H{ c #DFE3F4", "I{ c #6BB1EC", "J{ c #58A8EC", "K{ c #54A5E9", "L{ c #53A4E8", "M{ c #4FA0E4", "N{ c #4F9FE4", "O{ c #4A9CE2", "P{ c #4A9CE1", "Q{ c #499CE1", "R{ c #4A9BE2", "S{ c #4A9BE1", "T{ c #489BE2", "U{ c #499CE2", "V{ c #4A9CE3", "W{ c #4A9DE4", "X{ c #499CE4", "Y{ c #499CE3", "Z{ c #489BE4", "`{ c #489CE4", " ] c #499AE4", ".] c #4799E3", "+] c #4698E2", "@] c #4597E2", "#] c #4496E1", "$] c #4295E1", "%] c #4194E0", "&] c #4094E0", "*] c #4094DE", "=] c #4195E0", "-] c #4396E0", ";] c #4598E1", ">] c #499EE3", ",] c #50A3E5", "'] c #53A5E6", ")] c #558DCC", "!] c #276EBF", "~] c #2A74C7", "{] c #2C7ACF", "]] c #2C7FD3", "^] c #2C7ED2", "/] c #2B7ED2", "(] c #2A7CD1", "_] c #277AD0", ":] c #2276CF", "<] c #2275CF", "[] c #2478CF", "}] c #2578CF", "|] c #1E6FCA", "1] c #BFD3EF", "2] c #DFE4F4", "3] c #DEE3F4", "4] c #BDC5E3", "5] c #EDF0FA", "6] c #54A5ED", "7] c #56A7EB", "8] c #55A6EB", "9] c #52A4E9", "0] c #4FA1E7", "a] c #4E9EE6", "b] c #4D9DE4", "c] c #4B9AE1", "d] c #499AE0", "e] c #4695DD", "f] c #4594DC", "g] c #4493DC", "h] c #4392D9", "i] c #4292DB", "j] c #4192DB", "k] c #4394DD", "l] c #4494E0", "m] c #4495DE", "n] c #4A9CE4", "o] c #4B9DE6", "p] c #4B9EE4", "q] c #4A9EE6", "r] c #4B9DE4", "s] c #499DE4", "t] c #489CE3", "u] c #479BE2", "v] c #479AE2", "w] c #469AE2", "x] c #4A9EE3", "y] c #4EA2E4", "z] c #52A6E6", "A] c #56AAE8", "B] c #56ABE7", "C] c #67B3E9", "D] c #538BCB", "E] c #256BBE", "F] c #2672C6", "G] c #2979CF", "H] c #287CD2", "I] c #2678CF", "J] c #2175CF", "K] c #2174CD", "L] c #2073CC", "M] c #1D6DC9", "N] c #99BEE7", "O] c #C3CBE7", "P] c #B0B3C7", "Q] c #D8E6F7", "R] c #52A3E9", "S] c #51A3E8", "T] c #4B9CE3", "U] c #4797DE", "V] c #4594DB", "W] c #4293D9", "X] c #408FD8", "Y] c #3E8ED6", "Z] c #3C8CD5", "`] c #3B8BD3", " ^ c #3A89D2", ".^ c #3989D2", "+^ c #3988D2", "@^ c #3888D1", "#^ c #3888D2", "$^ c #3889D2", "%^ c #3989D3", "&^ c #3A8BD6", "*^ c #3B8BD6", "=^ c #3D8ED7", "-^ c #3F91D9", ";^ c #4092DB", ">^ c #4396DD", ",^ c #4D9FE3", "'^ c #4FA3E6", ")^ c #50A3E6", "!^ c #52A4E6", "~^ c #52A5E7", "{^ c #52A5E8", "]^ c #52A6E7", "^^ c #51A5E7", "/^ c #50A4E6", "(^ c #4EA3E5", "_^ c #4DA2E4", ":^ c #4CA0E4", "<^ c #4CA2E4", "[^ c #50A5E6", "}^ c #51A6E6", "|^ c #53A9E7", "1^ c #56ABE8", "2^ c #57ACE8", "3^ c #7EC2EE", "4^ c #E5F2FB", "5^ c #5088CA", "6^ c #2167BE", "7^ c #236FC6", "8^ c #2577CD", "9^ c #2779D1", "0^ c #267AD2", "a^ c #2477D0", "b^ c #2376CD", "c^ c #2276CD", "d^ c #2275CD", "e^ c #2174CC", "f^ c #2073CB", "g^ c #1F73CB", "h^ c #1E71CB", "i^ c #1C6BC6", "j^ c #79ABDE", "k^ c #C9CFEA", "l^ c #ACB2CB", "m^ c #C8CDE7", "n^ c #BDD8F2", "o^ c #4B98E3", "p^ c #4FA0E8", "q^ c #509FE7", "r^ c #4E9FE4", "s^ c #4596DE", "t^ c #3F8ED7", "u^ c #3989D0", "v^ c #3685CD", "w^ c #3383CB", "x^ c #3280C9", "y^ c #317FC9", "z^ c #307EC7", "A^ c #2F7DC6", "B^ c #2F7DC7", "C^ c #2F7EC6", "D^ c #307EC9", "E^ c #307FCA", "F^ c #3181CA", "G^ c #3384CF", "H^ c #3889D1", "I^ c #3B8DD3", "J^ c #4194D8", "K^ c #4699DC", "L^ c #4B9DDE", "M^ c #4FA2E2", "N^ c #52A5E5", "O^ c #54A7E6", "P^ c #56A9E7", "Q^ c #57ABE8", "R^ c #57ABE9", "S^ c #56ABE9", "T^ c #55AAE8", "U^ c #54A9E8", "V^ c #53A7E7", "W^ c #52A7E7", "X^ c #53AAE8", "Y^ c #55AAE7", "Z^ c #55ABE8", "`^ c #5FB1E9", " / c #ABD7F5", "./ c #E5F4FC", "+/ c #1D5EB3", "@/ c #2065BA", "#/ c #226DC5", "$/ c #2475CC", "%/ c #2478D0", "&/ c #2175CC", "*/ c #2074CC", "=/ c #1F72CA", "-/ c #1E72CA", ";/ c #1D71CA", ">/ c #1E71CA", ",/ c #1C6EC9", "'/ c #1B69C4", ")/ c #6198D6", "!/ c #DCE2F4", "~/ c #DDE2F4", "{/ c #CDD3EC", "]/ c #ABB2CC", "^/ c #D0D4E8", "// c #CED3EA", "(/ c #A9CCEE", "_/ c #4C9EE4", ":/ c #4495DC", "( c #4EA1DB", ",( c #65B0E2", "'( c #9DCFEE", ")( c #C0E1F5", "!( c #E6F4FB", "~( c #1C5DB3", "{( c #1F66BD", "]( c #1E70C7", "^( c #1C6EC4", "/( c #1B6DC3", "(( c #1B6CC1", "_( c #1A6CC1", ":( c #1A6BC3", "<( c #1A6BC4", "[( c #1B6DC4", "}( c #1B6CC6", "|( c #1969C5", "1( c #1865BF", "2( c #4080CA", "3( c #DBE2F4", "4( c #D3D8EF", "5( c #AAAECE", "6( c #C8CEE5", "7( c #94BEE8", "8( c #438DD9", "9( c #4594DD", "0( c #3F8FD7", "a( c #2C79C0", "b( c #216CB4", "c( c #1E68B0", "d( c #1E67B0", "e( c #1C66AF", "f( c #1C66AE", "g( c #1E69B0", "h( c #236FB5", "i( c #2978BA", "j( c #3282C3", "k( c #3A8CC9", "l( c #4194D0", "m( c #72B4DE", "n( c #C8E4F4", "o( c #C8DAED", "p( c #1B58AD", "q( c #1C5FB5", "r( c #1E68C0", "s( c #2071C9", "t( c #2173CB", "u( c #1F71C9", "v( c #1D6FC6", "w( c #1C6DC3", "x( c #1B6AC1", "y( c #1968BF", "z( c #1967BD", "A( c #1866BD", "B( c #1867BE", "C( c #1868BF", "D( c #1969C3", "E( c #196AC3", "F( c #1968C1", "G( c #1662BE", "H( c #3979C5", "I( c #DADFF2", "J( c #DBE1F4", "K( c #D5DAF0", "L( c #A9AED0", "M( c #D4D9ED", "N( c #EAEEF7", "O( c #86B5E5", "P( c #3F89D5", "Q( c #408ED8", "R( c #3A8AD2", "S( c #3381CA", "T( c #2B78C0", "U( c #2470B8", "V( c #1E67AF", "W( c #1A63AA", "X( c #175FA6", "Y( c #165DA3", "Z( c #165CA2", "`( c #13599F", " _ c #13589F", "._ c #13589E", "+_ c #1B65A9", "@_ c #2470B5", "#_ c #3080BF", "$_ c #4A99D1", "%_ c #B9DBEF", "&_ c #ECF2F9", "*_ c #3D73B8", "=_ c #1B5AB0", "-_ c #1D63B9", ";_ c #1F6DC1", ">_ c #1968BE", ",_ c #1866BC", "'_ c #1764B9", ")_ c #1663B7", "!_ c #1662B6", "~_ c #1662B7", "{_ c #1664B9", "]_ c #1764BA", "^_ c #1767BE", "/_ c #1867C1", "(_ c #1765BE", "__ c #165FBA", ":_ c #3273C2", "<_ c #D9DFF2", "[_ c #D5DCF0", "}_ c #A9B0D2", "|_ c #84B2E2", "1_ c #3C85D2", "2_ c #3D8AD5", "3_ c #3C8BD3", "4_ c #1E68AF", "5_ c #1860A7", "6_ c #155BA1", "7_ c #12579D", "8_ c #12569D", "9_ c #11569D", "0_ c #11569C", "a_ c #11579D", "b_ c #145AA0", "c_ c #1A63A7", "d_ c #2370B0", "e_ c #2C7CBB", "f_ c #3F8EC5", "g_ c #D2E7F4", "h_ c #6692C9", "i_ c #1955AA", "j_ c #1B5EB5", "k_ c #1D66BE", "l_ c #1F6EC4", "m_ c #1F70C7", "n_ c #1C6EC3", "o_ c #1A69C0", "p_ c #1867BC", "q_ c #1763B7", "r_ c #1561B5", "s_ c #145FB1", "t_ c #135EB1", "u_ c #135DB0", "v_ c #1460B3", "w_ c #1462B7", "x_ c #1563BA", "y_ c #1665BD", "z_ c #1662BC", "A_ c #145DB8", "B_ c #2D6DBD", "C_ c #D8E0F1", "D_ c #DADFF4", "E_ c #DAE1F2", "F_ c #D4DCF0", "G_ c #AAAFD1", "H_ c #E9EDF6", "I_ c #86B3E1", "J_ c #3981CD", "K_ c #3A85D1", "L_ c #216CB5", "M_ c #1B63AB", "N_ c #12579E", "O_ c #12569E", "P_ c #1E68AB", "Q_ c #2776B6", "R_ c #2F80BE", "S_ c #C1DDEF", "T_ c #5685C2", "U_ c #1953A9", "V_ c #1A5BB0", "W_ c #1C63BA", "X_ c #1D69C1", "Y_ c #1E6EC4", "Z_ c #1D6CC5", "`_ c #1865B9", " : c #1562B6", ".: c #125CAD", "+: c #125AAB", "@: c #1159A9", "#: c #1059A8", "$: c #0F57A5", "%: c #125BAF", "&: c #135FB2", "*: c #1461B7", "=: c #1562BA", "-: c #145EB9", ";: c #135AB3", ">: c #3372BF", ",: c #D5DDF1", "': c #D4DAF0", "): c #C9CEE5", "!: c #D1D7EC", "~: c #E6ECF6", "{: c #8AB3E0", "]: c #377ECB", "^: c #3783CF", "/: c #3583CD", "(: c #2773BC", "_: c #1A63AB", ":: c #12579F", "<: c #11579F", "[: c #11569F", "}: c #1359A0", "|: c #1862A7", "1: c #206DB0", "2: c #2979B9", "3: c #76B0D7", "4: c #B7CCE6", "5: c #2E65AF", "6: c #1852A8", "7: c #1A5AAF", "8: c #1B61B8", "9: c #1C67BE", "0: c #1C6CC1", "a: c #1B69C0", "b: c #1967BC", "c: c #1763B8", "d: c #1560B3", "e: c #135DAE", "f: c #115BA9", "g: c #1058A7", "h: c #0F55A3", "i: c #0D519D", "j: c #0D53A0", "k: c #1059AA", "l: c #125CAF", "m: c #135FB5", "n: c #1360B7", "o: c #135DB6", "p: c #1257B1", "q: c #3473BF", "r: c #D5DDF0", "s: c #A8ADCF", "t: c #CDD2EA", "u: c #94B9E2", "v: c #3379C7", "w: c #357FCB", "x: c #3380CB", "y: c #2D7CC4", "z: c #2470B9", "A: c #1157A0", "B: c #145BA2", "C: c #1A64AA", "D: c #216EB2", "E: c #2878B9", "F: c #CEE4F1", "G: c #DAE5F2", "H: c #6590C6", "I: c #174FA3", "J: c #1854A8", "K: c #195AAF", "L: c #1A60B6", "M: c #1B65BC", "N: c #1B69BF", "O: c #1B6BC0", "P: c #1865BA", "Q: c #125BAD", "R: c #0F56A5", "S: c #0C509D", "T: c #0B4F9B", "U: c #0D529F", "V: c #0F57A6", "W: c #1059AB", "X: c #125CB1", "Y: c #135DB5", "Z: c #125AB2", "`: c #1154AE", " < c #417BC0", ".< c #D4DDF0", "+< c #D9DEF2", "@< c #CFD5ED", "#< c #A7AECB", "$< c #E5EBF6", "%< c #9FC0E5", "&< c #3175C5", "*< c #327CC9", "=< c #327EC9", "-< c #2B7AC2", ";< c #236EB8", ">< c #1B64AD", ",< c #1158A1", "'< c #1158A0", ")< c #145CA5", "!< c #1A65AB", "~< c #2676B8", "{< c #B5CBE5", "]< c #648FC4", "^< c #164DA1", "/< c #1650A3", "(< c #1855A9", "_< c #185BB0", ":< c #1960B6", "<< c #1A65B9", "[< c #1A67BD", "}< c #135DAF", "|< c #115AAA", "1< c #0F55A2", "2< c #0C509C", "3< c #0B4F9C", "4< c #0E56A3", "5< c #105AA9", "6< c #115BB0", "7< c #125CB2", "8< c #1258B0", "9< c #1152AB", "0< c #4D81C4", "a< c #D3DCF0", "b< c #CBD2EC", "c< c #A4AAC7", "d< c #B5CDEA", "e< c #2F72C2", "f< c #3079C5", "g< c #2F7CC6", "h< c #2A78C0", "i< c #236EB7", "j< c #1C64AE", "k< c #1157A1", "l< c #1158A2", "m< c #155EA6", "n< c #1B66AB", "o< c #206EB1", "p< c #5397C9", "q< c #B5CBE3", "r< c #7299C9", "s< c #2D61A9", "t< c #164E9E", "u< c #1650A1", "v< c #1753A6", "w< c #1757AA", "x< c #185CB1", "y< c #1961B5", "z< c #1963B8", "A< c #1764B7", "B< c #0E54A2", "C< c #0B509D", "D< c #0E55A3", "E< c #0F57A9", "F< c #105AAF", "G< c #115AB1", "H< c #1156AF", "I< c #0F4FAA", "J< c #6290CA", "K< c #D7DEF2", "L< c #C8CEEA", "M< c #A3AAC0", "N< c #E6ECF5", "O< c #CEDCED", "P< c #2C6EBF", "Q< c #2D73C3", "R< c #2D79C3", "S< c #2A76C0", "T< c #1259A3", "U< c #1158A3", "V< c #1157A2", "W< c #1057A2", "X< c #155EA7", "Y< c #1A66AE", "Z< c #1F6CB2", "`< c #5195C7", " [ c #C6D7E8", ".[ c #B4CAE2", "+[ c #81A4CC", "@[ c #7198C6", "#[ c #4475B2", "$[ c #144A99", "%[ c #144B9B", "&[ c #154D9D", "*[ c #154EA0", "=[ c #1553A5", "-[ c #1656A7", ";[ c #175AAD", ">[ c #175DB1", ",[ c #1760B3", "'[ c #1762B6", ")[ c #1663B6", "![ c #1560B2", "~[ c #135FB0", "{[ c #115AA8", "][ c #0D53A1", "^[ c #0B509E", "/[ c #0D54A2", "([ c #0E54A3", "_[ c #0F57A8", ":[ c #1059AE", "<[ c #1058AF", "[[ c #1054AD", "}[ c #0F4CA7", "|[ c #789ED1", "1[ c #C2C9E7", "2[ c #A2AAB8", "3[ c #DEE6F2", "4[ c #3673C2", "5[ c #2C6FBE", "6[ c #2D75C2", "7[ c #2A75C0", "8[ c #236FB8", "9[ c #135BA6", "0[ c #1159A3", "a[ c #1058A3", "b[ c #1159A5", "c[ c #155EA8", "d[ c #1A65AE", "e[ c #1D6BB2", "f[ c #4F92C7", "g[ c #C3D5E6", "h[ c #3B6BA2", "i[ c #3B68A1", "j[ c #3B69A2", "k[ c #3C6CA4", "l[ c #3E6EA6", "m[ c #3F6FA7", "n[ c #3F6EA7", "o[ c #3F6EA6", "p[ c #255797", "q[ c #0F428B", "r[ c #10448C", "s[ c #11448F", "t[ c #114692", "u[ c #114893", "v[ c #124996", "w[ c #134C99", "x[ c #134E9B", "y[ c #13509E", "z[ c #1453A2", "A[ c #1556A5", "B[ c #1558A8", "C[ c #165BAD", "D[ c #165EAF", "E[ c #165EB1", "F[ c #1661B1", "G[ c #155FB2", "H[ c #145FB0", "I[ c #125BAB", "J[ c #1159A8", "K[ c #1057A5", "L[ c #0C52A0", "M[ c #0C519F", "N[ c #0B519F", "O[ c #0F56A8", "P[ c #0F58AE", "Q[ c #1057AE", "R[ c #0F51A9", "S[ c #0E49A5", "T[ c #9CB7DD", "U[ c #D3DBF0", "V[ c #D7DDF2", "W[ c #BDC4E5", "X[ c #A0A2B1", "Y[ c #4E83C6", "Z[ c #286CBC", "`[ c #2A72BF", " } c #145DA8", ".} c #1158A5", "+} c #1058A5", "@} c #1159A6", "#} c #1864AE", "$} c #1D6AB1", "%} c #4E91C7", "&} c #215495", "*} c #0B3C85", "=} c #0B3D86", "-} c #0B3F88", ";} c #0C418A", ">} c #0C418B", ",} c #0D448C", "'} c #0F458F", ")} c #10468F", "!} c #0F468F", "~} c #0F4791", "{} c #104993", "]} c #104B95", "^} c #114D98", "/} c #114F9C", "(} c #12519E", "_} c #1255A2", ":} c #1357A5", "<} c #1359A7", "[} c #135AAB", "}} c #135BAB", "|} c #135CAD", "1} c #135CAE", "2} c #135DAB", "3} c #125BA9", "4} c #0D53A2", "5} c #0C51A0", "6} c #0B51A0", "7} c #0B50A0", "8} c #0B509F", "9} c #0D54A3", "0} c #0F58AD", "a} c #0F54AB", "b} c #0F4DA7", "c} c #0E49A2", "d} c #C3D1EB", "e} c #D6DDF2", "f} c #B9BEDE", "g} c #DEE2F1", "h} c #E0E6F4", "i} c #6D9AD0", "j} c #2766B8", "k} c #296FBD", "l} c #2973BF", "m} c #2470BA", "n} c #1B65AE", "o} c #1660AA", "p} c #1059A6", "q} c #135EA9", "r} c #1965AE", "s} c #1C6AB2", "t} c #4D91C7", "u} c #0C4089", "v} c #0C448D", "w} c #0C4792", "x} c #0D4894", "y} c #0D4994", "z} c #0C4894", "A} c #0C4893", "B} c #0E4B96", "C} c #104C96", "D} c #104E98", "E} c #114F99", "F} c #11509B", "G} c #11519C", "H} c #10519D", "I} c #11529E", "J} c #1153A0", "K} c #1154A1", "L} c #1056A3", "M} c #1157A5", "N} c #1058A6", "O} c #0C52A1", "P} c #0B52A0", "Q} c #0F56A9", "R} c #0F56AD", "S} c #0E51A8", "T} c #2159AA", "U} c #CCD7ED", "V} c #D5DCF1", "W} c #D6DDF1", "X} c #C5CCE3", "Y} c #96B5DD", "Z} c #2563B5", "`} c #276ABA", " | c #2871BE", ".| c #2470BC", "+| c #1E69B2", "@| c #1B64AE", "#| c #1962AD", "$| c #1159A7", "%| c #1059A7", "&| c #135EAB", "*| c #1764AF", "=| c #1A67B1", "-| c #4B8DC5", ";| c #0C418C", ">| c #0C4592", ",| c #0D4996", "'| c #0D4E9C", ")| c #0D4F9E", "!| c #0D509F", "~| c #0D4F9F", "{| c #0D50A0", "]| c #0E52A0", "^| c #0F54A1", "/| c #1056A2", "(| c #1158A6", "_| c #0E56A5", ":| c #0C52A2", "<| c #0B52A2", "[| c #0B51A2", "}| c #0C53A2", "|| c #0E55A9", "1| c #0F55AA", "2| c #0E4EA6", "3| c #0D479F", "4| c #4778BB", "5| c #CED8EF", "6| c #D5DAF1", "7| c #D3D9EF", "8| c #AAAFD2", "9| c #C5CCE7", "0| c #E1E8F5", "a| c #C8D8EC", "b| c #235FB2", "c| c #2465B7", "d| c #266EBC", "e| c #256FBA", "f| c #1F6AB3", "g| c #135CAA", "h| c #1561AD", "i| c #1662AE", "j| c #4487C2", "k| c #0C438D", "l| c #0D4895", "m| c #0E53A2", "n| c #0E55A5", "o| c #0E53A5", "p| c #0D53A5", "q| c #0D55A5", "r| c #0E56A6", "s| c #0D55A3", "t| c #0C53A3", "u| c #0C51A3", "v| c #0B51A3", "w| c #0A52A2", "x| c #0E55AA", "y| c #0E52A9", "z| c #0D49A2", "A| c #0C439C", "B| c #789BCE", "C| c #CED8F0", "D| c #C8CFEA", "E| c #A0A6C2", "F| c #B7BFE0", "G| c #E6EBF7", "H| c #E2E8F5", "I| c #DAE2F2", "J| c #4276BD", "K| c #225FB3", "L| c #2569B8", "M| c #246FBC", "N| c #206BB6", "O| c #1A64AD", "P| c #135DAA", "Q| c #1058A9", "R| c #1057A8", "S| c #125AAA", "T| c #3F81BE", "U| c #0C428F", "V| c #0D4998", "W| c #0E56A7", "X| c #0E55A6", "Y| c #0D55A6", "Z| c #0D53A6", "`| c #0C53A5", " 1 c #0C52A5", ".1 c #0C51A5", "+1 c #0B51A5", "@1 c #0A51A3", "#1 c #0E54A9", "$1 c #0D4FA6", "%1 c #0D479E", "&1 c #0C4199", "*1 c #B6C8E5", "=1 c #D0D9EF", "-1 c #BEC6E5", ";1 c #9B9FB0", ">1 c #E4E8F5", ",1 c #DBE3F2", "'1 c #6D98CC", ")1 c #205BAE", "!1 c #2263B5", "~1 c #246DB9", "{1 c #216CB7", "]1 c #1C65AF", "^1 c #1A63AD", "/1 c #1660AB", "(1 c #115AA9", "_1 c #0F58A9", ":1 c #115BAB", "<1 c #3175B8", "[1 c #B1CCE5", "}1 c #B1CBE3", "|1 c #B1CBE2", "11 c #B1CAE2", "21 c #B1CAE1", "31 c #B0C7E0", "41 c #B0C7DF", "51 c #B0C6DF", "61 c #0C4493", "71 c #0D4C9B", "81 c #0D51A1", "91 c #0E57A8", "01 c #125EAD", "a1 c #1360AE", "b1 c #0F58AA", "c1 c #0E56A8", "d1 c #0D54A7", "e1 c #0C55A6", "f1 c #0C53A6", "g1 c #0C52A6", "h1 c #0B52A5", "i1 c #0A51A5", "j1 c #0D53A7", "k1 c #0E52A7", "l1 c #0D4BA3", "m1 c #0B429C", "n1 c #295CA9", "o1 c #CAD6EC", "p1 c #D1DBEF", "q1 c #B5BDE0", "r1 c #95979F", "s1 c #B9C1DE", "t1 c #D5DBEF", "u1 c #DFE6F4", "v1 c #B5C8E5", "w1 c #1D57AA", "x1 c #1F5EB0", "y1 c #2269B8", "z1 c #226CB8", "A1 c #1D67B1", "B1 c #1862AD", "C1 c #1058AB", "D1 c #1058AA", "E1 c #115AAB", "F1 c #115BAD", "G1 c #125AAD", "H1 c #0F57AA", "I1 c #0F55A8", "J1 c #0F54A7", "K1 c #0F53A6", "L1 c #0E53A6", "M1 c #0E52A5", "N1 c #0D51A3", "O1 c #0D4EA0", "P1 c #0D4B9B", "Q1 c #0C4897", "R1 c #0C4695", "S1 c #0D4796", "T1 c #0E4D9C", "U1 c #0F54A2", "V1 c #1158A9", "W1 c #125CAE", "X1 c #125DAF", "Y1 c #1461B1", "Z1 c #1664B3", "`1 c #1968B5", " 2 c #1A69B6", ".2 c #1664B2", "+2 c #115AAD", "@2 c #0F59AB", "#2 c #0E57AA", "$2 c #0E56AA", "%2 c #0D55A9", "&2 c #0F57AB", "*2 c #105AAB", "=2 c #0F58AB", "-2 c #0E58AB", ";2 c #0C54A8", ">2 c #0B52A7", ",2 c #0B51A7", "'2 c #0A51A7", ")2 c #0A51A6", "!2 c #0D53A3", "~2 c #0D53A8", "{2 c #0D4FA7", "]2 c #0C479F", "^2 c #0A3F97", "/2 c #668CC4", "(2 c #CDD7ED", "_2 c #D3D9F0", ":2 c #D4DAF1", "<2 c #D1D9F0", "[2 c #D6E0F0", "}2 c #3C6EB7", "|2 c #1D58AB", "12 c #2062B2", "22 c #226AB7", "32 c #1E69B3", "42 c #1963AD", "52 c #135EAD", "62 c #1059AD", "72 c #1561B1", "82 c #1866B5", "92 c #1B6BB8", "02 c #1D6EB9", "a2 c #1E6FBA", "b2 c #4C91CA", "c2 c #4A8FCA", "d2 c #478BC7", "e2 c #1E69B5", "f2 c #0E54A7", "g2 c #0F55A6", "h2 c #1056A7", "i2 c #135AAA", "j2 c #1662B0", "k2 c #1967B5", "l2 c #1C6CB9", "m2 c #1B6CB9", "n2 c #1B6CB8", "o2 c #2072BD", "p2 c #2376BF", "q2 c #2378C0", "r2 c #2174BE", "s2 c #1D6FBA", "t2 c #1A6AB7", "u2 c #1969B7", "v2 c #1868B6", "w2 c #1665B3", "x2 c #1361B1", "y2 c #125EAF", "z2 c #1361B0", "A2 c #1564B2", "B2 c #1767B5", "C2 c #1766B5", "D2 c #1767B6", "E2 c #1666B5", "F2 c #1463B2", "G2 c #125DB0", "H2 c #0F59AD", "I2 c #0C55A9", "J2 c #0B53A8", "K2 c #0A52A7", "L2 c #0A52A6", "M2 c #0D52A7", "N2 c #0D4CA2", "O2 c #0A4299", "P2 c #0C3E95", "Q2 c #B3C5E2", "R2 c #CED7EF", "S2 c #D4DCF1", "T2 c #C5CDEA", "U2 c #A2A8C6", "V2 c #D9E2F1", "W2 c #7CA1CF", "X2 c #1B53A7", "Y2 c #1E5CAE", "Z2 c #2066B6", "`2 c #1F69B5", " 3 c #1A64AF", ".3 c #105AAD", "+3 c #115CAF", "@3 c #1562B2", "#3 c #1A6BB8", "$3 c #2174BF", "%3 c #277CC3", "&3 c #2B82C6", "*3 c #76B2DD", "=3 c #CEE5F4", "-3 c #C8DFF0", ";3 c #629DD1", ">3 c #1561B3", ",3 c #1F70BC", "'3 c #2276BE", ")3 c #2073BE", "!3 c #2276BF", "~3 c #2379C2", "{3 c #267CC3", "]3 c #BDDBEF", "^3 c #7AB1DB", "/3 c #1D6EBA", "(3 c #1C6DBA", "_3 c #1E71BC", ":3 c #1B6DB9", "<3 c #1768B6", "[3 c #1869B6", "}3 c #1D6FBC", "|3 c #1F72BD", "13 c #2072BE", "23 c #1E71BD", "33 c #1D70BC", "43 c #1E70BC", "53 c #1C6EBA", "63 c #196AB7", "73 c #115DAF", "83 c #0A53A8", "93 c #0B52A6", "03 c #0C53A1", "a3 c #0C51A1", "b3 c #0D52A6", "c3 c #0C4EA6", "d3 c #0B479D", "e3 c #0A3D95", "f3 c #3563AB", "g3 c #C8D3EC", "h3 c #CFD8EF", "i3 c #BAC2E3", "j3 c #999CAD", "k3 c #D7DDF0", "l3 c #C3D1E8", "m3 c #1F53A7", "n3 c #1B55A8", "o3 c #1F62B0", "p3 c #1F68B6", "q3 c #1C66B0", "r3 c #1861AB", "s3 c #1761AB", "t3 c #105AAE", "u3 c #0F59AE", "v3 c #2A7FC6", "w3 c #3A8FCF", "x3 c #B3D5EC", "y3 c #B3D0E8", "z3 c #D8E7F4", "A3 c #90BCE0", "B3 c #2A7AC0", "C3 c #2378C2", "D3 c #267BC4", "E3 c #267BC3", "F3 c #2479C2", "G3 c #2275C0", "H3 c #2073BF", "I3 c #1F72BE", "J3 c #2277C0", "K3 c #BADAEF", "L3 c #76AEDA", "M3 c #1A6AB8", "N3 c #1D70BD", "O3 c #2176C0", "P3 c #2479C3", "Q3 c #2176BF", "R3 c #1667B6", "S3 c #125EB1", "T3 c #0E58AD", "U3 c #0C55AA", "V3 c #0A53A9", "W3 c #0A52A9", "X3 c #0C50A6", "Y3 c #0C4CA1", "Z3 c #0A4298", "`3 c #093991", " 4 c #7D9CCC", ".4 c #CAD4ED", "+4 c #D3DAF1", "@4 c #CDD0E6", "#4 c #DEE4F4", "$4 c #D5E0F0", "%4 c #5A83BF", "&4 c #174DA2", "*4 c #1B59AA", "=4 c #1F64B2", "-4 c #1D67B2", ";4 c #1761AA", ">4 c #155FAB", ",4 c #0F5AAF", "'4 c #1462B5", ")4 c #1B6CBC", "!4 c #2579C4", "~4 c #378BCD", "{4 c #CFE6F5", "]4 c #5F99CD", "^4 c #1C66B2", "/4 c #C6DCEF", "(4 c #CBE2F2", "_4 c #3083C7", ":4 c #7FB6DE", "<4 c #DDECF6", "[4 c #76AFDB", "}4 c #B8D6ED", "|4 c #ECF5FA", "14 c #A7CCE8", "24 c #408BCB", "34 c #2174C0", "44 c #2379C3", "54 c #7DB5DE", "64 c #DBEBF6", "74 c #B9D7ED", "84 c #6AA9D8", "94 c #97C4E5", "04 c #DAEBF6", "a4 c #92BEE1", "b4 c #1966B5", "c4 c #0C55AB", "d4 c #0A53AA", "e4 c #0B51A1", "f4 c #0C4EA3", "g4 c #0B469C", "h4 c #093B93", "i4 c #1C4A9B", "j4 c #C1D0EA", "k4 c #CDD7EF", "l4 c #D1D8F0", "m4 c #C7CEEA", "n4 c #A1A9CC", "o4 c #B9CAE5", "p4 c #194AA1", "q4 c #1851A5", "r4 c #1C5CAF", "s4 c #1D65B2", "t4 c #1760AA", "u4 c #115BAF", "v4 c #0F5AB0", "w4 c #0F59B0", "x4 c #1664B7", "y4 c #1D6FBE", "z4 c #267BC5", "A4 c #83BAE2", "B4 c #EBF4FA", "C4 c #90BADD", "D4 c #C8DFF1", "E4 c #6BA2D3", "F4 c #B1D0EA", "G4 c #287AC3", "H4 c #7AB1DD", "I4 c #AFCDE8", "J4 c #0A51A8", "K4 c #0A50A8", "L4 c #0A51A9", "M4 c #0A52AA", "N4 c #0C50A5", "O4 c #0B49A0", "P4 c #093E96", "Q4 c #07368D", "R4 c #7192C5", "S4 c #D3D9F1", "T4 c #B7C0E1", "U4 c #969BAD", "V4 c #B6BCDD", "W4 c #CFD4EC", "X4 c #D4DDEF", "Y4 c #537DBB", "Z4 c #16499F", "`4 c #1954A7", " 5 c #1B5FAF", ".5 c #1C64B1", "+5 c #155FAD", "@5 c #105BB1", "#5 c #0F5AB1", "$5 c #1665B8", "%5 c #1D70BE", "&5 c #2379C4", "*5 c #CCE4F4", "=5 c #347ABD", "-5 c #2870B8", ";5 c #8BB4DB", ">5 c #0C4DA2", ",5 c #0B4DA0", "'5 c #0B4BA0", ")5 c #0B4CA1", "!5 c #0D53AA", "~5 c #0D56AD", "{5 c #B0CFE8", "]5 c #6899CA", "^5 c #0A4699", "/5 c #0A4597", "(5 c #0A479A", "_5 c #0A4CA1", ":5 c #0B51A8", "<5 c #2D76BE", "[5 c #478ECC", "}5 c #B5D4EC", "|5 c #9DC2E1", "15 c #1F65B1", "25 c #0B4FA5", "35 c #1F67B3", "45 c #9DC3E2", "55 c #D6E5F2", "65 c #1E62AE", "75 c #0A4DA5", "85 c #135AAE", "95 c #67A0D2", "05 c #0A4EA5", "a5 c #0A4EA6", "b5 c #0B51A6", "c5 c #0B4CA2", "d5 c #0A4399", "e5 c #09388F", "f5 c #174395", "g5 c #C0CDE8", "h5 c #CBD6EF", "i5 c #8E9098", "j5 c #CBD1E5", "k5 c #DEE5F2", "l5 c #B1C4E1", "m5 c #16469C", "n5 c #164AA0", "o5 c #1A58AA", "p5 c #1B62B0", "q5 c #1A62AF", "r5 c #165FAA", "s5 c #1A6DBD", "t5 c #1F73C0", "u5 c #699ACB", "v5 c #0B4BA1", "w5 c #0B4DA5", "x5 c #0C51A8", "y5 c #0D53A9", "z5 c #0D54AB", "A5 c #0D57AF", "B5 c #0F5BB1", "C5 c #105DB2", "D5 c #B0CFEA", "E5 c #6898CA", "F5 c #0A4598", "G5 c #0A4397", "H5 c #0A479C", "I5 c #0A4CA3", "J5 c #0B51A9", "K5 c #0C56AF", "L5 c #4087C7", "M5 c #B0D0EA", "N5 c #679ACB", "O5 c #0A4B9F", "P5 c #0A4CA2", "Q5 c #0B50A7", "R5 c #679ED1", "S5 c #AFCAE5", "T5 c #09489E", "U5 c #0A4AA1", "V5 c #0A4EA7", "W5 c #397CC0", "X5 c #094BA2", "Y5 c #094CA5", "Z5 c #0A4FA6", "`5 c #0B50A1", " 6 c #0B4EA2", ".6 c #0A479D", "+6 c #083C92", "@6 c #06328A", "#6 c #698AC0", "$6 c #C7D3EC", "%6 c #D0D9F0", "&6 c #A0A6C3", "*6 c #D2DCEF", "=6 c #6287BF", "-6 c #134499", ";6 c #164EA2", ">6 c #1A5BAD", ",6 c #1760AB", "'6 c #0F5BB2", ")6 c #1768BA", "!6 c #1A6BBD", "~6 c #6999C9", "{6 c #0C4EA1", "]6 c #0C52A9", "^6 c #0D58B0", "/6 c #105EB3", "(6 c #115FB5", "_6 c #1362B7", ":6 c #1464B8", "<6 c #1261B7", "[6 c #0A469A", "}6 c #0A4BA0", "|6 c #0C53AB", "16 c #3A7EC3", "26 c #AFCCE7", "36 c #6798C9", "46 c #09499E", "56 c #0A50A9", "66 c #679DD1", "76 c #09489D", "86 c #0A4BA2", "96 c #387DC0", "06 c #094A9F", "a6 c #094AA1", "b6 c #0A4C9D", "c6 c #0B4F9F", "d6 c #0B50A2", "e6 c #0B4B9F", "f6 c #093F96", "g6 c #07348B", "h6 c #264F9B", "i6 c #C1CEEA", "j6 c #D0D8F0", "k6 c #D1D9F1", "l6 c #D0D8EF", "m6 c #9396AA", "n6 c #C5CCE2", "o6 c #BCC2E2", "p6 c #DCE3F2", "q6 c #D6DEF1", "r6 c #C8D4EB", "s6 c #2350A0", "t6 c #124599", "u6 c #1751A5", "v6 c #195DAD", "w6 c #1961AE", "x6 c #165EA9", "y6 c #165EAA", "z6 c #0F5BB3", "A6 c #0E5AB3", "B6 c #0E5AB2", "C6 c #1260B6", "D6 c #1362B8", "E6 c #C6DDF0", "F6 c #508FC7", "G6 c #9DBDDD", "H6 c #155AAE", "I6 c #1565B9", "J6 c #196CBE", "K6 c #1A6DBE", "L6 c #1A6CBE", "M6 c #186ABD", "N6 c #0A499E", "O6 c #0A4BA1", "P6 c #0B50A9", "Q6 c #0C56B0", "R6 c #0E59B2", "S6 c #3A7ABD", "T6 c #AFCBE5", "U6 c #6797C9", "V6 c #0949A1", "W6 c #0A4FA8", "X6 c #0A53AD", "Y6 c #679ED2", "Z6 c #0A4A9F", "`6 c #0A52AB", " 7 c #387EC2", ".7 c #08489E", "+7 c #0A499A", "@7 c #0B4A99", "#7 c #0B4F9E", "$7 c #0A4398", "%7 c #07378D", "&7 c #093187", "*7 c #91ABD4", "=7 c #A2A9C9", "-7 c #D6DCF0", ";7 c #D9E1F2", ">7 c #D3DDEF", ",7 c #89A4D0", "'7 c #103D93", ")7 c #13479C", "!7 c #1754A6", "~7 c #1760AD", "{7 c #155EA9", "]7 c #0F5BB5", "^7 c #105EB7", "/7 c #115EB7", "(7 c #0F5DB6", "_7 c #6AA3D6", ":7 c #D2DEED", "<7 c #68A2D5", "[7 c #B0CDE8", "}7 c #6898CB", "|7 c #0C54AF", "17 c #0E5BB5", "27 c #0F5CB6", "37 c #0C58B3", "47 c #3976BB", "57 c #AFCAE3", "67 c #0A4BA3", "77 c #0A51AA", "87 c #0A54AE", "97 c #094AA2", "07 c #0A4FA9", "a7 c #0A52AE", "b7 c #387DC3", "c7 c #09479C", "d7 c #094695", "e7 c #0A4B98", "f7 c #0B4E9F", "g7 c #0B4EA1", "h7 c #0A469C", "i7 c #073A8F", "j7 c #063086", "k7 c #4166A9", "l7 c #C2CEE8", "m7 c #D0D7EF", "n7 c #AFB7DD", "o7 c #9297AA", "p7 c #C0C5DF", "q7 c #BAC1E2", "r7 c #DBE2F2", "s7 c #CED8ED", "t7 c #446AAE", "u7 c #0F3C92", "v7 c #12499C", "w7 c #175DAD", "x7 c #105CB2", "y7 c #0E5BB6", "z7 c #0E58B2", "A7 c #C4DAED", "B7 c #E2E8F2", "C7 c #1D5099", "D7 c #6891C2", "E7 c #D6E3F0", "F7 c #689ACD", "G7 c #6896CA", "H7 c #0A4AA2", "I7 c #0B4EA9", "J7 c #0B54AF", "K7 c #0B57B2", "L7 c #3872B6", "M7 c #AFC9E3", "N7 c #0A4AA3", "O7 c #0A51AB", "P7 c #679CD1", "Q7 c #0949A2", "R7 c #094DA8", "S7 c #0A4FAA", "T7 c #387ABF", "U7 c #094492", "V7 c #0A4794", "W7 c #0A4A99", "X7 c #0A4D9F", "Y7 c #0A489D", "Z7 c #073C92", "`7 c #063187", " 8 c #183F8F", ".8 c #B4C3E3", "+8 c #C8D2EC", "@8 c #CDD6ED", "#8 c #C1C8E7", "$8 c #AAADD3", "%8 c #D1D7ED", "&8 c #DFE3F5", "*8 c #D3DDF0", "=8 c #C1D1EA", "-8 c #234D9B", ";8 c #124A9D", ">8 c #175CAB", ",8 c #145DA9", "'8 c #145CA8", ")8 c #135DA9", "!8 c #0E5AB5", "~8 c #0D55AF", "{8 c #165BAF", "]8 c #B0CBE6", "^8 c #D4E0ED", "/8 c #295DA2", "(8 c #0A3D91", "_8 c #0A4195", ":8 c #0A4498", "<8 c #0A489F", "[8 c #0A48A0", "}8 c #0A49A0", "|8 c #0A48A1", "18 c #0A47A0", "28 c #0A489E", "38 c #0A4DA6", "48 c #0B51AB", "58 c #0B55B0", "68 c #0B57B3", "78 c #0B55B1", "88 c #0B52AD", "98 c #0A4DA8", "08 c #0948A1", "a8 c #09469E", "b8 c #09469D", "c8 c #0949A0", "d8 c #0A4CA6", "e8 c #0A50AA", "f8 c #0A50AB", "g8 c #094EA8", "h8 c #094BA5", "i8 c #094EA9", "j8 c #094BA3", "k8 c #094595", "l8 c #094593", "m8 c #094795", "n8 c #0A4B9D", "o8 c #0A489C", "p8 c #083D94", "q8 c #053288", "r8 c #092D83", "s8 c #91A7D1", "t8 c #C3D1EA", "u8 c #CFD7EF", "v8 c #CED5EF", "w8 c #9395A9", "x8 c #C0C6DF", "y8 c #DEE3F5", "z8 c #D0DBED", "A8 c #A1B7DA", "B8 c #113A8E", "C8 c #0F3D92", "D8 c #124B9E", "E8 c #1557A8", "F8 c #165CAA", "G8 c #0E5AB6", "H8 c #0E59B5", "I8 c #0D56B0", "J8 c #0C51AB", "K8 c #0C4DA5", "L8 c #588BC5", "M8 c #C2D6EB", "N8 c #C2D3E7", "O8 c #6890C2", "P8 c #093C92", "Q8 c #0A4095", "R8 c #0A4499", "S8 c #0A479E", "T8 c #0A49A1", "U8 c #0A49A2", "V8 c #0B4AA2", "W8 c #0A4CA5", "X8 c #0A4EA8", "Y8 c #0B55B2", "Z8 c #0B56B3", "`8 c #0B53AF", " 9 c #0A4CA7", ".9 c #0A4BA5", "+9 c #0A4DA7", "@9 c #0A51AD", "#9 c #0A51AE", "$9 c #0A50AD", "%9 c #0A4897", "&9 c #0A489A", "*9 c #083E94", "=9 c #063389", "-9 c #052B80", ";9 c #6080B7", ">9 c #C1CEE8", ",9 c #C9D3EC", "'9 c #CED7ED", ")9 c #B9C1E2", "!9 c #A5ACD1", "~9 c #C4CBE7", "{9 c #DAE1F1", "]9 c #CDD8EC", "^9 c #7592C4", "/9 c #0C348A", "(9 c #0E3D92", "_9 c #124C9E", ":9 c #1556A7", "<9 c #155BA9", "[9 c #135BA7", "}9 c #125CA9", "|9 c #0E59B6", "19 c #0D54AE", "29 c #0C4FA9", "39 c #0B4AA3", "49 c #0B479E", "59 c #0A439A", "69 c #396EB1", "79 c #396DB0", "89 c #396CAF", "99 c #13499B", "09 c #093E94", "a9 c #0A4097", "b9 c #0A449C", "c9 c #0A47A1", "d9 c #0B4CA6", "e9 c #0B4EAA", "f9 c #0B4FA9", "g9 c #0B4EA8", "h9 c #0A4EA9", "i9 c #0B50AB", "j9 c #0B51AD", "k9 c #0B52AF", "l9 c #0B53B1", "m9 c #0B55B3", "n9 c #0B56B5", "o9 c #0B57B6", "p9 c #0B56B2", "q9 c #0A54B1", "r9 c #0A52AF", "s9 c #0A50AE", "t9 c #0A52B0", "u9 c #0A53B1", "v9 c #0A51AF", "w9 c #0A53B0", "x9 c #0A4EA2", "y9 c #0B4D9C", "z9 c #0A4B9B", "A9 c #0A4A9B", "B9 c #073F95", "C9 c #06348A", "D9 c #052A7E", "E9 c #385CA1", "F9 c #BFCDE8", "G9 c #C7D2EC", "H9 c #CBD6ED", "I9 c #CFD5EF", "J9 c #D0D7F0", "K9 c #C8CFEB", "L9 c #9094A4", "M9 c #C8CCE0", "N9 c #D2DCF0", "O9 c #CAD7EC", "P9 c #5E80B9", "Q9 c #0C338A", "R9 c #0E3C91", "S9 c #124B9D", "T9 c #1456A6", "U9 c #145AA8", "V9 c #1259A6", "W9 c #0D57B3", "X9 c #0D54B0", "Y9 c #0C4DA7", "Z9 c #0A469F", "`9 c #0A459E", " 0 c #0A469E", ".0 c #0A46A0", "+0 c #0B4DA7", "@0 c #0D57B1", "#0 c #0C56B3", "$0 c #0C56B2", "%0 c #0C55B2", "&0 c #0B57B5", "*0 c #0C58B6", "=0 c #0B58B6", "-0 c #0A57B5", ";0 c #0A57B3", ">0 c #0A55B3", ",0 c #0A55B2", "'0 c #0A56B5", ")0 c #0A56B3", "!0 c #0A499D", "~0 c #073F94", "{0 c #274C95", "]0 c #B8C8E6", "^0 c #C6D2EB", "/0 c #CFD7F0", "(0 c #9AA0BB", "_0 c #B3B9D8", ":0 c #D5DEF1", "<0 c #D0DBEF", "[0 c #C7D4EB", "}0 c #4A6EAF", "|0 c #0B3389", "10 c #0D3C8F", "20 c #11499C", "30 c #1353A5", "40 c #135AA8", "50 c #1259A5", "60 c #125BA7", "70 c #125BA8", "80 c #0E59B7", "90 c #0D58B6", "00 c #0D56B2", "a0 c #0C53B0", "b0 c #0C51AD", "c0 c #0B4DA8", "d0 c #0B4FAB", "e0 c #0B52AE", "f0 c #0C54B1", "g0 c #0C57B3", "h0 c #0C58B7", "i0 c #0C59B8", "j0 c #0C59B7", "k0 c #0B58B7", "l0 c #0A58B7", "m0 c #0A57B7", "n0 c #0A57B6", "o0 c #0A56B6", "p0 c #0A4F9F", "q0 c #0A4EA0", "r0 c #0A4A9D", "s0 c #053389", "t0 c #204491", "u0 c #ADBFE0", "v0 c #C3D0EA", "w0 c #C9D3ED", "x0 c #BEC7E6", "y0 c #8A8A96", "z0 c #CFD9ED", "A0 c #C6D5EB", "B0 c #3F65A9", "C0 c #0B3388", "D0 c #0D3A8D", "E0 c #104799", "F0 c #1252A2", "G0 c #1357A7", "H0 c #125AA7", "I0 c #0D5AB8", "J0 c #0D59B7", "K0 c #0D59B6", "L0 c #0D58B3", "M0 c #0D57B2", "N0 c #0C57B2", "O0 c #0D58B5", "P0 c #0C5AB8", "Q0 c #0B59B7", "R0 c #0A58B6", "S0 c #0A55B0", "T0 c #0A4E9F", "U0 c #073E94", "V0 c #053287", "W0 c #173C8B", "X0 c #A8BADD", "Y0 c #C2D0EA", "Z0 c #C8D3ED", "`0 c #C7CEEB", " a c #9397AA", ".a c #BFC3DC", "+a c #D0D5ED", "@a c #D3DCF1", "#a c #C2D1EA", "$a c #466CAD", "%a c #0B3288", "&a c #0B378B", "*a c #0F4497", "=a c #1150A1", "-a c #1257A5", ";a c #1258A5", ">a c #0E5BB8", ",a c #0D5BB9", "'a c #0D5AB9", ")a c #0C5AB9", "!a c #0B59B8", "~a c #0A58B8", "{a c #0A53AB", "]a c #0A509F", "^a c #0A4E9E", "/a c #0A4D9E", "(a c #09469A", "_a c #073D91", ":a c #053184", "b c #C2CBE8", ",b c #999DB7", "'b c #B9BFDA", ")b c #C2C8E6", "!b c #D1DBF0", "~b c #CDD8ED", "{b c #C7D2EB", "]b c #B1C2E2", "^b c #325AA1", "/b c #0A3187", "(b c #0A378B", "_b c #0D4295", ":b c #0E4C9D", "c c #274F99", ",c c #082F85", "'c c #093085", ")c c #093284", "!c c #093588", "~c c #0A3E8F", "{c c #0C4495", "]c c #0D4A9B", "^c c #0D4E9E", "/c c #0D519F", "(c c #0D52A1", "_c c #0D54A1", ":c c #0C53A7", "d c #062F83", ",d c #063083", "'d c #063183", ")d c #063284", "!d c #063385", "~d c #073487", "{d c #073689", "]d c #07378A", "^d c #07388A", "/d c #073789", "(d c #073588", "_d c #063486", ":d c #053385", "e c #CED6ED", ",e c #A5AED1", "'e c #8A8FA0", ")e c #AAAFBF", "!e c #AAADCD", "~e c #CAD2EC", "{e c #B7C0E2", "]e c #A1A8C9", "^e c #8D92A4", "/e c #79797D", "(e c #AAABB8", "_e c #A6ACC7", ":e c #B9C0E2", " ", " , % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % ' ) ", " ! % % % % % % % % % % % % % ~ { ] ] ^ / / / / ( _ _ : < [ % % % % % % % % % % % % } ", " ' % % % % % % % % % | 1 2 3 4 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 0 a b _ c % % % % % % % % % d e ", " + f % % % % % % % g h i j 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 9 9 k k k l m n o % % % % % % % % = ", " + p % % % % % % % q / r 5 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 9 9 9 9 9 k k k k s s s s s t 1 u % % % % % % % v ", " w % % % % % % w x l 5 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 9 9 9 k k k s s s s s s s s y z A B ~ % % % % % % % ", " > % % % % % % C D k 5 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 9 9 9 9 9 k k k k s s s s s s s y z z z z z z z t E % % % % % % - ", " % % % % % % F / 9 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 9 9 9 k k k s s s s s s s s y z z z z z z G G H r r I J % % % % % % K ", " L % % % % % u M 9 5 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 9 9 9 9 9 k k k k s s s s s s s y z z z z z z z G G r r r r r r r N O % % % % % - ", " P % % % % % Q l 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 9 9 9 k k k s s s s s s s s y z z z z z z G G H r r r r r r r R R S T U V % % % % % ", " + % % % % % W X 5 5 5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 9 9 9 9 9 k Y Z ` . ...+. . .@.#.$.z z z z z z G G r r r r r r r r R R S S S S S %.E % % % % % &. ", " *.% % % % % =.-.5 5 5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 9 ;.>.,.'.).!.~.{.{.].^././.(.(.].].]._.:.<.[.}.r r r r r r r R R S S S S S S |.|.|.1.U % % % % % 2. ", " L % % % % 3.4.5 5 5 5 6 6 6 6 7 8 8 8 8 8 9 9 9 5.` 6.7.~.8.9.0.a.b.c.d.e.f.g.h.i.h.g.e.j.k.l.m.n.o.p.q.r.s.r r R R S S S S S |.|.|.|.t.t.t.u.v.| % % % % w. ", " x.% % % % W y.5 5 6 6 6 6 7 8 8 8 8 8 8 9 9 9 z.A.!.B.C.D.E.F.G.H.I.J.K.L.M.N.O.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+S S S S |.|.|.t.t.t.t.A A A A $+%+% % % % $ ", " &+% % % % F l 5 6 6 6 6 7 8 8 8 8 8 9 9 9 *+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+s.|.|.|.t.t.t.u.A A A A T T h+i+=.% % % % j+ ", " k+% % % % ~ 0 6 6 6 7 8 8 8 8 8 8 9 9 9 *+l+m+n+o+p+)+q+r+s+^+t+u+v+w+x+y+z+A+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+t.t.A A A A A T T h+h+h+h+Z+n % % % % j+ ", " L % % % % `+z 6 6 7 8 8 8 8 8 9 9 9 9 9 @.@+@@@#@$@%@&@^+*@=@-@;@>@y+y+,@'@)@!@~@{@{@{@]@^@/@(@_@:@:@<@[@}@|@1@2@3@4@5@6@7@b+U+V+8@9@A A T T h+h+h+h+h+h+h+Z+Z+0@% % % % a@ ", " *.% % % % b@c@7 8 8 8 8 8 8 9 9 9 9 9 d@e@o+f@g@h@r+i@j@k@l@m@n@o@x+p@q@r@s@t@t@u@v@v@v@w@w@x@x@x@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@T h+h+h+h+h+h+R@Z+Z+Z+Z+Z+^ % % % % S@ ", " T@% % % % U@r 8 8 8 8 8 9 9 9 9 9 9 k V@o+f@g@W@r+i@X@Y@Z@`@n@ #.#+#@#########$#%#&#&#&#*#*#=#=#-#-#;#;#>#>#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#N@}#|#h+h+h+Z+Z+Z+Z+Z+Z+Z+1#2#3#% % % % 4# ", " % % % % F 5#8 8 8 8 9 9 9 9 9 9 k 6#7#p+8#9#0#a#j@b#c#m@n@d#e#f#*#*#*#=#=#=#g#g#g#g#;#>#>#>#>#h#i#j#j#j#j#j#j#k#,#l#m#n#o#p#q#r#s#t#(#_#:#u#v#w#x#Z+Z+Z+Z+Z+Z+1#1#2#i+i+y#=.% % % % z# ", " w % % % o A#8 8 9 9 9 9 9 9 k k k B#C##@D#E#F#G#H#I#J#K#L#+#M#N#N#N#N#N#O#f#P#P#P#P#Q#Q#k#k#,#,#R#R#R#R#S#T#T#T#U#U#U#V#m#m#W#X#Y#Y#Z#`# $.$+$@$#$v#$$Z+Z+Z+1#2#i+i+i+i+%$%$&$E % % % % ", " *$% % % 3.=$8 9 9 9 9 9 9 k k k s -$;$>$,$'$i@)$!$~$;@{$]$^$P#P#/$/$/$/$/$s@s@s@s@($_$_$_$:$:$y@y@m#m#m#m#m#<$[$[$[$}$|$|$|$|$1$1$2$3$4$5$6$7$8$9$0$a$b$c$1#2#i+i+i+i+%$%$%$y#y#%.W % % % & ", " % % % % 4.9 9 9 9 9 k k k k s s d$e$f$g${+^+h$I#J#i$j$k$l$l$l$m$m$m$m$n$n$o$o$o$p$p$p$q$r$r$r$r$s$s$s$s$t$t$t$u$u$v$w$x$x$x$x$y$z$z$A$B$C$D$E$F$G$H$I$J$K$L$i+i+%$%$%$y#y#y#y#M$M$N$V % % % O$ ", " % % % % P$s 9 9 9 k k k s s s s Q$R$,$S$&@T$b#U$;@V$W$X$Y$Y$Z$Z$`$`$`$`$`$ %.%+% %q$@%:$#%$%$%:$:$o$%%%%&%&%*%=%=%-%;%y$z$>%A$A$A$,%,%'%'%)%!%~%{%]%^%/%(%_%:%<%M$%$y#y#y#M$M$M$M$[%[%U % % % % ", " }%% % % |%0 9 k k k k s s s s s 1%2%3%0#a#X@=@ #K#4%5%6%6%6%6%6%+%7%7%8%9%9%9%0%8%a%b%c%d%e%$%$%#%#%#%#%f%g%g%h% %a%i%;%j%k%l%m%n%o%p%q%q%r%s%t%u%v%w%x%y%z%A%B%C%D%y#y#M$M$M$M$[%[%E%E%E%q % % % F% ", " % % % % G%k k k k s s s s s s H%W@I%r+i@)$v+ #m@J%K%L%L%M%M%N%N%N%O%P%Q%Q%Q%Q%R%S%0%a%T%U%V%V%W%X%#%f%f%Y%g%Z%`% &.&+&@&#&Q%$&m%%&&&*&=&-&-&;&>&,&'&)&!&~&{&]&^&/&(&_&M$M$[%[%[%E%E%E%E%:&<&[&% % % }& ", " |&% % % n k k s s s s s s s y 1&W@2&3&4&5&6&J#7&8&9&9&9&0&a&a&b&b&c&c&c&d&e&e&f&g&h&i&j&k&l&l&l&l&l&l&l&l&l&l&m&n&z.o&p&q&i&r&h&s&t&u&=&;&v&w&x&x&y&z&A&B&C&D&E&F&G&H&I&J&[%E%E%E%E%:&:&K&K&K&L&% % % % ", " + % % % [&M&s s s s s s s y z N&O&0#P&4&Q&6&;@I#R&S&S&T&T&T&T&T&U&V&W&W&W&X&Y&Y&Z&Z&V&`& *o&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&.*d$+*@*#*$*%*&***=*-*;*>*>*,*'*)*!*~*{*]*^*/*(*_*E%E%:&:*K&K&K&K&K&K&<*% % % [* ", " d % % % 4.s s s s s y y z z z }*|*1*2*t+3*m@ #4*5*5*6*6*7*8*9*0*0*0*a*b*b*c*d*e*e*e*f*Y&g*h*l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&i*j*k*&*l*m*n*o*p*q*r*s*t*u*v*w*x*y*]*z*A*B*C*:*K&K&K&K&K&K&D*D*E*3.% % % ", " + % % % O H s s s y z z z z z F*G*{+i@H*I*m@K#J*K*L*L*L*L*L*M*M*N*O*O*P*Q*Q*R*S*S*S*S*P*d*T*U*l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&V*W*X*Y*Z*`* =.=.=.=+=@=#=$=%=&=]**===-=K&K&K&K&;=D*D*D*D*D*Q % % % >= ", " ,=% % % '=s y y z z z z z z )=G*!=~={==@m@]=^=N*O*/=/=(=_=:=<=<=[=[=[=}=|=1=1=2=3=3=4=5=6=P*7=l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&8=9=0=a=b=c=d=e=e=f=g=h=i=j=k=l=m=n=o=p=K&D*D*D*D*D*D*q=q=r=3.% % % ", " % % % O r z z z z z z G G H s=t=~=u=v=J#y+w=x=x=y=z=z=|=|=A=B=C=D=D=D=E=F=G=H=I=I=I=J=K=L=M=v@l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&N=`*O='*P=Q=R=S=T=U=V=W=i=X=Y=Z=`= -.-D*D*D*q=q=+-+-+-+-@-% % % >= ", " P % % % i z z z z z G G r r #-$-%-&-*-=---;->-,-'-)-)-!-~-~-~-{-{-]-^-/-(-_-:-:-<-[-}-|-1-2-3-+*l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&4-5-6-7-8-8-9-9-0-a-b-c-d-e-f-g-h-i-D*q=q=+-+-+-+-j-j-N$3.% % % ", " % % % |%S z z G G G r r r #+k-l-m-*@l@x+]=n-o-o-o-p-q-q-r-s-t-u-u-v-A@A@A@w-w-x-y-z-z-z-A-}-B-h#l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&C-D-@=D-@=E-E-F-G-H-I-J-K-L-M-N-O-P-+-+-+-Q-j-j-j-R-R-q % % % S- ", " ! % % % T-z G G r r r r r r _$U-^+V-W-'@z+X-Y-Z-`- ;.;.;+;x-x-@;@;z-#;#;#;$;%;%;&;*;=;-;;;>;,;';);l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&!;~;{;];^;/;(;_;:;<;[;};|;1;2;3;4;+-j-j-j-R-R-R-5;5;6;% % % 7; ", " F%% % % 8;G r r r r r r r 9;0;a;b;_+w+y+c;d;d;e;f;g;h;h;i;j;j;k;l;m;n;o;o;p;p;q;r;s;t;u;v;w;x;u;y;l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&z;A;B;C;D;E;F;F;G;H;I;J;};K;L;M;N;O;j-R-R-R-5;5;5;5;P;Q;% % % ", " % % % E r r r r r r r R R R#R;S;T;U;V;W;X;Y;Z;Z;Z;`; > >.>+>@>@>#>$>%>&>*>=>=>->;>>>)#)#,>'>)>!>~>{>]>^>/>(>(>(>9;l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&_>:><>[>}>|>1>2>3>4>5>6>7>8>9>L;0>R-5;5;5;5;5;P;a>a>b>% % % c> ", " } % % % d>r r r r R R R S t.e>H*V$:+f>A+c;g>.>/@h>h>i>j>j>k>l>m>m>n>n>o>p>p>q>r>s>s>t>u>v>w>x>y>z>A>B>C>D>E>F>F>G>G>G>H>I>J>K>L>l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&M>N>O>P>Q>R>S>T>T>U>V>W>J;V>X>Y>Z>`>5;5;P;P;a>a>a>a> ,% % % % ", " % % % u l r r R R S S S S .,+,(+@,#,$,%,&,*,*,=,-,-,;,>,,,',),),),!,~,{,],^,/,(,_,:,<,[,},|,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l&l&l&l&l&l&l&l&l&l&l&l&l,m,n,o,p,q,r,s,t,t,u,v,w,x,y,z,A,B,P;a>a>a>a>a>a>C,C,D,% % % ", " % % % =.R R R S S S S S |.A=E,F,G,H,%,H,>,I,J,K,L,L,!,M,N,O,P,P,Q,R,S,T,U,V,W,X,Y,Z,`, ' '.'+'@'#'$'%'&'*'='-';'>',''')'!'~'{']'^'/'('k,l&l&l&l&l&l&l&l&l&l&l&l&_':'<'['}'|'1'2'2'2'3'4'5'6'7'7'8'9'a>a>a>a>C,C,0'0'0@% % % a' ", " = % % % ( S S S S S |.|.|.b'c'd'e'c;f'E+g'&,P+O,h'i'j'k'l'm'n'o'p'q'r's't'u'u'v'w'x'y'z'A'B'C'D'E'F'G'H'I'J'K'R>L'M'N'O'P'Q'R'S'T'U'V'W'X'l&l&l&l&l&l&l&l&l&l&l&l&Y'Z'`' ).).)+)@)@)#)$)%)4'&)*)=)-);)a>C,C,0'0'0'0'0'>)% % % ,) ", " - % % % y.S S S |.|.|.|.t.')[+))}+H,D+!)~){)])])n'o'p'^)/)/)()()()_):)<)y'[)B'o#o#})|)1)2)3)4)5)5)6)7)8)9)0)a)b)c)d)e)f)g)h)i)j)}'k)l)m)n)l&l&l&l&l&l&l&l&l&l&l&l&o)p)q)r)s)s)t)t)t)u)v)w)x)y)z)A)B)C)C,0'0'0'0'D)D)E)E)Q;% % % ", " % % % F)t.|.|.|.|.t.t.t.t..;|+3+G)H)I)J)^)K)L)L)M)N)O)3@3@P)Q)R)S)o#T)U)|)|)V)W)X)Y)Z)`) !.!+!@!@!c)c)#!$!$!%!&!*!=!-!;!>!,!,!'!)!)!!!~!{!l&l&l&l&l&l&l&l&l&l&l&l&]!^!/!(!_!:!!z!A!B!C!C!D!E!F!G!G!E!H!I!J!l&l&l&l&l&l&l&l&l&l&l&l&K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!3!3!Z!`!D)E)E)E)E) ~ ~ ~.~% % % +~ ", " @ % % % @~t.t.t.t.A A A A #~H)$~%~&~J+I+*~=~-~;~>~,~2@'~)~!~~~{~m!]~n!o!p!^~r!/~(~_~:~<~7$`#`#x![~}~z!z!|~1~2~3~E!4~5~6~7~8~9~0~a~a~b~c~d~e~l&l&l&l&l&l&l&l&l&l&l&l&f~g~h~i~j~k~l~m~n~n~o~V!W!p~q~r~s~t~u~E)E)E) ~ ~ ~v~v~w~% % % x~ ", " y~% % % z~t.u.A A A A T T A~D+B~C~D~I+E~F~G~H~I~J~K~L~M~N~O~P~^~Q~(~R~S~:~T~U~7$`#`#V~[~}~W~X~|~Y~2~3~Z~4~5~`~ {.{.{+{@{#{${${%{&{*{${={-{;{l&l&l&l&l&l&l&l&l&l&l&l&>{,{'{){!{~{V!V!{{]{^{|!/{({_{:{<{[{}{ ~ ~ ~v~v~v~v~|{1{g % % % ", " & % % % &$A A A A T T h+h+2{3{4{5{I+:@6{7{M~O~H@8{9{T~U~7$`#`#x!0{V~V~[~a{b{c{d{e{f{F$g{h{h{i{j{j{k{l{{*{*y*@{#{${m{%{&{n{*{o{p{o{q{r{s{t{u{l&l&l&l&l&l&l&l&l&l&l&l&v{w{x{y{z{|!|!3!A{B{C{C{q~D{E{F{/{E{G{1{v~v~v~|{|{|{|{H{F % % % ", " % % % F)A A T T h+h+h+h+h+I{I+D~J{|@!#}@K{L{`#[~M{N{-{c~{&O{P{Q{R{S{={T{U{V{W{X{Y{X{Z{`{Z{ ]]%]%]%.].]x%+]@]@]#])*$]%]%]&]*]&]=]-];]>],]']']l&l&l&l&l&l&l&l&l&l&l&l&)]!]~]{]C{]]r~^]/](]:{q~_]:]<][]}]:]|]1]v~|{|{|{2]H{H{3]4]% % % ", " % % % <*T T h+h+h+h+h+h+5]<~6]7]8]9]0]V~a]b]c]d]&=e]f]g]h]h]i]j]i]Y>Y>Y>k]l]m]${@]{*.].]]%n]o]p]6$q]r]W{s]t]t]]%u]v]{*w]v]u]T{t]x]y]z]A]B]C]l&l&l&l&l&l&l&l&l&l&l&l&D]E]F]G](]2!H]q~q~/{_]I]G{J]K]:]:]L]M]N]|{|{H{H{3]3]3]3]O]% % % P] ", " % % % @-h+h+h+h+h+h+Z+Z+Q]|~R]!#S]a]T]G!U]V]W]X]Y]Z]`] ^.^+^@^#^$^.^%^&^*^=^-^;^>^l=Q{,^'^)^!^~^{^]^^^^^/^'^'^(^(^_^:^<^<^(^(^[^}^|^1^2^3^4^l&l&l&l&l&l&l&l&l&l&l&l&5^6^7^8^9^0^p~a^({b^c^d^e^f^g^f^L]h^i^j^H{H{3]3]3]3]3]3]k^% % % l^ ", " % % % m^h+h+h+R@Z+Z+Z+2#n^o^p^q^r^l{s^W]t^`]u^v^w^x^y^z^A^A^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^1^Q^R^S^S^S^S^1^T^U^|^V^V^W^|^X^Y^Z^`^3^ /./l&l&l&l&l&l&l&l&l&l&l&l&l&l&+/@/#/$/%/E{c^&/*/L]f^=/-/;/;/>/>/,/'/)/!/3]3]3]3]~/!/!/{/% % % ]/ ", " ^/% % % //h+Z+Z+Z+Z+Z+Z+2#(/8~T]_/7~:/(,('()(!(l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&I>~({(C/e^&/E/=/](I/^(/(((_(:(<([(}(|(1(2(>)!/!/!/!/!/!/3(4(% % % 5( ", " 6(% % % @~Z+Z+Z+1#2#i+i+j 7(8(9(k]0(W/x^a(6/b(c(c(d(+(+(@(#(#(e(f(@(g(h(i(j(k(l(m(n(l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&o(p(q(r(s(t(E/u(v(w(x(y(z(z(A(B(C(D(E(F(G(H(I(!/!/!/!/3(J(J(K(% % % L( ", " . % % % M(1#1#2#i+i+i+i+N(O(P(Q(0(R(S(T(U(g(c(V(W(X(Y(Z(`( _._ _ _Y(+_@_#_k($_%_l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&&_*_=_-_;_s(s(](^(((>_,_'_)_!_~_{_]_^_/_(___:_<_J(3(J(J(J(J(J([_% % % }_ ", " *.% % % M(i+i+i+i+%$%$%$K&|_1_2_3_v^Y/8/4_5_6_7_8_8_9_9_0_0_0_0_a_b_c_d_e_f_g_l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&h_i_j_k_l_m_H/n_o_p_q_r_s_t_u_t_v_w_x_y_z_A_B_C_D_J(J(J(>)E_E_F_% % % G_ ", " 6(% % % x i+i+%$%$y#y#y#H_I_J_K_W/x^Z/L_M_N_N_O_9_9_9_9_9_9_9_9_N_Y(P_Q_R_S_l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&&_T_U_V_W_X_Y_Z_((>_`_ :s_.:+:@:#:$:%:&:*:=:-:;:>:,:D_J(>)E_E_I(I(':% % % G_ ", " ):% % % !:%$%$y#y#y#y#M$~:{:]:^:/:B^(:d(_:::::<:<:<:<:<:[:[:[:[:}:|:1:2:3:l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&4:5:6:7:8:9:0:/(a:b:c:d:e:f:g:$:h:i:j:k:l:m:n:o:p:q:r:<_E_E_I(I(I(I(R/% % % s: ", " + % % % t:y#y#y#M$M$M$M$j-u:v:w:x:y:z:+(_:A:A:A:A:A:A:[:[:[:[:[:B:C:D:E:F:l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&l&G:H:I:J:K:L:M:N:O:>_P:)_s_Q:#:$:R:h:S:T:U:V:W:X:Y:Z:`: <.<+<,<'<'[,['['[)[![~[Q:{[$:$:R:R:][^[^[^[^[^[/[([_[:[<[[[}[|[a},}'})}!}!}!}!}~}{}]}^}/}(}_}:}<}[}}}|}1}2}3}J[K[K[$:$:R:h:4}5}5}5}6}6}6}7}8}([9}O[0}a}b}c}d}F_e}K}v}w}x}y}x}x}z}A}A}y}B}C}D}E}F}G}H}I}J}K}L}M}.}.}@}N}+}+}+}K[K[$:R:D|,|'|)|)|)|)|)|)|)|)|!|~|{|]|^|/|M}M}(|(|$|@}@}(|+}+}+}K[K[$:_|D<4}:|:|:|:|<|[|[|[|[|[|[|}|/[9}||1|2|3|4|5|6|V[e}W}W}W}W}7|% % % 8| ", " % % % 9|K&;=D*D*D*D*+-0|a|b|c|d|e|f|@|><{[{[#:#:#:#:#:#:%|%|g|h|i|j|l&l&l&l&l&l&l&l&l&l&l&l&k|l|'|m|n|n|n|n|n|n|o|p|9}q|q|q|q|q|p|q|n|_|_|V:r|_|_|_|_|D1D*q=q=+-+-+-a>,1'1)1!1~1{1]1^1/1(1(15<51u1v1w1x1y1z1A1^1B1W:W:W:C1C1C1D1b1b1E1F1G1W:H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1Q:W1W1W1W1X1Y1Z1`1 2`1.2~[W1F1F1+2@2#2$2%2$2&2@2@2*2@2@2=2=2=2=2-2$2%2;2>2,2'2'2'2)2}|][!2~2{2]2^2/2(2_2:2V}V}V}V}V}<2% % % % ", " % % % 1 +-+-Q-j-j-j-P;h}[2}2|2122232424252W:W:W:W:@2@2@262W172829202a2a202b2c2d2e2=2f2g2h2i2j2k292l2m2n2n2n202o2p2q2r2s292t2t2u2v2w2x2y2y2z2A2B2v2v2B2C2C2B2D2D2E2F2G2H2I2J2K2K2K2L2][][p|M2N2O2P2Q2R2_2V}V}V}V}S2S2T2% % % U2 ", " % % % o 5;j-j-R-R-R-a>D)V2W2X2Y2Z2`2 3#|/1.3.3.3.3H2H2H2+3@3#3$3%3&3*3=3l&l&l&l&l&-3;3>3w292,3r2'3r2r2)3o2o2!3~3{3]3l&^3/3(3s2_3s2:3t2<3[3#3}3|313|32333232323435363Z173-2I28383839303a3b3c3d3e3f3g3h3:2V}S2S2:2:2:2i3% % % j3 ", " j+% % % k3R-R-R-5;5;a>0' ,l3m3n3o3p3q3r3s3Q:t3u3u3u3u3H2~[v2)3v3w3x3y3y3z3l&l&l&l&y3y3A3B3C3D3E3F3G3H3)3I3I3$3J3~3K3l&L3M3M353I3I323}353N3O3~3P3C3J3Q3Q3J3J3G3$3I353R3S3T3U3V3W3W3:|O}t|X3Y3Z3`3 4.4_2+4S2:2:2:2:2_2u % % % ", " @4% % % Q 5;5;5;5;5;P;D)#4$4%4&4*4=4-4#|;4>4F2O}e4u|f4g4h4i4j4k4l4:2:2:2:2:2+4m4% % % n4 ", " % % % [ 0'5;P;P;a>a>C, ~I|o4p4q4r4s4 3t4;4u4v4v4v4v4w4x4y4z4A4l&l&l&]4W1^4B4C4W1W1y3l&l&D4l&l&l&l&l&l&l&l&l&l&E4F4l&l&l&l&l&l&l&l&l&|4G4H4l&l&l&l&l&l&l&l&l&l&l&l&l&I4J4K4L4M4:|e4:|N4O4P4Q4R4g3h3S4:2:2+4+4+4+4T4% % % U4 ", " V4% % % W4a>a>a>a>a>C,v~3(X4Y4Z4`4 5.5s3t4+5@5#5#5v4v4$5%5&5*5l&l&l&B4=5W1-5W1W1C4l&l&l&l&l&;5>5,5'5'5'5)5X3!5~5{5l&]5^5/5(5_5:5<5l&l&[5}5l&|515253545l&5565758595l&l&05a5K4b5e4e4u|c5d5e5f5g5h5l4S4+4+4+4+4_2@<% % % % i5 ", " j5% % % D,a>a>a>a>C,C,E)k5[2l5m5n5o5p5q5r5o}l:#5#5#5#5$5s5t5l&l&l&l&l&B4=5W1W1C4l&l&l&l&l&l&u5v5w5x5y5!5z5A5B5C5D5l&E5F5G5H5I5J5K5l&l&L5M5l&N5O5P5Q5R5l&S5T5U5V5W5l&l&X5Y5Z5`5e4[| 6.6+6@6#6$6k4%6+4+4+4_2_2_2-1% % % &6 ", " F%% % % K(C,C,0'0'0'E)r=I|*6=6-6;6>6q5,6r5>4@5'6'6'6w_)6!6l&l&l&l&l&/4^4W1W1]4l&l&l&l&l&l&~6{6]6^6/6(6(6_6:6<6M5l&E5[6[6}6Q5|6K5l&l&1626l&3646I55666l&S57686K496l&l&06a6b6c6e4d6e6f6g6h6i6.4j6k6_2_2_2_2<2l6[ % % % m6 ", " n6% % % o60'0'0'0'D)E)v~p6q6r6s6t6u6v6w6x6y62}z6A6B6C6w_D6E6l&l&l&z3^4W1F6^4W1]4l&l&l&l&l&G6H6@5I6J6K6L6K6M6D6D5l&]5N6O6P6Q6R6R6l&l&S6T6l&U6V6W6X6Y6l&S5Z6a5`6 7l&l&.7+7@7#7d6'5$7%7&7*7$6k4l6l4_2_2<2<2<21[% % % =7 ", " % % % % -70'D)E)E)E)v~H{;7>7,7'7)7!7v6~7{7{7l:]7]7^7/7(7_7l&l&B4=5W1=5l&/4W1W1C4l&l&:7l&l&l&l&l&l&l&l&l&l&<7[7l&}7U5V5|7172737l&l&4757l&U6677787Y6l&S59707a7b7l&l&c7d7e7f7g7h7i7j7k7l7.4m7l4<2<2<2<2<2j6n7% % % o7 ", " p7% % % q7E)E)E)E) ~ ~|{r7q6s7t7u7v7-[w7y6c[{7x7y727y7z7,[A7B4=5W1=5B4l&l&C4W1W1C4B7C7D7E7l&l&l&l&l&l&l&l&F7S5l&G7H7I7J737K7J7l&l&L7M7l&U6N707O7P7l&S5Q7R7S7T7l&l&U7V7W7X7Y7Z7`7 8.8+8@8h3j6<2<2<2<2l4#8% % % $8 ", " % % % % %8E) ~ ~ ~v~&8~/;7*8=8-8u7;8-[>8,8'8)8z6y7!8z7~8{8]8l&l&l&l&l&l&l&l&l&^8/8(8_8:8.6<8[8}8}8}8|8[818<828}83848586878889808a8b8b8c8d8e8f8g8h8Q7h8i8e8i8j8k8l8m8n8o8p8q8r8s8t8.4u8j6<2<2l4l4l4v8u % % % w8 ", " x8% % % W #4v~v~v~|{|{y83(C_z8A8B8C8D8E8F8'8'8g|]7G8H8I8J8K8L8M8l&l&l&l&l&N8O8P8Q8R8S8T8U8V8U8U8|8|8T8U8H7N7W8X848J7Y8Z8Y8`8f8 9.9N7.9+9S7@9#9f8i8R7S7@9#9$9b6%9%9+7&9*9=9-9;9>9,9'9h3<2l4l4j6j6j6)9% % % !9 ", " % % % % ~9v~|{|{|{|{~/ ,{9.<]9^9/9(9_9:9<9[9[9}9]7|9z719293949596979899909a9b9c9d9e9f9I7g9X8 9 9 998h9h9i9j9k9l9m9n9o9p9q9r9@9f8f8f8s9t9u9u9t9v9#9r9u9w9x9y9z9A9&9B9C9D9E9F9G9H9I9J9l4j6j6j6j6K9% % % % L9 ", " M9% % % 3.w~|{2]H{H{3]!/>)C_N9O9P9Q9R9S9T9U9V9[93}A6|9W9X9J8Y9N7[8Z9`9 0.0U8+0j9|7@0#0#0$0%0%0%0%0$0$0Z8m9Z8Z8&0&0*0=0=0-0;0>0,0,0>0>0'0'0'0'0)0)0>0>0i17}#7b6!0~0C9D9{0]0^0.4I9/0j6j6j6j6j6j6W % % % (0 ", " _0% % % D,3]3]3]3]3]3]!/I(:0<0[0}0|010203040506070A6809000a0b0e9c0c0I7d0e0f0g0*0h0i0i0i0i0i0i0i0j0k0k0k0k0k0k0k0l0l0l0l0m0m0m0m0m0m0n0n0n0n0n0o0)0i17}p0q0r0B9s0D9t0u0v0w0v8/0j6j6j6j6j6j6x0% % % % y0 ", " % % % % O]3]3]3]3]!/!/J(<_,:z0A0B0C0D0E0F0G0@}$|H0v4I0J0K0L0M000$0N0L0O0J0J0I0P0P0P0P0P0P0i0j0j0j0j0j0j0j0Q0Q0l0l0l0l0l0l0l0l0l0R0R0n0n0n0n0S0<|7}T0X776U0V0D9W0X0Y0Z0@8R2/0j6j6j6j6J9`0% % % % a ", " .a% % % % +a~/!/!/!/!/J(E_C_@as7#a$a%a&a*a=a-a;a@}$|W:>a,a,a,a,a,a,a'a'a'a)a)a)a)aP0P0i0i0i0i0i0i0i0i0i0!a~a~a~a~a~al0l0l0l0l0l0m0m0m0m0n0{ae4]a^a/a(a_a:a)E_E_+<3aNaU[(2OaPaQaRaSaTaUaVaWaL}XaK[#2YaZaZaZaZa`a`a`a`a`a`aCaCaCaCa b b b b b b b b.b.b.b+b+b+b+bfa'0d4e47}p0/ar0@b#b$b%b&b*b=bY0Z0H9-b;b/0/0/0/0/0/0>b% % % % ,b ", " 'b% % % % )b>)E_E_I(I(I(+c,c'c)c!c~c{c]c^c!|/c(c][_c/[/[4}][][][:c:ct|O}O}e4e4e4e47}c6b3.% % % % 7c ", " &c% % % % %+e}Kd,d,d'd)d!d~d{d]d^d^d/d(d_d:d$be<2l4l4j6j6j6j6j6j6j6j6j6/0/0/0/0/0/0/0/0u8u8R2R2v8v8v8v8v8v8v8v8v8v8Dbzcq1% % % % % % % ,e'e ", " )e!e% % % % % % % % q1#8~ej6j6j6j6j6j6J9/0/0/0/0/0/0/0/0u8u8R2R2v8v8v8v8v8v8v8v8v84d>b{eV % % % % % % % ]e^e/e ", " (e_e% % % % % % % % % n7:e>b~e/0/0/0/0/0/0/0/0u8u8R2R2R2v8v8v8v8v8v8v8~e!1)9%5-=#3‹!;'7/¿ °¨¸¤´¬¼¢hhUuMm]}CCcSsKkÈÕí]ÝÝ=½}ý&N9dò”©Ó¦Ï˜9köœ¹ó nŸ¿`á¢ÅK–.[>æ¹+W­^³vþ:lQC>Ÿ&¬‹¦%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:34+03:00à5$IEND®B`‚xchm-1.23/art/xchm-16.xpm0000644000175000001440000000655512210054137012020 00000000000000/* XPM */ static const char * xchm_16_xpm[] = { "16 16 175 2", " c None", ". c #A3AACC", "+ c #8C93BA", "@ c #9097BE", "# c #AAAECC", "$ c #828BB7", "% c #B2B9D4", "& c #CFD3E3", "* c #E9EBF4", "= c #E2E7F1", "- c #C9D0E2", "; c #A7AECF", "> c #98A2C5", ", c #AFB2CF", "' c #969DC3", ") c #E7EAF2", "! c #E9F5FE", "~ c #D1ECFB", "{ c #C4E9FB", "] c #C3E7FB", "^ c #D1EBFB", "/ c #E9F4FA", "( c #D5D8EA", "_ c #8C95BE", ": c #B5B9D3", "< c #9BA3C6", "[ c #F5F7FC", "} c #C4E7FB", "| c #B7E2FB", "1 c #CCEAFC", "2 c #D2ECFC", "3 c #D0EAFC", "4 c #C6E6FB", "5 c #A4D6F6", "6 c #C4E0F6", "7 c #E6E8F4", "8 c #8992BC", "9 c #8189B6", "0 c #ECEDF5", "a c #B7E0FA", "b c #ACDBF9", "c c #B5DFFB", "d c #ACDAF9", "e c #E6F4FC", "f c #FFFFFF", "g c #F3F9FE", "h c #CEE7FA", "i c #84C0ED", "j c #B3D3F1", "k c #C9CDE3", "l c #989FC3", "m c #ABB2D0", "n c #DEEDFA", "o c #81C5F7", "p c #91CDF6", "q c #85C5F5", "r c #7DC1F2", "s c #90CAF3", "t c #92C9F1", "u c #B4D8F5", "v c #84B8E6", "w c #4F96D9", "x c #D5DEF0", "y c #8B94BE", "z c #A1AAC7", "A c #CBD0E3", "B c #A3D0F5", "C c #66B2EE", "D c #65B2EB", "E c #60B1EB", "F c #5DADEB", "G c #55A7E8", "H c #489BE3", "I c #82B9E9", "J c #649FDA", "K c #2C78CA", "L c #9ABBE3", "M c #A6AFD0", "N c #939ABF", "O c #D7DBEB", "P c #76AEE3", "Q c #3986CB", "R c #2F7DBE", "S c #7CB5DD", "T c #F0F7FC", "U c #BAD5ED", "V c #296DBD", "W c #195DB2", "X c #6E9CD2", "Y c #AEB5D5", "Z c #AAB0CD", "` c #989FC2", " . c #CFD3E6", ".. c #629AD1", "+. c #1A63AA", "@. c #1863AA", "#. c #B4D1E7", "$. c #C5DBEC", "%. c #447FBB", "&. c #4A84C0", "*. c #2F6CB4", "=. c #1556A5", "-. c #0F4D9B", ";. c #0D4A97", ">. c #6B95C9", ",. c #ABB3D4", "'. c #AFB4CF", "). c #ABB2CE", "!. c #B9BFDA", "~. c #7DA5D5", "{. c #155AA8", "]. c #125BAB", "^. c #7CACD6", "/. c #6A9DCC", "(. c #0D4D9C", "_. c #0C4998", ":. c #0C4896", "<. c #0A4797", "[. c #094798", "}. c #0A4395", "|. c #96B0D6", "1. c #99A2C8", "2. c #9099C0", "3. c #CDDBED", "4. c #1B53A2", "5. c #0C50A6", "6. c #D6E6F2", "7. c #D6E5F2", "8. c #0B4BA0", "9. c #0A4B9F", "0. c #0949A0", "a. c #09459A", "b. c #24549E", "c. c #C6D1EA", "d. c #828BB8", "e. c #BAC1DD", "f. c #89A4D0", "g. c #0D3D8F", "h. c #0946A1", "i. c #0948A3", "j. c #0949A6", "k. c #0849A6", "l. c #07469E", "m. c #103D8C", "n. c #A4B9DC", "o. c #A2ABCF", "p. c #AFB6D0", "q. c #818AB6", "r. c #C1C7E2", "s. c #8FA6D0", "t. c #1B4793", "u. c #073B8E", "v. c #074096", "w. c #074197", "x. c #053A8F", "y. c #2A5299", "z. c #A8BADD", "A. c #AEB6D7", "B. c #AAADCB", "C. c #7F88B5", "D. c #A6AFD1", "E. c #C0CBE7", "F. c #A3B5D8", "G. c #728FC0", "H. c #7B98C5", "I. c #B2C2E3", "J. c #C2CDE8", "K. c #9DA5CB", "L. c #ACB4CE", "M. c #7F88B6", "N. c #949DC5", "O. c #9CA5CB", "P. c #9BA4CA", "Q. c #939CC4", "R. c #B3B9D2", " . + @ # ", " $ % & * = - ; > ", " , ' ) ! ~ { ] ^ / ( _ : ", " < [ } | 1 2 3 4 5 6 7 8 ", " 9 0 a b c d e f g h i j k l ", " m n o p q r s t u f v w x y ", "z A B C D E F G H I f J K L M ", "N O P Q R S T f f f U V W X Y Z ", "` ...+.@.#.$.%.&.*.=.-.;.>.,.'.", ").!.~.{.].^./.(._.:.<.[.}.|.1. ", " 2.3.4.5.6.7.8.8.9.0.a.b.c.d. ", " . e.f.g.h.i.i.j.k.l.m.n.o.p. ", " q.r.s.t.u.v.w.x.y.z.A.B. ", " C.D.E.F.G.H.I.J.K.B. ", " L.M.N.O.P.Q.C.R. ", " "}; xchm-1.23/art/xchm-32.png0000644000175000001440000000417012210054137011765 00000000000000‰PNG  IHDR szzôgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“IDATXÃå—[Œ]U€¿µÖÞûÜæÌ½¶Ó{¬\,¡¤RŠrñBðM|3!¾L êƒ"F‰‰ÓAc¼ åVKm0‚€t*iK/ÓvfÚé™9ç̹ísÎÞ{­ß‡=´Œ£´åÅÿdgeí½Öú¿ÿ_ÿú׿á,ê½LzqlJZ ‡s­ Z9ŠÛ®½äõ.zÂîç'Å:Åèê½=Å‚F!‰X¡ÞŒ(Í…ÌUÚ¬É]4Ì=ÿâ)ÑÆð+èË âÒvñ…,¶‰N®säø£+s\¿uÍ»êx×Oí™”ë®^ÁªùsŠÃØQ‰ “@hв0*—Ä¡£â8bçöõê’ÆÆOK¥ó¡ëW“Ëy ŽJÖ…rb'DΡÐuà©T±g`]®ìõŒ€ƒé3-)óÙOnV °ëùò‘£øZ ŒÍ 'BbS+‡s3 YÜƒØ ¥P˜j]GÁnXé³±h8Sjqf¶Âm;7© üa×1¹eÇòyŸ0†?M;*mG_«ò—†Vç‚+à(qÔ»Âd5¢k[Wxì\“A€É“5Z­:·ìXê ýÎÎËcSrÕ•Cäs>‰ƒgN8fjŽ~_“E1 ¡ÐèX´O‘5ŠZ'a>t„‘e¤ ‰"ÇÞcm^šé α~´HûË¼í½³So:¶^Óƒìr_HX‘S´º–š•Ôd¥PÀö5†µ‹.NÅçp9楩§«1s]ËoÇë¬Ê°¶ÏpÙÚ~žÞ}P>õ‰-j™^øû”lÞÐ@©íxe:A´:B©á˜o[æZ s„³õ˜v,ˬ¹rÈçî­E†rŠ“s!ž³Ôš¿¯!Vèéññ3ù%sΔ+#Ã9Ä {O&´"Kb-g •vÂBh©µa¡•Pn%¼|ªÃ¯ßhò«×¼<Õ¡úÌ–¦g›Lϵˆ:1ûŽ7xs>Â:ÌñÄ3cçŸÛ‚þ,J)œÀø¬%vB¥)D‰=©Z›8þ|¤E ±uˆƒëÖg¸÷Ö!ÖôùÌÍ5À2YŸ0Vì9Tçò‡è-fˆ£ó±p Ø`E8Y³ÌT#´ÄtÚ]—àét¡LÖCƒ" ˆm Qª'K\[«6Áð»çì;ÞÀmÂ÷ ^¦°`ÿþÓ’ 4"0UŽ)—*T+sÔð|C&Pè+P,ö0ÔW`ãŠ<k!±šþŒáÃrKÂfˆ˜i†àyt<¬½ ¾Y ÐKÞhœƒ³ -f§¦©×«ˆXüÀCi¡h}¾õÑÕܼ±Ÿ É~ˆ(l‘“ØŒ‡Íö[‡1 ´Z `kÎ Ív›zµJ”D ´AÇ–»w®¿ òr#âßŒóØ“¯“Ämðd1a¹¨‡¶q²àÆmëÔ«ã%qF .ŽA©ô(³°v་Ÿ›â¹±(S©8Ɯ嵧Òse<ð|R=•8Š}PX(¶Ëƒ°Ñì"â¸jm/šÄYĈ’Ü;¨wäçïÃ-ÞÃJ©”UyˆñR€I÷Z¢ë†{P@7²4›ÕåµZ—8ŠŸËG{?6‹*dqhÄ*¾ôè~.Ìpèð4­J”Ÿš¯ h(hÒ&}§Î}÷Þ³ü.(fså6cøön §„¸|†£o•øòOßàc³<ôäa~·÷8˜Œ¿Ø }DPD!í®Yåöm›¸sÛû˜/·8;óÆ’“³¼Ø}L¶\>ŒhØóiîûÉsD‰…üè,ˆ¤®öüE/A’iÌâšU®Þ0¿ñirGm¡Íþ}垯|þ¿×ý–£“U´(nùà(õ{²$•i\}I:ˆ(“>¢+HÔEê%ÜÙ·F™;nz??üZª¼FÌ—›”ÎüsYîø%Ùs{'$ÑEÖöaæêm{ú»^˜ Ù ÓÔ•É£Tz¶Åv‘$FÖ­ä‹wÝÀMW’ ­f—R©ÉWŸàþï~ýÂ%ÙÛòìî1‰`ÝhAÆ#J,åF——&¦ùËØ$sÕ&a7&øxZqí«ùØöÍlZÝGÞK¶ºrpb?¥™ î¿ÿ›_”¾-Oíú›Ô€•Ã# üô&´ÖÆk¥ÖŒèŤ֡ºrôð+ÌL¾Î#( U%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:34+03:00à5$IEND®B`‚xchm-1.23/art/xchm-32.xpm0000644000175000001440000002567512210054137012022 00000000000000/* XPM */ static const char * xchm_32_xpm[] = { "32 32 560 2", " c None", ". c #C4CCE3", "+ c #B9BFE1", "@ c #B7BDDE", "# c #BBC0DF", "$ c #CCCDE5", "% c #B9BFDF", "& c #B6BDE0", "* c #D1D6EB", "= c #DFE2F1", "- c #ECEDF6", "; c #ECF0F7", "> c #EBECF6", ", c #E7E9F5", "' c #D9DDEF", ") c #C3C8E5", "! c #AEB6DC", "~ c #BFC4E2", "{ c #C1C7E5", "] c #EBEDF6", "^ c #FCFCFE", "/ c #FBFCFE", "( c #FBFBFC", "_ c #FAFBFC", ": c #FAFAFC", "< c #F9FAFC", "[ c #F9F9FC", "} c #F5F6FB", "| c #D7DCED", "1 c #B2BADD", "2 c #CDD0E6", "3 c #B3BBDF", "4 c #E4E7F4", "5 c #F1F7FC", "6 c #DFF1FC", "7 c #D7EDFC", "8 c #CDEAFB", "9 c #CCEAFB", "0 c #D9EDFB", "a c #E1F0FB", "b c #F3F6FB", "c c #F6F7FB", "d c #F5F7FB", "e c #F1F2FA", "f c #C9CEE8", "g c #C4C9E2", "h c #CCD1E6", "i c #BAC0E1", "j c #F2F3FA", "k c #E9F4FC", "l c #C0E6FB", "m c #ADDDFB", "n c #A8DBFA", "o c #A2D9F8", "p c #A4D7F7", "q c #9DD5F7", "r c #A1D6F7", "s c #A8DAF7", "t c #C5E4F7", "u c #ECF2FB", "v c #F2F5FA", "w c #D6DAEF", "x c #ADB5DC", "y c #B7BFE0", "z c #F6F9FB", "A c #F6FAFC", "B c #C2E6FB", "C c #A2D9FA", "D c #9ED6FA", "E c #B0DCFA", "F c #C4E5FA", "G c #CDE8FB", "H c #CCE7FB", "I c #C7E5FA", "J c #B1DBF9", "K c #9DD1F5", "L c #8ECAF3", "M c #99CFF2", "N c #CEE5F7", "O c #F0F2FA", "P c #D7DCEF", "Q c #BEC4DD", "R c #B0B7DD", "S c #F0F1F7", "T c #F0F6FC", "U c #A8DAFA", "V c #96D1F8", "W c #A5D7F8", "X c #BDE1FA", "Y c #BBE0FA", "Z c #B9E0FA", "` c #BBE1FA", " . c #BBE0F9", ".. c #B8DFF9", "+. c #B6DDF9", "@. c #B7DCF7", "#. c #A9D5F6", "$. c #88C4F0", "%. c #81C1EE", "&. c #B1D6F2", "*. c #EDF0F9", "=. c #ECF0F9", "-. c #CBD1EA", ";. c #C0C6DC", ">. c #C7CCE3", ",. c #DBDEF0", "'. c #F6F9FC", "). c #A5D6FA", "!. c #8DCBF8", "~. c #A6D6FA", "{. c #ADD7F9", "]. c #A9D7F9", "^. c #ABD6F9", "/. c #ACD8F7", "(. c #BDE2F9", "_. c #C1E4FA", ":. c #C0E2FA", "<. c #A7D5F5", "[. c #A3D2F5", "}. c #9FCFF3", "|. c #9FCFF2", "1. c #7BBBEC", "2. c #6EB3E9", "3. c #B3D5F1", "4. c #EBEEF7", "5. c #E9ECF7", "6. c #BAC1E1", "7. c #B9C0E1", "8. c #F7F9FC", "9. c #B3DCFA", "0. c #83C6F6", "a. c #98CFF7", "b. c #9BCFF7", "c. c #97CCF6", "d. c #97CCF5", "e. c #97CDF6", "f. c #98CDF6", "g. c #E3F2FC", "h. c #FFFFFF", "i. c #D8ECFA", "j. c #9ECFF2", "k. c #84BEED", "l. c #86BEEC", "m. c #66ACE6", "n. c #5EA6E3", "o. c #CBDDF4", "p. c #E7ECF7", "q. c #D9DDF1", "r. c #B4B9D7", "s. c #C3C9E3", "t. c #DDE1F1", "u. c #E3F0FA", "v. c #7BC0F6", "w. c #82C4F6", "x. c #8DC7F6", "y. c #85C2F5", "z. c #83C3F3", "A. c #82C1F1", "B. c #82C0F2", "C. c #81BFF1", "D. c #DAEDFB", "E. c #97C7EE", "F. c #67A9E2", "G. c #6AAAE3", "H. c #4F9ADD", "I. c #71AEE5", "J. c #E6E9F6", "K. c #E5E9F6", "L. c #F4F5FA", "M. c #A0D1F6", "N. c #70BAF3", "O. c #7EC1F3", "P. c #76BAF2", "Q. c #73B9F1", "R. c #73B9F0", "S. c #73B8F1", "T. c #72B5EE", "U. c #6EB4ED", "V. c #A1CFF3", "W. c #A7D2F3", "X. c #A6D1F2", "Y. c #C6E2F7", "Z. c #F4F9FE", "`. c #E5F0FA", " + c #4B91D6", ".+ c #4E95D8", "++ c #4992D8", "@+ c #3C8CD8", "#+ c #BCD5F0", "$+ c #E2E7F6", "%+ c #CBD2EA", "&+ c #AFB5CC", "*+ c #F4F6FB", "=+ c #71B9F3", "-+ c #6BB7F2", ";+ c #6CB5F1", ">+ c #66B1EE", ",+ c #67B1EE", "'+ c #67B3ED", ")+ c #66B2ED", "!+ c #63AEEB", "~+ c #5DAAE8", "{+ c #58A5E7", "]+ c #53A2E5", "^+ c #52A0E5", "/+ c #83BEEC", "(+ c #367CC9", "_+ c #367FCC", ":+ c #3D87D1", "<+ c #3282D2", "[+ c #77ADE2", "}+ c #E1E6F5", "|+ c #D9DFF1", "1+ c #AAAFD1", "2+ c #CED3EB", "3+ c #D3E6F7", "4+ c #56A8ED", "5+ c #58A7E8", "6+ c #509EE1", "7+ c #4C9CDD", "8+ c #509EE0", "9+ c #57A6E5", "0+ c #5EAEE9", "a+ c #5FB1EC", "b+ c #5DAEEB", "c+ c #57AAE8", "d+ c #53A4E7", "e+ c #4E9FE4", "f+ c #499CE2", "g+ c #6DB0E8", "h+ c #276BBD", "i+ c #2770C3", "j+ c #2C78C9", "k+ c #2A7DCF", "l+ c #428BD5", "m+ c #DFE4F5", "n+ c #DEE3F4", "o+ c #CDCDE6", "p+ c #D5D9ED", "q+ c #F1F4FA", "r+ c #B6D3F2", "s+ c #4392DB", "t+ c #3280C6", "u+ c #2470B6", "v+ c #2875B9", "w+ c #2F7DBF", "x+ c #3A8CCA", "y+ c #4799D6", "z+ c #5AA8E1", "A+ c #7CBDEB", "B+ c #7ABDEC", "C+ c #77BAEC", "D+ c #73B7E9", "E+ c #C1DFF5", "F+ c #1D5FB3", "G+ c #1C62B8", "H+ c #1B64B9", "I+ c #1B68BD", "J+ c #236DC1", "K+ c #DCE1F4", "L+ c #DCE2F4", "M+ c #B4BBDF", "N+ c #EFF2FA", "O+ c #9FC3E7", "P+ c #2B75BF", "Q+ c #1D67AE", "R+ c #1C66AB", "S+ c #216CAF", "T+ c #2977B8", "U+ c #3C89C4", "V+ c #C2DDEF", "W+ c #86ACD7", "X+ c #1755A8", "Y+ c #1355A3", "Z+ c #0F529E", "`+ c #0F55A2", " @ c #185DB1", ".@ c #D7DEF2", "+@ c #DAE1F2", "@@ c #B5BDE0", "#@ c #D4D9ED", "$@ c #93BADE", "%@ c #1D64AE", "&@ c #1760A8", "*@ c #1761A7", "=@ c #1C68AE", "-@ c #2372B5", ";@ c #9DC5E2", ">@ c #ECF2F9", ",@ c #729BCA", "'@ c #124D9C", ")@ c #0E4893", "!@ c #0E4D99", "~@ c #0D4E99", "{@ c #0D519E", "]@ c #1657A8", "^@ c #D5DDF0", "/@ c #D9DEF2", "(@ c #CAD1EA", "_@ c #EBEEF9", ":@ c #AAC5E2", "<@ c #1B5FA9", "[@ c #1760A9", "}@ c #1761AA", "|@ c #1C69B0", "1@ c #216FB5", "2@ c #B9D6EB", "3@ c #B1CBE2", "4@ c #6B97C2", "5@ c #6C97C2", "6@ c #6D97C2", "7@ c #6D96C0", "8@ c #3E71A9", "9@ c #0D418B", "0@ c #0D438B", "a@ c #0D468F", "b@ c #0D4A94", "c@ c #0B4C99", "d@ c #0B4D9B", "e@ c #0C4D9C", "f@ c #2360AB", "g@ c #D5DDF1", "h@ c #D6DDF2", "i@ c #BDC5E3", "j@ c #EAEDF7", "k@ c #D5E1F0", "l@ c #1F5FAB", "m@ c #175EA8", "n@ c #1661AF", "o@ c #1B68B3", "p@ c #1D6BB5", "q@ c #B7D4EA", "r@ c #6A97C3", "s@ c #0C418D", "t@ c #0A418C", "u@ c #0A408C", "v@ c #0B418D", "w@ c #0B438D", "x@ c #0C428F", "y@ c #0B4693", "z@ c #0B4997", "A@ c #0B4B9D", "B@ c #0B4FA0", "C@ c #0B4998", "D@ c #4074B7", "E@ c #D6DDF1", "F@ c #CFD7EF", "G@ c #A2AACB", "H@ c #E5E8F6", "I@ c #E2E8F5", "J@ c #447AB9", "K@ c #1557A1", "L@ c #1662B0", "M@ c #1968B5", "N@ c #1A68B6", "O@ c #1F6CB7", "P@ c #3E7EBE", "Q@ c #1657A2", "R@ c #0B4595", "S@ c #0B4292", "T@ c #0A4392", "U@ c #0A4595", "V@ c #0B4797", "W@ c #0A4899", "X@ c #0A4A9B", "Y@ c #0B4C9E", "Z@ c #0B4EA1", "`@ c #0B4FA5", " # c #0A50A6", ".# c #0B4E9F", "+# c #094594", "@# c #83A4D1", "## c #D4DAF1", "$# c #C2C9E7", "%# c #9096AB", "&# c #BEC4DF", "*# c #D3D9ED", "=# c #98B4DA", "-# c #13509D", ";# c #165DAA", "># c #1664B7", ",# c #216FBD", "'# c #EBF4FA", ")# c #EBF2F9", "!# c #3B74B4", "~# c #0B489A", "{# c #0B4A9E", "]# c #0B4CA2", "^# c #0B4FA6", "/# c #0B51A8", "(# c #0B51A9", "_# c #0B53A9", ":# c #0A52AA", "<# c #0A50A8", "[# c #094595", "}# c #1E549E", "|# c #C9D4ED", "1# c #D3D9F0", "2# c #B5BCE0", "3# c #82848D", "4# c #B6BFE0", "5# c #E2E7F5", "6# c #D9E1F2", "7# c #3C6DB1", "8# c #12509C", "9# c #125BAF", "0# c #317AC3", "a# c #6998CA", "b# c #0B4AA1", "c# c #0B4FA8", "d# c #0C53AB", "e# c #0C55AF", "f# c #0B55B0", "g# c #0A55B0", "h# c #0A53AE", "i# c #09499C", "j# c #073E8C", "k# c #7F9ECC", "l# c #D0D8F0", "m# c #C8CFEB", "n# c #99A0BE", "o# c #C3C6E1", "p# c #CDD4EC", "q# c #E0E4F5", "r# c #B9CBE6", "s# c #1B519B", "t# c #0D4896", "u# c #0D54AD", "v# c #699DD2", "w# c #B0CBE7", "x# c #8BB1D8", "y# c #1555A8", "z# c #0B4DA7", "A# c #0B52AD", "B# c #0C56B1", "C# c #0C58B5", "D# c #0B57B5", "E# c #0A57B3", "F# c #0A56B3", "G# c #0A54B1", "H# c #094A9F", "I# c #073D8B", "J# c #4A72AF", "K# c #C9D2EC", "L# c #B4BCE0", "M# c #828591", "N# c #B0B9DD", "O# c #D9DEF1", "P# c #D8E0F1", "Q# c #93AED5", "R# c #11448F", "S# c #0B408C", "T# c #0B4A9F", "U# c #0B4CA7", "V# c #0B4BA6", "W# c #0B4DA8", "X# c #0B51AD", "Y# c #0B54B2", "Z# c #0B57B6", "`# c #0B59B8", " $ c #0A58B7", ".$ c #0A57B6", "+$ c #0953B1", "@$ c #084699", "#$ c #063A88", "$$ c #325B9F", "%$ c #C6D1EC", "&$ c #CFD7F0", "*$ c #C0C7E7", "=$ c #8D92A9", "-$ c #C4C7DA", ";$ c #DADFF2", ">$ c #D3DDF0", ",$ c #9EB5D7", "'$ c #1D4C94", ")$ c #073883", "!$ c #093E8C", "~$ c #0A479E", "{$ c #0A4CA9", "]$ c #0A51B0", "^$ c #0A54B5", "/$ c #0A56B7", "($ c #0952B0", "_$ c #0949A0", ":$ c #073C8B", "<$ c #073986", "[$ c #4E75B0", "}$ c #C4CFEC", "|$ c #C4CDEA", "1$ c #ACB4DB", "2$ c #77797E", "3$ c #BABDD4", "4$ c #B6BFE1", "5$ c #D4DAF0", "6$ c #D1D9F0", "7$ c #BCCBE7", "8$ c #5C7FB7", "9$ c #13428B", "0$ c #073781", "a$ c #073784", "b$ c #073E8E", "c$ c #083F91", "d$ c #083F92", "e$ c #063886", "f$ c #073886", "g$ c #28559C", "h$ c #8BA5D1", "i$ c #CED7EF", "j$ c #C3CBE8", "k$ c #7D7F8B", "l$ c #B6B9CC", "m$ c #D3DBF0", "n$ c #CDD7ED", "o$ c #BACAE6", "p$ c #809ECA", "q$ c #406AA9", "r$ c #2B599D", "s$ c #215298", "t$ c #29589D", "u$ c #2D5A9E", "v$ c #5B80B7", "w$ c #A0B7DB", "x$ c #C3D0EA", "y$ c #CDD4EF", "z$ c #BCC4E5", "A$ c #9398B2", "B$ c #7D7D86", "C$ c #B3B7C5", "D$ c #A4ADCB", "E$ c #BAC1E2", "F$ c #CDD4ED", "G$ c #CED6ED", "H$ c #C4D1EB", "I$ c #C1CEEA", "J$ c #C2D0EB", "K$ c #C8D2ED", "L$ c #CBD6ED", "M$ c #CED5EF", "N$ c #C1C9E7", "O$ c #8C92A5", "P$ c #717177", "Q$ c #A1A4B6", "R$ c #A4AACD", "S$ c #B4BBE0", "T$ c #BEC6E6", "U$ c #C8CFEC", "V$ c #CED5F0", "W$ c #CAD2EC", "X$ c #C7CEEB", "Y$ c #B9C1E2", "Z$ c #9099AD", "`$ c #777A81", " % c #9398AA", ".% c #9CA3C1", "+% c #9CA3C2", "@% c #AAB0D4", "#% c #A1A9CC", "$% c #9BA2C1", "%% c #838491", "&% c #717374", " ", " . + @ + # $ ", " % & * = - ; > , ' ) ! $ ", " ~ { ] ^ ^ / ( _ _ : < [ } | 1 2 ", " 3 4 ^ ^ / 5 6 7 8 9 0 a b c d e f g ", " h i j / ( k l m n o p q r p s t u v j w x ", " y z ( A B C D E F G H H I J K L M N O O P Q ", " R S _ T U V W X Y Z ` Y ...+.@.#.$.%.&.*.=.-.;. ", " >.,.: '.).!.~.{.].^./.(._._.:.<.[.}.|.1.2.3.4.5.6. ", " 7.8.[ 9.0.a.b.c.d.e.f.g.h.h.h.h.i.j.k.l.m.n.o.p.q.r. ", " s.t.8.u.v.w.x.y.z.A.B.C.D.h.h.h.h.h.h.E.F.G.H.I.J.K.7. ", " R L.c M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.h.h.`. +.+++@+#+$+%+&+ ", " { } *+=+-+;+>+,+,+'+)+!+~+{+]+^+/+h.h.h.(+_+:+<+[+}+|+1+ ", " 2+v 3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h.h.h.h+i+j+k+l+m+n+! ", " o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+/+E+h.h.h.F+G+H+I+J+K+L+M+ ", " . P N+O+P+Q+R+S+T+U+V+h.h.h.h.h.h.h.h.h.W+X+Y+Z+`+ @.@+@@@ ", " >.#@*.$@%@&@*@=@-@;@h.h.h.h.h.h.h.h.>@,@'@)@!@~@{@]@^@/@M+ ", " (@_@:@<@[@}@|@1@2@h.h.3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@! ", " i@j@k@l@m@n@o@p@q@h.h.r@s@t@u@v@w@x@y@z@A@B@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@`@ #.#+#@###$#%# ", " &#*#H@=#-#;#>#,#'#h.)#!#~#{#]#`@^#/#(#_#:#<#[#}#|#1#2#3# ", " 4#5#6#7#8#9#0#h.h.h.a#b#c#d#e#f#f#g#g#h#i#j#k#l#m#n# ", " o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#J#K#l#L#M# ", " N#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$ ", " -$@@;$>$,$'$)$!$~${$]$^$/$/$($_$:$<$[$}$&$|$1$2$ ", " 3$4$5$6$7$8$9$0$a$b$c$d$:$e$f$g$h$%$i$j$x k$ ", " l$N#p#m$n$o$p$q$r$s$t$u$v$w$x$y$y$z$A$B$ ", " C$D$E$F$1#6$G$H$I$J$K$L$M$M$N$N#O$P$ ", " Q$R$S$T$m#U$V$W$X$j$Y$! Z$`$ ", " %.%+%@%#%$%A$%%&% ", " ", " "}; xchm-1.23/art/xchm-48.png0000644000175000001440000000715012210054137011775 00000000000000‰PNG  IHDR00Wù‡gAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“ IDAThÞí™i]ÅuÇÝ}ï»ï½yof4‹4ÚA(’M±Èl†"± !v¼T%N%©Ø ©r\vW »\ÊIÙÙªìr•]˜NÂbƒ,‚‰ ŽÁ#!YFB Úf4û[î}wé>ùpß¼‘€Ä_8Uo¹·owÿÿÝçœþ÷mx×~¹¦Þé‡_<*X˜ SÒ,¿W©hŠÚpÉ%ËÞñþÞ‘ÿÉ>IÅ`‘îjß*]>ž—7?SK¦ë1Ó31Í0eéâ"›7­xÛý¿åžáˆOXµ¢ÊÒÁ2}½ÅN™t¾ÜÜuûQËrìxȱ‘ˆãúkV¿eg]ñù—ŽÊᑈó×ô²nuZë7€œú×îªc»_¢À5Wœ=‘³ªðÓgI¹°qý"|cN9ÚÍ R0…Dz|…8èæ€Ë DàÈH“Ý{&¸å×מ¦3~x˶½²é‚AV,­Îí‰Æba$„Z Î ©œäí5h¥ð ”`YI1XRø'N’@ÔÊxþåQ» —^²òŒ°ÑC[ŸØ/›7-¡·§xÒhO&°sZ‹„FõÈR¡•8œsTM˜8âLð ”}E%€®@Óå+6.2¬ëÖtÌAæ„»Æ Š÷AÖzÓ¶>±_®¹b9å`Î×Sá1á@Ch´MƒeÍʪ¦¯L;`J "ÐL…}–#õŒZìè)BoYÓ®òXRV'N*;~>ŽÑ)W^vú¸8máÃí•k6/£§Zè¸M-§Ž9ÆšŽñ¦àœ°±ß0PR @)PJ¡t|vd]ÛïÀLËòÒHÂñzFEQ ï_^`cŸ×®#Xq¼øò½eÇ¥—ž³ No¡‚§Ÿ=,CCº«…Ñ~tØ19¦šŽsz4K«ÂLP€1 ­}Bö¬ËG׊Ã3Š‹†|Æ+šçEÌøŽ­-Ëñ¦ÏûWíþ4ïÙ0Àÿ¼pì´² 'ŠUK+ðõ¶Șl õHØØ¯(zŠFœÏ¹FP<Þ’acßlÓyy#F"Œ4a"ΰ._YäÙƒaœñd˜Q2pÉâó£]3€bQFj qbøý!7®-#]eŸJµ÷”mÌó«§~vH.¿x¨sýðÞŒí#ŽØZú…´]f6£ˆD‡C,Xk!K,XZaLšftËú‹\óž~Λõ¥¶5Z–ß¿w/Z+´ç1 ¢ è)þáæ!_Àññû÷óáß¼ì$Ì'ÍÀððQ)÷”:¾Ÿ Mieà)h$.móÌâÄåÓÜ&dÃfI˜q$Œh5#²$ Ê3<²£Î-›‡øƒËuú¬ +z ;„h¿€zdi(øÉÁÖv°¨¯Èþƒ‹x£DàðdÄUç.êdžãŽZ,ˆ¶ Z¡ïœsdNa=Ÿ,P€‡)YDi”gã±wÊÎÑ Íí9”_ µ¥àé}M~mMŠJÅ?=-P ¼¶b^M°Vp²Øá$×7δ—6¥(0J#zn!3ÊC â¥s@(Pz~6 [ FŒ*‚¶FÞWÇÚA””ËîèIùè­×«S(—|\[_OÉ,XÒtnÔÁ¡”ÎÓ¦§1ºMJç±, CÏnt^,bæb¥D­í *0(e@+ZqƮї!¶U'‰ëˆRˆµ¤®¾"P ¹œÅY‡ËÒ… $Iž&gݨìÁDÖ¾h–RÁÃZ8oIõL°°mø(S„÷Œóø³¯3:ÖD´Á)°iQùþÁÚ m 8‡KRúÊ&Ç#Y!KOC le¹ò ÕÛ¤U¨þöTo}0w…Z~¯ëÖ-ùï‡îÏ+§!…H#âÓ½8O(äé½V‹˜˜Øóæn¼v:r¬†•Ü÷”Vüñ‡6 aJ†E¤±ðÒîIÆë鼟{e€™n£þàm¸8À%—æJTÚ÷ˆãü:ÉÛ‘¨†„1ž?Äæõ‹óL$B­qðµ—¹û®¯ÌS‚§Ü(?þäY²´ÞjþÂV€¿øÆOùñð븲AN<ú{Ø…1y80Éð3ßã®»þêÌ<òøk²qà Zå“§–ß¹s+{Gg Ë@¡Šu’´4Íw9JåŠTû9ps"øv™s m1.lñ.já·2¾vÇ-lú•åmÐF1>Öä…íOòù?ûÝSb]ÀS?{U2[âœÕs» Z3åö»ÈÎ}Ç¡Z@]8Ê•@´ÊS$sº^T¾-D):»$­#ÍI\RJ3¾ô™›¹ú¢•xmðÍfÂKÃÏsû'oZ§^¨àº+ÏWiRcäx#Oe⨔ ÷}ånºê|ìh [›Bµ&P:AЍRTÀ/C¡~€x˜ø…|ñò| ÖÒÃÎ4XÚðí{>Îu›ÎÁÓ¥qœ1:ZcäØ.NgoúnôÛ†eÉÐJú;{e l}z/ÿtß3ŒO×PÝ%tP„Bü.ðŠÈ¬+¹4_Im Iˆ$u$‰°õˆBjùàõð™O\IW0'ÃÓ4ãÈ‘^Ùþï|ñÎ?}ëïFgmË£ÏJßÀJ–,©änÒf"ßþ·—ø—G‡™®5_£J´ösÿW*ß7;6ŵR¤•Í›Öð¹ß»š¥³‚0‹(L­ñó?æÎ/|êí¿žµ~Fª‹V°rYʨ“O^ìÚ?ΖÿÜÍöWÅ##Sm—º»»(— ¬Y9ÈW¯ã†ËÏÃ÷f»ž;ì¨Õ"Æ'š¼2ü_þÒçÞ¹ó‰-ÿ%…®å ôwÑÛ[êœͪÇ6—Î͵žœ$üäÄc’$cb2d÷Îÿæè¡|íoï:c\oépíÞï=!‹×18P¡«ìs¢¨–7(ÔyÀOx8³–©©C¯àðùò?ý{Fv‰û¼ ¬¤»Z¢\ò)–ü7íÌZ¢0¥ÑŒŸçèÁíüåç?ùÿwJy*ûæ·¿ c #EBEDF6", ", c #DCDFF0", "' c #DBDEEF", ") c #CBD1E8", "! c #BBC2E1", "~ c #B0B8DC", "{ c #C9CEE4", "] c #CCCFE5", "^ c #D1D7EC", "/ c #EAECF6", "( c #FCFCFE", "_ c #FBFCFE", ": c #FBFBFE", "< c #FBFBFC", "[ c #FAFBFC", "} c #FAFAFC", "| c #F9FAFC", "1 c #F0F2F9", "2 c #D7DCEF", "3 c #BEC4E3", "4 c #CCD1E6", "5 c #B0B9DD", "6 c #F9F9FC", "7 c #F7F9FC", "8 c #F7F9FB", "9 c #E2E6F2", "0 c #BAC0E1", "a c #C3C7E1", "b c #C3C9E3", "c c #CDD2EA", "d c #F0F7FC", "e c #EBF6FC", "f c #E1F1FC", "g c #DBF0FC", "h c #DBEFFB", "i c #EAF4FC", "j c #E9F2FC", "k c #F6F7FB", "l c #F5F6FB", "m c #DADEF0", "n c #B2B9DD", "o c #AEB6DC", "p c #E0E3F1", "q c #E8F5FC", "r c #D3EEFB", "s c #BBE4FB", "t c #ADDFFB", "u c #ABDCFA", "v c #A6DAF9", "w c #A4D9F8", "x c #A4D7F8", "y c #A6D9F8", "z c #A8DAF9", "A c #ADDBF9", "B c #C1E4F9", "C c #DBEDFA", "D c #F0F6FB", "E c #F4F6FB", "F c #F4F5FB", "G c #EBEDF7", "H c #B7BFE0", "I c #CCCDE3", "J c #B4BBDF", "K c #E9F5FC", "L c #BEE5FB", "M c #A9DCFA", "N c #9DD6FA", "O c #90CDF7", "P c #83C6F7", "Q c #7BC0F5", "R c #79BEF3", "S c #85C5F5", "T c #7BBFF3", "U c #74BBF2", "V c #78BEF2", "W c #82C3F3", "X c #8ECAF3", "Y c #99D1F5", "Z c #A4D6F6", "` c #CEE7F9", " . c #F2F5FB", ".. c #F2F5FA", "+. c #F2F3FA", "@. c #EEF1F9", "#. c #C1C7E5", "$. c #C8CDE6", "%. c #F1F4FA", "&. c #F5FAFC", "*. c #C2E5FB", "=. c #A2D9FA", "-. c #96D1F8", ";. c #83C6F6", ">. c #83C5F6", ",. c #98CFF8", "'. c #B5DCFA", "). c #C7E6FA", "!. c #C7E5FA", "~. c #C6E5FB", "{. c #C6E5FA", "]. c #BBE0F9", "^. c #99CDF6", "/. c #7EC0F2", "(. c #70B9F0", "_. c #7FC1F0", ":. c #8FCBF2", "<. c #9FD2F5", "[. c #DAEAF9", "}. c #F0F2FA", "|. c #C3C9E6", "1. c #C6CBE1", "2. c #AFB7DC", "3. c #ECEEF6", "4. c #ECF5FC", "5. c #ACDCFA", "6. c #97D1F8", "7. c #81C4F6", "8. c #ABD7F9", "9. c #BFE0FA", "0. c #BFE1FA", "a. c #C0E2FA", "b. c #C1E3FB", "c. c #C2E5FA", "d. c #C1E4FA", "e. c #C1E2FA", "f. c #BFE2F9", "g. c #BEE0F9", "h. c #BCDFF9", "i. c #ADD7F6", "j. c #7EBFF0", "k. c #68B2EC", "l. c #7BBEED", "m. c #88C5F0", "n. c #C6E0F6", "o. c #EFF1FA", "p. c #EFF1F9", "q. c #ECF0F7", "r. c #BCC2E2", "s. c #CCCCE0", "t. c #C4C9E4", "u. c #DCE1F0", "v. c #E3F1FC", "w. c #9DD5FA", "x. c #8DCCF8", "y. c #7CC1F6", "z. c #9CD0F8", "A. c #B5DDFA", "B. c #B5DCF9", "C. c #B6DCF9", "D. c #B9DFFA", "E. c #BBE1FA", "F. c #BDE2FA", "G. c #BCE2FA", "H. c #BBE1F9", "I. c #B8DFF9", "J. c #B7DDF9", "K. c #B4DCF7", "L. c #B1DAF7", "M. c #AED7F5", "N. c #9ACBF2", "O. c #64AEE9", "P. c #6CB3EB", "Q. c #7ABDED", "R. c #B0D5F2", "S. c #EDF0F9", "T. c #ECF0F9", "U. c #E7EBF6", "V. c #B2BADD", "W. c #C2C8E5", "X. c #99D1F8", "Y. c #87C9F7", "Z. c #7AC0F6", "`. c #A4D3F7", " + c #ACD7F9", ".+ c #A9D6F8", "++ c #ABD6F7", "@+ c #ACD8F7", "#+ c #B0DBF7", "$+ c #C0E4FA", "%+ c #EAF6FE", "&+ c #EAF6FC", "*+ c #DEF0FC", "=+ c #D2EAFB", "-+ c #BADFF9", ";+ c #A7D5F5", ">+ c #A4D4F5", ",+ c #A0CFF2", "'+ c #9ACBF1", ")+ c #63ACE8", "!+ c #62ACE7", "~+ c #6EB3E9", "{+ c #B9D8F2", "]+ c #ECEEF9", "^+ c #EBEEF9", "/+ c #B6BBD6", "(+ c #F4F7FC", "_+ c #9ED2F8", ":+ c #76BEF5", "<+ c #9AD0F7", "[+ c #9FD1F7", "}+ c #9ED0F7", "|+ c #9CCFF6", "1+ c #9ED0F6", "2+ c #A0D1F6", "3+ c #A2D4F6", "4+ c #BBE0FA", "5+ c #FFFFFF", "6+ c #F1F9FE", "7+ c #BFDEF7", "8+ c #93C7F0", "9+ c #8FC5F0", "0+ c #8CC1ED", "a+ c #59A3E5", "b+ c #5CA6E5", "c+ c #67ADE6", "d+ c #C9DEF4", "e+ c #EAEDF7", "f+ c #E9ECF7", "g+ c #BDC5E3", "h+ c #7FC4F6", "i+ c #74BCF5", "j+ c #8CC7F6", "k+ c #94CBF6", "l+ c #93CBF5", "m+ c #92CAF5", "n+ c #92C8F5", "o+ c #90C7F5", "p+ c #91C8F5", "q+ c #91CAF3", "r+ c #AED7F6", "s+ c #CBE3F7", "t+ c #7FB9EB", "u+ c #7CB7EB", "v+ c #77B3E9", "w+ c #4D9BE1", "x+ c #55A2E3", "y+ c #68ACE5", "z+ c #E5E9F7", "A+ c #E7ECF7", "B+ c #DBDFF1", "C+ c #AEB4D2", "D+ c #ADB5DB", "E+ c #EFF0F9", "F+ c #EAF2FB", "G+ c #7DC3F6", "H+ c #75BEF5", "I+ c #7ABFF3", "J+ c #8BC5F6", "K+ c #88C5F5", "L+ c #86C4F3", "M+ c #85C2F3", "N+ c #84C0F2", "O+ c #82C0F2", "P+ c #82C0F1", "Q+ c #82C1F1", "R+ c #80BFF1", "S+ c #9DCDF2", "T+ c #ADD1F0", "U+ c #67A7E1", "V+ c #67A7E2", "W+ c #5EA3E1", "X+ c #4695DD", "Y+ c #4E9CE0", "Z+ c #A1C8ED", "`+ c #E7EBF7", " @ c #E6EBF6", ".@ c #E6E9F6", "+@ c #BAC1E2", "@@ c #C0C6E3", "#@ c #A5D3F7", "$@ c #73BBF5", "%@ c #6CB8F2", "&@ c #7EBFF3", "*@ c #7DBFF3", "=@ c #7BBEF2", "-@ c #7ABCF2", ";@ c #78BBF2", ">@ c #77B9F1", ",@ c #76B8F0", "'@ c #74B8EE", ")@ c #73B5EE", "!@ c #70B2EB", "~@ c #70AEE5", "{@ c #85B4E2", "]@ c #7DAADB", "^@ c #78A5D7", "/@ c #83ACDB", "(@ c #9DBFE3", "_@ c #DAEAF6", ":@ c #F3F7FC", "<@ c #5496D8", "[@ c #5698D9", "}@ c #589CDD", "|@ c #4693DC", "1@ c #4594DC", "2@ c #4D98DD", "3@ c #DEE4F5", "4@ c #E5E9F6", "5@ c #E5E8F6", "6@ c #CFD4EC", "7@ c #AFB3CB", "8@ c #F5F7FB", "9@ c #F1F5FB", "0@ c #72B9F2", "a@ c #6AB5F2", "b@ c #6EB6F2", "c@ c #72B9F1", "d@ c #70B8F1", "e@ c #6FB5F1", "f@ c #6EB4F0", "g@ c #6CB3EE", "h@ c #6BB2EE", "i@ c #69B1ED", "j@ c #68AFED", "k@ c #65ADEB", "l@ c #62A9E7", "m@ c #5C9FE1", "n@ c #5595D8", "o@ c #4D8ACF", "p@ c #4984CA", "q@ c #4986CA", "r@ c #4A8ACD", "s@ c #4F92D6", "t@ c #9DC9EE", "u@ c #70A5DB", "v@ c #458AD1", "w@ c #478FD7", "x@ c #4592DB", "y@ c #388AD8", "z@ c #398BD8", "A@ c #9FC5EB", "B@ c #E4E8F6", "C@ c #E0E6F4", "D@ c #AEB5DC", "E@ c #B1BBDD", "F@ c #ECEEF7", "G@ c #C6E1F9", "H@ c #64B2F1", "I@ c #63AFF1", "J@ c #6AB3F0", "K@ c #67B1EE", "L@ c #66B1EE", "M@ c #64AEEE", "N@ c #62ADED", "O@ c #61ACEC", "P@ c #60ACEB", "Q@ c #5FABEB", "R@ c #5FAAEB", "S@ c #5DA8E9", "T@ c #59A6E8", "U@ c #56A3E6", "V@ c #519CE2", "W@ c #4D95DC", "X@ c #4C93D9", "Y@ c #4B94DB", "Z@ c #4C98DE", "`@ c #4E9BE2", " # c #79B8EB", ".# c #659BD5", "+# c #397FCA", "@# c #3B83CF", "## c #3C88D5", "$# c #3385D7", "%# c #3486D7", "&# c #63A3E0", "*# c #E2E7F5", "=# c #E1E7F5", "-# c #E1E6F5", ";# c #BAC1E1", "># c #B3BADD", ",# c #96CAF3", "'# c #61AFF0", ")# c #5FADF0", "!# c #5FACEE", "~# c #5DABED", "{# c #5BAAEC", "]# c #59A8EC", "^# c #58A8EB", "/# c #59A9E9", "(# c #59AAE9", "_# c #5CABEB", ":# c #5BAAE9", "<# c #5AA9E8", "[# c #57A7E7", "}# c #54A4E6", "|# c #52A2E5", "1# c #51A0E4", "2# c #52A2E6", "3# c #53A3E6", "4# c #53A4E6", "5# c #7ABAEC", "6# c #5B93CF", "7# c #2D73C3", "8# c #2E7BCA", "9# c #3080D1", "0# c #3081D2", "a# c #3082D3", "b# c #3081D3", "c# c #DFE4F5", "d# c #E0E6F5", "e# c #E0E4F5", "f# c #C4CBE7", "g# c #A9ACBE", "h# c #BDC3E2", "i# c #6FB4EE", "j# c #5DACEE", "k# c #5AABED", "l# c #55A6ED", "m# c #53A5EC", "n# c #52A4EB", "o# c #52A4E9", "p# c #53A5EB", "q# c #55A6EB", "r# c #57AAEB", "s# c #5AACEB", "t# c #5CADEB", "u# c #5BAEEB", "v# c #5AADEB", "w# c #58ACEB", "x# c #56AAE9", "y# c #56AAE8", "z# c #56A9E8", "A# c #56ABE8", "B# c #57ABE8", "C# c #79BDEC", "D# c #528ACA", "E# c #246BBE", "F# c #2671C6", "G# c #2778CD", "H# c #2879D0", "I# c #287BD1", "J# c #2074CD", "K# c #B5CDED", "L# c #DFE4F4", "M# c #CBD2EB", "N# c #A2AAC0", "O# c #C5CCE6", "P# c #539FE7", "Q# c #54A5E9", "R# c #499AE1", "S# c #3F8ED7", "T# c #3787CF", "U# c #3483CD", "V# c #3787CD", "W# c #3C8DD1", "X# c #4698D8", "Y# c #51A4E2", "Z# c #5AADE8", "`# c #5EB2EC", " $ c #5FB2EC", ".$ c #5DB2EC", "+$ c #59AEEB", "@$ c #57ACE9", "#$ c #7EC2EE", "$$ c #9CD0F1", "%$ c #E4F1FB", "&$ c #417BC2", "*$ c #1F65BA", "=$ c #206DC3", "-$ c #2173CA", ";$ c #2175CF", ">$ c #2276CF", ",$ c #1D6DC9", "'$ c #94B9E3", ")$ c #DEE3F4", "!$ c #D0D7ED", "~$ c #A3A9C5", "{$ c #C8CEE8", "]$ c #EAEEF9", "^$ c #4693DD", "/$ c #4494DC", "($ c #2B78C0", "_$ c #1E68B0", ":$ c #206AB2", "<$ c #2470B6", "[$ c #2C7ABC", "}$ c #3486C4", "|$ c #3C8ECA", "1$ c #76B7E2", "2$ c #B5DBF2", "3$ c #CEE8F9", "4$ c #C9DBED", "5$ c #1C5BB1", "6$ c #1D63BA", "7$ c #1E6AC3", "8$ c #1C6AC1", "9$ c #1A69BF", "0$ c #1B6CC5", "a$ c #1A67C3", "b$ c #83ADDD", "c$ c #DCE2F4", "d$ c #D1D8EF", "e$ c #A3A9C8", "f$ c #CACFE8", "g$ c #E2EBF6", "h$ c #3D88D3", "i$ c #2F7DC6", "j$ c #1C64AD", "k$ c #155BA2", "l$ c #13589E", "m$ c #155CA0", "n$ c #1B65A8", "o$ c #2471B1", "p$ c #2F80BD", "q$ c #A6CEE7", "r$ c #ECF2F9", "s$ c #3D74BB", "t$ c #1B5BB1", "u$ c #1B62BA", "v$ c #1862B8", "w$ c #1259A9", "x$ c #0F57A3", "y$ c #135EB1", "z$ c #1662BC", "A$ c #7DA9DB", "B$ c #DBE1F4", "C$ c #A2AAC8", "D$ c #C7CDE7", "E$ c #367DCB", "F$ c #256FB8", "G$ c #1961AA", "H$ c #11579F", "I$ c #1258A0", "J$ c #155DA5", "K$ c #1C67AA", "L$ c #2472B4", "M$ c #599BCB", "N$ c #95B6DB", "O$ c #235CAE", "P$ c #1956AB", "Q$ c #185AB0", "R$ c #155AAD", "S$ c #0F53A0", "T$ c #0E54A1", "U$ c #0D519E", "V$ c #0E55A3", "W$ c #135AB2", "X$ c #84AADB", "Y$ c #DAE1F2", "Z$ c #DADFF2", "`$ c #CFD5ED", " % c #A0A6C3", ".% c #4081CB", "+% c #236BB6", "@% c #1158A2", "#% c #125AA3", "$% c #165EA8", "%% c #1B67AE", "&% c #216FB4", "*% c #7EB2D8", "=% c #B5CCE5", "-% c #A4C0DF", ";% c #749BCB", ">% c #2D64AD", ",% c #164FA2", "'% c #1551A5", ")% c #1352A5", "!% c #10519F", "~% c #0F529F", "{% c #0E52A0", "]% c #0B509D", "^% c #0D53A0", "/% c #0E53A1", "(% c #1154AD", "_% c #96B4DE", ":% c #D9DFF2", "<% c #D9DEF2", "[% c #CBD2EC", "}% c #9CA1BE", "|% c #B7BFE1", "1% c #568ED0", "2% c #246BB7", "3% c #1A62AB", "4% c #1158A5", "5% c #125AA6", "6% c #1560AA", "7% c #1A67AF", "8% c #1E6CB3", "9% c #7AAFD6", "0% c #174B8F", "a% c #0E4189", "b% c #0F4389", "c% c #11458D", "d% c #144A91", "e% c #13498F", "f% c #114891", "g% c #124B95", "h% c #124E97", "i% c #135199", "j% c #12539E", "k% c #1156A2", "l% c #0F55A2", "m% c #0D52A0", "n% c #0C52A1", "o% c #0C53A1", "p% c #0F4DA8", "q% c #B9C9E8", "r% c #D7DEF2", "s% c #C4CCE8", "t% c #969AB0", "u% c #79A4D8", "v% c #2469B7", "w% c #125BA9", "x% c #1661AE", "y% c #1A68B1", "z% c #1D6CB5", "A% c #77AED6", "B% c #104992", "C% c #134D96", "D% c #145199", "E% c #16549D", "F% c #17569F", "G% c #16559F", "H% c #16569F", "I% c #17579F", "J% c #1757A0", "K% c #1759A2", "L% c #175DA7", "M% c #175FA8", "N% c #1660AB", "O% c #145FAB", "P% c #115BA9", "Q% c #0E57A8", "R% c #0D55A6", "S% c #0D53A1", "T% c #0D4EA2", "U% c #1D55AA", "V% c #D7DDF2", "W% c #D6DDF1", "X% c #BCC5E3", "Y% c #8E909F", "Z% c #BABFDE", "`% c #DADEF1", " & c #B5CBE8", ".& c #2262B3", "+& c #175CA7", "@& c #145DAB", "#& c #125CAD", "$& c #1662B1", "%& c #1B6AB6", "&& c #1F6FB9", "*& c #4F94CB", "=& c #76ACD7", "-& c #6DA3D1", ";& c #6D9FCD", ">& c #709DCA", ",& c #195CA5", "'& c #1B60A9", ")& c #1B62AD", "!& c #1C65AE", "~& c #1A62AE", "{& c #1961AB", "]& c #1962AD", "^& c #1862AD", "/& c #1A65B0", "(& c #1B68B3", "_& c #1968B5", ":& c #1665B2", "<& c #125FAE", "[& c #0E58AA", "}& c #0C53A7", "|& c #0C509F", "1& c #0C49A0", "2& c #4C7ABD", "3& c #D5DCF1", "4& c #86868E", "5& c #CDD1E5", "6& c #C9CEE8", "7& c #326BB7", "8& c #195BAA", "9& c #155DA9", "0& c #125EB0", "a& c #1765B6", "b& c #1C6DBA", "c& c #2073BE", "d& c #5FA1D3", "e& c #DBEBF6", "f& c #D8E7F4", "g& c #6298CA", "h& c #1A61AB", "i& c #1D68B2", "j& c #1E6BB6", "k& c #1E6CB8", "l& c #1D6DB9", "m& c #1B6BB8", "n& c #1A6AB7", "o& c #1B6CB9", "p& c #1E70BD", "q& c #1D70BD", "r& c #1B6DB9", "s& c #1767B6", "t& c #115DB0", "u& c #0D56AB", "v& c #0B51A5", "w& c #0B4C9B", "x& c #0B429C", "y& c #9BB3DC", "z& c #D4DCF1", "A& c #CFD5EF", "B& c #A1A8C9", "C& c #8AA9D6", "D& c #1954A8", "E& c #1459A3", "F& c #145FB0", "G& c #1666B7", "H& c #1A6BBC", "I& c #3380C5", "J& c #4885C0", "K& c #1462B6", "L& c #0A50A7", "M& c #0B4D9D", "N& c #0A4597", "O& c #2A57A6", "P& c #D4DAF1", "Q& c #BEC7E6", "R& c #8D8FA3", "S& c #BAC1DE", "T& c #D4D9EF", "U& c #E0E4F4", "V& c #3061AF", "W& c #1554A2", "X& c #165EA9", "Y& c #1563B7", "Z& c #1666B9", "`& c #468CCC", " * c #6F9ECD", ".* c #0E55AA", "+* c #0C54AA", "@* c #0C55AD", "#* c #0C52A9", "$* c #0C53AA", "%* c #0B54AD", "&* c #0A53AD", "** c #0A4FA8", "=* c #0A4B9D", "-* c #0A4493", ";* c #09398E", ">* c #98AED7", ",* c #D3DAF1", "'* c #D1D8F0", ")* c #7A7C7E", "!* c #B9C0E1", "~* c #98B1D8", "{* c #144A9D", "]* c #12549F", "^* c #155FAE", "/* c #115FB8", "(* c #1764BA", "_* c #EBF2FA", ":* c #3972B5", "<* c #0A4EA7", "[* c #0A4CA6", "}* c #0A4DA7", "|* c #0949A3", "1* c #09428F", "2* c #093A8C", "3* c #385FA6", "4* c #D3D9F0", "5* c #D1D9F0", "6* c #C3CBE7", "7* c #9196AF", "8* c #B9BEDB", "9* c #557AB8", "0* c #12479A", "a* c #10519E", "b* c #1058AD", "c* c #0E57B1", "d* c #2166B5", "e* c #8BB1D8", "f* c #B0C9E2", "g* c #8AACD4", "h* c #2B62A9", "i* c #0A4399", "j* c #0A469D", "k* c #0A47A0", "l* c #0A48A0", "m* c #0A4AA2", "n* c #0A4AA3", "o* c #0A4BA6", "p* c #0A4BA5", "q* c #094AA5", "r* c #0848A2", "s* c #0847A1", "t* c #09479D", "u* c #09418D", "v* c #073987", "w* c #133A8A", "x* c #B3C1E2", "y* c #CED6ED", "z* c #CFD7EF", "A* c #AFB7DD", "B* c #7C7C82", "C* c #DCE2F2", "D* c #D7DEF1", "E* c #3359A5", "F* c #0F4296", "G* c #0F4D99", "H* c #0F53A6", "I* c #0C51AD", "J* c #0B4BA5", "K* c #0A46A0", "L* c #0A459D", "M* c #0A469E", "N* c #0A49A5", "O* c #0A4BA7", "P* c #0A4EA9", "Q* c #0A4EAA", "R* c #0A4FAB", "S* c #0A50AD", "T* c #0A4EAB", "U* c #0A4DAA", "V* c #094DAA", "W* c #094CA8", "X* c #0949A2", "Y* c #0C3183", "Z* c #99ABD1", "`* c #CBD3EC", " = c #CED5EF", ".= c #D0D8F0", "+= c #BCC3E5", "@= c #8B91A3", "#= c #C0C6DA", "$= c #BCC3E3", "%= c #CED7EF", "&= c #385DA4", "*= c #0D3B8E", "== c #0D4894", "-= c #0E4F9F", ";= c #0C4FA9", ">= c #0B4DA9", ",= c #0B4CA9", "'= c #0B51AD", ")= c #0B51AF", "!= c #0B52B0", "~= c #0B53B1", "{= c #0A54B2", "]= c #0A53B2", "^= c #0A54B3", "/= c #0A53B1", "(= c #0A52B0", "_= c #094DA3", ":= c #084291", "<= c #063887", "[= c #0F3383", "}= c #8EA3CF", "|= c #CAD3EC", "1= c #C5CDEA", "2= c #969AB6", "3= c #B7BDD5", "4= c #DBE1F2", "5= c #5776B4", "6= c #0A3186", "7= c #0B418E", "8= c #0D4796", "9= c #0C4FA3", "0= c #0C52B1", "a= c #0C55B5", "b= c #0B55B6", "c= c #0B56B7", "d= c #0B57B7", "e= c #0A57B8", "f= c #0A58B8", "g= c #0A57B7", "h= c #0A53AB", "i= c #0A4A9B", "j= c #08418E", "k= c #053385", "l= c #1F438E", "m= c #ABBADC", "n= c #CFD7F0", "o= c #C9D1EC", "p= c #7E818C", "q= c #B1B6CD", "r= c #C8CEEA", "s= c #D6DEF2", "t= c #8AA2CE", "u= c #1D4393", "v= c #093385", "w= c #0A418E", "x= c #0C4896", "y= c #0C4EA2", "z= c #0C53AD", "A= c #0C57B5", "B= c #0B58B7", "C= c #0B5ABC", "D= c #0A57B6", "E= c #0A54AF", "F= c #0A4EA5", "G= c #094898", "H= c #08428F", "I= c #053586", "J= c #0B3083", "K= c #5472B0", "L= c #C4D0EA", "M= c #CAD2EC", "N= c #838595", "O= c #AEB3C9", "P= c #C0C7E6", "Q= c #D6DDF2", "R= c #718CC2", "S= c #183F8F", "T= c #083184", "U= c #073686", "V= c #083F8C", "W= c #0A4191", "X= c #0A4594", "Y= c #094493", "Z= c #063787", "`= c #052F81", " - c #0C3285", ".- c #4364A7", "+- c #B6C3E3", "@- c #858999", "#- c #AAAFC5", "$- c #B7C0E1", "%- c #D4DAF0", "&- c #D5DDF1", "*- c #AAB9DD", "=- c #5878B5", "-- c #264C96", ";- c #1D4592", ">- c #052D81", ",- c #062E81", "'- c #052D80", ")- c #133B8B", "!- c #1D4491", "~- c #3F61A6", "{- c #859DCA", "]- c #CAD3EF", "^- c #ACB4DB", "/- c #80818D", "(- c #AAAEC2", "_- c #C8CFEB", ":- c #B5BDE1", "<- c #8D92A9", "[- c #73757C", "}- c #9FA5BB", "|- c #B9C1E2", "1- c #9CA3C2", "2- c #808392", "3- c #9FA1AC", "4- c #9FA5C0", "5- c #BEC6E6", "6- c #C1C8E7", "7- c #B5BDE0", "8- c #A1AACC", "9- c #878B9A", "0- c #9799AC", "a- c #9CA3C1", "b- c #BAC2E2", "c- c #9095AA", "d- c #7A7C85", "e- c #87878E", "f- c #81838A", "g- c #898C9B", "h- c #868B98", "i- c #868997", "j- c #80838D", "k- c #7C7E83", "l- c #77777B", " ", " ", " . + @ # # $ + ", " % & * = - ; > > , ' ) ! ~ { ", " ] & ^ / ( ( ( _ : < < [ [ } | 1 2 3 @ ", " 4 5 = } ( ( _ _ < < [ [ } } | | 6 7 7 8 9 0 a ", " b c 8 ( ( _ : < < d e f g h i j 7 7 8 k k k l m n ", " o p ( _ _ < < q r s t u v w x y z A B C D l l E F G H I ", " J > _ : < < K L M N O P Q R S T U V W X Y Z ` .....+.@.#.$. ", " J %.< < [ &.*.=.-.;.>.,.'.).!.~.).{.].^./.(._.:.<.[.%.%.}.}.|.1. ", " 2.3.< [ [ 4.5.6.P 7.8.9.0.a.b.c.d.d.e.f.g.h.i.j.k.l.m.n.}.o.p.q.r.s. ", " t.u.[ } } v.w.x.y.z.A.'.B.C.D.E.F.F.G.H.I.J.K.L.M.N.O.P.Q.R.@.S.T.U.V. ", " W.} | | 4.X.Y.Z.`. +.+.+++@+#+$+%+%+&+&+*+=+-+;+>+,+'+)+!+~+{+]+^+^+2 /+ ", " o 1 | 6 (+_+;.:+<+[+}+}+|+1+2+3+4+5+5+5+5+5+5+5+6+7+8+9+0+a+b+c+d+e+e+f+g+ ", " c 6 7 7 D.h+i+j+k+l+m+n+o+p+m+q+r+5+5+5+5+5+5+5+5+5+s+t+u+v+w+x+y+z+f+A+B+C+ ", " D+E+8 k F+G+H+I+J+K+L+M+N+O+P+Q+R+S+5+5+5+5+5+5+5+5+5+5+T+U+V+W+X+Y+Z+`+ @.@+@ ", " @@k k k #@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@5+5+5+5+:@<@[@}@|@1@2@3@4@5@6@7@ ", " + 2 8@l 9@0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@5+5+5+5+u@v@w@x@y@z@A@B@B@C@D@ ", " E@F@E E G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #5+5+5+5+.#+#@###$#%#&#*#=#-#;# ", " >#F F ..,#'#)#!#~#{#]#^#^#/#(#_#:#<#[#}#|#1#2#3#4#5#5+5+5+5+6#7#8#9#0#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#B#y#C#5+5+5+5+D#E#F#G#H#I#J#K#c#L#M#N# ", " O#%.%.}.P#Q#R#S#T#U#V#W#X#Y#Z#`# $.$u#+$@$@$@$#$$$%$5+5+5+5+&$*$=$-$;$>$,$'$)$)$!$~$ ", " {$}.}.]$^$/$($_$_$:$<$[$}$|$1$2$3$5+5+5+5+5+5+5+5+5+5+5+5+4$5$6$7$8$9$0$a$b$c$c$d$e$ ", " f$p.p.g$h$i$j$k$l$m$n$o$p$q$5+5+5+5+5+5+5+5+5+5+5+5+5+5+r$s$t$u$v$w$x$y$z$A$B$B$d$C$ ", " D$S.S.T.E$F$G$H$I$J$K$L$M$5+5+5+5+5+5+5+5+5+5+5+5+5+5+N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ % ", " #.T.^+^+.%+%G$@%#%$%%%&%*%5+5+5+5+5+5+5+5+5+5+=%-%;%>%,%'%)%!%~%{%]%^%/%(%_%:%<%[%}% ", " |%^+e+e+1%2%3%4%5%6%7%8%9%5+5+5+5+0%a%b%c%d%d%e%e%f%g%h%i%j%k%l%m%n%o%m%p%q%r%r%s%t% ", " o f+f+f+u%v%G$w%w%x%y%z%A%5+5+5+5+B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%W%X%Y% ", " Z%`%A+`+ &.&+&@&#&$&%&&&*&=&-&;&>&G%,&'&)&!&~&{&]&^&/&(&%&_&:&<&[&}&|&1&2&W%3&3&& 4& ", " 5&6& @.@4@7&8&9&0&a&b&c&d&e&5+f&g&h&i&j&k&l&5+_&m&n&o&p&q&r&s&t&u&v&w&x&y&3&z&A&B& ", " & 4@5@B@C&D&E&F&G&H&I&5+5+5+5+5+J&5+5+5+K&5+5+5+5+K&5+5+5+5+5+L&M&N&O&z&P&P&Q&R& ", " S&T&B@*#U&V&W&X&Y&Z&`&5+5+5+5+5+ *5+.*+*@*5+#*$*5+%*5+&*5+**5+=*-*;*>*,*,*'*5 )* ", " !*=#-#-#~*{*]*^*/*(*_*5+5+5+5+:*5+5+5+<*5+[*<*5+}*5+[*5+|*5+1*2*3*`$4*5*6*7* ", " 8*!$e#e#c#9*0*a*b*c*d*e*f*g*h*i*j*k*l*m*n*n*o*p*q*n*r*s*t*u*v*w*x*y*5*z*A*B* ", " n C*)$)$D*E*F*G*H*I*J*K*L*M*k*N*O*P*Q*Q*R*S*T*U*V*W*X*1*v*Y*Z*`* =.=+=@= ", " #=$=c$c$c$%=&=*===-=;=>=,=,=Q*'=)=!=~={=]=^=]=/=(=_=:=<=[=}=|= =.=1=2= ", " 3=s%B$4=Y$:%5=6=7=8=9=0=a=b=c=d=d=e=e=f=f=g=h=i=j=k=l=m= = =n=o=o p= ", " q=r=Z$:%<%s=t=u=v=w=x=y=z=A=B=C=B=D=E=F=G=H=I=J=K=L=n=n=n=M=A*N= ", " O=P=r%r%Q=W%3&R=S=T=U=V=W=-*X=Y=:=V=Z=`= -.-+-n=n=z*%=1=o @- ", " #-$-%-&-3&3&z&P&*-=---;->-,-'-)-!-~-{-]-n=n=z* = =P=^-/- ", " (-5 s%z&P&P&,*4*4*5*5*'*.=.=.=n=n=n=z*%= = =_-:-<-[- ", " }-& _-4*5*5*5*.=.=.=.=n=n=n=z* = = =M=|-1-2- ", " 3-4-5 5-_-.=.=n=n=n=z*%= = =M=6-7-8-9- ", " 0-a-^-& & b-+@+@:-& o 8-c-d- ", " e-f-g-h-i-j-k-l- ", " ", " ", " "}; xchm-1.23/art/xchmdoc-128.png0000644000175000001440000004460312210054137012546 00000000000000‰PNG  IHDR€€Ã>aËgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“HšIDATxÚí½W°eÙy˜÷­µãÉçÜssî8Ó“€ ˜d3$@J EÊ’eSª2¨2KvYåU¹Ê~‘«ü`ÊåðäòƒÊe•X"mR0A À0C$1„ »oÎñÄÖòÃ>{Ÿ}NßÛÓÓ}Ó°õw¾;ïµ×ÿ¯ýyÁ¿… ÿþÿ â¬x÷î]Ý×hèÑZE¾ïãû>Zk„X–…eY†”2½Vëþ£²û'ý>6|<ˆa$‰›£ÑJ£µ"ŠZ)B!…Æ2Á0@EaE¦ib&®ëðüóÏŸyŸ}’`žÕƒþõ¿þ×úÎ;@LU DaD…´[mZí6Íf¥–mS*(KG"DLB­Uü@!:F¢÷o !ÐJÅÄ֣鄸"% #BÄ·%)h°¤À2M,K€V„aˆRЍ×~&C<Ïãèøo}ë[ºV«ñÒK/ý‚ÎŒÖÖÖxöÙgq/§¬%õžïÑl69::âøø¥…B( ñ|Ÿ¼VH)0 £?Š eŒLˆ/‰€·½û’{#AJI@#Ð â-Rs-[¢zÜ LÓ$Š"t¾L ­‘B!ÛÛÛ|÷»ßÕ¦iòòË/ÿL‚|ôGÀïýÞïéããcŽŽŽz£7>®”Â÷}šÍ&{{{lmm±¿¿4 ÆÆÆ°m›V«Åöö6abÙV:ú¸ß~öxö\ üÀ@iÙ?Þ#IÓ” 6µªCÎ5B"¥D‰eYH)1MÓ4Ò)ÉRö¶ IEìííÑh4xóÍ75?Ãp& ÙlÒn·iµZ@Ö&DO‰ès !™@¤r€Òš0’xÚ £^( „A¨ "$‘ÒDJspxLg¼N©TâÛßþ¶~íµ×~f8Á™ɼ¨”B)E.—Ã4M666RNðÙÏ~–J¥ÂÆÆ¾ïc–eQ(ð<½½=vwwñˆâiÀó<º~H>Ÿÿ™"‚G&€9²'(•ËeΟ?RŠ|>O­VKµ‚½½=:Åb‘ÑÑQΟ?Ÿn'ú¢Q¸®›e£(ù~<ò=¯C»Ý¦VÁ² ÊE+•ëöÞq*Ë÷ˆ#O!¤Ò 4½yü äøø;_FkA¨JDZÇ|GJD¢:¢±…æð¸ÁâìÔ@ÿ|ëoëŸýñ%‚3“LÓLÕ¤Z­Æ‹/¾ˆaDQÄáá!»»»’ËåX\\äé§ŸNçõÄ~p’(y~ׇ(Šüüoÿ »&Ͻð2æÆ(”G¨•\®ßZb~nž|Þ¡Óé°ººJ)Ïáw›ø!èÐgï°ÉöÞ6ûGÌÍ- … 66…ŽVÖ6xî¥ÏñÎ_|‹?ë{¸¹¯ýßAù]ÞùÞ›t:]ê##<÷ÜÓ¬Þ~Ÿry„ÆÁ.‡GM¼Îs¸®{Oÿ<ΜàÌ|Y/^¢3'V³jµÊüü<ŽãP.—©T*4 ÇI?ðzÖ=€ˆN'äoý­¯ó¿þÿ=óWž¯KÛï²07Ë7ÿð ._>ÏòÒëkKø‘`¬^æý÷¯S¨Œ095‰Ðày>¥ñqŽv¸skÇÉÓñ:DQ@mêfƒÃƒcF%üá¿üß!ôps‘–\]¾É{?øù‚C³ UÈñÁ_ù_Âqœ¿áq%‚G&Èõl˲™‡àééi&''Ó{Bù0ä!øAÖ9dP*:|ë¾ÁWù—ÙÙÙFˆ ¡0œ‹ %>¸ú>ç/qåÊB Qça:TF'™š»@Á5YYZ¢†¸®ÍK_¸DèwxïG?dcu‹0ЍÔFxýk¿È׿ösüwÿõÅÈœŸ©±¼vÀ‹Ï?ϵ«Ðl7pòªå2‡ûû7ض}ê·<ŽDpfv€D îAj"u'œ“ØýI uù=RðþóŒçûT*ešcLÛÁ4$f›r©@£ÑJ…1­5Hƒ–O× ±\—(ŒxQ):^€4¬x^× !õ± ®,ŽRöu„¨0àÅW>Ç Ÿÿ %צãù¨0äÙç_do—( iµZ4› ¢(臓àq#‚3›’ù~ØC—…ûYôN‚®¯ÑZô£V”K6–)qs9Š¥Jül4ÕJl0ªTÊ=_Á¡¯†…‹‘ %$†mÄZƒÖXÂàïýÝ¿‡môÛ©”Ãäk¿üwˆ¢E8€Hà _,Ðn¶z>IÐ3ˆ}(¼ñmýúc">²)X)…Û¶?¡üzý™BÞ5±ÌÄì;x.&“ž—°w§àÀÓD‚PAA  Ò‚^”G2–—XFÿÞÔtÐ{®²n"cg“ŒõdeåˆÀkñÞûï2R Шžáè`o‡|ζâH"Á`Œ‚:å›gÁðL@õ"hâyQô­­÷¹G¤ók´† Ô²„cØ–qïýC;ZkB Ï~ùoDaH$ žÄÐu)¾Ò˜¾äd,ÅûbéPÈ?h{]…fLx†RiYX†…PÉ a§ïprV¬¢f,ö‚F´ÖØ–M®PJÕU¥"Wšx´K)Qõ6á‚§ÁãHgª”²¬!”ÂppçàIÐJ„b`hç]!¬?ö}M¨c!-R±£Fõ#Ç)Ûúd5…D˜‹"Ýóô4!{E_#ÈœKÂДÒiÜÿۆྂa/žà,pò p&† Ä(§§Ó:*ˆtß/â°m7g¦yIÈÿIrC3дãÈm”DZõ<{€”,½oü›ßeþâSn.£óuŠ®¤ÑÕTŠ“¥;7Y¸t…'Ÿ|2#`ö # 8‹z6†džKaBþÙ?ûg´ÛmºÝ.###ÞÌ\.ÇÄÄÅb‘Z­F¥Radddà{~šA%g"„aØ–|[ÀIs¾À™f%Ìaèù¡Òø½kˆÝ¸JKr*Ù`KAdÛ<÷™WiµÚTF'„IH¡à`šŠÆq›©éY0$¢çVV‰}®!²Ü ˜‡“÷¾ï³¹¹‘2^Ó;wî¤Q†a`š&óóóLLL099ùS,z$xã7ôÒÒÒ€$ü0àƒ±;†q,_VÈüMÐpàÑ‹þ‰Y¿Ò°»µÂAÃc¼ZGÒj¶”Òî0³°Hú¾b$ïÐítX[]á‰O½€ˆ"–nߦÓí237ÇÁþÝV‹be„Z½#^ÊÞÔ»…ÄD$~‘á‰;;ý¾·Hî1 #Í™¸qãSSSLMMñÆoè×_ýc%‚G"€äï_B:ÉÜáç3M<ú³à:÷oVðÝŽ éžP³f¥5Ã=––¶YšXšÇ¦f§™˜äîÕ÷P*âÚíe¡±m¨ŽLr|xÄßy‡ýÝ]&FÇqlAlïl³·¾LutŠÏ~ùµXúz£ß00”°,LÓIJ,Â0L=‚±ÆÞãôÊrË„$®t)eštR«Õø£?ú#ý ¿ð œYDPòÁÉfQ•½f‚ ÖBà:÷—¦°×ÕéèWºÏ¢ç.>ËåKRö EB€a˜ÌÌžÃ0 žE¥£SM¤¢Põ¢€%aqîòŽö·iu|¤½l£xô'#_jÛ¶Ó<†d@$Qà KÉô‘d!%÷I)i4bÓÇIgæ ÊÀI0œÍ“"²§z%ð ÈhøqìÄñ{J÷¤~®e`&±J' —¤µÆ´ãÑiÊ^(›”iÌ 4,¤Ñ'Ã’H¥›bDk¢^¤p.n"Dˆ4Mli†!®ë¦ß—p„¬[<ùþld‰ áÙ›0 9<<äOÿôOõ—¿üå3'‚G"€“æþ“¯ Ì ÇüÐg(à(ü´îIç=]\‚c$ª^’E,hµŽi·:Ôj5ÚíÅr5•êÃÀ§Ýî`ÈX¸‹Â€R¥J_õh¥ïQ‰n)%&–¡pgùA L‘Ù`Ô¤²ç"H !„„Kó½ï}O¿úê«gJ,d?æ~à$¢DÃî%nZÃèÃ0$‡âÑßËöíÅò©Þ\`›"•Þ{ ëw¯ñ{ÿ׿áüâyö6–™¼üí½ ´áðìó/²³±V!–“§Õ<âÕ/½Ž›³Ñ½oS»R¢"´"С0QÂFK¦Db¢Ç” ›2’h©l–R–8†ã' ιHTËdž²’nŸLø‹?jðº,ž„†¥corNÑG¾”¢Ÿ=>x £Sçø¥_ù5„azOƒ°‘ó³HË¥R­` A –i0=7‡ãÚ™÷‹ô'¤D(!I3ø]âŸa(CP‘Dk‰êD©×*gRâÚ’‚k’·´‡dY"K$J©3Ÿ ÎLˆ+lü÷siÝ‹½Ï üÃlþh‡š ×§I$oÂÊ­!ï`öíJkÞ~ó;<ÿ…¯xnß½Ãü µ|¤É­«?¡#jõQƦg±L£o|­e,Oˆ$mLašÚ‰[*L3 P‘êG=%…,èlG Ú0ÎÌäû;èHgbíbäg‰¡jT IЉæ^y!i’A¶>6¼'†ˆ`8¼-ÝOÎ÷"„•êy†5qI!Ê »ÇU_sRP+ž+RD'£=ù›µ $œá÷ÿ÷õ׿þõG–ÎL H¨5 ÿø¿ø'€¦Ýõpm«7J¼:Ý0ð±m‡RÑÂ4”@'$N÷™ÑÅï[×£|xZ9iJÈ¿—sd¦ÝgTéó¯oLd-zÄÐ#Øi„¾ š†ÓÁ@|åp®…"u0<²  ”J#‚‡ ñŠ9Î`ÂdØŒÈç- Nî(œÌœx2tBÝ‹ ¶ ôü zh®×dp!|˜2¥‡ž×—1ú1ñG3T¨²'£dÂË’ ûDÒ›ÛéA§Ú0° }ÓðIDñ(ðÈ–@­ušÓ?†aª!ô;–èY)R~¸áÈ u’UϤúv:HOdý}ä)uobIŒ£$¥/k •=eP$Ȝ깓¢–©/mTÜ~!³êó d!dlÈÈV\ù¸áL¦Û¶SSp–rôöÛx¡bfn–BÎäÝn2;9ÍÍ»LMMÅ5€ŠEö·C´0°LƒP+\ËD)Mä 67·Ø r¸ÅZA®àrxpÄÁîùbDGL¯ÝÄ2f®HãhŸb¹Fãøˆb±B¹Vfíî]ª•2­nÇ-"Eˆ4-ºí¶eF‘’b †S(3>>Æòͫخ‹ûûŒOMÓj6é4±,›Z}”v»…ç‡m v·w©MLùŽk„šN³‰aÚLÍNÓi£ÐtŽö)·ªX¦6¦&ê÷øV’Ñ–„q&S€iši¡¨¤¡¥J•Æú ?zï*Ï^>‡eY¬­¯³µµK·ÛÁïvYX˜C…m6wŽš`ÚŒŒÔØXZÅ,ؼôò«lnïðî­ &ÏAQ™˜dùæ5”а‹ÀëÒ=8¤8}ïh—0ð¸ðìKìmo³µ¾A†ŠEqÒ¹ÿ$¶ô½·¾‹¯B®]½ÃâùE B ·ÈSO=Ë÷ÿâ»4Z-Æfg¹r~Š¥µ üV›@ ‚( V«cJh4¼wý»­¥¡:>ÃÝë·¨`šÛ«w(ÍàZŠõíCFë#l¬,S¨Œ¢µbv~žõ•%ˆB µ:~§×<Â.–ÐHº½BïQ,äNñ±~¢Âˆ£½]„éHD$¹xá{ëw(Ö§ÑQ—JµŽ·³Íêî.¥J‘åežþÌç9ØXåà°›s«²·±L®0‚##\|ÚJÒ(”¨òHÓæÒ¥óñ :¡æ0!ðÃÇ@ HìÔÃkÅr¥Ÿy¹†!ã;Ã)Eš_ýû;t¸ Ô¸Ѱ†C¾P qÜ@£(‹TG'i™m;ÏØÔ –iƒŽ(–+ä\/‚Z½N}Žö÷™;‰NÇÃvLË¢:2Š }„ecHƒ\ÎE ‰4-ªÕ2*Ò8®ƒDc¹.#õ:^·Ãìh…ƒM‡ Õ¤P*Pp ÔëUŽÜYÜr ¿ÛÁÉåxáÒ ìîÆõžY˜¢T«°M‹v5O­Z¡T,°ã ¶öŽ)‹\ƒ¢6±Ü1*dw{ƒV³Iäµ •Odä-±µ¾J¬J™x­c¤éwsl­®b9S Ø^[BHƒ\©F§ÕÁuì8­ÝèÐô,Š–„ƒ &‰Ù\\˜gsý.»-ŠŽÍõ·˜šãø¨É3O?ÁŸ¿ù&Wßÿ€z­Æäô$R¸{ûã£uª##4Žììî+–¨kƒñ±1VÖ7¨ ,CÐívÙZ[aus›z¥@¥:ÂÕ÷Þ£:Rezf†úÈÈ=DD*ã›ø qT «zSîÍë7YZÚ¤¾¸€ôÊ÷¸{ç6[ÛÇ–‰!4+kw(—+Âdo{ésO°rw‰½ím¤4åîv“Ð-Q*ä9ÚÛ&9Žw68::ÃÁo—YºuƒH›”KE„VH;`wsƒn«C©V&D3 –î,1:>Jt9ô=,×%ô}\ j9’9ÇÅSju YezªF¹¤XYÛ¦Ýis¼·Md:\8¿@­6Šl6X__£íw©Ël®or°¿O¡Xdÿàå·vS "v¶vØZkàk›jÞÁ‚Í v¶4ç.\& #nߺM¹Zc´^ð³‘¢Ñ >*ª>H,€§y?ó¹/rþò.Õ‘:†ˆõ?4[@ ´â©gž¤ÓnQ*¹pñJG .ÆsÇv°,‹ùFÈÆQ€0óç/á{¢è2›kH3G¡èa2:1ç)JI«Ù _( ¾‡4 Lä614$* 1 ‰ãº8®Í3 ߥÙê’Ë* Ùé216ÆòÊ—.^Æ´â`ÏÖÑ­N—sÏ!‡Ó“Xnú¼~~Ã0bÛ=pÔhRÈÙ ,lÛäâOô¢#´i‚ ĶlLÓäÒ¹9º]ϧÝn“ÏçÓ)áÖf ¥‘8MàLê'E&¶“o|ãÿÁPfD±V¢q|ÌÜÂy\ËåÇ?ùÝn@¥h£¥ƒm ªe—¶a.•rýÝ=žüôsüÉ[ßg}÷DZ1 ‰ßn1yþI°»õ–G…Øâm„Sfzn–õ› ]ÏW8–ÆÍ¹l¬mP*U1 98ò©VÈçàÉ'®ðç?Þ£ÑÚÇrJÌÎL³¼ºA¡Zeg}‰/é˼ñÆŸS.YضÅg^ùßÿîwhøÕ‘šûø^›gŸ‰×Þ¥Z+3>:É_~ÿ¯pL'?ÂKÏ\àÝ[«ÌÏÏñÃwÞ!gÇLÓ°p\e©¹àV&ÙX»c¹Üº»Æâ¿ôK“@)>Xn°uìõúû1"€“¤U¼öÚÏ…!Zƒ›Ë!&G‡M¾21‰eäsqb„ÒQϲ›ŽsŽE§ë“/Í"·Vvˆ´¢T©!$–M)¦ggñB:D aH,Ëalr*^F&RD*Ä´,Ÿô{¹ý±5Ðq,fFr\/x>‘ŠA!ŸçÒ‘ÒÂq>C¡PàWÿö/" ‰ïu™˜˜âK¯}-F iú]‚0¢6RãÂù¹t]É™©4kº\.R›˜¡P*073ÁÑá!~P¯b¦mú°yîÙsø^À3Ï6(–Š´Þ_9¢í+„!9˨ G&€û餼û.ÝSª€‹—ŸàÖµÛµ˜›cga;Xª‹a˜ŒO°v÷6¶ë‚í ‚€öþíü8sO>ÇßJ+Â(" #rùáPì=@¾XrõtjÛ ŒÞïÊl™¢}o,b™Á åÓ3Óû““S©o!‹b¡îg«œk­qÝžï#Ÿgrrr ò({Öš|ì\‰»Û-V÷bÏ¡!{HÁ¿÷wå“ú“?ù½Ý[ ä$‚ÐZSªT°Åáæ:¡”˜¦E¥6ÂèÄ Òä;]¤m´}J¥2•JçÒEZÍN±LëøÇ0±ŒíV‹R¹’ƒÄþ÷Áû{“Ýí‹ÛȉÈPH3—{ΠlœVm86r8òWÁ^Ãgë°Ãê^'>&%:qµ‹ÇÌt¿œžá…LgÇ8::N³†©™9lKRÈ÷ 'h€©þ&ñÈmv#Þßh÷ƒ3³xŸ> e¤¾uAõŠN=PÄ xÿG%‚ƒ¦ÏnÃcë CÛïÅôÒíu7•žÀ,Céÿ§r§…à C£à‡Šã¶O*Ž;{Ç^’Ö <ŽËÏ$ËÜ‘)·£µ~à¢gb:-5ü¿þ>~RŸb¤ZŽKÈK“¶—^ŠB‰ —º©z•»k›”*%\Ë¡Õn²¾¶ÁøÄ8»û¦ë[»ŒLLâX’í­-rÅ aà# ƒnÇÃ2! "¤§\ʱ³±‰•+`[qÕO·X&çºîïÑÌ™T¢Q,Ñêú¸–…ï(¶i„†i¡Bíímfγßè°ÛRtZmÂÀ#RIœ’ X.ÓØÛ «l¦&ÇØ\¹M m@±sÐbll”HÃÄÔÌ@¥±ØØ J¶“`Lƒî–ž‘ èÑ AøýùB‘ææ ?xg±±:Q·×nÒ,ü°K!稀v³Íøä$º]çƒ÷¯"Ãp¨•Kìmí°º¾Æ^*Õ1vw6Y]_c~fŠ­µ5B" Á€@ð×pÝ3“Öˆãå÷JÁÈrŠÙ@/üì'€Dÿ.—e©Ss3,^8€aZ„¾4$Ga×ÕmµZŒÖKX–I.—crîN¾€ ;5ZÔ^}•@…l4›]æžxÙK¥ž9w iX„¡O§ëÑí´qÝçÈŠ„‘BG!å‘:ƒB±„ïu1LDZ™YõÑQê£_AZi„!‰Âó¨HcÏ.0EÑjãû#sq±)õ-#EÐé€ضƒç{¸nßïÒéĉ«vËv1M i©¶q–à#@ú€¬€ÉöŸýñ›)Éç8HÂ÷"¢˜t;Ú÷i¶#¦gG0-‹×_û9îܾÁíÕmJ4Ùmiê£c´;-p+{+ËËÒdbn‰Ï»«”ªeJÅ*×üãs³LÌ-²rãF/Â&¢ÕlpñÙç± “µ¥;,^<ÏÆê*Fè±W3ð¤…cšä\›ƒýcòÅ&_üÜK¼ùgoRplîîy¼úéK,ݼÊÍÞãò3Os÷Ú{X¥ØÑ¤Â€°ëáuZL]¸„m:ܽqrÕ¡6¹€ö›ììã¸ElSâu:xíC0]&fÏÑ:Þ% 5kw®óôg¾ÀÎêmÂÐgâüSœ»péÞÕOš²åáNƒ/|ñs†‰eÇõr‚0Ä6M¼Úiün—r¥„ã ÓàéO=ÏâŦÑ[•+TX¶IË ¹¾ã3>³H§Û¦T­a˜’òØ ùb¤ÅØôZ lË¢5vÄäÜ*Š0m ô0¤ Z¥X.Q­OPr%Ó²A®\¥˜w‘26Ea„BQ¯ò‹ó—ˆ|Ÿ+6¥Bžg_ ¢òÈ(ùJÓvh·Žñ»ùB ¥¹|CJjã½w›ì2¾ø4†!q‡Vã8îGN.ižÇó}æ.\"_,SŸ }Ü|1íï8ðM ¨·Ÿaà'E©üø'ï!¢.v¡ÂáÁ ¨ÖÙÛØ W'@ðâóÏqãýw)Žq|°ÏæöV\2ÆïbJ,ÌÎqíÚ‹γzã]ÚÝ…ÅÖú2¡ïƒáâŠKö¶÷ñ:-r…íã=Vcc}Óti12Z£Ñì`«|æù§1 ƒj},6ÆH‰“Ë‚ruäžo×hrÅRº_Ê^£Ávs R ËÉQ(•{'Õd’”θDÄ#qàžˆàì<•wžÒTÊe,ËÄó<Š¥Ý0@KÉÞîA¨‰‚/Œ—“ëv=t$0„ C”ÒX–CÞ1Øß?Àp*¶…ŽºC€V­Èsf7g:. 0 “0ð <0I³Žt|Ÿlî7é‚ãN€Û ÙØ;¦X¥Mö]`HÈÊŸûâçN½ï¸öŠCMLN‘Ï›q:öÌ/. Ÿÿ_äGËÇ cs®½Èd×óÔ½Y?Ó³ƒˆ°#i| Û£#lj(^¨÷¦ñµFh…£5×vìî¥:ºèÇsŸ”|Ö_&#X r„Hˆ ‹ä$9%[0"û¼³…Gæ'±þ±ÊY–$ì/Dª èÁ/í€r¶AÁ6hùQœxÑK¦P"î\)âJa÷喝 IéÁ³µ¼™&¶¼0")9:¥“½q8é¤$”TÅ»×8ÐWIÆSrsj×ÊÉãb Nr†?$›Æ” Év eH:ô ®Î >Kõ‰µOÀXÙ¦¹ÝŽ1…1ÀNE6qDß;2ãêÞq6¯iô a²h1Y²)Ú÷s£±rØey¯Ó³ZØ ÇéO '’~Ö$y‚™8›§Æ„x/ûßóD'ˆ¶dáõ×xaÄìüÅœÉß¿ÁÂÌ k[ÌÌNspÐÁqòø^- ÊE-5®e÷râò…"››”J%rù*¯ÓåàèˆÆÑ>¹b\1C… a;tZ-,CbºšÇËU…b‰JµÂæÚ2õZ…®P.•¸8bâ.«»mK„a$@…XRƒáP.Uxy±Êÿýgoƒi#‘PŸ˜¢ÛlÑm50m›ÚHN§ƒÄy–)ÙßÝ¥66Eäûq^@f ö™˜œ"𺖅”Ž›ësŠ A$ÓÁpjù'JIÑ‚dRe}i«`ó™W?ÇîîWß}éóçÐ^HdW¸}õ„TX‡6AàÓ9< 8uïxÐ8÷ì‹íï²·½M†4KE”šáho—±z…ƒÍ5rí<mÉzI‡ã½-Æë5v=T2^-àE!V±Î…ÅyFô?¹¾‚[¬`™&Û›[ŒŽÒi5Ð*äpN§‹@Q*é4»´š7ñZMÜœE¡:‰ivWV)•+øÝ¾PªT0LÃ0{î9@ÙBìBœ<ÒµZ È‚ô9Á•gžæÊ3O§aM.^¢Õñø¼cÓj6ÑÂ"TFê?:Ø#çÚTªe‡ý¼€'._Ž%b¥étºt‚|e’@Gq¨—mây8¬ÊqèúŽë2= €v¥år™s—.a’—ž½Â¹7uhiWü½äK)%AÄUÐ… #f§ÇyîÀç½& ‰´bz~‘f«‰ëæ0m‡Ñéy,ÛI§¾¤ØƒèU×½<¯ÓÂvó½ÚC™iE ¦¶‹ÔÜ?  ;$¡áÉñ¾ûgoá««ܿ܅s„äËe^zñyþâÏÞä¨ÙÄ©L275Êêú&~»…0m4µÚh//à˜¥»7@kT#ã³\»vmçhø‚½­e*“säâ¼€ÑÖ—W(TÆP*bfa‘ÍÕ»E”ëc„~‡ uDsqŒ;¶EcÿÇvév;” .Ê)2;^£DAÈîöBk¤#ñ<Á“—Ïóþ_¿S™BkRyŒÆþ6û{ÊEvÖW¹ð©ÏÒØ^ã¸ÑÀq\j£Uv×–±ò5Ð ƒ\¡B±XÂrrŒNÄk*"ãšÆY9áÁ\Ý?eHdYÖ@PCV,UJ(%xù•~^@¡R%Н~ñ‹ìïm³±×¡\*3:Ñ<2±ìµÑ Í£8/ R®061ïyØ–Ëôì,®ëà+G‚R!G êãŒÏÁáþç/h·= ÇÁqjõ Täc»Žm!‹y¦Ç*HÃb|¤Jà+LËbº.c£u-j•¶er|tŒ“ÏSÌ—b.27GKÓ±8ÿÔ§8:ØÅïv©Ž“+QÝ2†íP,UÈ ¥98lËȹe"L,·€ë˜H9¸D¼öpìƒH…CC?|Ë™@R¿æ~¦àl^@Ðé°·³ËØèK·ïÒõFÇêLŽÖ¶¶™œœÁŠH:ˆ(¢ÞË ØØZ'çæ@‡[[Çy9£À¡Ì3>Vewg+ž “nóiºòy¶WW1m“©Å‹ì­/ƒ4q‹5 #¶ý›–…Bt;˜fŽ0Òܺ}Kh¢Àgrz¥n³{ئè:\»~aØ´Ì_¼ÌÕwþŠ•›×(WkŒŒM€!Ù\¾KµV'_©Òi69:ÜÁÎ(jI­>ÆÎÎ6ż‰%aàµöðÃB!íäP=7´ñbTý¬+ñøX“bFŽã¤ó\²xDׯ^çîÝ ÆÎŸ‹ó<Ÿ;wn±»ÓÀ°ã¼€«7¯#XÚÅ—6“ó‹Ê#ˆn‹½­uº~—b¾ÌþÖÃr…ã#TÐ+)%(ÅÑÎ. ÝEXªµ*…B!N‘ï-@iZNÌE{ÖÁ$ó*íÛ³Ó=5̲,‚ 8qžzùó_âÂý¼Ml9ôº]’‚ ._fo÷-.\¸H¨" ‡RÑ&ïºØ¶“ºP¥ˆ'ž$ð»(ý ««kŒÏ[l7#„é21;iHZÍ& y4žï÷ò,êSsqrhQri4‡ãØÃìMQ!ߥÕöps…¼€¥å»\ºx™£®BÎ4è¶x]ÉÅsDA@klÃÉ¡¢ççæ‘†IÆýÒjµÈ96ZÆk LŸ {5ââš2-þÐÃìp™štZ÷µ:þT @k}Jˆ~ÿàþ ¦ 8n†”F*q鉋TòEÞþÁèvrŽ‘FÍr6m_a™.µJÖñ!W^ø?üþ9n“s,,Ã$è´8÷äÓHË`c};+‡´:ÜúÉÛˆB…ÙùVo¼‹Ìåñ|…m›Ï±±²N¡\ÃP‡‡>/]g´,(L^ µµM³µ‡å–{yëª#l¯Ýá+ã+¼ñ­·Èç îìvY|êenüä-Ú¡E±Z§st@èwY¼ò<ëw? X)Q©Mpõ'oc›–;Â¥ËçXZ^e|fž»WB¡à+V› ::A¾PÆ0eß<œ…žc Ñ Hìƒu‚“öÆBÌ믿–æ8®K†X®C·Ýæk“¿ˆeöKº{AH£á¡5ØŽ‹k[¡©ÔŠŒTjí愈‘Ú(†!qó.Z.ž[à3‘Á{·· "¶…Ë169Ûíµ"ŠÒv˜ÂÇ6M´Žü×2¸²Xf¬R |âBšÏå¸ôÄE„0q>ÿ"Åb‘¯ýÒ/ð“Õ#oSãéW^C!0-‡(ô‰¢ˆB¹ÂÔü,²—B^ŸˆKÊ A¾X¤8:…›Ï3:>Ž×n" ƒJ­ŽiÛHÙ/²)D¯ÚˆÒ}3³È¬Sô8L‰`’Uõ½üýŸüd /àÒO²üþûtZmæçÙÚÝ%ÀD{- âPeéæÍ4/€(@·°êÓ|å /cöŒ$@ª—Š%´ÒT«#üèÖnì¨1MòÅRì'È”žR}¡ºgÖ½u¤ð ƒùz‰Ê KÔµ|®¯7¹¹'± #Œ—Æ@Jì\~05yI®¿›/–F³íÄ']7õ±Þ-'i!z^Ç´ôÍé‹m~"A¶ŒÙpÅër¥‚j6׉zyÕÚ‹‹ HCÒlw „¤åw)–JŒÖúíV »X¦Ý8DÙ6¹R‘V«E¥\X3([2®˜³¸0]áÆê!ÆŸ–a©D(a$åúR¿ëÊ^‡•Ý6hM½”T ×µ|‚¨WóÇ0HJÅÇE³¡ÚúTÖœÆN»fà|tæ|Æ!ôX…„e ŸÔ°ç_|ñžc3ÓSýí¹ùôþ&&'iw2kÇ (ä-d6ä †,h±;h¢–Ç "–·hB$Â0z…™bü("2ë¢ãR£½‚W»­0£{Ë8nÝC¼È”õʶgÐ÷?Dž:âµÈ^>”Ô€­E>B2Ë0<ôl’-e~š%0^øȆ•ç\£¿hD¯GºÝè¾÷I@öÜÁsãE&GòèH¡‚F½¹”´¸ Q‡¢_f\&Ä"{úw¼a€i"¤10úOlbЩô‰×0üÓ';á[³Ï Îl½€Ó¼q^À4#Õئ…eÛ(Q×¼DJ3U¯pwm;W@…­V“ÍM&&Æ)–òTs&wV¶˜œ™¦”³YÝØ¢\® †A³ÝÁ2ªÐm„DZ²»³…],ã¸&‘ ±s%Çá`oÄpò„t=Û²ýxiXÓ”Da€´lTèq´¿G}z‘0 (–Ëxí6aÐEEýê¹b…æÞ]m319ÎöÊM"lÛ Ñè0:1ŽRš‰é¹ÁäŽa×rúžN!³“)/ ;êO"€\¾@cc…·Ww«u[øíÒÎá] y‡Plo119IÔ¬óÞû׎MóEövvØX_ÃÎ9\žŸe}kË+x‡ƒÃCÛevñ"GûÛŒÎ.àísgu¡Ÿ)è4Ž8Øi±¿{ÄÑîÒ4ŸžE¤Ì÷”IAgû³Gd* Ëü„ A|ò71 g窩¹Î]Œ‹eó¢(BE Û¶h6[¸®‹aq^Àü9œB´YÝ8¢üÊ+D*¾VEO<÷,¦41LƒËWžŠ3w¢¯ëÓlµÉç_¤P,Š cm¯K¡T"  ÇÆv&çÏÇuý£Jí3\N.O·Õä‰O瑆…ñäÓDQ„×iãqÍÂÍ êõ1ê_x-vÚ(…ÓÑ¢HáÌ.²ðTD«qŒïyÔ'p et tœ!×çøž‡›Ëø:6ÅRN«íæ0-+N7Wa:…%<’!(©ib‘!øÓïüYšàaš ¥Cäû(ß§Ñ Ÿ¬4øù×ã¼€[+q^ÀæQD¾4B·Û¦\«SÍ[ܺs—œí°pî¶ y÷æ2õz•±Úoÿå_3wažÅóøà'WFœ¶´±ÃÈì“R°º¼ÄÂ¥‹ll¬Ñiw‘Gh˜X†‰í¸4Ž›8¹8/àéçŸçý·ÿDzÙ:òxòÉ ,߸ÆÍwÄågŸãîû?Ä*õò|¢®G·ÓbêÂeËáεkTj.µÉEðlíãäŠX–Äowè¶fŽÉÙ ´›½¼€[Wyú•/³³z‹0è2uþ).\ºÄ@õRý˜q€áÃÓÀ¿ôy ÃÄv,<ÏKó„a zåQün'ŸGëÓ4xöÓ/pîb3Í h¶”’JQÈ9ÌÌŸ§Ûi355Žc›Ô§ç)•‹8–ÃÜü,‘䋃éCÎ;GF|ζhš»ë *#£ŠE*Õq”TîmcËä\!L¤ŒÍÎZJÕ1^üÒWQÏl«E>_ 22Nø”ku ¥j?/ ã‘/–PJ‘+ã„Ñ ,ÇÆ0Mû;Œ/>ƒ! œœK«q£T›/bšðü€…‹—ɕʌOŒÜ\‘$TXÄÅ|•BÿøÿX¤fàÓŒÃyZ+FÇêln065C ¯¼üiÞÿá0 5llm䜛Ÿçêõ[ÌÌ/rëúUtj‹Õ•%¤Vb©Äh½ÈúúVƒB©Dã`of’•¥5К\ÎÅ"–W6Xêz`¸¾ÇÈä$¦Ò¬Þ½Ku¤Êþö&†éÐi6(U«´;f¾Ê¥§žÆqŠYò½Îx¬Òž˜ 5¹b¿@D¹Z8ïôŠEôûNc;¥b>FpÞAëJ¬i)ZÅåp£(U?1Hoî­rZ†Ðiyùb‰ ˆóv¶ãê "ŒðBïž¼€0 qmI¾×aív é”± ‰ç…8€B+E±œÃ4aá8qâ…m𸾇çu‰”fa²Ìþq‹í&h)ñÚ,iA¤ºÝ¹¼…帨(B ×>¦{¼G±2‚îyìRÑí4ÐpˆÜ)Q¢‚¨g•쫺iUr ¢'gè(ŠÕ¥ÇɘEúIZÀç¿ôùzÎôôô‰Ç“ѱxn¥4µZ•h¨@¢mXÖ)æ ‹©w-I¶‰«•EÜÙ8fç0®Â1%fAJ&'âÅ¥Lkü÷#•#„NË”èž$¯OÑÝ{=Óû« Íн:z躞%U% UõOœ«w,ª%‹³‚3!€Ó¦€áø€G­5¶¥iúaf5.zq{û~Ö1ÝϲIêQH4ç& Œ–-în6h¶{µ÷‘Ñ鉡(kw'60ƒÎ~lûp¢JzT7Ž˜(”ŽËÍD*-;c&®e03^br$Ï·nÝ’Ïõ¤ÄüakŸT@òQÀ¶Á2#šíA"ˆÛ$ã•GODÎàXKª’h⼆Z¹ÀqÛgu»ÁAÓKïÞâOâõ³Äp¯!Òì®Á—gþ¤žŒd¤g¸‚Ž—A( ´ä“™Ñ"ã#ùxaª3á! 1'I!§×Âøò3Û6( A£ ÔË ÃØ–/>}ïk³ù&²‡D¥z–` Õ‚CyѦ٠ØÚo±wÜ%U,z«Ø—¨’M?îI/Ê:¬†+ÚôW»êeÅKŸ\#€jÉab¤ÀHÉM³˜¤­Fî1˜’€ÐdN*Õïú•‘G# Ë’”‹6­v#©÷°(Òt:ŽGø|È$T›XµÊy›RÞâœÒìwÙ9hsÔò‰”î-P—|O?$Ù–’~JWå^ö0üK9o3Rq«æ±M£Gc}»Ÿ8!£èQᑵ€qÂ(‰ûäá>È4¥‚E£Õ#‚^‡j Ýn ‡™Å(O|KŠ/‘e²Þ0cÕ<£•ÍaÓ§Ñò8nù·ýx ʲuqò[D:ÜëÎ9&•¢C¥`S):˜RfK?4Í*=a68Ù9öPýø07%kV$ú£À£Ä¼K)(—lÍ?ˆø¼ïGD‘¶Í¤íä´š`H"’A+)9ŒT/@Ãó#º~HÇ iv|z6:½BΉƒÈ¶ LC"×1p,“œc’ÏY=ÝAdÄŠ~t@&•4M*ylRÃÝ?I ;ë2kåy(-ÚA»ö{»ÝË’˜¦¼ÿCȰc»—S¿FÜ@’ Ñ`¸¢·ÒÉP?ƒî¬ãf˜ӕÆÚ0xåà 8Ö'œ +!€³†‡!†|ÎÄ0­v8°*™&ÖùÃHa[FºBÙéï&“ÅÛë|ÝOÐì'÷òøSWn–“àÏþ¿ÞubkNÈþ¸à‘ÜÁIÞÜ©eZOògkV¿É´Ø»6Mó¦/”ÝË¿ûËÃ! Ýj³¼¼œž››GaáùÑ@c”Òt½Ë40-9ÔñiÌÕÉíOÒέ&N–%˜Ôp¤û„0ç3ðN‘ÞÜQÓɃNIÕg¼”ÜC@Eø¾ŸzTâ¬Sè$òƒ£ +H“鲓„ê´S¼õÖ[¼ùæ›ÈO`tt”—_ù<ŸûüWÐZóOþËßàÒ¥'øþãDÆM–%¹~ýÿóÿô?ðË¿ü·yíõŸàÚµ«éq€çŸžø#ƒüøøûßü×ìííðÄOòŸþæ–ª†§­;<Ô!º™é`ðã³+œg´^œ‘(8Ûª§vUïÿâ_ü Þzë-òùTPh’:¼TlöC>bh·Ûüáþ!³ù_ûµ_£/œø¾ÑÑÑtÛ0¶e`ÛÆ}µ(RtºžÆuz«×cWîµkW®ÿáß!—Ïóaš‚†¢‰O¾6–Wü Âë†A4@¼Zk8Ã)à¡ »\üiÈ^úüQaii‰v» À—¾ô%òCßßÉ÷[¦ Z¶),lûäO="TqVÑ3Ï~ ­5W¯^M‘¹»·ËÊò2Ÿþô œÉ«3¿¡Ü3·G‘""º^H·àûÑ©ËÂi4꣭ڃ…"? N»î£èü+++éöÜÜÜýÞ–©ßþòò2¿ýÛ¿îGJÓl´NVXzÿ4šééY"¥ØÞÙæÆ›ÌÏ-ðý¿þ>J).]¼ÌwÿüÍž‘f°ü}RTÏ#©zƒèÃT½¬ÌáX(ÉÑÑÁC`ídxèÉ$I ‡÷ Þ÷Òô0Ïo·Û\½zõžklÛ RzÀtœÞàSŸzßùI§ÓæÇ?ú!³³ó¼óÎpÜWž~®/C„ž—€ÜÄp†À±M,3®j¦Õc0ìü9+ÿq–B¸rå ¿õ[¿5pìƒ>àŸÿóŽiò9“‘ªƒ(l[•üÔ§žç/¿÷]nܸN§Ófuu™W_ýÜý_ø€{R`™ËŒ­—¦qoßžåâÑý¤smûTn"¬,Û?i$¤gŸÖ!Rà:ùœ‰c8¶¤X°¸pn!`mu…¿üÞw˜À—rªì'¥À²$ùœIµl3R±),\Ç8ùg=8š~*z?ƒ‚äÂÂB*ø½ù曩@ø°ío"&ˆÏþeÛÀu ¾ûÖc[Ÿ}õ3¸¶)E¼™˜†Ä4$†”é¶iÈôÞœkP,˜TJ#5‡ZŦ\´È¹±†ò m:+xäÜÀ³nÐý P(ðµ¯} ˆçóßþíß>•>øàƒz惶=18A8ú™—^¤>R¦T´±,Û’äÜxWË6µŠnWËñ¨., y ×1cdß§M÷Ó¬ÎÚôa¡|õ«_egg‡·Þz‹¥¥%þé?ý§¼øâ‹–À>ø€……®\¹ò‘¿ë~påÊ~ðƒ¤ÛåÞ“Þõ †¡KJà‘¼ŸüƒðXXXà›ßü&»»»¼õÖ[µ°°À¾ð…‡zöý¾í…^HB 'ßσ;ñ”à㌠“¿ÿû¿¯WWWùú׿N³ÙdmmJ¥ÂÆÆ_üâVÌü¸¡Ýn³´´”î_¹råL;롟¥O¯ð°ïÑZs||Ì¿úWÿŠßüÍß<“QøÐ ) “ìRÏçOeÇg¨r¿* 'ßøÑ"x> 78+äÃ#˜‚³2@Z'øž†á,ÍÐëñ½……˜¦‰ã8éßû}øÇUçæaà, áãºç§ÑO%~õ«_ð 9 Ñh°³³Ãññ1¿ó;¿Ãáá!­V ÏóÃ0 ï!€á%ç²ÓÇYÚº?NxT!ó~÷ !Òu\×åG?úóóóÌÌÌœé7<¼ñÆúúõ묬¬q¼çy´Ûm:žçEa¦>Ó4ï™:Š¢h ÜÌitÒˆöDf‰,-«6DlÙëN"¾dÿ¤sYhöº³žî„4 òù<¶mS©T¨T*‹Å3{<‚855Åáá!žçq||L·Û¥ÝnÓn·ã¢ËA@ò˪:ÙQžp#-šÜÿ%„“œþ%2H‚¬8ØÓJÏ%Ç„«œ4"³„™p3è'Ç$Û§ÝŸí³áí“þf‰pmm-ý¾„~ã7~ãLç…‡"€×^{M|ó›ßÔAEQ"nÛ6®ëâûþò‡+ˆž¶ÀýïQ yÞ;w( ”J%J¥g‚ôw=ÊÍo¼ñ†n·Ût»]Ýn7ùA¤¡c bÈj† ä~S@vÔÝo´I)Óie¸„íƒÜÒ»“ý“JâéÚC “v$\,»Ÿ%¶„pÇI‰*ѨVVV¨T*äóyêõ:¿þë¿~æRá™<ð7ÞÐ â=ÏK›Û³”l'UCAY còŒ“Øí0’i&áJ'±é“›–†«›ÞÍg§´Ó¾á$8é\VÖ°m›\.‡a¸®KµZåïÿý¿ÿ±¨Ÿ¸>öÆoè¤óú+x ŽÒ™É5ÙýaÄ&ÓNÃaÞÙ©) ÃïN‚^³„›}_ö¸aø¾?Юl[³ÏL4+“d 0á®ë’Ëå(•JüʯüÊdž§Oœ>IøÎw¾gbÂ%€S िYÂ:‰›$ËÐø¾ŸÏºmÛ)¸®Ë믿þ±âèÿ塘 V™©º%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:34+03:00à5$IEND®B`‚xchm-1.23/art/xchmdoc-128.xpm0000644000175000001440000030652412210054137012571 00000000000000/* XPM */ static const char * xchmdoc_128_xpm[] = { "128 128 4273 2", " c None", ". c #E0E0E0", "+ c #DFE0DF", "@ c #DFDFDF", "# c #DEDEDE", "$ c #DBDBDB", "% c #D5D5D5", "& c #CFCFCF", "* c #CECECE", "= c #D4D4D4", "- c #D9D9D9", "; c #DCDCDC", "> c #DDDDDD", ", c #DADADA", "' c #D8D8D8", ") c #D7D7D7", "! c #D6D6D6", "~ c #D3D3D3", "{ c #CED0D4", "] c #CACDD6", "^ c #CACCD6", "/ c #C9CCD5", "( c #C8CAD4", "_ c #C7C9D2", ": c #C4C6D0", "< c #C3C4CE", "[ c #BFC2CB", "} c #C1C3CA", "| c #C6C7CA", "1 c #C9CACA", "2 c #C7C7C7", "3 c #C3C3C3", "4 c #C0C0C0", "5 c #C4C4C4", "6 c #C7C7C8", "7 c #AEAEAE", "8 c #8D8D8D", "9 c #E1E0E0", "0 c #DDDCDD", "a c #CFCECF", "b c #C4C4C5", "c c #B8B8B8", "d c #B6B6B6", "e c #BBBCBC", "f c #C8C7C7", "g c #D4D3D4", "h c #DADADB", "i c #DEDDDE", "j c #DDDCDC", "k c #DDDDDC", "l c #DCDDDD", "m c #DBDADB", "n c #D9D8D8", "o c #D8D7D7", "p c #D7D7D6", "q c #D1D2D6", "r c #CDCFD7", "s c #CBCFD8", "t c #CBCED8", "u c #CBCDD7", "v c #C9CCD6", "w c #C8CBD4", "x c #C9CBD3", "y c #CECFD4", "z c #D3D4D5", "A c #CDCDCD", "B c #CACACA", "C c #C2C3C2", "D c #BFC0C0", "E c #BDBDBD", "F c #B8B9B8", "G c #BBBBBB", "H c #CCCCCC", "I c #939393", "J c #BABABA", "K c #E1E1E1", "L c #ADADAD", "M c #ABABAB", "N c #C1C1C1", "O c #D2D2D2", "P c #D5D6D8", "Q c #D0D2D8", "R c #CED0DA", "S c #CDCFD9", "T c #CCCFD8", "U c #CDCFD8", "V c #D6D7DB", "W c #DBDBDC", "X c #D0D0D0", "Y c #CCCCCD", "Z c #C9C9CA", "` c #C6C6C7", " . c #C2C3C3", ".. c #BFBFBF", "+. c #B6B6B7", "@. c #C6C6C6", "#. c #B0B0B0", "$. c #858585", "%. c #E2E2E2", "&. c #E2E2E1", "*. c #D1D1D1", "=. c #B3B3B3", "-. c #A9A9A9", ";. c #AFB0B0", ">. c #BCBCBC", ",. c #E1E2E1", "'. c #D4D5D9", "). c #CFD1DB", "!. c #CED1DA", "~. c #CFD1D9", "{. c #D8D8DD", "]. c #DEDFDF", "^. c #DEDEDF", "/. c #DDDDDE", "(. c #C8C8C9", "_. c #C5C5C6", ":. c #C1C1C2", "<. c #B9B9B9", "[. c #A4A4A4", "}. c #7B7B7B", "|. c #A0A0A0", "1. c #D7D6D6", "2. c #CBCCCB", "3. c #BDBCBC", "4. c #ACACAC", "5. c #A7A7A7", "6. c #9B9B9B", "7. c #8F8F8F", "8. c #E6E6E6", "9. c #E3E3E3", "0. c #D4D5DC", "a. c #D0D2DC", "b. c #D7D9DD", "c. c #E0E0E1", "d. c #DCDCDD", "e. c #D7D8D8", "f. c #CBCBCC", "g. c #C8C8C8", "h. c #BEBEBF", "i. c #B5B5B5", "j. c #B2B3B3", "k. c #9D9D9D", "l. c #767676", "m. c #999999", "n. c #C5C5C5", "o. c #B4B4B4", "p. c #A6A6A6", "q. c #989898", "r. c #969696", "s. c #9E9E9E", "t. c #D7D8DC", "u. c #D2D4DC", "v. c #D0D3DC", "w. c #D4D6DD", "x. c #DFDFE1", "y. c #DFE0E0", "z. c #D7D7D8", "A. c #B1B2B2", "B. c #ADAEAE", "C. c #B7B7B7", "D. c #BEBEBE", "E. c #757575", "F. c #929292", "G. c #AAAAAA", "H. c #909090", "I. c #EEEEEE", "J. c #E4E4E4", "K. c #D7D8DD", "L. c #D2D4DE", "M. c #D1D3DD", "N. c #D1D4DD", "O. c #DDDEE1", "P. c #E2E2E3", "Q. c #B7B7B8", "R. c #ACACAD", "S. c #AAAAAC", "T. c #BCBEBF", "U. c #727272", "V. c #8C8C8C", "W. c #9C9C9C", "X. c #848484", "Y. c #E5E5E5", "Z. c #C2C2C2", "`. c #B1B1B1", " + c #D7D9DF", ".+ c #D2D5DF", "++ c #D6D8DF", "@+ c #E3E3E4", "#+ c #E1E2E2", "$+ c #DFDFE0", "%+ c #D3D4D4", "&+ c #CECFCF", "*+ c #CBCBCB", "=+ c #C3C5C6", "-+ c #B8BCBF", ";+ c #AFB6B8", ">+ c #A7AEB2", ",+ c #A0A9AD", "'+ c #9AA3A8", ")+ c #A4ACB1", "!+ c #C6C7C8", "~+ c #8E8E8E", "{+ c #878787", "]+ c #808080", "^+ c #AFAFAF", "/+ c #A5A5A5", "(+ c #D7D8DF", "_+ c #D3D6DF", ":+ c #DBDDE1", "<+ c #E1E1E2", "[+ c #DDDEDE", "}+ c #D8D9D9", "|+ c #CFD4D6", "1+ c #C7CED2", "2+ c #BEC9CD", "3+ c #B7C1C8", "4+ c #B2BDC2", "5+ c #ABB5BB", "6+ c #A4AEB4", "7+ c #9DA7AC", "8+ c #97A1A7", "9+ c #939CA3", "0+ c #BDC2C4", "a+ c #737373", "b+ c #A8A8A8", "c+ c #949494", "d+ c #959595", "e+ c #9F9F9F", "f+ c #D8DAE0", "g+ c #D4D6E0", "h+ c #D4D7DF", "i+ c #E1E1E4", "j+ c #E5E5E6", "k+ c #E4E5E5", "l+ c #E0E1E1", "m+ c #D9DDDF", "n+ c #D1D9DE", "o+ c #C9D5DB", "p+ c #C5D1D8", "q+ c #C1CCD3", "r+ c #BDC9D0", "s+ c #B8C4CB", "t+ c #B0BCC3", "u+ c #A8B5BC", "v+ c #A1ADB5", "w+ c #99A5AD", "x+ c #919DA6", "y+ c #8B969E", "z+ c #A1A9AF", "A+ c #BCBDBD", "B+ c #787878", "C+ c #9A9A9A", "D+ c #8B8B8B", "E+ c #8A8A8A", "F+ c #E8E8E8", "G+ c #D8D9E0", "H+ c #D5D7E1", "I+ c #D6D8E0", "J+ c #E4E4E6", "K+ c #E7E7E7", "L+ c #E4E4E5", "M+ c #D9DEE1", "N+ c #D0DBE0", "O+ c #CCD9DF", "P+ c #CAD7DE", "Q+ c #C9D6DD", "R+ c #C3D2D9", "S+ c #BFCED7", "T+ c #B9C8D1", "U+ c #B3C2CB", "V+ c #ACBCC6", "W+ c #A3B3BD", "X+ c #99A9B5", "Y+ c #92A1AD", "Z+ c #8B9AA4", "`+ c #84939D", " @ c #85929C", ".@ c #888888", "+@ c #EDEDED", "@@ c #EAEAEA", "#@ c #D9DAE1", "$@ c #D8DAE1", "%@ c #E6E6E7", "&@ c #E7E7E8", "*@ c #E3E4E4", "=@ c #D8DEE2", "-@ c #D0DBE1", ";@ c #CDDAE1", ">@ c #CCD9E1", ",@ c #CAD9E0", "'@ c #C7D6DF", ")@ c #C3D4DD", "!@ c #C0D2DD", "~@ c #BBCCD9", "{@ c #B4C7D4", "]@ c #ADC0CD", "^@ c #A6B9C7", "/@ c #9EB2BF", "(@ c #96A8B5", "_@ c #8E9FAC", ":@ c #8697A3", "<@ c #81919C", "[@ c #7A8A95", "}@ c #D5D7D9", "|@ c #7D7D7D", "1@ c #B2B2B2", "2@ c #A2A2A2", "3@ c #EFEFEF", "4@ c #ECECEC", "5@ c #E9E9E9", "6@ c #DADCE2", "7@ c #D6D8E2", "8@ c #CED0D9", "9@ c #C4C6CF", "0@ c #D9DBE3", "a@ c #DCE0E1", "b@ c #CDD9DF", "c@ c #CEDBE2", "d@ c #CCDAE1", "e@ c #CAD9E1", "f@ c #C7D7E0", "g@ c #C4D5E0", "h@ c #BED0DB", "i@ c #B0C2CD", "j@ c #B6CCDB", "k@ c #B5CBDA", "l@ c #B0C6D5", "m@ c #ABC1D0", "n@ c #A3B8C6", "o@ c #9DB2C0", "p@ c #97AAB7", "q@ c #8FA2AE", "r@ c #8798A4", "s@ c #84919B", "t@ c #808B94", "u@ c #C5C9CC", "v@ c #BBBCBD", "w@ c #818181", "x@ c #DBDDE3", "y@ c #D7D9E3", "z@ c #746E70", "A@ c #606164", "B@ c #8E939A", "C@ c #B1B0AF", "D@ c #BCBEC1", "E@ c #CDCBC9", "F@ c #A7A8AA", "G@ c #C5C5C8", "H@ c #A7A7A8", "I@ c #C6C7C9", "J@ c #C0BFBD", "K@ c #BABBBD", "L@ c #B9B7B7", "M@ c #A6A7AB", "N@ c #909495", "O@ c #778286", "P@ c #949FA5", "Q@ c #96A0A6", "R@ c #A7B5BF", "S@ c #A6B2BA", "T@ c #8997A1", "U@ c #B7CBDB", "V@ c #869296", "W@ c #4B565E", "X@ c #535F67", "Y@ c #97ACBB", "Z@ c #95A6B3", "`@ c #646E76", " # c #5B656E", ".# c #6E7780", "+# c #9CA5AB", "@# c #7B8081", "## c #898E93", "$# c #7A7D7F", "%# c #6A6E73", "&# c #BEC0C2", "*# c #838383", "=# c #DDDFE4", "-# c #D7DAE3", ";# c #D7D9E0", "># c #6B656C", ",# c #ACADB1", "'# c #443D3D", ")# c #626668", "!# c #625F60", "~# c #585958", "{# c #777674", "]# c #606066", "^# c #868688", "/# c #686769", "(# c #4E4C4A", "_# c #48494B", ":# c #5D5C59", "<# c #333233", "[# c #3E4145", "}# c #565A5D", "|# c #57595D", "1# c #505257", "2# c #5D686D", "3# c #697171", "4# c #484E54", "5# c #4F555E", "6# c #464E55", "7# c #434B50", "8# c #9AB0C6", "9# c #7D8689", "0# c #3B4550", "a# c #4F585E", "b# c #4F555B", "c# c #4F5154", "d# c #575A5B", "e# c #54595D", "f# c #46474A", "g# c #434548", "h# c #4D504F", "i# c #41454A", "j# c #404346", "k# c #323237", "l# c #ABAEB1", "m# c #F4F4F4", "n# c #DFE0E4", "o# c #787173", "p# c #676767", "q# c #767675", "r# c #77777A", "s# c #7A7878", "t# c #7D7F81", "u# c #807F81", "v# c #5D5E5E", "w# c #7E7E83", "x# c #919092", "y# c #8D8F92", "z# c #8A8683", "A# c #5E6060", "B# c #6D7478", "C# c #86919B", "D# c #91999F", "E# c #747A80", "F# c #6B767C", "G# c #737E82", "H# c #7C8A96", "I# c #78848D", "J# c #4D555D", "K# c #34393E", "L# c #96ADC3", "M# c #8C979B", "N# c #7F8D99", "O# c #CCD5DB", "P# c #555452", "Q# c #677079", "R# c #898B8A", "S# c #6B7079", "T# c #878A8E", "U# c #606265", "V# c #545858", "W# c #545A5E", "X# c #64686C", "Y# c #54565A", "Z# c #9DA1A4", "`# c #FAFAFA", " $ c #D9DBE4", ".$ c #E3E2E3", "+$ c #EBEBEB", "@$ c #DFDEDD", "#$ c #E7E7E6", "$$ c #DADBDC", "%$ c #E8E8E7", "&$ c #E4E6E8", "*$ c #CFDBE2", "=$ c #C7D4DE", "-$ c #CCDCE6", ";$ c #C9D8E3", ">$ c #C4D6E1", ",$ c #BBCFDC", "'$ c #BDD2E1", ")$ c #BAD1E0", "!$ c #B9D0DE", "~$ c #79868E", "{$ c #606A74", "]$ c #BFCDD7", "^$ c #D2DADF", "/$ c #D3DBE1", "($ c #D1D7DC", "_$ c #888B8C", ":$ c #BAC6CD", "<$ c #C7CED3", "[$ c #BEC7CD", "}$ c #BCC3C9", "|$ c #B4BBC1", "1$ c #A2A8AD", "2$ c #9FA5A9", "3$ c #949A9E", "4$ c #888E91", "5$ c #9A9EA1", "6$ c #FFFFFF", "7$ c #DCDEE4", "8$ c #D8DAE4", "9$ c #D8DBE4", "0$ c #E7E8EA", "a$ c #EBEBEC", "b$ c #EAEBEB", "c$ c #E8E8E9", "d$ c #E2E6E9", "e$ c #D2E0E8", "f$ c #D0DEE7", "g$ c #CDDDE7", "h$ c #CADCE6", "i$ c #C6D9E6", "j$ c #C2D7E5", "k$ c #BED5E4", "l$ c #BDD4E4", "m$ c #BBD3E3", "n$ c #BFD4E3", "o$ c #CFDBE4", "p$ c #D5DEE4", "q$ c #D4DDE3", "r$ c #D2DBE2", "s$ c #D1DAE0", "t$ c #D0D9DF", "u$ c #CDD6DC", "v$ c #CBD3D9", "w$ c #C5CED3", "x$ c #BFC7CD", "y$ c #B6BEC4", "z$ c #ACB4B8", "A$ c #959BA0", "B$ c #898F93", "C$ c #959A9D", "D$ c #BCBCBD", "E$ c #DFE0E5", "F$ c #E2E3E8", "G$ c #EAEAEB", "H$ c #E9EAEA", "I$ c #E1E6E9", "J$ c #D1DFE8", "K$ c #CFDFE8", "L$ c #CEDEE8", "M$ c #C9DBE7", "N$ c #C5D9E6", "O$ c #C1D7E6", "P$ c #BFD6E6", "Q$ c #BDD5E5", "R$ c #CADAE5", "S$ c #D4DEE5", "T$ c #D4DEE4", "U$ c #D3DDE3", "V$ c #D2DCE2", "W$ c #D1DAE1", "X$ c #D0D9E0", "Y$ c #CED7DE", "Z$ c #CAD3D9", "`$ c #C6CED5", " % c #BFC8CD", ".% c #B7C0C5", "+% c #ADB5BA", "@% c #A2A9AE", "#% c #959CA1", "$% c #899094", "%% c #8A8F93", "&% c #E2E3E5", "*% c #DDDFE6", "=% c #EBECEC", "-% c #CECDCC", ";% c #BBBCBB", ">% c #DAE1E7", ",% c #D1E0EA", "'% c #CFDFE9", ")% c #B8C6CF", "!% c #BBCCDB", "~% c #A9B9C3", "{% c #B1C7D8", "]% c #BED6E6", "^% c #B5CAD8", "/% c #97A6B2", "(% c #C0CCD5", "_% c #D5DFE6", ":% c #D5DFE5", "<% c #CED6DC", "[% c #BAC4CB", "}% c #D3DDE4", "|% c #D1DBE2", "1% c #C4CCD2", "2% c #ADB4BB", "3% c #CDD6DD", "4% c #CAD4DA", "5% c #C5CED5", "6% c #B7C0C6", "7% c #AFB7BC", "8% c #A3ABB0", "9% c #989EA3", "0% c #8C9296", "a% c #8C9195", "b% c #868686", "c% c #A1A1A1", "d% c #DADCE5", "e% c #EAEAEC", "f% c #9E968E", "g% c #767876", "h% c #7C8893", "i% c #747D85", "j% c #89949B", "k% c #565D63", "l% c #9FB4CB", "m% c #798181", "n% c #A0B8C6", "o% c #BED6E7", "p% c #B3BEC8", "q% c #6C6971", "r% c #676F75", "s% c #7C8187", "t% c #80868F", "u% c #868F94", "v% c #6A6F73", "w% c #959AA0", "x% c #9BA4AC", "y% c #D1DBE3", "z% c #BCC3C6", "A% c #6A6871", "B% c #797E82", "C% c #B0BCC7", "D% c #C5CFD7", "E% c #BFC9CF", "F% c #AFB8BD", "G% c #9AA1A6", "H% c #8D9498", "I% c #84898D", "J% c #E6E7EA", "K% c #A19F9B", "L% c #909BA2", "M% c #7D868F", "N% c #778087", "O% c #666F77", "P% c #535D64", "Q% c #A0B8CD", "R% c #828D90", "S% c #83949F", "T% c #9DACB8", "U% c #B7BDC1", "V% c #72747A", "W% c #838C91", "X% c #82888E", "Y% c #757A7F", "Z% c #636970", "`% c #5E6265", " & c #6A7074", ".& c #7C8389", "+& c #9BA2A7", "@& c #9CA2A6", "#& c #686870", "$& c #797F83", "%& c #9FA9B2", "&& c #BAC5CC", "*& c #C0CAD0", "=& c #B8C1C8", "-& c #B0B8BE", ";& c #A6AEB3", ">& c #8E9599", ",& c #82888C", "'& c #8F908F", ")& c #E7E6E7", "!& c #E7E6E6", "~& c #D9DBE5", "{& c #E0E1E8", "]& c #ECECED", "^& c #E7EAEC", "/& c #CEDEE7", "(& c #CEDFE9", "_& c #CBDBE5", ":& c #C8DCE8", "<& c #C1D5E4", "[& c #BCD2E1", "}& c #BED6E5", "|& c #BDD4E3", "1& c #C6D3DE", "2& c #CDD7E0", "3& c #CDD7DF", "4& c #D4DFE7", "5& c #D2DCE3", "6& c #CED9E1", "7& c #CCD7DE", "8& c #CDD9E1", "9& c #CBD8DF", "0& c #C6D0D7", "a& c #B5BFC7", "b& c #BBC5CD", "c& c #BFCBD3", "d& c #C9D4DB", "e& c #C2CCD4", "f& c #C4CED6", "g& c #C0CAD1", "h& c #B9C3CA", "i& c #AFB9BF", "j& c #ACB1B3", "k& c #EBEBED", "l& c #D4E2EB", "m& c #CFE0EB", "n& c #CEE0EB", "o& c #CBDEEB", "p& c #C6DCEA", "q& c #C3DAE9", "r& c #C1D8E9", "s& c #C3D9E9", "t& c #D2E0EA", "u& c #D5E1E9", "v& c #D4E0E9", "w& c #D3DFE8", "x& c #D3DFE7", "y& c #D2DEE7", "z& c #D2DEE6", "A& c #D1DDE5", "B& c #CEDAE3", "C& c #CDD9E2", "D& c #CBD7DF", "E& c #C9D4DC", "F& c #C4CFD7", "G& c #BFCAD2", "H& c #B7C2C9", "I& c #B1BBC1", "J& c #ADB2B4", "K& c #919191", "L& c #919091", "M& c #E5E4E7", "N& c #DADCE6", "O& c #D9DCE5", "P& c #E4E4E9", "Q& c #ECEDED", "R& c #D9E5EC", "S& c #D0E1EC", "T& c #C7DCEA", "U& c #C4DBEA", "V& c #C2D9E9", "W& c #D1DFEA", "X& c #D0DCE4", "Y& c #D5E1EA", "Z& c #D3E0E9", "`& c #D3DFE9", " * c #D0DCE6", ".* c #D2DEE8", "+* c #D1DEE7", "@* c #D0DDE6", "#* c #CFDCE5", "$* c #CEDBE4", "%* c #CCD9E2", "&* c #CBD7E0", "** c #C8D4DD", "=* c #C4D0D9", "-* c #C0CBD3", ";* c #B9C4CB", ">* c #AFB9C0", ",* c #AEB4B7", "'* c #E0E1E6", ")* c #DCDEE6", "!* c #EDEDEE", "~* c #EDECEE", "{* c #E0E7EC", "]* c #CFE1EC", "^* c #CEE0EC", "/* c #CCDFEC", "(* c #C8DDEA", "_* c #C3DAEA", ":* c #C2DAEA", "<* c #CFDFEA", "[* c #CDD8E1", "}* c #898D90", "|* c #A7B1BA", "1* c #97999C", "2* c #96A3AF", "3* c #A2ABB1", "4* c #95A3B0", "5* c #A4AFB5", "6* c #A6AFB9", "7* c #878E95", "8* c #A6B3BE", "9* c #CEDBE6", "0* c #CFDCE6", "a* c #CEDBE5", "b* c #CCD9E3", "c* c #CAD7E1", "d* c #C7D4DD", "e* c #C3D0D9", "f* c #BDCAD2", "g* c #B8C3CB", "h* c #AFBAC1", "i* c #AEB3B7", "j* c #7C7C7C", "k* c #DBDDE6", "l* c #DADDE6", "m* c #E6E7EB", "n* c #EDEEEE", "o* c #ECEDEE", "p* c #E8EBED", "q* c #CDE0EC", "r* c #C9DEEC", "s* c #C6DCEC", "t* c #C3DBEB", "u* c #C2DAEB", "v* c #D5E2EC", "w* c #B7C2C8", "x* c #ACB7BE", "y* c #A6ADB3", "z* c #A1AEB9", "A* c #A6AEB5", "B* c #A0AEBC", "C* c #A8B3BA", "D* c #9BA5B0", "E* c #A0A8B1", "F* c #A6B6C0", "G* c #CFDDE7", "H* c #CEDCE7", "I* c #CCDBE5", "J* c #CBD9E4", "K* c #C9D8E1", "L* c #C6D4DD", "M* c #C2CFD9", "N* c #BECAD3", "O* c #B7C3CC", "P* c #AFBBC3", "Q* c #AFB5B9", "R* c #797979", "S* c #6F6F6F", "T* c #6C6C6C", "U* c #6A6A6A", "V* c #6E6E6E", "W* c #747474", "X* c #777777", "Y* c #7E7E7E", "Z* c #E1E2E7", "`* c #DDDFE7", " = c #D7E4ED", ".= c #CADEEC", "+= c #C7DDEC", "@= c #B2C5CF", "#= c #A1B8C8", "$= c #B7C8D6", "%= c #C2CFD8", "&= c #B7C3CD", "*= c #B8C3CE", "== c #B5C0C7", "-= c #9CA5AD", ";= c #B7C4CD", ">= c #B4C0C7", ",= c #AFBAC5", "'= c #B8C4CC", ")= c #B0BBC3", "!= c #8D979D", "~= c #B4C6CF", "{= c #B5C3CC", "]= c #B0BBC5", "^= c #A7B3BD", "/= c #C2D0DA", "(= c #B1BEC7", "_= c #A9B3BC", ":= c #B5C2CE", "<= c #C6D5DF", "[= c #C1CFDA", "}= c #BECCD5", "|= c #B8C5CD", "1= c #AFBBC4", "2= c #B0B7BB", "3= c #7F7F7F", "4= c #717171", "5= c #828282", "6= c #E7E8E8", "7= c #E5E6EB", "8= c #E3EAEE", "9= c #CEE1ED", "0= c #CDE0ED", "a= c #CBDFED", "b= c #C5DCEB", "c= c #A5B5BC", "d= c #8296A6", "e= c #87919A", "f= c #8C939A", "g= c #808591", "h= c #99A1AB", "i= c #B0BDC3", "j= c #7C7D82", "k= c #9AA3AA", "l= c #73818C", "m= c #7A828B", "n= c #80888B", "o= c #909AA3", "p= c #7F878E", "q= c #86959E", "r= c #74818A", "s= c #8B95A0", "t= c #929BA1", "u= c #A3AFB8", "v= c #8D9AA2", "w= c #7A8084", "x= c #8A949D", "y= c #C3D3E0", "z= c #C2D1DC", "A= c #BDCCD6", "B= c #B0BEC7", "C= c #B3B9BE", "D= c #7A7A7A", "E= c #898989", "F= c #979797", "G= c #E2E3E7", "H= c #DCDEE7", "I= c #EBEDEE", "J= c #D0E2ED", "K= c #CCE0ED", "L= c #C9DEED", "M= c #C6DDEC", "N= c #C4DBEB", "O= c #CBDAE6", "P= c #CDDCE6", "Q= c #CCDBE6", "R= c #D0DFEA", "S= c #CEDDE7", "T= c #CBDAE5", "U= c #CDDCE7", "V= c #CAD9E4", "W= c #CCDCE9", "X= c #CDDCE8", "Y= c #CADAE3", "Z= c #C7D6E1", "`= c #C8D8E3", " - c #C7D6E2", ".- c #C4D5E1", "+- c #B5C3CB", "@- c #AABAC5", "#- c #C5D5E1", "$- c #C3D2DE", "%- c #BDCCD7", "&- c #B8C6D0", "*- c #B2C0C9", "=- c #B6BCC1", "-- c #E0E2E8", ";- c #E4E5EA", ">- c #DEE7ED", ",- c #CADEED", "'- c #C4DCEC", ")- c #C3DBEC", "!- c #D1E1ED", "~- c #D1E1EC", "{- c #D0E0ED", "]- c #D0E0EC", "^- c #CFDFEB", "/- c #CEDEEA", "(- c #CDDEE9", "_- c #CDDDE9", ":- c #CCDDE8", "<- c #CBDCE8", "[- c #CADBE7", "}- c #C9D9E5", "|- c #C7D8E4", "1- c #C7D7E3", "2- c #C1D1DD", "3- c #BFCEDA", "4- c #BAC9D4", "5- c #B3C1CC", "6- c #B8C0C5", "7- c #A3A3A3", "8- c #E8E8EA", "9- c #DCDEE8", "0- c #DBDEE7", "a- c #DBDDE7", "b- c #EBECEE", "c- c #EEEEEF", "d- c #ECEEEF", "e- c #CFE1EE", "f- c #CCE0EE", "g- c #C6DDED", "h- c #C4DCED", "i- c #D1E1EE", "j- c #D0E1EE", "k- c #C5D5DF", "l- c #BBCAD6", "m- c #CCDBE7", "n- c #CEDFEC", "o- c #CDDEEB", "p- c #CCDEEA", "q- c #C8D8E4", "r- c #BECEDB", "s- c #C1D0DC", "t- c #C0D0DD", "u- c #BDCCD8", "v- c #CADBE8", "w- c #C8D9E6", "x- c #C7D9E6", "y- c #C6D7E3", "z- c #C3D5E1", "A- c #C0D1DE", "B- c #BDCDD9", "C- c #BACAD5", "D- c #B3C3CE", "E- c #BBC3C9", "F- c #E3E5E9", "G- c #E0E2E9", "H- c #EEEFEF", "I- c #EDEEEF", "J- c #DFE8EE", "K- c #CBE0ED", "L- c #C7DDED", "M- c #C4DBEC", "N- c #CFE1ED", "O- c #CFE0ED", "P- c #ABB5B8", "Q- c #5B666D", "R- c #6A6D71", "S- c #82939F", "T- c #788086", "U- c #77838D", "V- c #A4B4C0", "W- c #8F9BA7", "X- c #8E99A3", "Y- c #93A0AD", "Z- c #88949E", "`- c #C0D2E2", " ; c #C8DBE8", ".; c #C7DAE7", "+; c #C4D7E4", "@; c #C3D6E2", "#; c #C0D2DF", "$; c #BDCFDB", "%; c #B8CAD7", "&; c #B4C5D2", "*; c #BAC4CC", "=; c #BEC3C6", "-; c #B7BCBF", ";; c #B1B4B9", ">; c #ACAFB3", ",; c #A8ABAF", "'; c #A4A7AB", "); c #A1A5A8", "!; c #A8A9AA", "~; c #DEE0E8", "{; c #E7E8EC", "]; c #EDEDEF", "^; c #CADFED", "/; c #C8DEED", "(; c #C5DCEC", "_; c #CEE0ED", ":; c #BFCED9", "<; c #A5B5BF", "[; c #A6B8C2", "}; c #A2B1BA", "|; c #A2B2C0", "1; c #A4B1BB", "2; c #A6B6C3", "3; c #B5C6D2", "4; c #A8B5C1", "5; c #A3B3BF", "6; c #A8B7C2", "7; c #ADBDCA", "8; c #C7DAE8", "9; c #C6D9E7", "0; c #C4D7E5", "a; c #C3D6E3", "b; c #C1D4E1", "c; c #BED0DE", "d; c #B9CCD9", "e; c #B4C6D4", "f; c #AEC0CD", "g; c #A8B8C6", "h; c #A2B0BF", "i; c #9CAAB9", "j; c #98A6B4", "k; c #94A2AF", "l; c #929FAD", "m; c #919EAD", "n; c #8F9CAA", "o; c #8F9DAB", "p; c #98A2AD", "q; c #9BA4AF", "r; c #A3AAB1", "s; c #AEB2B5", "t; c #9F9FA0", "u; c #E9E9EA", "v; c #DCDFE8", "w; c #E3E9EE", "x; c #CBDEED", "y; c #CDDFED", "z; c #CCDFED", "A; c #BDCDD8", "B; c #72787D", "C; c #A3B4BE", "D; c #9DAAB1", "E; c #7B8A99", "F; c #99A9B4", "G; c #AABBC7", "H; c #B5C8D6", "I; c #858D94", "J; c #7C8A94", "K; c #7B8691", "L; c #8C99A5", "M; c #C2D7E6", "N; c #C7DBE9", "O; c #C6DAE8", "P; c #C5D9E7", "Q; c #C4D8E6", "R; c #C2D6E5", "S; c #C1D5E2", "T; c #BED1E0", "U; c #BBCEDC", "V; c #B6C9D7", "W; c #B2C4D2", "X; c #ADBFCD", "Y; c #A8B8C7", "Z; c #A3B4C3", "`; c #A0B0BE", " > c #9EADBC", ".> c #9CABBA", "+> c #9BAAB9", "@> c #9AAAB8", "#> c #9AA9B7", "$> c #99A8B7", "%> c #9AA9B8", "&> c #99A9B8", "*> c #9CABB9", "=> c #ACB5BD", "-> c #E1E3EA", ";> c #D5E4EE", ">> c #CBDEEC", ",> c #BACAD6", "'> c #838B93", ")> c #A2B2BE", "!> c #A8B7BF", "~> c #798997", "{> c #7B858C", "]> c #7D8B95", "^> c #B0C1CE", "/> c #889299", "(> c #85929D", "_> c #828F9A", ":> c #96A7B4", "<> c #C1D7E5", "[> c #C6DAE9", "}> c #C5DAE9", "|> c #C4D8E7", "1> c #C3D8E7", "2> c #BFD3E1", "3> c #BDD1E0", "4> c #B9CDDB", "5> c #B5C8D7", "6> c #B1C4D3", "7> c #AEC0D0", "8> c #ABBECC", "9> c #A9BBC9", "0> c #A7B9C7", "a> c #A5B7C5", "b> c #A3B5C4", "c> c #A3B5C3", "d> c #A2B4C3", "e> c #A3B4C4", "f> c #A2B4C4", "g> c #A2B3C3", "h> c #A1B2C2", "i> c #A9B7C3", "j> c #C7C8C9", "k> c #E3E5EA", "l> c #E6E8ED", "m> c #EFEFF0", "n> c #EEEFF0", "o> c #ECEEF0", "p> c #CAE0EE", "q> c #CADFEE", "r> c #C8DEEE", "s> c #C5DCED", "t> c #C3DCED", "u> c #C9DDEC", "v> c #C8DCEC", "w> c #C8DCEB", "x> c #C7DCEB", "y> c #C6DBEA", "z> c #C4DAE9", "A> c #C2D8E7", "B> c #C1D7E7", "C> c #C0D6E5", "D> c #BED4E3", "E> c #BCD3E1", "F> c #BBD0DF", "G> c #B8CCDC", "H> c #B6CAD9", "I> c #B4C7D7", "J> c #B2C6D4", "K> c #B0C2D2", "L> c #AEC1D0", "M> c #ADC0CF", "N> c #ABBECE", "O> c #ABBECD", "P> c #AABECD", "Q> c #A9BDCC", "R> c #A8BCCC", "S> c #A8BBCC", "T> c #A7BACB", "U> c #B5C2CC", "V> c #C9C9C9", "W> c #DFE1E9", "X> c #DDDFE9", "Y> c #EBECEF", "Z> c #E0E8EF", "`> c #C8DFEE", " , c #C9DFEE", "., c #C6DDEE", "+, c #C4DDED", "@, c #C8DDEC", "#, c #C6DCEB", "$, c #C6DBEB", "%, c #C5DBEA", "&, c #C4DAEA", "*, c #C0D6E6", "=, c #BFD5E5", "-, c #BDD3E2", ";, c #BACFE0", ">, c #B9CEDE", ",, c #B7CCDC", "', c #B5CADB", "), c #B3C8D8", "!, c #B1C7D7", "~, c #B2C7D7", "{, c #B1C6D6", "], c #B0C5D6", "^, c #B0C5D5", "/, c #AEC4D4", "(, c #AFC4D5", "_, c #AEC3D4", ":, c #ADC3D5", "<, c #ADC3D3", "[, c #ACC2D2", "}, c #DEE1EA", "|, c #EFEFF1", "1, c #EFF0F1", "2, c #EEF0F0", "3, c #D3E3EF", "4, c #C7DEEE", "5, c #C5DDED", "6, c #C8DDED", "7, c #C7DCEC", "8, c #C5DBEB", "9, c #C1D8E8", "0, c #C0D7E7", "a, c #BED5E5", "b, c #BED4E5", "c, c #BCD2E3", "d, c #BBD2E2", "e, c #BAD0E1", "f, c #B9CFE0", "g, c #B7CDDE", "h, c #B6CCDD", "i, c #B6CCDC", "j, c #B4CADC", "k, c #B3C9DB", "l, c #B2C8DA", "m, c #B1C7D9", "n, c #B1C8D8", "o, c #B1C8D9", "p, c #B2C8D9", "q, c #B2C8D7", "r, c #9A9793", "s, c #89878B", "t, c #8E8F92", "u, c #A8A8A9", "v, c #999796", "w, c #898A8C", "x, c #959494", "y, c #9DA1AA", "z, c #9F9FA5", "A, c #8B8C90", "B, c #B6B6C0", "C, c #EDEEF0", "D, c #C5DBEC", "E, c #C4DAEB", "F, c #C3DAEB", "G, c #C2D9EA", "H, c #C0D7E8", "I, c #BFD6E7", "J, c #BED5E6", "K, c #BDD5E6", "L, c #BDD3E4", "M, c #BAD2E2", "N, c #B9D1E1", "O, c #B8D0E1", "P, c #B7CEE0", "Q, c #B6CEE0", "R, c #B5CDDF", "S, c #B5CCDE", "T, c #B5CDDE", "U, c #B4CCDD", "V, c #B3CBDC", "W, c #B3CBDD", "X, c #B3CADC", "Y, c #B2CADC", "Z, c #B2C9DB", "`, c #B3CADB", " ' c #B4CBDB", ".' c #777572", "+' c #6C696C", "@' c #666365", "#' c #5A575C", "$' c #6A6869", "%' c #656369", "&' c #787879", "*' c #54565B", "=' c #646971", "-' c #7F8186", ";' c #A5A4AB", ">' c #EBEBEF", ",' c #F0F0F2", "'' c #E4EBF0", ")' c #C6DEEE", "!' c #C4DDEE", "~' c #C4DCEE", "{' c #C6DCED", "]' c #C1D9EA", "^' c #C0D8E9", "/' c #BFD7E8", "(' c #BDD5E7", "_' c #BDD4E6", ":' c #BCD4E6", "<' c #BBD2E4", "[' c #BAD1E3", "}' c #B9D1E3", "|' c #B9D0E2", "1' c #B8CFE1", "2' c #B7CFE1", "3' c #B5CCDF", "4' c #B4CBDE", "5' c #B3CBDE", "6' c #B2CADD", "7' c #B4CBDD", "8' c #B4CBDC", "9' c #DDDFDF", "0' c #E5E5E4", "a' c #E3E4E3", "b' c #DDDFE5", "c' c #D4D7E1", "d' c #D0D2DB", "e' c #E3E4E7", "f' c #EFEFF2", "g' c #EFF0F2", "h' c #DBE7F0", "i' c #C6DDEF", "j' c #C5DDEE", "k' c #C7DDEE", "l' c #C3DAEC", "m' c #C2DAEC", "n' c #C1D9EB", "o' c #C0D8EA", "p' c #BFD7E9", "q' c #BFD6E9", "r' c #BED6E8", "s' c #BBD4E6", "t' c #BBD3E6", "u' c #BAD2E5", "v' c #B9D2E4", "w' c #B9D1E4", "x' c #B8D0E4", "y' c #B7D0E3", "z' c #B7CFE3", "A' c #B6CFE2", "B' c #B5CEE1", "C' c #B4CDE0", "D' c #B3CCDF", "E' c #B2CCDF", "F' c #B1CBDE", "G' c #B2CBDE", "H' c #B3CCDE", "I' c #B4CDDE", "J' c #E0E2EB", "K' c #EEEFF1", "L' c #D2E3EF", "M' c #C5DEEF", "N' c #C6DEEF", "O' c #C5DDEF", "P' c #C4DBED", "Q' c #C2D9EB", "R' c #BFD8EA", "S' c #BED7E9", "T' c #BDD6E9", "U' c #BDD6E8", "V' c #BCD5E8", "W' c #BBD4E7", "X' c #B9D2E5", "Y' c #B8D1E4", "Z' c #B7D1E4", "`' c #B6D0E3", " ) c #B4CDE1", ".) c #B3CDE0", "+) c #B3CCE0", "@) c #B4CDDF", "#) c #B5CEDF", "$) c #B5CEDE", "%) c #F0F1F2", "&) c #CBDFEE", "*) c #C3DCEE", "=) c #C3DBED", "-) c #C1DAEB", ";) c #C0D9EB", ">) c #C0D9EA", ",) c #BED7EA", "') c #BFD9EB", ")) c #BFD8EB", "!) c #BED8EA", "~) c #BDD7E9", "{) c #BCD6E8", "]) c #BBD5E8", "^) c #BAD4E7", "/) c #B9D3E6", "() c #B8D2E5", "_) c #B5CFE2", ":) c #B4CEE2", "<) c #B4CEE1", "[) c #B6D0E1", "}) c #B7D0E1", "|) c #E6E7E6", "1) c #F0F0F0", "2) c #BBB7B7", "3) c #B4B3B5", "4) c #CFD0D1", "5) c #DAD9D5", "6) c #AEB0B1", "7) c #CAC8CB", "8) c #A6A8B2", "9) c #BFC1CB", "0) c #BBBDC7", "a) c #C8C9D3", "b) c #CECCCF", "c) c #CDCDD2", "d) c #D2D1D5", "e) c #CED0D3", "f) c #D6D5D7", "g) c #D4D3D6", "h) c #D0CFD1", "i) c #DADADC", "j) c #C2C2C5", "k) c #ABBDCE", "l) c #B3C9D9", "m) c #B2C7D9", "n) c #BBD2E1", "o) c #ABC1D2", "p) c #9AADBD", "q) c #A4B9C6", "r) c #A5B9C8", "s) c #A4B6C7", "t) c #A4BACD", "u) c #9DB0C1", "v) c #A2B3C2", "w) c #A6BCCE", "x) c #99ADBC", "y) c #A5BBCD", "z) c #98ADBE", "A) c #A4B9CD", "B) c #B2CADB", "C) c #97AABB", "D) c #A7B9C9", "E) c #9CB1C1", "F) c #A3B9CD", "G) c #A5BAC9", "H) c #A7BECE", "I) c #9FB4C5", "J) c #A1B6C5", "K) c #9EB4C7", "L) c #9FB3C3", "M) c #A2B4C2", "N) c #A2B7C8", "O) c #A9C2D6", "P) c #A0B4C3", "Q) c #A6BCCB", "R) c #A8BDCE", "S) c #97ABBC", "T) c #ADC4D6", "U) c #A2B8CA", "V) c #99ACBC", "W) c #9EB1C2", "X) c #AFC4D6", "Y) c #A5BACB", "Z) c #9EB4C6", "`) c #99AFBF", " ! c #9FB3C0", ".! c #8B9DAC", "+! c #9CB4C6", "@! c #99AEBF", "#! c #A0B6C3", "$! c #9BB2C2", "%! c #92A6B6", "&! c #95AABC", "*! c #AEC6D6", "=! c #A3B9C7", "-! c #9AAAB5", ";! c #CAC9C8", ">! c #C9CCCF", ",! c #E2E3E2", "'! c #C8C6C7", ")! c #AEACAA", "!! c #A0A5A9", "~! c #CDCBCA", "{! c #B3B5B6", "]! c #AFAEB1", "^! c #8F919D", "/! c #9EA0A9", "(! c #9898A1", "_! c #B7B7BE", ":! c #B5B3B4", "~ c #C2DBED", ",~ c #BCD3E6", "'~ c #BBD3E5", ")~ c #C1DAEC", "!~ c #BBD5E6", "~~ c #B6CFE1", "{~ c #B1CBDD", "]~ c #B7D1E3", "^~ c #B2CCDE", "/~ c #AEC7D8", "(~ c #ADC6D9", "_~ c #B7D1E5", ":~ c #B7D2E5", "<~ c #B6D0E2", "[~ c #B7D2E2", "}~ c #BAD4E6", "|~ c #BDD7E8", "1~ c #BBD5E5", "2~ c #BED7E8", "3~ c #BCD4E5", "4~ c #C1DAEA", "5~ c #C2DBEB", "6~ c #BFD9E8", "7~ c #BFD8E7", "8~ c #C0D9E9", "9~ c #C1DAE9", "0~ c #C0DAE8", "a~ c #BDD7E5", "b~ c #BBD3E2", "c~ c #B0C7D6", "d~ c #B8D0DF", "e~ c #BBD5E4", "f~ c #B5CFDE", "g~ c #BED8E8", "h~ c #BED7E7", "i~ c #B9D3E2", "j~ c #BDD6E6", "k~ c #BDD7E7", "l~ c #BCD5E4", "m~ c #C0D7E6", "n~ c #BFD2DB", "o~ c #E3E7E9", "p~ c #E6E7E7", "q~ c #E5E4E4", "r~ c #B8B4B6", "s~ c #8B8A91", "t~ c #ABACB1", "u~ c #AEACAD", "v~ c #DBDEE6", "w~ c #A09CA4", "x~ c #939199", "y~ c #A8ADB5", "z~ c #D1CFCE", "A~ c #B2B4B5", "B~ c #ACA9AB", "C~ c #A7A7AC", "D~ c #A2A4A7", "E~ c #B3B5BA", "F~ c #B7B7BA", "G~ c #CDCED2", "H~ c #A2A8AB", "I~ c #8E9DA8", "J~ c #8C9CA8", "K~ c #9CB2C3", "L~ c #7C8CA1", "M~ c #90A3B0", "N~ c #94A7B7", "O~ c #7E8B96", "P~ c #8CA0B1", "Q~ c #94A5AF", "R~ c #7A8F9F", "S~ c #8EA2B1", "T~ c #758593", "U~ c #8094A7", "V~ c #7F93A5", "W~ c #9BB1C3", "X~ c #8194A4", "Y~ c #8191A0", "Z~ c #8CA2B3", "`~ c #8699A9", " { c #7F8D9A", ".{ c #8599A7", "+{ c #8499A9", "@{ c #7C8C9C", "#{ c #8393A3", "${ c #7E8D9C", "%{ c #8A98A5", "&{ c #8B9FB0", "*{ c #A1B4C1", "={ c #9BB1BD", "-{ c #99ADBA", ";{ c #8A9AA6", ">{ c #8B99A6", ",{ c #8DA0A8", "'{ c #8E9DAA", "){ c #B2C0CB", "!{ c #9FA6AA", "~{ c #ABB9C4", "{{ c #AAB6BC", "]{ c #B9C6CF", "^{ c #A9B1B9", "/{ c #949DA5", "({ c #A1ACB1", "_{ c #888E93", ":{ c #A2AAB2", "<{ c #919AA5", "[{ c #99A3AD", "}{ c #AEB8BD", "|{ c #9B9F9F", "1{ c #A4AAB1", "2{ c #ABACAE", "3{ c #B3ACA8", "4{ c #A9AAAA", "5{ c #B2B5B7", "6{ c #C2C0C1", "7{ c #C4C4C7", "8{ c #ACAEB0", "9{ c #C4C2C2", "0{ c #C2C1C3", "a{ c #C0C0C3", "b{ c #C3C2C4", "c{ c #BFBEBF", "d{ c #C2C5CC", "e{ c #D8DBE5", "f{ c #D3D4DE", "g{ c #C2C2C9", "h{ c #B9BEC6", "i{ c #DFDDDC", "j{ c #C8C9CB", "k{ c #BBBABA", "l{ c #BCBDC1", "m{ c #C6C8CC", "n{ c #B9BABF", "o{ c #B8BABD", "p{ c #DBDADE", "q{ c #B2BCC3", "r{ c #97ACB9", "s{ c #9EB2C3", "t{ c #A1B6C9", "u{ c #A1B5C6", "v{ c #9DAFBD", "w{ c #96ACBD", "x{ c #A7BFD0", "y{ c #A7C0D0", "z{ c #98AEBE", "A{ c #92A7B8", "B{ c #899EB1", "C{ c #8FA6B8", "D{ c #9FB6C8", "E{ c #91A6B8", "F{ c #8FA2B2", "G{ c #90A7B9", "H{ c #8FA4B6", "I{ c #8FA2B1", "J{ c #8EA3B3", "K{ c #90A7B8", "L{ c #94A9B7", "M{ c #99AEBD", "N{ c #9BAEBC", "O{ c #A0B6C4", "P{ c #B3C9D7", "Q{ c #ACC1CE", "R{ c #C8D5DD", "S{ c #B2B2B5", "T{ c #BDBFC0", "U{ c #C8C7CB", "V{ c #CCC8C6", "W{ c #D4D6D7", "X{ c #D5D7D8", "Y{ c #CECECF", "Z{ c #DADCDD", "`{ c #C4C3C3", " ] c #BABABC", ".] c #CBCACB", "+] c #D8D6D6", "@] c #C3C0BE", "#] c #ACADB0", "$] c #B9B9BA", "%] c #C4C1BD", "&] c #BFC0C1", "*] c #C4C8CB", "=] c #CCCCCE", "-] c #AAABAF", ";] c #F2F2F2", ">] c #F1F1F1", ",] c #D6D3CE", "'] c #C9C9CC", ")] c #C8CBCD", "!] c #C4C4C6", "~] c #ADAAAC", "{] c #CBCBCE", "]] c #BBBCC5", "^] c #B4B6C1", "/] c #C7CAD3", "(] c #CECDCF", "_] c #C4C5C6", ":] c #DFDEE2", "<] c #CECACA", "[] c #CACCD1", "}] c #CDCCCE", "|] c #CDCACE", "1] c #C4C6C6", "2] c #B9C3CC", "3] c #ADC1D1", "4] c #9FB5C5", "5] c #94A9B9", "6] c #91A2AF", "7] c #9DB3C0", "8] c #9AB2C7", "9] c #AAC3D4", "0] c #93A9B8", "a] c #93A9B7", "b] c #95ABBB", "c] c #8B9CAA", "d] c #8BA0B1", "e] c #99AEC1", "f] c #889AAC", "g] c #8DA1B1", "h] c #A6C0D4", "i] c #90A5B5", "j] c #90A6B8", "k] c #99B1C2", "l] c #90A6B9", "m] c #98AEBF", "n] c #9EB4C5", "o] c #9FB7C6", "p] c #9EB3BF", "q] c #A2B8C4", "r] c #AEBDC6", "s] c #B3B8BE", "t] c #C3BFC0", "u] c #CCCDCF", "v] c #DBDCDF", "w] c #C3C2BF", "x] c #AFB1B5", "y] c #C9C6C6", "z] c #B5B5B8", "A] c #CECCCD", "B] c #C6C7CB", "C] c #B7B5B5", "D] c #ADADAF", "E] c #C0BEC0", "F] c #D0CECF", "G] c #D4D5D5", "H] c #C3C2C1", "I] c #CCCCCB", "J] c #BFBFC1", "K] c #D5D4D6", "L] c #C7C6C4", "M] c #CCCBCC", "N] c #C6C5C4", "O] c #AFAAA7", "P] c #B0B4B8", "Q] c #D2D3D5", "R] c #AAA8AA", "S] c #8F9192", "T] c #AAAAAD", "U] c #B2ADAA", "V] c #938E92", "W] c #A6AEB1", "X] c #A8A8AF", "Y] c #A6A2A5", "Z] c #ABAAAC", "`] c #94949E", " ^ c #9799A2", ".^ c #B7B7C0", "+^ c #9A9C9F", "@^ c #A8AAAE", "#^ c #C7C6CA", "$^ c #B4B0B0", "%^ c #CED1D7", "&^ c #B1B1B2", "*^ c #9E9B9C", "=^ c #A09DA0", "-^ c #B2B2B4", ";^ c #929CA8", ">^ c #8EA4B5", ",^ c #9BAFBF", "'^ c #8C9CA9", ")^ c #889DB2", "!^ c #7A8896", "~^ c #8293A0", "{^ c #8296A7", "]^ c #94A8B5", "^^ c #748590", "/^ c #718494", "(^ c #7F91A0", "_^ c #80909E", ":^ c #8296A5", "<^ c #778898", "[^ c #6F7D8F", "}^ c #7C8E9D", "|^ c #89A1B2", "1^ c #92A5B5", "2^ c #738599", "3^ c #879BAD", "4^ c #8396A5", "5^ c #8598A6", "6^ c #8192A0", "7^ c #8997A0", "8^ c #9AA0A1", "9^ c #A0A2A4", "0^ c #A9A9AC", "a^ c #ACA7A7", "b^ c #AAA3A1", "c^ c #ACAFB5", "d^ c #C6C8C6", "e^ c #BDBEBD", "f^ c #ACABB0", "g^ c #A2A2A6", "h^ c #A7A2A2", "i^ c #A4A6A9", "j^ c #C8C6C9", "k^ c #B9BABC", "l^ c #A6A4A5", "m^ c #B6B8B8", "n^ c #C6C4C6", "o^ c #A2A0A4", "p^ c #A9A8AA", "q^ c #B4B4B6", "r^ c #A2A3A6", "s^ c #A09D9B", "t^ c #A1A3A4", "u^ c #A5A5A7", "v^ c #BFBDBE", "w^ c #A3A3A8", "x^ c #9B9EA1", "y^ c #ABA8A8", "z^ c #B0A9A8", "A^ c #989B9F", "B^ c #9B9D9E", "C^ c #BCC0C4", "D^ c #A6A4A7", "E^ c #989798", "F^ c #C8CACB", "G^ c #E1E3E4", "H^ c #82898D", "I^ c #D4D3D3", "J^ c #E4E5E6", "K^ c #DFE0E6", "L^ c #D3D5DD", "M^ c #D3D5DE", "N^ c #D1D4DC", "O^ c #E1E3E8", "P^ c #D8D9DD", "Q^ c #E5E7E9", "R^ c #EAEAED", "S^ c #E8E9EA", "T^ c #DADCDF", "U^ c #DDDFE0", "V^ c #E4E5E7", "W^ c #E9EAEC", "X^ c #D0DDE8", "Y^ c #B7CEE3", "Z^ c #B0C7D8", "`^ c #98AEBD", " / c #9AB2C6", "./ c #A5BECE", "+/ c #91A8B9", "@/ c #A5BFD3", "#/ c #A3BDD1", "$/ c #A6BFD3", "%/ c #9BB3C6", "&/ c #A5BED1", "*/ c #A4BED2", "=/ c #9FB8CB", "-/ c #A1BBCE", ";/ c #A5BED2", ">/ c #A3BCCF", ",/ c #A5BFD1", "'/ c #A3BCCD", ")/ c #A7BFCF", "!/ c #AEC7D7", "~/ c #B5CFDD", "{/ c #E1E6E8", "]/ c #E3E2E0", "^/ c #E0E1E4", "// c #E1DFDF", "(/ c #D5D6D7", "_/ c #ECEBEC", ":/ c #CECECD", "( c #C9C2C0", ",( c #9D9FA4", "'( c #BBBDC1", ")( c #949290", "!( c #929190", "~( c #969495", "{( c #9D9C9B", "]( c #9B9FA7", "^( c #B4B6BF", "/( c #9B9B9A", "(( c #A2A0A2", "_( c #7F8087", ":( c #9F9F9E", "<( c #E3E6E6", "[( c #BAC8D9", "}( c #A3BAD2", "|( c #838A91", "1( c #A7ABB1", "2( c #DCDBDC", "3( c #E1DFE1", "4( c #DCDFE5", "5( c #CACDD7", "6( c #CFD0DA", "7( c #D9D9DD", "8( c #DDDDE1", "9( c #DBDCDE", "0( c #D9DADC", "a( c #D8D9DC", "b( c #E8E7E9", "c( c #DFDFE3", "d( c #E9EBEE", "e( c #C2CED8", "f( c #9FB1C3", "g( c #9CB0C1", "h( c #A9BFD2", "i( c #AAC1D2", "j( c #ADC6D8", "k( c #A9C3D6", "l( c #A3BAC9", "m( c #9CB6CA", "n( c #9CB5C6", "o( c #9EB6C9", "p( c #9FB9CB", "q( c #9FB9CC", "r( c #9EB6CA", "s( c #9BB4C6", "t( c #99B2C5", "u( c #9FB7C9", "v( c #A0B8C9", "w( c #A5BDCE", "x( c #C0CFD7", "y( c #DFDEDF", "z( c #F3F3F2", "A( c #D6D6D5", "B( c #DBDCDC", "C( c #DFE0E2", "D( c #DBDADA", "E( c #D6D6D7", "F( c #D6D7D7", "G( c #D9DADA", "H( c #DAD9DB", "I( c #E5E6E6", "J( c #C9C8C8", "K( c #DAD9DA", "L( c #DEDFE0", "M( c #DAD9D9", "N( c #E2E3E0", "O( c #DCDCDB", "P( c #CECDCE", "Q( c #D8DEE4", "R( c #AEC1D5", "S( c #A4BBD3", "T( c #A4BDD4", "U( c #828990", "V( c #B7B4B4", "W( c #AFAFB4", "X( c #B6B3B5", "Y( c #B2B1B0", "Z( c #B3B0B5", "`( c #A3A1AA", " _ c #BFBEC7", "._ c #AAACB3", "+_ c #ABB2BA", "@_ c #B0B0B2", "#_ c #B3B3B6", "$_ c #C8C9CD", "%_ c #ADA9AB", "&_ c #B3B1B3", "*_ c #B3B7BA", "=_ c #B1B2B5", "-_ c #A7A0A2", ";_ c #9DAAB8", ">_ c #BED6EA", ",_ c #BDD6EA", "'_ c #B3CEE2", ")_ c #B2CDE1", "!_ c #AECADE", "~_ c #AEC9DE", "{_ c #ADC9DD", "]_ c #AFCADE", "^_ c #B1CDE0", "/_ c #B4D0E2", "(_ c #B7D3E4", "__ c #E9EFF2", ":_ c #F5F5F5", "<_ c #F4F5F4", "[_ c #F3F3F3", "}_ c #E2E5E8", "|_ c #C2CFDD", "1_ c #A6BCD3", "2_ c #A6BDD4", "3_ c #A5BED5", "4_ c #A5BFD7", "5_ c #828A91", "6_ c #BDBEC1", "7_ c #ADA6A7", "8_ c #A9A8A9", "9_ c #C2C1C7", "0_ c #C7C7D0", "a_ c #C9CAD2", "b_ c #B4B5BF", "c_ c #B6BBC3", "d_ c #B1B1B4", "e_ c #C0C0C4", "f_ c #C4C2C4", "g_ c #CBCED2", "h_ c #C0C0C1", "i_ c #B8B5B9", "j_ c #ACB8C4", "k_ c #B0C7DA", "l_ c #BDD5E9", "m_ c #BCD6E9", "n_ c #BAD5E8", "o_ c #B4CFE3", "p_ c #AFCBDF", "q_ c #B0CBDF", "r_ c #B6D2E4", "s_ c #F4F5F5", "t_ c #DAE0E7", "u_ c #C3D0DE", "v_ c #A7BDD5", "w_ c #A7BED5", "x_ c #A6C0D7", "y_ c #A6C1D8", "z_ c #A6C2D8", "A_ c #838B92", "B_ c #EEEFF2", "C_ c #E2E6EF", "D_ c #E2E5EF", "E_ c #E8EAF1", "F_ c #F3F4F6", "G_ c #F3F3F6", "H_ c #F2F3F6", "I_ c #F1F3F5", "J_ c #E5EBF2", "K_ c #BBD2E8", "L_ c #BCD4E8", "M_ c #BBD5E9", "N_ c #AECADF", "O_ c #B0CCE0", "P_ c #B2CEE1", "Q_ c #B4D0E3", "R_ c #C6DBE8", "S_ c #DDE2E8", "T_ c #C9D5E1", "U_ c #B2C4D8", "V_ c #A8BED5", "W_ c #A9BFD6", "X_ c #A8C0D7", "Y_ c #A7C1D8", "Z_ c #A7C2D8", "`_ c #A7C2D9", " : c #A6C2D9", ".: c #F1F1F4", "+: c #E3E6EF", "@: c #E6E9F0", "#: c #EBEFF3", "$: c #BCD3E9", "%: c #BBD4E8", "&: c #B4CFE2", "*: c #AFCBE0", "=: c #AECBE0", "-: c #ADCADF", ";: c #B2CEE2", ">: c #C7DBE8", ",: c #F6F6F6", "': c #E4E8EC", "): c #DEE4EA", "!: c #D0DAE4", "~: c #CBD6E2", "{: c #BDCDDD", "]: c #AABFD6", "^: c #A9C0D6", "/: c #A8C1D8", "(: c #A8C2D8", "_: c #A7C3D9", ":: c #A6C3D9", "<: c #A5C2D8", "[: c #848D93", "}: c #C0BCBD", "|: c #BAB9B9", "1: c #CDCFD2", "2: c #D2D0D3", "3: c #C7CAD2", "4: c #C4C6CC", "5: c #C6C6CD", "6: c #CFD0D3", "7: c #CBCDD1", "8: c #E4E0E1", "9: c #C4C5C9", "0: c #D1D4D6", "a: c #CECFD1", "b: c #B4B4B8", "c: c #CACBCE", "d: c #A7B9CB", "e: c #ABBCCB", "f: c #91A5B7", "g: c #AAC1D1", "h: c #94AABA", "i: c #9DB6C9", "j: c #99B1C3", "k: c #9AB4C6", "l: c #92ABBF", "m: c #97AFBF", "n: c #93AABC", "o: c #95B0C6", "p: c #A3BDCF", "q: c #8EA4B7", "r: c #93ADC2", "s: c #99B2C4", "t: c #97AEBF", "u: c #9FBACD", "v: c #A8C2D5", "w: c #98B0C2", "x: c #A8B9C6", "y: c #D6D8DA", "z: c #DBD9D7", "A: c #D0D1D1", "B: c #D2D0D1", "C: c #D0D0D2", "D: c #D6D4D5", "E: c #D1D0D0", "F: c #D4D4D5", "G: c #D2D0CE", "H: c #BCBAB8", "I: c #D8D9DA", "J: c #C6CCD1", "K: c #B2C1CF", "L: c #A9B6C5", "M: c #A5B1BE", "N: c #A2AFBC", "O: c #A2AFBD", "P: c #A2AFBE", "Q: c #AEBDCC", "R: c #A1AAB3", "S: c #99A8B9", "T: c #B2C0CE", "U: c #9AA3AC", "V: c #95A2B2", "W: c #95A2B0", "X: c #8091A5", "Y: c #95A6B9", "Z: c #92A5B9", "`: c #A9BED4", " < c #AAC0D6", ".< c #AAC1D7", "+< c #A9C1D6", "@< c #A9C1D7", "#< c #A9C1D8", "$< c #A9C2D8", "%< c #A8C2D9", "&< c #A8C3D9", "*< c #A8C4DA", "=< c #A7C3DA", "-< c #A3C1D7", ";< c #CAC7C9", ">< c #B4AFAC", ",< c #9B9EA6", "'< c #B0B3B9", ")< c #ADABAF", "!< c #A6A1A3", "~< c #9C9CA8", "{< c #9698A0", "]< c #A1A1A7", "^< c #9C9FA2", "/< c #929398", "(< c #A8ABB0", "_< c #CAC3C3", ":< c #9B999B", "<< c #9CA0A1", "[< c #9FA3A8", "}< c #B0B1B5", "|< c #9D9AA0", "1< c #989A9D", "2< c #94A2B2", "3< c #7D8D9A", "4< c #758B9C", "5< c #93A6B5", "6< c #7C8B9A", "7< c #788B9B", "8< c #798797", "9< c #798A97", "0< c #748CA2", "a< c #6D7C87", "b< c #758491", "c< c #7992AC", "d< c #748292", "e< c #66788D", "f< c #6C828E", "g< c #6C7E88", "h< c #809AAD", "i< c #91A6B7", "j< c #707E8B", "k< c #7E8A98", "l< c #CACBCF", "m< c #AFABA3", "n< c #91969A", "o< c #9D9C9D", "p< c #B2AFB1", "q< c #97959B", "r< c #C0BEC1", "s< c #ACA7A4", "t< c #A3A3A5", "u< c #9C999B", "v< c #A39E98", "w< c #A7A2A1", "x< c #768796", "y< c #92A7BC", "z< c #75808E", "A< c #637280", "B< c #6A7788", "C< c #788695", "D< c #8BA0B2", "E< c #85919E", "F< c #657787", "G< c #8A9EB0", "H< c #8A9CA9", "I< c #7E909F", "J< c #768594", "K< c #657386", "L< c #728090", "M< c #748494", "N< c #A8C0D4", "O< c #AAC2D7", "P< c #AAC2D8", "Q< c #AAC3D9", "R< c #A9C3D9", "S< c #A9C4DA", "T< c #A9C4DB", "U< c #A7C4DA", "V< c #A5C2D7", "W< c #A5C1D7", "X< c #A3BFD5", "Y< c #848C93", "Z< c #F7F7F7", "`< c #E9E8E9", " [ c #DADCE4", ".[ c #D6D7E1", "+[ c #DBDCE6", "@[ c #D0D1DB", "#[ c #E4E4E8", "$[ c #E9E9EC", "%[ c #F2F2F5", "&[ c #E2E0E4", "*[ c #E9EAEF", "=[ c #D8D9DB", "-[ c #E9E9ED", ";[ c #E4E7E9", ">[ c #CBDAE7", ",[ c #B3C9DF", "'[ c #B1C9DD", ")[ c #B5CEE2", "![ c #AEC7DA", "~[ c #B0CADF", "{[ c #ACC6D9", "][ c #A3BED2", "^[ c #9BB5C8", "/[ c #A3BDD0", "([ c #ACC8DC", "_[ c #A8C5DA", ":[ c #A7C2D6", "<[ c #9FB9CE", "[[ c #AAC5DB", "}[ c #A4BED3", "|[ c #A7C2D7", "1[ c #AEC9DD", "2[ c #BBCFDD", "3[ c #E8E7E6", "4[ c #E0E1E0", "5[ c #E0E2E4", "6[ c #ECECEB", "7[ c #E0DFDF", "8[ c #EEEEED", "9[ c #EBEBEA", "0[ c #E1E1E0", "a[ c #8EA1B4", "b[ c #A5BBD0", "c[ c #A5BBCF", "d[ c #A3BBCF", "e[ c #A2B9CE", "f[ c #A3BCD0", "g[ c #A0B8CB", "h[ c #9EB5CA", "i[ c #A4BCD1", "j[ c #A3BACF", "k[ c #98AEC1", "l[ c #92A8BA", "m[ c #9CB3C6", "n[ c #A5BED3", "o[ c #A4BCD0", "p[ c #A4BDD1", "q[ c #A4BDD2", "r[ c #9FB7CB", "s[ c #9FB8CC", "t[ c #9EB8CC", "u[ c #A0BACF", "v[ c #97B1C4", "w[ c #A3BFD4", "x[ c #9AB5C8", "y[ c #9FBBD0", "z[ c #A4C0D6", "A[ c #A5A3A7", "B[ c #A6A5A9", "C[ c #B0AFB0", "D[ c #A9A9AB", "E[ c #A4A3A4", "F[ c #A5A4A1", "G[ c #9D9FA5", "H[ c #95969E", "I[ c #949098", "J[ c #888695", "K[ c #A2A2A7", "L[ c #A6A7AC", "M[ c #EAEAEE", "N[ c #C1BEBF", "O[ c #9FA2A9", "P[ c #ACA29D", "Q[ c #98979C", "R[ c #ABABB1", "S[ c #A1A2A6", "T[ c #A1AAB5", "U[ c #93A3B2", "V[ c #798798", "W[ c #90A4B7", "X[ c #92A4B1", "Y[ c #718495", "Z[ c #7E94A3", "`[ c #8BA0B3", " } c #657282", ".} c #7B8F9E", "+} c #92ACBE", "@} c #758799", "#} c #76899A", "$} c #768797", "%} c #6B7B8A", "&} c #8FA8BB", "*} c #94ABBF", "=} c #798C9E", "-} c #99B0C0", ";} c #8094A4", ">} c #83909D", ",} c #A8A1A0", "'} c #A1A3A5", ")} c #A8A7A9", "!} c #B1AFAF", "~} c #A09DA1", "{} c #AAA9AA", "]} c #A7A9AE", "^} c #E4E3E2", "/} c #A7A5A5", "(} c #B2ACAB", "_} c #9299A4", ":} c #CAC9C9", "<} c #6F7D8C", "[} c #6A7889", "}} c #90A4B4", "|} c #707D89", "1} c #758A9D", "2} c #738697", "3} c #718292", "4} c #6D7A8B", "5} c #667180", "6} c #7F94A5", "7} c #8598AC", "8} c #73838D", "9} c #849BAC", "0} c #8395A0", "a} c #6E8292", "b} c #758A9E", "c} c #7B8EA0", "d} c #748597", "e} c #6D7B87", "f} c #6D7F8F", "g} c #849BB0", "h} c #798D9C", "i} c #76899B", "j} c #5B6875", "k} c #869DB1", "l} c #71818F", "m} c #6D7D89", "n} c #849FB3", "o} c #A4C1D7", "p} c #A3C0D6", "q} c #E1E0E1", "r} c #E4E3E5", "s} c #E4E3E3", "t} c #DDDFE3", "u} c #D3D6DE", "v} c #CBCBD5", "w} c #D9DAE2", "x} c #E0E1E3", "y} c #EDEEF1", "z} c #ECEDF0", "A} c #E1E2E5", "B} c #E5E5E7", "C} c #E2E3E6", "D} c #DFDFE4", "E} c #E4E5E8", "F} c #D9DEE4", "G} c #B3C9DE", "H} c #A9BED2", "I} c #A0B6C8", "J} c #B0CADB", "K} c #A0B9CC", "L} c #AAC5D7", "M} c #AAC7DC", "N} c #A0BACC", "O} c #9FB9CD", "P} c #879CAF", "Q} c #9DB6CB", "R} c #A1BCD0", "S} c #A4C0D5", "T} c #A9C3D7", "U} c #B6CBD9", "V} c #D0CDCC", "W} c #D9DBDC", "X} c #E5E4E5", "Y} c #F0F0EF", "Z} c #EDEAE9", "`} c #DBDDDF", " | c #9CB1C5", ".| c #97AEC1", "+| c #A5C0D5", "@| c #9AB3C7", "#| c #9EB9CE", "$| c #94AEC0", "%| c #8EA6B9", "&| c #98B1C6", "*| c #96B0C4", "=| c #9FBAD0", "-| c #A2BCD2", ";| c #96AEC3", ">| c #9AB4C8", ",| c #9DB8CC", "'| c #8FA7B8", ")| c #99B5CB", "!| c #9CB8CD", "~| c #98B2C6", "{| c #97B0C6", "]| c #9EB9D0", "^| c #A2BDD2", "/| c #9BB7CC", "(| c #93ACC0", "_| c #9DB8CE", ":| c #99B3C8", "<| c #95AFC2", "[| c #9DB9CE", "}| c #A2C0D7", "|| c #B4B0AE", "1| c #AAAAAE", "2| c #BDBEBF", "3| c #AAA5A6", "4| c #B3B2BC", "5| c #AEB2BD", "6| c #E1E3EB", "7| c #BCB9BF", "8| c #C9CDD4", "9| c #B5B6B9", "0| c #B5B0B1", "a| c #B8BBBE", "b| c #D7D7DB", "c| c #B8B8BC", "d| c #D8DBDE", "e| c #97A4B2", "f| c #8D9CAD", "g| c #8B9CB2", "h| c #899CAA", "i| c #8596A4", "j| c #8599AC", "k| c #8DA4B8", "l| c #869BB1", "m| c #7F92A6", "n| c #889DB1", "o| c #7D8E9C", "p| c #849AAD", "q| c #859AAC", "r| c #8CA2B4", "s| c #899FB3", "t| c #8397A8", "u| c #8599A6", "v| c #859BAE", "w| c #8E9CA9", "x| c #CCCECE", "y| c #BEBFC1", "z| c #D4D4D2", "A| c #BBBAB8", "B| c #BFBEC0", "C| c #B3AFB1", "D| c #C5C3C2", "E| c #B8B7B9", "F| c #BEC3C9", "G| c #F3F4F4", "H| c #ACC4DA", "I| c #ACC5DC", "J| c #ACC7DE", "K| c #ACC9DF", "L| c #ACC9E0", "M| c #ABC9DF", "N| c #ABC8DF", "O| c #AAC8DE", "P| c #AAC7DE", "Q| c #A9C7DD", "R| c #A9C6DD", "S| c #A7C4DB", "T| c #A6C4DA", "U| c #A5C3DA", "V| c #A5C2D9", "W| c #A4C2D9", "X| c #A4C1D8", "Y| c #A3C1D8", "Z| c #BDBABD", "`| c #BDBBB9", " 1 c #B6B9BC", ".1 c #B9B8BC", "+1 c #BEBDC0", "@1 c #B7B7B9", "#1 c #B6B2B3", "$1 c #AEAEB7", "%1 c #ADB0B9", "&1 c #CECFD8", "*1 c #B7B5BE", "=1 c #C6C8D0", "-1 c #CBC9CA", ";1 c #B2B2B6", ">1 c #B1ADB2", ",1 c #D4D3D7", "'1 c #B6B6BB", ")1 c #DDE0E5", "!1 c #A1ABB5", "~1 c #8592A1", "{1 c #8899B0", "]1 c #8B9FAF", "^1 c #8493A2", "/1 c #8599AD", "(1 c #8DA3B6", "_1 c #9AB0C1", ":1 c #8FA7BA", "<1 c #899FB2", "[1 c #869CAF", "}1 c #8195A4", "|1 c #98B2C7", "11 c #8498AB", "21 c #839AAC", "31 c #849CAF", "41 c #8E9DAB", "51 c #B4BCC2", "61 c #C4C9CF", "71 c #B0B6BC", "81 c #C6CBCE", "91 c #A2A7AA", "01 c #AEB2B8", "a1 c #ACAEB5", "b1 c #B3B6BA", "c1 c #ACAFB4", "d1 c #A5AEB8", "e1 c #D3D9DE", "f1 c #E3E9EF", "g1 c #ACC4DB", "h1 c #ADC7DD", "i1 c #ACC8DF", "j1 c #ACCAE0", "k1 c #A8C6DD", "l1 c #A8C5DC", "m1 c #A6C4DB", "n1 c #E9EBF2", "o1 c #E5E7F1", "p1 c #EFF1F5", "q1 c #F4F5F8", "r1 c #F3F4F7", "s1 c #F1F3F6", "t1 c #E6EBF2", "u1 c #B7CDE4", "v1 c #B7CFE5", "w1 c #B9D2E7", "x1 c #B8D3E7", "y1 c #B6D1E5", "z1 c #B5CFE4", "A1 c #B3CFE3", "B1 c #B0CDE3", "C1 c #AFCDE3", "D1 c #AFCCE3", "E1 c #AFCCE2", "F1 c #AECBE2", "G1 c #AECAE1", "H1 c #ADC9E0", "I1 c #ADC8DF", "J1 c #ACC6DC", "K1 c #ACC6DD", "L1 c #ACC8DE", "M1 c #ADCAE1", "N1 c #ABC9E0", "O1 c #AAC8DF", "P1 c #A9C7DE", "Q1 c #A8C5DD", "R1 c #A7C4DC", "S1 c #A4C2DA", "T1 c #A4C1D9", "U1 c #F8F8F8", "V1 c #EEF0F4", "W1 c #EBEDF3", "X1 c #F4F5F7", "Y1 c #F3F5F7", "Z1 c #F2F3F7", "`1 c #C2D3E7", " 2 c #B8D0E6", ".2 c #B8D2E7", "+2 c #B7D2E6", "@2 c #B4D0E4", "#2 c #B2CEE4", "$2 c #B0CDE4", "%2 c #B2CFE5", "&2 c #B3D0E6", "*2 c #B4D1E6", "=2 c #B5D2E6", "-2 c #C5DAEA", ";2 c #B5D0E5", ">2 c #AECCE2", ",2 c #ACCAE1", "'2 c #A7C5DD", ")2 c #A7C5DC", "!2 c #A5C3DB", "~2 c #858E94", "{2 c #E6E9F1", "]2 c #F2F4F7", "^2 c #EFF2F6", "/2 c #D7E1ED", "(2 c #B6CBE3", "_2 c #B7CEE4", ":2 c #B8D1E7", "<2 c #B3CFE4", "[2 c #B0CEE4", "}2 c #B3D1E7", "|2 c #B7D4E8", "12 c #BAD7E9", "22 c #BBD8EA", "32 c #D3E4EF", "42 c #EBF1F5", "52 c #EAEFF4", "62 c #CDDFEC", "72 c #ADCBE2", "82 c #ADCBE1", "92 c #ACCBE1", "02 c #ABCAE1", "a2 c #ABC9E1", "b2 c #AAC9E0", "c2 c #A8C6DE", "d2 c #A4C3DA", "e2 c #858E96", "f2 c #C2BEBF", "g2 c #BBBABC", "h2 c #E3E1DD", "i2 c #B5B7B8", "j2 c #D4D2D3", "k2 c #B9B9BC", "l2 c #D4D5D6", "m2 c #C3C4CD", "n2 c #CACBD7", "o2 c #C4C4CD", "p2 c #C3C5D0", "q2 c #D1D1D7", "r2 c #D0D3D6", "s2 c #D8D8DC", "t2 c #D6D6DA", "u2 c #D3D3D5", "v2 c #C5C5C9", "w2 c #D2D2D6", "x2 c #D5D7DF", "y2 c #AFC2D7", "z2 c #9EB3C8", "A2 c #91A4B6", "B2 c #98ACBF", "C2 c #99B2C6", "D2 c #90A7BB", "E2 c #95AABD", "F2 c #99B2C8", "G2 c #8DA4B7", "H2 c #99B2C7", "I2 c #8CA5BA", "J2 c #97B1C7", "K2 c #A6C1D6", "L2 c #8EA6B8", "M2 c #A1B7C7", "N2 c #A7BECF", "O2 c #CBD0D3", "P2 c #D6D5D3", "Q2 c #D1D1D0", "R2 c #CDCED1", "S2 c #CDCCCD", "T2 c #D2CECC", "U2 c #D2D1D3", "V2 c #DBDEE2", "W2 c #E5ECF2", "X2 c #97B2C5", "Y2 c #89A2B6", "Z2 c #9CB9CF", "`2 c #94ADC4", " 3 c #8CA2B7", ".3 c #90A8BD", "+3 c #A1BAD0", "@3 c #98B1C7", "#3 c #92ACC2", "$3 c #8DA7BB", "%3 c #92ABBD", "&3 c #8097A9", "*3 c #91ACC2", "=3 c #8EA6BC", "-3 c #95AEC0", ";3 c #90ABC0", ">3 c #879FB5", ",3 c #8AA5BB", "'3 c #A1BDD4", ")3 c #9CB6CC", "!3 c #9FBBD1", "~3 c #A6C5DC", "{3 c #A6C4DC", "]3 c #F5F6F5", "^3 c #CFCCCD", "/3 c #B5B2B0", "(3 c #A6ABAF", "_3 c #D5D3D1", ":3 c #BABCBD", "<3 c #A2A2A8", "[3 c #B7B8C1", "}3 c #ACACB3", "|3 c #9598A4", "13 c #948F94", "23 c #99989D", "33 c #ACAAAD", "43 c #928B91", "53 c #979697", "63 c #CCCED1", "73 c #9D999E", "83 c #B7BBBF", "93 c #B6B4BB", "03 c #ACBACA", "a3 c #7C8B9F", "b3 c #7D8D9D", "c3 c #8294A3", "d3 c #7D8F9D", "e3 c #747F8C", "f3 c #8098AE", "g3 c #798A9B", "h3 c #758496", "i3 c #96B1C9", "j3 c #7E92A3", "k3 c #7A8EA1", "l3 c #778A9D", "m3 c #95AFC4", "n3 c #7F93A4", "o3 c #8899A7", "p3 c #A2A7B1", "q3 c #BAB4B3", "r3 c #B1B0AE", "s3 c #A09F9E", "t3 c #B6B2AF", "u3 c #A1A2A8", "v3 c #9F9FA4", "w3 c #B5AFAF", "x3 c #AEACAB", "y3 c #D6D8DC", "z3 c #A9ADB0", "A3 c #7C8C9A", "B3 c #75889A", "C3 c #7D94A9", "D3 c #8EA6BA", "E3 c #788EA3", "F3 c #8CA3B7", "G3 c #879DB0", "H3 c #8FA6B9", "I3 c #7F94A6", "J3 c #768B9E", "K3 c #778B9C", "L3 c #8497A8", "M3 c #778BA0", "N3 c #758B9E", "O3 c #6E8092", "P3 c #768997", "Q3 c #8199AF", "R3 c #859CB0", "S3 c #738899", "T3 c #97B3CA", "U3 c #91ABBF", "V3 c #8BA4BA", "W3 c #98B3C9", "X3 c #A7C5DE", "Y3 c #A6C5DD", "Z3 c #868F95", "`3 c #F8F7F6", " 4 c #EAE9E9", ".4 c #E9EAEE", "+4 c #E5E8F1", "@4 c #E4E7F0", "#4 c #DDDDE2", "$4 c #DFDDE0", "%4 c #DDDEE3", "&4 c #F1F2F6", "*4 c #E8E9EE", "=4 c #DFE4EA", "-4 c #B6C9E2", ";4 c #B1C8DF", ">4 c #B3CBE2", ",4 c #B7D1E6", "'4 c #B0CADD", ")4 c #ABC5D9", "!4 c #B1CCE0", "~4 c #B0CEE5", "{4 c #A7C4D8", "]4 c #A5C3D9", "^4 c #B6D4E9", "/4 c #BAD7EB", "(4 c #D7E6F0", "_4 c #F4F4F3", ":4 c #F6F7F7", "<4 c #F2F3F4", "[4 c #D7E1EC", "}4 c #ACC8E0", "|4 c #9CB9CE", "14 c #A8C7DE", "24 c #A3C0D7", "34 c #ACCAE2", "44 c #ABCAE2", "54 c #AAC8E0", "64 c #AAC9E1", "74 c #A9C8E0", "84 c #A9C9E0", "94 c #A9C7DF", "04 c #A8C6DF", "a4 c #859096", "b4 c #BEBABC", "c4 c #908F96", "d4 c #B1B2B7", "e4 c #B4B2B3", "f4 c #BEC0C1", "g4 c #F2F3F2", "h4 c #B1ABAC", "i4 c #A29FA0", "j4 c #A9AEB8", "k4 c #C6C7CC", "l4 c #AAADB4", "m4 c #A4A3A9", "n4 c #A5A7AF", "o4 c #A4A7AA", "p4 c #B5B8BE", "q4 c #B9BABE", "r4 c #D0D1D5", "s4 c #B1B1B0", "t4 c #AFADAF", "u4 c #C1C3CB", "v4 c #9A9CA6", "w4 c #99A2AF", "x4 c #8C9CB0", "y4 c #798592", "z4 c #889DAF", "A4 c #92A4AF", "B4 c #788E9F", "C4 c #8CA2B1", "D4 c #728494", "E4 c #7D93A9", "F4 c #7B91A6", "G4 c #96B0C6", "H4 c #7E94A6", "I4 c #7E91A3", "J4 c #8CA4B8", "K4 c #889EAF", "L4 c #8393A0", "M4 c #AEB3B5", "N4 c #B6B9BA", "O4 c #A9A7A9", "P4 c #B0ADB1", "Q4 c #A8A5A8", "R4 c #B6B0B0", "S4 c #B4B7BC", "T4 c #D0CDCD", "U4 c #C6C8C8", "V4 c #C3C3C4", "W4 c #B0ACAE", "X4 c #B2B3B0", "Y4 c #D3D2D3", "Z4 c #89A2B9", "`4 c #88A1B2", " 5 c #95AFC7", ".5 c #778B9E", "+5 c #8299AA", "@5 c #6D7F8E", "#5 c #90AEC7", "$5 c #8398AC", "%5 c #758B9F", "&5 c #7C92A7", "*5 c #8DA6B7", "=5 c #798B99", "-5 c #7E95AA", ";5 c #7E94A8", ">5 c #7C94A4", ",5 c #859FB3", "'5 c #91ABC0", ")5 c #96B2C9", "!5 c #A8C7E0", "~5 c #A7C6DE", "{5 c #F9F9F9", "]5 c #CBC9C9", "^5 c #C9C7CA", "/5 c #C6C6C9", "(5 c #C9C8CA", "_5 c #C5C4C5", ":5 c #D0D3D5", "<5 c #EFF0F0", "[5 c #D7D5D3", "}5 c #BEC2CA", "|5 c #D4D4DA", "15 c #BEC1C9", "25 c #B2B2B8", "35 c #C8CCD0", "45 c #BCBDC3", "55 c #C6C8CA", "65 c #C0C1C3", "75 c #C6C6CB", "85 c #E0E2E7", "95 c #C9CBD2", "05 c #C3C6CD", "a5 c #A6B7CE", "b5 c #99A7B9", "c5 c #94A9BC", "d5 c #A7BFD3", "e5 c #A8C1D3", "f5 c #98AFC0", "g5 c #94AABC", "h5 c #8AA0B5", "i5 c #8DA7BC", "j5 c #9DB8CD", "k5 c #8FA7BD", "l5 c #93ACBF", "m5 c #93AABD", "n5 c #95AAB9", "o5 c #CACBCD", "p5 c #CCCBCA", "q5 c #C7C5C8", "r5 c #CBCACD", "s5 c #CBC8C9", "t5 c #D4D7D9", "u5 c #BBB9BA", "v5 c #C2C3C4", "w5 c #CECDD1", "x5 c #A3B0BD", "y5 c #98B2C8", "z5 c #94ADC2", "A5 c #99B6CC", "B5 c #AAC7E0", "C5 c #9BB6CC", "D5 c #95AEC4", "E5 c #95ADC0", "F5 c #9EBCD3", "G5 c #869EB3", "H5 c #92ABC2", "I5 c #9CB6CD", "J5 c #8EA4B6", "K5 c #8FA6B6", "L5 c #8CA6BA", "M5 c #91AEC5", "N5 c #99B5C9", "O5 c #9BB7CE", "P5 c #A7C6DF", "Q5 c #A6C5DE", "R5 c #888F99", "S5 c #DDDAD5", "T5 c #D0D0D3", "U5 c #CFD2D4", "V5 c #CAC9CB", "W5 c #DAD8D7", "X5 c #D0CED0", "Y5 c #C8C8CB", "Z5 c #DCDDDE", "`5 c #D6D4D4", " 6 c #BBBDC4", ".6 c #D3D5DF", "+6 c #C3C2C7", "@6 c #C0C4CE", "#6 c #C9C9CD", "$6 c #CFCFD2", "%6 c #CFCDD2", "&6 c #CFD0D4", "*6 c #DBDCE1", "=6 c #DAD8DC", "-6 c #C9CBCE", ";6 c #BABDC2", ">6 c #B7B6B8", ",6 c #AFB9C3", "'6 c #96A9C3", ")6 c #AABED3", "!6 c #96AABC", "~6 c #97ABBB", "{6 c #8C9EAD", "]6 c #879CB1", "^6 c #8BA2B5", "/6 c #91A8BB", "(6 c #91AABF", "_6 c #9BB6CA", ":6 c #D8D8D9", "<6 c #D6D8D8", "[6 c #D1D0CF", "}6 c #D5D4D2", "|6 c #C2C2C4", "16 c #C7C3C3", "26 c #D1D2D3", "36 c #C7C6C3", "46 c #CECBCB", "56 c #BABABD", "66 c #A4B3C3", "76 c #8EA5BB", "86 c #ACC9E1", "96 c #7C92A5", "06 c #8AA2B6", "a6 c #9CB7CD", "b6 c #9CBACF", "c6 c #96AFC6", "d6 c #98B5CA", "e6 c #8FA9BE", "f6 c #8DA6B8", "g6 c #93AEC1", "h6 c #89A3B8", "i6 c #9AB6CD", "j6 c #85A1B7", "k6 c #91ABBE", "l6 c #95B0C4", "m6 c #8EA5B6", "n6 c #95B3CA", "o6 c #A0BED4", "p6 c #A9C8E1", "q6 c #B7B2AF", "r6 c #979296", "s6 c #ACB4B7", "t6 c #AEAEB5", "u6 c #ACA7AB", "v6 c #B9B7B4", "w6 c #A5A2A7", "x6 c #A8A8AB", "y6 c #A3A5A4", "z6 c #A5A8AE", "A6 c #BDBEC7", "B6 c #ABA8AE", "C6 c #C4C8D5", "D6 c #ACABB1", "E6 c #9F9C9F", "F6 c #A19EA2", "G6 c #B5B4B8", "H6 c #A7A8AF", "I6 c #B5BAC0", "J6 c #C5C6C9", "K6 c #B2B0B2", "L6 c #AEB1BC", "M6 c #9D9BA0", "N6 c #A7A8AB", "O6 c #8592A7", "P6 c #94A3B4", "Q6 c #8394A4", "R6 c #8494A3", "S6 c #879AAA", "T6 c #798C9D", "U6 c #718196", "V6 c #7E92A5", "W6 c #8BA6BB", "X6 c #95ABBE", "Y6 c #768BA0", "Z6 c #8AA1B5", "`6 c #B1AEAF", " 7 c #B4B4B7", ".7 c #ABAAAD", "+7 c #B1AEAC", "@7 c #AAAAA8", "#7 c #A4A6A8", "$7 c #ADADB0", "%7 c #B0ABAA", "&7 c #ADA6A4", "*7 c #CBCDCB", "=7 c #B0AFB4", "-7 c #A6A6AA", ";7 c #7B8796", ">7 c #75899C", ",7 c #A6C3DB", "'7 c #8FA6BD", ")7 c #859EB2", "!7 c #829CAE", "~7 c #74879C", "{7 c #798EA2", "]7 c #8299AD", "^7 c #738693", "/7 c #738B9D", "(7 c #778D9F", "_7 c #89A1B6", ":7 c #768CA2", "<7 c #788B9A", "[7 c #7990A5", "}7 c #89A1B5", "|7 c #94ACC0", "17 c #97B5CB", "27 c #A0BFD6", "37 c #A9C7E0", "47 c #A9C9E2", "57 c #889199", "67 c #EAEBEC", "77 c #EDECEC", "87 c #E9E8E8", "97 c #DBDBE0", "07 c #DADDE7", "a7 c #E0E1EB", "b7 c #CFD3DC", "c7 c #DCDFE2", "d7 c #ECEDF1", "e7 c #EDEEF2", "f7 c #E9EBF0", "g7 c #EBEDF1", "h7 c #E7E7E9", "i7 c #E5E6E8", "j7 c #BDC6D2", "k7 c #A7BACF", "l7 c #95A7BC", "m7 c #ACC3DA", "n7 c #AAC4D9", "o7 c #ACC7DB", "p7 c #A1BBCF", "q7 c #ABC6D9", "r7 c #AAC6DC", "s7 c #A9C6DE", "t7 c #A8C4DB", "u7 c #A8C5DB", "v7 c #E6E5E6", "w7 c #E8E7E5", "x7 c #E5E6E9", "y7 c #E6E4E4", "z7 c #F1F0F1", "A7 c #D2D2D1", "B7 c #D8DFE6", "C7 c #A8C1D9", "D7 c #9FBBD4", "E7 c #99B3C9", "F7 c #9CBAD2", "G7 c #9AB7CE", "H7 c #9AB8CF", "I7 c #A2C1DA", "J7 c #A3C2DB", "K7 c #A5C4DC", "L7 c #A5C4DB", "M7 c #A8C8E0", "N7 c #A9C9E1", "O7 c #AACAE3", "P7 c #AAC9E2", "Q7 c #A8C7E1", "R7 c #A7C7E0", "S7 c #A1A1A2", "T7 c #A59F9D", "U7 c #979399", "V7 c #A4A5A8", "W7 c #969699", "X7 c #BBBDBD", "Y7 c #979597", "Z7 c #8F8D92", "`7 c #989495", " 8 c #93939B", ".8 c #939399", "+8 c #9E9C9F", "@8 c #94969D", "#8 c #999AA5", "$8 c #AAA9B0", "%8 c #9F9BA0", "&8 c #C8CDCF", "*8 c #98999F", "=8 c #8A8C91", "-8 c #939396", ";8 c #938D8F", ">8 c #B4B5BA", ",8 c #B6BABD", "'8 c #9DA0A3", ")8 c #7C8393", "!8 c #6B788A", "~8 c #727A89", "{8 c #738598", "]8 c #8FA3B7", "^8 c #737E8B", "/8 c #758795", "(8 c #6E8193", "_8 c #748693", ":8 c #7C909C", "<8 c #637382", "[8 c #717F8C", "}8 c #616F86", "|8 c #95959C", "18 c #A9A39D", "28 c #B4BBC0", "38 c #A9A4AA", "48 c #9D9997", "58 c #A2A1A5", "68 c #BEBCBF", "78 c #A0A0A5", "88 c #ABB0B7", "98 c #959596", "08 c #8E8D95", "a8 c #778390", "b8 c #97ADC6", "c8 c #72808A", "d8 c #687C8F", "e8 c #6B7D91", "f8 c #677789", "g8 c #87A0BA", "h8 c #6D8091", "i8 c #798F9E", "j8 c #88A0B5", "k8 c #607382", "l8 c #667785", "m8 c #6B7F97", "n8 c #90A5B8", "o8 c #71879C", "p8 c #87A2BA", "q8 c #677A8D", "r8 c #728594", "s8 c #7B91A3", "t8 c #8DA6BA", "u8 c #9DBAD1", "v8 c #A7C5DF", "w8 c #AAC9E3", "x8 c #ABCAE4", "y8 c #A9C8E2", "z8 c #E2E1E1", "A8 c #EAECEC", "B8 c #E4E3E4", "C8 c #E3E2E4", "D8 c #DCDDE0", "E8 c #CFD0D9", "F8 c #CECFD9", "G8 c #D4D6E1", "H8 c #DCDCE6", "I8 c #DDDDE5", "J8 c #ECEEF1", "K8 c #DADCE0", "L8 c #CBCACE", "M8 c #C7C8CB", "N8 c #D9D9DF", "O8 c #DCDCE1", "P8 c #E4E6E9", "Q8 c #E3E7EA", "R8 c #D2D8DF", "S8 c #A7B6C9", "T8 c #A2B3C9", "U8 c #A4B9CE", "V8 c #A4BBCF", "W8 c #A0B9CD", "X8 c #A2BFD4", "Y8 c #A0BBD2", "Z8 c #9FBACF", "`8 c #9AB4CC", " 9 c #A2B9CF", ".9 c #D2D9DD", "+9 c #EAE9EA", "@9 c #E4E4E7", "#9 c #F7F7F6", "$9 c #A9BBCC", "%9 c #98ADC2", "&9 c #A8C3DB", "*9 c #9DB7CD", "=9 c #9FBCD5", "-9 c #9CB8CF", ";9 c #99B5CC", ">9 c #A4C3DB", ",9 c #A0BED6", "'9 c #A2BFD8", ")9 c #A3C0D8", "!9 c #98B6CC", "~9 c #9CB9D0", "{9 c #9CB9D1", "]9 c #9BB8D0", "^9 c #94AEC4", "/9 c #95B1C7", "(9 c #ABCBE4", "_9 c #A9C9E3", ":9 c #A8C8E2", "<9 c #889399", "[9 c #BBB8B8", "}9 c #B3B3B8", "|9 c #BAB7B9", "19 c #B6B5B4", "29 c #BDBABB", "39 c #B4AFB1", "49 c #D2CFCF", "59 c #B6BBBF", "69 c #B5B4B4", "79 c #C3C5CD", "89 c #A4A1A9", "99 c #AAA9B1", "09 c #AAAFB8", "a9 c #A9A2A4", "b9 c #AEB5BE", "c9 c #EFF1F4", "d9 c #F3F4F8", "e9 c #F2F4F8", "f9 c #F2F3F8", "g9 c #F1F3F7", "h9 c #F0F3F7", "i9 c #EFF1F6", "j9 c #E2E8F1", "k9 c #B3C5DD", "l9 c #B2C6DE", "m9 c #B3CAE2", "n9 c #B4CEE4", "o9 c #B5CFE5", "p9 c #B2CFE4", "q9 c #B0CFE7", "r9 c #AFCEE7", "s9 c #AFCDE6", "t9 c #AFCCE5", "u9 c #AFCAE3", "v9 c #CCDCEB", "w9 c #EAEFF5", "x9 c #EAEEF3", "y9 c #D1DDEA", "z9 c #ADC4DD", "A9 c #AEC6DE", "B9 c #AEC8E1", "C9 c #AECAE3", "D9 c #AECCE5", "E9 c #ADCCE5", "F9 c #ADCDE6", "G9 c #ADCCE6", "H9 c #ACCCE5", "I9 c #ACCBE5", "J9 c #C9C7C7", "K9 c #C2C3C6", "L9 c #AEADAE", "M9 c #DFE0E1", "N9 c #CDCBCD", "O9 c #DDDADA", "P9 c #C6C5C7", "Q9 c #C1C6C9", "R9 c #B6B5B7", "S9 c #D9D9DE", "T9 c #C4C4CC", "U9 c #BAB9C1", "V9 c #C0C5CF", "W9 c #B6B8BF", "X9 c #B4B2B9", "Y9 c #BDC2CA", "Z9 c #F0F2F6", "`9 c #EEF1F6", " 0 c #D6DFEC", ".0 c #B1C3DC", "+0 c #B4CFE5", "@0 c #AFCEE6", "#0 c #AFCBE4", "$0 c #AFC9E2", "%0 c #AFC8E1", "&0 c #AFC7E0", "*0 c #C2D4E6", "=0 c #C1D3E5", "-0 c #B2C8DF", ";0 c #ADC5DE", ">0 c #AEC5DE", ",0 c #AEC7E0", "'0 c #AECBE5", ")0 c #AECCE6", "!0 c #AECDE6", "~0 c #AECDE7", "{0 c #AACAE4", "]0 c #F0F1F6", "^0 c #E6E8F2", "/0 c #E6E9F2", "(0 c #EDF0F6", "_0 c #CFDAE9", ":0 c #B1C6DE", "<0 c #B3CAE1", "[0 c #B4CDE4", "}0 c #B4CFE4", "|0 c #B3CEE4", "10 c #B3CFE5", "20 c #B0CEE7", "30 c #AFCDE7", "40 c #AFCCE6", "50 c #AEC9E2", "60 c #AEC8E2", "70 c #AECBE4", "80 c #ABCBE5", "90 c #8A999C", "00 c #E9EBF3", "a0 c #E9EBF4", "b0 c #F1F2F7", "c0 c #ECF0F5", "d0 c #C9D5E6", "e0 c #B0C3DC", "f0 c #B1C5DE", "g0 c #B3C9E1", "h0 c #B3CDE3", "i0 c #B3CEE3", "j0 c #AFCEE8", "k0 c #AFCAE4", "l0 c #ACCCE6", "m0 c #ACCBE6", "n0 c #ABCBE6", "o0 c #C4C0C1", "p0 c #BEBDBD", "q0 c #D1D3D7", "r0 c #D2D2D3", "s0 c #D8D6D8", "t0 c #DDDCDE", "u0 c #D8D7D6", "v0 c #D5D5D6", "w0 c #EBE6E4", "x0 c #D1D4D7", "y0 c #C4C5CE", "z0 c #ABADB6", "A0 c #C2C4CC", "B0 c #CED1D6", "C0 c #DEDADA", "D0 c #BDBDC3", "E0 c #D5D8DD", "F0 c #E2E1E3", "G0 c #D4D4D8", "H0 c #CACDD2", "I0 c #CFD1D3", "J0 c #C7C9CE", "K0 c #A8B6CA", "L0 c #A5B5CC", "M0 c #91A0B5", "N0 c #97ACC3", "O0 c #9BB2C3", "P0 c #A1BBD0", "Q0 c #A8C2D7", "R0 c #97AFC3", "S0 c #96AFC5", "T0 c #99B6CF", "U0 c #9CB6CB", "V0 c #94AFC5", "W0 c #9AB4CA", "X0 c #96AEC5", "Y0 c #95AEC6", "Z0 c #96AFC2", "`0 c #879DAF", " a c #9AB7CF", ".a c #96B3CA", "+a c #A2C1D8", "@a c #97B2C6", "#a c #95AFC5", "$a c #9EBBD4", "%a c #92A8BB", "&a c #8AA7C1", "*a c #A1BFD7", "=a c #8BA2B3", "-a c #88A2B9", ";a c #8FA8BC", ">a c #829BB3", ",a c #94B0C8", "'a c #ABCAE5", ")a c #ABCCE6", "!a c #ABCCE5", "~a c #AACBE5", "{a c #8B959B", "]a c #CDCACC", "^a c #B7B1AF", "/a c #9EA1A9", "(a c #B2B6BC", "_a c #A9A4A6", ":a c #ABAAAF", "b c #E0E1E5", ",b c #E6E8EF", "'b c #E1E5EA", ")b c #BAC4D1", "!b c #9FB1C9", "~b c #AABED6", "{b c #A6B9D1", "]b c #A9C0D7", "^b c #AFC8DE", "/b c #A8C3D7", "(b c #A7C0D3", "_b c #A0BDD4", ":b c #9FBBD2", "c c #879EB4", ",c c #66778D", "'c c #758895", ")c c #86A0B5", "!c c #869AA8", "~c c #6F859A", "{c c #768EA6", "]c c #7B93A8", "^c c #75899F", "/c c #6E8397", "(c c #869FBA", "_c c #7C93A6", ":c c #798FA5", "d c #B1AFB7", ",d c #ADAEBC", "'d c #AFAFB5", ")d c #B1AEB1", "!d c #B2B3BC", "~d c #BEC0C9", "{d c #B8B9C2", "]d c #AFAEB5", "^d c #BABBC2", "/d c #ABA9AA", "(d c #D2D5D8", "_d c #B5B6BD", ":d c #B5B5BC", "e c #F8F8F9", ",e c #EAECF4", "'e c #E7E9F3", ")e c #EDEFF6", "!e c #F1F3F8", "~e c #F0F2F7", "{e c #EFF2F7", "]e c #EEF1F7", "^e c #ECF0F6", "/e c #E6EBF3", "(e c #C5D2E5", "_e c #B0C2DC", ":e c #B0C3DB", "f c #DEE5F0", ",f c #C7D3E5", "'f c #B4C5DD", ")f c #AFC1DB", "!f c #AEC3DB", "~f c #AFC5DD", "{f c #AFC6DE", "]f c #AFC8DF", "^f c #AFC9E0", "/f c #AEC9E0", "(f c #AEC9DF", "_f c #AEC8DF", ":f c #AEC7DF", "g c #FDFDFC", ",g c #FDFCFC", "'g c #FDFCFD", ")g c #FCFCFB", "!g c #FBFCFB", "~g c #E7EAF4", "{g c #ECEEF6", "]g c #F0F3F8", "^g c #F1F3F9", "/g c #EEF2F7", "(g c #EDF0F7", "_g c #EEF0F7", ":g c #EEF0F5", "h c #606062", ",h c #848589", "'h c #F9FAFA", ")h c #666666", "!h c #FCFBFC", "~h c #FBFCFC", "{h c #FEFFFE", "]h c #FEFDFE", "^h c #575757", "/h c #686868", "(h c #6D6D6D", "_h c #707070", ":h c #626262", " ; ; ; $ , , - - ' ' ) ! ! % % % = ~ ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 & ", " 7 8 . 9 . . . . 0 - a b c d e f g h > # # i j k l ; m h , n - - o p ! ! % % q r s t u ^ v w x y z ~ & A B 2 C D E F G H ", " I J K K K K . > ! B G L M d c N O ; . @ @ @ # > > > ; $ $ , , , , - ' ' P Q R S T T t u U V > W , % ~ X Y Z ` ...J +.d @.B ", " #.$.M %.&.K @ , *.3 =.-.;.4 >.L M * ,.K . @ @ @ # > > > ; $ $ , , , , - '.).!.R R S T ~.{.].@ ^./.W , % = X Y (._.:.>.<.=.=.E 3 ", " [.}.|.%.K # 1.2.3.4.5.c >.-.6.7.$.3 8.9.. . @ @ @ # > > > ; $ $ , , , 0.a.).).!.R !.b.. c.. @ @ ^.d.W e.! ~ & f.g.5 h.G i.#.j.E ", " d k.l.m.. $ O n.o.p.4...d q.r.>.4.s.~ %., = % , > @ @ @ # # # > ; ; t.u.v.v.a.).).w.x.%.K K K c.. y.@ d.h z.% ~ * B @.N >.d A.B.C.D. ", " =.r.E.F.- * E L 5.i...G.7.H.* I.J.) ' B E C.E H ' > @ @ @ # # # > K.L.M.v.v.v.N.O.9.P.%.%.K K K c.y.y.@ $ , z.% *.A g.3 D.Q.A.R.S.T.D. ", " #.F.U.V.A J -.#...c W.X.8 & Y., * Z.d `.o.>.J G O ; @ @ @ @ # # +.+L.L.M.v.++@+J.9.P.P.#+#+K K K . $+$+@ $ , z.%+&+*+=+-+;+>+,+'+)+!+E ", " 4.~+U.{+N #.C.N 7 F.]+|.~ & Z.C.^+i.>...<.`.-./+g.. . . . . @ (+_+_+.+L.L.:+Y.Y.Y.Y.J.9.9.P.P.<+K K . $+$+[+; }+|+1+2+3+4+5+6+7+8+9+0+B E ", " 4.7.a+$...<.E b+c+d+<.g.J o.C.>.Z.G -.d+~+e+H.X.c 9.%.. . . f+g+_+_+_+h+i+8.j+k+k+k+J.J.9.9.%.%.<+K l+. $+m+n+o+p+q+r+s+t+u+v+w+x+y+z+~ B A+ ", " -.7.B+$.@.=.|.r.-.3 E <...N J L C+D+E+k.g.' d k.O F+9.K . G+H+g+g+_+I+J+K+8.8.j+k+L+L+J.J.9.9.%.%.<+c.M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @> ~ B A+ ", " -.~+}.E+! i.7.I 5.#.E N #.m.8 ]+.@p.2 K++@@@8.# F+8.9.%.#@H+H+H+g+$@%@F+&@&@%@%@8.Y.Y.L+J.*@9.9.#+=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@> ~ B A+ ", " 5.~+|@8 J.) =.E * 3 1@e+r.2@L & $ 3@4@5@8.Y.Y.8.8.9.%.6@7@8@9@H+0@&@F+F+F+K+%@%@%@8.Y.Y.L+*@*@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@Y.> ~ B v@ ", " 5.7.w@7.8.F+8.5@8.! ^+7.q.Z.+@4@@@F+8.Y.J.J.J.J.J.J.x@y@y@z@A@B@C@D@E@F@G@& @.G.H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#+@Y.> ~ B A+ ", " 5.7.*#7.Y.8.F+F+F+8.A d 5 ~ . K+Y.J.J.J.J.J.J.J.J.=#-#y@;#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#l#m#+@Y.> ~ B A+ ", " G.7..@8 J.Y.Y.Y.Y.8.K+Y.Y.F+K+Y.J.J.J.J.J.J.J.J.n#-#-#-#y@o#p#D+q#r#s#t#u#v#w#x#y#z#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#`#m#+@Y.> ~ B A+ ", " p.D+8 8 J.J.J.J.J.J.Y.8.8.8.Y.J.J.J.J.J.J.J.J.@+0@-#-#-# $.$d.+$@$*@#$$$%$W j+j+L+&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$`#m#+@Y.> ~ B A+ ", " p.D+H.8 Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.7$8$8$8$9$0$4@a$a$a$a$b$@@@@@@5@c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$q$r$s$t$u$v$w$x$y$z$1$A$B$C$6$6$`#m#+@Y.> ~ B D$ ", " [.V.r.~+Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.E$8$8$8$8$F$4@4@4@a$a$a$a$G$@@H$H$I$J$K$L$M$N$O$P$Q$l$R$S$T$T$T$U$V$W$X$Y$Z$`$ %.%+%@%#%$%%%6$6$6$`#m#+@Y.> ~ B D$ ", " /+V.6.~+Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.&%8$8$8$8$*%=%4@4@4@a$a$a$a$G$-%;%>%,%'%)%!%~%{%]%^%/%(%_%:%<%[%}%}%|%1%2%3%4%5%[$6%7%8%9%0%a%6$6$6$6$`#m#+@Y.> ~ B D$ ", " 2@b%c%~+Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.7$8$8$8$d%e%4@4@4@4@4@a$a$a$a$f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%A%B%C%D%E%6%F%)+G%H%I%6$6$6$6$6$`#m#+@Y.> ~ B D$ ", " 2@{+[.~+8.8.Y.Y.Y.Y.Y.Y.Y.j+8.Y.Y.Y.Y.Y.E$8$8$8$8$J%4@4@4@4@=%=%=%a$a$a$K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&*&=&-&;&+&>&,&6$6$6$6$6$6$`#m#+@Y.> ~ B A+ ", " 2@$.5.'&K+)&!&8.8.8.8.8.8.8.#$8.8.8.8.j+d%~&~&~&{&]&]&]&]&]&]&]&]&]&a$^&/&(&_&:&<&[&}&|&1&2&}%3&4&5&6&7&8&9&0&a&b&c&d&e&f&g&h&i&j&b+W.~+6$6$6$6$6$6$6$`#m#+@Y.> ~ B A+ ", " c%*#G.H.K+K+K+K+K+K+8.8.8.K+K+K+K+)&8.E$~&~&~&d%a$]&]&]&]&]&]&]&]&]&k&l&m&n&o&p&q&r&s&t&u&v&v&v&w&x&x&y&z&A&A&o$B&C&D&E&F&G&H&I&J&-.W.K&6$6$6$6$6$6$6$6$`#m#+@Y.> ~ B A+ ", " c%w@^+L&K+K+K+K+K+K+K+K+8.K+K+K+K+K+M&N&O&~&~&P&Q&]&]&]&]&]&]&]&]&]&R&S&n&o&T&U&V&V&W&X&Y&v&Z&`&`& *.*.*+*+*@*#*$*%*&***=*-*;*>*,*G.k.K&6$6$6$6$6$6$6$6$6$`#m#+@Y.> ~ B E ", " k.]+1@I K+K+K+K+K+K+K+K+K+K+K+K+K+K+'*O&O&O&)*Q&!*!*~*!*]&]&]&]&]&{*]*^*/*(*U&_*:*<*[*}*|*1*2*3*4*5*6*7*8*9*0*a*a*b*c*d*e*f*g*h*i*4.|.F.{+|@E.E.{+$.$.b%7.p.1@3 O J.> ~ B E ", " k.j*=.c+F+F+F+F+F+F+F+F+F+F+F+F+F+&@k*l*l*l*m*n*!*!*o*!*o*o*o*o*p*]*]*q*r*s*t*u*m&v*y&w*x*y*z*A*B*C*D*E*F*G*H*I*I*J*K*L*M*N*O*P*Q*L 2@r.D+w@R*a+S*T*U*U*T*V*S*W*X*}.m.#.g.B E ", " >.k.Y*o.d+F+F+F+F+F+F+F+F+F+F+F+F+F+Z*l*l*l*`*!*!*!*!*!*!*!*o*Q&Q& =^*q*.=+=@=#=$=%=&=*===-=;=>=,='=)=!=~={=]=^=/=(=_=:=<=[=}=|=1=2=^+/+m.H.b%3=R*E.U.4=4=4=W*E.B+}.Y*5={+D+[.E >. ", " <.W.|@d r.5@F+c$F+F+F+F+F+F+F+F+F+6=)*l*l*l*7=!*!*!*!*!*!*!*!*!*8=9=0=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=)%B=C=o.-.s.d+8 b%w@|@}.D=D=D=}.j*|@]+X.b%E=8 K&F=b+J ", " <.W.j*d q.5@5@5@5@5@5@F+F+F+F+F+F+G=l*l*l*H=!*!*!*!*!*!*!*!*!*I=J=0=K=L=M=N=V&O=P=Q=Q=P=R=J*S=T=U=V=W=X=Y=Z=`=_& -.-+-@-#-$-%-&-*-=-c ^+[.W.c+7.E+.@$.X.X.X.$.b%{+.@E+8 7.K&d+m.6./+J ", " <.W.j*d C+5@5@5@5@5@5@5@5@F+5@5@5@--l*l*l*;-!*!*!*!*!*!*!*!*!*>-K=K=,-+='-)-.=!-~-{-S&]-^-^-^-^-/-(-_-_-:-:-<-<-[-}-|-1-.-2-3-4-5-6-D.o.4.7-k.q.c+K&K&K&K&H.H.K&K&F.I d+r.m.C+s.|.c%G.N ", " G k.|@d C+@@@@@@@@@@@@@@@@@@@@@@8-9-0-0-a-b-c-c-c-c-c-c-c-c-d-e-f-a=L=g-h-g-i-i-j-{-{-k-l-m-z=n-o-p-q-r-s-t-u-v-v-w-x-y-z-A-B-C-D-E-3 G =.L 5.2@e+s.k.s.k.s.s.e+s.k.s.e+c%c%c%[./+5.5.=.g. ", " c k.Y*i.W.@@@@@@@@@@@@@@@@@@@@@@F-9-9-9-G-H-H-c-c-c-c-c-I-I-J-a=K-,-L-'-M-K=N-N-N-N-O-P-Q-M%R-S-T-U-V-W-X-Y-Z-`- ;.;i$+;@;#;$;%;&;*;=;-;;;>;,;';);!;G.G.G.G.4.M 4.M M G.M M G.M 4.4.4.7 4 ", " d k.]+o.s.G$@@@@@@@@@@@@@@@@@@@@~;9-9-9-{;H-H-H-H-I-I-I-I-];9=a=^;/;(;M-g-_;_;_;_;_;0=:;<;[;};|;1;2;3;4;5;6;7;8; ;9;9;0;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;n;p;q;r;s;c d d i.o.o.o.1@`.1@`.`.D.N ", " d k.]+=.t;+$+$+$@@@@@@@@@@@@@@u;9-9-9-v;];H-H-H-H-c-c-c-I-w;L=^;/;g-'-)-x;y;y;y;z;z;z;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;`; >.>+>@>#>#>$>$>%>&>*>=>D 4 ..>.G J <.c C.C.c 3 ", " d k.*#1@|.+$+$+$+$+$+$@@@@@@+$J%9-9-9-->H-H-H-c-c-c-c-c-c-;>L=L=L-(;)-(;z;a=a=a=x;x;>>,>'>)>!>~>{>]>^>/>(>_>:><>[>}>|>1>R;<&2>3>4>5>6>7>8>9>0>a>b>c>b>d>e>f>d>g>h>h>i>j>g.@.3 Z.N ..E G G Z. ", " i.k.$.`.7-4@4@4@4@4@4@4@4@+$4@k>v;v;v;l>m>m>m>m>m>n>n>n>o>p>q>r>L-s>t>/;a=a=a=a=^;^;^;u>,-L=L=L=r*[>v>w>x>x>y>y>}>z>1>A>B>C>D>E>F>G>H>I>J>K>L>M>N>N>O>N>P>P>Q>R>S>S>T>U>& A H V>2 n.3 4 ..N ^+ ", " i.k.E=`.[.4@4@4@4@4@4@4@4@4@4@W>X>X>X>Y>m>m>m>n>n>n>n>n>Z>`> ,r>.,+,t>,-^;L=L=L=L=L=L=@,@,@,@,@,@,@,x>x>#,$,%,&,z>z>s&A>B>*,=,-,[&;,>,,,',),),!,~,{,],^,/,(,_,_,_,:,<,[,! = X & * *+g.@.3 Z.5. ", " o.k.8 #./+4@4@4@+$+$4@4@4@4@a$X>X>X>},|,1,2,n>n>n>n>n>n>3,r>`>4,5,h-g-L=/;/;/;/;6,@,+=+=+=+=7,s*s*s*s*8,8,8,N=&,s&V&V&9,0,P$a,b,c,d,e,f,g,h,i,j,j,k,l,k,l,l,m,n,n,o,p,q,$ , ) = ~ & H V>2 n.c% ", " o.W.H.7 5.+@+@4@r,s,t,u,v,w,x,y,z,A,B,o>1,1,|,|,n>n>n>C,r>4,4,.,h-t>L-/;/;/;+=+=s*s*s*s*s*s*(;(;D,D,D,M-E,F,F,F,G,r&r&r&H,I,J,K,L,c,M,N,O,P,Q,R,S,S,T,U,V,W,X,Y,Z,`,`, '. > ; - ) = *.* B g.C+ ", " `.W.F.4.-.I.I.I..'+'@'#'$'%'&'*'='-';'>',',','1,1,1,1,'')'4,4,)'!'~'4,r>4,4,4,4,g-g-g-{'s>(;(;(;D,M-M-M-M-F,u*u*u*]'^'^'^'/'('('_':'<'<'['}'|'1'2'P,Q,3'S,4'5'6'6'7'U,8'%.%.@ > , ' % O * *+m.=. ", " `.W.d+G.G.I.I.I.K+#$9'0'a'L+b'c'd'7@e'f'g'1,1,1,1,1,1,h'i')')'j'~'~'4,k'.,.,g-5,5,s>'-M-M-M-)-)-)-)-l'l'm'u*n'n'n']'o'p'p'q'r'('s't'u'v'w'w'x'y'z'A'B'C'C'D'E'F'G'H'H'I'9.9.%.@ # $ - % O & d+`. ", " #.C+6.G.M I.I.I.I.I.I.I.I.I.J'},},},K'1,1,1,1,1,1,1,1,L'M'N'N'O'~'~'j's>h-h-h-P')-)-)-l'u*Q'Q'n'n'n'n'n'n'n'n'o'R'R'R'S'T'U'U'V'W'W'W'X'Y'Y'Z'`'A'B'B' ).)+)E'E'D'@)#)$)Y.J.9.K . # $ ' ! ~ F.1@ ", " 7 m.|.5.L I.I.I.@@I.I.I.I.!*},},},J'%)%)1,1,1,1,1,1,1,&)O'N'j'!'*)~'=))-m'm'-)-)-)n';);)>)>),)R'R'R'R'R'')))R'!),)!),)S'~){){){)])^)^)^)/)()()()Z'`'`'_):)_)<)<)[)})})})|)Y.Y.J.%.. # $ ' ! F.1@ ", " 7 m.p.p.^+1)3@3@2)3)4)5)6)7)8)9)0)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)B)C)D)E)F)G)H)I)r)J)K)L)M)N)O)))P)Q)R)S)T)U)V)W)X)Y)Z)`) !.!+!@!#!$!%!&!*!r)=!-!n.;!>!,!J.%.. # ; - H.1@ ", " L F=G.p.^+1)1)1)'!)!!!~!{!]!^!/!(!_!:!.~+~@~,'|,#~$~%~&~*~=~-~;~>~,~'~)~!~W'~)~~{~]~^~/)()()/~(~_~_~:~Z'()<~Z'[~}~|~1~2~3~4~5~6~7~8~9~0~a~b~c~d~e~f~1~g~h~i~j~k~j~l~m~n~4&o~&@j+p~q~L+K+8.Y.J.%.. # I 1@ ", " 4.F.C.7-^+1)1)1)r~1@s~t~u~;;v~w~x~y~z~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~`~ {.{+{@{#{${%{&{*{={-{;{>{,{'{){!{~{{{]{^{/{({_{D-:{<{[{}{|{1{2{3{4{5{6{7{5@5@F+K+K+K+8.Y.J.%.. c+8{ ", " G.H.<.2@^+1)1)1)9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{5't{u{:,v{w{x{y{z{A{B{C{D{E{F{G{H{I{J{K{L{%!M{N{O{P{Q{R{U%S{T{U{m V{W{* X{+$z.Y{~!Z{`{ ].]+]@]#]$]%]&]*]-%=]5@5@5@F+K+K+K+8.Y.Y.%.c+-] ", " G.7.E 2@^+;];]>],]'])]!]~]{]]]^]/](]_]:]<][]B }]|]1]2]:,3]4]5]6]7]8]9]0]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]B];]C]D]E]' , ]F]G]6 H]I]J]K]o{L]M]N]O]P]3 Q]R]J G]K+K+8.8.Y.S]T] ", " 5.V.N 2@^+;];];]U]V]W]X]Y]Z]`] ^.^+^@^#^$^%^&^*^=^-^;^>^,^'^)^!^~^{^]^^^/^(^_^:^<^[^}^|^1^2^3^4^_^5^6^7^8^9^0^a^b^c^d^e^f^g^h^i^u;j^k^l^m^n^o^p^q^r^s^t^u^v^w^K%x^y^z^A^B^C^D^E^F^F+K+K+K+G^H^T] ", " G.E+n.2@#.;];];]K+I^J^!&Y.K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Y'w'`,Z^`^ /./+/@/#/$/%/&/*/=/-/;/>/,/'/)/!/~/{/F+]/z.^///(/_/:/P.p~=%(,('(A,)(!(~({(](a^^(/(((_(:(5@<([(}(|(1( ", " G.b%V>2@#.m#m#m#. j 2(L+3(4(S 5(6(7(8(9(0(a(n#b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(*/o(q(r(s(p(t(u(v(o(w(x(k+y(; d.)&@ i+%$z(m l A(];k B(C(D(E(6=c.9.J.F(G(h %$H(I(' J(3 E(K(L(M(v]N(O(P(, Q(R(S(T(U(1( ", " G.{+V>2@#.m#m#m#V(W(X(Y(F(Z(`( _._+_@_#_$_%_&_*_=_-_;_u'>_,_]):~'_)_!_!_!_!_!_!_~_~_~_{_{_]_^_/_(___:_:_:_:_:_:_:_:_:_:_:_:_:_:_<_m#[_[_[_[_;];];];];]>]1)1)1)1)3@3@I.I.I.+@4@4@}_|_1_2_3_4_5_ ", " 4 G.{+V>2@#.:_:_m#`{6_7_8_$$9_0_a_b_c_d_e_K.a f_g_h_i_j_k_l_m_n__~o_'_p_!_!_!_!_!_!_!_!_!_!_q_^_/_r_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_s_[_[_[_[_;];];];];]>]1)1)1)1)3@3@I.I.I.t_u_v_v_w_x_y_z_A_ ", " 4 G..@V>7-#.:_:_:_:_:_:_m#m#B_C_D_D_E_F_F_G_G_G_H_H_I_J_K_L_M_^)_~o_:)p_p_p_!_!_!_!_!_!_!_N_O_P_Q_R_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_m#m#[_[_[_;];];];];]>]1)1)1)1)3@S_T_U_V_W_X_X_Y_Z_`_ :A_ ", " E 5..@V>7-`.:_:_:_>]:_:_:_:_.:+:+:+:@:G_G_H_H_H_H_H_I_#:K_$:%:^)_~&:&:*:*:=:=:=:N_N_N_-:-:N_O_;:Q_>:,::_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_m#m#[_;];];];];]':):!:~:{:]:W_^:W_X_/:(:`__:::::<:[: ", " E 5.{+B [.`.:_:_:_}:|:1:$+Y{2:( 3:4:5:6:7:8:9:0:7(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:+]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:`: < <.<+<@<#<$<%<&<*<=<:: :<:-<'> ", " D.5.E=B [.`.,:,:,:;<><,<'<)2<3<4<5<6<7<8<9<0.G.V.B /+`.Z<,:,:*@@@@@I-`<+$ [.[+[@[#[$[%[&[*[!&=[-[;[>[,['[+))[![~[{[][^[/[([_[:[=/<[[[}[|[1[{[2[3[4[5[6[7[c$o*8[9[0[$$F+a[b[c[d[e[f[g[h[i[j[k[l[m[n[o[f[p[q[r[s[n[t[x_u[v[w[x[y[X<<:W.G.H.B p.`.Z},}'})}!}~}{}]}^}/}(}_}:}<}[}}}|}1}2}3}4}5}6}7}K<8}9}0}a}b}c}d}e}f}g}h}i}j}k}l}m}n}<:<:o}p}Y< ", " G b+I B p.`.Z|,|'|)|!|w[~|~|{|]|^|/|(|_|:|<|[|<:o}-<}|[: ", " G G.c+B b+`.Z1-+,1'1)1!1~1{1]1^1/1(1_1:1<1[1}1|1n|113^21t|4^3141516171819101a1b1c1d1e1f1g1h1i1K|j1L|L|L|L|L|L|L|M|M|N|O|O|O|O|Q|R|k1k1l1S|m1m1U|W|W|W|W|Y|[: ", " J G.s.B G.`.Z2M1H1i1i1H1M1M1M1,2,2j1j1L|L|L|N1N1N1N1N1O1O1O1O1P1k1k1k1'2)2R1m1!2S1S1S1~2 ", " <.-.p.B M `.,:U1U1m#U1U1U1Z3,3'3)3!3'3Q1c2c2c2'2'2~3{3{3!2e2 ", " d 5.^+B L `.]3U1U1^3/3(3_3:3|:z,@_<3[3}3|3132333435363d_73839303a3b3c3d3e3f3g3h3i3j3k3l3&3m3n3=!o3p3q3r3s;s3t3u3v3w3x3s]y3z3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X|R1{3c2c2X3Y3Y3Y3{3Z3 ", " d 2@c B ^+`.,:U1U1U1U1I.U1`3I-:_ 4.4+4@4+:0.#4z}$4%4r1r1]2&4*4=4-4;4>4,4'4)4!4R|~4~4~4{4]4}2^4/4(4U1:_:__4:4U1m#,:>],:Z<<4;][4}4i1Q|*<|4o}1424c23434c2a23444O1a2z[54647474849494040404X3Y3Y3Y3a4 ", " i.7-G g.`.`.:_U1U1b4c c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4C@t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4t4W4X4t~Y4~^Z4`4 5n|.5+5@5#5$5%5&5*5=5-5;5J!>5,5'5)5646464!5!5040404~5Y3Y3a4 ", " i.2@4 2 1@`.m#{5{5]5^5/5(5_5:5<5`<[5}5|51525[33545'(D}556575859505a5b5c5d5e5f5g5h5i5j5k5G2l5m5n5g.o5p5q5r5s54)q~t5I(J(u5v5w5q}x5y5z5A5B5C5D5E5F5D3G5H5I5J5C3G5K5L5M5N5O56464646474!50404P5~5Q5R5 ", " o.e+3 2 1@`.m#{5{5S5T5U5V5p6,6'6)6!6~6t:{6x!&|]6^6W|/6(6_6{]g :6<6[6}6*.|61626A}36b14656667686119606a6b6G5c6d6e6f6g6h6i6j6k6G4l6m6n6o6Y3X|'2!5p6P5P5P5P5R5 ", " 1@6.B @.i.`.[_{5{5q6r6s6t6u6v6w6x6-1y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6b<2}Q6R6S6T6U6V6W6X6Y6Z6f/`6 7.7+7@7#7$7%7&7'<*7C =7-7;7>7,7'7)7K3!7=3~7{7]7N3^7/7(7_7:7<7[7}7|71727P5043747p6p6!5P5P557 ", " 1@m.& n.d `.;]{5{5+@M(67774@1)87`9707a7v;b7c7J%d7e7f7g7d7h7i73!j7k7l7m7n7o7p7q7r7p}]4s7t7u72-v777n>>]+@w7/.x7y7$$z7A7&@B7C7g!D7~5T1E7F7G7U|~5W|U|H7X]{5{5S7T7U7V7W7X7;8,8'8)8!8~8{8]8^8/8(8_8:8<8(8[8}8|8182838485868788898f)08E^a8b8c8d80]`#{5Y.z8q}c$X}A8%.$+B8s}C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8$$R8S8T8U8O/W8X8G7Y8Z8`8 9.96=.$. c.+99.@99[#9V $9%9&9*9O5=9-9;9>9,9'9)9!9H7~9~3{9>9]9^9/9S1M7O7(9(9(9O7y8_9_947:9:9<9 ", " L F.' Z.J #.1)`#`#[9}9|919B(293949G 5969E|79899909._a9b9c9d9e9e9f9g9h9i9j9k9l9m9n9o9<2<2p9q9r9r9s9t9u9v9w9{5{5{5{5{5x9y9z9A9B9C9D9E9F9F9F9G9G9G9G9G9H9H9H9H9H9I9I9I9(9(9(9(9(9(9(9x8O7_9_9_9:9<9 ", " L H.- 3 G ^+3@`#`#J9K9h4L9M9N9O9i{P9Q9R9!]S9T9U9V9W9X9Y9P8d9d9e9Z1Z1g9Z9`9 0.0l9m9n9+0<2<2p9q9r9@0t9#0$0%0&0*0*0=0-0;0>0,0B9C9'0)0!0~0F9G9G9G9G9G9G9G9G9H9I9I9I9I9I9I9I9(9(9(9(9x8x8x8{0{0_9_9<9 ", " L ~+- Z.>.^+3@`#`#`#`#`#`#`#`#`#`#`#`#{5{5{5]0^0^0^0/0g9d9d9d9d9d9Z1g9h9^2(0_0.0:0<0[0}0|0<21020r93040t9u95050B9B9B960B9C970D9!0~0~0~0~0~0F9F9F9F9F9G9G9G9G9H9H9H9H9H9H9I9I9808080808080{0{0_990 ", " 4.8 ' 4 D.^+I.`#`#,:`#`#`#`#`#`#`#`#`#`#`#{5{500^0^0^0a0d9d9d9d9d9d9e9Z1b0i9c0d0e0f0g0h0<2i0<2p9q9j0r9s940t9#0k0k0#0'0D940!0~0~0~0~0~0~0~0~0~0F9G9I9G9G9G9G9G9l0l0l0l0m0m0m0n0n08080808080{0{090 ", " 4.8 ' 4 ..^+I.`#`#o0p0q0@+r0s0t0B(u0u0v0Q]w0f.x06(y0z0A0B0C0D0E0F0m{w.G0V H0I0J0K0L0M0N0K)O0P0Q0R0S0T0U0V0W0X0Y0F2;|W3Z0`0 a.a+aO5@a#aV0#a$a%a&a*a=a-a;a>a)5,a'al0l0l0l0l0)a)a)a!a80808080~aP7{a ", " L 7.' ..4 ^+I.`#`#]a^a/a(a]!_a:au^bg7,b'b)b!b~b{b]b^bn7/b(bp7_b~5:b.n.^++@UaUalbmbnbobpbqbrbsbtbubZ]vbwbxbybzbQ[AbBbCbDbEbFbGbt]HbIbJbKbLbMbNbObz,PbQbRbSbTbUbVbWbXbYbUbZbJa`b cK3.c+ce6@c#c'5$c%c&c*c=c-c;c>c,c'c)c!c~c{c]c^c@5/c(c_c:c.@.#.+@UaUaB84c+@8.#+!&5c|)j+6c7c8cm#[_K+9cF+0cacbcccM^dc;-ecfcQ8gcD8hcC}icjckclcmcncocpcqcrc&!_6sctcucvcwcxcw8yczcjb$aAcBcCcDcEcFcGcHcgb4bIc{9JcKcLcMc8b]9H7GcNcOcPcQcebRcx[ScK|i1TcUcVc ", " ..7 c+) G @.#.+@UaUaWcXcYcZc`c d.df_+d@d#d$d%d&d*dq3T{i =d-d;d>d,d'd)d!d~dQ]{d]d^d/d(d_d:d#.+@UaUakdldmdndod ]pdqdy|K rdsdtdud>6vdwdK(xd $;dydzdAdBdCdDdEdFd45GdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXd&{YdZd`d e.exc+e+ecdcdcdcdcdcdcdcd@e@edddddddddd#e$e%efdfdfdL|K|i1&e*e=e-e;ejd ", " ..7 6.! <.B #.+@UaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUa`#`#`#>e,e'e'e'e'e)ee9e9e9e9e9e9f9!eb0~e{e]e^e/e(e_e_e:e.L /+! C.*+#.+@&f&f*fUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUa=f-f'e'e'e'e,e!ee9f9f9f9f9f9f9!e!e!eJe]e(0;fKe>f,f'f)fNeNeNe!fPe~f{fRe]f^f^f^f^f^f/f(f_f_f_f:fA9.4.G.! d *+`.+@&f&f&f&f&fUaUaUa7fUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUa8f9f0f'e'e'eafJef9f9f9f9f9f9!e!e!ebfcfJe]e(0;fdfef 0ffgf)f)fNehfhfififjf!fkfoeoeoeoelfmfmfnfofofofpfpf.f.fqfrfsf$f4ftfufufvfee6f ", " >.4.7 ! d *+`.+@&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUaUaUaUaUawf9f0f0f'e'e'e)ef9f9f9!e!e!e!e!e!e!ecfcfJe]e(0^exfKeyfzfAfBfCfDfDfDfDfhfhfhfhfhfhfDfDfofpfpfpfpfEfFf2fGf$f4fHfufvfvfIf9fJfeeKf ", " J M 1@! d *+`.I.&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUaUaUaUaLf)e0f0f0f'e'e,ecf!e!e!e!e!e!e!e!ebfbfcfcfMf]e]e(0^edfNfyfefOfPfQfRfSfTfUfUfVfUfWfXfSfrfYfZf`f g.gtfufKeNfvfIf9fIf+g@g+g#gKf ", " <.-.J ! i.*+`.I.&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUaUaUab00f0f0f0f0f$g)e!e!e!e!e!e!e!e!e!e!ecfcfcfJeJe]e]e(0^e;fdfdfKe%gefefef&g&g&gefefeftftftftfKeNf9f@g@g+g+g+g+g+g+g+g+ggeG. ", " J -.Z.! i.*+`.I.&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUaq1a00f0f0f0f0f-fJe!e!e!e!e!e!e!e!e!ebfbfcfcfMfJeJe]e]e]e*g(0(0^e^edfdfdfdfdfdf@g;f;f)e(0@g+g+g+g+g+g=g=g+g+g+g+g+ggeG. ", " J G.2 ) o.*+`.I.&f-g&f&f&f&f;g&f>g-g,g&f-g&f'g&f,g-g,g&f&f&f&f)gUaUa!g>]~ ~ ~ wb*g0f0f0f~g0f0f{g]g!e!e!e^g^gbfbfbf!ecfcfcfcfMfJe{eJeJe{eJeJe/g/g]e(0(g_g*g*g*g*g*g_g_g*g:g*g:g=g)e=g+g+g+g+g+g ! i.H 1@3@pgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g[_S*|gR*[_}g}g}g&f&f&f&f&f&f|g|gqg{g$g$g$gm23g3grg0fsgJ0fgA@9gA@tg^g^g^gugvg0g0gagcfcfcfcfcfwgwgwgxgJeJeJeJeJeJeJe_g9fyg^0+4+4+4+4X>#7 ", " =.m.@ ) d H 1@3@pgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g= |g|gC.}g}g}g}g}g}g>g&f&f&f|g|g8 &fzg*g$gm23g3grg$g$gA0Ag3gBgCgDgEgEg)1A@FgA@A@agcfcfwgwgwgwgwgwgwg{eJeJe*g9f,e0f^0^0^0^0+4+4+4+4v;Gg ", " 1@m.K ' d H 1@3@pgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}gC.|g|g= }g}g}g}g}g}g}g}g}g&f|g|gS*8 8 8 HgIgJg3grg$g$gm23gAgKgAgAgLga0MgNgOgkgfgPg]e_g_g_g_g_g;f{gIesgQg/0^0^0^0^0^0^0^0^0^0+4+4RgSgI ", " 1@d+J.' C.H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}gC.|g|g= }g}g}g}g}g}g}g}g}g}g|g|g|g|g|g|g|g|gTgUgVg$g$gm23g3g$gWgAgG[0fXgWg0fAgAgYg0f0f0f'e'e'e'e'e'e'e'e'e'e^0^0^0^0^0^0^000]0ZgU1+$I ", " `.d+Y.' c H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}gC.|g|g= }g}g}g}g}g}g}g}g}g}g|g|g~+&f&f&f&f~ |g|gd `gzg hNg3g$g.h3gXg+hAg@h0fAgAgYg0f0f0f0f0f'e'e'e'e'e'e'e'e'e'e^00fIf&4#h{5{5{5{5+$d+ ", " `.I Y.' c H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg$h}g}g}g= |g|g4.}g}g}g}g}g}g}g}g}g}g|g|g~+}g}g&f&f~ |g|gd &f&f~ |g%hzgLdNg3g&hAg*h0fAgAgYg0f0f0f0f0f0f0f'e'e'e'e'ea09fb0=h{5{5{5{5{5{5{5{5@@d+ ", " `.c+Y.' c H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg[_S*|gS*[_}g}g}g}g}g}g}g}g}g|g|g~+}g}g}g}g~ |g|gd &f&f~ |g|g&f;]|g|g-h;h.4og>hNg,hIeIesgIeIeIe*gog]0r1=h'h`#`#`#`#`#{5{5{5{5{5{5{5@@r. ", " `.I J.' <.H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgC.|g|gX.[_}g}g}g}g}g= }g}g|g|g~+}g}g}g}g= |g|gd &f&f~ |g|g&f&fF=|g|gF=&f&f|g%h8 UaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#`#`#{5{5{5{5{5+$r. ", " 1@r.J.' J H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg2@)h|gS*2@C.C.q.S*~+}g}g|g|g~+}g}g}g}g= |g|gC.&f&f~ |g|g&f&f4 |g|g4 &f&f|g|g8 UaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#`#`#{5{5{5{5+$r. ", " =.r.J.' J H 1@1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgN D=)h)h|g|g|gX.B }g}g|g|g~+}g}g}g}g= |g|gC.}g}g~ |g|g&f&f;]~ ~ ;]&f&f|g|g8 7fUaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#`#`#`#{5{5+$r. ", " =.F=J.' E H =.1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgm#% % % pg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g&f&f&f&f&f&f&f&f&f&f&f&f&f&f!hUaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#`#`#{5+$r. ", " o.m.9.' D.H =.1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g-g&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#`#`#+$ ", " =.W.9.' 4 H o.1)pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g&f&f&f&f&f&f&f&f&f&f&f&f&f~hUaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#`#+$ ", " i.c%J.- N * d 1)6${hpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg]h}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#`#+$ ", " d [.Y.$ @.*.J 1)6$6$6$6$pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUa`#`#`#`#`#4@ ", " <.p.8.@ A % N 1)6$6$6$6$6$6$6$pg6$pgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpg}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g}g&f&f&f&f&f&f&f&f&f&f&f&f&fUaUaUaUaUaUaUaUaUaUa`#`#`#`#4@ ", " o.5@@ 4 c G.W.V.w@D=l.U.a+W*W*E.X*B+B+D=j*j*|@3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=3=Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*Y*|@|@|@|@|@|@|@Y*W*Y*b%^hE.H. ", " >.r.F=F.F.D+w@B+4=V*U*/h/hT*(h_h4=a+l.l.E.W*W*a+a+a+a+U.U.U.a+a+a+a+a+W*W*W*E.l.l.X*B+X*R*D=D=j*|@Y*Y*]+5=5=*#$.{+{+E=D+D+V.~+K&K&F.c+c+r.F=q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.m.V.r.W.)hX.W. ", " E ^+e+H.5=D=_h)h:h.1@G.k.d+H.V.{+b%X.X.*#w@]+w@w@]+Y*|@j*j*}.}.}.}.D=D=D=B+X*X*l.l.l.l.l.l.l.B+E.W*E.W*a+a+U.U.4=4=4=4=4=4=4=4=4=_h_h_h_hS*_hS*V*V*V*V*8h8h8hT*T*V*S*a+a+E.l.B+|@Y*w@*#E+V.7.F.r.R*.@F./+ ", " >.C.=.4.M -.p./+/+2@2@2@e+e+k.W.C+C+C+m.q.q.m.r.d+c+c+F.F.K&H.H.H.H.~+7.V.8 D+E+E+.@.@.@.@{+{+{+b%b%.@X.X.X.X.*#*#w@w@]+]+]+w@]+]+Y*Y*Y*|@j*j*j*j*j*j*j*}.}.}.}.}.|@|@Y*X.8 H.q.b+ ", " >.J J C.C.d d i.i.d o.o.`.1@#.#.7 7 7 7 4.G.G.G.-.G.G.G.p.[.2@2@2@2@e+e+s.s.W.s.6.6.6.6.m.m.r.r.r.m.I c+F.F.F.7.H.7.7.8 ~+D+8 8 8 V.V.~+K&I 6.[.`. ", " D.D.E E G G G G G c c c c d d o.o.1@1@#.7 4.4.7 G.G.G.G./+G.G.[.[.[.7-7-[.G.4.o.>. "}; xchm-1.23/art/xchmdoc-16.png0000644000175000001440000000202612210054137012453 00000000000000‰PNG  IHDR(-SgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<"PLTE¾¾¾žžž¿¿¿²²²ÕÕÕØØØÓÓÔ´¶¾¬®¹´¸À½¾¾ÀÀÀÇÇÇÉÉÉÑÓܺ¿ÒËÎÙª«°¼½¿ÒÒÒ¶¶¶ÍÍÍÏÑÙËÏÝèéëåêî¾È̽¿ÀàäæÍÓÖËËË»»»÷÷÷¾¿ÇœŸ¬ÀÀ᯷œ®¹–Ÿ¦„ˆŠ¾¾¿º¾ÁÃÊÒ¸¸¸÷÷ø½ÁÔÙÙÛ¥µÀ¥¸Ä¥¶Â’¤¯’•˜–••–˜™®¶»ÑÑѹ¹¹çéñÓ×ãèïô¿ÞóÆáòÀÝñ¹ØìºÔä¹ÑâÆÕàÓÓÓ¼¼¼ÙÝêãåíÐäô³×ñ²×ï¯Öï­Ôî¨ÑìŸÉè¼Õêççç×××½½½¶¹ÈÎÏÖž¸Ï€¨Çv¢¿›¶ÇÔÖÚÜÛÛ×Ö×ÚØÙ¶ÁÍÙÙÙÕÙèµÐ芷׈¶×Úçðáêñ£ÃݦÄß–¹Ù|¥ÉÝÝݵ·ÄÃÅÑ¥·Ìh“¹i˜½¢¹Ë›³É`‹±`а`Нo™¿ßßßôõùÍÑâçíõ°Õ€¯Öêñöêðõ~«Ó}ªÒ}«Òv£Ëààຸ¹©«¹ÀÃÏ©¶Éc…®_е^‹¶bŽºa¹\жh“¼åååÿÿÿîïôÇÌßãæñÍØéŽ«Ï~¤Ì}¦Ï|¦Ï}¤Í¨ÉèèèÇÅÅ¿À··À§¬À¹½ÌÆÊÖ¸ÀЩ¶Í²¿ÓÉÐÞÒÖãðððÁÁÁ÷÷úßâíÈÍáÒÖçÕÚêÕÙéÑÖçÅÊÞ§§§ÎÎÎÍÍÏÆÈÎÄÆÍÅÆÌÄÄÅéÂZ{tRNS@æØfbKGDŽ‚³o÷IDATÓc``dbfaecçàäb€n&^>~A!aˆŸ(Ÿ˜¸„¤”´Œ¬X@^AQIYEUM]CSK$ ¦£«§o`hdlbjf°°´²¶±µ³wptrv °ºº¹{xzyûøúù€ƒ‚CBÃÂ#"£¢cbAqŒñV ‰IÉ)©ié LƬìœÜ¼ü‚¢â@)cYyEeUuMm]}H ‘±©¹¥µ­½£³«»$ÐËØ×?aâ¤ÉS¦N›>$0“qÖì9sçÍ_°pÑâ% ¥Ëúúú–¯X¹jõšµëÀîXo!¶aÆ›6oÞ²•|kE-œ€9‚%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:34+03:00à5$IEND®B`‚xchm-1.23/art/xchmdoc-16.xpm0000644000175000001440000000674012210054137012502 00000000000000/* XPM */ static const char * xchmdoc_16_xpm[] = { "16 16 182 2", " c None", ". c #BEBEBE", "+ c #9E9E9E", "@ c #BFBFBF", "# c #B2B2B2", "$ c #D5D5D5", "% c #D8D8D8", "& c #D3D3D4", "* c #B4B6BE", "= c #ACAEB9", "- c #B4B8C0", "; c #BDBEBE", "> c #C0C0C0", ", c #C7C7C7", "' c #C9C9C9", ") c #D1D3DC", "! c #BABFD2", "~ c #CBCED9", "{ c #AAABB0", "] c #BCBDBF", "^ c #D2D2D2", "/ c #B6B6B6", "( c #CDCDCD", "_ c #CFD1D9", ": c #CBCFDD", "< c #E8E9EB", "[ c #E5EAEE", "} c #BEC8CC", "| c #BDBFC0", "1 c #E0E4E6", "2 c #CDD3D6", "3 c #CBCBCB", "4 c #BBBBBB", "5 c #F7F7F7", "6 c #BEBFC7", "7 c #9C9FAC", "8 c #C0C0C3", "9 c #A1AFB7", "0 c #9CAEB9", "a c #969FA6", "b c #84888A", "c c #BEBEBF", "d c #BABEC1", "e c #C3CAD2", "f c #B8B8B8", "g c #F7F7F8", "h c #BDC1D4", "i c #D9D9DB", "j c #A5B5C0", "k c #A5B8C4", "l c #A5B6C2", "m c #92A4AF", "n c #929598", "o c #969595", "p c #969899", "q c #AEB6BB", "r c #D1D1D1", "s c #B9B9B9", "t c #E7E9F1", "u c #D3D7E3", "v c #E8EFF4", "w c #BFDEF3", "x c #C6E1F2", "y c #C0DDF1", "z c #B9D8EC", "A c #BAD4E4", "B c #B9D1E2", "C c #C6D5E0", "D c #D3D3D3", "E c #BCBCBC", "F c #D9DDEA", "G c #E3E5ED", "H c #D0E4F4", "I c #B3D7F1", "J c #B2D7EF", "K c #AFD6EF", "L c #ADD4EE", "M c #A8D1EC", "N c #9FC9E8", "O c #BCD5EA", "P c #E7E7E7", "Q c #D7D7D7", "R c #BDBDBD", "S c #B6B9C8", "T c #CECFD6", "U c #9EB8CF", "V c #80A8C7", "W c #76A2BF", "X c #9BB6C7", "Y c #D4D6DA", "Z c #DCDBDB", "` c #D7D6D7", " . c #DAD8D9", ".. c #B6C1CD", "+. c #D9D9D9", "@. c #D5D9E8", "#. c #B5D0E8", "$. c #8AB7D7", "%. c #88B6D7", "&. c #DAE7F0", "*. c #E1EAF1", "=. c #A3C3DD", "-. c #A6C4DF", ";. c #96B9D9", ">. c #7CA5C9", ",. c #DDDDDD", "'. c #B5B7C4", "). c #C3C5D1", "!. c #A5B7CC", "~. c #6893B9", "{. c #6998BD", "]. c #A2B9CB", "^. c #9BB3C9", "/. c #608BB1", "(. c #608AB0", "_. c #608AAF", ":. c #6F99BF", "<. c #DFDFDF", "[. c #F4F5F9", "}. c #CDD1E2", "|. c #E7EDF5", "1. c #8DB0D5", "2. c #80AFD6", "3. c #EAF1F6", "4. c #EAF0F5", "5. c #7EABD3", "6. c #7DAAD2", "7. c #7DABD2", "8. c #76A3CB", "9. c #E0E0E0", "0. c #BAB8B9", "a. c #A9ABB9", "b. c #C0C3CF", "c. c #A9B6C9", "d. c #6385AE", "e. c #5F8AB5", "f. c #5E8BB6", "g. c #628EBA", "h. c #618DB9", "i. c #5C8AB6", "j. c #6893BC", "k. c #E5E5E5", "l. c #FFFFFF", "m. c #EEEFF4", "n. c #C7CCDF", "o. c #E3E6F1", "p. c #CDD8E9", "q. c #8EABCF", "r. c #7EA4CC", "s. c #7DA6CF", "t. c #7CA6CF", "u. c #7DA4CD", "v. c #8FA8C9", "w. c #E8E8E8", "x. c #C7C5C5", "y. c #C2BFC0", "z. c #B7B7C0", "A. c #A7ACC0", "B. c #B9BDCC", "C. c #C6CAD6", "D. c #B8C0D0", "E. c #A9B6CD", "F. c #B2BFD3", "G. c #C9D0DE", "H. c #D2D6E3", "I. c #F0F0F0", "J. c #C1C1C1", "K. c #F7F7FA", "L. c #DFE2ED", "M. c #C8CDE1", "N. c #D2D6E7", "O. c #D5DAEA", "P. c #D5D9E9", "Q. c #D1D6E7", "R. c #C5CADE", "S. c #A7A7A7", "T. c #CECECE", "U. c #CDCDCF", "V. c #C6C8CE", "W. c #C4C6CD", "X. c #C5C6CC", "Y. c #C4C4C5", " . + @ # $ % & * = - ", " ; + > , ' ) ! ~ { ] ^ ", " ' / ' ( _ : < [ } | 1 2 ", " 3 4 5 6 7 8 9 0 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 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 ` ... ", " +.. @.t #.$.%.&.*.=.-.;.>. ", " ,.. '.).!.~.{.].^./.(._.:. ", " <.. [.}.|.1.2.3.4.5.6.7.8. ", " 9.. 0.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.B.C.D.E.F.G.H. ", " I.J.l.l.l.K.L.M.N.O.P.Q.R. ", " Q S.r ( T.T.T.U.V.W.W.X.Y. "}; xchm-1.23/art/xchmdoc-32.png0000644000175000001440000000441012210054137012450 00000000000000‰PNG  IHDR szzôgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“IDATXõ–MpGÇÝÓ3³3«Ý•åH6þHâ/Ų vì@%ÄVpq€ä—ÜrÎ…K¨œ8åÌ" '0$¨"®Û©r*†Â‰ Fޱ½²c[ò®v¥ý˜ïîæ ­JJ,;xUSÓÕ3=ï×ïýß묲 .سgÏòüóÏÓjµÈóœ8ŽÉóœÃ‡£µ¦Ð†$1ä…ÁsØ‚(êÑëõ¨V«ÄqÌ¡C‡_Ðä`pêÔ)”J(¥¸qãFƒ+W®P¯×I’„ùùy:.󭈢È)ùåÀ „ / .M‚Fò׿`ÿg€~¿O–ç”Ëefff˜™™allŒýû÷322Â|kÂzÔª%ªW9H))„"’=Y¦/ËüùÌ»ôµàÌ…¿Ä €”’J¥‚çyxžÇ¾}ûh·Ûäy1‚ µ€0ðR¢‘4RÁíHÐ×A)dx( ì»Tdg Î\øðj5€_*Q©T8vìÓÓÓ¸®Ë®Ý{¸s§I’ti·hciõ2½”$ËÉã.[z¥ ~ùcÚ­&A°¹ZåvsóïÿÃ>uø€x €ã88R’¦)Žã0>>޵–4·Üœ¹ÆÙwNƒ5t- ÓkÏâJÊU²‡ng‘4Í(²„-»ö’D}X³ÀPà"¥dnnŽÉ¯M­Ÿ!ÄšË"p¤ÄUè䋤Rf¨R£ÛYàßÿ¥<´1T†‡ûÒv¬Òj6p‭U—!_’ç;·×PJ­¤@J‰ÖàyËÂÔ†X/Õl«Õâú'—q=Ÿ$ŽéÇm ‚Ng‘ÅÅ.½n—‡wîFJ‡ÂÂÃÊŠS$ n~ÿ œ !ÐFà{! ) +,ÖZܰʎ½_¦õk#H¥PÊ#Ïb6ŽŽaŠ+×±l®HBâ8&"ZÀuÝ•ðK)iµæñ]R‚HûܺÕ&O4–Bk°LšçTÈ2T+ž›`M–¥H!°©f1ј¡!zý>óíþýÑ`÷RJ>¹Õ‘”Ið7†´¥Ã¢ç¡µF`°B§ …¶]†!õÙ&·ûÕû¬áÑ£Ïàz’ÐWÌ.¦L7b²,¥Ðf©o“[«<²!X©¢¥ké{ÚúIN«›2»˜²msÁßãg÷ëçïœý ŽëŠ;·çè¨ ôÓˆn»ç‡¸aˆÓa:‰pÍ\«ÏL£‘–Ð ÑÒ$Â8>ƒðØþÇï_çÏ>÷mâTSÖZ.ÞèÒÉ m°Öb,lªùŒU<¬±Œ,&T„#—£08‡,FŒ1x¾¿>À  μý6Qc£Ã¤iÄlGSŸG*¿øCtÚ€AJ‰r}ú½.Ê÷ŸÀ  öî¹sôãßu)¬C¯1T ÐFÇ)·š}#é§1åj SXŒ1(¿DmxÊuIâ)¦(p‘<ºuóúçƒûÑ©©e1-Y¯Ÿ“k‹ï9()AÀ\«ÏFNZPX@Hìòzk ƒ´†@I6‡ìØ2¼>€çyk!ê3u^{í5Â0$Ë û&ðÇ×ÇÏñ*›FÊœeûø^|FGFBkC¡-h}o€Ó§O[µüµÕ©°VÐl6™˜˜XYø.ž'ùÕ/_¥Ð–›7o皢08ð8^ü€(Š8pðqnÞ¼I–i´6X,¾«> Š¢ÀYn«…(„`tt”éé镹(ŠBðòË/ñ“¿Ä®]"Ä’Èwî§^ŸáÒ¿.±sçø’°%‡ZÅ£2äÞ;ÖÚ{¦àÅ_äĉ„áR=räÈ@åHÊ¡K9TT‡\¾ûç¨U\‚’¢Vñ°Ö®ÙØçì­·Þ²³³³ÖZkßxã ûÿ´{F@JÉõë×™››£Ñhpþüy´ÖkÊð³eúÙùÕãÏúÉóœ¢(‚àóB Nž c #D9DBE4", ", c #DFE0E5", "' c #DFDFE1", ") c #D5D5D5", "! c #C9C9C9", "~ c #D7D7D7", "{ c #CECECE", "] c #B8B8B8", "^ c #D5D4D4", "/ c #8F8F8F", "( c #C1C1C1", "_ c #A3A3A3", ": c #9F9F9F", "< c #B2B2B2", "[ c #DADADA", "} c #DCDCDD", "| c #D3D5DE", "1 c #DADBE1", "2 c #E1E2E3", "3 c #E3E3E3", "4 c #D6D6D6", "5 c #C4C5C5", "6 c #ADAFB1", "7 c #CBCED0", "8 c #C8CBCE", "9 c #ADADAD", "0 c #CFCFCF", "a c #9A9A9A", "b c #A2A2A2", "c c #999999", "d c #B9B9B9", "e c #CBCBCB", "f c #C4C4C4", "g c #C7C8CA", "h c #D8DBE3", "i c #E2E3E6", "j c #E8E8E8", "k c #E6E6E6", "l c #E5E5E5", "m c #DBE0E3", "n c #CCD8DF", "o c #B8C7D0", "p c #A2B1BC", "q c #818C94", "r c #BDC8CF", "s c #BECCD4", "t c #AFAFAF", "u c #DCDCDC", "v c #A0A0A0", "w c #A8A8A8", "x c #C3C3C3", "y c #BFBFC0", "z c #C5C6CB", "A c #E9EAEC", "B c #ECECEC", "C c #E3E6E8", "D c #D0DEE6", "E c #C1D6E4", "F c #C1D5E2", "G c #C1CFDA", "H c #B2BDC5", "I c #8C9399", "J c #CACACB", "K c #C4CAD0", "L c #BECCD0", "M c #B1B1B1", "N c #E3E4E4", "O c #EEEEEE", "P c #C6C6C6", "Q c #BEBEBE", "R c #C8C9CF", "S c #C0C1C2", "T c #D8D8D7", "U c #D5D6D6", "V c #C3CAD0", "W c #AEBEC9", "X c #A6B8C4", "Y c #A1AFB7", "Z c #BCC3CB", "` c #C0C7CB", " . c #929699", ".. c #7B8185", "+. c #D3D4D4", "@. c #E2E2E2", "#. c #C8CED2", "$. c #C7CDD1", "%. c #B4B4B4", "&. c #A6A6A6", "*. c #F1F1F1", "=. c #EBEBEB", "-. c #E4E6EA", ";. c #ABAAAD", ">. c #6A6A6A", ",. c #6A6968", "'. c #5D6165", "). c #5C6975", "!. c #50585D", "~. c #555A5D", "{. c #5E656B", "]. c #646A6D", "^. c #53575A", "/. c #787C7D", "(. c #464B4C", "_. c #C2C2C3", ":. c #FFFFFF", "<. c #C5CBCF", "[. c #C7D0D6", "}. c #F3F3F3", "|. c #E7E7E9", "1. c #DEE0E8", "2. c #E9E9EB", "3. c #E2E7EA", "4. c #C2D6E2", "5. c #C9DDEC", "6. c #D6E3EC", "7. c #D4E1EB", "8. c #D1DFE8", "9. c #D1DEE8", "0. c #BFCED7", "a. c #C9D2D7", "b. c #D0D0D0", "c. c #E7E7E7", "d. c #CFD3D5", "e. c #BDC6CC", "f. c #F4F4F4", "g. c #DFE1E7", "h. c #EFEFEF", "i. c #EDEDEE", "j. c #D1E2ED", "k. c #8F9FA9", "l. c #7A838A", "m. c #89949A", "n. c #A3B0B7", "o. c #8D959D", "p. c #77818B", "q. c #737E86", "r. c #97A0A7", "s. c #757375", "t. c #858686", "u. c #939393", "v. c #A5A5A5", "w. c #AEAEAE", "x. c #D2D5D7", "y. c #B7C3CC", "z. c #F0F0F0", "A. c #A4A4A4", "B. c #F6F6F6", "C. c #EBEBEC", "D. c #DEE1E9", "E. c #EBECEE", "F. c #E0E8EF", "G. c #C5DDEC", "H. c #BED1DE", "I. c #B0C1CB", "J. c #B8C9D3", "K. c #BCCEDA", "L. c #BECFDC", "M. c #B1C1CD", "N. c #AABAC7", "O. c #A6B4BF", "P. c #8F969D", "Q. c #878C92", "R. c #7D8186", "S. c #7C7F83", "T. c #888888", "U. c #8A8A8A", "V. c #979797", "W. c #C2CDD5", "X. c #F7F7F7", "Y. c #EAEBED", "Z. c #E1E3EB", "`. c #F0F0F1", " + c #F1F0F1", ".+ c #D2E3EF", "++ c #C4DDEE", "@+ c #CBE0EE", "#+ c #CADEED", "$+ c #BDD0DD", "%+ c #94A4AF", "&+ c #98A8B5", "*+ c #95A6B3", "=+ c #A2B6C3", "-+ c #B8CDDC", ";+ c #A5B9C9", ">+ c #93A5B4", ",+ c #8A9CAA", "'+ c #A5AAAF", ")+ c #ACACAB", "!+ c #ADB4BB", "~+ c #B6B6B6", "{+ c #F9F9F9", "]+ c #E7E8ED", "^+ c #E7E9EE", "/+ c #F3F2F3", "(+ c #ECEFF1", "_+ c #C9E0EF", ":+ c #C6DDEE", "<+ c #B9CEDC", "[+ c #9DAEBC", "}+ c #8C9BA6", "|+ c #81929E", "1+ c #7F929F", "2+ c #8798A4", "3+ c #93A7B6", "4+ c #879AA9", "5+ c #A5BCCD", "6+ c #A7BED0", "7+ c #A3BDD0", "8+ c #C3CDD4", "9+ c #B3BBC3", "0+ c #B7B7B7", "a+ c #A7A7A7", "b+ c #FAFAFA", "c+ c #E4E6EE", "d+ c #EBECF0", "e+ c #F4F3F3", "f+ c #E4EBF1", "g+ c #C3DCEE", "h+ c #C2DBED", "i+ c #BED8EA", "j+ c #B9D0E2", "k+ c #AEC6D6", "l+ c #A7BDCE", "m+ c #A9C1D2", "n+ c #ADC5D8", "o+ c #A8BFCF", "p+ c #BBD4E5", "q+ c #B9D0E0", "r+ c #B8D2E3", "s+ c #B9D2E4", "t+ c #BED5E3", "u+ c #DBE2E5", "v+ c #BEC8D2", "w+ c #BCBCBC", "x+ c #FCFCFC", "y+ c #D2D4DB", "z+ c #D9D9DC", "A+ c #DDDDDD", "B+ c #D3DAE4", "C+ c #A8BFD3", "D+ c #A3B8CB", "E+ c #A0B8CA", "F+ c #9CB5C7", "G+ c #A6BFD2", "H+ c #9FB8C9", "I+ c #ADC0CC", "J+ c #BFC9D0", "K+ c #CDD2D8", "L+ c #D3D9DD", "M+ c #D2D7DA", "N+ c #CCD1D3", "O+ c #CED2D4", "P+ c #CDCED1", "Q+ c #CCCDCE", "R+ c #D9D9DA", "S+ c #CDCECF", "T+ c #ABB7C4", "U+ c #A9A9A9", "V+ c #FEFEFE", "W+ c #ACADB3", "X+ c #B7B8BB", "Y+ c #A2A2A5", "Z+ c #99A0A8", "`+ c #798B9A", " @ c #778999", ".@ c #7F90A1", "+@ c #738596", "@@ c #8197A8", "#@ c #8595A0", "$@ c #A6A8AA", "%@ c #AEAAAD", "&@ c #B0B0B3", "*@ c #ADADB0", "=@ c #AEADAE", "-@ c #ADAEAF", ";@ c #A8A7A7", ">@ c #A4A4A6", ",@ c #A2A1A2", "'@ c #ACABAC", ")@ c #8C9398", "!@ c #7288A6", "~@ c #C0C0C0", "{@ c #AAAAAA", "]@ c #E9EAF2", "^@ c #EEF0F4", "/@ c #F8F7F8", "(@ c #E0E8F1", "_@ c #B8D3E8", ":@ c #B2CDE1", "<@ c #AECADF", "[@ c #ACCADF", "}@ c #D7E5ED", "|@ c #F5F5F5", "1@ c #F3F3F4", "2@ c #F0F1F2", "3@ c #E5E9ED", "4@ c #D3DCE6", "5@ c #BBCDDF", "6@ c #A8C3DB", "7@ c #ADCAE1", "8@ c #F8F8F8", "9@ c #ABABAB", "0@ c #A9A9AE", "a@ c #ACAEB5", "b@ c #B6B7B9", "c@ c #9D9DA2", "d@ c #8FA1B3", "e@ c #849AA9", "f@ c #778998", "g@ c #7D90A2", "h@ c #829AAC", "i@ c #AFB8BE", "j@ c #AFB0B4", "k@ c #B4B3B1", "l@ c #9DA1A6", "m@ c #7E8C9B", "n@ c #7C8E9A", "o@ c #8694A4", "p@ c #8394A5", "q@ c #7C8C9B", "r@ c #7A8FA2", "s@ c #788FA0", "t@ c #7A90A0", "u@ c #A1BCD1", "v@ c #F2F3F6", "w@ c #E9ECF3", "x@ c #F4F5F7", "y@ c #F3F4F6", "z@ c #C2D6E9", "A@ c #B4D0E5", "B@ c #B0CDE3", "C@ c #AFCCE2", "D@ c #ADCBE2", "E@ c #C6DAE9", "F@ c #DCE7EF", "G@ c #DBE5EE", "H@ c #C6D6E6", "I@ c #AAC6DE", "J@ c #ABC9E0", "K@ c #AAC8E0", "L@ c #AAC8DF", "M@ c #AAC8DE", "N@ c #A8C5DC", "O@ c #A6C3DA", "P@ c #ACCAE1", "Q@ c #C7C7C7", "R@ c #ACACAC", "S@ c #B0AEB1", "T@ c #A6A8B1", "U@ c #BCBDC1", "V@ c #B5B6B7", "W@ c #9DA8B4", "X@ c #7D90A1", "Y@ c #7F94A6", "Z@ c #869FB2", "`@ c #8298A9", " # c #97A7B4", ".# c #ACB4B7", "+# c #939BA3", "@# c #899AAA", "## c #89A1B6", "$# c #7C91A5", "%# c #7C91A3", "&# c #7E93A5", "*# c #8298AC", "=# c #778C9F", "-# c #7B93A5", ";# c #A1BED5", "># c #AECCE4", ",# c #FBFBFB", "'# c #BBB8BA", ")# c #EFF0F2", "!# c #E2E6EC", "~# c #B1C8DC", "{# c #AECAE0", "]# c #B5CFE2", "^# c #F2F3F5", "/# c #EFEFEE", "(# c #E2E9ED", "_# c #A8C5DE", ":# c #A7C5DC", "<# c #A5C3DA", "[# c #A5C3D9", "}# c #A8C7DF", "|# c #A3C2D9", "1# c #A6C4DC", "2# c #A9C8E0", "3# c #B0CFE7", "4# c #CACACA", "5# c #E2E3E3", "6# c #DBDDE1", "7# c #DADBE4", "8# c #E7E8EC", "9# c #EDECEF", "0# c #C5D1DF", "a# c #A5BDD4", "b# c #A8C6DA", "c# c #A9C5DA", "d# c #DEE4EB", "e# c #ECECEB", "f# c #D2DAE3", "g# c #A1BCD5", "h# c #A5C5DC", "i# c #A3C0D9", "j# c #A5C4DC", "k# c #A2BFD7", "l# c #A3C0D8", "m# c #9FBCD3", "n# c #A1C0D7", "o# c #AFCFE8", "p# c #FDFDFD", "q# c #BFBEC0", "r# c #B7B7BA", "s# c #ADADB4", "t# c #A2A4A7", "u# c #B1B2B6", "v# c #B0B2B5", "w# c #8892A2", "x# c #7E95A6", "y# c #8498AC", "z# c #95A3AE", "A# c #8F9AA6", "B# c #8395AA", "C# c #7B91A5", "D# c #839BB0", "E# c #829BAF", "F# c #7B91A3", "G# c #7E94A7", "H# c #8096AB", "I# c #718799", "J# c #819AAE", "K# c #AFCEE6", "L# c #F5F5F8", "M# c #E8EAF3", "N# c #F2F4F8", "O# c #F5F6FA", "P# c #EBEEF5", "Q# c #BECEE3", "R# c #AEC9E1", "S# c #AECDE5", "T# c #ADCCE6", "U# c #ADCBE7", "V# c #ADCEE8", "W# c #AECFE9", "X# c #AECEE8", "Y# c #ADCDE7", "Z# c #ACCCE7", "`# c #ACCDE6", " $ c #ACCCE4", ".$ c #AFC9E2", "+$ c #C0BFBF", "@$ c #B5B6B6", "#$ c #BCBBBB", "$$ c #B8BABE", "%$ c #ACACB4", "&$ c #B8B9BD", "*$ c #B5B7BA", "=$ c #ACAEB3", "-$ c #919AA9", ";$ c #8698AB", ">$ c #7B91A2", ",$ c #869FB1", "'$ c #849BB0", ")$ c #8299AE", "!$ c #86A0B6", "~$ c #95B0C7", "{$ c #99B5CC", "]$ c #91ACC3", "^$ c #93AEC4", "/$ c #91AAC0", "($ c #96AAC2", "_$ c #B6C5DA", ":$ c #EFF0F6", "<$ c #EAEDF5", "[$ c #F1F3F8", "}$ c #F5F5FA", "|$ c #DEE4EF", "1$ c #C0CFE3", "2$ c #B2C8DF", "3$ c #AEC7DF", "4$ c #AEC8E1", "5$ c #ADC9E2", "6$ c #ACC7E0", "7$ c #ACC5DE", "8$ c #AEC4DC", "9$ c #B7C8DE", "0$ c #CFD8E8", "a$ c #F0F2F8", "b$ c #FCFBFC", "c$ c #838383", "d$ c #8D8D8D", "e$ c #87888B", "f$ c #B1B3BA", "g$ c #606063", "h$ c #88898C", "i$ c #C0C4CB", "j$ c #969DA8", "k$ c #4E545B", "l$ c #B8C7D9", "m$ c #C0CEE2", "n$ c #6C747F", "o$ c #707780", "p$ c #DCE2ED", "q$ c #ECEFF5", "r$ c #F1F2F7", "s$ c #F3F5FA", "t$ c #FDFDFC", "u$ c #797979", "v$ c #D4D4D4", "w$ c #F4F6F8", "x$ c #5E5E62", "y$ c #ECEEF6", "z$ c #CDCED2", "A$ c #B0B2B4", "B$ c #747577", "C$ c #B7B9BD", "D$ c #DDDFE5", "E$ c #737477", "F$ c #F2F4F9", "G$ c #EFF1F7", "H$ c #EDEFF6", "I$ c #EDEFF7", "J$ c #BDBDBD", "K$ c #DBDBDB", "L$ c #656565", "M$ c #646464", "N$ c #88888B", "O$ c #84858A", "P$ c #67686C", "Q$ c #ACAEB2", "R$ c #A3A4A8", "S$ c #ADAFB3", "T$ c #A2A4A8", "U$ c #85878B", "V$ c #E9EBF4", "W$ c #E8EBF3", "X$ c #EFF0F7", "Y$ c #DEDEDE", "Z$ c #7A7A7A", "`$ c #8A8B8C", " % c #C9CACF", ".% c #ABACB2", "+% c #C5C7CE", "@% c #838489", "#% c #C4C6CE", "$% c #848589", "%% c #ECEEF5", "&% c #F2F3F7", "*% c #F7F8F9", "=% c #E0E0E0", "-% c #848484", ";% c #8E8E8E", ">% c #D3D3D3", ",% c #D1D1D1", "'% c #C2C2C2", ")% c #C5C5C5", "!% c #BBBBBB", "~% c #989898", "{% c #767676", "]% c #6D6D6D", "^% c #6B6B6B", "/% c #6C6C6C", "(% c #6E6E6E", "_% c #707070", ":% c #727272", "<% c #737373", "[% c #747474", "}% c #757575", "|% c #777777", "1% c #7C7C7C", "2% c #7D7D7D", "3% c #7F7F7F", "4% c #828282", " . + @ # $ % & * = - ; > , ' ) ! ~ { ", " ] ^ / ( ] _ : < [ } | 1 2 3 @ 4 5 6 7 8 ", " 9 0 a b c d e f g h i j k l m n o p q r s ", " t u v w x d & y z A B = C D E F G H I J K L ", " M N 9 O P Q 2 R S T U V W X Y Z ` ...+.@.#.$. ", " %.k &.*.B =.-.;.>.,.'.).!.~.{.].^./.(._.:.4 <.[. ", " < =._ }.=.|.1.2.=.3.4.5.6.7.8.9.0.a.w b.:.:.c.d.e. ", " < * _ f.=.g.-.h.i.j.k.l.m.n.o.p.q.r.s.t.u.a v.w.x.y. ", " M z.A.B.C.D.E.z.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W. ", " < *.v.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+,+'+M )+!+ ", " ~+}.v.{+]+^+/+(+_+:+<+&+[+}+|+1+2+3+4+5+6+7+8+b.$ 9+ ", " 0+}.a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+l u v+ ", " w+f.w x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+ ", " Q B.U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@ ", " ~@X.{@:.]@^@/@(@_@:@<@<@[@}@B.B.|@f.1@1@2@3@4@5@6@7@ ", " ~@8@9@:.0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@ ", " f {+9@:.v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@L@M@N@O@P@ ", " Q@b+R@:.S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#># ", " . ,#R@:.'#T@y+)#!#~#{#K@]#^#/#* (#_#:#<#[#}#|#1#2#3# ", " 4#x+R@:.5#6#7#8#9#0#a#b#c#d#B e#f#g#h#i#j#k#l#m#n#o# ", " . p#9@:.q#r#s#t#u#v#w#`@x#y#z#A#B#C#D#E#F#G#H#I#J#K# ", " { V+9@:.x+b+L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Y#Y#Z#`# $.$ ", " { :.9@:.+$@$#$$$%$&$*$=$-$;$>$,$'$)$!$~${$]$^$/$($_$ ", " 0 :.R@:.p#,#,#,#:$<$[$}$O#|$1$2$3$4$5$5$6$7$8$9$0$a$ ", " ) :.R@:.V+b$u c$d$e$f$g$N#O#h$i$j$k$l$m$n$o$p$q$r$s$ ", " ~ :.R@:.V+t$u$v$x+x+w$x$y$a$h$z$A$B$C$D$E$h$F$G$H$I$ ", " J$K$:.9 :.:.p#L$p#p#p#p#M$N$O$P$R Q$R$e$S$T$U$y$V$W$X$ ", " d Y$:.w.:.:.V+Z$) p#p#}.L$p#x+`$ %.%+%P$@%#%$%%%&%*%x+ ", " ] =%:.w.:.:.V+@ -%;%;%4#L$p#p#;%v$~+>%~+~+>%d$,#b+,#x+ ", " & j :.w.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:. ", " w+Q@,%c P x ( ( ( '%'%x x x x f f f )%)%f f f f % !%f ", " {@~%U.{%]%^%^%/%(%_%:%<%<%[%}%|%u$1%2%2%3%4%4%1% "}; xchm-1.23/art/xchmdoc-48.png0000644000175000001440000000777712210054137012502 00000000000000‰PNG  IHDR00Wù‡gAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“IDAThÞ­šÛ“\WuÆ{ïsé{O·æªÝ…Œ…,mØ@Ù’ER©r“ª$ï<$yIR©â…¿"¡*á‘*ò T*TA(S … dŒ#.¶±å [Òh4£¹õõt÷9gÓÝšÑHbØ5gætŸÝç¬o¯o­õíÕ£xĸr劔Ëeâ8¦ÛíÒívqÖR(©T*(¥œsˆs‚s âpijHRK’ÆØ4A+Gœ?Vñ¼Ñ¥K—Ä9ÇÜܹ\Žf³I«Ý&I’ñ{ì1Dä@ˆˆ!µ‚g ðÖ%$ñ€(Šèv»x¾ÏóÏ=÷á=èÍ~¯Oš&¬­­¡”"Š"´Ö¬­­±¾¾N.—cjj ß÷ ‚­5Ö:âDˆ…g…¼&”€µ…¦)IÓl6ùö·¿-/¾øâï bÇ ¾ó–N§CµZÅ÷}666X^^fzzšC‡¡”ÂZKµZ¥Z­âœÐ@j…|h(ä Nq’$&êõÙlµØl4Y^YáCGŽpîìïç‰°ÖÆ‚ àwÞÁ9Ç©S§Èårôz=¢(bss“ùùyjµ}ô&*¯ïQ+MIÃ)CŽó¸Ýì3ˆ5=Çf£Á•Ÿ¼.Ï~âã¿3ˆRÈC.—cbb‚™™jµËËËAÀÔÔÇçå—_æöíÛüøÊOÀ Ù\¿K¥’gu½I·±ÎÂCܼyƒD Óó'X[]á™Ï>Çwÿóß©NTY¹{—ŸœçÙO}‚»ðòÅ¿øóß ÄÎ9‚ `0P¯×9räËËˤiÊ™3gÈårôû}8Àíåuè´)תô;›œ8ña&7š,-Ýàèã'Éí›#Å¢M‰¿y—Z¹Ì¿øWüèÒØwâ…Bžz½ÎÇž8ÉÅ^–sÏ}fÏ v<ÏCD°Ö0==Íìì,i𢵿é?ú4§bGµç²,”XacàèÆÂ‡!ÐBÁþòÏþkSý³³s,ݾMh fff¸øÃɹç>»'†á0-2b­Íò¾ËŒìÇB>çø†^qõçW9|ì1–]î¬5˜=|”èî½ö/°¸±NµVGkÅÜ Ÿ Iâåry¼X—_û™|æ“OïÄ)äû>J©ñ1J+’¾¦\ èÇ®]{—ÿ~í*­¨ÇÌÜAK´ºÌõ›ðj|™¥ÅE¦ç󸉼þêe>ö±'˜œ˜ÈŒð<&'')•JKKüè•×ä³Ï|rW vLºpႜ:uŠ÷Þ{“'OR«ÕHÓt|=µõÅ‚O>ïÎ 6úŽ~b)‡†@9…Ȱ2;!êEtÛmÒ4¦¿¹Ìë×)—ËÔj5|ß§^¯S.—3š9ÒAÌÓO}ô‘@vx IŒ1õ@`ñ¼¬H‰€Nш…Ä)òOs}‰¥å»äü yÚˆ#GŽR¨hºížçS,Y]]åÚµk8ç0Ɔ!aR(xþìÙ½SH)AkÖzk'ŠbÎCëáê’¿Ñh`“”B Y[ß`yéˆÂ}šÅòÅR ¢N‹z˜£T*Çñ8iãú?¿z•7ßzKN}ä#j×DÔ6ÃGÆ+¥°´VøžZ ÍÚ±u;Üþà:q¯ÏÜþyÊ•*íVQ†‰ú$6M¹yãHÂâ­E>zú4’› ¨ø„e‹Ö ÏSä=šk­¥ÙhðÝüPþô…Wì|ßßf´R ­õؾ§1&{-(:‰`E15»ÀÂþd´Ã_"‚ÀXð9k9q*¦Óéàz¡_ÂåFª@|ÍLEcÓ”$IèE½ÝSè~îçÀ:(ä=´Îä‚è§vhì•K/ÓØÜ$ÈÉ‹ä‚<ƒ¸ÇüÁÃìŸ?ˆò¥Ú>z½ˆÕ•;Lï?„C#Œ¢ŒÃ å¸zË7P*yØ$k2½· V;8ó@ÜÆ(Ôÿ½4ÓýJ¦SqŽ©¹ƒÔ¦èvÚ„A@Z±”'öQ®Öƒ(…8•¡ÖDÐJð=ð=OgÏeÄ]ð¿~ÿË‘#î6Ù73C/q ylêh6Ö©sÄé·6™?z”;+«98G<°4[ ´öÁÅôâ˜^Ï’&1¦Rg³Ùc½Õ¦Ÿ*ž}þ,ÂÜ/¼ð<½¾¥?p”K~˜J±p¢ÏoÖû8qÄI:äÿèFP+|ü`=¼§ˆpsµÃµÛ ôÔ4nH™À9´ìPªOM*¦•Êèèl–1öê­Túå/EËsw¥Ad•8‰rÅK«}:qŒM£ ÚhZ&_¨ ŽC§×Ã(áÿ–üf¹E¡\Å9Kš&Äý>~ÃøAèuº/`znž|>cYÈó¼5à̙ӈÀìlŒïk 9¬uÈb›vbqâHm–Ç÷2Š8ïcµB…BjõÓ˜iAëQ”±ä½vYUÉ€zT{DÝšæ^}å (MLH%_ ÕÞ$êv˜?°À¯ß½IÇjúqŠMü|_kt.Äö:t§+H¿Kè{,®E¬w"ÂR•^«E¡Z£\®Ðj¬„¥Ìƒ>iò™;xŒR©ôHL£#91¢Ð3Ï~€8v´£„bÁÇó4J`áàqÞ\l‘j•µ]¶Ž~àqz‰éâöG\_xk©“ÉñaxÎ.¼ç 7Aœ ´Fí…BŠ×^}0Ÿ§ÝêâTH’ô(—Ä)lj¹½Úa¥3 W,')ýþ€©É³ñï6›t;mŒ X˜›a­Ñå—oߢ\)Óë§YC@gé' Íü‘£”ËU”6À(tñâEÙ*ŸGúÔ3Ÿωz)½¥óð¼lÞéAÊÕëÄJƒQX§`b‘'N…ÛxcµË™ÂÔP²Œ˜Ÿý ({™=_)ô#0là†éJmI{J)^ÿéOéõû$IÊñǧ\ÚG’8<Ï "BÍ•y{±…(ƒÑBêà­¥6µTòÙc6Ú®¯F(cPJ#J¢$£Š0<ÏÞFæîŒZ'ú>ÈO=ù$fØ©y!ê[¼Äâû E½äsp_žkKMÂR£ÀŠáÍ;=´XÄ9åy(­†K<‹n|î2±ž™>ü¥”ìÀVÞoÕ.ÿsù ~’ |âÔÒítèF=jõ9:Q‹B`h¶ÚT*eZ”»­>Išæ¢A‚³ŽZ½N«Ñ"NLÍγvg™b¹È`ÐÇ×0H¹bžîÆ 1>só 8rÄâœÝ€‘Ñ÷{àܹçwÌIRG³ãû†\ÎsX€›ËmÞ_iaA”ÁaÆ”}l\îÙ3ØI€x¶ÊèѸ|åĦä‹e:í&ÆLTKܺ}‡Nä¨W ã1ˆ{XçP(ÖÖZ4b–NkA*Xg©Ök´›mŒ68 Å ív“4écŠÕ …R™B˜g²>E±Tb®–ßçÜŽÕøÌ³Ï<ðçOŸÎâ¡—âyš00 u2J+¬WÛÜmôè RRŒÎb@ÝÛŠJ–ø'`-XGÎÓLŽ-Lò‹Æ.lƒï3ÜvŸg›|E§›àD/Û!:A+84[a~ªD'JXÙì²ÑîÓ¤Ã`ÞPN0ZQ)LM¨—C‚ÀA&)vK!c̘çÛÀ¨Ñ5š<6!š1ˆþ Å÷4žÑ(mx´RTK•b@’ZâħëN£ÆhOxfØ4îÒx¸Ý™FýÀðWŠí¹yH•(Šøæ7¿ÉÚÚ¹|ž“9Ã?û_Ξ{“'Oò¯ÿòϼpþs\üþ÷à¯ÿæo <ÃW¾òœ?ÿ9ξp~œRGtíØ@á¬`í.åt’$xÆnܷˉ ¥ßúÖ·8|ø0_þò—Çž{ëÍ_ µb[ÒÔ‘$'Âúzö%á»ï¾C>_ÈZ)[m3E‘ZGšZŒÔî2 Yk·5v·z?ÕFcmm'Ÿ|rÛ<Ïh.~ÿ¿s—¸³´ˆsZÇ©Sgxý§?cqñ&§žø(Ö iêÆÝ !¨lcï{šRѧÛyxck[ÊyP~ØÊŒœœäÖ­[;æ¼ôÒKüÃßÿÇŽ¦Rò }ÃÓO?ů~u Û¨8‡µnÜÉP |O‘ÏyTË>•²O.ôÆgWx]ä _ø_ÿú×yã7( col_”¬qûø‡1¿†§žzеµ5êÛÅž<"ãüÖqáÂyÿý÷%Š"¹té’¬¬¬ˆˆˆsnO‡µö¡GjSIÓG’$ÛŽ8Ž%ŽcùÆ7¾ñPTÛ<àû>ù|~¼rAŒÏ÷2ö:ÿ·\.÷Ðk;êÀÛo¿ Àõë×i4LLL¦é#3Ñ£ÎGòäAŸ{]D„~¿sŽJ¥B¯·Ëöz½^çÚµk¬®®²¹¹I£Ñ ÝnƒÍŽ›R£¦ëè¯çyÃÆï½®ÜkŒ´ÕÖ¶åV£šÖÏóèt:t»]øêW¿úHw>ôâ÷¾÷=‰¢ˆ$IˆãkíˆsnœF€Òᣖà¨Ñ›ý#ˆ¨ÑüQwnkó²=y±Xd~~ž/}éK¿•‹ÿ}E `8Í%tEXtdate:create2013-07-04T12:15:25+03:00RòÎ%tEXtdate:modify2009-04-06T14:24:34+03:00à5$IEND®B`‚xchm-1.23/art/xchmdoc-48.xpm0000644000175000001440000005130112210054137012500 00000000000000/* XPM */ static const char * xchmdoc_48_xpm[] = { "48 48 1020 2", " c None", ". c #C5C5C5", "+ c #D2D2D2", "@ c #CCCCCC", "# c #C1C1C1", "$ c #B6B6B6", "% c #B4B3B3", "& c #BEBEBE", "* c #CDCDCD", "= c #CACACA", "- c #C9C8C8", "; c #C8C8C7", "> c #C6C6C7", ", c #C3C4C5", "' c #BFC0C8", ") c #BABCC5", "! c #B5B8BF", "~ c #B2B4BA", "{ c #B4B5B8", "] c #BBBBBE", "^ c #BCBCBC", "/ c #D5D5D5", "( c #DDDDDD", "_ c #CECECE", ": c #C0C1C1", "< c #BBBCBC", "[ c #E3E3E3", "} c #E2E2E2", "| c #E1E1E1", "1 c #DFDFDF", "2 c #DEDEDE", "3 c #DEDEDD", "4 c #D8D9DD", "5 c #D2D4DC", "6 c #CED1DB", "7 c #D2D4DB", "8 c #D8D8DC", "9 c #D5D6D7", "0 c #D0D0D0", "a c #C6C6C6", "b c #BBBBBB", "c c #BFC0C0", "d c #B6B5B6", "e c #B2B1B1", "f c #C2C2C2", "g c #B8B8B8", "h c #BABABA", "i c #A6A6A6", "j c #939393", "k c #9B9B9B", "l c #D1D1D1", "m c #D6D6D6", "n c #DCDCDC", "o c #DBDBDC", "p c #D5D6DB", "q c #CFD1DC", "r c #D3D4DD", "s c #D8DADE", "t c #E0E1E1", "u c #E1E0E1", "v c #DEDDDE", "w c #C1C0C0", "x c #B3B3B3", "y c #B4B4B4", "z c #B1B1B1", "A c #A5A5A5", "B c #B9B9B9", "C c #A7A7A7", "D c #8F8F8F", "E c #C4C4C4", "F c #E0E0E0", "G c #DEDEDF", "H c #D5D7DF", "I c #D1D4DE", "J c #DADBE1", "K c #E4E4E4", "L c #E2E3E3", "M c #DCDBDB", "N c #D2D2D3", "O c #C1C4C5", "P c #B0B4B6", "Q c #989D9F", "R c #BDBEC0", "S c #B7B7B7", "T c #A8A8A8", "U c #929292", "V c #909090", "W c #C3C3C3", "X c #A0A0A0", "Y c #E2E2E4", "Z c #D7D9E1", "` c #D5D7E0", " . c #E1E2E5", ".. c #E7E7E7", "+. c #E6E6E6", "@. c #E5E5E5", "#. c #DCDEDE", "$. c #DADFE1", "%. c #D2DBDF", "&. c #C6D0D7", "*. c #A6B5BD", "=. c #9FAEB8", "-. c #86949D", ";. c #ACAEB0", ">. c #C5C9CB", ",. c #B0B0B0", "'. c #A9A9A9", "). c #A3A3A3", "!. c #8D8D8D", "~. c #858585", "{. c #7F8084", "]. c #7F848B", "^. c #6E7175", "/. c #7C7F7E", "(. c #676C6F", "_. c #5C5C5C", ":. c #78797B", "<. c #5A5B5C", "[. c #555C5B", "}. c #6B7781", "|. c #57626A", "1. c #91A0AA", "2. c #474F55", "3. c #565F64", "4. c #3F494E", "5. c #909193", "6. c #A6AAAD", "7. c #AFAFAF", "8. c #C0C0C0", "9. c #EBEBEB", "0. c #D3D3D3", "a. c #EDEDED", "b. c #ABAAAA", "c. c #909297", "d. c #85868A", "e. c #92979A", "f. c #77787A", "g. c #A2A5A6", "h. c #909397", "i. c #767978", "j. c #9AA2A5", "k. c #808C94", "l. c #7C8C91", "m. c #7E8F9D", "n. c #4C545A", "o. c #A2ADB7", "p. c #A1A9AD", "q. c #636769", "r. c #696F74", "s. c #9A9B9C", "t. c #F9F9F9", "u. c #D7D7D7", "v. c #BDC0C3", "w. c #AEAEAE", "x. c #B2B2B2", "y. c #D9D9D9", "z. c #E9E9E9", "A. c #DFE0E6", "B. c #D7DAE4", "C. c #E6E7EA", "D. c #EBEBEC", "E. c #E6E8EA", "F. c #D4E1E8", "G. c #C9DBE7", "H. c #BFD6E6", "I. c #C5D8E5", "J. c #CFDCE4", "K. c #D5DEE4", "L. c #D2DBE0", "M. c #CBD3D9", "N. c #B9C1C6", "O. c #9FA6AB", "P. c #A6A9AB", "Q. c #FFFFFF", "R. c #EEEEEE", "S. c #BDC0C2", "T. c #ADADAD", "U. c #CBCBCB", "V. c #EAEAEA", "W. c #E6E5E6", "X. c #E0E2E8", "Y. c #ECECED", "Z. c #E4E3E3", "`. c #B3B3B2", " + c #D3D6D9", ".+ c #BBC6CE", "++ c #A2B2BE", "@+ c #BAD2E0", "#+ c #B0BCC7", "$+ c #A9B3B9", "%+ c #C6CDD5", "&+ c #B3BBC2", "*+ c #C2CCD4", "=+ c #C4CED5", "-+ c #99A1A7", ";+ c #A2A9AE", ">+ c #A1A3A5", ",+ c #FBFBFB", "'+ c #C3C8CC", ")+ c #ABABAB", "!+ c #DADADA", "~+ c #DCDEE6", "{+ c #DDDFE7", "]+ c #EDEDEE", "^+ c #DCDDDC", "/+ c #8D8D8B", "(+ c #727B81", "_+ c #647178", ":+ c #7B8A96", "<+ c #A2B1BB", "[+ c #989CA3", "}+ c #767E83", "|+ c #70787C", "1+ c #565C60", "2+ c #6C7780", "3+ c #959DA6", "4+ c #606469", "5+ c #919596", "6+ c #A5A5A6", "7+ c #F7F7F7", "8+ c #C2C6C8", "9+ c #AAAAAA", "0+ c #DBDBDB", "a+ c #ECECEC", "b+ c #E8E8E8", "c+ c #E4E5E8", "d+ c #DADCE6", "e+ c #E5E6EB", "f+ c #EEEFEF", "g+ c #DCE6ED", "h+ c #CADEEB", "i+ c #C2D9E8", "j+ c #CFE0EB", "k+ c #D5E1E9", "l+ c #D4E1EA", "m+ c #D3E0EA", "n+ c #D2DFE8", "o+ c #D0DDE7", "p+ c #C6D4DD", "q+ c #BBC7D0", "r+ c #B7C3CA", "s+ c #AFB2B2", "t+ c #9D9D9D", "u+ c #D0D4D6", "v+ c #CCCDD0", "w+ c #DEE0E8", "x+ c #EDEEEF", "y+ c #EFEEEE", "z+ c #E5EAEE", "A+ c #CCE0ED", "B+ c #C5DCEC", "C+ c #CBDFED", "D+ c #C0CDD3", "E+ c #AEBAC4", "F+ c #ACBAC4", "G+ c #B6C4CD", "H+ c #A9B8C3", "I+ c #CAD9E5", "J+ c #C5D5DF", "K+ c #BAC8D1", "L+ c #B3B6B7", "M+ c #888888", "N+ c #777777", "O+ c #757575", "P+ c #787878", "Q+ c #7F7F7F", "R+ c #868686", "S+ c #D1D2D2", "T+ c #A6A6A4", "U+ c #E7E7E9", "V+ c #DADDE7", "W+ c #E7E8EC", "X+ c #EFEFEF", "Y+ c #EEEEEF", "Z+ c #D5E4EE", "`+ c #BAD0DD", " @ c #B7CBD9", ".@ c #C1D1DB", "+@ c #ACBAC1", "@@ c #8E9BA4", "#@ c #8E9AA5", "$@ c #93A1AA", "%@ c #84919A", "&@ c #8F9EAA", "*@ c #B4C4CF", "=@ c #B3C4CF", "-@ c #A9B8C1", ";@ c #BBBDBF", ">@ c #959595", ",@ c #8C8C8C", "'@ c #8B8B8B", ")@ c #8E8E8E", "!@ c #949494", "~@ c #9A9A9A", "{@ c #A1A1A1", "]@ c #D4D5D5", "^@ c #E4E5EA", "/@ c #DCDFE8", "(@ c #ECECEE", "_@ c #EFEFF0", ":@ c #F0EFEF", "<@ c #E1E9EF", "[@ c #C8DEED", "}@ c #B0C5D1", "|@ c #95A5AF", "1@ c #8F9CA7", "2@ c #A8B6C2", "3@ c #9BA9B3", "4@ c #8E9BA7", "5@ c #92A2AD", "6@ c #94A3AE", "7@ c #919FAA", "8@ c #96A5B2", "9@ c #96A4AD", "0@ c #7A8791", "a@ c #AAB5BF", "b@ c #A6AFB7", "c@ c #9BA3AC", "d@ c #9CA2A9", "e@ c #9EA4AA", "f@ c #A2A8AB", "g@ c #ABACAD", "h@ c #B6BCC0", "i@ c #F0F0F0", "j@ c #E1E2EA", "k@ c #E1E3EA", "l@ c #D5E4EF", "m@ c #C5DDEE", "n@ c #C5DDED", "o@ c #CCDFED", "p@ c #CADFED", "q@ c #CADEED", "r@ c #C9DDEC", "s@ c #C8DDEC", "t@ c #C6DBEA", "u@ c #C5DAE9", "v@ c #C3D7E6", "w@ c #BCD0E0", "x@ c #B0C4D4", "y@ c #A8BBCA", "z@ c #A2B4C3", "A@ c #9FB2C1", "B@ c #9FB1C1", "C@ c #9EB2C1", "D@ c #AAB7C3", "E@ c #C4C5C5", "F@ c #ADB2B7", "G@ c #B5B5B5", "H@ c #F1F1F1", "I@ c #EBEBED", "J@ c #DEE0EA", "K@ c #E8E9EE", "L@ c #F1F1F2", "M@ c #F0F0F1", "N@ c #EDEFF1", "O@ c #CDE0EE", "P@ c #C5DEEE", "Q@ c #C8DEEE", "R@ c #C9DEED", "S@ c #8D9CA5", "T@ c #7D8B94", "U@ c #83939F", "V@ c #8B9EAA", "W@ c #93A4B3", "X@ c #8C9EAA", "Y@ c #A7BCCA", "Z@ c #C1D7E8", "`@ c #BDD4E4", " # c #B8CEDE", ".# c #B4C9DB", "+# c #B0C7D7", "@# c #B0C6D6", "## c #AFC5D5", "$# c #ADC3D5", "%# c #B0C5D4", "&# c #D4D6D7", "*# c #A8ADB3", "=# c #ACACAC", "-# c #F2F2F2", ";# c #E8E9ED", "># c #DFE1EA", ",# c #EDEEF1", "'# c #F0F1F2", ")# c #E5EBF1", "!# c #C7DFEF", "~# c #C5DEEF", "{# c #C7DEEF", "]# c #C6DDEE", "^# c #C6DDED", "/# c #94A5B0", "(# c #81909A", "_# c #7A8C97", ":# c #8FA4B2", "<# c #8A9BA9", "[# c #758490", "}# c #A2B8C9", "|# c #BFD7EA", "1# c #BCD4E7", "2# c #BBD2E5", "3# c #B9D1E3", "4# c #B7D0E2", "5# c #B5CEE0", "6# c #B3CDE0", "7# c #B2CCDF", "8# c #B7CFDF", "9# c #E0E2E3", "0# c #AAADB3", "a# c #F3F3F3", "b# c #E6E7ED", "c# c #E1E3EC", "d# c #F1F1F3", "e# c #F3F2F2", "f# c #DCE7F0", "g# c #C3DCEE", "h# c #C4DDEE", "i# c #C4DCED", "j# c #C2DAEC", "k# c #C1D8EA", "l# c #A9BECE", "m# c #A5BBCC", "n# c #9AAFBF", "o# c #A1B5C5", "p# c #9DB2C2", "q# c #97ABBC", "r# c #AFC7DA", "s# c #BED8EA", "t# c #BCD7EA", "u# c #BAD5E8", "v# c #B8D3E6", "w# c #B7D1E5", "x# c #B5D0E4", "y# c #B3CFE3", "z# c #B4D0E2", "A# c #BCD4E2", "B# c #E5E6E7", "C# c #F4F4F4", "D# c #E4E6ED", "E# c #E2E5ED", "F# c #F2F2F3", "G# c #F1F0F2", "H# c #D3E3EF", "I# c #C1DAED", "J# c #C1DAEC", "K# c #BCD6E9", "L# c #B9D3E6", "M# c #B8D2E5", "N# c #B6D0E4", "O# c #BBD6E8", "P# c #C0DAEB", "Q# c #C5DDEC", "R# c #CBE0ED", "S# c #CFE2ED", "T# c #CEE1EC", "U# c #CDE0EB", "V# c #CCDFEB", "W# c #CBDEE9", "X# c #D2E0EA", "Y# c #D8E2E9", "Z# c #E1E7EA", "`# c #A5ABB4", " $ c #F5F5F5", ".$ c #818383", "+$ c #77787C", "@$ c #73757D", "#$ c #8F9092", "$$ c #818686", "%$ c #A4A7AA", "&$ c #CDDEED", "*$ c #BED8EB", "=$ c #BBD5E8", "-$ c #B6D0E3", ";$ c #B2CDE0", ">$ c #B0CBDF", ",$ c #B0CBDE", "'$ c #B1CCE0", ")$ c #BAD4E5", "!$ c #CFE1EC", "~$ c #E2EBF0", "{$ c #EEF0F2", "]$ c #F1F2F2", "^$ c #96A2AD", "/$ c #D2D3D3", "($ c #BCBCC3", "_$ c #BABCC4", ":$ c #C3C4C6", "<$ c #D4D6D9", "[$ c #CCDEED", "}$ c #BCD6EA", "|$ c #B7D1E4", "1$ c #AFCADD", "2$ c #AEC9DC", "3$ c #ADC9DC", "4$ c #ACC8DC", "5$ c #ADC8DC", "6$ c #B1CDE0", "7$ c #D9E6ED", "8$ c #F3F3F2", "9$ c #CEDAE7", "0$ c #8C9CAD", "a$ c #EFEEEF", "b$ c #E7E9F0", "c$ c #E2E4EB", "d$ c #F4F4F6", "e$ c #F2F3F5", "f$ c #CADBEA", "g$ c #B8D2E6", "h$ c #B1CCE1", "i$ c #ACC5D9", "j$ c #AAC6DA", "k$ c #ACC7DB", "l$ c #ABC6DB", "m$ c #A9C4D8", "n$ c #B4CFDF", "o$ c #E8EDED", "p$ c #EBEDED", "q$ c #ECEDED", "r$ c #DADFE4", "s$ c #BCCAD9", "t$ c #B0C9E2", "u$ c #8C9FAD", "v$ c #B2B2B5", "w$ c #B5B7BC", "x$ c #ABAEB2", "y$ c #B2B3B6", "z$ c #B6B9BE", "A$ c #C0C0C3", "B$ c #979FAA", "C$ c #7F95A8", "D$ c #798A99", "E$ c #8CA1B0", "F$ c #839CAE", "G$ c #8EA6B7", "H$ c #8BA2B5", "I$ c #7C92A2", "J$ c #8B9DAA", "K$ c #AEAFB5", "L$ c #A6A1A4", "M$ c #C1C3C6", "N$ c #A8ACB1", "O$ c #C9CACA", "P$ c #C3C3C7", "Q$ c #B4B5B7", "R$ c #B6B7BC", "S$ c #ADAFB0", "T$ c #A4A6AD", "U$ c #A0A1A7", "V$ c #A3AFB9", "W$ c #92A0B0", "X$ c #7F92A3", "Y$ c #778EA4", "Z$ c #B2CFE6", "`$ c #8B9FAD", " % c #FAFAFA", ".% c #F6F6F6", "+% c #EDEEF3", "@% c #E5E7F1", "#% c #F2F3F6", "$% c #F4F5F7", "%% c #F6F6F8", "&% c #DCE6F0", "*% c #B9D3E8", "=% c #B7D2E6", "-% c #B1CDE2", ";% c #AFCBE1", ">% c #AFCCE1", ",% c #C0D8E7", "'% c #F5F6F6", ")% c #D8E1EA", "!% c #B2C6DA", "~% c #B4CADD", "{% c #B4C9DC", "]% c #B5CADD", "^% c #B3C8DB", "/% c #AFC6DA", "(% c #ACC4D9", "_% c #A7C1D8", ":% c #A7C3D9", "<% c #A8C4DA", "[% c #A7C4DA", "}% c #B1CDE3", "|% c #8B9DAB", "1% c #C8C8C9", "2% c #CED0D2", "3% c #B8B9C2", "4% c #BEBFC4", "5% c #C1C2C6", "6% c #BCBCC1", "7% c #C4C7CB", "8% c #9FB2C3", "9% c #93ACBD", "0% c #90A7B8", "a% c #8EA7BA", "b% c #91A9BD", "c% c #93ACBF", "d% c #859CB0", "e% c #8FA1AF", "f% c #CED1D2", "g% c #D5D4D5", "h% c #C9CBCC", "i% c #CCCCCB", "j% c #A8B2BB", "k% c #859AAD", "l% c #8FA7BC", "m% c #8DA5B9", "n% c #89A1B4", "o% c #8399AC", "p% c #889FB4", "q% c #8BA4B8", "r% c #91ABBC", "s% c #879FB1", "t% c #8AA3B7", "u% c #A0BCD2", "v% c #B0CDE3", "w% c #899DAC", "x% c #FCFCFC", "y% c #F6F6F7", "z% c #E6E8F1", "A% c #EBEDF3", "B% c #F5F5F8", "C% c #F4F5F8", "D% c #F1F2F6", "E% c #C3D6E9", "F% c #B6D1E6", "G% c #B4D0E4", "H% c #AFCCE3", "I% c #B3CFE4", "J% c #C8DAE9", "K% c #CBDCEA", "L% c #CADBE9", "M% c #C8D8E7", "N% c #BACFE1", "O% c #ABC8E0", "P% c #ADCAE1", "Q% c #ACCAE0", "R% c #ACC9E0", "S% c #ABC8DF", "T% c #AAC8DE", "U% c #A8C6DD", "V% c #A8C5DC", "W% c #A6C4DB", "X% c #B0CEE5", "Y% c #BEBDBC", "Z% c #B8BEC5", "`% c #C6C7CF", " & c #B8BABE", ".& c #AEAFB2", "+& c #C9CCCE", "@& c #9AA5B0", "#& c #8EA2B2", "$& c #869CAE", "%& c #8397A9", "&& c #88A0B4", "*& c #8DA2B6", "=& c #8FAABD", "-& c #8CA1B1", ";& c #A8B7BF", ">& c #A7AFB4", ",& c #AEB4B8", "'& c #92A0AE", ")& c #7F94A4", "!& c #86A0B3", "~& c #7D92A5", "{& c #87A1B6", "]& c #94AEC4", "^& c #869EAF", "/& c #8CA5BB", "(& c #88A1B6", "_& c #829AAE", ":& c #7E95A4", "<& c #7E96A9", "[& c #97B4CC", "}& c #B2D0E7", "|& c #899EAE", "1& c #FDFDFD", "2& c #F8F8F8", "3& c #F2F2F6", "4& c #E5E8F1", "5& c #F0F2F6", "6& c #F4F6F8", "7& c #E5EAF2", "8& c #B9CEE4", "9& c #B5D0E5", "0& c #B3CFE5", "a& c #AFCDE5", "b& c #AFCDE4", "c& c #B4D3E8", "d& c #E2EDF4", "e& c #D6E3EE", "f& c #ABC9E2", "g& c #ADCBE3", "h& c #ACCBE2", "i& c #ACCAE2", "j& c #ABCAE1", "k& c #AAC9E1", "l& c #A9C8E0", "m& c #A8C6DF", "n& c #B3D2E9", "o& c #8A9EAF", "p& c #FEFEFE", "q& c #C0BFC0", "r& c #C7C8C9", "s& c #BABABE", "t& c #B8BBC5", "u& c #B3B6BC", "v& c #C0C2C2", "w& c #BFC0C3", "x& c #BCBCC0", "y& c #9EA7B4", "z& c #879BAD", "A& c #8FA6B8", "B& c #8199AD", "C& c #96ADBE", "D& c #CCCDCE", "E& c #BBBEBF", "F& c #B0B2B2", "G& c #B3B5B8", "H& c #CFCECF", "I& c #BBBEC4", "J& c #7D94A7", "K& c #8AA2B4", "L& c #819AB0", "M& c #88A0B3", "N& c #869FB3", "O& c #869DB0", "P& c #7E98AB", "Q& c #8098AD", "R& c #9BB9CF", "S& c #A8C6DE", "T& c #A9C8E1", "U& c #B3D2EB", "V& c #BDBDBD", "W& c #EFF0F5", "X& c #E6E9F2", "Y& c #F0F1F6", "Z& c #EAEEF4", "`& c #B9CCE2", " * c #B3CDE4", ".* c #B3D0E5", "+* c #B0CEE7", "@* c #AFCEE7", "#* c #DCE8F2", "$* c #DAE4EE", "%* c #ACC8E1", "&* c #ADCCE5", "** c #ACCCE5", "=* c #ACCCE4", "-* c #ACCBE4", ";* c #ABCBE3", ">* c #ABCAE3", ",* c #AACAE3", "'* c #A9C9E2", ")* c #B3D3EC", "!* c #8CA0AF", "~* c #C4C3C3", "{* c #B6B6B7", "]* c #DADDE0", "^* c #E7E9F3", "/* c #EBECF4", "(* c #F4F5F9", "_* c #F3F4F8", ":* c #DEE5EF", "<* c #B4C9E1", "[* c #B3CEE4", "}* c #B3D0E6", "|* c #AFCEE6", "1* c #B1CEE6", "2* c #D9E4EF", "3* c #E7EDF3", "4* c #D5E0EC", "5* c #B3CBE2", "6* c #ADCBE4", "7* c #AECDE7", "8* c #ADCDE6", "9* c #ADCCE6", "0* c #ACCBE5", "a* c #ABCBE4", "b* c #AACAE4", "c* c #8CA0B1", "d* c #F7F5F5", "e* c #E6E9F3", "f* c #EFF0F6", "g* c #F0F1F4", "h* c #D2DCEA", "i* c #ACC2DB", "j* c #B2CFE4", "k* c #ADCBE6", "l* c #AFCAE3", "m* c #AEC8E1", "n* c #ACC8E3", "o* c #AECEE7", "p* c #ABCBE5", "q* c #B3D3ED", "r* c #8DA1B0", "s* c #B8B8BA", "t* c #BDBFC1", "u* c #C5C5C6", "v* c #BFC1C3", "w* c #A9ABAE", "x* c #BABDC7", "y* c #AEB3B9", "z* c #B8B9BC", "A* c #A9ABAF", "B* c #B7B9BC", "C* c #9EA9B8", "D* c #889BB0", "E* c #8397AB", "F* c #8AA0B1", "G* c #8099AC", "H* c #7E96AA", "I* c #8FA8BC", "J* c #8198AE", "K* c #7B94A7", "L* c #90ACC2", "M* c #7C93AA", "N* c #87A0B5", "O* c #8099AD", "P* c #859BAD", "Q* c #7E96AE", "R* c #86A1B7", "S* c #7B8FA0", "T* c #758FA5", "U* c #8EAAC1", "V* c #B3D2EA", "W* c #F5F6F8", "X* c #E6E8F2", "Y* c #EBEDF5", "Z* c #F3F5F9", "`* c #F3F4F9", " = c #F2F4F8", ".= c #F1F4F8", "+= c #D3DCEB", "@= c #B2C5DD", "#= c #AFC8E0", "$= c #B1CEE3", "%= c #B1CFE6", "&= c #AFCFE9", "*= c #AFCFEA", "== c #AECEE9", "-= c #ADCEE8", ";= c #ADCDE8", ">= c #ACCCE7", ",= c #B2CDE5", "'= c #8B99AA", ")= c #C7C7C7", "!= c #BEC0C1", "~= c #C6C8CA", "{= c #BABBBB", "]= c #BDBEC1", "^= c #B0B2B4", "/= c #A4A8B2", "(= c #B9BAC0", "_= c #B2B4B7", ":= c #AFB2B5", "<= c #B0B2B6", "[= c #9C9EA8", "}= c #8D97A5", "|= c #92A7BD", "1= c #8699AA", "2= c #7F95A9", "3= c #7C93A6", "4= c #8BA5B7", "5= c #8198AD", "6= c #7F97AC", "7= c #89A2BA", "8= c #7C95AB", "9= c #7890A3", "0= c #75899C", "a= c #8098AA", "b= c #8AA4B7", "c= c #94ABC0", "d= c #A8BDD5", "e= c #B7C9E1", "f= c #A4AAB3", "g= c #C9C9C9", "h= c #F1F2F7", "i= c #F2F3F8", "j= c #F2F4F9", "k= c #F0F2F8", "l= c #D4DDEB", "m= c #BECDE2", "n= c #B2C6DE", "o= c #AEC5DE", "p= c #AEC8E0", "q= c #AFCAE1", "r= c #AFCBE2", "s= c #AECBE2", "t= c #ADC9E0", "u= c #ACC7DF", "v= c #ACC4DC", "w= c #ACC1DA", "x= c #B4C5DC", "y= c #C4D0E2", "z= c #E7ECF6", "A= c #FCFBFC", "B= c #E9ECF4", "C= c #EFF2F7", "D= c #E3E8F2", "E= c #CCD7E7", "F= c #BACADF", "G= c #B1C3DC", "H= c #AFC3DB", "I= c #AEC3DB", "J= c #AFC1DA", "K= c #B2C3DB", "L= c #C0CDE1", "M= c #D5DDEB", "N= c #E7EAF2", "O= c #EDF0F5", "P= c #F4F6FC", "Q= c #B6B8BB", "R= c #FCFBFB", "S= c #F5F6F9", "T= c #E9EBF4", "U= c #E8EBF4", "V= c #EDEFF6", "W= c #F1F2F8", "X= c #F1F3F8", "Y= c #ECEFF5", "Z= c #E6EAF3", "`= c #E0E6F1", " - c #DDE4EF", ".- c #DBE3EE", "+- c #DEE4EF", "@- c #E1E7F1", "#- c #E7EBF3", "$- c #EFF1F7", "%- c #EEF0F6", "&- c #EDEFF5", "*- c #F3F6FB", "=- c #B6B6BB", "-- c #D2D3D2", ";- c #F4F5F4", ">- c #FCFDFC", ",- c #FDFDFC", "'- c #979797", ")- c #838383", "!- c #8B8C8C", "~- c #B5B7BB", "{- c #828389", "]- c #C4C6CD", "^- c #EEF0F7", "/- c #87888B", "(- c #CBCDD1", "_- c #88888C", ":- c #87888C", "<- c #6A6B6D", "[- c #AFB0B3", "}- c #EFF1F6", "|- c #F1F3FA", "1- c #B3B3B9", "2- c #A2A2A2", "3- c #8A8B8C", "4- c #C6C8CE", "5- c #E7EAF4", "6- c #838489", "7- c #86878B", "8- c #737477", "9- c #DEE0E5", "0- c #B7B9BD", "a- c #ADAFB3", "b- c #F0F1F8", "c- c #EBEEF5", "d- c #EAEDF6", "e- c #AFB0B6", "f- c #D4D4D4", "g- c #6A6A6D", "h- c #C4C6CE", "i- c #828489", "j- c #9FA0A6", "k- c #A9AAB1", "l- c #8D8E93", "m- c #9FA1A7", "n- c #AAACB2", "o- c #ECEEF6", "p- c #EAECF5", "q- c #EAECF4", "r- c #E7E9F2", "s- c #F7F8FB", "t- c #A4A4A4", "u- c #89898C", "v- c #D3D4D9", "w- c #7C7D80", "x- c #A8AAB0", "y- c #EBEDF4", "z- c #F5F5F7", "A- c #848484", "B- c #BFBFBF", "C- c #9C9C9C", "D- c #747474", "E- c #646464", "F- c #575757", "G- c #555555", "H- c #525252", "I- c #535353", "J- c #565656", "K- c #5A5A5A", "L- c #5E5E5E", "M- c #606060", "N- c #636363", "O- c #666666", "P- c #676767", "Q- c #6B6B6B", "R- c #6C6C6C", "S- c #6E6E6E", "T- c #6F6F6F", "U- c #717171", "V- c #727272", "W- c #737373", "X- c #767676", "Y- c #7A7A7A", "Z- c #7E7E7E", "`- c #9F9F9F", " ; c #989898", ".; c #969696", "+; c #8A8A8A", "@; c #878787", "#; c #808080", "$; c #818181", "%; c #7D7D7D", "&; c #7C7C7C", " . + @ # $ % & @ * @ = - ; > . , ' ) ! ~ { ] ", " & ^ / ( _ : < ^ ^ [ } | 1 2 3 4 5 6 7 8 9 0 a b c ", " d e # f g h i j k l m n 2 o p q r s t u v m @ w e x ", " y z A y B C D A E . f l F G H I J K K L | u M N O P Q R ", " z S T h U V b W b z X b Y Z ` ...+.@.F #.$.%.&.*.=.-.;.>. ", " z h ,.= '.h ).'.& / !.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5...6. ", " 7.8.x n 9.0.$ @.a.@.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v. ", " w.E x.y.9.z.9.9.z...A.B.C.a.D.9.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.u.S. ", " T.U.z y.V.+.+...W. .B.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+Q.,+9.u.'+ ", " )+0 z !+9.........~+{+]+]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+Q.Q.Q.7+( 8+ ", " 9+m z 0+a+b+b+b+c+d+e+f+R.Y.g+h+i+j+k+l+m+n+o+p+q+r+s+V t+w.x . + _ u+v+ ", " A y.z n a.z.z.z.~+w+]+x+y+z+A+B+C+D+*.E+F+G+H+I+J+K+L+k M+N+O+P+Q+R+V S+ ", " T+0+x ( R.V.V.U+V+W+X+Y+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@C >@,@'@'@)@!@~@{@]@ ", " A n y 2 X+V.9.^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@T.T.9+. h@ ", " 9+( y 1 i@a+a+j@k@_@_@_@l@m@n@o@C+C+p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@# ^ . F@ ", " 9+2 G@F H@a.I@J@K@L@M@N@O@P@Q@R@[@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#l = _ *# ", " =#2 $ | -#R.;#>#,#'#L@)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#( u.!+0# ", " T.F S } a#X+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#B#K 2 | 0# ", " z F S } C#R.D#E#d#F#G#H#I#J#K#L#M#w#N#w#L#O#P#Q#R#S#T#U#V#W#X#Y#Z#z...@.V.`# ", " x | g K $.$+$@$#$$$%$&$*$=$-$;$>$,$,$'$)$!$~${$]$-#H@i@i@X+R.a.9.V.z.b+_@^$ ", " $ K B @.7+/$($_$v+:$<$[$}$|$1$2$3$4$5$6$7$ $C#C#C#a#8$-#-#i@i@X+R.a.9.V.9$0$ ", " S K h ..t.a$b$c$G#d$e$f$g$h$i$j$k$l$m$n$o$R.Y+R.H@R.R.X+a.p$q$z.R.V.r$s$t$u$ ", " g @.h ..t.v$w$x$y$z$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$d S$T$U$V$W$X$Y$Z$`$ ", " B @.h z. %.%+%@%#%$%%%&%*%=%-%;%;%;%>%,%'%7+7+.%)%!%~%{%]%^%/%(%_%:%<%[%}%|% ", " h +.b z.,+1%2%3%4%5%6%7%8%9%0%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w% ", " & ..^ V.x%7+y%z%A%B%C%D%E%F%G%v%H%H%H%I%J%K%L%M%N%O%P%P%Q%R%S%S%T%U%V%W%X%w% ", " 8.b+b z.x%Y%& Z%`% &.&+&@&#&$&%&&&*&=&-&;&>&,&'&)&!&~&{&]&^&/&(&_&:&<&[&}&|& ", " W V.b z.1&2&2&3&4&5&6&B%7&8&9&0&a&b&c&d&2&2&2&2&e&f&g&h&h&i&i&j&j&k&l&m&n&o& ", " E 9.^ z.p&q&r&s&t&u&v&w&x&y&z&A&n%B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&o& ", " V&. a.^ b+p&t.t.t.W&X&Y&C%C%Z&`& *.*+*@*#*t.t.t.t.$*%*&*&***=*-*;*;*>*,*'*)*!* ", " b . R.^ ..Q.~*b {*]*^*/*(*_*C%:*<*[*}*|*1*2*3*3*4*5*6*7*8*9*9*****0*a*a*b*)*c* ", " g a i@^ ..Q.d* % % %Y&e*f*$%_*g*h*i*[*j*@*k*l*m*n*9*o*7*9*7*&*0*9*p*p*0*p*q*r* ", " B a H@b ..Q.s*t*u*v*Q$w*x*y*z*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*p*V*`$ ", " g a a#b ..Q.,+,+,+ % %W*X*Y*Z*`* =.=+=@=#=$=%=&=*=*=====-=;=;=;=;=;=>=**R%,='= ", " S )= $^ ..Q.!=V&~={=]=* ^=/=R$(=_=:=<=[=}=|=1=2=3=4=H*5=6=7=8=9=0=a=b=c=d=e=f= ", " G@g= $^ ..Q.,+,+,+,+,+,+,+h=^*Y*i=j=i=Z*k=l=m=n=o=p=q=r=r=s=P%t=u=v=w=x=y=z=z* ", " G@= $^ ..Q.x%A=A=,+,+,+,+,+_*^*B=k= =i=i=Z*C=D=E=F=G=H=H=I=I=J=K=L=M=N=O=P=Q= ", " y * C#^ b+Q.x%x%x%x%x%R=,+,+,+S=T=U=V=W= =X=X= =X=Y=Z=`= -.-+-@-#-V=$-%-&-*-=- ", " z --;-^ b+Q.x%>-,-1&1&1&x%-#'-)-!-~-{-]-^-/-(-_-:-X=i=<-[-.=X=W=k=$-%-}-%-|-1- ", " =#m $V&z.Q.1&1&1&1&1&1&1&2-S 1&x%x%3-4-5-6-4-7-8-9-0-8-a-k=k=k=b-$-^-c-N=d-e- ", " '.y. $& z.Q.p&p&p&p&1&1&1&)@f-1&1&1&)@)-3-g-h-i-j-k-l-m-n-o-Y*p-q-U=r-X*/*s-t- ", " 9+0+ $& z.Q.p&p&p&p&p&p&1&2-S 1&1&1&)@f-1&!.N u-v-w-l-x-x-T=T=q-y-&-Y&z-t.Q.2- ", " C n $& z.Q.p&p&p&p&p&p&p&C#)@A-)@8.)@f-1&)@f-!.x%'-= $ $ ,+,+,+,+ % % % %Q.2- ", " 9+1 .%& z.Q.p&p&p&p&p&p&p&p&p&p&p&p&1&1&1&1&1&1&1&>-x%x%x%x%x%,+,+,+,+ % %Q.2- ", " 7.b+.%B-X+Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.9+ ", " w.& & C-7.B-b ^ ^ ^ ^ ^ ^ V&V&V&& & & B-B-& B-B-B-B-B-8.B-B-B-B-B-B-& $ y f {@ ", " 8.~@~.D-E-F-G-H-G-H-I-J-F-K-L-M-N-O-P-P-Q-R-S-T-U-V-W-W-D-D-X-P+Y-Z-V-P-)- ", " B 7.9+t-{@`-C-~@ ; ;>@.;U !.'@+;@;R+M+~.A-)-#;$;Z-Z-%;&;&;&;Q++;A "}; xchm-1.23/config.guess0000755000175000001440000011576312210054152011640 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002 Free Software Foundation, Inc. timestamp='2002-10-21' # 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # 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 Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. 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 (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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. # This shell variable is my proudest work .. or something. --bje set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; (old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; dummy=$tmpdir/dummy ; files="$dummy.c $dummy.o $dummy.rel $dummy" ; trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; 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 ; rm -f $files ; 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 ; unset files' # 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 # 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 tupples: *-*-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=`(/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 ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null 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 # The OS release release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; macppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvmeppc:OpenBSD:*:*) echo powerpc-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mipseb-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sun3:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # 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. eval $set_cc_for_build cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null if test "$?" = 0 ; then case `$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; 2-1307) UNAME_MACHINE="alphaev68" ;; 3-1307) UNAME_MACHINE="alphaev7" ;; esac fi rm -f $dummy.s $dummy && rmdir $tmpdir echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; 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 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; 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 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; 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 0 ;; 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 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; 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 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; # 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 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; 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 \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 rm -f $dummy.c $dummy && rmdir $tmpdir echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:*:*:PowerMAX_OS) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; 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 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????: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 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; 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 0 ;; *: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 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 rm -f $dummy.c $dummy && rmdir $tmpdir echo rs6000-ibm-aix3.2.5 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 0 ;; *:AIX:*:[45]) 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/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 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` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy && rmdir $tmpdir fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 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 && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 rm -f $dummy.c $dummy && rmdir $tmpdir echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; 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 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; 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 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) # Determine whether the default compiler uses glibc. eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #if __GLIBC__ >= 2 LIBC=gnu #else LIBC= #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` rm -f $dummy.c && rmdir $tmpdir echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; x86:Interix*:3*) echo i386-pc-interix3 exit 0 ;; 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 i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` rm -f $dummy.c && rmdir $tmpdir test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; 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 ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit 0 ;; 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-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit 0 ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` rm -f $dummy.c && rmdir $tmpdir test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; 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 0 ;; 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 0 ;; 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 0 ;; i*86:*:5:[78]*) 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 0 ;; 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 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; 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 i386. echo i386-pc-msdosdjgpp exit 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; 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 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*: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) 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 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *: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 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; 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 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *: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 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *: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 0 ;; 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 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 rm -f $dummy.c $dummy && rmdir $tmpdir # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp 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` /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: xchm-1.23/config.h.in0000644000175000001440000000530312210054246011333 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS 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 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 you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `chm' library (-lchm). */ #undef HAVE_LIBCHM /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* 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_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 you have the header file. */ #undef HAVE_XMLRPC_H /* Name of package */ #undef PACKAGE /* 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 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Compile with XmlRpc functionality. */ #undef WITH_LIBXMLRPC /* Define to `short' if does not define. */ #undef int16_t /* Define to `int' if does not define. */ #undef int32_t /* Define to `unsigned short' if does not define. */ #undef uint16_t /* Define to `unsigned int' if does not define. */ #undef uint32_t /* Define to `unsigned long long' if does not define. */ #undef uint64_t xchm-1.23/config.rpath0000755000175000001440000003502512210054137011623 00000000000000#! /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-2005 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 M$VC, # 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/'` cc_basename=`echo "$CC" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case "$cc_basename" in xlc*) wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # 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 ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # 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 ;; netbsd*) ;; solaris* | sysv5*) 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 ;; sunos4*) hardcode_direct=yes ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then # 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' 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 ;; aix4* | aix5*) 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].*|aix5*) 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 hardcode_direct=yes 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*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # 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 test "$GCC" = yes ; then : else case "$cc_basename" in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | kfreebsd*-gnu | 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* | hpux11*) if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=no ;; ia64*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; *) 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 ;; 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=: ;; openbsd*) 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 ;; 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=: ;; sco3.2v5*) ;; 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.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; kfreebsd*-gnu) ;; freebsd*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case "$host_cpu" in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; irix5* | irix6* | nonstopux*) 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*) ;; knetbsd*-gnu) ;; netbsd*) ;; newsos6) ;; nto-qnx*) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; sco3.2v5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ;; sysv4*MP*) ;; uts4*) ;; 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_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=/' <. Submit a context # diff and a properly formatted ChangeLog entry. # # 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. # 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 $0 [OPTION] 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 (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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 0;; * ) 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* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) 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) os= basic_machine=$1 ;; -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 ;; -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/'` ;; -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*) 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 \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k \ | m32r | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa64 | mipsisa64el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # 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-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* \ | m32r-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39 | mipstx39el \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; 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 ;; 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 ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; 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 ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; 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 ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; 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'm not sure what "Sysv32" means. Should this be sysv3.2? 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 ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; 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 ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; 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 ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; 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 ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-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-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) 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 ;; 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 ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; 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 ;; 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 ;; t3d) basic_machine=alpha-cray os=-unicos ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic4x | c4x*) basic_machine=tic4x-unknown os=-coff ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; 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 ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; windows32) basic_machine=i386-pc os=-windows32-msvcrt ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-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 ;; 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 ;; sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv9 | sparcv9b) 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. -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* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -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*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -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 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -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 ;; -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 ;; -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 *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; # 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 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; 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 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-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 ;; -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 ;; -ptx*) vendor=sequent ;; -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 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xchm-1.23/configure0000755000175000001440000101057112210054243011220 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for xchm 1.23. # # # 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" 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 about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do 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'" 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='xchm' PACKAGE_TARNAME='xchm' PACKAGE_VERSION='1.23' PACKAGE_STRING='xchm 1.23' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="src/chmfile.cpp" # 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='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS CXXCPP EGREP GREP CPP am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR am__untar am__tar AMTAR am__leading_dot AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc LINKOPT WX_VERSION_MICRO WX_VERSION_MINOR WX_VERSION_MAJOR WX_RESCOMP WX_VERSION WX_LIBS_STATIC WX_LIBS WX_CXXFLAGS_ONLY WX_CFLAGS_ONLY WX_CXXFLAGS WX_CFLAGS WX_CPPFLAGS WX_CONFIG_PATH POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS host_os host_vendor host_cpu host build_os build_vendor build_cpu build OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC MSGMERGE XGETTEXT GMSGFMT MSGFMT USE_NLS MKINSTALLDIRS INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM SET_MAKE 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_nls with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix with_wxdir with_wx_config with_wx_prefix with_wx_exec_prefix enable_static enable_debug enable_optimize enable_xmlrpc enable_dependency_tracking ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP' # 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 xchm 1.23 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/xchm] --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 xchm 1.23:";; 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] --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --enable-static link statically to wxWidgets. --enable-debug compile with gdb debug information. --enable-optimize optimize compiled code (-O2). --enable-xmlrpc Enable XmlRpc functionality in xchm. --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build 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-wxdir=PATH Use uninstalled version of wxWidgets in PATH --with-wx-config=CONFIG wx-config script to use (optional) --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional) --with-wx-exec-prefix=PREFIX Exec prefix where wxWidgets is installed (optional) 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 CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor 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 the package provider. _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 xchm configure 1.23 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_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_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_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_cxx_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_cxx_try_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_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_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { 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. */ $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_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;} ;; 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_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_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_cxx_preproc_warn_flag$ac_cxx_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_cxx_try_cpp # ac_fn_cxx_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_cxx_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_cxx_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_cxx_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_cxx_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;} ;; 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_cxx_check_header_mongrel # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_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_cxx_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_cxx_try_link 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 xchm $as_me 1.23, 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 # 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" { $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 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' MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi { $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; } # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 if test "$GMSGFMT" != ":"; then if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 $as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } GMSGFMT=":" fi fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --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 : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi rm -f messages.po fi ac_config_commands="$ac_config_commands default-1" 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" 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 # 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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&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. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path 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 "$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 ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do 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 GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" 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; } 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 ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's 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" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" 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 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/lib" fi fi fi LIBICONV= LTLIBICONV= INCICONV= 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= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi 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 "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi 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/lib"; 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 "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$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 "$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 */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` 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/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; 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 "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$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=\"$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_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework 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 CPPFLAGS="$gt_save_CPPFLAGS" 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_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework 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 CPPFLAGS="$gt_save_CPPFLAGS" 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 { $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; } LIBINTL= LTLIBINTL= POSUB= if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no { $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 ${gt_cv_func_gnugettext1_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libc=yes else gt_cv_func_gnugettext1_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 $as_echo "$gt_cv_func_gnugettext1_libc" >&6; } if test "$gt_cv_func_gnugettext1_libc" != "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 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 int main () { /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* 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 const char input[] = "\263"; char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : am_cv_func_iconv_works=yes else am_cv_func_iconv_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi 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/lib" fi fi fi LIBINTL= LTLIBINTL= INCINTL= 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= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi 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 "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi 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/lib"; 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 "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$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 "$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 */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` 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/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; 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 "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$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=\"$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 ${gt_cv_func_gnugettext1_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 extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libintl=yes else gt_cv_func_gnugettext1_libintl=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext1_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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 $as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } fi if test "$gt_cv_func_gnugettext1_libc" = "yes" \ || { test "$gt_cv_func_gnugettext1_libintl" = "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 test "$gt_cv_func_gnugettext1_libintl" = "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 test "$gt_cv_func_gnugettext1_libintl" = "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" # Check whether --with-wxdir was given. if test "${with_wxdir+set}" = set; then : withval=$with_wxdir; wx_config_name="$withval/wx-config" wx_config_args="--inplace" fi # Check whether --with-wx-config was given. if test "${with_wx_config+set}" = set; then : withval=$with_wx_config; wx_config_name="$withval" fi # Check whether --with-wx-prefix was given. if test "${with_wx_prefix+set}" = set; then : withval=$with_wx_prefix; wx_config_prefix="$withval" else wx_config_prefix="" fi # Check whether --with-wx-exec-prefix was given. if test "${with_wx_exec_prefix+set}" = set; then : withval=$with_wx_exec_prefix; wx_config_exec_prefix="$withval" else wx_config_exec_prefix="" fi if test x${WX_CONFIG_NAME+set} != xset ; then WX_CONFIG_NAME=wx-config fi if test "x$wx_config_name" != x ; then WX_CONFIG_NAME="$wx_config_name" fi if test x$wx_config_exec_prefix != x ; then wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" fi if test x$wx_config_prefix != x ; then wx_config_args="$wx_config_args --prefix=$wx_config_prefix" WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" fi if test "$cross_compiling" = "yes"; then wx_config_args="$wx_config_args --host=$host_alias" fi if test -x "$WX_CONFIG_NAME" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wx-config" >&5 $as_echo_n "checking for wx-config... " >&6; } WX_CONFIG_PATH="$WX_CONFIG_NAME" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5 $as_echo "$WX_CONFIG_PATH" >&6; } else # Extract the first word of "$WX_CONFIG_NAME", so it can be a program name with args. set dummy $WX_CONFIG_NAME; 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_WX_CONFIG_PATH+:} false; then : $as_echo_n "(cached) " >&6 else case $WX_CONFIG_PATH in [\\/]* | ?:[\\/]*) ac_cv_path_WX_CONFIG_PATH="$WX_CONFIG_PATH" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_dummy=""$WX_LOOKUP_PATH:$PATH"" for as_dir in $as_dummy 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_WX_CONFIG_PATH="$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_WX_CONFIG_PATH" && ac_cv_path_WX_CONFIG_PATH="no" ;; esac fi WX_CONFIG_PATH=$ac_cv_path_WX_CONFIG_PATH if test -n "$WX_CONFIG_PATH"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WX_CONFIG_PATH" >&5 $as_echo "$WX_CONFIG_PATH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test "$WX_CONFIG_PATH" != "no" ; then WX_VERSION="" min_wx_version=2.8.0 if test -z "" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version" >&5 $as_echo_n "checking for wxWidgets version >= $min_wx_version... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets version >= $min_wx_version ()" >&5 $as_echo_n "checking for wxWidgets version >= $min_wx_version ()... " >&6; } fi WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args " WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null` wx_config_major_version=`echo $WX_VERSION | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` wx_config_minor_version=`echo $WX_VERSION | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` wx_config_micro_version=`echo $WX_VERSION | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` wx_requested_major_version=`echo $min_wx_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` wx_requested_minor_version=`echo $min_wx_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` wx_requested_micro_version=`echo $min_wx_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` wx_ver_ok="" if test "x$WX_VERSION" != x ; then if test $wx_config_major_version -gt $wx_requested_major_version; then wx_ver_ok=yes else if test $wx_config_major_version -eq $wx_requested_major_version; then if test $wx_config_minor_version -gt $wx_requested_minor_version; then wx_ver_ok=yes else if test $wx_config_minor_version -eq $wx_requested_minor_version; then if test $wx_config_micro_version -ge $wx_requested_micro_version; then wx_ver_ok=yes fi fi fi fi fi fi if test -n "$wx_ver_ok"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (version $WX_VERSION)" >&5 $as_echo "yes (version $WX_VERSION)" >&6; } WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs std,aui` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wxWidgets static library" >&5 $as_echo_n "checking for wxWidgets static library... " >&6; } WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs std,aui 2>/dev/null` if test "x$WX_LIBS_STATIC" = "x"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi wx_has_cppflags="" if test $wx_config_major_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_major_version -eq 2; then if test $wx_config_minor_version -gt 2; then wx_has_cppflags=yes else if test $wx_config_minor_version -eq 2; then if test $wx_config_micro_version -ge 6; then wx_has_cppflags=yes fi fi fi fi fi wx_has_rescomp="" if test $wx_config_major_version -gt 2; then wx_has_rescomp=yes else if test $wx_config_major_version -eq 2; then if test $wx_config_minor_version -ge 7; then wx_has_rescomp=yes fi fi fi if test "x$wx_has_rescomp" = x ; then WX_RESCOMP= else WX_RESCOMP=`$WX_CONFIG_WITH_ARGS --rescomp` fi if test "x$wx_has_cppflags" = x ; then WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags std,aui` WX_CPPFLAGS=$WX_CFLAGS WX_CXXFLAGS=$WX_CFLAGS WX_CFLAGS_ONLY=$WX_CFLAGS WX_CXXFLAGS_ONLY=$WX_CFLAGS else WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags std,aui` WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags std,aui` WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags std,aui` WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` fi wxWin=1 else if test "x$WX_VERSION" = x; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (version $WX_VERSION is not new enough)" >&5 $as_echo "no (version $WX_VERSION is not new enough)" >&6; } fi WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" WX_RESCOMP="" if test ! -z ""; then wx_error_message=" The configuration you asked for $PACKAGE_NAME requires a wxWidgets build with the following settings: but such build is not available. To see the wxWidgets builds available on this system, please use 'wx-config --list' command. To use the default build, returned by 'wx-config --selected-config', use the options with their 'auto' default values." fi wx_error_message=" The requested wxWidgets build couldn't be found. $wx_error_message If you still get this error, then check that 'wx-config' is in path, the directory where wxWidgets libraries are installed (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets version is 2.8.0 or above." wxWin=0 fi else WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" WX_RESCOMP="" wxWin=0 fi WX_VERSION_MAJOR="$wx_config_major_version" WX_VERSION_MINOR="$wx_config_minor_version" WX_VERSION_MICRO="$wx_config_micro_version" if test "$wxWin" != 1; then as_fn_error $? " wxWidgets must be installed on your system but the wx-config script couldn't be found. Please check that wx-config is in path, the directory where wxWidgets libraries are installed (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets version is 2.3.4 or above. " "$LINENO" 5 fi #REZ_FLAGS="`$WX_CONFIG_PATH --rezflags`" #if test "x$REZ_FLAGS" = "x" -o "x$REZ_FLAGS" = "x#"; then # REZ_COMMAND="" #else # REZ_COMMAND="$REZ_FLAGS xchm" #fi #AC_SUBST(REZ_COMMAND) wx_config_major_version=`echo $WX_VERSION | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` wx_config_minor_version=`echo $WX_VERSION | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY -W -Wall" CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; LINKOPT="$WX_LIBS_STATIC" else LINKOPT="$WX_LIBS" fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; CXXFLAGS="$CXXFLAGS -g" fi # Check whether --enable-optimize was given. if test "${enable_optimize+set}" = set; then : enableval=$enable_optimize; CXXFLAGS="$CXXFLAGS -O2" fi # Check whether --enable-xmlrpc was given. if test "${enable_xmlrpc+set}" = set; then : enableval=$enable_xmlrpc; enable_xmlrpc=yes fi am__api_version='1.12' { $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 --run true"; then am_missing_run="$MISSING --run " 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}" != 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 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 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 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='xchm' VERSION='1.23' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # 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. 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}' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' 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 ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 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_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # 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_CXX="$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 CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 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_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_CXX="$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_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" 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 CXX=$ac_ct_CXX fi fi fi fi # 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_cxx_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_cxx_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_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_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_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi 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="$CXX" 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_CXX_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_CXX_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_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_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 { $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" { $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 ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" if test "x$ac_cv_type_int32_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int32_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default" if test "x$ac_cv_type_int16_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int16_t short _ACEOF fi ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" if test "x$ac_cv_type_uint16_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define uint16_t unsigned short _ACEOF fi ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" if test "x$ac_cv_type_uint32_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define uint32_t unsigned int _ACEOF fi ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default" if test "x$ac_cv_type_uint64_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define uint64_t unsigned long long _ACEOF fi ac_fn_c_check_header_mongrel "$LINENO" "chm_lib.h" "ac_cv_header_chm_lib_h" "$ac_includes_default" if test "x$ac_cv_header_chm_lib_h" = xyes; then : else as_fn_error $? "Can't find the CHMLIB header." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for chm_open in -lchm" >&5 $as_echo_n "checking for chm_open in -lchm... " >&6; } if ${ac_cv_lib_chm_chm_open+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lchm $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 chm_open (); int main () { return chm_open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_chm_chm_open=yes else ac_cv_lib_chm_chm_open=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_chm_chm_open" >&5 $as_echo "$ac_cv_lib_chm_chm_open" >&6; } if test "x$ac_cv_lib_chm_chm_open" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBCHM 1 _ACEOF LIBS="-lchm $LIBS" else as_fn_error $? "Can't find/use -lchm. Please install CHMLIB first." "$LINENO" 5 fi if test "x$enable_xmlrpc" = "xyes" ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_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; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_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_cxx_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_cxx_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_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_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_cxx_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_cxx_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 \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu for ac_header in XmlRpc.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "XmlRpc.h" "ac_cv_header_XmlRpc_h" "$ac_includes_default" if test "x$ac_cv_header_XmlRpc_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_XMLRPC_H 1 _ACEOF else as_fn_error $? "Can't find the XmlRpc++ header." "$LINENO" 5 fi done LIBS="$LIBS -lXmlRpc -lssl" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { XmlRpc::XmlRpcServer svr; ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : $as_echo "#define WITH_LIBXMLRPC 1" >>confdefs.h else as_fn_error $? "Can't find/use -lXmlRpc. Please install XmlRpc++ first." "$LINENO" 5 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 case "$host" in *-*-mingw*) LINKOPT="$LINKOPT -lwxjpeg-2.6 -lwxpng-2.6 -lwxtiff-2.6 -lwxzlib-2.6" WINDRES="windres.exe $(top_srcdir)/" ;; esac ac_config_files="$ac_config_files Makefile src/Makefile art/Makefile po/Makefile.in m4/Makefile" 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 -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 -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" 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 xchm $as_me 1.23, 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 the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ xchm config.status 1.23 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. 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" _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" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "art/Makefile") CONFIG_FILES="$CONFIG_FILES art/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; *) 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 "default-1":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" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/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 assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. 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"" || { # Autoconf 2.62 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 } ;; 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 xchm-1.23/configure.ac0000644000175000001440000000530412210054152011573 00000000000000 AC_INIT([xchm], [1.23]) AC_CONFIG_SRCDIR(src/chmfile.cpp) AC_CONFIG_HEADERS(config.h) AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.14.3]) AM_OPTIONS_WXCONFIG AM_PATH_WXCONFIG(2.8.0, wxWin=1, wxWin=0, [std,aui]) if test "$wxWin" != 1; then AC_MSG_ERROR([ wxWidgets must be installed on your system but the wx-config script couldn't be found. Please check that wx-config is in path, the directory where wxWidgets libraries are installed (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets version is 2.3.4 or above. ]) fi #REZ_FLAGS="`$WX_CONFIG_PATH --rezflags`" #if test "x$REZ_FLAGS" = "x" -o "x$REZ_FLAGS" = "x#"; then # REZ_COMMAND="" #else # REZ_COMMAND="$REZ_FLAGS xchm" #fi #AC_SUBST(REZ_COMMAND) wx_config_major_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` wx_config_minor_version=`echo $WX_VERSION | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY -W -Wall" CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" AC_ARG_ENABLE(static, [ --enable-static link statically to wxWidgets.], LINKOPT="$WX_LIBS_STATIC", LINKOPT="$WX_LIBS") AC_SUBST(LINKOPT) AC_ARG_ENABLE(debug, [ --enable-debug compile with gdb debug information.], CXXFLAGS="$CXXFLAGS -g") AC_ARG_ENABLE(optimize, [ --enable-optimize optimize compiled code (-O2).], CXXFLAGS="$CXXFLAGS -O2") AC_ARG_ENABLE(xmlrpc, [ --enable-xmlrpc Enable XmlRpc functionality in xchm.], [ enable_xmlrpc=yes ]) AM_INIT_AUTOMAKE AC_PROG_CXX AC_PROG_INSTALL AC_CHECK_TYPE(int32_t, int) AC_CHECK_TYPE(int16_t, short) AC_CHECK_TYPE(uint16_t, unsigned short) AC_CHECK_TYPE(uint32_t, unsigned int) AC_CHECK_TYPE(uint64_t, unsigned long long) AC_CHECK_HEADER(chm_lib.h,,AC_MSG_ERROR([Can't find the CHMLIB header.])) AC_CHECK_LIB( chm, chm_open,, AC_MSG_ERROR([Can't find/use -lchm. Please install CHMLIB first.]) ) if test "x$enable_xmlrpc" = "xyes" ; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(XmlRpc.h,, AC_MSG_ERROR([Can't find the XmlRpc++ header.])) LIBS="$LIBS -lXmlRpc -lssl" AC_TRY_LINK([#include ], [XmlRpc::XmlRpcServer svr;], [AC_DEFINE(WITH_LIBXMLRPC,1,[Compile with XmlRpc functionality.])], AC_MSG_ERROR([Can't find/use -lXmlRpc. Please install XmlRpc++ first.]) ) AC_LANG_POP() fi case "$host" in *-*-mingw*) LINKOPT="$LINKOPT -lwxjpeg-2.6 -lwxpng-2.6 -lwxtiff-2.6 -lwxzlib-2.6" WINDRES="windres.exe $(top_srcdir)/" ;; esac AC_OUTPUT(Makefile src/Makefile art/Makefile po/Makefile.in m4/Makefile ) xchm-1.23/depcomp0000755000175000001440000003176712210054152010676 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects # Copyright 1999, 2000 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # 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 . 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 # `libtool' can also be set to `yes' or `no'. if test -z "$depfile"; then base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` dir=`echo "$object" | sed 's,/.*$,/,'` if test "$dir" = "$object"; then dir= fi # FIXME: should be _deps on DOS. depfile="$dir.deps/$base" fi tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # 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 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. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## 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). ## - 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 -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## 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. tr ' ' ' ' < "$tmpdepfile" | ## 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. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -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 -eq 0; then : else 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 ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. 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. stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Must come before tru64. # Intel's C compiler understands `-MD -MF file'. However # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; 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. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1="$dir.libs/$base.lo.d" tmpdepfile2="$dir.libs/$base.d" "$@" -Wc,-MD else tmpdepfile1="$dir$base.o.d" tmpdepfile2="$dir$base.d" "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi if test -f "$tmpdepfile1"; then tmpdepfile="$tmpdepfile1" else tmpdepfile="$tmpdepfile2" fi if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a space and a tab in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #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 proprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--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:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. 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 $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac 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. -*|$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" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. 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 proprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--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 '/^# [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 proprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 xchm-1.23/install-sh0000755000175000001440000001425312210054152011314 00000000000000#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # 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. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd=$cpprog shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "$0: no input file specified" >&2 exit 1 else : fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d "$dst" ]; then instcmd=: chmodcmd="" else instcmd=$mkdirprog fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f "$src" ] || [ -d "$src" ] then : else echo "$0: $src does not exist" >&2 exit 1 fi if [ x"$dst" = x ] then echo "$0: no destination specified" >&2 exit 1 else : fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d "$dst" ] then dst=$dst/`basename "$src"` else : fi fi ## this sed command emulates the dirname command dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` IFS=$oIFS pathcomp='' while [ $# -ne 0 ] ; do pathcomp=$pathcomp$1 shift if [ ! -d "$pathcomp" ] ; then $mkdirprog "$pathcomp" else : fi pathcomp=$pathcomp/ done fi if [ x"$dir_arg" != x ] then $doit $instcmd "$dst" && if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename "$dst"` else dstfile=`basename "$dst" $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename "$dst"` else : fi # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/#inst.$$# rmtmp=$dstdir/#rm.$$# # Trap to clean up temp files at exit. trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 trap '(exit $?); exit' 1 2 13 15 # Move or copy the file name to the temp name $doit $instcmd "$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 $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && # 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. { if [ -f "$dstdir/$dstfile" ] then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" fi && # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit } xchm-1.23/m4/0000755000175000001440000000000012210054271007705 500000000000000xchm-1.23/m4/Makefile.am0000644000175000001440000000034712210054137011666 00000000000000EXTRA_DIST = glibc21.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 xchm-1.23/m4/Makefile.in0000644000175000001440000002512712210054242011677 00000000000000# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 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__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } 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 = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = 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 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LINKOPT = @LINKOPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WX_CFLAGS = @WX_CFLAGS@ WX_CFLAGS_ONLY = @WX_CFLAGS_ONLY@ WX_CONFIG_PATH = @WX_CONFIG_PATH@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_CXXFLAGS_ONLY = @WX_CXXFLAGS_ONLY@ WX_LIBS = @WX_LIBS@ WX_LIBS_STATIC = @WX_LIBS_STATIC@ WX_RESCOMP = @WX_RESCOMP@ WX_VERSION = @WX_VERSION@ WX_VERSION_MAJOR = @WX_VERSION_MAJOR@ WX_VERSION_MICRO = @WX_VERSION_MICRO@ WX_VERSION_MINOR = @WX_VERSION_MINOR@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ 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@ 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@ 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 = glibc21.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 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) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile .PRECIOUS: 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): tags: TAGS TAGS: ctags: 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 installdirs: 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 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-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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # 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: xchm-1.23/m4/codeset.m40000644000175000001440000000135112210054137011516 00000000000000# codeset.m4 serial AM1 (gettext-0.10.40) dnl Copyright (C) 2000-2002 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. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET);], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) xchm-1.23/m4/gettext.m40000644000175000001440000005171712210054137011567 00000000000000# gettext.m4 serial 36 (gettext-0.14.3) dnl Copyright (C) 1995-2005 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 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 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. 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([$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], [no], [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) 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 test "$gt_cv_func_gnugettext_libc" != "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 MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AM_NLS ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= 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. dnl Add a version number to the cache macros. define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, [AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#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 ], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) if test "$gt_cv_func_gnugettext_libc" != "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_cv_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_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#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 ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#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 ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_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 test "$gt_cv_func_gnugettext_libc" = "yes" \ || { test "$gt_cv_func_gnugettext_libintl" = "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" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" 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 test "$gt_cv_func_gnugettext_libintl" = "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 test "$gt_cv_func_gnugettext_libintl" = "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 Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([bh_C_SIGNED])dnl AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_OFF_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl AC_REQUIRE([gt_TYPE_WCHAR_T])dnl AC_REQUIRE([gt_TYPE_WINT_T])dnl AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([gt_TYPE_INTMAX_T]) AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_REQUIRE([gl_XSIZE])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \ mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ __fsetlocking]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). gt_CHECK_DECL(_snprintf, [#include ]) gt_CHECK_DECL(_snwprintf, [#include ]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(feof_unlocked, [#include ]) gt_CHECK_DECL(fgets_unlocked, [#include ]) gt_CHECK_DECL(getc_unlocked, [#include ]) case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac AC_SUBST([HAVE_POSIX_PRINTF]) if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi AC_SUBST([HAVE_ASPRINTF]) if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi AC_SUBST([HAVE_SNPRINTF]) if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi AC_SUBST([HAVE_WPRINTF]) AM_ICONV AM_LANGINFO_CODESET if test $ac_cv_header_locale_h = yes; then gt_LC_MESSAGES fi if test -n "$INTL_MACOSX_LIBS"; then CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS 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]) ]) dnl gt_CHECK_DECL(FUNC, INCLUDES) dnl Check whether a function is declared. AC_DEFUN([gt_CHECK_DECL], [ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, [AC_TRY_COMPILE([$2], [ #ifndef $1 char *p = (char *) $1; #endif ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) if test $ac_cv_have_decl_$1 = yes; then gt_value=1 else gt_value=0 fi AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) xchm-1.23/m4/glibc21.m40000644000175000001440000000152612210054137011317 00000000000000# glibc21.m4 serial 4 dnl Copyright (C) 2000-2002, 2004, 2008-2010 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. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], [ac_cv_gnu_library_2_1], [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], [ac_cv_gnu_library_2_1=yes], [ac_cv_gnu_library_2_1=no]) ] ) AC_SUBST([GLIBC21]) GLIBC21="$ac_cv_gnu_library_2_1" ] ) xchm-1.23/m4/iconv.m40000644000175000001440000001653712210054152011217 00000000000000# iconv.m4 serial 11 (gettext-0.18.1) dnl Copyright (C) 2000-2002, 2007-2010 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. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #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_TRY_LINK([#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, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* 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 const char input[] = "\263"; char buf[10]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; 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, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) 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])]], [[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_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || 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]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) fi ]) xchm-1.23/m4/intdiv0.m40000644000175000001440000000444612210054137011455 00000000000000# intdiv0.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2002, 2007-2010 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. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ gt_cv_int_divbyzero_sigfpe= changequote(,)dnl case "$host_os" in macos* | darwin[6-9]* | darwin[1-9][0-9]*) # On MacOS X 10.2 or newer, just assume the same as when cross- # compiling. If we were to perform the real test, 1 Crash Report # dialog window would pop up. case "$host_cpu" in i[34567]86 | x86_64) gt_cv_int_divbyzero_sigfpe="guessing yes" ;; esac ;; esac changequote([,])dnl if test -z "$gt_cv_int_divbyzero_sigfpe"; then AC_TRY_RUN([ #include #include static void sigfpe_handler (int sig) { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no], [ # Guess based on the CPU. changequote(,)dnl case "$host_cpu" in alpha* | i[34567]86 | x86_64 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac changequote([,])dnl ]) fi ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value], [Define if integer division by zero raises signal SIGFPE.]) ]) xchm-1.23/m4/inttypes-pri.m40000644000175000001440000000200212210054137012531 00000000000000# inttypes-pri.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 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. # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_REQUIRE([gt_HEADER_INTTYPES_H]) if test $gt_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) fi ]) xchm-1.23/m4/inttypes.m40000644000175000001440000000147212210054137011753 00000000000000# inttypes.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 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_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gt_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) ]) if test $gt_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) xchm-1.23/m4/inttypes_h.m40000644000175000001440000000162312210054137012260 00000000000000# inttypes_h.m4 serial 6 dnl Copyright (C) 1997-2004 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_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no)]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) xchm-1.23/m4/isc-posix.m40000644000175000001440000000170612210054137012012 00000000000000# isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 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. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) xchm-1.23/m4/lcmessage.m40000644000175000001440000000243312210054137012035 00000000000000# lcmessage.m4 serial 6 (gettext-0.18) dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation, dnl 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 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 package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([gt_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], [AC_TRY_LINK([#include ], [return LC_MESSAGES], [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE([HAVE_LC_MESSAGES], [1], [Define if your file defines LC_MESSAGES.]) fi ]) xchm-1.23/m4/lib-ld.m40000644000175000001440000000660312210054137011240 00000000000000# lib-ld.m4 serial 4 (gettext-0.18) dnl Copyright (C) 1996-2003, 2009-2010 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/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.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 ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) 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. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path 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 "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do 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 GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) xchm-1.23/m4/lib-link.m40000644000175000001440000005542612210054137011605 00000000000000# lib-link.m4 serial 6 (gettext-0.14.3) dnl Copyright (C) 2001-2005 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. AC_PREREQ(2.50) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 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" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" 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_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. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) 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$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 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/lib" 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= 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= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi 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//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi 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/lib"; 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 "$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 "$hardcode_libdir_flag_spec" && test "$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 "$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 $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 */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` 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/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; 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 "$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:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$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=\"$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 ]) 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 ]) xchm-1.23/m4/lib-prefix.m40000644000175000001440000001231012210054137012126 00000000000000# lib-prefix.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 2001-2005 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_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/lib" 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/lib"; 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/lib"; 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" ]) xchm-1.23/m4/nls.m40000644000175000001440000000353012210054137010665 00000000000000# nls.m4 serial 2 (gettext-0.14.3) dnl Copyright (C) 1995-2003, 2005 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 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 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) ]) AC_DEFUN([AM_MKINSTALLDIRS], [ dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])]) dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but $(top_srcdir). dnl Try to locate it. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) ]) xchm-1.23/m4/po.m40000644000175000001440000004364312210054137010520 00000000000000# po.m4 serial 7 (gettext-0.14.3) dnl Copyright (C) 1995-2005 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 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 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) 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([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AM_NLS])dnl 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 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 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 This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU msgfmt. if test "$GMSGFMT" != ":"; then dnl If it is no GNU msgfmt we define it as : so that the dnl Makefiles still can work. if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` AC_MSG_RESULT( [found $GMSGFMT program is not GNU msgfmt; ignore it]) GMSGFMT=":" fi fi dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is no GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --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 : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po fi AC_OUTPUT_COMMANDS([ 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" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/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 assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. 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. 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" 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 echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh 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 ]) xchm-1.23/m4/stdint_h.m40000644000175000001440000000157312210054137011712 00000000000000# stdint_h.m4 serial 5 dnl Copyright (C) 1997-2004 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_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=no)]) if test $gl_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) xchm-1.23/m4/uintmax_t.m40000644000175000001440000000213112210054137012075 00000000000000# uintmax_t.m4 serial 12 dnl Copyright (C) 1997-2004, 2007-2010 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_PREREQ([2.13]) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . AC_DEFUN([gl_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) test $ac_cv_type_unsigned_long_long_int = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], [Define to unsigned long or unsigned long long if and don't define.]) else AC_DEFINE([HAVE_UINTMAX_T], [1], [Define if you have the 'uintmax_t' type in or .]) fi ]) xchm-1.23/m4/ulonglong.m40000644000175000001440000000161512210054137012077 00000000000000# ulonglong.m4 serial 4 dnl Copyright (C) 1999-2004 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_UNSIGNED_LONG_LONG if 'unsigned long long' works. AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) fi ]) xchm-1.23/missing0000755000175000001440000002403612210054152010707 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally 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, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # 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 run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 xchm-1.23/mkinstalldirs0000755000175000001440000000653512210054152012122 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2004-02-15.20 # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit 0 ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # 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-end: "$" # End: xchm-1.23/po/0000755000175000001440000000000012210054272010004 500000000000000xchm-1.23/po/LINGUAS0000644000175000001440000000011012210054137010741 00000000000000ro fr it de be ru pt_BR pt_PT es pl bg hu lv zh_TW zh_CN cs sk uk sv gr xchm-1.23/po/Makefile.in.in0000644000175000001440000003174312210054152012403 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.14.3 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ 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@ # 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 -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -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: # $(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 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. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed 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; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ 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): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ 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 \ $(mkinstalldirs) $(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 $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(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 \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(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: $(MAKE) update-po @$(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"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$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 "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) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status 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: xchm-1.23/po/Makevars0000644000175000001440000000207712210054137011426 00000000000000# 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 = --keyword=_ --keyword=N_ # 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 = Razvan Cojocaru # 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 = xchm-1.23/po/POTFILES.in0000644000175000001440000000021312210054152011472 00000000000000src/chmfile.cpp src/chmfinddialog.cpp src/chmfontdialog.cpp src/chmframe.cpp src/chmhtmlwindow.cpp src/chmsearchpanel.cpp src/hhcparser.cppxchm-1.23/po/Rules-quot0000644000175000001440000000340012210054152011721 00000000000000# 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"; 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) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 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 xchm-1.23/po/be.gmo0000644000175000001440000001342612210054271011023 00000000000000Þ•S´qL  #0@FL\k q!~ ¯ ÄÒâý  * .O,f“(˜ ÁËÒ áïþ   $ 8 H M Z ` u z ‰ “ ¦ ² ½ Æ Ï × ë  ) 2 7 = T a $d ‰ ‘ ¢ ¬ µ #¾ â ø ÿ   9 L k s  5† ¼ Ï × Þ ð D F S _ (| ¥ ¿ $É î F-t1¿)Ü%, =G ` lAy=»<ù 6/Aq‚)•¿Þý /<&Q(x¡²Å/Ô #3*K$v›´ÄÔ:ã31R„– ¥<²ï F^$p •Ÿ ¯7»)ó .+Z5k#¡&Åì b($‹°¿&È&ïSD6-RE ;L035$F,K)I14:%=>P(OQ!*? /82 N+@ G H& CA'B7".M9J#<&About.. F1&Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.OpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm trunk Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2007-09-17 23:17+0300 Last-Translator: YOUR NAME Language-Team: Belarusian Language: be MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &Пра.. F1Ðа&задСка&піÑваць Ctrl-CСка&піÑваць вылучанае&РÑдагаваньне&ФайлПо&шук на Ñтаронке...По&шук.. Ctrl-F&ДаведкаУ па&чатак Ctrl-HЗра&біць xCHM прадвызначаным гартачом CHM&Ðдкрыць.. Ctrl-OÐад_рукаваць Ñтаронку.. Ctrl-P&Ð Ð°Ð½ÐµÐ¹ÑˆÑ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹Ð—Ð°&хаваць ÑпаÑылку Ñк..Паказаць &зьмеÑÑ‚ Ctrl-S) памылкаПра ..Пра праграму.Пра xCHMДадацьДадаць бÑгучую Ñтаронку Ñž закладкі.Дазволіць чаÑÑ‚ÐºÐ¾Ð²Ñ‹Ñ Ñупадзеньні.ЗьвÑзаць файлы .chm з праграмай xCHM.ÐазадКрочыць назад па гіÑторыіЗакладкіСкаÑавацьÐдрозьніваць Ñ€ÑгіÑтарЗьмÑніць шрыфты.Зьмена шрыфтоў...Выбар файла...ПацьвердзіцьЗьмеÑтСкапіÑвацьСкапіÑваць &ÑпаÑылкуСкапіÑваць вылучанае.ЗробленаВ&ыхад Ctrl-XПамылкаПамылка ÑтварÑÐ½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° ПошукПошук на Ñтаронке...Шукаць далейПошук Ñлоў на Ñтаронцы.Монашырынёвы шрыфт:Памер шрыфту:Шрыфты ..Ðа&перадÐаперадÐтрымаць чаÑÑ‚ÐºÐ¾Ð²Ñ‹Ñ ÑупадзеньніКрочыць наперад па гіÑторыіÐдгарнуць першую Ñтаронку.&ГіÑторыÑПачатакІндÑкÑЗагрузка. калі лаÑка, пачакайце...Звычайны шрыфт:ДобраШукаць толькі ÑÑрод назваў у зьмеÑьце.Ðдкрыць ..Разгарнуць CHM-кнігу.OpenFile(Прыклад:Друк ..Ðадрукаваць бÑгучую Ñтаронку.Выхад з даÑтаÑаваньнÑ.Гатовы.ПаÑьпÑÑ…Ð¾Ð²Ð°Ñ Ñ€ÑгіÑтрацыÑ!ВыдаліцьВыдаліць вылучаную закладку.Ðтрыманьне індÑкÑуÐтрыманьне зьмеÑту...Захаваць ÑкЗахаваны файл ПошукПошук зьмеÑьціва на ўваходзаньне зададзенага Ñ‚ÑкÑту.Пошук толькі назваўПоÑьпехТÑмыБезназоўны Ñž індÑкÑеТолькі цÑÐ»ÑŒÐ½Ñ‹Ñ Ñловыxchm-1.23/po/be.po0000644000175000001440000002265312210054271010661 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Razvan Cojocaru # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: xchm trunk\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2007-09-17 23:17+0300\n" "Last-Translator: YOUR NAME \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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Ðтрыманьне зьмеÑту..." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Ðтрыманьне індÑкÑу" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Безназоўны Ñž індÑкÑе" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Пошук на Ñтаронке..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Толькі цÑÐ»ÑŒÐ½Ñ‹Ñ Ñловы" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Ðдрозьніваць Ñ€ÑгіÑтар" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Шукаць далей" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "СкаÑаваць" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Зьмена шрыфтоў..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Звычайны шрыфт:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Монашырынёвы шрыфт:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Памер шрыфту:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Прыклад:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Добра" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Разгарнуць CHM-кнігу." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "ЗьмÑніць шрыфты." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Ðадрукаваць бÑгучую Ñтаронку." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Ðтрыманьне зьмеÑту..." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Ðдгарнуць першую Ñтаронку." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Крочыць наперад па гіÑторыі" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Крочыць назад па гіÑторыі" #: src/chmframe.cpp:56 msgid "About the program." msgstr "Пра праграму." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "СкапіÑваць вылучанае." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Пошук Ñлоў на Ñтаронцы." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Разгарнуць CHM-кнігу." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "ЗьвÑзаць файлы .chm з праграмай xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Гатовы." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "ЗьмеÑÑ‚" #: src/chmframe.cpp:204 msgid "Index" msgstr "ІндÑкÑ" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Пошук" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Пра xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Выбар файла..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Пацьвердзіць" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "ПаÑьпÑÑ…Ð¾Ð²Ð°Ñ Ñ€ÑгіÑтрацыÑ!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Зроблена" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Загрузка. калі лаÑка, пачакайце..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Ðдкрыць..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Ðад_рукаваць Ñтаронку..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Шрыфты .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Паказаць &зьмеÑÑ‚\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "Зра&біць xCHM прадвызначаным гартачом CHM" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Ð Ð°Ð½ÐµÐ¹ÑˆÑ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Ð’&ыхад\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Выхад з даÑтаÑаваньнÑ." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "У па&чатак\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "Ðа&перад\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "Ðа&зад\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Пра..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "Ска&піÑваць\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "По&шук..\tCtrl-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "У па&чатак\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Шрыфты..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Файл" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&РÑдагаваньне" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&ГіÑторыÑ" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Даведка" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Закладкі" #: src/chmframe.cpp:870 msgid "Topics" msgstr "ТÑмы" #: src/chmframe.cpp:881 msgid "Add" msgstr "Дадаць" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Выдаліць" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Дадаць бÑгучую Ñтаронку Ñž закладкі." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Выдаліць вылучаную закладку." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Ðдкрыць .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Друк .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Шрыфты .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "СкапіÑваць" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Пошук" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Ðазад" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Ðаперад" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Пачатак" #: src/chmframe.cpp:1050 msgid "About" msgstr "Пра .." #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Ðа&перад" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "Ðа&зад" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "СкапіÑваць &ÑпаÑылку" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "За&хаваць ÑпаÑылку Ñк.." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "Ска&піÑваць вылучанае" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "По&шук на Ñтаронке..." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "OpenFile(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") памылка" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Памылка" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Захаваць Ñк" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Памылка ÑтварÑÐ½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° " #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Захаваны файл " #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "ПоÑьпех" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Ðтрымаць чаÑÑ‚ÐºÐ¾Ð²Ñ‹Ñ Ñупадзеньні" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Пошук толькі назваў" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Дазволіць чаÑÑ‚ÐºÐ¾Ð²Ñ‹Ñ Ñупадзеньні." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Шукаць толькі ÑÑрод назваў у зьмеÑьце." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Пошук зьмеÑьціва на ўваходзаньне зададзенага Ñ‚ÑкÑту." #~ msgid "On or off?" #~ msgstr "Уключана ці выключана?" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "ГÑта ÑкÑпÑÑ€ÑмÑнтальны коды, ваш выбар зьменіць даÑтаÑаваньне Ð´Ð»Ñ Ð¿Ñ€Ð°Ð³Ð»Ñду " #~ "CHM.\n" #~ "\n" #~ "Ці разумеце вы тое, што робіце?" xchm-1.23/po/bg.gmo0000644000175000001440000001062412210054271011022 00000000000000Þ•;ôOÌ +1A GTc x†¡§ ºÅ Éê( /9@ O]l| …’ ¡ « ·ÂËÔÜ ð.7< BO$Rw™#¢ÆÜãê5 AT[mq~ð  ) < *F q '} ¥ 7Á $ù 8 W #f Š ž M¯ 4ý 2 ]= › ª H·  ! !A c x %‹ ± Ë #è    .0;KlU¸!@Q n/y©$½âò= (J s~=“Ñ0à1C,Ly637.(8 4*2 -/'! 5 ;9: 0)" 1%,#+&$&About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: bg Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2004-06-05 23:36+0300 Last-Translator: ÐÑ‚Ð°Ð½Ð°Ñ ÐœÐ°Ð²Ñ€Ð¾Ð² Language-Team: Bulgarian Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.3.1 &ОтноÑно... F1&Ðазад&Копиране на избраното&Файл&ТърÑене в Ñтраницата...По&мощ&Ðачална Ñтраница Ctrl-H&ОтварÑне... Ctrl-O&Отпечатване на Ñтраница... Ctrl-P&ПоÑледните файловеПоказване на &Ñъдържанието Ctrl-SОтноÑноОтноÑно програматаОтноÑно xCHMДобавÑнеДобавÑне на текущата Ñтраница в отметкитеПозволи чаÑтични позволениÑÐазадВръщане към поÑледната поÑетена Ñтраница. За книгаОтметкиОтмÑнаЧувÑтвителен към големината на буквитеПромÑна на шрифтПромÑна на шрифт...Избиране на файл...СъдържаниеИз&ход Ctrl-XТърÑене в Ñтраница...ТърÑи ÑледващФикÑиран шрифт:Големина на шрифта:Шрифтове...Ðап&редÐапредВземи чаÑтични ÑъвпадениÑПреминаване напред в иÑториÑта. За книга.Преминаване към началната Ñтраница на книгатаИÑтор&иÑСтартова ÑтраницаУказателÐормален шрифт:ДобреТърÑене Ñамо в заглавиÑтаОтварÑне...ОтварÑне на CHM книгаПреглед:Отпечатване...Отпечатване на текущата ÑтраницаИзход от приложениетоГотовПремахванеПремахване на избраната ÑтраницаТърÑенеТърÑи в Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚.ТърÑене Ñамо на заглавиÑтаТемиÐеозаглавен в указателÑСамо цели думиxchm-1.23/po/bg.po0000644000175000001440000002212312210054271010653 00000000000000# translation of bg.po to Bulgarian # translation of xchm.po to Bulgarian # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR Razvan Cojocaru . # ÐÑ‚Ð°Ð½Ð°Ñ ÐœÐ°Ð²Ñ€Ð¾Ð² , 2004. # msgid "" msgstr "" "Project-Id-Version: bg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2004-06-05 23:36+0300\n" "Last-Translator: ÐÑ‚Ð°Ð½Ð°Ñ ÐœÐ°Ð²Ñ€Ð¾Ð² \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.3.1\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Ðеозаглавен в указателÑ" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Ðеозаглавен в указателÑ" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "ТърÑене в Ñтраница..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Само цели думи" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "ЧувÑтвителен към големината на буквите" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "ТърÑи Ñледващ" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "ОтмÑна" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "ПромÑна на шрифт..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Ðормален шрифт:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "ФикÑиран шрифт:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Големина на шрифта:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Преглед:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Добре" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "ОтварÑне на CHM книга" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "ПромÑна на шрифт" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Отпечатване на текущата Ñтраница" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Преминаване към началната Ñтраница на книгата" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Преминаване напред в иÑториÑта. За книга." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Връщане към поÑледната поÑетена Ñтраница. За книга" #: src/chmframe.cpp:56 msgid "About the program." msgstr "ОтноÑно програмата" #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "&Копиране на избраното" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "ТърÑене в Ñтраница..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "ОтварÑне на CHM книга" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Готов" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Съдържание" #: src/chmframe.cpp:204 msgid "Index" msgstr "Указател" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "ТърÑене" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "ОтноÑно xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Избиране на файл..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&ОтварÑне...\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Отпечатване на Ñтраница...\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Шрифтове..." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Показване на &Ñъдържанието\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&ПоÑледните файлове" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Из&ход\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Изход от приложението" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Ðачална Ñтраница\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "Ðапре&д\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Ðазад\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&ОтноÑно...\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "&Ðачална Ñтраница\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&ОтварÑне...\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Ðачална Ñтраница\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "Шриф&Ñ‚...\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Файл" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "ИÑтор&иÑ" #: src/chmframe.cpp:832 msgid "&Help" msgstr "По&мощ" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Отметки" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Теми" #: src/chmframe.cpp:881 msgid "Add" msgstr "ДобавÑне" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Премахване" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "ДобавÑне на текущата Ñтраница в отметките" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Премахване на избраната Ñтраница" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "ОтварÑне..." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Отпечатване..." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Шрифтове..." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "ТърÑи Ñледващ" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Ðазад" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Ðапред" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Стартова Ñтраница" #: src/chmframe.cpp:1050 msgid "About" msgstr "ОтноÑно" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Ðап&ред" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Ðазад" #: src/chmhtmlwindow.cpp:50 #, fuzzy msgid "Copy &link location" msgstr "&Копиране на избраното" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Копиране на избраното" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&ТърÑене в Ñтраницата..." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Вземи чаÑтични ÑъвпадениÑ" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "ТърÑене Ñамо на заглавиÑта" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Позволи чаÑтични позволениÑ" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "ТърÑене Ñамо в заглавиÑта" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "ТърÑи в Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚." #~ msgid "On or off?" #~ msgstr "Включен или изключен?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Ðе може да извлече Ñъдържанието на книгата" #~ msgid "No contents.." #~ msgstr "ÐÑма Ñъдържание..." xchm-1.23/po/boldquot.sed0000644000175000001440000000033112210054137012247 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g xchm-1.23/po/cs.gmo0000644000175000001440000000737012210054272011044 00000000000000Þ•<üSÜ( )5;KQa gtƒ ˜¦ÁÇ Úå é !(& OY` o}Œœ¥ ¹Æ Õ ß ëöÿ $Ebkp vƒ$†«³ÄÍ#Öú85?uˆ¡Ø²‹  ¤ ¸ À Ö â ð  " 5 S ^ j z )‚ %¬ Ò 8Ø   # < L ] m s ’ ¡ ¶ Å à ñ û  $ )/ #Y } ‡  “ ¦ "© Ì Ù î ÷ (. A MWu.|«ÃËè70 &!1;9 -4*6+3"85., 2/)':$#< (% &About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsCopy &link locationE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: cs Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2005-08-30 09:34+0200 Last-Translator: LuboÅ¡ StanÄ›k Language-Team: ÄeÅ¡tina Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.10.2 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); &O aplikaci .. F1&ZpÄ›t&Kopírovat výbÄ›r&Soubor&Najít na stránce..&NápovÄ›da&Domů Ctrl-H&Otevřít.. Ctrl-OVy&tisknout stránku.. Ctrl-PNedávné soubo&ryZobrazit &strom obsahu Ctrl-SO aplikaciO programu.O aplikaci xCHMPÅ™idatPÅ™idat zobrazenou stránku do záložek.Povolit ÄásteÄnÄ› odpovídající.ZpÄ›tZpÄ›t na poslední navÅ¡tívenou stranu. V rámci knihy.ZáložkyZruÅ¡itRozliÅ¡ovat velká/maláZmÄ›nit písma.ZmÄ›nit písma..Vybrat soubor..ObsahKopírovat umístÄ›ní odk&azu&Konect Ctrl-XNajít na stránce..Hledat dalšíPísmo s pevnou šířkou:Velikost písma:Písma ..&VpÅ™edVpÅ™edZískat ÄásteÄnÄ› odpovídajícíJít dopÅ™edu v historii. V rámci knihy.Jít na poÄáteÄní stranu knihy.&HistorieDomůIndexNormální písmo:OKVyhledávat jen v názvech obsahu.Otevřít ..Otevřít knihu CHM.Náhled:Vytisknout ..Vytisknout aktuálnÄ› zobrazenou stranu.UkonÄit aplikaci.PÅ™ipraven.OdstranitOdstranit zvolenou záložku.HledatVyhledávat výskyty zadaného textu v obsahu.Prohledávat jen názvyTémataNepojmenovaný v rejstříkuJen celá slovaxchm-1.23/po/cs.po0000644000175000001440000002004312210054271010667 00000000000000# translation of cs.po to ÄeÅ¡tina # Czech translations of xchm. # This file is distributed under the same license as the xchm package. # LuboÅ¡ StanÄ›k , 2005. # msgid "" msgstr "" "Project-Id-Version: cs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2005-08-30 09:34+0200\n" "Last-Translator: LuboÅ¡ StanÄ›k \n" "Language-Team: ÄeÅ¡tina \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Nepojmenovaný v rejstříku" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Nepojmenovaný v rejstříku" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Najít na stránce.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Jen celá slova" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "RozliÅ¡ovat velká/malá" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Hledat další" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "ZruÅ¡it" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "ZmÄ›nit písma.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Normální písmo:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Písmo s pevnou šířkou:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Velikost písma:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Náhled:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Otevřít knihu CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "ZmÄ›nit písma." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Vytisknout aktuálnÄ› zobrazenou stranu." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Jít na poÄáteÄní stranu knihy." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Jít dopÅ™edu v historii. V rámci knihy." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "ZpÄ›t na poslední navÅ¡tívenou stranu. V rámci knihy." #: src/chmframe.cpp:56 msgid "About the program." msgstr "O programu." #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "&Kopírovat výbÄ›r" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "Najít na stránce.." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Otevřít knihu CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "PÅ™ipraven." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Obsah" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Hledat" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "O aplikaci xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Vybrat soubor.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Otevřít..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Vy&tisknout stránku..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Písma .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Zobrazit &strom obsahu\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "Nedávné soubo&ry" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Konect\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "UkonÄit aplikaci." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Domů\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "VpÅ™e&d\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&ZpÄ›t\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&O aplikaci ..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "&Domů\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&Otevřít..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Domů\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Písma..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Soubor" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&Historie" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&NápovÄ›da" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Záložky" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Témata" #: src/chmframe.cpp:881 msgid "Add" msgstr "PÅ™idat" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Odstranit" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "PÅ™idat zobrazenou stránku do záložek." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Odstranit zvolenou záložku." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Otevřít .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Vytisknout .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Písma .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "Hledat další" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "ZpÄ›t" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "VpÅ™ed" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Domů" #: src/chmframe.cpp:1050 msgid "About" msgstr "O aplikaci" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&VpÅ™ed" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&ZpÄ›t" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Kopírovat umístÄ›ní odk&azu" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Kopírovat výbÄ›r" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Najít na stránce.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Získat ÄásteÄnÄ› odpovídající" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Prohledávat jen názvy" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Povolit ÄásteÄnÄ› odpovídající." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Vyhledávat jen v názvech obsahu." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Vyhledávat výskyty zadaného textu v obsahu." #~ msgid "On or off?" #~ msgstr "Zapnout nebo vypnout?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Nelze extrahovat strom obsahu knihy." #~ msgid "No contents.." #~ msgstr "Žádný obsah.." xchm-1.23/po/de.gmo0000644000175000001440000001102312210054271011014 00000000000000Þ•O”k ¸ ¹Å ËØèîô &5 JXhƒ‰ œ§ «Ì,ã( >HO ^l{‹“œ¡µÅ Ê×Ýò÷   # / : C L T h ‰ ¦ ¯ ´ º Ñ Þ $á    ( #1 U k r y “ ¦ Å Í Ù 5à  ) 1 8 J [ p y  ’ ¤ ° · Ê Û â õ   5 K k p ‚ Œ *— # &æ  1 F R\{£ ¼ÇÎ×éú8? Q^x  ž «µ¾1Ï * 0Qb e† ¡«³Íâ ê!ô",O_r9x²!Åçî<%8DCK4?!2 #I3 ) 9.= +@N'L5 M:&>$G(O 1FBE";6*7AJ-/H,0&About.. F1&Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2007-09-15 20:54+0100 Last-Translator: Language-Team: German Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit &Über F1&Zurück&Kopieren CTRL-CAuswahl &kopieren&Bearbeiten&Datei&Seite durchsuchen&Suchen.. CTRL-F&Hilfe&Startseite CTRL-H&Öffnen CTRL-O&Seite drucken CTRL-P&Zuletzt geöffnete Dateien&Ziel speichern unterDokumentenbaum &anzeigen CTRL-AÜberÜber das ProgrammÜber xCHMHinzufügenLesezeichen auf die aktuelle Seite setzen.Teilweise Übereinstimmung zulassen.Die CHM-Dateierweiterung xCHM zuordnenZurückEine Seite zurück. Aufs aktuelle Buch beschränkt.LesezeichenAbbrechenGroß-/Kleinschreibung beachtenSchriftarten ändernSchriftarten ändernWählen Sie eine Datei...BestätigenInhaltKopierenAdresse &kopierenAuswahl kopierenFertig&Beenden CTRL-EFehlerFehler beim Erstellen der DateiSuchenSeite durchsuchenWeitersuchenWort auf der Seite suchenDicktengleiche Schrift:Schriftgröße:Schriftarten&VorwärtsVorwärtsLese TeiltrefferEine Seite weiter. Aufs aktuelle Buch beschränkt.Zur Startseite gehen&VerlaufStartseiteIndexEs wird geladen, bitte warten...Normale Schrift:OKNur im Titel des Inhalts suchen.ÖffnenEin CHM-Buch öffnenVorschau:DruckenAktuelle Seite ausdruckenDas Programm beendenBereit.EntfernenAusgewähltes Lesezeichen löschen.Index wird geladen...Inhaltsverzeichnis wird geladen...Speichern unterDatei gespeichert:SucheInahlt auf Vorkommen des angegebenen Inhalts durchsuchen.Suche nur im TitelVorgang erfolgreich abgeschlossenThemenOhne Titel im IndexNur ganze Wörterxchm-1.23/po/de.po0000644000175000001440000001754312210054271010665 00000000000000# xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # FIRST AUTHOR , 2004. # msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2007-09-15 20:54+0100\n" "Last-Translator: \n" "Language-Team: German\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Inhaltsverzeichnis wird geladen..." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Index wird geladen..." #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Ohne Titel im Index" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Seite durchsuchen" #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Nur ganze Wörter" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Groß-/Kleinschreibung beachten" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Weitersuchen" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Abbrechen" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Schriftarten ändern" #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Normale Schrift:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Dicktengleiche Schrift:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Schriftgröße:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Vorschau:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Ein CHM-Buch öffnen" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Schriftarten ändern" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Aktuelle Seite ausdrucken" #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Inhaltsverzeichnis wird geladen..." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Zur Startseite gehen" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Eine Seite weiter. Aufs aktuelle Buch beschränkt." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Eine Seite zurück. Aufs aktuelle Buch beschränkt." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Über das Programm" #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Auswahl kopieren" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Wort auf der Seite suchen" #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Ein CHM-Buch öffnen" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Die CHM-Dateierweiterung xCHM zuordnen" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Bereit." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Inhalt" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Suche" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Über xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Wählen Sie eine Datei..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Bestätigen" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "Fertig" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Es wird geladen, bitte warten..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Öffnen\tCTRL-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Seite drucken\tCTRL-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Schriftarten" #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Dokumentenbaum &anzeigen\tCTRL-A" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Zuletzt geöffnete Dateien" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Beenden\tCTRL-E" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Das Programm beenden" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Startseite\tCTRL-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "&Vorwärts\tCTRL-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Zurück\tCTRL-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Über\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Kopieren\tCTRL-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Suchen..\tCTRL-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Startseite\tCTRL-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Schriftarten\tCTRL-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Datei" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Bearbeiten" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&Verlauf" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Hilfe" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Lesezeichen" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Themen" #: src/chmframe.cpp:881 msgid "Add" msgstr "Hinzufügen" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Entfernen" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Lesezeichen auf die aktuelle Seite setzen." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Ausgewähltes Lesezeichen löschen." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Öffnen" #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Drucken" #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Schriftarten" #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Kopieren" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Suchen" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Zurück" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Vorwärts" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Startseite" #: src/chmframe.cpp:1050 msgid "About" msgstr "Über" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Vorwärts" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Zurück" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Adresse &kopieren" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Ziel speichern unter" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "Auswahl &kopieren" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Seite durchsuchen" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Fehler" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Speichern unter" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Fehler beim Erstellen der Datei" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Datei gespeichert:" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Vorgang erfolgreich abgeschlossen" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Lese Teiltreffer" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Suche nur im Titel" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Teilweise Übereinstimmung zulassen." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Nur im Titel des Inhalts suchen." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Inahlt auf Vorkommen des angegebenen Inhalts durchsuchen." #~ msgid "On or off?" #~ msgstr "An oder aus?" xchm-1.23/po/en@boldquot.header0000644000175000001440000000247112210054137013356 00000000000000# 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. # xchm-1.23/po/en@quot.header0000644000175000001440000000226312210054137012514 00000000000000# 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. # xchm-1.23/po/es.gmo0000644000175000001440000001240112210054271011034 00000000000000Þ•[ôÌÈ ÉÕÛê ü %5D J!Wy‰œ« ÀÎÞù   & * K ,b  (” ½ Ç Î Ý ë ú   ( 1 6 J Z _ l r ‡ Œ › ¥ ¸ Ä Í Ø á ê ý   : W ` e k ‚  $’ · ¿ Ð ß é ò #û  5 < U \ v ‰ ¨ ° ¼ 5à ù    - R> ‘ž¥µÌÛíõþ'.'=e~šªÄØ#ð#8G N!o#‘µ-» éóü#5H a ku|˜ª °¾ÄÚëþ # 0; M Xbv$Ÿ!Ä æñøÿ-&0W`t ˆ – ¤°Ëáèü%"; ^k|3ƒ·ËÑ×é/NR(#-YP+ 1V"&W%>J<:B 'O  2LQ3D CE.*KFA=4M@96!U5)T?XI;HZ $[807S,G&About.. F1&Back&Back Alt-LEFT&Close tab Ctrl-W&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&New tab Ctrl-T&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Fon&ts..Font size:Fonts ..For&wardFor&ward Alt-RIGHTForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Open a new tabOpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM 1.17 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2010-06-09 09:19+0100 Last-Translator: Roberto C. Morano Language-Team: Spanish/Spain Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit &Acerca.. F1A&trásA&trás Alt+LEFT&Cerrar pestaña Ctrl-W&Copiar Ctrl-C&Copiar selección&Editar&Archivo&Encontrar en página..&Buscar... Ctrl-FA&yuda&Inicio Ctrl-H&Hacer xCHM el visor de CHM por defecto&Nueva pestaña... Ctrl-T&Abrir en una nueva pestaña&Abrir.. Ctrl-OIm&primir pagina.. Ctrl-PArchivos &recientes&Guardar enlace como...&Mostrar árbol de contenidos Ctrl-S) falloAcercaAcerca del programa.Acerca de xCHMAñadirAñadir página actual a favoritosPermitir coincidencias parciales.Asociar la extensión .chm con xCHM.AtrásAtras a la ultima pagina visitada. Por libro.FavoritosCancelarSensible a mayúsculasCambiar fuentes.Cambiar fuentes..Elija un archivo..Cerrar la pestaña actualConfirmarContenidoCopiarCopiar dirección de &enlace&Copiar selecciónHecho&Salir Ctrl-XErrorError creando archivoBuscar siguienteBuscar en página..Buscar siguienteBuscar en página...Fuente fija:Fuentes...Tamaño de fuente:Fuentes ..&Adelante&Adelante Alt+RIGHTAdelanteObtener coincidencias parcialesAdelante en el historial. Por libro.Ir a la pagina inicial del libro.Hi&storialInicioÍndiceCargando, por favor, espere...Fuente normal:OKBuscar sólo en la tabla de contenidos.Abrir ..Abrir un libro CHM.Abrir nueva pestañaAbrirArchivo(Vista previa:Imprimir ..Imprimir la pagina actual.Cerrar la aplicación.Listo.¡Registro éxistoso!EliminarEliminar favorito seleccionado.Adquiriendo índice...Adquiriendo tabla de contenidos...Guardar comoArchivo guardadoBuscarBuscar ocurrencias del texto indicado en el índice.Buscar sólo títulosÉxitoTemasIndice sin nombreSólo palabras completasxchm-1.23/po/es.po0000644000175000001440000002077612210054271010706 00000000000000# LANGUAGE translation of xCHM. # Copyright (C) 2004 Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # gabriel , 2004. # # msgid "" msgstr "" "Project-Id-Version: xCHM 1.17\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2010-06-09 09:19+0100\n" "Last-Translator: Roberto C. Morano \n" "Language-Team: Spanish/Spain \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Adquiriendo tabla de contenidos..." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Adquiriendo índice..." #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Indice sin nombre" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Buscar en página.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Sólo palabras completas" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Sensible a mayúsculas" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Buscar siguiente" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Cancelar" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Cambiar fuentes.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Fuente normal:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Fuente fija:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Tamaño de fuente:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Vista previa:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Abrir un libro CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Cambiar fuentes." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Imprimir la pagina actual." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Adquiriendo tabla de contenidos..." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Ir a la pagina inicial del libro." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Adelante en el historial. Por libro." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Atras a la ultima pagina visitada. Por libro." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Acerca del programa." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "&Copiar selección" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Buscar en página..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "Cerrar la pestaña actual" #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "Abrir nueva pestaña" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Asociar la extensión .chm con xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Listo." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Contenido" #: src/chmframe.cpp:204 msgid "Index" msgstr "Índice" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Buscar" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Acerca de xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Elija un archivo.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Confirmar" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "¡Registro éxistoso!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Hecho" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Cargando, por favor, espere..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Abrir..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Im&primir pagina..\tCtrl-P" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "Fuentes..." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Mostrar árbol de contenidos\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "&Hacer xCHM el visor de CHM por defecto" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "Archivos &recientes" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Salir\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Cerrar la aplicación." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Inicio\tCtrl-H" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "&Adelante\tAlt+RIGHT" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "A&trás\tAlt+LEFT" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Acerca..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Copiar\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Buscar...\tCtrl-F" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "&Cerrar pestaña\tCtrl-W" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "&Nueva pestaña...\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Archivo" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Editar" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Hi&storial" #: src/chmframe.cpp:832 msgid "&Help" msgstr "A&yuda" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Favoritos" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Temas" #: src/chmframe.cpp:881 msgid "Add" msgstr "Añadir" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Eliminar" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Añadir página actual a favoritos" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Eliminar favorito seleccionado." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Abrir .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Imprimir .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fuentes .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Copiar" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Buscar siguiente" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Atrás" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Adelante" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Inicio" #: src/chmframe.cpp:1050 msgid "About" msgstr "Acerca" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Adelante" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "A&trás" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Copiar dirección de &enlace" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Guardar enlace como..." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Abrir en una nueva pestaña" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Copiar selección" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Encontrar en página.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "AbrirArchivo(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") fallo" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Error" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Guardar como" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Error creando archivo" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Archivo guardado" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Éxito" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Obtener coincidencias parciales" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Buscar sólo títulos" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permitir coincidencias parciales." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Buscar sólo en la tabla de contenidos." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Buscar ocurrencias del texto indicado en el índice." #~ msgid "On or off?" #~ msgstr "Activar o desactivar" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "Este código es experimental, y haciendo esto podría sobreescribir " #~ "cualquier asociación registrada con el visor CHM.\n" #~ "\n" #~ "¿Está seguro de que sabe lo que va a hacer?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "No se pudo obtener el árbol de contenidos del libro." #~ msgid "No contents.." #~ msgstr "Sin contenidos.." xchm-1.23/po/fr.gmo0000644000175000001440000001264112210054271011042 00000000000000Þ•[ôÌÈ ÉÕÛê ü %5D J!Wy‰œ« ÀÎÞù   & * K ,b  (” ½ Ç Î Ý ë ú   ( 1 6 J Z _ l r ‡ Œ › ¥ ¸ Ä Í Ø á ê ý   : W ` e k ‚  $’ · ¿ Ð ß é ò #û  5 < U \ v ‰ ¨ ° ¼ 5à ù    - I> ˆ ˜¥»Óâø $7=)T~–´Åáô# 4 @Jas+{"§#Ê î/ú*2:Mav‹ £°¸¿Ïäéù&'/I_x ‡’ ¦±ºÍÕ.é 8DSYo%„ ª´É æ ñ ü#:A X-b*ªÕæ û=%DjrzŠ/NR(#-YP+ 1V"&W%>J<:B 'O  2LQ3D CE.*KFA=4M@96!U5)T?XI;HZ $[807S,G&About.. F1&Back&Back Alt-LEFT&Close tab Ctrl-W&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&New tab Ctrl-T&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Fon&ts..Font size:Fonts ..For&wardFor&ward Alt-RIGHTForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Open a new tabOpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: fr Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2009-04-07 20:40+0200 Last-Translator: Cedric Boudinet Language-Team: français Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.10.2 À &propos.. F1&Précédent&Précédent Alt-LEFT&Fermer l'onglet Ctrl-W&Copier Ctrl-C&Copier la sélection&Editer&Fichier&Rechercher dans la page..&Chercher.. Ctrl-F&AidePage d'&accueil Ctrl-HFaire de xCHM l'afficheur CHM par défaut&Nouvel onglet.. Ctrl-T&Ouvrir dans un nouvel onglet&Ouvrir.. Ctrl-O&Imprimer la page... Ctrl-PF&ichiers récents&Enregistrer le lien sous..&Voir la table des matières Ctrl-S) échouéeÀ proposA propos du programme.À propos de xCHMAjouterAjouter la page affichée dans les signets.Permettre les résultats partiels.Associer l'extension .chm avec xCHMPrécédentAller à la dernière page visitée. Par livre.SignetsAnnulerRespecter la casseChanger de polices.Changer de polices..Choisir un fichier..Fermer l'onglet courantConfirmationContenuCopierCopier le &lienCopier la sélectionFait&Quitter Ctrl-XErreurErreur lors de la création du fichierTrouverRechercher dans la page..Rechercher le suivantRechercher dans la page.Police fixe :Polices ..Taille de police :Polices ..&Suivant&Suivant Alt-RIGHTSuivantRésultats partielsAller au suivant dans l'historique. Par livre.Aller à la page de démarrage.&HistoriquePage d'accueilIndexChargement en cours..Police normale :OKRechercher seulement dans les titres.Ouvrir ..Ouvrir un livre CHM.Ouvrir dans un nouvel ongletOuverture(Aperçu :Imprimer ..Imprimer la page courante.Quitter l'application.Prêt.Enregistrement réussiSupprimerSupprimer la page sélectionnée des signets.Récupération de l'indexRécupération de la table des matières..Enregistrer sousFichier sauvegardé RechercherRechercher dans le contenu les occurrences du texte indiqué.Rechercher dans les titres uniquementSuccèsContenuIndex SansTitreMots entiers seulementxchm-1.23/po/fr.po0000644000175000001440000002134712210054271010701 00000000000000# traduction de fr.po en français # xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # FIRST AUTHOR , 2004, 2005. # Yann Verley , 2005. # msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2009-04-07 20:40+0200\n" "Last-Translator: Cedric Boudinet \n" "Language-Team: français\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Récupération de la table des matières.." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Récupération de l'index" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Index SansTitre" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Rechercher dans la page.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Mots entiers seulement" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Respecter la casse" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Rechercher le suivant" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Annuler" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Changer de polices.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Police normale :" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Police fixe :" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Taille de police :" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Aperçu :" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Ouvrir un livre CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Changer de polices." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Imprimer la page courante." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Récupération de la table des matières.." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Aller à la page de démarrage." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Aller au suivant dans l'historique. Par livre." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Aller à la dernière page visitée. Par livre." #: src/chmframe.cpp:56 msgid "About the program." msgstr "A propos du programme." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Copier la sélection" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Rechercher dans la page." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "Fermer l'onglet courant" #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "Ouvrir dans un nouvel onglet" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Associer l'extension .chm avec xCHM" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Prêt." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Contenu" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Rechercher" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "À propos de xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Choisir un fichier.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Confirmation" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "Enregistrement réussi" #: src/chmframe.cpp:398 msgid "Done" msgstr "Fait" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Chargement en cours.." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Ouvrir..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Imprimer la page...\tCtrl-P" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "Polices .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Voir la table des matières\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "Faire de xCHM l'afficheur CHM par défaut" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "F&ichiers récents" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Quitter\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Quitter l'application." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "Page d'&accueil\tCtrl-H" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "&Suivant\tAlt-RIGHT" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "&Précédent\tAlt-LEFT" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "À &propos..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Copier\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Chercher..\tCtrl-F" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "&Fermer l'onglet\tCtrl-W" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "&Nouvel onglet..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Fichier" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Editer" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&Historique" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Aide" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Signets" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Contenu" #: src/chmframe.cpp:881 msgid "Add" msgstr "Ajouter" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Supprimer" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Ajouter la page affichée dans les signets." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Supprimer la page sélectionnée des signets." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Ouvrir .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Imprimer .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Polices .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Copier" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Trouver" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Précédent" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Suivant" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Page d'accueil" #: src/chmframe.cpp:1050 msgid "About" msgstr "À propos" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Suivant" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Précédent" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Copier le &lien" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Enregistrer le lien sous.." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Ouvrir dans un nouvel onglet" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Copier la sélection" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Rechercher dans la page.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "Ouverture(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") échouée" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Erreur" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Enregistrer sous" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Erreur lors de la création du fichier" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Fichier sauvegardé " #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Succès" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Résultats partiels" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Rechercher dans les titres uniquement" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permettre les résultats partiels." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Rechercher seulement dans les titres." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Rechercher dans le contenu les occurrences du texte indiqué." #~ msgid "On or off?" #~ msgstr "Enclenché ou éteint ?" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "Ce programme est experimental, ceci va écraser toute précédente " #~ "association avec un afficheur CHM.\n" #~ "\n" #~ "Etes-vous sur de savoir ce que vous faites?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Impossible d'extraire la table des matières." #~ msgid "No contents.." #~ msgstr "Pas de contenu.." xchm-1.23/po/gr.gmo0000644000175000001440000001462512210054272011050 00000000000000Þ•WÔŒˆ ‰•›ª ¼ÉÙßåõ !9I\k €Žž¹ÂÈ Ûæ ê, 8 (= f p w … ” ¤ º  Ë Ð ä ô ù   ! & 5 ? R ^ g r { „ — Ÿ À Ý æ ë ñ   $ = E V e o x # ¥ »  Û â ü  . 6 B I \ d k } cŽ ò )/Y,t¡ ¸#Æêÿ!M1*È)â -+FY ³+Âî _R} ÐNÚ)D5S‰˜4¶ë>.+m ™¤ º9Ç --K*y¤,¨Õò M/I}ÇØò6,>kOzÊ+Ý) 3Po?€*À ë+ø$@5!v*˜Ã%Ý6 G/T„-K&!+UM) /$S#;G938?%L  0IN1A @B,(HC>:2J=74 R'Q<TFOEV "W6.5P*D&About.. F1&Back&Back Alt-LEFT&Close tab Ctrl-W&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&New tab Ctrl-T&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Fon&ts..Font size:Fonts ..For&wardFor&ward Alt-RIGHTForwardGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Open a new tabOpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: gr Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2012-12-23 16:13+0200 Last-Translator: Klearchos-Angelos Gkountras Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Poedit 1.5.4 &Σχετικα.. F1Πίσω&Πίσω Alt-ΑÏιστεÏά&Κλείσιμο ΚαÏτέλας Ctrl-W&ΑντιγÏαφή Ctrl-C&ΑντιγÏαφή επιλεγόμενουΕπεξεÏγασία%ΑÏχείο%ΕÏÏεση στην σελίδα&ΕÏÏεση Ctrl-F&Βοήθεια&ΑÏχική Σελίδά Ctrl-H&Κάνε τον xCHM το Ï€Ïοεπιλεγμένο CHM αναγνώστη&Îέα ΚαÏτέλα Ctrl-T&Άνοίγμα σε νέα καÏτέλα&'Ανοιγμα.. Ctrl-O&ΕκτÏπωση Σελίδας.. Ctrl-P&ΠÏοσφάτα αÏχεία%Αποθήκευση ως συνδέσμου&Δείξε τα πεÏιεχόμενα σε δεδÏοιδές Ctrl-S) αποτυχίαΣχετικάΣχετικά με το Ï€ÏογÏάμμαΣχετικα με το xCHMΠÏοσθήκηΠÏοσθήκη επιλεγόμενης σελίδας στους σελιδοδείκτες.Συσχέτιση των αÏχείων με κατάληξη .chm με το xCHMΠίσω Μετάβαση στην τελευταία σελίδα. Ανά βιβλίοΣελιδοδείκτεςΑκÏÏωσηΈχέι αλλαχθεί η γÏαματοσειÏάChange fonts..Επολογή αÏχείουΚλείσιμο Ï„Ïέχουσας καÏτέλαςΕπιβεβαιώσηΠεÏιεχόμεναΑντιγÏαφλήΑντιγÏαφλή τοποθεσίας &συνδέσμου ΑντιγÏαφή επιλεγόμενουΈγινεΈ&ξοδος Ctrl-XΣφάλμαΣφάλμα στην δημιουÏγία αÏχείουΕÏÏεσηΒÏες στην σελίδαΕυÏέση επομένουΕυÏέση λέξης στην σελίδαΣταθεÏή ΓÏαμματοσειÏα:&..Μέγεθος ΓÏαμματοσειÏάς:ΓÏαμματοσειÏέςΜπÏο&στάΕπόμενο Alt+ΔεξιάΜπÏοστάΜετάβαση μπÏοστα στο ιστοÏικό . Ανά βιβλίοΜετάβαση στην αÏχική σελίδα του βιβλίουΙστοÏικόΑÏχική ΣελίδαΚατλαλογοςΦόÏτωση , παÏακαλώ πεÏιμένετεΚανονική ΓÏαμματοσειÏά:ΕντάξειΜόνο εÏÏεση στους τιτλους των πεÏιεχομένων'Ανοιγμα ,,'Ανοιγμα ενός CHM βιβλίουΆνοιγμα σε νέα καÏτέλαΆνοιγμαΑÏχείουΠÏοεπισκόποιήσηΕκτÏπωσηΕκτυπώση σελιδας όπως εμφανίζεταιΚλείσίμο της εφαÏμόγηςΈτοιμοΗ εγγÏαφή ήταν επιτυχήςΑφαίÏεσηΑφαιÏέση επιλεγμένου σελιδοδείκτηΆνοιγμα καταλόγουΕυÏέση στα πεÏιεχόμεναΑποθήκευση ωςΑποθηκευμένο αÏχείοΑναζήτησηΑναζήτηση τίτλωνΕπιτυχίαΘέματαΧωÏίς τιτίλο στο καταλόγοWhole words onlyxchm-1.23/po/gr.po0000644000175000001440000002246612210054271010705 00000000000000# Greek translation. # Copyright (C) YEAR Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # Klearchos-Angelos Gkountras . # msgid "" msgstr "" "Project-Id-Version: gr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2012-12-23 16:13+0200\n" "Last-Translator: Klearchos-Angelos Gkountras \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "ΕυÏέση στα πεÏιεχόμενα" #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Άνοιγμα καταλόγου" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "ΧωÏίς τιτίλο στο καταλόγο" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Î’Ïες στην σελίδα" #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Whole words only" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "ΕυÏέση επομένου" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "ΑκÏÏωση" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Change fonts.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Κανονική ΓÏαμματοσειÏά:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "ΣταθεÏή ΓÏαμματοσειÏα:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Μέγεθος ΓÏαμματοσειÏάς:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "ΠÏοεπισκόποιήση" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Εντάξει" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "'Ανοιγμα ενός CHM βιβλίου" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Έχέι αλλαχθεί η γÏαματοσειÏά" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Εκτυπώση σελιδας όπως εμφανίζεται" #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "ΕυÏέση στα πεÏιεχόμενα" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Μετάβαση στην αÏχική σελίδα του βιβλίου" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Μετάβαση μπÏοστα στο ιστοÏικό . Ανά βιβλίο" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Μετάβαση στην τελευταία σελίδα. Ανά βιβλίο" #: src/chmframe.cpp:56 msgid "About the program." msgstr "Σχετικά με το Ï€ÏογÏάμμα" #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "ΑντιγÏαφή επιλεγόμενου" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "ΕυÏέση λέξης στην σελίδα" #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "Κλείσιμο Ï„Ïέχουσας καÏτέλας" #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "Άνοιγμα σε νέα καÏτέλα" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Συσχέτιση των αÏχείων με κατάληξη .chm με το xCHM" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Έτοιμο" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "ΠεÏιεχόμενα" #: src/chmframe.cpp:204 msgid "Index" msgstr "Κατλαλογος" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Αναζήτηση" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Σχετικα με το xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Επολογή αÏχείου" #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Επιβεβαιώση" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "Η εγγÏαφή ήταν επιτυχής" #: src/chmframe.cpp:398 msgid "Done" msgstr "Έγινε" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "ΦόÏτωση , παÏακαλώ πεÏιμένετε" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&'Ανοιγμα..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&ΕκτÏπωση Σελίδας..\tCtrl-P" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "&.." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Δείξε τα πεÏιεχόμενα σε δεδÏοιδές\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "&Κάνε τον xCHM το Ï€Ïοεπιλεγμένο CHM αναγνώστη" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&ΠÏοσφάτα αÏχεία" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Έ&ξοδος\t Ctrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Κλείσίμο της εφαÏμόγης" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&ΑÏχική Σελίδά\tCtrl-H" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "Επόμενο\tAlt+Δεξιά" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "&Πίσω\tAlt-ΑÏιστεÏά" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Σχετικα..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&ΑντιγÏαφή\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&ΕÏÏεση\tCtrl-F" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "&Κλείσιμο ΚαÏτέλας\tCtrl-W" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "&Îέα ΚαÏτέλα\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "%ΑÏχείο" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "ΕπεξεÏγασία" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "ΙστοÏικό" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Βοήθεια" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Σελιδοδείκτες" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Θέματα" #: src/chmframe.cpp:881 msgid "Add" msgstr "ΠÏοσθήκη" #: src/chmframe.cpp:882 msgid "Remove" msgstr "ΑφαίÏεση" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "ΠÏοσθήκη επιλεγόμενης σελίδας στους σελιδοδείκτες." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "ΑφαιÏέση επιλεγμένου σελιδοδείκτη" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "'Ανοιγμα ,," #: src/chmframe.cpp:1023 msgid "Print .." msgstr "ΕκτÏπωση" #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "ΓÏαμματοσειÏές" #: src/chmframe.cpp:1032 msgid "Copy" msgstr "ΑντιγÏαφλή" #: src/chmframe.cpp:1034 msgid "Find" msgstr "ΕÏÏεση" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Πίσω " #: src/chmframe.cpp:1045 msgid "Forward" msgstr "ΜπÏοστά" #: src/chmframe.cpp:1047 msgid "Home" msgstr "ΑÏχική Σελίδα" #: src/chmframe.cpp:1050 msgid "About" msgstr "Σχετικά" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "ΜπÏο&στά" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "Πίσω" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "ΑντιγÏαφλή τοποθεσίας &συνδέσμου " #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "%Αποθήκευση ως συνδέσμου" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Άνοίγμα σε νέα καÏτέλα" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&ΑντιγÏαφή επιλεγόμενου" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "%ΕÏÏεση στην σελίδα" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "ΆνοιγμαΑÏχείου" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") αποτυχία" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Σφάλμα" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Αποθήκευση ως" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Σφάλμα στην δημιουÏγία αÏχείου" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Αποθηκευμένο αÏχείο" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Επιτυχία" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Αναζήτηση τίτλων" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Μόνο εÏÏεση στους τιτλους των πεÏιεχομένων" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "" #~ msgid "On or off?" #~ msgstr "Άνοιγμα ή κλείσιμο" xchm-1.23/po/hu.gmo0000644000175000001440000000664112210054271011052 00000000000000Þ•;ôOÌ +1A GTc x†¡§ ºÅ Éê( /9@ O]l| …’ ¡ « ·ÂËÔÜ ð.7< BO$Rw™#¢ÆÜãê5 AT[m5~ ´  É Ü â ö ü  ! < N o w ˜ © ³ "Ó ö ý  % , B ] s ‡    ³ Æ × é ø þ   / B N W g y | “   ¹ à Ð í   2 /: j ‚ ˆ ‘ 637.(8 4*2 -/'! 5 ;9: 0)" 1%,#+&$&About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2004-07-24 09:39+0000 Last-Translator: Aron Novak Language-Team: Hungarian Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit &Névjegy.. F1VisszaKijelölés másolása&Fájl&Keresés az oldalon&Súgó&Kezdõlap Ctrl-H&Megnyitás.. Ctrl-O&Oldal nyomtatása.. Ctrl-D&Legutóbbi fájlok&Tartalomjegyzék mutatása Ctrl-SNévjegyMegjeleníti a program névjegyét.Az xCHM névjegyeHozzáadásAktuális oldal a könyvjelzõkhözRészleges találatok engedélyezése.VisszaVissza a legutóbbi oldalra.KönyvjelzõkMégsemKis/nagybetû érzékenyBetûtípus megváltoztatása.Betûtípus megadása...Fájl kiválasztása..Tartalom&Kilépés Ctrl-XKeresés a lapon...Következõ kereséseFix betûtípusok:Betûtípus mérete:Betûtípusok ..ElõreElõreRészleges találatokElõre az elõzményekbenUgrás a kezdõlapraEl&õzményekKezdõlapTartalomjegyzékAlap betûtípusok:OKCsak a címekben keres.Megnyitás ..Egy CHM könyv megnyitásaElõnézet:Nyomtatás ..Az aktuális oldal nyomtatásaKilépés a programból.Kész.EltávolitásKijelölt könyvjelzõ törlése.KeresésAz elõfordulások keresése a megadott szövegben.Keresés csak a címekbenTémákNévtelenCsak teljes szóxchm-1.23/po/hu.po0000644000175000001440000001740712210054271010710 00000000000000# xCHM .pot file. # Copyright (C) 2004 Aron Novak # This file is distributed under the same license as the xCHM package. # Lars Brand , 2004. # msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2004-07-24 09:39+0000\n" "Last-Translator: Aron Novak \n" "Language-Team: Hungarian\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Névtelen" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Névtelen" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Keresés a lapon..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Csak teljes szó" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Kis/nagybetû érzékeny" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Következõ keresése" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Mégsem" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Betûtípus megadása..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Alap betûtípusok:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Fix betûtípusok:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Betûtípus mérete:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Elõnézet:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Egy CHM könyv megnyitása" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Betûtípus megváltoztatása." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Az aktuális oldal nyomtatása" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Ugrás a kezdõlapra" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Elõre az elõzményekben" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Vissza a legutóbbi oldalra." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Megjeleníti a program névjegyét." #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "Kijelölés másolása" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "Keresés a lapon..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Egy CHM könyv megnyitása" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Kész." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Tartalom" #: src/chmframe.cpp:204 msgid "Index" msgstr "Tartalomjegyzék" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Keresés" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Az xCHM névjegye" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Fájl kiválasztása.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Megnyitás..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Oldal nyomtatása..\tCtrl-D" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Betûtípusok .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Tartalomjegyzék mutatása\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Legutóbbi fájlok" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Kilépés\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Kilépés a programból." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Kezdõlap\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "&Elõre\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Vissza\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Névjegy..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "&Kezdõlap\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&Megnyitás..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Kezdõlap\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Betûtípusok..\tCtrl-F" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Fájl" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "El&õzmények" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Súgó" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Könyvjelzõk" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Témák" #: src/chmframe.cpp:881 msgid "Add" msgstr "Hozzáadás" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Eltávolitás" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Aktuális oldal a könyvjelzõkhöz" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Kijelölt könyvjelzõ törlése." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Megnyitás .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Nyomtatás .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Betûtípusok .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "Következõ keresése" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Vissza" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Elõre" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Kezdõlap" #: src/chmframe.cpp:1050 msgid "About" msgstr "Névjegy" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Elõre" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "Vissza" #: src/chmhtmlwindow.cpp:50 #, fuzzy msgid "Copy &link location" msgstr "Kijelölés másolása" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "Kijelölés másolása" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Keresés az oldalon" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Részleges találatok" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Keresés csak a címekben" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Részleges találatok engedélyezése." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Csak a címekben keres." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Az elõfordulások keresése a megadott szövegben." #~ msgid "On or off?" #~ msgstr "Ki vagy be?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Nem lehet a tartalomjegyzéket kibontani." #~ msgid "No contents.." #~ msgstr "Nincs tartalom.." xchm-1.23/po/insert-header.sin0000644000175000001440000000124012210054137013166 00000000000000# 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 } xchm-1.23/po/it.gmo0000644000175000001440000000676512210054271011061 00000000000000Þ•;ôOÌ +1A GTc x†¡§ ºÅ Éê( /9@ O]l| …’ ¡ « ·ÂËÔÜ ð.7< BO$Rw™#¢ÆÜãê5 AT[mQ~ Ð Û å ö ü   2 B [ %i  ” ¯ Ä ,Í ú   : E M c € ™ ® · Ä Ú ë    $ + D _ x „ ” › ® (± Ú ß ð ú ) + ? F !N p 7v ® Ä Î â 637.(8 4*2 -/'! 5 ;9: 0)" 1%,#+&$&About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2004-02-25 00:33+0100 Last-Translator: Fabio Vescarelli Language-Team: Italian Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit In&fo.. F1In&dietro&Copia selezione&FileT&rova nella pagina...&AiutoP&agina iniziale Ctrl-H&Apri... Ctrl-OS&tampa pagina... Ctrl-PFile &recentiMo&stra l'albero dei contenuti Ctrl-SInfoInformazioni sul programmaInformazioni su xCHMAggiungiAggiungi la pagina selezionata ai segnalibriPermetti risultati parzialiIndietroVai alla pagina precedenteSegnalibriAnnullaMaiuscole / MinuscoleModifica i tipi di carattereCambia tipo di CarattereSeleziona un file...SommarioEs&ci Ctrl-XTrova nella pagina...Trova successivoCarattere a largezza fissa:DimensioneCaratteriA&vantiAvantiTrova risultati parzialiVai alla pagina successivaVai alla pagina inizialeC&ronologiaPagina inizialeIndiceCarattere normale:OkCerca solamente nei titoli dei contenutiApriApri un file CHMAnteprimaStampaStampa la pagina attualmente visualizzataChiude il programmaProntoRimuoviRimuovi il segnalibro selezionatoCercaCerca nei contenuti le occorrenze del testo specificatoCerca solo nei titoliArgomentiIndice senza TitoloSolo parole interexchm-1.23/po/it.po0000644000175000001440000001757412210054271010715 00000000000000# xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # Fabio Vescarelli , 2004. # msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2004-02-25 00:33+0100\n" "Last-Translator: Fabio Vescarelli \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Indice senza Titolo" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Indice senza Titolo" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Trova nella pagina..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Solo parole intere" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Maiuscole / Minuscole" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Trova successivo" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Annulla" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Cambia tipo di Carattere" #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Carattere normale:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Carattere a largezza fissa:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Dimensione" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Anteprima" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Ok" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Apri un file CHM" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Modifica i tipi di carattere" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Stampa la pagina attualmente visualizzata" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Vai alla pagina iniziale" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Vai alla pagina successiva" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Vai alla pagina precedente" #: src/chmframe.cpp:56 msgid "About the program." msgstr "Informazioni sul programma" #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "&Copia selezione" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "Trova nella pagina..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Apri un file CHM" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Pronto" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Sommario" #: src/chmframe.cpp:204 msgid "Index" msgstr "Indice" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Cerca" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Informazioni su xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Seleziona un file..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Apri...\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "S&tampa pagina...\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Caratteri" #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Mo&stra l'albero dei contenuti\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "File &recenti" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Es&ci\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Chiude il programma" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "P&agina iniziale\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "A&vanti\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "In&dietro\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "In&fo..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "P&agina iniziale\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&Apri...\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "P&agina iniziale\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "Cara&tteri...\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&File" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "C&ronologia" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Aiuto" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Segnalibri" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Argomenti" #: src/chmframe.cpp:881 msgid "Add" msgstr "Aggiungi" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Rimuovi" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Aggiungi la pagina selezionata ai segnalibri" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Rimuovi il segnalibro selezionato" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Apri" #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Stampa" #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Caratteri" #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "Trova successivo" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Indietro" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Avanti" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Pagina iniziale" #: src/chmframe.cpp:1050 msgid "About" msgstr "Info" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "A&vanti" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "In&dietro" #: src/chmhtmlwindow.cpp:50 #, fuzzy msgid "Copy &link location" msgstr "&Copia selezione" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Copia selezione" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "T&rova nella pagina..." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Trova risultati parziali" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Cerca solo nei titoli" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permetti risultati parziali" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Cerca solamente nei titoli dei contenuti" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Cerca nei contenuti le occorrenze del testo specificato" #~ msgid "On or off?" #~ msgstr "Visualizza il sommario" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Impossibile estrarre l'albero del contenuto del file" #~ msgid "No contents.." #~ msgstr "Nessun contenuto..." xchm-1.23/po/lv.gmo0000644000175000001440000000650712210054271011060 00000000000000Þ•;ôOÌ +1A GTc x†¡§ ºÅ Éê( /9@ O]l| …’ ¡ « ·ÂËÔÜ ð.7< BO$Rw™#¢ÆÜãê5 AT[m~’ ¦ ° à Ê Ü å ô   ) A H W ` !j Œ © %² Ø æ í þ   / 6 D _ o ƒ Œ — ¤ ° Í æ þ    + . I T j u ~ “ ¨ ° · × "ß   # 2 637.(8 4*2 -/'! 5 ;9: 0)" 1%,#+&$&About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: XChm Latvian Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2004-10-13 13:32+0300 Last-Translator: <> Language-Team: Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &Par programmu.. F1&Atpakaļ&KopÄ“t iezÄ«mÄ“to&Fails&MeklÄ“t lappusÄ“PalÄ«&gs&Starts Ctrl-H&AtvÄ“rt.. Ctrl-O&Druka.. Ctrl-PAtvÄ“rt &skatÄ«tosA&ttÄ“lot saturu Ctrl-SPar...Par programmu.Par xCHMPievienotPievienot lappusi grÄmatzÄ«mÄ“m.Atļaut daļēju sakritÄ«bu.AtpakaļAtpakaļ uz pÄ“dÄ“jo apmeklÄ“to lapu.GrÄmatzÄ«mesAtceltReÄ£istrjÅ«tÄ«gsBurtu Å¡rifti.MainÄ«t Å¡riftu..AtvÄ“rt failu..SatursI&zeja Ctrl-XMeklÄ“t Å¡ajÄ lappusÄ“...MeklÄ“t tÄlÄkFiksÄ“tais Å¡rifts:IzmÄ“rs:Å rifti ..&Uz priekÅ¡uUz priekÅ¡uAttÄ“lot daļēji lÄ«dzÄ«gosUz priekÅ¡u pa vÄ“sturi.Iet uz sÄkuma lappusi.&VÄ“stureStartsIndekssNormÄlais Å¡rifts:OkMeklÄ“t tikai virsrakstos.AtvÄ“rt ..AtvÄ“rt CHM grÄmatu.Caurskate:Druka ..DrukÄt Å¡o lappusi.Izeja no programmas.Gatavs.DzÄ“stDzÄ“st izvÄ“lÄ“to grÄmatzÄ«mi.MeklÄ“tMeklÄ“t frÄzes, kas satur tekstu.MeklÄ“t tikai virsrakstosTÄ“masBez virsrakstaTikai pilnus vÄrdusxchm-1.23/po/lv.po0000644000175000001440000001707212210054271010713 00000000000000# XChm LatvianGatis Kalnins , 2004. # # msgid "" msgstr "" "Project-Id-Version: XChm Latvian\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2004-10-13 13:32+0300\n" "Last-Translator: <>\n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Bez virsraksta" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Bez virsraksta" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "MeklÄ“t Å¡ajÄ lappusÄ“..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Tikai pilnus vÄrdus" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "ReÄ£istrjÅ«tÄ«gs" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "MeklÄ“t tÄlÄk" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Atcelt" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "MainÄ«t Å¡riftu.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "NormÄlais Å¡rifts:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "FiksÄ“tais Å¡rifts:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "IzmÄ“rs:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Caurskate:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Ok" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "AtvÄ“rt CHM grÄmatu." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Burtu Å¡rifti." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "DrukÄt Å¡o lappusi." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Iet uz sÄkuma lappusi." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Uz priekÅ¡u pa vÄ“sturi." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Atpakaļ uz pÄ“dÄ“jo apmeklÄ“to lapu." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Par programmu." #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "&KopÄ“t iezÄ«mÄ“to" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "MeklÄ“t Å¡ajÄ lappusÄ“..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "AtvÄ“rt CHM grÄmatu." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Gatavs." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Saturs" #: src/chmframe.cpp:204 msgid "Index" msgstr "Indekss" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "MeklÄ“t" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Par xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "AtvÄ“rt failu.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&AtvÄ“rt..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Druka..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Å rifti .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "A&ttÄ“lot saturu\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "AtvÄ“rt &skatÄ«tos" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "I&zeja\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Izeja no programmas." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Starts\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "&Uz priekÅ¡u\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Atpakaļ\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Par programmu..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "&Starts\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&AtvÄ“rt..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Starts\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Å rifti..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Fails" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&VÄ“sture" #: src/chmframe.cpp:832 msgid "&Help" msgstr "PalÄ«&gs" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "GrÄmatzÄ«mes" #: src/chmframe.cpp:870 msgid "Topics" msgstr "TÄ“mas" #: src/chmframe.cpp:881 msgid "Add" msgstr "Pievienot" #: src/chmframe.cpp:882 msgid "Remove" msgstr "DzÄ“st" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Pievienot lappusi grÄmatzÄ«mÄ“m." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "DzÄ“st izvÄ“lÄ“to grÄmatzÄ«mi." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "AtvÄ“rt .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Druka .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Å rifti .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "MeklÄ“t tÄlÄk" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Atpakaļ" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Uz priekÅ¡u" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Starts" #: src/chmframe.cpp:1050 msgid "About" msgstr "Par..." #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Uz priekÅ¡u" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Atpakaļ" #: src/chmhtmlwindow.cpp:50 #, fuzzy msgid "Copy &link location" msgstr "&KopÄ“t iezÄ«mÄ“to" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&KopÄ“t iezÄ«mÄ“to" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&MeklÄ“t lappusÄ“" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "AttÄ“lot daļēji lÄ«dzÄ«gos" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "MeklÄ“t tikai virsrakstos" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Atļaut daļēju sakritÄ«bu." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "MeklÄ“t tikai virsrakstos." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "MeklÄ“t frÄzes, kas satur tekstu." #~ msgid "On or off?" #~ msgstr "IeslÄ“gt vai izslÄ“gt?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Nav iespÄ“jams attÄ“lot dokumenta saturu." #~ msgid "No contents.." #~ msgstr "Satura nav.." xchm-1.23/po/pl.gmo0000644000175000001440000001266312210054271011052 00000000000000Þ•[ôÌÈ ÉÕÛê ü %5D J!Wy‰œ« ÀÎÞù   & * K ,b  (” ½ Ç Î Ý ë ú   ( 1 6 J Z _ l r ‡ Œ › ¥ ¸ Ä Í Ø á ê ý   : W ` e k ‚  $’ · ¿ Ð ß é ò #û  5 < U \ v ‰ ¨ ° ¼ 5à ù    - d> £¶¾Ïêù 4GN*`‹¢½Ðì& G \ hu|*‚&­2Ô= LV"]€  ° Ñ Üèï&->E]e{¬ ÈÒá êô00*a Œ – §ÇÖÙ õ 5 ? I&U|’𳹨ï '3.b{‚‰ /NR(#-YP+ 1V"&W%>J<:B 'O  2LQ3D CE.*KFA=4M@96!U5)T?XI;HZ $[807S,G&About.. F1&Back&Back Alt-LEFT&Close tab Ctrl-W&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&New tab Ctrl-T&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Fon&ts..Font size:Fonts ..For&wardFor&ward Alt-RIGHTForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Open a new tabOpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm 1.20 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2011-05-20 16:45+0200 Last-Translator: Jakub Bogusz Language-Team: Polish Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &O programie... F1W &tyÅ‚W &tyÅ‚ Alt-LewoZa&mknij zakÅ‚adkÄ™ Ctrl-W&Kopiuj Ctrl-C&Kopiuj zaznaczenie&Modyfikuj&Plik&Szukaj na stronie...&Znajdź... Ctrl-F&Pomoc&PoczÄ…tek Ctrl-H&UczyÅ„ xCHM domyÅ›lnÄ… przeglÄ…darkÄ… CHM&Nowa zakÅ‚adka Ctrl-T&Otwórz w nowej zakÅ‚adce&Otwórz... Ctrl-OWy&drukuj stronÄ™... Ctrl-P&Ostatnio otwierane pliki&Zapisz odnoÅ›nik jako...W&yÅ›wietlaj drzewo zawartoÅ›ci Ctrl-S) nie powiodÅ‚o siÄ™O programieO programie.O xCHMDodajDodanie wyÅ›wietlanej strony do zakÅ‚adek.Pozwolenie na częściowe dopasowania.Powiąż rozszerzenie pliku .chm z programem xCHM.W tyÅ‚PrzejÅ›cie do ostatnio odwiedzonej strony w ramach książki.ZakÅ‚adkiAnulujZ uwzglÄ™dnieniem wielkoÅ›ci literZmiana fontów.ZmieÅ„ fonty...Wybierz plik...ZamkniÄ™cie bieżącej zakÅ‚adkiPotwierdźZawartośćKopiujKopiuj poÅ‚ożenie &odnoÅ›nikaSkopiowanie zaznacznia.Gotowe&WyjÅ›cie Ctrl-XBłądBłąd tworzenia pliku ZnajdźZnajdź na stronie...Znajdź nastÄ™pnyZnalezienie sÅ‚owa na stronie.Font o staÅ‚ej szerokoÅ›ci:Fon&ty...Rozmiar fontu:Fonty...&W przód&W przód Alt-PrawoW przódTakże częściowe dopasowaniaPrzejÅ›cie w przód historii w ramach książki.PrzejÅ›cie na stronÄ™ startowÄ… książki.Hi&storiaPoczÄ…tekIndeksWczytywanie, proszÄ™ czekać...Font normalny:OKSzukanie tylko w tytuÅ‚ach.Otwórz...Otworzenie książki CHM.Otworzenie nowej zakÅ‚adkiOpenFile(PodglÄ…d:Wydrukuj...Wydruk aktualnie wyÅ›wietlanej strony.WyjÅ›cie z aplikacji.Gotowy.Rejestrowanie pomyÅ›lne!UsuÅ„UsuniÄ™cie wybranej zakÅ‚adki.Odtwarzanie indeksu...Odtwarzanie spisu treÅ›ci...Zapisz jakoZapisano plik SzukajPoszukiwanie w treÅ›ci wystÄ…pieÅ„ podanego tekstu.Szukaj tylko w tytuÅ‚achSukcesTematyBez tytuÅ‚u w indeksieTylko caÅ‚e sÅ‚owaxchm-1.23/po/pl.po0000644000175000001440000002015512210054271010701 00000000000000# Polish translation for xchm. # This file is distributed under the same license as the xchm package. # Jakub Bogusz , 2004-2011. # # vi:encoding=utf-8 # msgid "" msgstr "" "Project-Id-Version: xchm 1.20\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2011-05-20 16:45+0200\n" "Last-Translator: Jakub Bogusz \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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Odtwarzanie spisu treÅ›ci..." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Odtwarzanie indeksu..." #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Bez tytuÅ‚u w indeksie" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Znajdź na stronie..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Tylko caÅ‚e sÅ‚owa" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Z uwzglÄ™dnieniem wielkoÅ›ci liter" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Znajdź nastÄ™pny" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Anuluj" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "ZmieÅ„ fonty..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Font normalny:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Font o staÅ‚ej szerokoÅ›ci:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Rozmiar fontu:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "PodglÄ…d:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Otworzenie książki CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Zmiana fontów." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Wydruk aktualnie wyÅ›wietlanej strony." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Odtwarzanie spisu treÅ›ci..." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "PrzejÅ›cie na stronÄ™ startowÄ… książki." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "PrzejÅ›cie w przód historii w ramach książki." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "PrzejÅ›cie do ostatnio odwiedzonej strony w ramach książki." #: src/chmframe.cpp:56 msgid "About the program." msgstr "O programie." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Skopiowanie zaznacznia." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Znalezienie sÅ‚owa na stronie." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "ZamkniÄ™cie bieżącej zakÅ‚adki" #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "Otworzenie nowej zakÅ‚adki" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Powiąż rozszerzenie pliku .chm z programem xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Gotowy." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Zawartość" #: src/chmframe.cpp:204 msgid "Index" msgstr "Indeks" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Szukaj" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "O xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Wybierz plik..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Potwierdź" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "Rejestrowanie pomyÅ›lne!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Gotowe" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Wczytywanie, proszÄ™ czekać..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Otwórz...\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Wy&drukuj stronÄ™...\tCtrl-P" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "Fon&ty..." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "W&yÅ›wietlaj drzewo zawartoÅ›ci\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "&UczyÅ„ xCHM domyÅ›lnÄ… przeglÄ…darkÄ… CHM" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Ostatnio otwierane pliki" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&WyjÅ›cie\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "WyjÅ›cie z aplikacji." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&PoczÄ…tek\tCtrl-H" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "&W przód\tAlt-Prawo" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "W &tyÅ‚\tAlt-Lewo" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&O programie...\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Kopiuj\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Znajdź...\tCtrl-F" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "Za&mknij zakÅ‚adkÄ™\tCtrl-W" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "&Nowa zakÅ‚adka\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Plik" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Modyfikuj" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Hi&storia" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Pomoc" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "ZakÅ‚adki" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Tematy" #: src/chmframe.cpp:881 msgid "Add" msgstr "Dodaj" #: src/chmframe.cpp:882 msgid "Remove" msgstr "UsuÅ„" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Dodanie wyÅ›wietlanej strony do zakÅ‚adek." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "UsuniÄ™cie wybranej zakÅ‚adki." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Otwórz..." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Wydrukuj..." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fonty..." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Kopiuj" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Znajdź" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "W tyÅ‚" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "W przód" #: src/chmframe.cpp:1047 msgid "Home" msgstr "PoczÄ…tek" #: src/chmframe.cpp:1050 msgid "About" msgstr "O programie" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&W przód" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "W &tyÅ‚" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Kopiuj poÅ‚ożenie &odnoÅ›nika" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Zapisz odnoÅ›nik jako..." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Otwórz w nowej zakÅ‚adce" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Kopiuj zaznaczenie" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Szukaj na stronie..." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "OpenFile(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") nie powiodÅ‚o siÄ™" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Błąd" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Zapisz jako" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Błąd tworzenia pliku " #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Zapisano plik " #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Sukces" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Także częściowe dopasowania" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Szukaj tylko w tytuÅ‚ach" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Pozwolenie na częściowe dopasowania." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Szukanie tylko w tytuÅ‚ach." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Poszukiwanie w treÅ›ci wystÄ…pieÅ„ podanego tekstu." #~ msgid "On or off?" #~ msgstr "Włączone czy wyłączone?" xchm-1.23/po/pt_BR.gmo0000644000175000001440000000743612210054271011447 00000000000000Þ•A$Y, ‘ £°ÀÆÖå ëø *EK ^i mŽ¥(ª ÓÝä ó )= MZ_ nx ‹ —¢«´¼ Ðñ "/$2W_py#‚¦¼ÃÊä5ë! 4 ; M Q^ ° »  Ð ß ç ü    . J \ } ƒ •   'ª Ò ð 0÷ ( 2 ; \ m | ‘ š © ¸ Ä Õ ê û  $ 6 @ I Q k "Œ ¯ ¹ À Æ Ô +×    ,8Oaiq‘;šÖó û><1 A:9$2-.;&805@4,"!  %* 7+('6?3 #)/=&About.. F1&Back&Copy Ctrl-C&Copy selection&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsCopy &link locationCopy selection.E&xit Ctrl-XFindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: Sat Apr 3 20:35:46 BRT 2004 Last-Translator: Alan Kelon O. Moraes Language-Team: Brazilian Portuguese Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Sobre.. F1VoltarInício Ctrl-HCopiar seleçãoArquivoProcurar na página..Abrir.. Ctrl-OAjudaInício Ctrl-HAbrir.. Ctrl-OImprimir a página... Ctrl-PArquivos recentesExibir a lista de tópicos Ctrl-SSobreSobre o programa.Sobre xCHMAdicionarAdicionar a página atual aos favoritos.Permitir resultados parciais.VoltarVoltar para a última página visitada. Por livro.FavoritosCancelarDiferir maiúsculas de minúsculasMudar as fontes.Mudar fontes..Escolha um arquivo..ConteúdoCopiar seleçãoCopiar seleçãoSair Ctrl-XProcurar próximoProcurar na página..Procurar próximoProcurar na página..Fonte proporcional:Tamanho da fonte:Fontes ..Avançar&AvançarObter resultados parciaisAvançar no histórico. Por livro.Ir para a página inicial do livro.HistóricoInícioIndexFonte normal:OKProcurar somente nos títulos dos conteúdos.Abrir ..Abrir um livro CHM.Visualizar:Imprimir ..Imprimir página atual.Sair do programa.Pronto.RemoverRemover o favorito selecionado.ProcurarProcurar nos tópicos por ocorrências do texto especificado.Procurar somente nos títulosTópicosSem títuloPalavra completa apenasxchm-1.23/po/pt_BR.po0000644000175000001440000001745412210054271011304 00000000000000# xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # Copyright (C) 2004 Alan Kelon O Moraes # This file is distributed under the same license as the xCHM package. # FIRST AUTHOR , 2004. # msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: Sat Apr 3 20:35:46 BRT 2004\n" "Last-Translator: Alan Kelon O. Moraes \n" "Language-Team: Brazilian Portuguese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Sem título" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Sem título" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Procurar na página.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Palavra completa apenas" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Diferir maiúsculas de minúsculas" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Procurar próximo" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Cancelar" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Mudar fontes.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Fonte normal:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Fonte proporcional:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Tamanho da fonte:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Visualizar:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Abrir um livro CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Mudar as fontes." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Imprimir página atual." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Ir para a página inicial do livro." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Avançar no histórico. Por livro." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Voltar para a última página visitada. Por livro." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Sobre o programa." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Copiar seleção" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Procurar na página.." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Abrir um livro CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Pronto." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Conteúdo" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Procurar" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Sobre xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Escolha um arquivo.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "Abrir..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Imprimir a página...\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Fontes .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Exibir a lista de tópicos\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "Arquivos recentes" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Sair\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Sair do programa." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "Início\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "Avançar\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "Voltar\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "Sobre..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "Início\tCtrl-H" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "Abrir..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "Início\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "Fontes..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "Arquivo" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Histórico" #: src/chmframe.cpp:832 msgid "&Help" msgstr "Ajuda" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Favoritos" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Tópicos" #: src/chmframe.cpp:881 msgid "Add" msgstr "Adicionar" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Remover" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Adicionar a página atual aos favoritos." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Remover o favorito selecionado." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Abrir .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Imprimir .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fontes .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Procurar próximo" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Voltar" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Avançar" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Início" #: src/chmframe.cpp:1050 msgid "About" msgstr "Sobre" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Avançar&" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "Voltar" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Copiar seleção" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "Copiar seleção" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "Procurar na página.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Obter resultados parciais" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Procurar somente nos títulos" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permitir resultados parciais." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Procurar somente nos títulos dos conteúdos." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Procurar nos tópicos por ocorrências do texto especificado." #~ msgid "On or off?" #~ msgstr "Ativar ou desatuvar?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Não foi possível abrir os tópicos do livro." #~ msgid "No contents.." #~ msgstr "Sem conteúdo.." xchm-1.23/po/pt_PT.gmo0000644000175000001440000001141512210054271011457 00000000000000Þ•R¬m<ð ñý  &,<K Q!^€“¢ ·ÅÕðùÿ  !B,Y†(‹ ´¾Å Ôâñ   ( - A Q V c x } Œ – © µ À É Ò Ú î  , 5 : @ W d $g Œ ” ¥ ¯ ¸ #Á å û   " < D P 5W    ¨ ¯ Á ZÒ - 9 A P a i s ‰ œ £ 1² ä ù $8!Qs|‚ ” ¡(«Ô/ò"0) Zd mŽŸ®ÄØáê ñ" (5QZo€•© »ÅÎÖ ð" 4?FM dr+u¡ª¾Í Ýé0 8 Yfx;½Úâ êõQ > 3F ,?)GO '! 9#LB=E 6%2H4&5.PJ$M:DK-R;8+/CIAN(<710*@"&About.. F1&Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XError creating file FindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.OpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: Sat Apr 3 20:35:46 BRT 2004 Last-Translator: José Paulo Matafome Oleiro Language-Team: Portuguese Team Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit &Sobre.. F1&Voltar&Copiar Ctrl-C&Copiar selecção&Editar&Ficheiro&Procurar na página..&Procurar.. Ctrl-F&Ajuda&Início Ctrl-H&Tornar o xCHM o visualizador de CHM pré-definido&Abrir numa nova abaAbrir.. Ctrl-OImprimir a página... Ctrl-P&Ficheiros recentes&Guardar ligação como...&Exibir a lista de tópicos Ctrl-S) falhouSobreSobre o programa.Sobre o xCHMAdicionarAdicionar a página actual aos favoritos.Permitir resultados parciais.Associar a extensão de ficheiro .chm com o xCHMVoltarVoltar para a última página visitada. Por livro.FavoritosCancelarDiferir maiúsculas de minúsculasMudar as fontes.Mudar fontes..Escolha um ficheiro..Fechar a aba actualConfirmaConteúdoCopiarCopiar a &localização da ligaçãoCopiar selecçãoFeitoS&air Ctrl-XErro na criação do ficheiroProcurarProcurar na página..Procurar próximoProcurar na página..Fonte proporcional:Tamanho da fonte:Fontes ..Av&ançarAvançarObter resultados parciaisAvançar no histórico. Por livro.Ir para a página inicial do livro.Hi&stóricoInícioÍndiceCarregando, aguarda...Fonte normal:OKProcurar somente nos títulos dos conteúdos.Abrir ..Abrir um livro CHM.AbrirFicheiro(Pré-visualizar:Imprimir ..Imprimir página actual.Sair do programa.Pronto.Registo com sucesso!RemoverRemover o favorito seleccionado.Guardar comoFicheiro guardadoProcurarProcurar nos tópicos por ocorrências do texto especificado.Procurar somente nos títulosSucessoTópicosSem títuloPalavra completa apenasxchm-1.23/po/pt_PT.po0000644000175000001440000002105412210054271011313 00000000000000# xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # Copyright (C) 2006-2010 José Paulo Matafome Oleiro # This file is distributed under the same license as the xCHM package. # FIRST AUTHOR , 2006. # msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: Sat Apr 3 20:35:46 BRT 2004\n" "Last-Translator: José Paulo Matafome Oleiro \n" "Language-Team: Portuguese Team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-15\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Sem título" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Sem título" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Procurar na página.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Palavra completa apenas" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Diferir maiúsculas de minúsculas" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Procurar próximo" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Cancelar" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Mudar fontes.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Fonte normal:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Fonte proporcional:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Tamanho da fonte:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Pré-visualizar:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Abrir um livro CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Mudar as fontes." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Imprimir página actual." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Ir para a página inicial do livro." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Avançar no histórico. Por livro." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Voltar para a última página visitada. Por livro." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Sobre o programa." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Copiar selecção" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Procurar na página.." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "Fechar a aba actual" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Abrir um livro CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Associar a extensão de ficheiro .chm com o xCHM" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Pronto." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Conteúdo" #: src/chmframe.cpp:204 msgid "Index" msgstr "Índice" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Procurar" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Sobre o xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Escolha um ficheiro.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Confirma" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "Registo com sucesso!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Feito" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Carregando, aguarda..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "Abrir..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Imprimir a página...\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Fontes .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Exibir a lista de tópicos\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "&Tornar o xCHM o visualizador de CHM pré-definido" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Ficheiros recentes" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "S&air\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Sair do programa." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Início\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "Av&ançar\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Voltar\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Sobre..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Copiar\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Procurar..\tCtrl-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Início\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "Fon&tes..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Ficheiro" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Editar" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Hi&stórico" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Ajuda" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Favoritos" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Tópicos" #: src/chmframe.cpp:881 msgid "Add" msgstr "Adicionar" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Remover" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Adicionar a página actual aos favoritos." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Remover o favorito seleccionado." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Abrir .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Imprimir .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fontes .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Copiar" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Procurar" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Voltar" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Avançar" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Início" #: src/chmframe.cpp:1050 msgid "About" msgstr "Sobre" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Av&ançar" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Voltar" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Copiar a &localização da ligação" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Guardar ligação como..." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Abrir numa nova aba" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Copiar selecção" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Procurar na página.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "AbrirFicheiro(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") falhou" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Guardar como" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Erro na criação do ficheiro" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Ficheiro guardado" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Sucesso" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Obter resultados parciais" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Procurar somente nos títulos" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permitir resultados parciais." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Procurar somente nos títulos dos conteúdos." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Procurar nos tópicos por ocorrências do texto especificado." #~ msgid "On or off?" #~ msgstr "Activar ou desactivar?" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "Isto é um código experimental, e fazer isto vai substituir qualquer " #~ "associação de visualizadores CHM.\n" #~ "\n" #~ "Tem a certeza que sabe o que está a fazer?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Não foi possível abrir os tópicos do livro." #~ msgid "No contents.." #~ msgstr "Sem conteúdo.." xchm-1.23/po/quot.sed0000644000175000001440000000023112210054137011405 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g xchm-1.23/po/remove-potcdate.sin0000644000175000001440000000066012210054137013537 00000000000000# 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 } xchm-1.23/po/ro.gmo0000644000175000001440000001155112210054271011052 00000000000000Þ•R¬m<ðñ ÷ 0? E!Rtƒ ˜¦¶ÑÚà óþ #,:g(l •Ÿ¦ µÃÒâêóø  ! . 4 I N ] g z † ‘ š £ « ¿ à ý    ( 5 $8 ] e v € ‰ #’ ¶ Ì Ó ì ó   ? G S 5Z  £ « ² Ä ^Õ 4 = N b k t ‹ œ ¤ &² Ù í  $5Z\c s-‡µ Òó.û* 9C]q‡ ›¥­¶ÇÛàïö3Ig ” Ÿ©²0Æ#÷$*'0 Xe&h ›#µ Ùæõ(.G!Oq‰ £°ÇEÎ,3;RQ ( 1 *=&EOF$7RL@; C4"0H2#3 APJ!M8BK+96),-IDG<?N%:5/.'> &Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.OpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2007-05-30 23:50+0300 Last-Translator: Igor Știrbu Language-Team: Romanian Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ÃŽna&poi&Copiază Ctrl-C&Copiază selecÈ›ia&Editare&FiÈ™ier&Caută în pagină...Caută... Ctrl-F&Ajutor&Start Ctrl-HFă xCH&M vizualizator implicit de CHM&Deschide... Ctrl-O&TipăreÈ™te pagina... Ctrl-PF&iÈ™iere recente&Salvează adresa ca...&Arată arborescent cuprinsul Ctrl-S)DespreDespre program.Despre xCHMAdaugăAdaugă pagina afiÈ™ată la semnele de carte.Permite rezultate parÈ›iale.Asociază extensia .chm cu xCHM.ÃŽnapoiÃŽnapoi la ultima pagina vizitată. Per carte.Semne de carteRenunțăMajuscule nesemnificativeSchimbă fonturile.Schimbă fonturile...Alege un fiÈ™ier...ConfirmăCuprinsCopiază&Copiază adresaCopiază selecÈ›ia.GataIeÈ™ire Ctrl-XEroareEroare la crearea fiÈ™ierului CautăCăută în pagină...Următoarea potrivireCaută cuvântul în pagină.Font cu dimensiune fixă:Mărimea fontului:Fonturi...ÃŽnai&nteÃŽnainteRezultate parÈ›ialeMergi înainte în paginile vizitate. Per carte.Mergi la pagina de start a carÈ›ii.&IstoricStartIndexAÈ™teptaÈ›i, documentul se încarcă...Font normal:OKCaută doar în titlurile din cuprins.Deschide...Deschide un document CHM.Eroare la deschiderea fiÈ™ierului (Vizualizare:TipăreÈ™te...TipăreÈ™te pagina afiÈ™ată.ÃŽnchide aplicaÈ›ia.Gata.ÃŽnregistrare reuÈ™ită!ȘtergeȘterge semnul de carte selectat.Se descarcă indexul...Se descarcă cuprinsul...Salvează caFiÈ™ierul salvat este CautăCaută în carte pagini care conÈ›in apariÈ›ii ale textului precizat.Caută doar în titluriSuccesCuprinsFără titlu în indexNumai cuvinte întregixchm-1.23/po/ro.po0000644000175000001440000002130112210054271010700 00000000000000# xCHM .pot file. # Copyright (C) 2004 Razvan Cojocaru # This file is distributed under the same license as the xCHM package. # FIRST AUTHOR , 2004. # Igor Stirbu , 2007. msgid "" msgstr "" "Project-Id-Version: xCHM\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2007-05-30 23:50+0300\n" "Last-Translator: Igor Știrbu \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Se descarcă cuprinsul..." #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Se descarcă indexul..." #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Fără titlu în index" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Căută în pagină..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Numai cuvinte întregi" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Majuscule nesemnificative" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Următoarea potrivire" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Renunță" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Schimbă fonturile..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Font normal:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Font cu dimensiune fixă:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Mărimea fontului:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Vizualizare:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Deschide un document CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Schimbă fonturile." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "TipăreÈ™te pagina afiÈ™ată." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Se descarcă cuprinsul..." #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Mergi la pagina de start a carÈ›ii." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Mergi înainte în paginile vizitate. Per carte." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "ÃŽnapoi la ultima pagina vizitată. Per carte." # Despre aplicaÈ›ie? #: src/chmframe.cpp:56 msgid "About the program." msgstr "Despre program." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Copiază selecÈ›ia." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Caută cuvântul în pagină." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Deschide un document CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Asociază extensia .chm cu xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Gata." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Cuprins" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Caută" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Despre xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Alege un fiÈ™ier..." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Confirmă" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "ÃŽnregistrare reuÈ™ită!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Gata" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "AÈ™teptaÈ›i, documentul se încarcă..." #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Deschide...\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&TipăreÈ™te pagina...\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Fonturi..." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "&Arată arborescent cuprinsul\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "Fă xCH&M vizualizator implicit de CHM" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "F&iÈ™iere recente" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "IeÈ™ire\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "ÃŽnchide aplicaÈ›ia." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Start\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "ÃŽna&inte\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "ÃŽ&napoi\tCtrl-B" #: src/chmframe.cpp:814 #, fuzzy msgid "&About..\tF1" msgstr "&Despre...\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Copiază\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "Caută...\tCtrl-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Start\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Fonturi...\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" # E ok forma plurală? #: src/chmframe.cpp:828 msgid "&File" msgstr "&FiÈ™ier" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Editare" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&Istoric" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Ajutor" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Semne de carte" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Cuprins" #: src/chmframe.cpp:881 msgid "Add" msgstr "Adaugă" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Șterge" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Adaugă pagina afiÈ™ată la semnele de carte." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Șterge semnul de carte selectat." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Deschide..." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "TipăreÈ™te..." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fonturi..." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Copiază" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Caută" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "ÃŽnapoi" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "ÃŽnainte" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Start" #: src/chmframe.cpp:1050 msgid "About" msgstr "Despre" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "ÃŽnai&nte" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "ÃŽna&poi" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "&Copiază adresa" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "&Salvează adresa ca..." #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Copiază selecÈ›ia" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Caută în pagină..." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "Eroare la deschiderea fiÈ™ierului (" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ")" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Eroare" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Salvează ca" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Eroare la crearea fiÈ™ierului " #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "FiÈ™ierul salvat este " #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Succes" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Rezultate parÈ›iale" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Caută doar în titluri" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Permite rezultate parÈ›iale." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Caută doar în titlurile din cuprins." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Caută în carte pagini care conÈ›in apariÈ›ii ale textului precizat." #~ msgid "On or off?" #~ msgstr "Activat sau nu?" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "Acesta este cod experimental. Continuând, veÈ›i suprascrie orice asociaÈ›ii " #~ "anterioare făcute de alte vizualizatoare CHM.\n" #~ "\n" #~ "SunteÈ›i sigur ca doriÈ›i să continuaÈ›i?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Nu am putut extrage cuprinsul cartii." #~ msgid "No contents.." #~ msgstr "Nu exista cuprins.." xchm-1.23/po/ru.gmo0000644000175000001440000001447512210054271011070 00000000000000Þ•[ôÌÈ ÉÕÛê ü %5D J!Wy‰œ« ÀÎÞù   & * K ,b  (” ½ Ç Î Ý ë ú   ( 1 6 J Z _ l r ‡ Œ › ¥ ¸ Ä Í Ø á ê ý   : W ` e k ‚  $’ · ¿ Ð ß é ò #û  5 < U \ v ‰ ¨ ° ¼ 5à ù    - B>  ›§%¼â(ÿ ( 6-@n „’J¥!ð,?Yq*Ž-¹çý*EQV;¨1ä G!i z"‡"ª!Íï- 8Od"y(œ ÅÒ å(ò ,&S*sž´ Å Ó àî 8!L6n¥ µ À'ÍõEN])|¦¿ Ñ7Þ% <0J{3Š$¾*ã+ FQQ1£!Õ÷"/NR(#-YP+ 1V"&W%>J<:B 'O  2LQ3D CE.*KFA=4M@96!U5)T?XI;HZ $[807S,G&About.. F1&Back&Back Alt-LEFT&Close tab Ctrl-W&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&New tab Ctrl-T&Open in a new tab&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Save link as..&Show contents tree Ctrl-S) failedAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..Close the current tabConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XErrorError creating file FindFind in page..Find nextFind word in page.Fixed font:Fon&ts..Font size:Fonts ..For&wardFor&ward Alt-RIGHTForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexLoading, please wait..Normal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Open a new tabOpenFile(Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.Retrieving index..Retrieving table of contents..Save asSaved file SearchSearch contents for occurences of the specified text.Search titles onlySuccessTopicsUntitled in indexWhole words onlyProject-Id-Version: ru Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2012-01-20 13:18+0300 Last-Translator: Kyrill Detinov Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &О программе F1&Ðазад&Ðазад Alt-LEFT&Закрыть вкладку Ctrl-W&Копировать Ctrl-C&Копировать выделение&Правка&Файл&Ðайти на Ñтой Ñтранице…&Ðайти… Ctrl-FПомо&щьД&омой Ctrl-HСделать xCHM проÑмотрщиком CHM по умолчаниюÐÐ¾Ð²Ð°Ñ &вкладка Ctrl-T&Открыть в новой вкладке&Открыть… Ctrl-O&Печать… Ctrl-P&Ðедавние файлыСо&хранить ÑÑылку как…Показать &Ñодержание Ctrl-S) не удалоÑьО программеО программе.О программе xCHMДобавитьДобавить отображаемую Ñтраницу к закладкам.Разрешить чаÑтичное Ñовпадение.СвÑзать раÑширение .chm Ñ xCHM.ÐазадÐазад к поÑледней поÑещённой Ñтранице.ЗакладкиОтменаРегиÑтрозавиÑимыйПараметры шрифтов.Параметры шрифтовОткрыть файл…Закрыть текущую вкладку.ПодтвердитьСодержаниеКопироватьКопировать &ÑÑылкуКопировать выделение.Готово&Выход Ctrl-XОшибкаОшибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°ÐайтиÐайти на Ñтой Ñтранице…Продолжить поиÑкÐайти на Ñтой Ñтранице.Моноширный:&Шрифты…Размер:Шрифты&Вперёд&Вперёд Alt-RIGHTВперёдПоказать чаÑтичное ÑовпадениеВперёд по иÑтории.Перейти к начальной Ñтранице.&ИÑториÑДомойИндекÑЗагрузка, подождите…Обычный:OKИÑкать только в заголовках ÑодежаниÑ.ОткрытьОткрыть CHM книгу.Открыть новую вкладку.Открыть файл(ПроÑмотр:ПечатьПечать отображаемой Ñтраницы.Выход из приложениÑ.Готово.ЗарегиÑтрировано уÑпешно!УдалитьУдалить выбранную закладку.Получение индекÑа…Получение ÑодержаниÑ…Сохранить как…Файл Ñохранён.ПоиÑкПоиÑк фраз, где вÑтречаетÑÑ Ð²Ð²ÐµÐ´Ñ‘Ð½Ð½Ñ‹Ð¹ текÑÑ‚.ИÑкать только в заголовкахВыполнено уÑпешноТемыБез заголовкаТолько целые Ñловаxchm-1.23/po/ru.po0000644000175000001440000002240512210054271010714 00000000000000# translation of ru.po to Russian # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR Razvan Cojocaru , 2004. # Andy Shevchenko , 2004, 2005. # msgid "" msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2012-01-20 13:18+0300\n" "Last-Translator: Kyrill Detinov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "Получение ÑодержаниÑ…" #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "Получение индекÑа…" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Без заголовка" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Ðайти на Ñтой Ñтранице…" #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Только целые Ñлова" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "РегиÑтрозавиÑимый" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Продолжить поиÑк" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Отмена" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Параметры шрифтов" #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Обычный:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Моноширный:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Размер:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "ПроÑмотр:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Открыть CHM книгу." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Параметры шрифтов." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Печать отображаемой Ñтраницы." #: src/chmframe.cpp:52 #, fuzzy msgid "Toggle table of contents." msgstr "Получение ÑодержаниÑ…" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Перейти к начальной Ñтранице." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Вперёд по иÑтории." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Ðазад к поÑледней поÑещённой Ñтранице." #: src/chmframe.cpp:56 msgid "About the program." msgstr "О программе." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Копировать выделение." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Ðайти на Ñтой Ñтранице." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "Закрыть текущую вкладку." #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "Открыть новую вкладку." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "СвÑзать раÑширение .chm Ñ xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Готово." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Содержание" #: src/chmframe.cpp:204 msgid "Index" msgstr "ИндекÑ" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "ПоиÑк" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "О программе xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Открыть файл…" #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Подтвердить" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "ЗарегиÑтрировано уÑпешно!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Готово" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "Загрузка, подождите…" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Открыть…\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "&Печать…\tCtrl-P" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "&Шрифты…" #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Показать &Ñодержание\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "Сделать xCHM проÑмотрщиком CHM по умолчанию" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Ðедавние файлы" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Выход\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Выход из приложениÑ." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "Д&омой\tCtrl-H" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "&Вперёд\tAlt-RIGHT" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "&Ðазад\tAlt-LEFT" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&О программе\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Копировать\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Ðайти…\tCtrl-F" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "&Закрыть вкладку\tCtrl-W" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "ÐÐ¾Ð²Ð°Ñ &вкладка\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Файл" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Правка" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&ИÑториÑ" #: src/chmframe.cpp:832 msgid "&Help" msgstr "Помо&щь" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Закладки" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Темы" #: src/chmframe.cpp:881 msgid "Add" msgstr "Добавить" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Удалить" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Добавить отображаемую Ñтраницу к закладкам." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Удалить выбранную закладку." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Открыть" #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Печать" #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Шрифты" #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Копировать" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Ðайти" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Ðазад" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Вперёд" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Домой" #: src/chmframe.cpp:1050 msgid "About" msgstr "О программе" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Вперёд" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Ðазад" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Копировать &ÑÑылку" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "Со&хранить ÑÑылку как…" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "&Открыть в новой вкладке" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Копировать выделение" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Ðайти на Ñтой Ñтранице…" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "Открыть файл(" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr ") не удалоÑÑŒ" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "Ошибка" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "Сохранить как…" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "Файл Ñохранён." #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "Выполнено уÑпешно" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Показать чаÑтичное Ñовпадение" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "ИÑкать только в заголовках" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Разрешить чаÑтичное Ñовпадение." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "ИÑкать только в заголовках ÑодежаниÑ." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "ПоиÑк фраз, где вÑтречаетÑÑ Ð²Ð²ÐµÐ´Ñ‘Ð½Ð½Ñ‹Ð¹ текÑÑ‚." #~ msgid "On or off?" #~ msgstr "Включить или выключить?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Ðевозможно извлечь Ñодержание." #~ msgid "No contents.." #~ msgstr "Без ÑодержаниÑ…" xchm-1.23/po/sk.gmo0000644000175000001440000000671712210054272011060 00000000000000Þ•;ôOÌ +1A GTc x†¡§ ºÅ Éê( /9@ O]l| …’ ¡ « ·ÂËÔÜ ð.7< BO$Rw™#¢ÆÜãê5 AT[mD~à Ô Ü ñ ù   & 6 M i … œ £ (ª Ó ò 7ù 1 ; #A e s   – ¥ ¹ Í ê ü    !/ Q m x ~ † – ™ ¯ ¸ É Ó $Þ   % / O 4W Œ £ © ¾ 637.(8 4*2 -/'! 5 ;9: 0)" 1%,#+&$&About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm 0.9 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2004-03-01 22:50+0100 Last-Translator: Vladimir Vasil Language-Team: Slovak Language: sk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &O programe.. F1&Späť&Kopíruj oznaÄené&Súbor&Nájdi na strane..&Pomoc&ZaÄiatok Ctrl-H&Otvor.. Ctrl-OT&laÄ stranu.. Ctrl-P&Nedávno otvorené súboryZ&obraz obsah stromu Ctrl-SO programeO programe.O xCHMPridajVlož zobrazovanú stranu do zakladaÄa.DovoliÅ¥ ÄiastoÄne rovnaké.SpäťSpäť na poslednú navÅ¡tívenú stranu. Podľa knihy.ZakladaÄZruÅ¡RozliÅ¡uj veľké a malé písmenáZmena písma.Zmeň fonty..Zvoľ súbor..Obsah&Koniec Ctrl-XNájdi na strane...Nájdi nasledujúciFont s rovnakou veľkosÅ¥ou:VeľkosÅ¥ písma:Fonty ..&VpredVpredVziaÅ¥ ÄiastoÄné rovnakéVpred v histórií. Podľa knihy.Skok na prvú stranu knihy.Hi&stóriaDomovKľúÄNormálny font:OKHľadaj iba v obsahu.Otvor ..Otvor knihu CHM.Náhľad:VytlaÄ ..VytlaÄ aktuálne zobrazené strany.UkonÄenie programu.Pripravený.OdstráňOdstráň oznaÄený zakladaÄ.HľadajNájdi obsah pre náhodný výskit zvoleného textu.Hľadaj len v názvochTémyBez tytulku v indexeIba celé slováxchm-1.23/po/sk.po0000644000175000001440000001743412210054271010711 00000000000000# Slovak translation for xchm. # This file is distributed under the same license as the xchm package. # Vladimir Vasil , 2005. # # vi:encoding=utf-8 # msgid "" msgstr "" "Project-Id-Version: xchm 0.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2004-03-01 22:50+0100\n" "Last-Translator: Vladimir Vasil \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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Bez tytulku v indexe" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Bez tytulku v indexe" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Nájdi na strane..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Iba celé slová" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "RozliÅ¡uj veľké a malé písmená" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Nájdi nasledujúci" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "ZruÅ¡" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Zmeň fonty.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Normálny font:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Font s rovnakou veľkosÅ¥ou:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "VeľkosÅ¥ písma:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Náhľad:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Otvor knihu CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Zmena písma." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "VytlaÄ aktuálne zobrazené strany." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Skok na prvú stranu knihy." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Vpred v histórií. Podľa knihy." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Späť na poslednú navÅ¡tívenú stranu. Podľa knihy." #: src/chmframe.cpp:56 msgid "About the program." msgstr "O programe." #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "&Kopíruj oznaÄené" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "Nájdi na strane..." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Otvor knihu CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Pripravený." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "Obsah" #: src/chmframe.cpp:204 msgid "Index" msgstr "KľúÄ" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Hľadaj" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "O xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Zvoľ súbor.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Otvor..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "T&laÄ stranu..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Fonty .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Z&obraz obsah stromu\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "&Nedávno otvorené súbory" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "&Koniec\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "UkonÄenie programu." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&ZaÄiatok\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "&Vpred\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Späť\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&O programe..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "&ZaÄiatok\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "&Otvor..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&ZaÄiatok\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Písma..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Súbor" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Hi&stória" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Pomoc" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "ZakladaÄ" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Témy" #: src/chmframe.cpp:881 msgid "Add" msgstr "Pridaj" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Odstráň" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Vlož zobrazovanú stranu do zakladaÄa." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Odstráň oznaÄený zakladaÄ." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Otvor .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "VytlaÄ .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Fonty .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "Nájdi nasledujúci" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Späť" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Vpred" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Domov" #: src/chmframe.cpp:1050 msgid "About" msgstr "O programe" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Vpred" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Späť" #: src/chmhtmlwindow.cpp:50 #, fuzzy msgid "Copy &link location" msgstr "&Kopiuj zaznaczenie" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Kopíruj oznaÄené" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Nájdi na strane.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "VziaÅ¥ ÄiastoÄné rovnaké" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Hľadaj len v názvoch" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "DovoliÅ¥ ÄiastoÄne rovnaké." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Hľadaj iba v obsahu." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Nájdi obsah pre náhodný výskit zvoleného textu." #~ msgid "On or off?" #~ msgstr "ZapnuÅ¥ alebo vypnuÅ¥?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Nemôžem rozbaliÅ¥ obsah stromu knihy." #~ msgid "No contents.." #~ msgstr "Bez obsahu.." xchm-1.23/po/stamp-po0000644000175000001440000000001212210054246011401 00000000000000timestamp xchm-1.23/po/sv.gmo0000644000175000001440000001012012210054272011052 00000000000000Þ•H\aœ  !- 3@PV\l{ !ް¿ Ôâý ! %F,]Š( ¸ÂÉ Øæõ /? DQV eo ‚ Ž™¢«³ Çè    & $) N V g p #y  ³ º Ó Ú ô 5û 1 D K ] On ¾ Ç Ï ß ò ü   ! ) '5 ] n … • ² µ Ä Ì &× þ % : +A m x  “ ¤ ¶ Å Ï Ù á ö   " 0=Q` r~‡  Á Üæêð" (2E T*`‹Ÿ¥¼ÄÜ4á)0@8-6!D%(= A )?#/,<EC9@1;0 5HF$& 42'73 * ".+>B:G&About.. F1&Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Make xCHM the default CHM viewer&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.Associate the .chm file extension with xCHM.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ConfirmContentsCopyCopy &link locationCopy selection.DoneE&xit Ctrl-XFindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.Registration successful!RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2006-10-15 16:43+0100 Last-Translator: Daniel Nylander Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit &Om.. F1&BakÃ¥t&Kopiera Ctrl-C&Kopiera markeringR&edigera&Arkiv&Sök i sida..&Sök.. Ctrl-F&Hjälp&Hem Ctrl-H&Gör xCHM till standardvisare för CHM&Öppna.. Ctrl-OSkriv ut sida.. Ctrl-PTidiga&re filerVi&sa innehÃ¥llsträd Ctrl-SOmOm programmet.Om xCHMLägg tillLägg till visad sida till bokmärken.TillÃ¥t halvträffar.Associera filändelsen .chm med xCHM.BakÃ¥tBakÃ¥t till senaste besökta sida. Per bok.BokmärkenAvbrytSkiftlägeskänsligÄndra typsnitt.Ändra typsnitt..Välj en fil..BekräftaInnehÃ¥llKopieraKopiera &länkadressKopiera markering.KlarAvsluta Ctrl-XSökSök i sida..Hitta nästaHitta ord pÃ¥ sida.Fast typsnitt:Typsnittsstorlek:Typsnitt ..Fra&mÃ¥tFramÃ¥tFÃ¥ halvträffarGÃ¥ framÃ¥t i historik. Per bok.GÃ¥ till bokens startsida.Hi&storikHemIndexNormalt typsnitt:OKSök endast i innehÃ¥llets titlar.Öppna ..Öppna en CHM-bok.Förhandsvisa:Skriv ut ..Skriv ut sidan som för närvarande visas.Avsluta programmet.Redo.Registrering lyckades!Ta bortTa bort valt bokmärke.SökSök i innehÃ¥ll efter förekomster av angiven text.Sök endast titlarÄmnenOtitlad i indexEndast hela ordxchm-1.23/po/sv.po0000644000175000001440000002001112210054271010705 00000000000000# Swedish translation of xchm. # Copyright (C) 2006 Razvan Cojocaru # This file is distributed under the same license as the xchm package. # Daniel Nylander , 2006. # msgid "" msgstr "" "Project-Id-Version: xchm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2006-10-15 16:43+0100\n" "Last-Translator: Daniel Nylander \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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Otitlad i index" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Otitlad i index" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Sök i sida.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Endast hela ord" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "Skiftlägeskänslig" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Hitta nästa" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "Avbryt" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Ändra typsnitt.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Normalt typsnitt:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Fast typsnitt:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Typsnittsstorlek:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "Förhandsvisa:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "OK" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Öppna en CHM-bok." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Ändra typsnitt." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Skriv ut sidan som för närvarande visas." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "GÃ¥ till bokens startsida." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "GÃ¥ framÃ¥t i historik. Per bok." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "BakÃ¥t till senaste besökta sida. Per bok." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Om programmet." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Kopiera markering." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Hitta ord pÃ¥ sida." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Öppna en CHM-bok." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "Associera filändelsen .chm med xCHM." #: src/chmframe.cpp:177 msgid "Ready." msgstr "Redo." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "InnehÃ¥ll" #: src/chmframe.cpp:204 msgid "Index" msgstr "Index" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Sök" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Om xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Välj en fil.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "Bekräfta" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "Registrering lyckades!" #: src/chmframe.cpp:398 msgid "Done" msgstr "Klar" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Öppna..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Skriv ut sida..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Typsnitt .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Vi&sa innehÃ¥llsträd\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "&Gör xCHM till standardvisare för CHM" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "Tidiga&re filer" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Avsluta\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Avsluta programmet." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Hem\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "Fra&mÃ¥t\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&BakÃ¥t\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Om..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Kopiera\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "&Sök..\tCtrl-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Hem\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Typsnitt..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Arkiv" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "R&edigera" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "Hi&storik" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Hjälp" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Bokmärken" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Ämnen" #: src/chmframe.cpp:881 msgid "Add" msgstr "Lägg till" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Ta bort" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Lägg till visad sida till bokmärken." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Ta bort valt bokmärke." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Öppna .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Skriv ut .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Typsnitt .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Kopiera" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Sök" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "BakÃ¥t" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "FramÃ¥t" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Hem" #: src/chmframe.cpp:1050 msgid "About" msgstr "Om" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "Fra&mÃ¥t" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&BakÃ¥t" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Kopiera &länkadress" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Kopiera markering" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "&Sök i sida.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "FÃ¥ halvträffar" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Sök endast titlar" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "TillÃ¥t halvträffar." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Sök endast i innehÃ¥llets titlar." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Sök i innehÃ¥ll efter förekomster av angiven text." #~ msgid "On or off?" #~ msgstr "PÃ¥ eller av?" #~ msgid "" #~ "This is experimental code, and doing this will overwrite any previously " #~ "registered CHM viewer associations.\n" #~ "\n" #~ "Are you sure you know what you're doing?" #~ msgstr "" #~ "Det här är experimentell kod, och att göra det här kommer att skriva över " #~ "tidigare registrerade associerade CHM-visare.\n" #~ "\n" #~ "Är du säker pÃ¥ att du vet vad du gör?" xchm-1.23/po/uk.gmo0000644000175000001440000001112712210054272011051 00000000000000Þ•C4YL° ±½ ÃÐàæìü  - BPkq „ “´Ë(Ð ù  '6FOTh x…Š ™£ ¶ ÂÍÖßç û9BG MZ$]‚Š›¤#­Ñçîõ 5 L _ f x H‰ Ò ð ü $ < J ,T  ˜ ¨ ½ Ù ì " - E ^ { 9ˆ A  I Y j #} "¡ Ä Ô ð û &$5Z m,z§.Å$ô ' 7 E@R!“8µî þ  7;D€ ”µ Ç3Ó';3L €W‹-ã"4@>3C<;&4/0?(:27B6.$#  ', 9 -!*)8A5"%+1 =&About.. F1&Back&Copy Ctrl-C&Copy selection&Edit&File&Find in page..&Find.. Ctrl-F&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsCopyCopy &link locationCopy selection.E&xit Ctrl-XFindFind in page..Find nextFind word in page.Fixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm 1.5 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2006-04-01 18:30+0300 Last-Translator: Maxim V. Dziumanenko Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit &Про програму.. F1&Ðазад&Копіювати Ctrl-C&Копіювати виділене&Правка&ФайлЗ&найти на цій Ñторінці..З&найти.. Ctrl-F&Довідка&Додому Ctrl-H&Відкрити... Ctrl+OД&рук.. Ctrl-PÐе&давні файли...Показати зміÑÑ‚ Ctrl-SПро програмуПро програму.Про програму xCHMДодатиДодати цю Ñторінку до закладок.Дозволити чаÑткові відповідноÑтей.ÐазадÐазад до оÑтанньої відвіданої Ñторінки.ЗакладкиСкаÑуватиЗбігаєтьÑÑ Ñ€ÐµÐ³Ñ–ÑтрПараметри шрифтів.Шрифти...Відкрити файл..ЗміÑтКопіюватиКопіювати &поÑиланнÑКопіювати виділене.Ви&йти Ctrl-XЗнайтиЗнайти на цій Ñторінці...Знайти наÑтупнеЗнайти на Ñторінці Ñлово.Моноширинний шрифт:Розмір:Шрифти...&ВпередВпередОтримувати чаÑткові відповідноÑтіВперед по Ñ–Ñторії.Перейти на початкову Ñторінку.&ІÑторіÑДодомуІндекÑЗвичайний шрифт:ГараздШукати лише у заголовках зміÑту.Відкрити...Відкрити книгу CHM.ПереглÑд:Друк...Друкувати поточну Ñторінку.Вийти з програми.Завершено.ВидалитиВидалити виділену закладку.ПошукШукати фрази, де зуÑтрічаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ текÑÑ‚.Шукати лише у заголовкахТемиБез заголовкуТільки повні Ñловаxchm-1.23/po/uk.po0000644000175000001440000002104012210054271010677 00000000000000# Ukrainian translation of xchm. # Copyright (C) 2001 Free Software Foundation, Inc. # Maxim Dziumanenko , 2006 # msgid "" msgstr "" "Project-Id-Version: xchm 1.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2006-04-01 18:30+0300\n" "Last-Translator: Maxim V. Dziumanenko \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "Без заголовку" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "Без заголовку" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "Знайти на цій Ñторінці..." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "Тільки повні Ñлова" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "ЗбігаєтьÑÑ Ñ€ÐµÐ³Ñ–Ñтр" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "Знайти наÑтупне" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "СкаÑувати" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "Шрифти..." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "Звичайний шрифт:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "Моноширинний шрифт:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "Розмір:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "ПереглÑд:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "Гаразд" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "Відкрити книгу CHM." #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "Параметри шрифтів." #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "Друкувати поточну Ñторінку." #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "Перейти на початкову Ñторінку." #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "Вперед по Ñ–Ñторії." #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "Ðазад до оÑтанньої відвіданої Ñторінки." #: src/chmframe.cpp:56 msgid "About the program." msgstr "Про програму." #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "Копіювати виділене." #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "Знайти на Ñторінці Ñлово." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "Відкрити книгу CHM." #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "Завершено." #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "ЗміÑÑ‚" #: src/chmframe.cpp:204 msgid "Index" msgstr "ІндекÑ" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "Пошук" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "Про програму xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "Відкрити файл.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "&Відкрити...\tCtrl+O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "Д&рук..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "Шрифти..." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "Показати зміÑÑ‚\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "Ðе&давні файли..." #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "Ви&йти\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "Вийти з програми." #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "&Додому\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "&Вперед\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "&Ðазад\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "&Про програму..\tF1" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "&Копіювати\tCtrl-C" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "З&найти..\tCtrl-F" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "&Додому\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "&Шрифти..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "&Файл" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "&Правка" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "&ІÑторіÑ" #: src/chmframe.cpp:832 msgid "&Help" msgstr "&Довідка" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "Закладки" #: src/chmframe.cpp:870 msgid "Topics" msgstr "Теми" #: src/chmframe.cpp:881 msgid "Add" msgstr "Додати" #: src/chmframe.cpp:882 msgid "Remove" msgstr "Видалити" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "Додати цю Ñторінку до закладок." #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "Видалити виділену закладку." #: src/chmframe.cpp:1021 msgid "Open .." msgstr "Відкрити..." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "Друк..." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "Шрифти..." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "Копіювати" #: src/chmframe.cpp:1034 msgid "Find" msgstr "Знайти" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "Ðазад" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "Вперед" #: src/chmframe.cpp:1047 msgid "Home" msgstr "Додому" #: src/chmframe.cpp:1050 msgid "About" msgstr "Про програму" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "&Вперед" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "&Ðазад" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "Копіювати &поÑиланнÑ" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "&Копіювати виділене" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "З&найти на цій Ñторінці.." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "Отримувати чаÑткові відповідноÑті" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "Шукати лише у заголовках" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "Дозволити чаÑткові відповідноÑтей." #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "Шукати лише у заголовках зміÑту." #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "Шукати фрази, де зуÑтрічаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð¸Ð¹ текÑÑ‚." #~ msgid "On or off?" #~ msgstr "Увімкнути чи вимкнути?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ зміÑÑ‚." #~ msgid "No contents.." #~ msgstr "Без зміÑту.." xchm-1.23/po/xchm.pot0000644000175000001440000001450212210054246011412 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Razvan Cojocaru # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\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=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 msgid "Retrieving index.." msgstr "" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "" #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "" #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "" #: src/chmframe.cpp:56 msgid "About the program." msgstr "" #: src/chmframe.cpp:57 msgid "Copy selection." msgstr "" #: src/chmframe.cpp:58 msgid "Find word in page." msgstr "" #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 msgid "Open a new tab" msgstr "" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "" #: src/chmframe.cpp:204 msgid "Index" msgstr "" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "" #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "" #: src/chmframe.cpp:776 msgid "Fon&ts.." msgstr "" #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "" #: src/chmframe.cpp:809 msgid "For&ward\tAlt-RIGHT" msgstr "" #: src/chmframe.cpp:811 msgid "&Back\tAlt-LEFT" msgstr "" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "" #: src/chmframe.cpp:817 msgid "&Copy\tCtrl-C" msgstr "" #: src/chmframe.cpp:818 msgid "&Find..\tCtrl-F" msgstr "" #: src/chmframe.cpp:820 msgid "&Close tab\tCtrl-W" msgstr "" #: src/chmframe.cpp:821 msgid "&New tab\tCtrl-T" msgstr "" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "" #: src/chmframe.cpp:832 msgid "&Help" msgstr "" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "" #: src/chmframe.cpp:870 msgid "Topics" msgstr "" #: src/chmframe.cpp:881 msgid "Add" msgstr "" #: src/chmframe.cpp:882 msgid "Remove" msgstr "" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "" #: src/chmframe.cpp:1023 msgid "Print .." msgstr "" #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "" #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 msgid "Find" msgstr "" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "" #: src/chmframe.cpp:1047 msgid "Home" msgstr "" #: src/chmframe.cpp:1050 msgid "About" msgstr "" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "" #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "" xchm-1.23/po/zh_CN.gmo0000644000175000001440000000670712210054272011443 00000000000000Þ•<üSÜ( )5;KQa gtƒ ˜¦ÁÇ Úå é !(& OY` o}Œœ¥ ¹Æ Õ ß ëöÿ $Ebkp vƒ$†«³ÄÍ#Öú85?uˆ¡N²   - 8 P [ m  › ¯ Ê Ñ ä ï !ö  + -2 ` g n ~ Ž  ² ¹ Ð â ÷   ' 1 < C $V { ” Ÿ ¦ ­ ½ Á Ý ç ÷ þ  $ 7 A H a !h Š š ¡ · 70 &!1;9 -4*6+3"85., 2/)':$#< (% &About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsCopy &link locationE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xCHM 1.1 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2005-08-27 14:37+0800 Last-Translator: sejishikong Language-Team: zh_CN Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关于(&A).. F1å‘åŽ(&B)å¤åˆ¶é€‰å®š(&C)文件(&F)在页é¢ä¸­æŸ¥æ‰¾(F)..帮助(&H)主页(&H) Ctrl-H打开(&O).. Ctrl-O打å°é¡µé¢(&P).. Ctrl-P最近的文件(&R)显示目录树(&S) Ctrl-S关于关于此程åºã€‚关于xCHM添加添加显示的页é¢åˆ°ä¹¦ç­¾ã€‚å…许部分匹é…åŽé€€å›žåˆ°æœ€è¿‘访问的页é¢ï¼Œæ¯ä¸€ä¹¦ç±ã€‚ä¹¦ç­¾å–æ¶ˆåŒºåˆ†å¤§å°å†™æ›´æ”¹å­—体。更改字体..选择一个文件..目录å¤åˆ¶é“¾æŽ¥åœ°å€(&L)退出(&X) Ctrl-X在页é¢ä¸­æŸ¥æ‰¾..查找下一个固定字体:字体大å°ï¼šå­—体 ..å‘å‰(&W)å‰è¿›èŽ·å–部分匹é…在历å²ä¸­å‘å‰ï¼Œæ¯ä¸€ä¹¦ç±ã€‚到书ç±çš„起始页。历å²(&S)主页索引普通字体:好åªåœ¨ç›®å½•标题中查找打开 ..打开CHM书ç±é¢„è§ˆæ‰“å° ..打å°å½“剿˜¾ç¤ºçš„页é¢é€€å‡ºåº”用程åºå‡†å¤‡ã€‚ç§»é™¤ç§»é™¤é€‰å®šçš„ä¹¦ç­¾ã€‚æŸ¥æ‰¾åœ¨ç›®å½•ä¸­æŸ¥æ‰¾æŒ‡å®šçš„æ–‡æœ¬åªæŸ¥æ‰¾æ ‡é¢˜ä¸»é¢˜åœ¨ç´¢å¼•中无标题仅整个å•è¯xchm-1.23/po/zh_CN.po0000644000175000001440000001734312210054271011274 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Razvan Cojocaru # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: xCHM 1.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2005-08-27 14:37+0800\n" "Last-Translator: sejishikong \n" "Language-Team: zh_CN \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "在索引中无标题" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "在索引中无标题" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "在页é¢ä¸­æŸ¥æ‰¾.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "仅整个å•è¯" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "区分大å°å†™" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "查找下一个" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "å–æ¶ˆ" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "更改字体.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "普通字体:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "固定字体:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "字体大å°ï¼š" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "预览" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "好" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "打开CHM书ç±" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "更改字体。" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "打å°å½“剿˜¾ç¤ºçš„页é¢" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "到书ç±çš„起始页。" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "在历å²ä¸­å‘å‰ï¼Œæ¯ä¸€ä¹¦ç±ã€‚" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "回到最近访问的页é¢ï¼Œæ¯ä¸€ä¹¦ç±ã€‚" #: src/chmframe.cpp:56 msgid "About the program." msgstr "关于此程åºã€‚" #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "å¤åˆ¶é€‰å®š(&C)" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "在页é¢ä¸­æŸ¥æ‰¾.." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "打开CHM书ç±" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "准备。" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "目录" #: src/chmframe.cpp:204 msgid "Index" msgstr "索引" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "查找" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "关于xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "选择一个文件.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "打开(&O)..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "打å°é¡µé¢(&P)..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "字体 .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "显示目录树(&S)\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "最近的文件(&R)" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "退出(&X)\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "退出应用程åº" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "主页(&H)\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "å‘å‰(&W)\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "å‘åŽ(&B)\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "关于(&A)..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "主页(&H)\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "打开(&O)..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "主页(&H)\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "字体(&T)..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "文件(&F)" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "历å²(&S)" #: src/chmframe.cpp:832 msgid "&Help" msgstr "帮助(&H)" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "书签" #: src/chmframe.cpp:870 msgid "Topics" msgstr "主题" #: src/chmframe.cpp:881 msgid "Add" msgstr "添加" #: src/chmframe.cpp:882 msgid "Remove" msgstr "移除" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "添加显示的页é¢åˆ°ä¹¦ç­¾ã€‚" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "移除选定的书签。" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "打开 .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "æ‰“å° .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "字体 .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "查找下一个" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "åŽé€€" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "å‰è¿›" #: src/chmframe.cpp:1047 msgid "Home" msgstr "主页" #: src/chmframe.cpp:1050 msgid "About" msgstr "关于" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "å‘å‰(&W)" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "å‘åŽ(&B)" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "å¤åˆ¶é“¾æŽ¥åœ°å€(&L)" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "å¤åˆ¶é€‰å®š(&C)" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "在页é¢ä¸­æŸ¥æ‰¾(F).." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "获å–部分匹é…" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "åªæŸ¥æ‰¾æ ‡é¢˜" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "å…许部分匹é…" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "åªåœ¨ç›®å½•标题中查找" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "在目录中查找指定的文本" #~ msgid "On or off?" #~ msgstr "打开还是关闭?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "ä¸èƒ½å±•开此书的目录树。" #~ msgid "No contents.." #~ msgstr "没有目录.." xchm-1.23/po/zh_TW.gmo0000644000175000001440000000706312210054272011471 00000000000000Þ•<üSÜ( )5;KQa gtƒ ˜¦ÁÇ Úå é !(& OY` o}Œœ¥ ¹Æ Õ ß ëöÿ $Ebkp vƒ$†«³ÄÍ#Öú85?uˆ¡ˆ²; K V m x ‘ œ ®  Ü ó   + 7 '> f | *† ± ¸ ¿ Ï ß î   ! 3 H U c q { †  '£ Ë á ò ù  ! 7 A V ^ h „ ” ž ¥ ¾ *Å ð 70 &!1;9 -4*6+3"85., 2/)':$#< (% &About.. F1&Back&Copy selection&File&Find in page..&Help&Home Ctrl-H&Open.. Ctrl-O&Print page.. Ctrl-P&Recent files&Show contents tree Ctrl-SAboutAbout the program.About xCHMAddAdd displayed page to bookmarks.Allow partial matches.BackBack to the last visited page. Per book.BookmarksCancelCase sensitiveChange fonts.Change fonts..Choose a file..ContentsCopy &link locationE&xit Ctrl-XFind in page..Find nextFixed font:Font size:Fonts ..For&wardForwardGet partial matchesGo forward in history. Per book.Go to the book's start page.Hi&storyHomeIndexNormal font:OKOnly search in the contents' titles.Open ..Open a CHM book.Preview:Print ..Print the page currently displayed.Quit the application.Ready.RemoveRemove selected bookmark.SearchSearch contents for occurences of the specified text.Search titles onlyTopicsUntitled in indexWhole words onlyProject-Id-Version: xchm 1.0 Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-30 11:32+0300 PO-Revision-Date: 2005-08-10 14:31+0800 Last-Translator: Wei-Lun Chao Language-Team: Chinese (traditional) Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; 關於(&A).. F1後退(&B)è¤‡è£½é¸æ“‡ç¯„åœ(&C)檔案(&F)在é é¢ä¸­å°‹æ‰¾(&F)..求助(&H)首é (&H) Ctrl-H開啟(&O).. Ctrl-O列å°é é¢(&P).. Ctrl-P最近開檔紀錄(&R)顯示樹狀內容(&S) Ctrl-S關於關於此程å¼ã€‚關於 xCHM加入將所顯示的é é¢åŠ å…¥è‡³æ›¸ç±¤ã€‚å…許部份相符。上一步後退至該書冊之å‰çš„ç€è¦½é é¢ã€‚æ›¸ç±¤å–æ¶ˆå€åˆ†å¤§å°å¯«è®Šæ›´å­—型。變更字型..鏿“‡ä¸€å€‹æª”案..內容複製連çµä½ç½®(_L)離開(&X) Ctrl-X在é é¢ä¸­å°‹æ‰¾..找下一個定寬字型:字型大å°:å­—åž‹ ..å‰é€²(&W)下一步ç²å¾—部份相符å‰å¾€è©²æ›¸å†Šå‰æ–¹çš„ç€è¦½ç´€éŒ„。å‰å¾€æ›¸å†Šé¦–é ã€‚æ­·å²ç´€éŒ„(&S)首é ç´¢å¼•正常字型:確定åªåœ¨å…§å®¹çš„æ¨™é¡Œä¸­æœå°‹ã€‚開啟 ..開啟 CHM 書冊。é è¦½:åˆ—å° ..列å°ç›®å‰é¡¯ç¤ºé é¢ã€‚離開程å¼ã€‚é å‚™ã€‚移除移除所é¸çš„æ›¸ç±¤ã€‚æœå°‹åœ¨å…§å®¹ä¸­æœå°‹ç‰¹å®šæ–‡å­—的出ç¾ã€‚åªæœå°‹æ¨™é¡Œä¸»é¡Œç´¢å¼•中ä¸å…·æ¨™é¡Œå…¨å­—拼寫須相符xchm-1.23/po/zh_TW.po0000644000175000001440000001743012210054271011323 00000000000000# Traditional Chinese Messages for xchm # Copyright (C) 2005 Free Software Foundation, Inc. # Wei-Lun Chao , 2005 # msgid "" msgstr "" "Project-Id-Version: xchm 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-30 11:32+0300\n" "PO-Revision-Date: 2005-08-10 14:31+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\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" #: src/chmfile.cpp:225 msgid "Retrieving table of contents.." msgstr "" #: src/chmfile.cpp:226 #, fuzzy msgid "Retrieving index.." msgstr "索引中ä¸å…·æ¨™é¡Œ" #: src/chmfile.cpp:227 msgid "Untitled in index" msgstr "索引中ä¸å…·æ¨™é¡Œ" #: src/chmfinddialog.cpp:33 msgid "Find in page.." msgstr "在é é¢ä¸­å°‹æ‰¾.." #: src/chmfinddialog.cpp:42 msgid "Whole words only" msgstr "全字拼寫須相符" #: src/chmfinddialog.cpp:43 msgid "Case sensitive" msgstr "å€åˆ†å¤§å°å¯«" #: src/chmfinddialog.cpp:50 msgid "Find next" msgstr "找下一個" #: src/chmfinddialog.cpp:53 src/chmfontdialog.cpp:92 msgid "Cancel" msgstr "å–æ¶ˆ" #: src/chmfontdialog.cpp:53 msgid "Change fonts.." msgstr "變更字型.." #: src/chmfontdialog.cpp:60 msgid "Normal font:" msgstr "正常字型:" #: src/chmfontdialog.cpp:61 msgid "Fixed font:" msgstr "定寬字型:" #: src/chmfontdialog.cpp:62 msgid "Font size:" msgstr "字型大å°:" #: src/chmfontdialog.cpp:80 msgid "Preview:" msgstr "é è¦½:" #: src/chmfontdialog.cpp:90 msgid "OK" msgstr "確定" #: src/chmframe.cpp:49 msgid "Open a CHM book." msgstr "開啟 CHM 書冊。" #: src/chmframe.cpp:50 msgid "Change fonts." msgstr "變更字型。" #: src/chmframe.cpp:51 msgid "Print the page currently displayed." msgstr "列å°ç›®å‰é¡¯ç¤ºé é¢ã€‚" #: src/chmframe.cpp:52 msgid "Toggle table of contents." msgstr "" #: src/chmframe.cpp:53 msgid "Go to the book's start page." msgstr "å‰å¾€æ›¸å†Šé¦–é ã€‚" #: src/chmframe.cpp:54 msgid "Go forward in history. Per book." msgstr "å‰å¾€è©²æ›¸å†Šå‰æ–¹çš„ç€è¦½ç´€éŒ„。" #: src/chmframe.cpp:55 msgid "Back to the last visited page. Per book." msgstr "後退至該書冊之å‰çš„ç€è¦½é é¢ã€‚" #: src/chmframe.cpp:56 msgid "About the program." msgstr "關於此程å¼ã€‚" #: src/chmframe.cpp:57 #, fuzzy msgid "Copy selection." msgstr "è¤‡è£½é¸æ“‡ç¯„åœ(&C)" #: src/chmframe.cpp:58 #, fuzzy msgid "Find word in page." msgstr "在é é¢ä¸­å°‹æ‰¾.." #: src/chmframe.cpp:59 msgid "Toggle fullscreen mode." msgstr "" #: src/chmframe.cpp:60 msgid "Close the current tab" msgstr "" #: src/chmframe.cpp:61 #, fuzzy msgid "Open a new tab" msgstr "開啟 CHM 書冊。" #: src/chmframe.cpp:62 msgid "Associate the .chm file extension with xCHM." msgstr "" #: src/chmframe.cpp:177 msgid "Ready." msgstr "é å‚™ã€‚" #: src/chmframe.cpp:203 src/chmframe.cpp:1027 msgid "Contents" msgstr "內容" #: src/chmframe.cpp:204 msgid "Index" msgstr "索引" #: src/chmframe.cpp:205 src/chmsearchpanel.cpp:50 msgid "Search" msgstr "æœå°‹" #: src/chmframe.cpp:231 msgid "About xCHM" msgstr "關於 xCHM" #: src/chmframe.cpp:239 msgid "Choose a file.." msgstr "鏿“‡ä¸€å€‹æª”案.." #: src/chmframe.cpp:385 msgid "Confirm" msgstr "" #: src/chmframe.cpp:397 msgid "Registration successful!" msgstr "" #: src/chmframe.cpp:398 msgid "Done" msgstr "" #: src/chmframe.cpp:655 msgid "Loading, please wait.." msgstr "" #: src/chmframe.cpp:774 msgid "&Open..\tCtrl-O" msgstr "開啟(&O)..\tCtrl-O" #: src/chmframe.cpp:775 msgid "&Print page..\tCtrl-P" msgstr "列å°é é¢(&P)..\tCtrl-P" #: src/chmframe.cpp:776 #, fuzzy msgid "Fon&ts.." msgstr "å­—åž‹ .." #: src/chmframe.cpp:779 msgid "&Show contents tree\tCtrl-S" msgstr "顯示樹狀內容(&S)\tCtrl-S" #: src/chmframe.cpp:785 msgid "&Make xCHM the default CHM viewer" msgstr "" #: src/chmframe.cpp:791 msgid "&Recent files" msgstr "最近開檔紀錄(&R)" #: src/chmframe.cpp:803 msgid "E&xit\tCtrl-X" msgstr "離開(&X)\tCtrl-X" #: src/chmframe.cpp:804 msgid "Quit the application." msgstr "離開程å¼ã€‚" #: src/chmframe.cpp:808 msgid "&Home\tCtrl-H" msgstr "首é (&H)\tCtrl-H" #: src/chmframe.cpp:809 #, fuzzy msgid "For&ward\tAlt-RIGHT" msgstr "å‰é€²(&W)\tCtrl-W" #: src/chmframe.cpp:811 #, fuzzy msgid "&Back\tAlt-LEFT" msgstr "後退(&B)\tCtrl-B" #: src/chmframe.cpp:814 msgid "&About..\tF1" msgstr "關於(&A)..\tF1" #: src/chmframe.cpp:817 #, fuzzy msgid "&Copy\tCtrl-C" msgstr "首é (&H)\tCtrl-H" #: src/chmframe.cpp:818 #, fuzzy msgid "&Find..\tCtrl-F" msgstr "開啟(&O)..\tCtrl-O" #: src/chmframe.cpp:820 #, fuzzy msgid "&Close tab\tCtrl-W" msgstr "首é (&H)\tCtrl-H" #: src/chmframe.cpp:821 #, fuzzy msgid "&New tab\tCtrl-T" msgstr "å­—åž‹(&T)..\tCtrl-T" #: src/chmframe.cpp:824 msgid "Toggle &fullscreen\tF11" msgstr "" #: src/chmframe.cpp:828 msgid "&File" msgstr "檔案(&F)" #: src/chmframe.cpp:829 msgid "&View" msgstr "" #: src/chmframe.cpp:830 msgid "&Edit" msgstr "" #: src/chmframe.cpp:831 msgid "Hi&story" msgstr "æ­·å²ç´€éŒ„(&S)" #: src/chmframe.cpp:832 msgid "&Help" msgstr "求助(&H)" #: src/chmframe.cpp:853 msgid "Bookmarks" msgstr "書籤" #: src/chmframe.cpp:870 msgid "Topics" msgstr "主題" #: src/chmframe.cpp:881 msgid "Add" msgstr "加入" #: src/chmframe.cpp:882 msgid "Remove" msgstr "移除" #: src/chmframe.cpp:885 msgid "Add displayed page to bookmarks." msgstr "將所顯示的é é¢åŠ å…¥è‡³æ›¸ç±¤ã€‚" #: src/chmframe.cpp:886 msgid "Remove selected bookmark." msgstr "移除所é¸çš„æ›¸ç±¤ã€‚" #: src/chmframe.cpp:1021 msgid "Open .." msgstr "開啟 .." #: src/chmframe.cpp:1023 msgid "Print .." msgstr "åˆ—å° .." #: src/chmframe.cpp:1025 msgid "Fonts .." msgstr "å­—åž‹ .." #: src/chmframe.cpp:1032 msgid "Copy" msgstr "" #: src/chmframe.cpp:1034 #, fuzzy msgid "Find" msgstr "找下一個" #: src/chmframe.cpp:1039 msgid "Fullscreen" msgstr "" #: src/chmframe.cpp:1044 msgid "Back" msgstr "上一步" #: src/chmframe.cpp:1045 msgid "Forward" msgstr "下一步" #: src/chmframe.cpp:1047 msgid "Home" msgstr "首é " #: src/chmframe.cpp:1050 msgid "About" msgstr "關於" #: src/chmhtmlwindow.cpp:48 msgid "For&ward" msgstr "å‰é€²(&W)" #: src/chmhtmlwindow.cpp:49 msgid "&Back" msgstr "後退(&B)" #: src/chmhtmlwindow.cpp:50 msgid "Copy &link location" msgstr "複製連çµä½ç½®(_L)" #: src/chmhtmlwindow.cpp:51 msgid "&Save link as.." msgstr "" #: src/chmhtmlwindow.cpp:52 msgid "&Open in a new tab" msgstr "" #: src/chmhtmlwindow.cpp:55 msgid "&Copy selection" msgstr "è¤‡è£½é¸æ“‡ç¯„åœ(&C)" #: src/chmhtmlwindow.cpp:57 msgid "&Find in page.." msgstr "在é é¢ä¸­å°‹æ‰¾(&F).." #: src/chmhtmlwindow.cpp:59 msgid "&Toggle fullscreen mode" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid "OpenFile(" msgstr "" #: src/chmhtmlwindow.cpp:307 msgid ") failed" msgstr "" #: src/chmhtmlwindow.cpp:308 src/chmhtmlwindow.cpp:330 msgid "Error" msgstr "" #: src/chmhtmlwindow.cpp:318 msgid "Save as" msgstr "" #: src/chmhtmlwindow.cpp:329 msgid "Error creating file " msgstr "" #: src/chmhtmlwindow.cpp:338 msgid "Saved file " msgstr "" #: src/chmhtmlwindow.cpp:339 msgid "Success" msgstr "" #: src/chmsearchpanel.cpp:48 msgid "Get partial matches" msgstr "ç²å¾—部份相符" #: src/chmsearchpanel.cpp:49 msgid "Search titles only" msgstr "åªæœå°‹æ¨™é¡Œ" #: src/chmsearchpanel.cpp:53 msgid "Allow partial matches." msgstr "å…許部份相符。" #: src/chmsearchpanel.cpp:54 msgid "Only search in the contents' titles." msgstr "åªåœ¨å…§å®¹çš„æ¨™é¡Œä¸­æœå°‹ã€‚" #: src/chmsearchpanel.cpp:55 msgid "Search contents for occurences of the specified text." msgstr "在內容中æœå°‹ç‰¹å®šæ–‡å­—的出ç¾ã€‚" #~ msgid "On or off?" #~ msgstr "開或關?" #~ msgid "Couldn't extract the book contents tree." #~ msgstr "無法解開書冊的樹狀內容。" #~ msgid "No contents.." #~ msgstr "無內容" xchm-1.23/rc/0000755000175000001440000000000012210054271007771 500000000000000xchm-1.23/rc/xchm.ico0000644000175000001440000006444612210054137011363 00000000000000hF ¨®00¨V€€(Lþ( @ÿÿÿÊx,̪£:ë­]ûâ·ÀrõÅ…™R*ñçââÇÁÖ¬|À„J¦P Ù–O¾—㻚õУ´l/íÛͪcÓ¹µÚŸdüêÐЦþõ鿏„“Gíպˆ9¶‰˜G ã²¢Sص£ÌjÅ¢˜öÍ‘ã®vùÚ¬öàÄŘ{Ö°–ãÐ˾}/ã›Hü÷õõíìòåÖŒ=в«úíÞ«[ݵ|½m)î²fè§UûéÄëÛײ]ÝÁºÑšbíÀ„çÑ´»DõØ´¡F ›M¼’‰êÑÆÝº¨òÁ}×¶®É•kžT$ìÛÅ˥Ĝ“–@¥VÒœnË­ªÕ¥}çËÀñÓ³ñɒФ‰ðÞÕöÖ¤¦Iòêçѯ¦æÓÏж¯ŸK Ǫ¡—J ü÷ðë±`÷ž•Œ•C ¨Z¿š“= ܹ¤ÂŸ˜úôéúçÎϲ¯Ô³«üêÌêØÕÚ¿¹é¹‚º“ŒžFüôæûæÆûßµãÍÉͰªþùóÏ«¢Æ£›Ô¹²ë²eôëéôèæãÓÏèÍÂóʸ‹‚δ¬Ã–È¢™šE £H üìÒÀ™Ž;–H  I µˆÏ®§Ê¤›œM ûçÃúà·âÐÉÒ¹³Õµ®ªcÏ´¯Î²«˜I ûëÑÅ”—A—G  K Ì®ª¾”‹¦I ûìÑòæÖûçÄùÛ¬¶ˆ¶ŠÐ¯¦·‹‚Ë¥œÃŸ˜†©ž­’N—\T#*!ƒMRª OŸ GIR=WiCŠŠ¤Zu2j|^Œ"¦1¡¡_‰KF…›rSg5 $“œŽ  f+ˆk]>™@LA PDaJošh;'-6b7³_¢UöÀ{Á—mÒiúܰâœIûíÙæËºé²nÁm#÷ãÆóÒ§Ñ¥‹í¨V¯h×¹´«`#òÖ²á¨ZöŃ҂2æÍÍç˰W)ôÝËüù÷·dÛ’C¬T ʘiöíëîÇ—¨V¿}/×’J¯[¹zDÓ°ªÑ‡=íÓÉœO†}}F  J ÷æÓ”L½hãÈÃî²gÉx,̵¯Ý›NѤƒª˜“ðÕ¼ù׫ŷ³èª]Ô½º‡9±m<¹v)¶q$ß»´ðĈßľîµr°b©q>ñÀ‚õѠر‹ñâÞøÝ·žTðÛÔøÐ—ÊŒ:ŒA ”E Õ‹BÚ´˜ûæÁæÈÀ¯l!¢VõßÁÆ€2ò¹rûóëç¦X½k'ïÕιcùÚ¨ì¼{äŸNòÓ¶·t@¾ ™”I±S µhçßžR±]é·sûöñðáÕäŽÃp'ùÖž÷Ï›‹}Ãz1Ý·¯Ø•Nå®q©Q ›QòºvèªWýûûöéæ÷åÎïÜ×ùÖ¥öÕ¨â˱¯rJö̪͗¢ë®cæ¬fëÏȽo!óÏŸÛ· ã¦^œI ùðìžZ-ôÄážPŒ=DøËóáÛãÌÆóÊŽ¬˜Â—kûöõ‘B ™Fõäß±V ©_ìÔÍèÎÉÌ6óÁ~îÁê®^í´nüñà«_®dúãÁæÑÍëÐÄÜÆÀྶ‘…ƒ©’ N ŒB úåÆíÙÔíÖÍêÑËú๗H L ÷ìè¦O ­R ©aðØÐ«fwqqµo!u<•ÙÙööË÷ïùùït‹“Ö­^¬æƒ¦×ŽŽŽŽðÙö÷ïïö¢;üÃôÌÝûûNÿÀ××BB„ððj¤÷P‹;³ÔòÌ!çûN~=Ìh¤¨`‹;Ô½#§(Ný”}6`•¨@©;ÓìUò#¡[—~}aRŸŸª/–?nIÓÓÞ«lMšÏsÏšãã¹  EH›®qÛÛ³“ØØ˜55pppppÄyš /7àfT);e³ØØ†˜á¸˜˜˜‚äÈKKJY:b´b'vôroˆY:AS ÎÎ………F_00sµ»»..YYDSŒ°ÂÂÂÂ:FÈ//ÅÊXø;OÔ;ºY¾Ò¾wwwwèè迆ÈÈŸHQ^ø.³#º«žŒ¾õõ‰‰¿€âQÌÌôë.YºY’¯Dñ"""ñD†Õ2¼##½é.#ºº™’Dž¯žJ™«#½&ººº«åF""F娨Ø#ßo“^ºººººººYYؽé.ìˆ^Ì^»½o³UÔ.ì..Uÿÿÿÿÿÿÿÿÿðÿÿ€ÿþü?øððààÀÀÀÀ€€€ÀÀÀÀààðøø?þÿÿÿÀÿÿøÿÿÿÿÿ(0`€ ÿÿÿÒ0®ª.|vuñµlùߺ²S ÂŒq§cA¢øÍá›MÚÆÀôåà‘Dر‹´p"½zLßÀ¤Û¥p¬¡ŸíÕÏŒ‚€Ê…Ë›YÌŒFŸG ¡[ðÁ~í͵¦W*÷Ö¤µr9üõêÇmê«YŽA ùèν€/ÌpºcÀ¢œâ·vÒ´®¯–‘°rTÑ«™íǟ㹔߻´Ø‹9Õ›eüðܬbá¡]¬b-Ö®xæ­hâÍ̘NÃs-Ö’OíÁŒñÝØªUæÈÁ˜Š†‚}{âɰ¡S Ïy(ô¼tË@Ü”Eû÷õÊŠR‹;ôÞÉ÷îë–L&À…HúݫⴅϣŒ–BÈ©¢°]ܳ›öЩN ¾k$öÆ„æ£S†6úäÁ¼Z Â{A¢Oë¸|ñ¯bô֯Ά6Ö¼·Ë”Oܬƒ¸zU·k2®\#¾jçΦEáºðÆ‘ï¶sØ–UÑ£môçØÝº«Ä†4Ø¥yʘbòÚ·Ç}0¶š–ªU éÎÇ¥Y3Àª¢Ï“[ÊŽ<å®pƒ2´d"ʳ¯½qÊ…IKÓ¡_Ë~8üñã?׆4˜H õÁ}ª”©]öƊ㿎‡‡à£cûìÓøØ«±[ÂiÍu!å¥[úóïÆq&Õ«Š·f×GíÛÉèɹì³mòÁ‚»t=œIúÖ®š—M ¥^8ë«_æÐÌÐŽVŸV·aºcÔˆ=Ûª}ΊLì¥TÜ–Lùà¿ãµ¾y,ݵ–ذ˜í½z׎?: ðÙÑÃlòË™é³wøÑ˜öêæ¥YøÜ´òáÜ’Iýûú‰B’C äÊİbÝ¿ºòŇì²^¤L ¨MýøñøëÛ÷ã˱hÛµ­ò½yí±h Wσ;µwXؘFâ§gÝœXìÓË©f…1 ­Zç̵·l$Ͷ±›Œˆ»¥Ÿ›C øáƸlòÏžûã½ôÊ‘Ñ<ÑŠEè¨XŸQ®R ·W ¯Xðѭݸ°”„‚¦ ñ¸qê­cز~úåÇ¥S–èDDEª+Ø33qqq33øW’EúøCÀÀÀÀÀÀÀáC3Wèé3ÀÀÀÀÀÀÀÀÀÀÀÀáq+ùøAÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ3’qÀAAAAÀwÝQN áÀÀÀC؇CAAAAA Žã_&ÌÌÌÌÌ&_ã ¹ÀÀÀÀøDçAAAAUã&ÒôõõaõõôÒ&_ã/ÀÀÀáøùhÈÈÈAÝã&Òõõõõõõõõõô&_wÀøqÈÈÈÀ¬¿Éó[[[[[ôôôôÒÌ_…UáÀ}øÈÈÈA€V=ÿôÒÒ[[[[[ô[[[[&_…0áÀq Ïk¨óöö†F 9êÒÒÒÒÒÒÒ&_N¹ÀÀøEq¼¨Ûα*ž"[Ò[[ÒÒ&¿¬ÀÀC.qÀÅ9ÿ“¡¡)~~~~~ôô[«Ì¿¼ÀÀÀøE3ÅÅÅ BÆX¡n|R±±[« AÀÀC ®ÅÅÅl““X¡ìˆ‹Õvz7×ììì¡ì¡ìˆˆì¡X~G«êYAAWÏAÅÅ冓“XÎììi:u))°“77777777×ì¡ÎX~~GAAA3–øPPPyæ7““Î×ì:É==°°°°°°““““Æ~~GÒBAAAq qPPP¯æ7ÆÆ“×:ŠËËpŠŠÉÉÉ===óÛGGGGGÓ¤AAªCPPPJæ7ÆÆ“×ýå)9cÿÿóóG«GG~»AAá+žžPŒæ7ÛÛ“â»mBšäóGóGXjÈAúžžÅ³|7Ûâ(ož§š²*ÆÆX*´ÈÈÀWžžPKKº××׺xƒ,{'£š²Á›n$›jÈÈÀWÍžžž^^ ¾gggðÞ^%ÑÑÑ%%%%%íb²Áœœœ$2ÈÈWqžžžs­%¶¶¶^¶¶%%%%%%%òò%%ò½M\ŸHHHœá3LLžÂee­­%%%%ò%­%òò^^^^^^½‚>|ÍøPLLëeeÚÚüü­­­­­ò^ ···· d5ŒÜ³—q®ALLžûûûû¥¥ÚÚü­8tµ‰‰µ?1ñ¢K441ÅÅØCLLL!I‘‘ÙÙÙÙsss¥„T´yj•ÕLttàKK·ÈÅŇ؞LL#‘IÙ””Ц¦¦¦¦¦í÷ßß8K 1ÅÅÅqÊLL‘I”ïïïïïïïï™Öddà ^;ÅPÅÈ-øžÊÊLZ]IZZZZZZZ!Ô¸rr@;OPPPqCÊÊÊ#Ä]‘!™™™™™Ç`####6˜!!íÂüü¥{PPPAhÍÈÊÊÊ© ‘ZÇÇÇÇîîîÇÇfÂü¥½fžžPÅ3øPÊÊÊ#SÄ]]™¸¸``````¸¸™Ú½ÐëžžžPq<3žÊÊÊL`!Ä]]ÄÇþþþþþZûïZÕžžžžCÍ3PÊÊÊÊ#îS© ]‘Ù]ÙIÙ¦ïZ!'žžžžžCøÊÊÊÊÊ#˜îSS!!!!™™`ÕžLLLLPq<ÍLÊÊÊÊÊÊÔ#66##LLLLLLLAø®øAÊÊÊÊÊÊÊÊÊÊÊÊÊÊLLLqÍ®3PÊÊÊÊÊÊÊÊÊÊÊžAqqq3AAÅPPÈA®qø®®®qqqÍ®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿ€ÿÿÿüÿÿøÿÿàÿÿÀÿÿ€ÿÿÿþüü?øøððàààààààààààààððøø?ü?üþÿÿÿ€ÿÿÀÿÿàÿÿðÿÿüÿÿÿ€ÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(€HÿÿÿÓ,·«ª+ô·k}yyúÞ´À‹kV/äÀœºY ãLóãÞŸ‹²uDßÅÀšG Τˆ²n!ˉNØ©jøÑ˜Ñ¯©óƒµ—Æn¦]îÛÉ‘D¶}[ß·€ûôêï«Z¿/ÝŽ;éΰúéÍ¢j;Ϙ`„‚†= Þ»³Ê‹;©P µ`ŧ Õ±˜ M¾o*Ñ™JÈ™ré²qߟ[Æ´±÷Ö§¿~@—T!©_+ðÈ’üïÛæÏÊðÌ¡Ây$°m9ܹ¤ùáÁË6ïºx幋ÕFæªc’=ãĨ ˜“éÍÀ«Y° ž½iðÙº±sQ®[ïÙÓå¥S¼y8Ù¯vØ—UÈ”Pˆ4¨• Q üøöÄ€JÐx%óäÏ­eÓ·±×†4Ê›}¡[6÷Ê‹öêæËy.ò²c¸g&žO#Ѩ†Xß•DåȶªgB΄@ºw(Òžg¿¯ªÛ´‹¾‡e‡}{—Љ‹:§TÅf»¢œ¬›—è£RÑ’@»}SšLÄ‘söçÙ²V ÷ذ•K%µ`àÁº½q컂ÏR’G´iô¿{¼wEÔŠ;è¦Zà«wОxí±i¡J : È€0ʘh•CèÔÃõџȬ¦Úµ­ÌŽJÔ™cÝ·—§n?§V¢])íÁ‹ð¶qé¶zÞ´réÄ™®mH·q;ŇBážTî×Î̲¬Ø“Ná¤bûæÅúܬ¸u1Á}9½g¼¨£å¬k­^«c5ùñîÂt1„0Ý¡NøÝ¹ãĽЄ4ëÑÇÆr&ñÞ×¼cóÌš™ô»tðÙÁùÖŸöË“¹p%èªV•@ âÌÆâȰÂy+ð¿~ⳇí­`ΙmŒB úâ»à»’ΓZûòäŸW˪¢×šGÇŽLݦo²a!òѦÚ@÷ëÝøäÉ¥b=ôÆ‹ü÷ð‰4 @ìÕµ¶e×»´Þ™NêÓ϶Z ¯e.ݺàÀ­æÉÃêɧܱyסkûëÓ›F®UšP)è¾”Æy4³xUãšH¹a§SÂjËs J{....Ù...YÄ({zÙ››››››››››››››››››››Ùz(MzÙ››››››››››››››››››››››››››››(´´››››››››››››››››››››››››››››››››››››.u´›››››››››››*†½ðð¿¿¿¿¿¿¿¿ðð½†*››››››››››››š›››››››››*†K¿««««««««««««««««««««¿K½*›››››››››.r››››››››*ð¿«««««««««««««««««««««««««««««K†››››››››ÙY¬›››››››*½«R««««««««««««««««««««««««««««««««««ð*›››››››¬›››››››†¿RRRRRR««««««««««««««««««««««««««««««««««¿½›››››››z(6››››››½«RRRRRRRRRRR«««««««««««««««««««««««««««««««««¿½›››››››Y¬››››››½«RRRRRRRRRRRRR««««««««««««««««««««««««««««««««««««½››››››.v›››››*«RRRRRRRRRRR«««««««¿¿¿¿¿¿KKKK¿¿¿¿¿¿¿¿«««««««««««««««««†››››››Y`››››››KÁÁÁÁRRRRRR««««««¿¿¿KKKKmmmmmmmmmmmKKKK¿¿¿¿««««««««««««««¿*›››››`›››››†«ÁÁÁÁÁÁÁÁRRR«««¿¿¿KKmm/bââc ââúmmmKKK¿¿¿«««««««««««««½›››››Ù(`›››››ðÁÁÁÁÁÁÁÁRRRR««¿¿KKmbP÷ºººººººæn€AmKKK¿¿««««««««««««¿*››››v`››››*«ÁÁÁÁÁÁÁRRRR««¿KKm€ 庺ººººXXXX””XXXXººº„AmKK¿¿¿«««««««««««*››››››››››†ÁÁÁÁÁÁÁÁÁÁR««¿KKjnwºººººå”ËËËË””Xºº÷€mKK¿¿«««««««««««½›››››Y›››››½ÁÁÁÁÁÁÁÁÁR««¿¿K ººººå”ËZZZZZZZZZZZZZZZZË”XºæümKK¿¿««««««««««ð›››››Y›››››½ÁÁÁÁÁÁÁÁÁR««¿K÷ºººå”ZZZZZZZZZZZZ  ZZZZZZZZZZË”XwümKK¿¿«««««««««K›››››`››››ðÁÁÁÁÁÁÁÁÁR«Kï⺺º”ËZZZZZ Z  ‚ìì ‚‚,ZZZZZZZ”XKK¿¿«««««««««¿›››››é››››ðÁÁÁÁÁÁÁÁÁR«¿Ktwºº”Ë“ZZZ    Qì ‚‚,ZZZZZËXâïK¿¿«««««««««¿›››››(†››››ð ÁÁÁÁÁÁÁÁR«¿ÍcººåË“ZZ    Qì ‚‚,ZZZZËXwjK¿¿¿««««««««¿››››.Ì››››½ ÁÁÁÁÁR«¿jæååËZZ    ì ‚,ZZZZ”ººKK¿«««««««««K››››››››† ÁÁÁÁ«¿tåå”Z     ì ‚,ZZZZËXcmK¿«««««««««½››››Y*›››*Á ÁÁÁÁ«¿úååH     Q ‚,ZZZ“Ë”º„ïK¿«««««««««*››››v››››« ÁÁÁ«K§ååŠZ    Qìììììììììì ìììììììììììì ‚‚‚‚‚‚‚‚‚‚‚,ZZZZ”ºAK¿«««««««««*›››Ù››››ð ÁÁ«¿nå”Z    Qììì‚‚‚‚‚‚ìììììììììììììììììììì‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚ZZZZËXwAK¿««««««««¿››››Yé›››† ÁÁR¿§åH     ììì‚‚,,,,,,,‚‚ììììììììììììììììì‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚,ZZZËXïK¿««««««««½››››vÌ››››Á ÁÁüåH    ìì‚‚,,“““““,,‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚ììì‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚,ZZËX„m¿¿««««««««*›››z››››ð ÁÁ«€åH ¶Qìììö,“@@@ËË“,,,,,,,,,,,,,,,‚‚‚‚‚‚‚,,,,,‚‚‚‚,,‚‚‚ZZËXcK¿««««««««¿››››Y›››* ÁRAwH ¶Qììì‚,“k˜˜y”Ë““““““““““““,,‚‚‚‚‚,,“““,,,,,,,,,,,ËXüK¿««R«««««†›››››››R ÁÁKiHx¶Qììììö¶$Á¡”Ë““““““““““,,‚‚‚,,““,,,,“““,,,“ËXºj¿¿««RR««««››››Y›››† Á«nHx¶¶¶Qìììì- TQT ÕQQÕe9yÁ–Í–“,‚‚‚‚¨Í–“,,qÍ“,,²ËZ”Xæm¿«««RRRR«ð›››››››Áee ÁÁHõx¶¶¶¶Qìì……ìó TQTQQÕÁq$–“,‚ìì‚TÍ–“,‚qÍ“,,²ZZ”XnK¿««RRRRR«*›››YÌ›››½eeeee Á¿iõx¶¶¶¶Qììì………‹QÛ‹Q'îQQèNNNNN…$–“,‚ììT$–“,,qÍ“,,²ZZ“”ºj¿«««RRRRRð›››Ù››››Reeeee ÁRtõ0¶¶¶¶¶QQQQ…NN‹QQ'–Z,Qì……………$–“,,‚²$–“,qÍ“,²““ZZZ“ËX÷K¿««RRRRR«››››Y=›››†eeeeee ÁÍõ0¶-¶¶¶QQQQQèN‡ TQQÕ–““, ,ööQQ$–Ë“,‚©$–““,qÍ“,²““,ZZZZ”X¿««RRRRRR½›››.*›››«eeeeee Á~0x¶-¶¶¶QQQQQè‡?^ TQÉQQÕs““““““,,ö$–“,Îœç ‹,‹ Á_,Qq,,,,ZZZ“”—K««RRRRRR«››››Ä››››eeeeeee Ám0x¶‹_¶¶QQQQQQè‡?'Q‹ ÕQQ$q$ Îò$,,,,ZZZ,“Ë”€¿«RRRRRRR†›››{=›››ðeeeeeee Ák0¶‹‹_¶¶QQQQQQ…N?+^'Q‹'Q‹^•àUç ñ+‡?àO¦à Õè ,,,,ZZZ“”0K««RRRRRR¿›››Ù*›››Áeeeeeee ˜ýxÝ‹_¶¶QQQQQQQQè‡ÎŽç$$$$ÕÎ?????‡‡‡‡‡??OU‹‹‡‡‡‡‡‡‡?????‡‡???‡‡‡èQQ ,,,ZZZ,“Ë”b¿RRÁRRRRR›››››››*eeeeeeeeÁ‘x¶‹‹__¶QQQQQQQQ苇Εò^q…苇‡‡‡‡‡‡‡???Oò‡N‡‡‡N‹è苇‡‡‡‡‡‡‡‡‡‡èèQ  ,,,,ZZ ,Ë·¿«RÁÁÁRRR½›››{›››ðeeeeeee Á¨LÝ‹‹__QQQQQQQQQQ…苇‡‡‡œœÛ‹    Qèè‹‹N‹‹‹‡‡??‡‡‹‹‹èèè…QQQèèèèèèèèèèèèQQ ,,,,,ZZ  “ËËm«RÁÁÁÁÁÁ¿›››.†›››Reeeeeee mLÝ‹‹‹_¶QQQ      QQQQ      ZZZZ QQQQQQ…èè‹èèQQQQQQ     QQQQQ        ,,,,,,ZZZ ,“Ëy«RRÁÁÁÁÁR››››››››eeeeeeee ÒLÝÉ‹__¶         QQ ±$ÍÍÍÍÍÍÍÍÍÍÍŠZ       QQQQQ                    ZZZZZZZ,,,ZZZ  “:RÁÁÁÁÁÁÁ*›››J›››†eeeeeeeeÁÝhÉ‹__Q         QQQ8ÓZ                                Z,,,,ZZZZZZZZ  ,“Ëm«ÁÁÁÁÁÁÁ½›››M›››ðeeeeeeeeÝhÉÉ‹__          Q¶¶©ÓŠZZ        Z                 ZZZZZZZZZZZZZZZZZZ  ,“‘«ÁÁÁÁÁÁÁ¿›››.Ì›››Reeeeeeeežhh1‡‹__          Q_èÛÓŠZZZZZZZZZZZZZZ                 ZZZZZZZZZZZZZZZ  ,“«RÁÁÁÁÁÁR›››†››› eeeeeee Òh11É__¶          _‹ÛÓÓÓŠŠŠŠŠŠŠŠŠZZZZZ              ZZZZZZZZZZZZZ ö,“L«ÁÁÁÁÁÁÁÁ››››››››e¸¸eeeee 11ÎÉ__          _‹W9)))ÓÓÓÓÓÓŠŠŠŠŠŠŠŠZØ  QQQQQ        ZZZZZZZZZZZ Qö,“¿ÁÁÁÁÁÁÁÁ*››››››*¸¸¸¸¸eee ¹1¹ÎÉ__          _‹W˜&&&&&&ŸŸŸŸŸŸ9ÓÓŠŠŠZØ  ¶¶¶¶…QQQ      ZZZZZZZZZ Qö,“îRÁÁÁÁÁÁÁ½›››M›››½¸¸¸¸¸¸¸e1¹ÎÎÉ__Ø    ØØØ   _‹W˜m30xx¶¶-èèè…QQ     ZZZZZZZZ QQö“‘ÁÁÁÁÁÁÁÁð›››´›››ð¸¸¸¸¸¸¸e$¹ùÎÎÉ__ØØØØØØØØØØØ_Wm3:00xx¶-èèèè…QQ    ZZZZZZ  QQö,yÁÁÁÁÁÁÁÁ¿›››´›››=¸¸¸¸¸¸¸e ¹CCÎÉ__ØØØØØØØØØØØ_pmy0xx¶-èNNNè…QQ   ZZZZZ  QQQö\ÁÁÁÁÁÁÁÁ¿›››šë›››ë¸¸¸¸¸¸¸eÕùCCÎÉ__ØØØØØØØØØØØ_p^y0x¶-NNNNèèQQ    ZZZ QQ…Qö8ÁÁÁÁÁÁÁÁ«›››š=›››R¸¸¸¸¸¸¸eÐC¾¾•É‹_ØØØØØØØØØØØØ_pUmíx¶-³þþþNè…Q    ZZ Q………ö¹ÁÁÁÁÁÁÁÁ«›››=›››R¸¸¸¸¸¸¸eÐCŽŽ•΋_ØØØØØØØØØØØØ_p"Æ kx¶-þNNè…QQQ   QQ…Â…Q¹ÁÁ ÁÁÁÁR›››Ì›››R¸¸¸¸¸¸¸eÐŽŽŽ¾ÎÉ_ØØØØØØØØØØØ_"+^yx-³þNè…QQQQ……ÂÂÂ…1ÁÁ ÁÁÁ›››Ì›››R¸¸¸¸¸¸¸eÐŽßߎ•ÎÉ‹‹__ØØØØØ_É"+2O ¨¶-‡ÿÿNNNèè……èÂNþ¹Á Á›››=›››R¸¸¸¸¸¸¸¸øßllߎ•ÎÉ‹‹‹‹________‹p•+}¥á¶-³ÿÿÿÿþNNNNNNþþþÂùÁ R›››=›››ë¸¸¸¸¸¸¸¸¦llûlߎCÎÎÉÉ‹‹_______‹p"+}Ú»GÃB –-³ÿÿÿÿþNNþþþÂo R›››ë›››ë¸¸¸¸¸¸¸¸Þl ûlߎ¾••ÎÎppÉÉÉÉÉÉÉÎΕ¾}Ú»»SÊÊÊDÏã™™™™™™™™™™™™B%äI-³ÿ]ÿÿÿÿþ «›››¬›››=¸¸¸¸¸¸¸¸O || ûlßßŽŽ¾¾•••••••••••¾ŽŽßl SSÊÊÊÊÊÊÊÊÊÊÊSSSSSÊÊÊÑÏ7×-³]]]]ÿÿÿÿÿÿÿÿÿÿþ «›››¬›››ð¸¸¸¸¸¸¸¸ ||| llßßŽŽŽŽŽŽŽŽŽŽŽŽŽßßßll ||||||||||| |SSÊÊÏ׳À]]]]]]]]ÿÿÿÿÿÿÿ ¿›››¬›››†¸¸¸¸¸¸¸¸¸||||||| llllßßßßßllllllllûûûû ûûûûûûûûûûû SÊÊ’³À]]]]]]ÿ]]ÿ ð›››6›››*[[¸¸¸¸¸¸¸’!!!||||||| û û ûûûûûûûûûûûûlllllllllllll |SS‰1Àf]]]]]]Æ ½›››››››¸[[[[¸¸¸¸!!!!|!!||||||||||||| ûûûûlllllllllßlßll SÖ1f¾]]]]]] *›››†››› [[[[[[¸¸Þ!ÑÑ!!!ÑÑÑÑÑ!ÊÊ||||||||| ûûûûlllllllll |Ö¹f¾aaaaaaa]]]]F ››››=›››R[[[[[[[[áÑgÑ!!!ÑÑÑÑÑÑÑÑÑÑÑÑ|||||||| ûlllllû |Ö¹C¾aaaaaaaa]]] Á››››››ð[[[[[[[[ gggÑ!!g’’’’ÑÑÑÑÑÑÑÑÑÑÑ||||||| SS'ùCŽŽŽŽŽŽaaa]]ñe ¿›››`›››*[[[[[[[[[ãgggÑ!Ñ’’’’’’’’’’’ÑÑÑÑÑÑÑÑÑÑÑ||||ªª ªSSCoŽßßßßßßß]a¾¾ eee ð›››*›››e[[[[[[[[¼ggg!!££££££’’’’’’’’’’’’ÑÑÑÑÑÑGGG|ªªªêꪪªqCoFlllllßßaaa®eeeeeee *›››=›››R[[[[[[[[ gÑ!’Å££££££££££’’’’’’’’’’’’’ÑÑÑÑGG555ªªªªªVV­­­êˆóoF­êêêlllßaaaañeeeeeeee ›››››››ð[[[[[[[[[Ègg!gÅÅÅÅÅÅ£££££££££££’’’’’’’’’’’GG555VVVVVVV‰‰‰Ü[‰F­êêêêêêêaaŽŽßeeeeeeeee¿›››é››››¸[[[[[[[[áÅgÑ!ÅŒŒŒDDDÅDD£££££££££££££££4’’G®5V‰‰‰\\\‰ [䜭VªªªªªªlaŽßߤeeeeeeeee†›››†›››Á[[[[[[[[[ÅÅg!gŒŒŒŒŒŒŒŒŒDDDDDDDD££££££££4µ®V‰\\\\\\\–‘žÆVV555555ªaaaßl߯eeeeeeee ›››››››½[[[[[[[[[¼ÅÅÅgÑ!ŒŒÏÏŒÏÏŒDDDDDDDDDDD4>^^äE55®®®®®®êaßllµeeeeeeeee¿›››é››››¸[[[[[[[[äŒÅgggããÏÏÏDDÏÏDƒ ®®®µGGGGG#aa#lêlÆeeeeeeeee*›››ð›››ë[[[[[[[[[¼ŒŒÅgÑÅãããããããããã㼦µµµµµµµµêaa#lêê4eeeeeeeeeÁ›››››››*[[[[[[[[[ädŒŒÅgggãÈÈÈÈÈÈdãããããããããããããããBB44444444µaaaß ªªÆeeeeeeeee½›››†*›››R[[[[[[[[[%ŒŒggÈÈÈÈÈÈÈÈÈÈÈÈÈÈããããããããã;ÈB׈¤¤¤¤¤¤¤¤ßa#ßꪪ¢eeeeeeeee ›››››››*[[[[[[[[[[7ŒŒggÅÃÈÈÈÈÈÈÈÈÈÈÈÈÈÈ;;;;ÈÃï%¢ˆˆˆˆˆˆˆ¤ªa##êªGàeeeeeeeee𛛛雛››Á[[[[[[[[[×ddŒÅggã™™™™™ÃÃÃÃÃÃÈÃÃÈÃÃÃÙ™á[B㢢¢ˆˆˆˆˆµ###lª$eeeeeeeee ››››ë›››*[[[[[[[[[[áddŒÅggÈ™™™™™™™™™™™™™™ÃÃÃÃÙ™7%ôÞ;;;¢¢¢¢¢¢4###lªGG¢eeeeeeeeee𛛛雛››R[[[[[[[[[[°ddŒÅgggÃ77777777777™™™™™™™™77ô[ôƒ™ÃÃÃ;;;;;¢ˆ###lªGG¤eeeeeeeeee ››››ë›››*[[[[[[[[[[[ÇddŒÅggg7777777777777777777°ô[ÃÃÃÃÈl#lûG44O¸¸¸¸¸¸¸eeeR›››››››› [[[[[[[[[[<ÈdŒÅggȰ°ƒƒƒƒƒƒƒƒƒƒƒƒÔÔÔÔÔ¼¼¼ƒƒƒƒ77ÞÞÞÞÞ™>™ˆlll ’4Dƒ¸¸¸¸¸¸¸¸¸¸e*›››½›››*[[[[[[[[[[[<dÅggƒƒƒƒƒƒ¼¼¼¼¼¼¼¼¼¼¼ƒƒƒƒƒ7ÞÞÞÞÞÞÞÞ’llû ’DDÞ¸¸¸¸¸¸¸¸¸¸¸½››››››››ð[[[[[[[[[[[ôdÅggŰ¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼ƒƒƒƒƒƒƒƒƒƒ77Ã|lûû|G£DÏÞ¸¸¸¸¸¸¸¸¸¸¸ë››››››››R[[[[[[[[[[[<ÇdŒgggÈÔÔÔÔ¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒDûûû ’DÏσ¸¸¸¸¸¸¸¸¸¸¸ ››››†ð››››e[[[[[[[[[[×7ÇdŒÅgg7BBBBBBBBBBBB¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼Ãûû |Ñ4D¼¸¸¸¸¸¸¸¸¸¸¸e*››››*›››*¸[[[[[[[[[ °ÇÇÈdŒgggÅ7BBBBBBBBBBBBBBBB¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼¼ÃÑûû |’Dã;Ḹ¸¸¸¸¸¸¸¸¸¸½››››››››*[[[[[[[[[¯ÇÇdÅgggÅ™BBBBBBBBBBBBBBBBBBBBBBBBB¼B¼;Ñ |’£Ïã;™à¸¸¸¸¸¸¸¸¸¸¸¸ð››››=ë››››†[[[[[[[[<°7ÇdŒÅgggg7¯¯¯¯¯áBBBBBBBBBBBBBBB¼™D|||||’£Ïã;ȼ¸¸¸¸¸¸¸¸¸¸¸¸¸=››››Ì››››½[[[[[[äÔ°7ÇdŒÅgggggŒÈƒBáᯯ¯¯áááááá¼7ã£|||||Ñ’DãÈÃ7¸¸¸¸¸¸¸¸¸¸¸¸¸ë››››†ð››››½[[[[[[×°°ÇdŒÅggggg!g£Œ’!||||||!Ñ’£DÈ™™á¸[[¸¸¸¸¸¸¸¸¸¸¸¿››››†››››†[[[[[<°°ÇÇdŒÅgggÑ!!!!!!!!!!!!!Ñg’£ŒãÈ™™7B [[[[[[[¸¸¸¸¸¸¸ð››››*½››››*¸[[[[<Ô°°ÇÇddŒÅÅggggggg’£ÅŒãÈ™Ç77á [[[[[[[[[[[¸¸¸¸ð››››*½››››*e[[[×%°°°ÇÇÈÈddããddÈÇÇ777Ôôä[[[[[[[[[[[[[[[e½››››*ð›››››R[[[[<%Ô°°°7ÇÇÇÇÇÇÇÇÇÇ77°°°°Bô [[[[[[[[[[[[[[[[[ *››››†Ì›››››ð[[[[[ <%¯Ô¯ô×[[[[[[[[[[[[[[[[[[[¸ë›››››†ë›››››* [[[[[[[ä <<<<ô<<<× [[[[[[[[[[[[[[[[[[[[[[[e½›››››ð*›››››ð¸[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[¸ë››››››ð››››››R[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ *›››››*››››››*Á[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[e½››››››Ìð››››››*Á[[[[[[[[[[[[[[[[[[[[[[[[[[ ½››››››**››››››*R¸[[[[[[[[[[[[[[[[[[[[Á†›››››››ë››››››››½Á[[[[[[[[[[[[[[[[ ð››››››››=ë›››››››››ðR¸[[[[[[[[¸ ð*››››››››=*›››››››››*ðÁe¸[[eÁ=*››››››››››=ð›››››››››››››†ð==ëÁÁÁÁR===†›››››››››››››††››››››››››››››››››››››››››››››››››*==*››››››››››››››››››››››››››*ð=½*›››››››››››››››››†ÌÌÌÌÌëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿþÿÿÿÿÿÿÿüÿÿÿÿÿÿø?ÿÿÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿüÿÿÿÿø?ÿÿÿÿðÿÿÿÿàÿÿÿÿÀÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿÿÿÿþÿÿÿþÿÿÿüÿÿøÿÿø?ÿÿð?ÿÿðÿÿàÿÿàÿÿÀÿÿÀÿÿ€ÿÿ€ÿÿ€ÿÿÿÿÿÿÿÿÿþÿþÿþÿþÿüÿüÿüÿüüüüøøøøøøøøüüüüÿüÿüÿüÿþÿþÿþÿþÿÿÿÿÿÿÿÿ€ÿÿ€ÿÿ€ÿÿÀÿÿÀÿÿàÿÿàÿÿàÿÿð?ÿÿð?ÿÿøÿÿüÿÿüÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÀÿÿÿÿÀÿÿÿÿàÿÿÿÿð?ÿÿÿÿøÿÿÿÿüÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÀÿÿÿÿÿÿð?ÿÿÿÿÿÿøÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð?ÿÿÿÿÿÿÿÿÿÿÿÿÿø?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿxchm-1.23/rc/xchm.rc0000644000175000001440000000007212210054137011176 00000000000000aaaa ICON DISCARDABLE "xchm.ico" #include xchm-1.23/src/0000755000175000001440000000000012210054272010155 500000000000000xchm-1.23/src/Makefile.am0000644000175000001440000000112012210054152012120 00000000000000AM_CPPFLAGS = -I$(top_srcdir)/art bin_PROGRAMS = xchm xchm_SOURCES = chmapp.cpp chmfile.cpp chmframe.cpp chmfshandler.cpp \ chminputstream.cpp chmfontdialog.cpp chmhtmlnotebook.cpp \ chmsearchpanel.cpp chmhtmlwindow.cpp chmfinddialog.cpp \ chmindexpanel.cpp chmlistctrl.cpp hhcparser.cpp noinst_HEADERS = chmapp.h chmfile.h chmframe.h chmfshandler.h \ chminputstream.h chmfontdialog.h chmhtmlnotebook.h \ chmsearchpanel.h chmhtmlwindow.h bitfiddle.inl \ chmfinddialog.h chmindexpanel.h chmlistctrl.h hhcparser.h xchm_LDADD= @LINKOPT@ #xchm_LDFLAGS=-pg #all-local: # @REZ_COMMAND@ xchm-1.23/src/Makefile.in0000644000175000001440000004352012210054242012143 00000000000000# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2012 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__make_dryrun = \ { \ am__dry=no; \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ *) \ for am__flg in $$MAKEFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ *n*) am__dry=yes; break;; \ esac; \ done;; \ esac; \ test $$am__dry = yes; \ } 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@ bin_PROGRAMS = xchm$(EXEEXT) subdir = src DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_xchm_OBJECTS = chmapp.$(OBJEXT) chmfile.$(OBJEXT) \ chmframe.$(OBJEXT) chmfshandler.$(OBJEXT) \ chminputstream.$(OBJEXT) chmfontdialog.$(OBJEXT) \ chmhtmlnotebook.$(OBJEXT) chmsearchpanel.$(OBJEXT) \ chmhtmlwindow.$(OBJEXT) chmfinddialog.$(OBJEXT) \ chmindexpanel.$(OBJEXT) chmlistctrl.$(OBJEXT) \ hhcparser.$(OBJEXT) xchm_OBJECTS = $(am_xchm_OBJECTS) xchm_DEPENDENCIES = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ SOURCES = $(xchm_SOURCES) DIST_SOURCES = $(xchm_SOURCES) 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) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ 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@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LINKOPT = @LINKOPT@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WX_CFLAGS = @WX_CFLAGS@ WX_CFLAGS_ONLY = @WX_CFLAGS_ONLY@ WX_CONFIG_PATH = @WX_CONFIG_PATH@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_CXXFLAGS_ONLY = @WX_CXXFLAGS_ONLY@ WX_LIBS = @WX_LIBS@ WX_LIBS_STATIC = @WX_LIBS_STATIC@ WX_RESCOMP = @WX_RESCOMP@ WX_VERSION = @WX_VERSION@ WX_VERSION_MAJOR = @WX_VERSION_MAJOR@ WX_VERSION_MICRO = @WX_VERSION_MICRO@ WX_VERSION_MINOR = @WX_VERSION_MINOR@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ 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@ 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@ 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@ AM_CPPFLAGS = -I$(top_srcdir)/art xchm_SOURCES = chmapp.cpp chmfile.cpp chmframe.cpp chmfshandler.cpp \ chminputstream.cpp chmfontdialog.cpp chmhtmlnotebook.cpp \ chmsearchpanel.cpp chmhtmlwindow.cpp chmfinddialog.cpp \ chmindexpanel.cpp chmlistctrl.cpp hhcparser.cpp noinst_HEADERS = chmapp.h chmfile.h chmframe.h chmfshandler.h \ chminputstream.h chmfontdialog.h chmhtmlnotebook.h \ chmsearchpanel.h chmhtmlwindow.h bitfiddle.inl \ chmfinddialog.h chmindexpanel.h chmlistctrl.h hhcparser.h xchm_LDADD = @LINKOPT@ all: all-am .SUFFIXES: .SUFFIXES: .cpp .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) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: 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-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ 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) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || 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)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) xchm$(EXEEXT): $(xchm_OBJECTS) $(xchm_DEPENDENCIES) $(EXTRA_xchm_DEPENDENCIES) @rm -f xchm$(EXEEXT) $(CXXLINK) $(xchm_OBJECTS) $(xchm_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmapp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmfile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmfinddialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmfontdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmframe.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmfshandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmhtmlnotebook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmhtmlwindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmindexpanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chminputstream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmlistctrl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmsearchpanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hhcparser.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ 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 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ 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: $(HEADERS) $(SOURCES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP)'; \ 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: check-am all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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-binPROGRAMS clean-generic 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-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS 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 pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic cscopelist ctags distclean distclean-compile \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ 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 maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS #xchm_LDFLAGS=-pg #all-local: # @REZ_COMMAND@ # 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: xchm-1.23/src/bitfiddle.inl0000644000175000001440000001242712210054137012535 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru Most of the code in this file is a modified version of code from Pabs' GPL chmdeco project, credits and thanks go to him. 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. */ #include #include #include #define FIXENDIAN16(x) (x = wxUINT16_SWAP_ON_BE(x)) #define FIXENDIAN32(x) (x = wxUINT32_SWAP_ON_BE(x)) #define UINT16ARRAY(x) ((unsigned char)(x)[0] | ((uint16_t)(x)[1] << 8)) #define UINT32ARRAY(x) (UINT16ARRAY(x) | ((uint32_t)(x)[2] << 16) \ | ((uint32_t)(x)[3] << 24)) #define INT32ARRAY(x) ((int32_t)UINT32ARRAY(x)) #define INT16ARRAY(x) ((int16_t)UINT16ARRAY(x)) #if wxUSE_UNICODE # define CURRENT_CHAR_STRING(x) \ wxString(reinterpret_cast(x), wxConvISO8859_1) # define CURRENT_CHAR_STRING_CV(x, cv) \ wxString(reinterpret_cast(x), cv) #else # define CURRENT_CHAR_STRING(x) \ wxString(reinterpret_cast(x)) # define CURRENT_CHAR_STRING_CV(x, cv) \ wxString(reinterpret_cast(x)) #endif inline uint64_t be_encint(unsigned char* buffer, size_t& length) { uint64_t result = 0; int shift=0; length = 0; do { result |= ((*buffer) & 0x7f) << shift; shift += 7; ++length; } while (*(buffer++) & 0x80); return result; } /* Finds the first unset bit in memory. Returns the number of set bits found. Returns -1 if the buffer runs out before we find an unset bit. */ inline int ffus(unsigned char* byte, int* bit, size_t& length) { int bits = 0; length = 0; while(*byte & (1 << *bit)){ if(*bit) --(*bit); else { ++byte; ++length; *bit = 7; } ++bits; } if(*bit) --(*bit); else { ++length; *bit = 7; } return bits; } inline uint64_t sr_int(unsigned char* byte, int* bit, unsigned char s, unsigned char r, size_t& length) { uint64_t ret; unsigned char mask; int n, n_bits, num_bits, base, count; length = 0; size_t fflen; if(!bit || *bit > 7 || s != 2) return ~(uint64_t)0; ret = 0; count = ffus(byte, bit, fflen); length += fflen; byte += length; n_bits = n = r + (count ? count-1 : 0) ; while(n > 0) { num_bits = n > *bit ? *bit : n-1; base = n > *bit ? 0 : *bit - (n-1); switch(num_bits){ case 0: mask = 1; break; case 1: mask = 3; break; case 2: mask = 7; break; case 3: mask = 0xf; break; case 4: mask = 0x1f; break; case 5: mask = 0x3f; break; case 6: mask = 0x7f; break; case 7: mask = 0xff; break; default: mask = 0xff; break; } mask <<= base; ret = (ret << (num_bits+1)) | (uint64_t)((*byte & mask) >> base); if( n > *bit ){ ++byte; ++length; n -= *bit+1; *bit = 7; } else { *bit -= n; n = 0; } } if(count) ret |= (uint64_t)1 << n_bits; return ret; } #if wxUSE_UNICODE # define UNICODE_PARAM(x) x # define NON_UNICODE_PARAM(x) #else # define UNICODE_PARAM(x) # define NON_UNICODE_PARAM(x) x #endif inline void createCSConvPtr(std::auto_ptr& cvPtr, wxFontEncoding enc) { #ifdef __WXMSW__ cvPtr.reset(new wxCSConv(enc)); #else switch(enc) { case wxFONTENCODING_CP950: cvPtr.reset(new wxCSConv(wxT("BIG5"))); break; case wxFONTENCODING_CP932: cvPtr.reset(new wxCSConv(wxT("SJIS"))); break; default: cvPtr.reset(new wxCSConv(enc)); break; } #endif } #if wxUSE_UNICODE inline wxString translateEncoding(const wxString& input, wxFontEncoding enc) { if(input.IsEmpty()) return wxEmptyString; if(enc != wxFONTENCODING_SYSTEM) { wxCSConv convFrom(wxFONTENCODING_ISO8859_1); std::auto_ptr convToPtr; createCSConvPtr(convToPtr, enc); return wxString(input.mb_str(convFrom), *convToPtr); } return input; } #else #define translateEncoding(x, y) x #endif inline wxChar charForCode(unsigned code, const wxCSConv& NON_UNICODE_PARAM(cv), bool NON_UNICODE_PARAM(conv)) { #if !wxUSE_UNICODE # if wxUSE_WCHAR_T if(code < 256) return (wxChar)code; if(conv) { char buf[2]; wchar_t wbuf[2]; wbuf[0] = (wchar_t)code; wbuf[1] = 0; cv.WC2MB(buf, wbuf, 2); if(cv.WC2MB(buf, wbuf, 2) == (size_t)-1) return '?'; return buf[0]; } else return (wxChar)code; # else return (code < 256) ? (wxChar)code : '?'; # endif #else return (wxChar)code; #endif } /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmapp.cpp0000644000175000001440000001554612210054152012061 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru XML-RPC/Context ID code contributed by Eamon Millman / PCI Geomatics Mac OS patches contributed by Mojca Miklavec 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. */ #include #include #include #include #include #include #include #include #include #include #ifdef __WXMAC__ #include #endif #ifdef WITH_LIBXMLRPC using namespace XmlRpc; // The better way to use a singleton. Can't rely on the order of // construction/initialization of global objects. XmlRpcServer& getXmlRpcServer() { static XmlRpcServer s; return s; } CHMApp::CHMApp() : wxApp(), XmlRpcServerMethod( "xCHM", &getXmlRpcServer()) {} void CHMApp::execute(XmlRpcValue& params, XmlRpcValue& result) { result = FALSE; if( params.size() > 0 && params[0].getType() == XmlRpcValue::TypeInt ) { switch( int(params[0]) ) { case 0: // we want to close everything up! //_frame->Command(ID_Quit); ExitMainLoop(); result = TRUE; break; case 1: if( params.size() == 2 && params[1].getType() == XmlRpcValue::TypeString ) { result = _frame->LoadCHM( CURRENT_CHAR_STRING( std::string(params[1]).c_str())); } if( params.size() == 3 && params[1].getType() == XmlRpcValue::TypeString && params[2].getType() == XmlRpcValue::TypeInt ) { result = _frame->LoadCHM( CURRENT_CHAR_STRING( std::string(params[1]).c_str())) && _frame->LoadContextID( int(params[2]) ); } break; case 2: if( params.size() == 2 && params[1].getType() == XmlRpcValue::TypeInt ) { result = _frame->LoadContextID( int(params[1]) ); } break; } } } #endif bool CHMApp::OnInit() { #ifdef __WXMAC__ ProcessSerialNumber PSN; GetCurrentProcess(&PSN); TransformProcessType(&PSN, kProcessTransformToForegroundApplication); #endif #ifdef WITH_LIBXMLRPC long port = -1; #endif long id = -1; wxString file; _cmdLP.SetCmdLine( argc, argv ); _cmdLP.AddParam( wxT("file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL ); _cmdLP.AddOption( wxT("c"), wxT("contextid"), wxT("context-Id to open in file, requires that a file be specified"), wxCMD_LINE_VAL_NUMBER ); #ifdef WITH_LIBXMLRPC _cmdLP.AddOption( wxT("x"), wxT("xmlrpc"), wxT("starts xCHM in XML-RPC server mode listening on port "), wxCMD_LINE_VAL_NUMBER ); #endif _cmdLP.AddSwitch( wxT("t"), wxT("notopics"), wxT("don't load the topics tree")); _cmdLP.AddSwitch( wxT("i"), wxT("noindex"), wxT("don't load the index")); _cmdLP.AddSwitch( wxT("h"), wxT("help"), wxT("displays this message."), wxCMD_LINE_OPTION_HELP ); if(_cmdLP.Parse() != 0) // 0 means everything is ok return FALSE; bool loadTopics = !_cmdLP.Found(wxT("notopics")); bool loadIndex = !_cmdLP.Found(wxT("noindex")); #ifdef WITH_LIBXMLRPC // catch the xmlrpc setup if desired _cmdLP.Found(wxT("xmlrpc"), &port); #endif if(_cmdLP.GetParamCount() == 1) { file = _cmdLP.GetParam(0); _cmdLP.Found( wxT("contextid"), &id ); } else if(_cmdLP.Found( wxT("contextid"))) { // can't use a context-ID without a file! _cmdLP.Usage(); return FALSE; } long xorig = 50, yorig = 50, width = 600, height = 450; long sashPos = CONTENTS_MARGIN; long fontSize = CHM_DEFAULT_FONT_SIZE; wxString lastOpenedDir, normalFont, fixedFont; #if !defined(__WXMAC__) && !defined(__WXMSW__) _loc.Init(); _loc.AddCatalog(wxT("xchm")); #endif wxInitAllImageHandlers(); wxFileSystem::AddHandler(new CHMFSHandler); wxFileSystem::AddHandler(new wxInternetFSHandler); wxFileSystem::AddHandler(new wxMemoryFSHandler); wxConfig config(wxT("xchm")); if(config.Read(wxT("/Position/xOrig"), &xorig)) { config.Read(wxT("/Position/yOrig"), &yorig); config.Read(wxT("/Position/width"), &width); config.Read(wxT("/Position/height"), &height); config.Read(wxT("/Paths/lastOpenedDir"), &lastOpenedDir); config.Read(wxT("/Fonts/normalFontFace"), &normalFont); config.Read(wxT("/Fonts/fixedFontFace"), &fixedFont); config.Read(wxT("/Fonts/size"), &fontSize); config.Read(wxT("/Sash/leftMargin"), &sashPos); } wxString fullAppPath; if(argc > 0) fullAppPath = getAppPath(argv[0], wxGetCwd()); _frame = new CHMFrame(wxT("xCHM v. ") wxT(VERSION), lastOpenedDir, wxPoint(xorig, yorig), wxSize(width, height), normalFont, fixedFont, static_cast(fontSize), static_cast(sashPos), fullAppPath, loadTopics, loadIndex); _frame->SetSizeHints(200, 200); _frame->Show(TRUE); SetTopWindow(_frame); #ifdef WITH_LIBXMLRPC if( port != -1 ) { // do the XML RPC init stuff here _timer.SetOwner( this, TIMER_ID ); _timer.Start(100); getXmlRpcServer().bindAndListen(port); } #endif if( _cmdLP.GetParamCount() == 1 ) { _frame->LoadCHM( file ); if( id != -1 ) _frame->LoadContextID( id ); } return TRUE; } wxString CHMApp::getAppPath(const wxString& argv0, const wxString& cwd) { if(wxIsAbsolutePath(argv0)) return argv0; wxString cwdtmp(cwd), apppath; if(cwdtmp.Last() != wxFILE_SEP_PATH) cwdtmp += wxFILE_SEP_PATH; apppath = cwdtmp + apppath; if(wxFileExists(apppath)) return apppath; wxPathList pathList; pathList.AddEnvList(wxT("PATH")); apppath = pathList.FindAbsoluteValidPath(argv0); if(!apppath.IsEmpty()) return wxPathOnly(apppath); return wxEmptyString; } #ifdef __WXMAC__ void CHMApp::MacOpenFile(const wxString& filename) { _frame->LoadCHM(filename); } #endif #ifdef WITH_LIBXMLRPC void CHMApp::WatchForXMLRPC( wxTimerEvent& ) { getXmlRpcServer().work(0.0); // check for a XMLRPC message } #endif #ifdef WITH_LIBXMLRPC BEGIN_EVENT_TABLE( CHMApp, wxApp ) EVT_TIMER(TIMER_ID, CHMApp::WatchForXMLRPC ) END_EVENT_TABLE() #endif // Apparently this macro gets main() pumping. IMPLEMENT_APP(CHMApp) /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmapp.h0000644000175000001440000000456612210054137011531 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMAPP_H_ #define __CHMAPP_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #ifdef WITH_LIBXMLRPC # define TIMER_ID wxID_HIGHEST + 1 # include using namespace XmlRpc; #endif // Forward declaration. class CHMFrame; /*! \class wxApp \brief wxWidgets application class. */ //! This is the application class. #ifdef WITH_LIBXMLRPC class CHMApp : public wxApp, public XmlRpcServerMethod { #else class CHMApp : public wxApp { #endif #ifdef WITH_LIBXMLRPC public: //! Default constructor, also links the XMLRPC method CHMApp(); #endif //! Our entry point into the application. virtual bool OnInit(); #ifdef __WXMAC__ //! Respond to Apple Event for opening a document virtual void MacOpenFile(const wxString& filename); #endif protected: #ifdef WITH_LIBXMLRPC //! Handles actual XMLRPC requests and parameter parsing. void execute(XmlRpcValue& params, XmlRpcValue& result); //! Watches for XMLRPC requests void WatchForXMLRPC( wxTimerEvent& event ); #endif private: // Try to figure out the absolute file path of the executable. wxString getAppPath(const wxString& argv0, const wxString& cwd); private: CHMFrame* _frame; wxLocale _loc; #ifdef WITH_LIBXMLRPC wxTimer _timer; #endif wxCmdLineParser _cmdLP; #ifdef WITH_LIBXMLRPC DECLARE_EVENT_TABLE() #endif }; #endif // __CHMAPP_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfile.cpp0000644000175000001440000010363212210054152012212 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru XML-RPC/Context ID code contributed by Eamon Millman / PCI Geomatics Bugfixes contributed by Kuang-che Wu https://sourceforge.net/users/kcwu/ 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. */ #include #include #include #include #include #include #include #include #include #include #include // damn wxWidgets and it's scoped ptr. class UCharPtr { public: UCharPtr(unsigned char *p, size_t size = 0) : _p(p), _size(size) {} ~UCharPtr() { delete[] _p; } unsigned char *get() { return _p; } size_t size() const { return _size; } private: UCharPtr(const UCharPtr&); UCharPtr& operator=(const UCharPtr&); private: unsigned char *_p; size_t _size; }; // Big-enough buffer size for use with various routines. #define BUF_SIZE 4096 // Thanks to Vadim Zeitlin. #define ANSI_CHARSET 0 #define DEFAULT_CHARSET 1 #define SYMBOL_CHARSET 2 #define SHIFTJIS_CHARSET 128 #define HANGEUL_CHARSET 129 #define HANGUL_CHARSET 129 #define GB2312_CHARSET 134 #define CHINESEBIG5_CHARSET 136 #define OEM_CHARSET 255 #define JOHAB_CHARSET 130 #define HEBREW_CHARSET 177 #define ARABIC_CHARSET 178 #define GREEK_CHARSET 161 #define TURKISH_CHARSET 162 #define VIETNAMESE_CHARSET 163 #define THAI_CHARSET 222 #define EASTEUROPE_CHARSET 238 #define RUSSIAN_CHARSET 204 #define MAC_CHARSET 77 #define BALTIC_CHARSET 186 // Hello, Microsoft #define LANG_NEUTRAL 0x00 // check #define LANG_ARABIC 0x01 // check #define LANG_BULGARIAN 0x02 // check #define LANG_CATALAN 0x03 #define LANG_CHINESE 0x04 // check #define LANG_CZECH 0x05 #define LANG_DANISH 0x06 #define LANG_GERMAN 0x07 #define LANG_GREEK 0x08 // check #define LANG_ENGLISH 0x09 #define LANG_SPANISH 0x0a #define LANG_FINNISH 0x0b #define LANG_FRENCH 0x0c #define LANG_HEBREW 0x0d // check #define LANG_HUNGARIAN 0x0e #define LANG_ICELANDIC 0x0f #define LANG_ITALIAN 0x10 #define LANG_JAPANESE 0x11 // check #define LANG_KOREAN 0x12 // check #define LANG_DUTCH 0x13 #define LANG_NORWEGIAN 0x14 #define LANG_POLISH 0x15 #define LANG_PORTUGUESE 0x16 #define LANG_ROMANIAN 0x18 #define LANG_RUSSIAN 0x19 // check #define LANG_CROATIAN 0x1a #define LANG_SERBIAN 0x1a #define LANG_SLOVAK 0x1b #define LANG_ALBANIAN 0x1c #define LANG_SWEDISH 0x1d #define LANG_THAI 0x1e // check #define LANG_TURKISH 0x1f // check #define LANG_URDU 0x20 #define LANG_INDONESIAN 0x21 #define LANG_UKRAINIAN 0x22 // check #define LANG_BELARUSIAN 0x23 #define LANG_SLOVENIAN 0x24 #define LANG_ESTONIAN 0x25 #define LANG_LATVIAN 0x26 #define LANG_LITHUANIAN 0x27 #define LANG_FARSI 0x29 #define LANG_VIETNAMESE 0x2a #define LANG_ARMENIAN 0x2b #define LANG_AZERI 0x2c #define LANG_BASQUE 0x2d #define LANG_MACEDONIAN 0x2f #define LANG_AFRIKAANS 0x36 #define LANG_GEORGIAN 0x37 #define LANG_FAEROESE 0x38 #define LANG_HINDI 0x39 #define LANG_MALAY 0x3e #define LANG_KAZAK 0x3f #define LANG_KYRGYZ 0x40 #define LANG_SWAHILI 0x41 #define LANG_UZBEK 0x43 #define LANG_TATAR 0x44 #define LANG_BENGALI 0x45 #define LANG_PUNJABI 0x46 #define LANG_GUJARATI 0x47 #define LANG_ORIYA 0x48 #define LANG_TAMIL 0x49 #define LANG_TELUGU 0x4a #define LANG_KANNADA 0x4b #define LANG_MALAYALAM 0x4c #define LANG_ASSAMESE 0x4d #define LANG_MARATHI 0x4e #define LANG_SANSKRIT 0x4f #define LANG_MONGOLIAN 0x50 #define LANG_GALICIAN 0x56 #define LANG_KONKANI 0x57 #define LANG_MANIPURI 0x58 #define LANG_SINDHI 0x59 #define LANG_SYRIAC 0x5a #define LANG_KASHMIRI 0x60 #define LANG_NEPALI 0x61 #define LANG_DIVEHI 0x65 CHMFile::CHMFile() : _chmFile(NULL), _home(wxT("/")) { } CHMFile::CHMFile(const wxString& archiveName) : _chmFile(NULL), _home(wxT("/")) { LoadCHM(archiveName); } CHMFile::~CHMFile() { CloseCHM(); } bool CHMFile::LoadCHM(const wxString& archiveName) { if(_chmFile) CloseCHM(); assert(_chmFile == NULL); _chmFile = chm_open(static_cast(archiveName.mb_str())); if(_chmFile == NULL) return false; _enc = wxFONTENCODING_SYSTEM; _filename = archiveName; GetArchiveInfo(); LoadContextIDs(); #if wxUSE_UNICODE _title = translateEncoding(_title, _enc); #endif return true; } void CHMFile::CloseCHM() { if(_chmFile == NULL) return; chm_close(_chmFile); _cidMap.clear(); _chmFile = NULL; _home = wxT("/"); _filename = _home = _topicsFile = _indexFile = _title = _font = wxEmptyString; } #define MSG_RETR_TOC _("Retrieving table of contents..") #define MSG_RETR_IDX _("Retrieving index..") #define EMPTY_INDEX _("Untitled in index") bool CHMFile::BinaryTOC(wxTreeCtrl *toBuild) { if(!toBuild) return false; chmUnitInfo ti_ui, ts_ui, st_ui, ut_ui, us_ui; if(::chm_resolve_object(_chmFile, "/#TOCIDX", &ti_ui ) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#TOPICS", &ts_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#STRINGS", &st_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLTBL", &ut_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLSTR", &us_ui) != CHM_RESOLVE_SUCCESS) return false; // failed to find internal files if(ti_ui.length < 4) // just make sure return false; UCharPtr topidx(new unsigned char[ti_ui.length], ti_ui.length); UCharPtr topics(new unsigned char[ts_ui.length], ts_ui.length); UCharPtr strings(new unsigned char[st_ui.length], st_ui.length); UCharPtr urltbl(new unsigned char[ut_ui.length], ut_ui.length); UCharPtr urlstr(new unsigned char[us_ui.length], us_ui.length); if(::chm_retrieve_object(_chmFile, &ti_ui, topidx.get(), 0, ti_ui.length) != (int64_t)ti_ui.length) return false; if(::chm_retrieve_object(_chmFile, &ts_ui, topics.get(), 0, ts_ui.length) != (int64_t)ts_ui.length) return false; if(::chm_retrieve_object(_chmFile, &st_ui, strings.get(), 0, st_ui.length) != (int64_t)st_ui.length) return false; if(::chm_retrieve_object(_chmFile, &ut_ui, urltbl.get(), 0, ut_ui.length) != (int64_t)ut_ui.length) return false; if(::chm_retrieve_object(_chmFile, &us_ui, urlstr.get(), 0, us_ui.length) != (int64_t)us_ui.length) return false; uint32_t off = UINT32ARRAY(topidx.get()); RecurseLoadBTOC(topidx, topics, strings, urltbl, urlstr, off, toBuild, 1); return true; } void CHMFile::RecurseLoadBTOC(UCharPtr& topidx, UCharPtr& topics, UCharPtr& strings, UCharPtr& urltbl, UCharPtr& urlstr, uint32_t offset, wxTreeCtrl *toBuild, int level) { while(offset) { if(topidx.size() < offset + 20) return; uint32_t flags = UINT32ARRAY(topidx.get() + offset + 4); uint32_t index = UINT32ARRAY(topidx.get() + offset + 8); if((flags & 0x4) || (flags & 0x8)) { // book or local if(!GetItem(topics, strings, urltbl, urlstr, index, toBuild, NULL, wxEmptyString, level, (flags & 0x8) == 0)) return; } if(flags & 0x4) { // book if(topidx.size() < offset + 24) return; uint32_t child = UINT32ARRAY(topidx.get() + offset + 20); if(child) { RecurseLoadBTOC(topidx, topics, strings, urltbl, urlstr, child, toBuild, level + 1); } } offset = UINT32ARRAY(topidx.get() + offset + 0x10); } } bool CHMFile::GetItem(UCharPtr& topics, UCharPtr& strings, UCharPtr& urltbl, UCharPtr& urlstr, uint32_t index, wxTreeCtrl *tree, CHMListCtrl* list, const wxString& idxName, int level, bool local) { static wxTreeItemId parents[TREE_BUF_SIZE]; static int calls = 0; static const int yieldTime = 256; ++calls; if(calls % yieldTime) { calls = 0; wxYield(); } if(tree) parents[0] = tree->GetRootItem(); std::string name, value; if(local) { if(strings.size() < index + 1) return false; name = (char *)(strings.get() + index); } else { if(topics.size() < (index * 16) + 12) return false; uint32_t offset = UINT32ARRAY(topics.get()+ (index * 16) + 4); int32_t test = (int32_t)offset; if(strings.size() < offset + 1) return false; if(test == -1) return false; if(!list) name = (char *)(strings.get() + offset); // #URLTBL index offset = UINT32ARRAY(topics.get() + (index * 16) + 8); if(urltbl.size() < offset + 12) return false; offset = UINT32ARRAY(urltbl.get() + offset + 8); if(urlstr.size() < offset) return false; value = (char *)(urlstr.get() + offset + 8); } if(!value.empty() && value[0] != '/') value = std::string("/") + value; wxString tname; wxString tvalue = CURRENT_CHAR_STRING(value.c_str()); if(tree && !name.empty()) { int parentIndex = level ? level - 1 : 0; tname = translateEncoding(CURRENT_CHAR_STRING(name.c_str()), _enc); parents[level] = tree->AppendItem(parents[parentIndex], tname, 2, 2, new URLTreeItem(tvalue)); if(level) { if(tree->GetItemImage(parents[parentIndex]) != 0) { tree->SetItemImage(parents[parentIndex], 0, wxTreeItemIcon_Normal); tree->SetItemImage(parents[parentIndex], 0, wxTreeItemIcon_Selected); tree->SetItemImage(parents[parentIndex], 1, wxTreeItemIcon_Expanded); } } } if(list) { tname = idxName; if(!value.empty()) { if(tname.IsEmpty()) tname = EMPTY_INDEX; } list->AddPairItem(tname, tvalue); } return true; } bool CHMFile::GetTopicsTree(wxTreeCtrl *toBuild) { chmUnitInfo ui; char buffer[BUF_SIZE]; size_t ret = BUF_SIZE - 1, curr = 0; if(!toBuild) return false; toBuild->Freeze(); bool btoc = BinaryTOC(toBuild); toBuild->Thaw(); if(btoc) return true; // Fall back to parsing the HTML TOC file, if that's in the archive if(_topicsFile.IsEmpty() || !ResolveObject(_topicsFile, &ui)) return false; toBuild->Freeze(); buffer[0] = '\0'; HHCParser p(_enc, toBuild, NULL); do { ret = RetrieveObject(&ui, reinterpret_cast( buffer), curr, BUF_SIZE - 1); buffer[ret] = '\0'; p.parse(buffer); curr += ret; } while(ret == BUF_SIZE - 1); toBuild->Thaw(); return true; } bool CHMFile::ConvertFromUnicode(std::string& value, unsigned char* buffer, size_t bufferLength) { size_t offset = 0; uint16_t elem = 1; value = ""; while(bufferLength >= offset + sizeof(elem)) { elem = UINT16ARRAY(buffer + offset); if(elem != 0) { value += *((char *)(buffer + offset)); } else { return true; } offset += sizeof(elem); } return false; } // This function is too long: prime candidate for refactoring someday bool CHMFile::BinaryIndex(CHMListCtrl* toBuild, const wxCSConv& cv) { if(!toBuild) return false; chmUnitInfo bt_ui, ts_ui, st_ui, ut_ui, us_ui; unsigned long items = 0; if(::chm_resolve_object(_chmFile, "/$WWKeywordLinks/BTree", &bt_ui ) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#TOPICS", &ts_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#STRINGS", &st_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLTBL", &ut_ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLSTR", &us_ui) != CHM_RESOLVE_SUCCESS) return false; // failed to find internal files UCharPtr btree(new unsigned char[bt_ui.length], bt_ui.length); UCharPtr topics(new unsigned char[ts_ui.length], ts_ui.length); UCharPtr strings(new unsigned char[st_ui.length], st_ui.length); UCharPtr urltbl(new unsigned char[ut_ui.length], ut_ui.length); UCharPtr urlstr(new unsigned char[us_ui.length], us_ui.length); if(::chm_retrieve_object(_chmFile, &bt_ui, btree.get(), 0, bt_ui.length) != (int64_t)bt_ui.length) return false; if(::chm_retrieve_object(_chmFile, &ts_ui, topics.get(), 0, ts_ui.length) != (int64_t)ts_ui.length) return false; if(::chm_retrieve_object(_chmFile, &st_ui, strings.get(), 0, st_ui.length) != (int64_t)st_ui.length) return false; if(::chm_retrieve_object(_chmFile, &ut_ui, urltbl.get(), 0, ut_ui.length) != (int64_t)ut_ui.length) return false; if(::chm_retrieve_object(_chmFile, &us_ui, urlstr.get(), 0, us_ui.length) != (int64_t)us_ui.length) return false; if(bt_ui.length < 0x4c + 12) return false; unsigned long offset = 0x4c; int32_t next = -1; int16_t freeSpace, spaceLeft; const short blockSize = 2048; do { if(bt_ui.length < offset + 12) return (items != 0); // end of buffer freeSpace = UINT16ARRAY(btree.get() + offset); next = INT32ARRAY(btree.get() + offset + 8); spaceLeft = blockSize - 12; offset += 12; while(spaceLeft > freeSpace) { uint16_t tmp = 0; wxString name; do { // accumulate the index name if(bt_ui.length < offset + sizeof(uint16_t)) return items != 0; tmp = UINT16ARRAY(btree.get() + offset); offset += sizeof(uint16_t); spaceLeft -= sizeof(uint16_t); name.Append(charForCode(tmp, cv, true)); } while(tmp != 0); if(bt_ui.length < offset + 16) return (items != 0); uint16_t seeAlso = UINT16ARRAY(btree.get() + offset); uint32_t numTopics = UINT32ARRAY(btree.get() + offset + 0xc); offset += 16; spaceLeft -= 16; if(seeAlso) { // TODO: something about this duplicated code do { // get over the Unicode string if(bt_ui.length < offset + sizeof(uint16_t)) return items != 0; tmp = UINT16ARRAY(btree.get() + offset); offset += sizeof(uint16_t); spaceLeft -= sizeof(uint16_t); } while(tmp != 0); } else { for(uint32_t i = 0; i < numTopics && spaceLeft > freeSpace; ++i) { if(bt_ui.length < offset + sizeof(uint32_t)) return (items != 0); uint32_t index = UINT32ARRAY(btree.get() + offset); GetItem(topics, strings, urltbl, urlstr, index, NULL, toBuild, name, 0, false); ++items; offset += sizeof(uint32_t); spaceLeft -= sizeof(uint32_t); } } if(bt_ui.length < offset + 8) return (items != 0); offset += 8; spaceLeft -= 8; } offset += spaceLeft; } while(next != -1); return (items != 0); } bool CHMFile::GetIndex(CHMListCtrl* toBuild) { chmUnitInfo ui; char buffer[BUF_SIZE]; size_t ret = BUF_SIZE - 1, curr = 0; if(!toBuild) return false; std::auto_ptr cvPtr; createCSConvPtr(cvPtr, _enc); toBuild->Freeze(); bool bindex = BinaryIndex(toBuild, *cvPtr); toBuild->Thaw(); if(bindex) return true; if(_indexFile.IsEmpty() || !ResolveObject(_indexFile, &ui)) return false; toBuild->Freeze(); buffer[0] = '\0'; HHCParser p(_enc, NULL, toBuild); do { ret = RetrieveObject(&ui, reinterpret_cast( buffer), curr, BUF_SIZE - 1); buffer[ret] = '\0'; p.parse(buffer); curr += ret; } while(ret == BUF_SIZE - 1); toBuild->Thaw(); return true; } bool CHMFile::LoadContextIDs() { chmUnitInfo ivb_ui, strs_ui; _cidMap.clear(); // make sure what we need is there. // #IVB has list of context ID's and #STRINGS offsets to file names. if( chm_resolve_object(_chmFile, "/#IVB", &ivb_ui ) != CHM_RESOLVE_SUCCESS || chm_resolve_object(_chmFile, "/#STRINGS", &strs_ui) != CHM_RESOLVE_SUCCESS ) return false; // failed to find internal files UCharPtr ivb_buf(new unsigned char[ivb_ui.length]); uint64_t ivb_len = 0; if((ivb_len = chm_retrieve_object(_chmFile, &ivb_ui, ivb_buf.get(), 0, ivb_ui.length)) == 0 ) return false; // failed to retrieve data // always odd (DWORD + 2(n)*DWORD, so make even ivb_len = ivb_len/sizeof(uint32_t) - 1; if( ivb_len % 2 != 0 ) return false; // we retrieved unexpected data from the file. uint32_t *ivbs = new uint32_t[ivb_len]; int j = 4; // offset to exclude first DWORD // convert our DWORDs to numbers for( unsigned int i = 0; i < ivb_len; i++ ) { ivbs[i] = UINT32ARRAY(ivb_buf.get() + j); j+=4; // step to the next DWORD } UCharPtr strs_buf(new unsigned char[strs_ui.length]); uint64_t strs_len = 0; if( (strs_len = chm_retrieve_object(_chmFile, &strs_ui, strs_buf.get(), 0, strs_ui.length)) == 0 ) { delete[] ivbs; return false; // failed to retrieve data } for( unsigned int i = 0; i < ivb_len; i+=2 ) { // context-IDs as KEY, fileName from #STRINGS as VALUE _cidMap[ivbs[i]] = CURRENT_CHAR_STRING( strs_buf.get() + ivbs[i+1]); } delete[] ivbs; // everything went well! return true; } bool CHMFile::IsValidCID( const int contextID ) { if(_cidMap.empty()) return FALSE; CHMIDMap::iterator itr = _cidMap.find( contextID ); if( itr == _cidMap.end() ) return FALSE; return TRUE; } wxString CHMFile::GetPageByCID( const int contextID ) { if(_cidMap.empty()) return wxT("/"); CHMIDMap::iterator itr = _cidMap.find( contextID ); // make sure the key/value pair is valid if(itr == _cidMap.end() ) return wxT("/"); return wxString(wxT("/")) + itr->second; } bool CHMFile::IndexSearch(const wxString& text, bool wholeWords, bool titlesOnly, CHMSearchResults *results) { bool partial = false; if(text.IsEmpty()) return false; chmUnitInfo ui, uitopics, uiurltbl, uistrings, uiurlstr; if(::chm_resolve_object(_chmFile, "/$FIftiMain", &ui) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#TOPICS", &uitopics) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#STRINGS", &uistrings) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLTBL", &uiurltbl) != CHM_RESOLVE_SUCCESS || ::chm_resolve_object(_chmFile, "/#URLSTR", &uiurlstr) != CHM_RESOLVE_SUCCESS) return false; #define FTS_HEADER_LEN 0x32 unsigned char header[FTS_HEADER_LEN]; if(::chm_retrieve_object(_chmFile, &ui, header, 0, FTS_HEADER_LEN) == 0) return false; unsigned char doc_index_s = header[0x1E], doc_index_r = header[0x1F]; unsigned char code_count_s = header[0x20], code_count_r = header[0x21]; unsigned char loc_codes_s = header[0x22], loc_codes_r = header[0x23]; if(doc_index_s != 2 || code_count_s != 2 || loc_codes_s != 2) { // Don't know how to use values other than 2 yet. Maybe // next chmspec. return false; } unsigned char* cursor32 = header + 0x14; uint32_t node_offset = UINT32ARRAY(cursor32); cursor32 = header + 0x2e; uint32_t node_len = UINT32ARRAY(cursor32); unsigned char* cursor16 = header + 0x18; uint16_t tree_depth = UINT16ARRAY(cursor16); unsigned char word_len, pos; wxString word; uint32_t i = sizeof(uint16_t); uint16_t free_space; UCharPtr buffer(new unsigned char[node_len]); node_offset = GetLeafNodeOffset(text, node_offset, node_len, tree_depth, &ui); if(!node_offset) return false; do { // got a leaf node here. if(::chm_retrieve_object(_chmFile, &ui, buffer.get(), node_offset, node_len) == 0) return false; cursor16 = buffer.get() + 6; free_space = UINT16ARRAY(cursor16); i = sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t); uint64_t wlc_count, wlc_size; uint32_t wlc_offset; while(i < node_len - free_space) { word_len = *(buffer.get() + i); pos = *(buffer.get() + i + 1); char *wrd_buf = new char[word_len]; memcpy(wrd_buf, buffer.get() + i + 2, word_len - 1); wrd_buf[word_len - 1] = 0; if(pos == 0) word = CURRENT_CHAR_STRING(wrd_buf); else word = word.Mid(0, pos) + CURRENT_CHAR_STRING(wrd_buf); delete[] wrd_buf; i += 2 + word_len; unsigned char title = *(buffer.get() + i - 1); size_t encsz; wlc_count = be_encint(buffer.get() + i, encsz); i += encsz; cursor32 = buffer.get() + i; wlc_offset = UINT32ARRAY(cursor32); i += sizeof(uint32_t) + sizeof(uint16_t); wlc_size = be_encint(buffer.get() + i, encsz); i += encsz; cursor32 = buffer.get(); node_offset = UINT32ARRAY(cursor32); if(!title && titlesOnly) continue; if(wholeWords && !text.CmpNoCase(word)) return ProcessWLC(wlc_count, wlc_size, wlc_offset, doc_index_s, doc_index_r,code_count_s, code_count_r, loc_codes_s, loc_codes_r, &ui, &uiurltbl, &uistrings, &uitopics, &uiurlstr, results); if(!wholeWords) { if(word.StartsWith(text.c_str())) { partial = true; ProcessWLC(wlc_count, wlc_size, wlc_offset, doc_index_s, doc_index_r,code_count_s, code_count_r, loc_codes_s, loc_codes_r, &ui, &uiurltbl, &uistrings, &uitopics, &uiurlstr, results); } else if(text.CmpNoCase( // Mid() might be buggy. word.Mid(0, text.Length())) < -1) break; } if(results->size() >= MAX_SEARCH_RESULTS) break; } } while(!wholeWords && word.StartsWith(text.c_str()) && node_offset); return partial; } bool CHMFile::ResolveObject(const wxString& fileName, chmUnitInfo *ui) { return _chmFile != NULL && ::chm_resolve_object(_chmFile, static_cast( fileName.mb_str()), ui) == CHM_RESOLVE_SUCCESS; } size_t CHMFile::RetrieveObject(chmUnitInfo *ui, unsigned char *buffer, off_t fileOffset, size_t bufferSize) { return ::chm_retrieve_object(_chmFile, ui, buffer, fileOffset, bufferSize); } bool CHMFile::GetArchiveInfo() { // Order counts, parse #SYSTEM before #WINDOWS // (thanks to Kuang-che Wu for pointing that out) bool rets = InfoFromSystem(); bool retw = InfoFromWindows(); return (retw || rets); } uint32_t CHMFile::GetLeafNodeOffset(const wxString& text, uint32_t initialOffset, uint32_t buffSize, uint16_t treeDepth, chmUnitInfo *ui) { uint32_t test_offset = 0; unsigned char* cursor16; unsigned char* cursor32; unsigned char word_len, pos; uint32_t i = sizeof(uint16_t); UCharPtr buffer(new unsigned char[buffSize]); wxString word; if(!buffer.get()) return 0; while(--treeDepth) { if(initialOffset == test_offset) return 0; test_offset = initialOffset; if(::chm_retrieve_object(_chmFile, ui, buffer.get(), initialOffset, buffSize) == 0) return 0; cursor16 = buffer.get(); uint16_t free_space = UINT16ARRAY(cursor16); while(i < buffSize - free_space) { word_len = *(buffer.get() + i); pos = *(buffer.get() + i + 1); char *wrd_buf = new char[word_len]; memcpy(wrd_buf, buffer.get() + i + 2, word_len - 1); wrd_buf[word_len - 1] = 0; if(pos == 0) word = CURRENT_CHAR_STRING(wrd_buf); else word = word.Mid(0, pos) + CURRENT_CHAR_STRING(wrd_buf); delete[] wrd_buf; if(text.CmpNoCase(word) <= 0) { cursor32 = buffer.get() + i + word_len + 1; initialOffset = UINT32ARRAY(cursor32); break; } i += word_len + sizeof(unsigned char) + + sizeof(uint32_t) + sizeof(uint16_t); } } if(initialOffset == test_offset) return 0; return initialOffset; } bool CHMFile::ProcessWLC(uint64_t wlc_count, uint64_t wlc_size, uint32_t wlc_offset, unsigned char ds, unsigned char dr, unsigned char cs, unsigned char cr, unsigned char ls, unsigned char lr, chmUnitInfo *uimain, chmUnitInfo* uitbl, chmUnitInfo *uistrings, chmUnitInfo* topics, chmUnitInfo *urlstr, CHMSearchResults *results) { int wlc_bit = 7; uint64_t index = 0, count; size_t length, off = 0; UCharPtr buffer(new unsigned char[wlc_size]); unsigned char *cursor32; uint32_t stroff, urloff; #define TOPICS_ENTRY_LEN 16 unsigned char entry[TOPICS_ENTRY_LEN]; #define COMMON_BUF_LEN 1025 unsigned char combuf[COMMON_BUF_LEN]; if(::chm_retrieve_object(_chmFile, uimain, buffer.get(), wlc_offset, wlc_size) == 0) return false; for(uint64_t i = 0; i < wlc_count; ++i) { if(wlc_bit != 7) { ++off; wlc_bit = 7; } index += sr_int(buffer.get() + off, &wlc_bit, ds, dr, length); off += length; if(::chm_retrieve_object(_chmFile, topics, entry, index * 16, TOPICS_ENTRY_LEN) == 0) return false; cursor32 = entry + 4; combuf[COMMON_BUF_LEN - 1] = 0; stroff = UINT32ARRAY(cursor32); wxString topic; if(::chm_retrieve_object(_chmFile, uistrings, combuf, stroff, COMMON_BUF_LEN - 1) == 0) { topic = EMPTY_INDEX; } else { combuf[COMMON_BUF_LEN - 1] = 0; #if wxUSE_UNICODE if(_enc == wxFONTENCODING_SYSTEM) #endif topic = CURRENT_CHAR_STRING(combuf); #if wxUSE_UNICODE else { std::auto_ptr cvPtr; createCSConvPtr(cvPtr, _enc); topic = wxString((const char *)combuf, *cvPtr); } #endif } cursor32 = entry + 8; urloff = UINT32ARRAY(cursor32); if(::chm_retrieve_object(_chmFile, uitbl, combuf, urloff, 12) == 0) return false; cursor32 = combuf + 8; urloff = UINT32ARRAY(cursor32); if(::chm_retrieve_object(_chmFile, urlstr, combuf, urloff + 8, COMMON_BUF_LEN - 1) == 0) return false; combuf[COMMON_BUF_LEN - 1] = 0; wxString url = CURRENT_CHAR_STRING(combuf); if(!url.IsEmpty() && !topic.IsEmpty()) { if(results->size() >= MAX_SEARCH_RESULTS) return true; (*results)[url] = topic; } count = sr_int(buffer.get() + off, &wlc_bit, cs, cr, length); off += length; for(uint64_t j = 0; j < count; ++j) { sr_int(buffer.get() + off, &wlc_bit, ls, lr, length); off += length; } } return true; } bool CHMFile::InfoFromWindows() { #define WIN_HEADER_LEN 0x08 unsigned char buffer[BUF_SIZE]; unsigned int factor; chmUnitInfo ui; long size = 0; if(::chm_resolve_object(_chmFile, "/#WINDOWS", &ui) == CHM_RESOLVE_SUCCESS) { if(!::chm_retrieve_object(_chmFile, &ui, buffer, 0, WIN_HEADER_LEN)) return false; uint32_t entries = UINT32ARRAY(buffer); uint32_t entry_size = UINT32ARRAY(buffer + 0x04); UCharPtr uptr(new unsigned char[entries * entry_size]); unsigned char* raw = uptr.get(); if(!::chm_retrieve_object(_chmFile, &ui, raw, 8, entries * entry_size)) return false; if(::chm_resolve_object(_chmFile, "/#STRINGS", &ui) != CHM_RESOLVE_SUCCESS) return false; for(uint32_t i = 0; i < entries; ++i) { uint32_t offset = i * entry_size; uint32_t off_title = UINT32ARRAY(raw + offset + 0x14); uint32_t off_home = UINT32ARRAY(raw + offset + 0x68); uint32_t off_hhc = UINT32ARRAY(raw + offset + 0x60); uint32_t off_hhk = UINT32ARRAY(raw + offset + 0x64); factor = off_title / 4096; if(size == 0) size = ::chm_retrieve_object(_chmFile, &ui, buffer, factor * 4096, BUF_SIZE); if(size && off_title) _title = CURRENT_CHAR_STRING(buffer + off_title % 4096); if(factor != off_home / 4096) { factor = off_home / 4096; size = ::chm_retrieve_object(_chmFile, &ui, buffer, factor * 4096, BUF_SIZE); } if(size && off_home) _home = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + off_home % 4096); if(factor != off_hhc / 4096) { factor = off_hhc / 4096; size = ::chm_retrieve_object(_chmFile, &ui, buffer, factor * 4096, BUF_SIZE); } if(size && off_hhc) { _topicsFile = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + off_hhc % 4096); } if(factor != off_hhk / 4096) { factor = off_hhk / 4096; size = ::chm_retrieve_object(_chmFile, &ui, buffer, factor * 4096, BUF_SIZE); } if(size && off_hhk) _indexFile = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + off_hhk % 4096); } } return true; } bool CHMFile::InfoFromSystem() { unsigned char buffer[BUF_SIZE]; chmUnitInfo ui; int index = 0; unsigned char* cursor = NULL; uint16_t value = 0; uint32_t lcid = 0; long size = 0; long cs = -1; // Do we have the #SYSTEM file in the archive? if(::chm_resolve_object(_chmFile, "/#SYSTEM", &ui) != CHM_RESOLVE_SUCCESS) return false; // Can we pull BUFF_SIZE bytes of the #SYSTEM file? if((size = ::chm_retrieve_object(_chmFile, &ui, buffer, 4, BUF_SIZE)) == 0) return false; buffer[size - 1] = 0; for(;;) { // This condition won't hold if I process anything // except NUL-terminated strings! if(index > size - 1 - (long)sizeof(uint16_t)) break; cursor = buffer + index; value = UINT16ARRAY(cursor); switch(value) { case 0: index += 2; cursor = buffer + index; if(_topicsFile.IsEmpty()) _topicsFile = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + index + 2); break; case 1: index += 2; cursor = buffer + index; if(_indexFile.IsEmpty()) _indexFile = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + index + 2); break; case 2: index += 2; cursor = buffer + index; if(_home.IsEmpty() || _home == wxString(wxT("/"))) _home = wxString(wxT("/")) + CURRENT_CHAR_STRING(buffer + index + 2); break; case 3: index += 2; cursor = buffer + index; if(_title.IsEmpty()) _title = CURRENT_CHAR_STRING(buffer + index + 2); break; case 4: // LCID stuff index += 2; cursor = buffer + index; lcid = UINT32ARRAY(buffer + index + 2); _enc = GetFontEncFromLCID(lcid); break; case 6: index += 2; cursor = buffer + index; if(_topicsFile.IsEmpty()) { wxString topicAttempt = wxT("/"), tmp; topicAttempt += CURRENT_CHAR_STRING(buffer +index +2); tmp = topicAttempt + wxT(".hhc"); if(chm_resolve_object(_chmFile, tmp.mb_str(), &ui) == CHM_RESOLVE_SUCCESS) _topicsFile = tmp; tmp = topicAttempt + wxT(".hhk"); if(chm_resolve_object(_chmFile, tmp.mb_str(), &ui) == CHM_RESOLVE_SUCCESS) _indexFile = tmp; } break; case 16: index += 2; cursor = buffer + index; _font = CURRENT_CHAR_STRING(buffer + index + 2); _font.AfterLast(wxT(',')).ToLong(&cs); if(_enc != wxFONTENCODING_SYSTEM) break; _enc = GetFontEncFromCharSet(cs); break; default: index += 2; cursor = buffer + index; } value = UINT16ARRAY(cursor); index += value + 2; } return true; } inline wxFontEncoding CHMFile::GetFontEncFromCharSet(int cs) { wxFontEncoding fontEncoding; switch(cs) { case ANSI_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_1; break; case EASTEUROPE_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_2; break; case BALTIC_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_13; break; case RUSSIAN_CHARSET: fontEncoding = wxFONTENCODING_CP1251; break; case ARABIC_CHARSET: fontEncoding = wxFONTENCODING_CP1256; break; case GREEK_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_7; break; case HEBREW_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_8; break; case TURKISH_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_9; break; case THAI_CHARSET: fontEncoding = wxFONTENCODING_ISO8859_11; break; case SHIFTJIS_CHARSET: fontEncoding = wxFONTENCODING_CP932; break; case GB2312_CHARSET: fontEncoding = wxFONTENCODING_CP936; break; case HANGUL_CHARSET: fontEncoding = wxFONTENCODING_CP949; break; case CHINESEBIG5_CHARSET: fontEncoding = wxFONTENCODING_CP950; break; case OEM_CHARSET: fontEncoding = wxFONTENCODING_CP437; break; default: // assume the system charset fontEncoding = wxFONTENCODING_SYSTEM; break; } return fontEncoding; } inline wxFontEncoding CHMFile::GetFontEncFromLCID(uint32_t lcid) { wxFontEncoding fontEncoding; uint32_t lid = lcid & 0xff; switch(lid) { case LANG_ARABIC: case LANG_FARSI: case LANG_URDU: fontEncoding = wxFONTENCODING_CP1256; //fontEncoding = wxFONTENCODING_UTF8; break; case LANG_AZERI: case LANG_BELARUSIAN: case LANG_BULGARIAN: case LANG_KAZAK: case LANG_KYRGYZ: case LANG_MONGOLIAN: case LANG_TATAR: case LANG_RUSSIAN: case LANG_UKRAINIAN: case LANG_UZBEK: fontEncoding = wxFONTENCODING_CP1251; break; case LANG_AFRIKAANS: case LANG_BASQUE: case LANG_CATALAN: case LANG_DANISH: case LANG_DUTCH: case LANG_ENGLISH: case LANG_FINNISH: case LANG_FRENCH: case LANG_GALICIAN: case LANG_GERMAN: case LANG_ICELANDIC: case LANG_INDONESIAN: case LANG_ITALIAN: case LANG_MALAY: case LANG_NORWEGIAN: case LANG_PORTUGUESE: case LANG_SPANISH: case LANG_SWAHILI: case LANG_SWEDISH: fontEncoding = wxFONTENCODING_CP1252; break; case LANG_GREEK: fontEncoding = wxFONTENCODING_CP1253; break; case LANG_HEBREW: fontEncoding = wxFONTENCODING_CP1255; break; case LANG_THAI: fontEncoding = wxFONTENCODING_CP874; break; case LANG_TURKISH: fontEncoding = wxFONTENCODING_CP1254; break; case LANG_CHINESE: if(lcid == 0x0804) // Chinese simplified fontEncoding = wxFONTENCODING_CP936; else // Chinese traditional fontEncoding = wxFONTENCODING_CP950; break; case LANG_KOREAN: fontEncoding = wxFONTENCODING_CP949; break; case LANG_JAPANESE: fontEncoding = wxFONTENCODING_CP932; break; case LANG_ALBANIAN: case LANG_CROATIAN: case LANG_CZECH: case LANG_HUNGARIAN: case LANG_POLISH: case LANG_ROMANIAN: case LANG_SLOVAK: case LANG_SLOVENIAN: fontEncoding = wxFONTENCODING_CP1250; break; case LANG_NEUTRAL: default: fontEncoding = wxFONTENCODING_SYSTEM; break; } return fontEncoding; } /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfile.h0000644000175000001440000002367512210054137011672 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMFILE_H_ #define __CHMFILE_H_ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include // Forward declarations. class wxTreeCtrl; class CHMListCtrl; class UCharPtr; class wxCSConv; //! Declares a class called CHMSearchResults - hashmap. WX_DECLARE_STRING_HASH_MAP(wxString, CHMSearchResults); //! Declares a class called CHMIDMap - < int, string> hashmap. WX_DECLARE_HASH_MAP( int, wxString, wxIntegerHash, wxIntegerEqual, CHMIDMap ); //! Maximum allowed number of search-returned items. #define MAX_SEARCH_RESULTS 512 //! Mostly a C++ wrapper around the CHMLIB facilities. Concrete class. class CHMFile { public: //! Default constructor. CHMFile(); /*! \brief This constructor attempts to open the .chm file passed as it's argument. If it fails, IsOk() will return false. \param archiveName The .chm filename on disk. */ CHMFile(const wxString& archiveName); //! Destructor. If a file has been succesfully opened, it closes it. ~CHMFile(); /*! \brief Gets the name of the default page in the archive. \return The home page name, with a '/' added in front and relative to the root of the archive filesystem. If no .chm has been opened, the returned value is "/". */ wxString HomePage() const { return _home; } /*! \brief Gets name of the .hhc file in the archive that could potentially be used to generate content information from. \return The topics file name, with a '/' added in front and relative to the root of the archive filesystem. If no .chm has been opened, the return value is an empty string. */ wxString TopicsFile() const { return _topicsFile; } /*! \brief Gets the filename of the currently opened .chm file. \return The filename of the currently opened archive, relative to the root of the filesystem, or the empty string if no archive has been opened. */ wxString ArchiveName() const { return _filename; } /*! \brief Gets name of the .hhk file in the archive that could potentially be used to generate content information from. \return The index file name, with a '/' added in front and relative to the root of the archive filesystem. If no .chm has been opened, the return value is an empty string. */ wxString IndexFile() const { return _indexFile; } /*! \brief Gets the name of the opened .chm. \return The name of the opened document, or an empty string if no .chm has been loaded. */ wxString Title() const { return _title; } /*! \brief Checks if the last attempt to load a .chm file was succesful. \return true, if the last attempt to load a .chm file was succesful, false otherwise. */ bool IsOk() const { return _chmFile != NULL; } //! Checks if a 'ms-its' link has been clicked and the chm changed. bool HasChanged(); /*! \brief Determines the encoding that the CHM creator would like me to use. To be used in combination with DefaultFont(). \return Desired encoding. */ wxFontEncoding DesiredEncoding() const { return _enc; } /*! \brief Determines the font to use for special charsets. \return Detected font recommendation. */ wxString DefaultFont() const { return _font; } /*! \brief Attempts to load a .chm file from disk. \param archiveName The .chm filename on disk. \return true on success, false on failure. */ bool LoadCHM(const wxString& archiveName); //! Closes the currently opened .chm, or does nothing if none opened. void CloseCHM(); /*! \brief Attempts to fill a wxTreeCtrl by parsing the topics file. \param toBuild Pointer to the tree to be filled. If the topics file is not available, the tree is unmodified. The tree must be empty before passing it to this function. \return true if it's possible to build the tree, false otherwise. */ bool GetTopicsTree(wxTreeCtrl *toBuild); /*! \brief Attempts to fill a CHMListCtrl by parsing the index file. \param toBuild Pointer to the list control to be filled. If the index file is not available, the list control is unmodified. The lost must be empty before passing it to this function. \return true if it's possible to build the tree, false otherwise. */ bool GetIndex(CHMListCtrl* toBuild); /*! \brief Attempts to build an index of context-ID/page pairs from the file. \return true if it's possible to buld the tree, false otherwise. */ bool LoadContextIDs(); /*! \brief Checks whether or not the context ID is valid for the loaded file. \param contextID The context-ID to check. \return TRUE if the context ID is valid. FALSE otherwise. */ bool IsValidCID( const int contextID ); /*! \brief Looks up the page referred to by the context-ID \param contextID The context-ID to look up \return the page referred to by the context-ID, or file root"/" if ID is invalid. */ wxString GetPageByCID( const int contextID ); /*! \brief Have the context-IDs been loaded into memory or not. \return true if they have, false if not. */ bool AreContextIDsLoaded() const { return !_cidMap.empty(); } /*! \brief Fast search using the $FIftiMain file in the .chm. \param text The text we're looking for. \param wholeWords Are we looking for whole words only? \param titlesOnly Are we looking for titles only? \param results A string-string hashmap that will hold the results in case of successful search. The keys are the URLs and the values are the page titles. \return true if the search succeeded, false otherwise. */ bool IndexSearch(const wxString& text, bool wholeWords, bool titlesOnly, CHMSearchResults *results); /*! \brief Looks up fileName in the archive. \param fileName The file name to look up in the archive, qualified with '/' standing for the root of the archive filesystem. \param ui A pointer to CHMLIB specific data about the file. The parameter gets filled with useful data if the lookup was succesful. \return true if the file exists in the archive, false otherwise. */ bool ResolveObject(const wxString& fileName, chmUnitInfo *ui); /*! \brief Retrieves an uncompressed chunk of a file in the .chm. \param ui Pointer to a CHMLIB specific data structure obtained from a succesful call to ResolveObject(). \param buffer The buffer to place the chunk into. \param fileOffset Where does the chunk we want begin in the file? \param bufferSize The size of the buffer. \return 0 on error, length of chunk retrieved otherwise. */ size_t RetrieveObject(chmUnitInfo *ui, unsigned char *buffer, off_t fileOffset, size_t bufferSize); private: //! Helper. Translates from Win32 encodings to generic wxWidgets ones. wxFontEncoding GetFontEncFromCharSet(int cs); //! Helper. Translates from MS-specific LCID. wxFontEncoding GetFontEncFromLCID(uint32_t lcid); //! Helper. Initializes most of the private data members. bool GetArchiveInfo(); //! Helper. Returns the $FIftiMain offset of leaf node or 0. uint32_t GetLeafNodeOffset(const wxString& text, uint32_t initalOffset, uint32_t buffSize, uint16_t treeDepth, chmUnitInfo *ui); //! Helper. Processes the word location code entries while searching. bool ProcessWLC(uint64_t wlc_count, uint64_t wlc_size, uint32_t wlc_offset, unsigned char ds, unsigned char dr, unsigned char cs, unsigned char cr, unsigned char ls, unsigned char lr, chmUnitInfo *uifmain, chmUnitInfo* uitbl, chmUnitInfo *uistrings, chmUnitInfo* topics, chmUnitInfo *urlstr, CHMSearchResults *results); //! Looks up as much information as possible from #WINDOWS/#STRINGS. bool InfoFromWindows(); //! Looks up as much information as possible from #SYSTEM. bool InfoFromSystem(); //! Load binary TOC (if available) bool BinaryTOC(wxTreeCtrl *toBuild); //! Try to recursively load the binary topics tree void RecurseLoadBTOC(UCharPtr& topidx, UCharPtr& topics, UCharPtr& strings, UCharPtr& urltbl, UCharPtr& urlstr, uint32_t offset, wxTreeCtrl *toBuild, int level); //! Retrieve the data (name/URL) for a single entry (TOC or index) bool GetItem(UCharPtr& topics, UCharPtr& strings, UCharPtr& urltbl, UCharPtr& urlstr, uint32_t index, wxTreeCtrl* tree, CHMListCtrl* list, const wxString& idxName, int level, bool local); //! Get the binary index (if available) bool BinaryIndex(CHMListCtrl* toBuild, const wxCSConv& cv); //! Get a regular string from a generic buffer of length bufferLength bool ConvertFromUnicode(std::string& value, unsigned char* buffer, size_t bufferLength); private: chmFile* _chmFile; wxString _filename; wxString _home; wxString _topicsFile; wxString _indexFile; wxString _title; wxString _font; wxFontEncoding _enc; CHMIDMap _cidMap; private: //! No copy construction allowed. CHMFile(const CHMFile&); //! No assignments. CHMFile& operator=(const CHMFile&); }; #endif // __CHMFILE_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfinddialog.cpp0000644000175000001440000000665312210054152013400 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include #include #include #include #include #include CHMFindDialog::CHMFindDialog(wxWindow *parent, CHMHtmlWindow *toSearch) : wxDialog(parent, -1, wxString(_("Find in page.."))), _html(toSearch), _cell(NULL) { wxSizer *sizer = new wxBoxSizer(wxVERTICAL); _text = new wxTextCtrl(this, ID_TextFind, wxEmptyString, wxDefaultPosition, wxSize(200, -1), wxTE_PROCESS_ENTER); _whole = new wxCheckBox(this, -1, _("Whole words only")); _case = new wxCheckBox(this, -1, _("Case sensitive")); sizer->Add(_text, 0, wxLEFT | wxTOP | wxBOTTOM, 5); sizer->Add(_whole, 0, wxLEFT, 5); sizer->Add(_case, 0, wxLEFT | wxBOTTOM, 5); wxSizer *szButtons = new wxBoxSizer(wxVERTICAL); wxButton *find = new wxButton(this, ID_FindNext, _("Find next")); szButtons->Add(find, 1, wxLEFT | wxRIGHT | wxTOP | wxEXPAND, 5); szButtons->Add(new wxButton(this, wxID_CANCEL, _("Cancel")), 1, wxLEFT | wxRIGHT | wxTOP | wxEXPAND, 5); wxSizer *topsizer = new wxBoxSizer(wxHORIZONTAL); topsizer->Add(sizer); topsizer->Add(szButtons); SetAutoLayout(TRUE); SetSizer(topsizer); topsizer->Fit(this); Centre(wxBOTH); SetFocusToTextBox(); } void CHMFindDialog::OnFind(wxCommandEvent& WXUNUSED(event)) { _html->ClearSelection(); wxString sr = _text->GetLineText(0); if (sr.IsEmpty()) return; wxStringTokenizer tkz(sr, wxT(" \t\r\n")); wxString word; while(word.IsEmpty()) if(tkz.HasMoreTokens()) word = tkz.GetNextToken(); if(!_case->IsChecked()) word.MakeLower(); if(!_cell || word.Cmp(_currWord.c_str())) { _cell = _html->FindFirst(_html->GetInternalRepresentation(), word, _whole->IsChecked(), _case->IsChecked()); _currWord = word; } else { if(_cell && _cell->GetNext()) _cell = _cell->GetNext(); else { while(_cell && !_cell->GetNext()) _cell = _cell->GetParent(); if(_cell) _cell = _cell->GetNext(); } if(!_cell) return; _cell = _html->FindNext(_cell, word, _whole->IsChecked(), _case->IsChecked()); // Wrap around. if(!_cell) { _cell = _html->FindFirst( _html->GetInternalRepresentation(), word, _whole->IsChecked(), _case->IsChecked()); } } } BEGIN_EVENT_TABLE(CHMFindDialog, wxDialog) EVT_TEXT_ENTER(ID_TextFind, CHMFindDialog::OnFind) EVT_BUTTON(ID_FindNext, CHMFindDialog::OnFind) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfinddialog.h0000644000175000001440000000370012210054152013033 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMFINDDIALOG_H #define __CHMFINDDIALOG_H #include #include #include // Forward declarations. class wxCheckBox; class CHMHtmlWindow; //! Event IDs. enum { ID_TextFind = 1408, ID_FindNext, }; //! Dialog for finding a word in the currently displayed page. class CHMFindDialog : public wxDialog { public: //! Initializes the dialog. CHMFindDialog(wxWindow *parent, CHMHtmlWindow *toSearch); //! Sets the focus to the textbox. void SetFocusToTextBox() { _text->SetFocusFromKbd(); } //! Resets the word to be found, so 'Find next' will start over. void Reset() { _cell = NULL; } protected: //! Called when the user clicks the 'Find next' button. void OnFind(wxCommandEvent& event); private: CHMHtmlWindow* _html; wxTextCtrl* _text; wxCheckBox* _whole; wxCheckBox* _case; wxString _currWord; wxHtmlCell *_cell; private: DECLARE_EVENT_TABLE(); }; #endif // __CHMFINDDIALOG_H /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfontdialog.cpp0000644000175000001440000001302312210054152013413 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include #include #include #include namespace { const wxChar* test_page = wxT("
Normal ") wxT("face
(and underlined. Italic face. Bold face.") wxT(" Bold italic face.
font size -2") wxT("
font size -1
font") wxT(" size +0
font size +1
font size +2
font size +3
") wxT("font size +4
Fixed") wxT(" size face.
bold italic bold italic ") wxT("underlined
font size -2
") wxT("font size -1
font size +0") wxT("
font size +1
") wxT("font size +2
font size +3
") wxT("font size +4
") wxT(""); } CHMFontDialog::CHMFontDialog(wxWindow *parent, wxArrayString *normalFonts, wxArrayString *fixedFonts, const wxString& normalFont, const wxString& fixedFont, const int fontSize) : wxDialog(parent, -1, wxString(_("Change fonts.."))), _test(NULL), _fontSizeControl(NULL), _normalFControl(NULL), _fixedFControl(NULL), _normalFont(normalFont), _fixedFont(fixedFont), _fontSize(fontSize) { wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); wxFlexGridSizer *sizer = new wxFlexGridSizer(2, 3, 2, 5); sizer->Add(new wxStaticText(this, -1, _("Normal font:"))); sizer->Add(new wxStaticText(this, -1, _("Fixed font:"))); sizer->Add(new wxStaticText(this, -1, _("Font size:"))); sizer->Add(_normalFControl = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0, NULL, wxCB_DROPDOWN | wxCB_READONLY)); sizer->Add(_fixedFControl = new wxComboBox(this, -1, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0, NULL, wxCB_DROPDOWN | wxCB_READONLY)); sizer->Add(_fontSizeControl = new wxSpinCtrl(this, -1)); _fontSizeControl->SetRange(2, 100); topsizer->Add(sizer, 0, wxLEFT|wxRIGHT|wxTOP, 10); topsizer->Add(new wxStaticText(this, -1, _("Preview:")), 0, wxLEFT | wxTOP, 10); topsizer->Add(_test = new wxHtmlWindow(this, -1, wxDefaultPosition, wxSize(20, 150), wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER), 1, wxEXPAND | wxLEFT|wxTOP|wxRIGHT, 10); wxBoxSizer *sizer2 = new wxBoxSizer(wxHORIZONTAL); wxButton *ok; sizer2->Add(ok = new wxButton(this, wxID_OK, _("OK")), 0, wxALL, 10); ok->SetDefault(); sizer2->Add(new wxButton(this, wxID_CANCEL, _("Cancel")), 0, wxALL, 10); topsizer->Add(sizer2, 0, wxALIGN_RIGHT); SetAutoLayout(TRUE); SetSizer(topsizer); topsizer->Fit(this); Centre(wxBOTH); InitDialog(normalFonts, fixedFonts); } void CHMFontDialog::UpdatePreview() { if(!_test) // this can happen with wxMSW return; wxBusyCursor bc; _normalFont = _normalFControl->GetStringSelection(); _fixedFont = _fixedFControl->GetStringSelection(); int size = _fontSizeControl->GetValue(); for(int i = -3; i <= 3; ++i) _sizes[i+3] = size + i * 2; _test->SetFonts(_normalFont, _fixedFont, _sizes); _test->SetPage(test_page); } void CHMFontDialog::OnUpdate(wxCommandEvent& WXUNUSED(event)) { UpdatePreview(); } void CHMFontDialog::OnUpdateSpin(wxSpinEvent& WXUNUSED(event)) { UpdatePreview(); } void CHMFontDialog::InitDialog(wxArrayString *normalFonts, wxArrayString *fixedFonts) { assert(normalFonts && fixedFonts); if(_normalFont.IsEmpty()) _normalFont = wxFont(_fontSize, wxSWISS, wxNORMAL, wxNORMAL, FALSE).GetFaceName(); if(_fixedFont.IsEmpty()) _fixedFont = wxFont(_fontSize, wxMODERN, wxNORMAL, wxNORMAL, FALSE).GetFaceName(); for (unsigned int i = 0; i < normalFonts->GetCount(); i++) _normalFControl->Append((*normalFonts)[i]); for (unsigned int i = 0; i < fixedFonts->GetCount(); i++) _fixedFControl->Append((*fixedFonts)[i]); if (!_normalFont.IsEmpty()) _normalFControl->SetStringSelection(_normalFont); else _normalFControl->SetSelection(0); if (!_fixedFont.IsEmpty()) _fixedFControl->SetStringSelection(_fixedFont); else _fixedFControl->SetSelection(0); _fontSizeControl->SetValue(_fontSize); UpdatePreview(); } BEGIN_EVENT_TABLE(CHMFontDialog, wxDialog) EVT_COMBOBOX(-1, CHMFontDialog::OnUpdate) EVT_SPINCTRL(-1, CHMFontDialog::OnUpdateSpin) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfontdialog.h0000644000175000001440000000572312210054152013070 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMFONTDIALOG_H #define __CHMFONTDIALOG_H #include #include #include #include /*! \class wxDialog \brief wxWidgets generic dialog class. */ //! Custom font chooser dialog class. class CHMFontDialog : public wxDialog { public: /*! \brief Constructs a CHMFontDialog. \param parent The parent window. \param normalFonts Array of strings denoting all the normal font faces' names available on the system. Managed by the caller. \param fixedFonts Array of strings denoting all the fixes fonts faces' names available on the system. Managed by the caller. \param normalFont The normal font currently in use by the caller. \param fixedFont The fixed font currently in use by the caller. \param fontSize The size of the font currently selected. */ CHMFontDialog(wxWindow *parent, wxArrayString *normalFonts, wxArrayString *fixedFonts, const wxString& normalFont, const wxString& fixedFont, const int fontSize); //! Returns the fixed font face name. const wxString& FixedFont() const { return _fixedFont; } //! Returns the normal font face name. const wxString& NormalFont() const { return _normalFont; } //! Return the selected font size. int* Sizes() { return _sizes; } protected: //! This is called when a font is selected from the combo box. void OnUpdate(wxCommandEvent& event); //! This is called when you click on the font size spin control. void OnUpdateSpin(wxSpinEvent& event); private: //! Helper. Updates the font preview window. void UpdatePreview(); //! Helper. Initializes the dialog with the passed data. void InitDialog(wxArrayString *normalFonts, wxArrayString *fixedFonts); private: wxHtmlWindow *_test; wxSpinCtrl *_fontSizeControl; wxComboBox *_normalFControl; wxComboBox *_fixedFControl; wxString _normalFont; wxString _fixedFont; int _sizes[7]; int _fontSize; private: DECLARE_EVENT_TABLE(); }; #endif // __CHMFONTDIALOG_H /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmframe.cpp0000644000175000001440000006757712210054152012406 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru XML-RPC/Context ID code contributed by Eamon Millman / PCI Geomatics Tree control icons code (and the icons) contributed by Fritz Elfert . 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. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define OPEN_HELP _("Open a CHM book.") #define FONTS_HELP _("Change fonts.") #define PRINT_HELP _("Print the page currently displayed.") #define CONTENTS_HELP _("Toggle table of contents.") #define HOME_HELP _("Go to the book's start page.") #define FORWARD_HELP _("Go forward in history. Per book.") #define BACK_HELP _("Back to the last visited page. Per book.") #define ABOUT_HELP _("About the program.") #define COPY_HELP _("Copy selection.") #define FIND_HELP _("Find word in page.") #define FULLSCREEN_HELP _("Toggle fullscreen mode.") #define CLOSETAB_HELP _("Close the current tab") #define NEWTAB_HELP _("Open a new tab") #define REGISTER_EXTENSION_HELP _("Associate the .chm file extension with xCHM.") namespace { const wxChar *greeting = wxT("About") wxT("
") wxT("") wxT("Hello, and welcome to xCHM, the UNIX CHM viewer.") wxT("

xCHM has been written by Razvan Cojocaru ") wxT("(rzvncj@gmail.com). It is licensed under the GPL.
") wxT("xCHM is based on Jed Wing's CHMLIB and wxWidgets.
") wxT("
If you'd like to know more about CHM, go to") wxT("
Pabs' CHM") wxT(" Specification page.
Pabs has contributed time and knowledge") wxT(" to the development of xCHM, and features such as the fast") wxT(" index search would not have been implemented without his help.") wxT(" Portions of the fast index search are modified versions of") wxT(" Pabs' GPLd chmdeco code.

If") wxT(" you'd like to use the code in your own stuff please figure") wxT(" GPL out first.") #if !defined(wxUSE_UNICODE) || !wxUSE_UNICODE wxT("

WARNING: your xCHM binary is linked") wxT(" against a non-Unicode version of wxWidgets! While it will") wxT(" work with most CHMs, it might not properly display") wxT(" special character languages.") #endif wxT("

Tips:
  • ") wxT("The global search is an \'AND\' search, i.e. searching for") wxT(" \'word1 word2\' (quotes not included) will find all the pages") wxT(" that contain both word1 and word2, in whatever order.
  • ") wxT("
  • Allowing partial matches will find pages that contain") wxT(" words that only start with the typed strings, i.e. searching") wxT(" for \'ans 4\' (quotes not included) will find pages that") wxT(" contain the sentence \'The answer is 42.\'.
  • Right") wxT(" clicking on the displayed page brings out a popup menu with") wxT(" common options.


Ctrl(cmd)-C is copy,") wxT(" Ctrl(cmd)-F is find in page.

Enjoy."); const wxChar *error_page = wxT("Error loading CHM file!"); const wxChar *about_txt = wxT("xCHM v. ") wxT(VERSION) wxT("\nby Razvan Cojocaru \n\n") wxT("With thanks to Pabs (http://bonedaddy.net/pabs3/hhm/).\n") wxT("Based on Jed Wing's CHMLIB (http://66.93.236.84/~jedwin/projects/).\n") wxT("XMLRPC code for context sensitive help contributed by\n") wxT("Eamon Millman .\n") wxT(" tag support and contents tree icons contributed by\n") wxT("Fritz Elfert .\n") wxT("Tabbed browsing support contributed by Cedric Boudinet") wxT(" .\n") wxT("Written with wxWidgets (http://www.wxwidgets.org).\n\n") wxT("This program is (proudly) under the GPL."); #include #include } // namespace CHMFrame::CHMFrame(const wxString& title, const wxString& booksDir, const wxPoint& pos, const wxSize& size, const wxString& normalFont, const wxString& fixedFont, const int fontSize, const int sashPosition, const wxString& fullAppPath, bool loadTopics, bool loadIndex) : wxFrame(NULL, -1, title, pos, size), _tcl(NULL), _sw(NULL), _menuFile(NULL), _tb(NULL), _ep(NULL), _nb(NULL), _cb(NULL), _csp(NULL), _cip(NULL), _openPath(booksDir), _normalFonts(NULL), _fixedFonts(NULL), _normalFont(normalFont), _fixedFont(fixedFont), _fontSize(fontSize), _bookmarkSel(true), _bookmarksDeleted(false), _sashPos(sashPosition), _fullAppPath(fullAppPath), _loadTopics(loadTopics), _loadIndex(loadIndex), _fullScreen(false) { # if wxUSE_ACCEL const int NO_ACCELERATOR_ENTRIES = 6; wxAcceleratorEntry entries[NO_ACCELERATOR_ENTRIES]; entries[0].Set(wxACCEL_CTRL, (int) 'F', ID_FindInPage); entries[1].Set(wxACCEL_CTRL, (int) 'C', ID_CopySelection); entries[2].Set(wxACCEL_CTRL, (int) ']', ID_Forward); entries[3].Set(wxACCEL_CTRL, (int) '[', ID_Back); entries[4].Set(wxACCEL_CTRL, WXK_F4, ID_CloseTab); entries[5].Set(wxACCEL_CTRL, 'Q', ID_Quit); wxAcceleratorTable accel(NO_ACCELERATOR_ENTRIES, entries); SetAcceleratorTable(accel); # endif #ifdef __WXMAC__ wxApp::s_macAboutMenuItemId = ID_About; #endif wxLogNull wln; int sizes[7]; for(int i = -3; i <= 3; ++i) sizes[i+3] = _fontSize + i * 2; SetIcon(wxIcon(xchm_32_xpm)); SetMenuBar(CreateMenu()); _tb = CreateToolBar(wxTB_HORIZONTAL | wxTB_TEXT #if defined __WXMSW__ || defined __WXGTK__ | wxTB_FLAT | wxTB_DOCKABLE #endif ); InitToolBar(_tb); CreateStatusBar(); SetStatusText(_("Ready.")); wxBitmap bitmap(logo_xpm); wxMemoryFSHandler::AddFile(wxT("logo.xpm"), bitmap, //wxBITMAP(logo), wxBITMAP_TYPE_XPM); wxMemoryFSHandler::AddFile(wxT("about.html"), greeting); wxMemoryFSHandler::AddFile(wxT("error.html"), error_page); _ep = new wxHtmlEasyPrinting(wxT("Printing"), this); _sw = new wxSplitterWindow(this); _sw->SetMinimumPaneSize(CONTENTS_MARGIN); _nb = new wxNotebook(_sw, ID_Notebook); _nb->Show(FALSE); wxPanel* temp = CreateContentsPanel(); _nbhtml = new CHMHtmlNotebook(_sw, _tcl, _normalFont, _fixedFont, fontSize, this); _nbhtml->SetChildrenFonts(_normalFont, _fixedFont, sizes); _csp = new CHMSearchPanel(_nb, _tcl, _nbhtml); _font = _tcl->GetFont(); _cip = new CHMIndexPanel(_nb, _nbhtml); _nb->AddPage(temp, _("Contents")); _nb->AddPage(_cip, _("Index")); _nb->AddPage(_csp, _("Search")); _sw->Initialize(_nbhtml); _nbhtml->GetCurrentPage()->SetFocusFromKbd(); } CHMFrame::~CHMFrame() { if(_tcl) // Supposedly, workaround for wxWin _tcl->Unselect(); delete _ep; delete _fixedFonts; delete _normalFonts; } void CHMFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(TRUE); } void CHMFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { ::wxMessageBox(about_txt, _("About xCHM"), wxOK | wxICON_INFORMATION, this ); } void CHMFrame::OnOpen(wxCommandEvent& WXUNUSED(event)) { wxString selection = ::wxFileSelector(_("Choose a file.."), _openPath, wxEmptyString, wxT("chm"), #ifndef __WXMOTIF__ // they say Motif can't handle the following. wxT("CHM files (*.chm)|*.chm;*.CHM|") wxT("All files (*.*)|*.*"), #else wxT("All files (*.*)|*.*"), #endif wxFD_OPEN | wxFD_FILE_MUST_EXIST, this); if(selection.IsEmpty() || !_tcl) return; _openPath = selection.BeforeLast(wxT('/')); LoadCHM(selection); } void CHMFrame::OnChangeFonts(wxCommandEvent& WXUNUSED(event)) { wxLogNull wln; // First time initialization only. if(_normalFonts == NULL) { wxFontEnumerator enu; enu.EnumerateFacenames(); _normalFonts = new wxArrayString; #if wxMAJOR_VERSION == 2 && wxMINOR_VERSION >= 7 *_normalFonts = enu.GetFacenames(); #else *_normalFonts = *enu.GetFacenames(); #endif _normalFonts->Sort(); } if(_fixedFonts == NULL) { wxFontEnumerator enu; enu.EnumerateFacenames(wxFONTENCODING_SYSTEM, TRUE); _fixedFonts = new wxArrayString; #if wxMAJOR_VERSION == 2 && wxMINOR_VERSION >= 7 *_fixedFonts = enu.GetFacenames(); #else *_fixedFonts = *enu.GetFacenames(); #endif _fixedFonts->Sort(); } assert(_normalFonts != NULL); assert(_fixedFonts != NULL); CHMFontDialog cfd(this, _normalFonts, _fixedFonts, _normalFont, _fixedFont, _fontSize); if(cfd.ShowModal() == wxID_OK) { wxBusyCursor bc; _nbhtml->SetChildrenFonts(_normalFont = cfd.NormalFont(), _fixedFont = cfd.FixedFont(), cfd.Sizes()); _fontSize = *(cfd.Sizes() + 3); wxString page = _nbhtml->GetCurrentPage()->GetOpenedPage(); if(page.IsEmpty()) _nbhtml->GetCurrentPage() ->LoadPage(wxT("memory:about.html")); } } void CHMFrame::OnHome(wxCommandEvent& WXUNUSED(event)) { CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; _nbhtml->LoadPageInCurrentView(wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:") + chmf->HomePage()); } void CHMFrame::OnHistoryForward(wxCommandEvent& WXUNUSED(event)) { _nbhtml->GetCurrentPage()->HistoryForward(); } void CHMFrame::OnHistoryBack(wxCommandEvent& WXUNUSED(event)) { if(_nbhtml->GetCurrentPage()->HistoryCanBack()) _nbhtml->GetCurrentPage()->HistoryBack(); else { if(CHMInputStream::GetCache()) return; } } void CHMFrame::OnShowContents(wxCommandEvent& WXUNUSED(event)) { if(_sw->IsSplit()) { _tb->ToggleTool(ID_Contents, FALSE); _menuFile->Check(ID_Contents, FALSE); _sashPos = _sw->GetSashPosition(); _sw->Unsplit(_nb); _nb->Show(FALSE); } else { //if(_tcl->GetCount() >= 1) { _tb->ToggleTool(ID_Contents, TRUE); _menuFile->Check(ID_Contents, TRUE); _nb->Show(TRUE); _sw->SplitVertically(_nb, _nbhtml, _sashPos); /*} else { _tb->ToggleTool(ID_Contents, FALSE); _menuFile->Check(ID_Contents, FALSE); ::wxMessageBox(_("Couldn't extract the book" " contents tree."), _("No contents.."), wxOK | wxICON_WARNING, this ); }*/ } } #if defined(__WXMSW__) || defined(__WXMAC__) # define EC_WARNING_MSG "This is experimental code, and \ doing this will overwrite any previously registered CHM viewer \ associations.\n\nAre you sure you know what you're doing?" void CHMFrame::OnRegisterExtension(wxCommandEvent& WXUNUSED(event)) { int answer = wxMessageBox(_(EC_WARNING_MSG), _("Confirm"), wxOK | wxCANCEL, this); if(answer == wxOK) { wxFileTypeInfo fti(wxT("application/x-chm"), _fullAppPath, wxEmptyString, wxT("Compiled HTML help"), wxT("chm"), NULL); wxFileType *ft = wxTheMimeTypesManager->Associate(fti); if(ft) { ft->SetDefaultIcon(_fullAppPath); wxMessageBox(_("Registration successful!"), _("Done"), wxOK, this); } } } #endif// __WXMSW__ void CHMFrame::OnPrint(wxCommandEvent& WXUNUSED(event)) { wxLogNull wln; int sizes[7]; for(int i = -3; i <= 3; ++i) sizes[i+3] = _fontSize + i * 2; _ep->SetFonts(_normalFont, _fixedFont, sizes); _ep->PrintFile(_nbhtml->GetCurrentPage()->GetOpenedPage()); } void CHMFrame::OnHistFile(wxCommandEvent& event) { wxString f(_fh.GetHistoryFile(event.GetId() - wxID_FILE1)); if (!f.IsEmpty()) LoadCHM(f); } void CHMFrame::OnFind(wxCommandEvent& event) { _nbhtml->GetCurrentPage()->OnFind(event); } void CHMFrame::OnCloseTab(wxCommandEvent& event) { _nbhtml->OnCloseTab(event); } void CHMFrame::OnNewTab(wxCommandEvent& event) { _nbhtml->OnNewTab(event); } void CHMFrame::OnCopySelection(wxCommandEvent& event) { _nbhtml->GetCurrentPage()->OnCopy(event); } void CHMFrame::OnFullScreen(wxCommandEvent& WXUNUSED(event)) { _fullScreen = !_fullScreen; ShowFullScreen(_fullScreen, wxFULLSCREEN_ALL); } void CHMFrame::OnAddBookmark(wxCommandEvent& WXUNUSED(event)) { wxTreeItemId id = _tcl->GetSelection(); if(!id.IsOk()) return; wxString title = _tcl->GetItemText(id); if(title.IsEmpty()) return; URLTreeItem *data = reinterpret_cast( _tcl->GetItemData(id)); if(!data || (data->_url).IsEmpty()) return; _cb->Append(title, new wxString(data->_url)); _bookmarkSel = false; _cb->SetSelection(_cb->GetCount() - 1); _bookmarkSel = true; } void CHMFrame::OnRemoveBookmark(wxCommandEvent& WXUNUSED(event)) { if(!_cb->GetCount()) return; _cb->Delete(_cb->GetSelection()); _bookmarksDeleted = true; if(_cb->GetCount()) { _bookmarkSel = false; _cb->SetSelection(0); _bookmarkSel = true; } else { _cb->SetValue(wxEmptyString); } } void CHMFrame::OnBookmarkSel(wxCommandEvent& event) { if(!_bookmarkSel) return; wxString *url = reinterpret_cast( #ifdef __WXGTK__ _cb->GetClientData(event.GetSelection())); #else _cb->wxItemContainer::GetClientData(event.GetSelection())); #endif if(!url || url->IsEmpty()) return; CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; _nbhtml->LoadPageInCurrentView(wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:/") + *url); } void CHMFrame::OnSelectionChanged(wxTreeEvent& event) { wxTreeItemId id = event.GetItem(); CHMFile *chmf = CHMInputStream::GetCache(); if(id == _tcl->GetRootItem() || !chmf) return; if(!id.IsOk()) return; URLTreeItem *data = reinterpret_cast( _tcl->GetItemData(id)); if(!data || data->_url.IsEmpty()) return; if(!_nbhtml->GetCurrentPage()->IsCaller()) { _nbhtml->GetCurrentPage()->SetSync(false); _nbhtml->LoadPageInCurrentView(wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:/") + data->_url); _nbhtml->GetCurrentPage()->SetSync(true); } } void CHMFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { SaveExitInfo(); SaveBookmarks(); Destroy(); } void CHMFrame::OnChar(wxKeyEvent& event) { if(event.GetKeyCode() == WXK_F9) { wxCommandEvent dummy; OnShowContents(dummy); } event.Skip(); } bool CHMFrame::LoadCHM(const wxString& archive) { wxBusyCursor bc; wxLogNull wln; bool rtn = false; SaveBookmarks(); _nb->SetSelection(0); _nbhtml->CloseAllPagesExceptFirst(); if(!archive.StartsWith(wxT("file:")) || !archive.Contains(wxT("#xchm:"))) { wxFileSystem wfs; std::auto_ptr p(wfs.OpenFile(wxString(wxT("file:")) + archive + wxT("#xchm:/"))); CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return false; rtn = _nbhtml->LoadPageInCurrentView(wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:") + chmf->HomePage()); } else { rtn = _nbhtml->LoadPageInCurrentView(archive); } if(!rtn) { // Error, could not load CHM file if(_tcl->GetCount()) _tcl->Unselect(); _tcl->DeleteChildren(_tcl->GetRootItem()); if(_sw->IsSplit()) { _sw->Unsplit(_nb); _nb->Show(FALSE); } _menuFile->Check(ID_Contents, FALSE); _tb->ToggleTool(ID_Contents, FALSE); _cip->Reset(); _csp->Reset(); _nbhtml->LoadPageInCurrentView(wxT("memory:error.html")); } else { UpdateCHMInfo(); LoadBookmarks(); } return rtn; } bool CHMFrame::LoadContextID( const int contextID ) { wxBusyCursor bc; CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return FALSE; if( !chmf->IsValidCID( contextID ) ) return FALSE; return _nbhtml->LoadPageInCurrentView(wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:") + chmf->GetPageByCID(contextID)); } void CHMFrame::UpdateCHMInfo() { #if !wxUSE_UNICODE static bool noSpecialFont = true; static wxFontEncoding enc = wxFont::GetDefaultEncoding(); #endif CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; wxWindowDisabler wwd; wxBusyInfo wait(_("Loading, please wait.."), this); wxString filename = chmf->ArchiveName(); if(!filename.IsEmpty()) { _fh.AddFileToHistory(filename); if(!_menuFile->IsEnabled(ID_Recent)) _menuFile->Enable(ID_Recent, TRUE); } _nbhtml->GetCurrentPage()->HistoryClear(); _csp->Reset(); _cip->Reset(); wxString title = chmf->Title(); if(_tcl->GetCount()) { _tcl->Unselect(); _tcl->DeleteChildren(_tcl->GetRootItem()); } #if !wxUSE_UNICODE wxString fontFace = chmf->DefaultFont(); if(!fontFace.IsEmpty()) { long fs = -1; fontFace.BeforeLast(wxT(',')).AfterLast(wxT(',')).ToLong(&fs); if(fs < 10) fs = 10; wxFont font((int)fs, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE, fontFace.BeforeFirst(wxT(',')), chmf->DesiredEncoding()); if(font.Ok()) { int sizes[7]; for(int i = -3; i <= 3; ++i) sizes[i+3] = _fontSize + i * 2; _tcl->SetFont(font); _csp->SetNewFont(font); _cip->SetNewFont(font); _cb->SetFont(font); _nbhtml->SetChildrenFonts(font.GetFaceName(), font.GetFaceName(), sizes); noSpecialFont = false; } } else if(noSpecialFont == false) { int sizes[7]; for(int i = -3; i <= 3; ++i) sizes[i+3] = _fontSize + i * 2; _tcl->SetFont(_font); wxFont tmp(_font.GetPointSize(), _font.GetFamily(), _font.GetStyle(), _font.GetWeight(), _font.GetUnderlined(), _font.GetFaceName(), enc); if(tmp.Ok()) { _cb->SetFont(tmp); _csp->SetNewFont(tmp); _cip->SetNewFont(tmp); } _nbhtml->SetChildrenFonts(_normalFont, _fixedFont, sizes); noSpecialFont = true; } #endif if(_loadTopics) chmf->GetTopicsTree(_tcl); if(_loadIndex) chmf->GetIndex(_cip->GetResultsList()); if(!title.IsEmpty()) { wxString titleBarText = wxString(wxT("xCHM v. " wxT(VERSION) wxT(": "))) + title; SetTitle(titleBarText); } else { SetTitle(wxT("xCHM v. ") wxT(VERSION)); } // if we have contents.. if(_tcl->GetCount() >= 1) { if(!_sw->IsSplit()) { _nb->Show(TRUE); _sw->SplitVertically(_nb, _nbhtml, _sashPos); _menuFile->Check(ID_Contents, TRUE); _tb->ToggleTool(ID_Contents, TRUE); } } else { if(_sw->IsSplit()) { _sw->Unsplit(_nb); _nb->Show(FALSE); } _menuFile->Check(ID_Contents, FALSE); _tb->ToggleTool(ID_Contents, FALSE); } // select Contents _nb->SetSelection(0); } wxMenuBar* CHMFrame::CreateMenu() { _menuFile = new wxMenu; _menuFile->Append(ID_Open, _("&Open..\tCtrl-O"), OPEN_HELP); _menuFile->Append(ID_Print, _("&Print page..\tCtrl-P"), PRINT_HELP); _menuFile->Append(ID_Fonts, _("Fon&ts.."), FONTS_HELP); _menuFile->AppendSeparator(); _menuFile->AppendCheckItem(ID_Contents, _("&Show contents tree\tCtrl-S"), CONTENTS_HELP); _menuFile->AppendSeparator(); #if defined(__WXMSW__) || defined(__WXMAC__) _menuFile->Append(ID_RegisterExtension, _("&Make xCHM the default CHM viewer"), REGISTER_EXTENSION_HELP); _menuFile->AppendSeparator(); #endif wxMenu *recent = new wxMenu; _menuFile->Append(ID_Recent, _("&Recent files"), recent); _fh.UseMenu(recent); // Fill the file history menu. wxConfig config(wxT("xchm")); config.SetPath(wxT("/Recent")); _fh.Load(config); if(_fh.GetCount() == 0) _menuFile->Enable(ID_Recent, FALSE); _menuFile->AppendSeparator(); _menuFile->Append(ID_Quit, _("E&xit\tCtrl-X"), _("Quit the application.")); wxMenu *menuHistory = new wxMenu; menuHistory->Append(ID_Home, _("&Home\tCtrl-H"), HOME_HELP); menuHistory->Append(ID_Forward, _("For&ward\tAlt-RIGHT"), FORWARD_HELP); menuHistory->Append(ID_Back, _("&Back\tAlt-LEFT"), BACK_HELP); wxMenu *menuHelp = new wxMenu; menuHelp->Append(ID_About, _("&About..\tF1"), ABOUT_HELP); wxMenu *menuEdit = new wxMenu; menuEdit->Append(ID_CopySelection, _("&Copy\tCtrl-C"), COPY_HELP); menuEdit->Append(ID_FindInPage, _("&Find..\tCtrl-F"), FIND_HELP); menuEdit->AppendSeparator(); menuEdit->Append(ID_CloseTab, _("&Close tab\tCtrl-W"), CLOSETAB_HELP); menuEdit->Append(ID_NewTab, _("&New tab\tCtrl-T"), NEWTAB_HELP); wxMenu *menuView = new wxMenu; menuView->Append(ID_FullScreen, _("Toggle &fullscreen\tF11"), FULLSCREEN_HELP); wxMenuBar *menuBar = new wxMenuBar; menuBar->Append(_menuFile, _("&File")); menuBar->Append(menuView, _("&View")); menuBar->Append(menuEdit, _("&Edit")); menuBar->Append(menuHistory, _("Hi&story")); menuBar->Append(menuHelp, _("&Help")); return menuBar; } //#ifndef __WXMSW__ namespace { #include #include #include } // namespace //#endif wxPanel* CHMFrame::CreateContentsPanel() { wxPanel *temp = new wxPanel(_nb); wxSizer *sizer = new wxBoxSizer(wxVERTICAL); wxSizer *bmarks = new wxStaticBoxSizer( new wxStaticBox(temp, -1, _("Bookmarks")), wxVERTICAL); wxSizer *inner = new wxBoxSizer(wxHORIZONTAL); temp->SetAutoLayout(TRUE); temp->SetSizer(sizer); wxImageList *il = new wxImageList(16, 16); il->Add(wxIcon(hbook_closed_xpm)); il->Add(wxIcon(hbook_open_xpm)); il->Add(wxIcon(hpage_xpm)); _tcl = new wxTreeCtrl(temp, ID_TreeCtrl, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER | wxTR_HIDE_ROOT | wxTR_LINES_AT_ROOT); _tcl->AssignImageList(il); _tcl->AddRoot(_("Topics")); _cb = new wxComboBox(temp, ID_Bookmarks, wxT(""), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN | wxCB_READONLY); sizer->Add(_tcl, 1, wxEXPAND, 0); sizer->Add(bmarks, 0, wxEXPAND | wxALL, 0); bmarks->Add(_cb, 0, wxEXPAND | wxBOTTOM, 5); bmarks->Add(inner, 1, wxEXPAND, 0); wxButton *badd = new wxButton(temp, ID_Add, _("Add")); wxButton *bremove = new wxButton(temp, ID_Remove, _("Remove")); #if wxUSE_TOOLTIPS badd->SetToolTip(_("Add displayed page to bookmarks.")); bremove->SetToolTip(_("Remove selected bookmark.")); #endif inner->Add(badd, 1, wxEXPAND | wxRIGHT, 2); inner->Add(bremove, 1, wxEXPAND | wxLEFT, 2); return temp; } void CHMFrame::LoadBookmarks() { _cb->Clear(); _cb->SetValue(wxEmptyString); CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; wxConfig config(wxT("xchm")); wxString bookname = chmf->ArchiveName(); bookname.Replace(wxT("/"), wxT("."), TRUE); bookname = wxString(wxT("/Bookmarks/")) + bookname; long noEntries; config.SetPath(bookname); wxString title, url; if(config.Read(wxT("noEntries"), &noEntries)) { const wxChar* format1 = wxT("bookmark_%ld_title"); const wxChar* format2 = wxT("bookmark_%ld_url"); for(long i = 0; i < noEntries; ++i) { config.Read(wxString::Format(format1, i), &title); config.Read(wxString::Format(format2, i), &url); _cb->Append(title, new wxString(url)); } } } void CHMFrame::SaveBookmarks() { long noEntries = _cb->GetCount(); if(!_bookmarksDeleted && noEntries == 0) return; CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; wxConfig config(wxT("xchm")); wxString bookname = chmf->ArchiveName(); bookname.Replace(wxT("/"), wxT("."), TRUE); bookname = wxString(wxT("/Bookmarks/")) + bookname; if(_bookmarksDeleted) config.DeleteGroup(bookname); if(noEntries == 0) return; config.SetPath(bookname); config.Write(wxT("noEntries"), noEntries); const wxChar* format1 = wxT("bookmark_%ld_title"); const wxChar* format2 = wxT("bookmark_%ld_url"); for(int i = 0; i < noEntries; ++i) { wxString *url = reinterpret_cast( #ifdef __WXGTK__ _cb->GetClientData(i)); #else _cb->wxItemContainer::GetClientData(i)); #endif config.Write(wxString::Format(format1, i), _cb->GetString(i)); if(url) config.Write(wxString::Format(format2, i), *url); } } void CHMFrame::SaveExitInfo() { int xorig, yorig, width, height; int sashPos = _sw->IsSplit() ? _sw->GetSashPosition() : _sashPos; GetPosition(&xorig, &yorig); GetSize(&width, &height); wxConfig config(wxT("xchm")); config.Write(wxT("/Position/xOrig"), xorig); config.Write(wxT("/Position/yOrig"), yorig); config.Write(wxT("/Position/width"), width); config.Write(wxT("/Position/height"), height); config.Write(wxT("/Paths/lastOpenedDir"), _openPath); config.Write(wxT("/Fonts/normalFontFace"), _normalFont); config.Write(wxT("/Fonts/fixedFontFace"), _fixedFont); config.Write(wxT("/Fonts/size"), _fontSize); config.Write(wxT("/Sash/leftMargin"), sashPos); config.SetPath(wxT("/Recent")); _fh.Save(config); } namespace { #include #include #include #include #include #include #include #include #include #include #include } // namespace bool CHMFrame::InitToolBar(wxToolBar *toolbar) { toolbar->AddTool(ID_Open, _("Open .."), wxBitmap(fileopen_xpm), OPEN_HELP); toolbar->AddTool(ID_Print, _("Print .."), wxBitmap(print_xpm), PRINT_HELP); toolbar->AddTool(ID_Fonts, _("Fonts .."), wxBitmap(htmoptns_xpm), FONTS_HELP); toolbar->AddCheckTool(ID_Contents, _("Contents"), wxBitmap(htmsidep_xpm), wxBitmap(htmsidep_xpm), CONTENTS_HELP); toolbar->AddSeparator(); toolbar->AddTool(ID_CopySelection, _("Copy"), wxBitmap(copy_xpm), COPY_HELP); toolbar->AddTool(ID_FindInPage, _("Find"), wxBitmap(find_xpm), FIND_HELP); toolbar->AddSeparator(); toolbar->AddTool(ID_FullScreen, _("Fullscreen"), wxBitmap(fullscreen_xpm), FULLSCREEN_HELP); toolbar->AddSeparator(); toolbar->AddTool(ID_Back, _("Back"), wxBitmap(back_xpm), BACK_HELP); toolbar->AddTool(ID_Forward, _("Forward"), wxBitmap(forward_xpm), FORWARD_HELP); toolbar->AddTool(ID_Home, _("Home"), wxBitmap(home_xpm), HOME_HELP); toolbar->AddSeparator(); toolbar->AddTool(ID_About, _("About"), wxBitmap(helpicon_xpm), ABOUT_HELP); toolbar->Realize(); return TRUE; } void CHMFrame::AddHtmlView(const wxString& path, const wxString& link) { _nbhtml->AddHtmlView(path, link); } void CHMFrame::ToggleFullScreen(bool onlyIfFullScreenOn) { if(onlyIfFullScreenOn && !_fullScreen) return; wxCommandEvent dummy; OnFullScreen(dummy); } BEGIN_EVENT_TABLE(CHMFrame, wxFrame) EVT_MENU(ID_Quit, CHMFrame::OnQuit) EVT_MENU(ID_About, CHMFrame::OnAbout) EVT_MENU(ID_Open, CHMFrame::OnOpen) EVT_MENU(ID_Fonts, CHMFrame::OnChangeFonts) EVT_MENU(ID_Home, CHMFrame::OnHome) EVT_MENU(ID_Forward, CHMFrame::OnHistoryForward) EVT_MENU(ID_Back, CHMFrame::OnHistoryBack) EVT_MENU(ID_Contents, CHMFrame::OnShowContents) #if defined(__WXMSW__) || defined(__WXMAC__) EVT_MENU(ID_RegisterExtension, CHMFrame::OnRegisterExtension) #endif EVT_MENU(ID_Print, CHMFrame::OnPrint) EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, CHMFrame::OnHistFile) EVT_MENU(ID_FindInPage, CHMFrame::OnFind) EVT_MENU(ID_CloseTab, CHMFrame::OnCloseTab) EVT_MENU(ID_NewTab, CHMFrame::OnNewTab) EVT_MENU(ID_CopySelection, CHMFrame::OnCopySelection) EVT_MENU(ID_FullScreen, CHMFrame::OnFullScreen) EVT_BUTTON(ID_Add, CHMFrame::OnAddBookmark) EVT_BUTTON(ID_Remove, CHMFrame::OnRemoveBookmark) EVT_TREE_SEL_CHANGED(ID_TreeCtrl, CHMFrame::OnSelectionChanged) EVT_COMBOBOX(ID_Bookmarks, CHMFrame::OnBookmarkSel) EVT_TEXT_ENTER(ID_Bookmarks, CHMFrame::OnBookmarkSel) EVT_CLOSE(CHMFrame::OnCloseWindow) EVT_CHAR(CHMFrame::OnChar) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmframe.h0000644000175000001440000001661712210054152012040 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMFRAME_H_ #define __CHMFRAME_H_ #include #include #include #include #include #include #include #include #include #include // Forward declarations. class CHMHtmlWindow; class CHMSearchPanel; class CHMIndexPanel; class wxFileType; class CHMHtmlNotebook; //! Default font size for the wxHtmlWindow. #define CHM_DEFAULT_FONT_SIZE 12 //! Default sash position. #define CONTENTS_MARGIN 170 #ifdef HAVE_CONFIG_H # include #else // this should never happen # define VERSION "unknown" #endif //! IDs for various widget events. enum { ID_Quit = 1, ID_About, ID_Open, ID_Fonts, ID_Print, ID_Home, ID_Forward, ID_Back, ID_Contents, ID_Bookmarks, ID_Add, ID_Remove, ID_FindInPage, ID_CopySelection, ID_Recent, ID_Notebook, ID_RegisterExtension, ID_CloseTab, ID_NewTab, ID_FullScreen, ID_TreeCtrl = 1000, }; /*! \class wxFrame \brief wxWidgets frame widget class. */ /*! \brief The frame, owner of the wxHtmlWindow, contents tree control and all the other nifty stuff. */ class CHMFrame : public wxFrame { public: /*! \brief Brings the frame into existence. \param title The text that shows up on the titlebar. \param booksDir Where to go when you click Open.. on the toolbar. This is used to remember the last directory where a book was sucessfully opened. For the current working directory just pass the empty string. \param pos The upper left corner of the frame. \param size The size of the frame. \param normalFont Name of the font face to use for normal text. \param fixedFont Name of the font face to use for fixed text. \param fontSize The font size. \param sashPosition Distance from the left of the frame to \param fullAppPath The absolute path to the executable of the process the end of the contents / search panel. \param loadTopics If set to false, don't try to load the topics tree. \param loadIndex If set to false, don't try to load the index list. */ CHMFrame(const wxString& title, const wxString& booksDir, const wxPoint& pos, const wxSize& size, const wxString& normalFont = wxEmptyString, const wxString& fixedFont = wxEmptyString, const int fontSize = CHM_DEFAULT_FONT_SIZE, const int sashPosition = CONTENTS_MARGIN, const wxString& fullAppPath = wxEmptyString, bool loadTopics = true, bool loadIndex = true); //! Cleans up. ~CHMFrame(); /*! \brief Attempts to load a .chm file and display it's home page. \param archive The .chm file name on disk. \return TRUE if the operation was successful. */ bool LoadCHM(const wxString& archive); /*! \brief Attempts to load a context-ID from within the current chm file \param contextID the context-ID to load. \return TRUE if the operation was successful. */ bool LoadContextID( const int contextID ); //! Fills the index and the contents tree. void UpdateCHMInfo(); //! Add html view void AddHtmlView(const wxString& path, const wxString& link); //! Toggles fullscreen mode void ToggleFullScreen(bool onlyIfFullScreenOn = false); protected: //! Called when the user closes the window. void OnQuit(wxCommandEvent& event); //! Called when the user clicks on About. void OnAbout(wxCommandEvent& event); //! Called when the user wants to open a file. void OnOpen(wxCommandEvent& event); //! Called when the user wants to change the fonts. void OnChangeFonts(wxCommandEvent& event); //! Called when the user wants to see the default page. void OnHome(wxCommandEvent& event); //! Called when the user wants to go forward in the history. void OnHistoryForward(wxCommandEvent& event); //! Called when the user wants to go back in the history. void OnHistoryBack(wxCommandEvent& event); /*! \brief Called when the user wants to either disable or enable the contents tree panel on the left. */ void OnShowContents(wxCommandEvent& event); //! Called when the user wants to print the displayed page. void OnPrint(wxCommandEvent& event); //! Called when the user selects a file from the file history. void OnHistFile(wxCommandEvent& event); //! Called when the user types Ctrl-F. void OnFind(wxCommandEvent& event); //! Called when the user types Ctrl-F. void OnCopySelection(wxCommandEvent& event); //! Called when fullscreen mode is being toggled void OnFullScreen(wxCommandEvent& event); //! Called when the user clicks on the Add button. void OnAddBookmark(wxCommandEvent& event); #if defined(__WXMSW__) || defined(__WXMAC__) //! Called when the user selects Register extension void OnRegisterExtension(wxCommandEvent& event); #endif// __WXMSW__ //! Called when the user clicks on the Remove button. void OnRemoveBookmark(wxCommandEvent& event); //! Called when the user chooses a bookmark from the wxChoice control. void OnBookmarkSel(wxCommandEvent &event); //! Called when an item in the contents tree is clicked. void OnSelectionChanged(wxTreeEvent& event); //! Cleanup code. This saves the window position and last open dir. void OnCloseWindow(wxCloseEvent& event); //! Called when the user presses a key void OnChar(wxKeyEvent &event); //! Called when the user types Ctrl-F4. void OnCloseTab(wxCommandEvent& event); //! Called when the user types Ctrl-N. void OnNewTab(wxCommandEvent& event); private: //! Helper. Creates the menu. wxMenuBar *CreateMenu(); //! Helper. Initializes the frame toolbar. bool InitToolBar(wxToolBar *toolbar); //! Helper. Creates the contents panel. wxPanel* CreateContentsPanel(); //! Helper. Loads the bookmarks for the currently opened CHM file. void LoadBookmarks(); //! Helper. Saves the bookmarks for the currently opened CHM file. void SaveBookmarks(); //! Helper. Saves exit information (size, history, etc.) void SaveExitInfo(); private: CHMHtmlNotebook * _nbhtml; wxTreeCtrl* _tcl; wxSplitterWindow* _sw; wxMenu* _menuFile; wxToolBar* _tb; wxHtmlEasyPrinting* _ep; wxNotebook* _nb; wxComboBox* _cb; CHMSearchPanel* _csp; CHMIndexPanel* _cip; wxString _openPath; wxArrayString* _normalFonts; wxArrayString* _fixedFonts; wxString _normalFont; wxString _fixedFont; int _fontSize; bool _bookmarkSel; bool _bookmarksDeleted; int _sashPos; wxFont _font; wxFileHistory _fh; wxString _fullAppPath; bool _loadTopics; bool _loadIndex; bool _fullScreen; private: DECLARE_EVENT_TABLE() }; #endif // __CHMFRAME_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfshandler.cpp0000644000175000001440000000623112210054152013236 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include // only needs to be here because I killed the constructors // by providing a private copy constructor CHMFSHandler::CHMFSHandler() { } CHMFSHandler::~CHMFSHandler() { CHMInputStream::Cleanup(); } bool CHMFSHandler::CanOpen(const wxString& location) { wxString p = GetProtocol(location); return (p == wxT("xchm") && GetProtocol(GetLeftLocation(location)) == wxT("file")) || !location.Left(6).CmpNoCase(wxT("MS-ITS")); } wxFSFile* CHMFSHandler::OpenFile(wxFileSystem& fs, const wxString& location) { wxString right = GetRightLocation(location); wxString left = GetLeftLocation(location); wxString cwd = GetRightLocation(fs.GetPath()); CHMInputStream *s = NULL; if(!location.Left(6).CmpNoCase(wxT("MS-ITS"))) { right = wxString(wxT("/")) + location; left = wxEmptyString; } else if (GetProtocol(left) != wxT("file")) return NULL; // HTML code for space is %20 right.Replace(wxT("%20"), wxT(" "), TRUE); right.Replace(wxT("%5F"), wxT("_"), TRUE); right.Replace(wxT("%2E"), wxT("."), TRUE); right.Replace(wxT("%2D"), wxT("-"), TRUE); right.Replace(wxT("%26"), wxT("&"), TRUE); wxFileName filename = wxFileSystem::URLToFileName(left); filename.Normalize(); size_t len = cwd.Length(); if(right.Length() > len && right.StartsWith(cwd) && right[len] == wxT('/')) right = right.Mid(len); wxFileName fwfn(right, wxPATH_UNIX); fwfn.Normalize(wxPATH_NORM_DOTS | wxPATH_NORM_ABSOLUTE, cwd, wxPATH_UNIX); right = fwfn.GetFullPath(wxPATH_UNIX); s = new CHMInputStream(left.IsEmpty() ? left : filename.GetFullPath(), right); if (s && s->IsOk()) { if(right.IsSameAs(wxT("/"))) right = s->GetCache()->HomePage(); // The dreaded links to files in other archives. // Talk about too much enthusiasm. if(!right.Left(8).CmpNoCase(wxT("/MS-ITS:"))) right = right.AfterLast(wxT(':')); return new wxFSFile(s, wxString(wxT("file:")) + s->GetCache()->ArchiveName() + wxT("#xchm:") + right, GetMimeTypeFromExt(right.Lower()), GetAnchor(location), wxDateTime((time_t)-1)); } delete s; return NULL; } /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmfshandler.h0000644000175000001440000000431412210054137012706 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMFSHANDLER_H_ #define __CHMFSHANDLER_H_ #include /*! \class wxFileSystemHandler \brief wxWidgets virtual filesystem handler class. */ //! CHM filesystem handler class. class CHMFSHandler : public wxFileSystemHandler { public: /*! \brief Doesn't do anything but needs to be here because of the private copy constructor. */ CHMFSHandler(); //! Cleanup code. This calls CHMInputStream's Cleanup(). ~CHMFSHandler(); /*! \brief Checks if it can open the file passed in location. \param location File to open. \returns true if location is in the form "file:filename.chm#xchm:/file_inside_archive.extension", false otherwise. Does not attempt to actually open the file. */ virtual bool CanOpen(const wxString& location); /*! \brief Tries to open the file specified. \param fs Currently ignored. \param location filename. \return A valid pointer to a wxFSFile or NULL on failure. */ virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location); private: //! No copy construction. CHMFSHandler(const CHMFSHandler&); //! No assignment. CHMFSHandler& operator=(const CHMFSHandler&); }; #endif // __CHMFSHANDLER_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmhtmlnotebook.cpp0000644000175000001440000001175312210054152014002 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru Tabbed browsing support developed by Cedric Boudinet (this file originally written by Cedric Boudinet) 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. */ #include #include #include CHMHtmlNotebook::CHMHtmlNotebook(wxWindow *parent, wxTreeCtrl *tc, const wxString& normalFont, const wxString& fixedFont, const int fontSize, CHMFrame* frame) : wxAuiNotebook(parent, -1, wxDefaultPosition, wxDefaultSize, wxAUI_NB_DEFAULT_STYLE | wxAUI_NB_TAB_FIXED_WIDTH), _tcl(tc), _frame(frame), _fonts_normal_face(normalFont), _fonts_fixed_face(fixedFont) { for(int i = -3; i <= 3; ++i) _fonts_sizes[i+3] = fontSize + i * 2; wxAcceleratorEntry entries[2]; entries[0].Set(wxACCEL_CTRL, WXK_PAGEUP, ID_PriorPage); entries[1].Set(wxACCEL_CTRL, WXK_PAGEDOWN, ID_NextPage); wxAcceleratorTable accel(2, entries); this->SetAcceleratorTable(accel); SetTabCtrlHeight(0); AddHtmlView(wxEmptyString, wxT("memory:about.html")); } CHMHtmlWindow* CHMHtmlNotebook::CreateView() { CHMHtmlWindow * htmlWin = new CHMHtmlWindow(this, _tcl, _frame); htmlWin->SetRelatedFrame(_frame, wxT("xCHM v. ") wxT(VERSION) wxT(": %s")); htmlWin->SetRelatedStatusBar(0); htmlWin->SetFonts(_fonts_normal_face, _fonts_fixed_face, _fonts_sizes); AddPage(htmlWin, _("(Empty page)")); SetSelection(GetPageCount() - 1); return htmlWin; } void CHMHtmlNotebook::AddHtmlView(const wxString& path, const wxString& link) { CHMHtmlWindow* htmlWin = CreateView(); if(htmlWin) { htmlWin->GetParser()->GetFS()->ChangePathTo(path); htmlWin->LoadPage(link); } } bool CHMHtmlNotebook::LoadPageInCurrentView(const wxString& location) { return GetCurrentPage()->LoadPage(location); } // TODO: this is a misleading named function with side effects. It's a no-no. CHMHtmlWindow* CHMHtmlNotebook::GetCurrentPage() { int selection = GetSelection(); if(selection == wxNOT_FOUND) return CreateView(); return dynamic_cast( wxAuiNotebook::GetPage(selection)); } void CHMHtmlNotebook::OnGoToNextPage(wxCommandEvent&) { int selection = GetSelection(); if(selection >= static_cast(GetPageCount() - 1)) return; SetSelection(selection + 1); } void CHMHtmlNotebook::OnGoToPriorPage(wxCommandEvent&) { int selection = GetSelection(); if(selection <= 0) return; SetSelection(selection - 1); } void CHMHtmlNotebook::OnCloseTab(wxCommandEvent& WXUNUSED(event)) { DeletePage(GetSelection()); if(GetPageCount() <= 1) SetTabCtrlHeight(0); } void CHMHtmlNotebook::OnNewTab(wxCommandEvent& WXUNUSED(event)) { AddHtmlView(wxEmptyString, wxEmptyString); } void CHMHtmlNotebook::OnChildrenTitleChanged(const wxString& title) { // We assume the change occured in the currently displayed page // TODO: detect in which page the change occured. SetPageText(GetSelection(), title); } void CHMHtmlNotebook::CloseAllPagesExceptFirst() { SetSelection(0); while(GetPageCount() > 1) DeletePage(1); SetTabCtrlHeight(0); } void CHMHtmlNotebook::SetChildrenFonts(const wxString& normal_face, const wxString& fixed_face, const int *sizes) { _fonts_normal_face = normal_face; _fonts_fixed_face = fixed_face; for(int i = 0; i < 7; ++i) _fonts_sizes[i] = sizes[i]; size_t nPageCount = GetPageCount(); for(size_t nPage = 0; nPage < nPageCount; ++nPage) { CHMHtmlWindow* chw = dynamic_cast(GetPage(nPage)); if(chw) chw->SetFonts(normal_face, fixed_face, sizes); } } bool CHMHtmlNotebook::AddPage(wxWindow* page, const wxString& title) { if(!page) return false; bool st = wxAuiNotebook::AddPage(page, title); if(GetPageCount() == 2) SetTabCtrlHeight(-1); return st; } void CHMHtmlNotebook::OnPageChanged(wxAuiNotebookEvent&) { if(GetPageCount() == 1) SetTabCtrlHeight(0); } BEGIN_EVENT_TABLE(CHMHtmlNotebook, wxAuiNotebook) EVT_MENU(ID_PriorPage, CHMHtmlNotebook::OnGoToPriorPage) EVT_MENU(ID_NextPage, CHMHtmlNotebook::OnGoToNextPage) EVT_AUINOTEBOOK_PAGE_CHANGED(wxID_ANY, CHMHtmlNotebook::OnPageChanged) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmhtmlnotebook.h0000644000175000001440000000616412210054152013447 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru Tabbed browsing support developed by Cedric Boudinet (this file originally written by Cedric Boudinet) 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. */ #ifndef __CHMHTMLNOTEBOOK_H_ #define __CHMHTMLNOTEBOOK_H_ #include #include enum { ID_NextPage, ID_PriorPage, }; // Forward declarations class CHMFrame; class CHMHtmlWindow; /*! \class wxNotebook \brief wxWidgets application class. */ /*! \brief Custom HTML notebook widget class. For tabbed viewing of a CHM file. */ class CHMHtmlNotebook : public wxAuiNotebook { public: //! Constructor CHMHtmlNotebook(wxWindow *parent, wxTreeCtrl *tc, const wxString& normalFont, const wxString& fixedFont, const int fontSize, CHMFrame* frame); //! Add a notebook tab and display the specified URL void AddHtmlView(const wxString& path, const wxString& link); //! Displays the URL in the current tab bool LoadPageInCurrentView(const wxString& location); //! Returns the current page as a CHMHtmlWindow CHMHtmlWindow* GetCurrentPage(); //! Callback for when a child's title changes void OnChildrenTitleChanged(const wxString& title); //! Close all pages except the first one void CloseAllPagesExceptFirst(); //! Propagate font settings to the children void SetChildrenFonts(const wxString& normal_face, const wxString& fixed_face, const int *sizes = NULL); //! Called when user asks for a tab to close void OnCloseTab(wxCommandEvent&); //! Called when user ask for a new tab void OnNewTab(wxCommandEvent& event); //! Creates a new tab view CHMHtmlWindow* CreateView(); //! Overload for tab height control virtual bool AddPage(wxWindow* page, const wxString& title); protected: //! Called when user asks for next notebook page void OnGoToNextPage(wxCommandEvent&); //! Called when user asks for prior notebook page void OnGoToPriorPage(wxCommandEvent&); //! Callback for the page changed wxWidgets event void OnPageChanged(wxAuiNotebookEvent&); private: wxTreeCtrl* _tcl; CHMFrame *_frame; wxString _fonts_normal_face; wxString _fonts_fixed_face; int _fonts_sizes[7]; DECLARE_EVENT_TABLE() }; #endif // __CHMHTMLNOTEBOOK_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmhtmlwindow.cpp0000644000175000001440000002476112210054152013474 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru Mac OS specific patches contributed by Chanler White "Save link as" patch contributed by Joerg Wunsch 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. */ #include #include #include #include #include #include #include #include #include #include #include #include CHMHtmlWindow::CHMHtmlWindow(wxWindow *parent, wxTreeCtrl *tc, CHMFrame *frame) : wxHtmlWindow(parent, -1, wxDefaultPosition, wxSize(200,200)), _tcl(tc), _syncTree(true), _found(false), _menu(NULL), _frame(frame), _fdlg(NULL) { _menu = new wxMenu; _menu->Append(ID_PopupForward, _("For&ward")); _menu->Append(ID_PopupBack, _("&Back")); _menu->Append(ID_CopyLink, _("Copy &link location")); _menu->Append(ID_SaveLinkAs, _("&Save link as..")); _menu->Append(ID_OpenInNewTab, _("&Open in a new tab")); _menu->AppendSeparator(); _menu->Append(ID_CopySel, _("&Copy selection")); _menu->AppendSeparator(); _menu->Append(ID_PopupFind, _("&Find in page..")); _menu->AppendSeparator(); _menu->Append(ID_PopupFullScreen, _("&Toggle fullscreen mode")); } CHMHtmlWindow::~CHMHtmlWindow() { delete _menu; delete _fdlg; } bool CHMHtmlWindow::LoadPage(const wxString& location) { wxLogNull log; wxString tmp = location; if(!tmp.Left(19).CmpNoCase(wxT("javascript:fullsize"))) tmp = tmp.AfterFirst(wxT('\'')).BeforeLast(wxT('\'')); if(_syncTree && // We should be looking for a valid page, not / (home). !location.AfterLast(wxT('/')).IsEmpty() && _tcl->GetCount() > 1) { wxFileName fwfn(tmp.AfterLast(wxT(':')).BeforeFirst(wxT('#')), wxPATH_UNIX); wxString cwd = GetParser()->GetFS()-> GetPath().AfterLast(wxT(':')); fwfn.Normalize(wxPATH_NORM_DOTS | wxPATH_NORM_ABSOLUTE, cwd, wxPATH_UNIX); // Sync will call SelectItem() on the tree item // if it finds one, and that in turn will call // LoadPage() with _syncTree set to false. Sync(_tcl->GetRootItem(), fwfn.GetFullPath(wxPATH_UNIX)); if(_found) _found = false; } return wxHtmlWindow::LoadPage(tmp); } void CHMHtmlWindow::Sync(wxTreeItemId root, const wxString& page) { if(_found) return; URLTreeItem *data = reinterpret_cast( _tcl->GetItemData(root)); wxString url; if(data) url = (data->_url).BeforeFirst(wxT('#')); if(data && !url.CmpNoCase(page)) { _found = true; _tcl->SelectItem(root); return; } wxTreeItemIdValue cookie; wxTreeItemId child = _tcl->GetFirstChild(root, cookie); for(size_t i = 0; i < _tcl->GetChildrenCount(root, FALSE); ++i) { Sync(child, page); child = _tcl->GetNextChild(root, cookie); } } wxString CHMHtmlWindow::GetPrefix(const wxString& location) const { return location.AfterLast(wxT(':')).AfterFirst( wxT('/')).BeforeLast(wxT('/')); } void CHMHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) { wxString url = link.GetHref(); LoadPage(url); if(!url.Left(7).CmpNoCase(wxT("MS-ITS:"))) _frame->UpdateCHMInfo(); } wxHtmlCell* CHMHtmlWindow::FindFirst(wxHtmlCell *parent, const wxString& word, bool wholeWords, bool caseSensitive) { wxString tmp = word; if(!parent) return NULL; if(!caseSensitive) tmp.MakeLower(); // If this cell is not a container, the for body will never happen // (GetFirstChild() will return NULL). for(wxHtmlCell *cell = parent->GetFirstChild(); cell; cell = cell->GetNext()) { wxHtmlCell *result; if((result = FindFirst(cell, word, wholeWords, caseSensitive))) return result; } wxHtmlSelection ws; ws.Set(parent, parent); wxString text = parent->ConvertToText(&ws); if(text.IsEmpty()) return NULL; if(!caseSensitive) text.MakeLower(); text.Trim(TRUE); text.Trim(FALSE); bool found = false; if(wholeWords && text == tmp) { found = true; } else if(!wholeWords && text.Find(tmp.c_str()) != -1) { found = true; } if(found) { // What is all this wxWidgets protected member crap? delete m_selection; m_selection = new wxHtmlSelection(); // !! Must see if this works now. !! m_selection->Set(parent, parent); int y; wxHtmlCell *cell = parent; for (y = 0; cell != NULL; cell = cell->GetParent()) y += cell->GetPosY(); Scroll(-1, y / wxHTML_SCROLL_STEP); Refresh(); return parent; } return NULL; } wxHtmlCell* CHMHtmlWindow::FindNext(wxHtmlCell *start, const wxString& word, bool wholeWords, bool caseSensitive) { wxHtmlCell *cell; if(!start) return NULL; for(cell = start; cell; cell = cell->GetNext()) { wxHtmlCell *result; if((result = FindFirst(cell, word, wholeWords, caseSensitive))) return result; } cell = start->GetParent(); while(cell && !cell->GetNext()) cell = cell->GetParent(); if(!cell) return NULL; return FindNext(cell->GetNext(), word, wholeWords, caseSensitive); } void CHMHtmlWindow::ClearSelection() { delete m_selection; m_selection = NULL; Refresh(); } void CHMHtmlWindow::OnCopy(wxCommandEvent& WXUNUSED(event)) { CopySelection(); } void CHMHtmlWindow::OnFind(wxCommandEvent& WXUNUSED(event)) { if(!_fdlg) { wxWindow* p = GetParent(); while(p->GetParent()) p = p->GetParent(); _fdlg = new CHMFindDialog(p, this); } _fdlg->CentreOnParent(); _fdlg->ShowModal(); _fdlg->SetFocusToTextBox(); _fdlg->Reset(); } void CHMHtmlWindow::OnForward(wxCommandEvent& WXUNUSED(event)) { HistoryForward(); } void CHMHtmlWindow::OnBack(wxCommandEvent& WXUNUSED(event)) { HistoryBack(); } void CHMHtmlWindow::OnSize(wxSizeEvent& event) { int x, y; GetViewStart(&x, &y); wxHtmlWindow::OnSize(event); Scroll(x, y); event.Skip(false); } void CHMHtmlWindow::OnCopyLink(wxCommandEvent& WXUNUSED(event)) { if(wxTheClipboard->Open()) { wxTheClipboard->SetData( new wxTextDataObject(_link)); wxTheClipboard->Close(); } } void CHMHtmlWindow::OnSaveLinkAs(wxCommandEvent& WXUNUSED(event)) { std::auto_ptr f(m_FS->OpenFile(_link)); if (f.get() == NULL) { ::wxMessageBox(_("OpenFile(") + _link + _(") failed"), _("Error"), wxOK, this); return; } wxFileName wfn(_link); wxString suggestedName = wfn.GetFullName(); if(suggestedName.IsEmpty()) suggestedName = wxT("index.html"); wxString filename = ::wxFileSelector(_("Save as"), wxT(""), suggestedName, wxT(""), wxT("*.*"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT, this); if (!filename.empty()) { wxInputStream *s = f->GetStream(); wxFileOutputStream out(filename); if (!out.IsOk()) { ::wxMessageBox(_("Error creating file ") + filename, _("Error"), wxOK, this); } else { char buffer[4096]; while (!s->Eof()) { s->Read(buffer, sizeof(buffer)); size_t nbytes = s->LastRead(); out.Write((void *)buffer, nbytes); } ::wxMessageBox(_("Saved file ") + filename, _("Success"), wxOK, this); } } } void CHMHtmlWindow::OnRightClick(wxMouseEvent& event) { if(IsSelectionEnabled()) _menu->Enable(ID_CopySel, m_selection != NULL); _menu->Enable(ID_PopupForward, HistoryCanForward()); _menu->Enable(ID_PopupBack, HistoryCanBack()); _menu->Enable(ID_CopyLink, false); _menu->Enable(ID_SaveLinkAs, false); _menu->Enable(ID_OpenInNewTab, false); int x, y; CalcUnscrolledPosition(event.m_x, event.m_y, &x, &y); wxHtmlCell *cell = GetInternalRepresentation()-> FindCellByPos(x, y); wxHtmlLinkInfo* linfo = NULL; if(cell) linfo = cell->GetLink(); if(linfo) { _link = linfo->GetHref(); _menu->Enable(ID_CopyLink, true); _menu->Enable(ID_SaveLinkAs, true); _menu->Enable(ID_OpenInNewTab, true); } PopupMenu(_menu, event.GetPosition()); } void CHMHtmlWindow::OnOpenInNewTab(wxCommandEvent& WXUNUSED(event)) { wxString link = _link; if(link.StartsWith(wxT("#"))) // anchor link = GetOpenedPage() + _link; _frame->AddHtmlView(GetParser()->GetFS()->GetPath(), link); } void CHMHtmlWindow::OnToggleFullScreen(wxCommandEvent& WXUNUSED(event)) { _frame->ToggleFullScreen(); } void CHMHtmlWindow::OnChar(wxKeyEvent& event) { int x = 0, y = 0; int xUnit = 0, yUnit = 0; switch(event.GetKeyCode()) { case WXK_SPACE: event.m_keyCode = WXK_PAGEDOWN; break; case WXK_BACK: event.m_keyCode = WXK_PAGEUP; break; case WXK_ESCAPE: _frame->ToggleFullScreen(true); break; case 'g': case WXK_HOME: Scroll(0, 0); break; case WXK_END: case 'G': GetVirtualSize(&x, &y); GetScrollPixelsPerUnit(&xUnit, &yUnit); Scroll(0, y / yUnit); break; case 'j': event.m_keyCode = WXK_DOWN; break; case 'k': event.m_keyCode = WXK_UP; break; case 'h': event.m_keyCode = WXK_LEFT; break; case 'l': event.m_keyCode = WXK_RIGHT; break; default: break; } event.Skip(); } void CHMHtmlWindow::OnSetTitle(const wxString& title) { // Direct access to the notebook // TODO: design a new event type CHMHtmlNotebook* parent = dynamic_cast(GetParent()); if(parent) parent->OnChildrenTitleChanged(title); wxHtmlWindow::OnSetTitle(title); } BEGIN_EVENT_TABLE(CHMHtmlWindow, wxHtmlWindow) EVT_MENU(ID_CopySel, CHMHtmlWindow::OnCopy) EVT_MENU(ID_PopupFind, CHMHtmlWindow::OnFind) EVT_MENU(ID_PopupForward, CHMHtmlWindow::OnForward) EVT_MENU(ID_PopupBack, CHMHtmlWindow::OnBack) EVT_MENU(ID_CopyLink, CHMHtmlWindow::OnCopyLink) EVT_MENU(ID_SaveLinkAs, CHMHtmlWindow::OnSaveLinkAs) EVT_MENU(ID_OpenInNewTab, CHMHtmlWindow::OnOpenInNewTab) EVT_MENU(ID_PopupFullScreen, CHMHtmlWindow::OnToggleFullScreen) EVT_CHAR(CHMHtmlWindow::OnChar) EVT_RIGHT_DOWN(CHMHtmlWindow::OnRightClick) EVT_SIZE(CHMHtmlWindow::OnSize) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmhtmlwindow.h0000644000175000001440000001241112210054152013126 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMHTMLWINDOW_H_ #define __CHMHTMLWINDOW_H_ #include #include #include #include #include //! Event IDs. enum { ID_CopySel = 1216, ID_CopyLink, ID_SaveLinkAs, ID_PopupForward, ID_PopupBack, ID_PopupFind, ID_PopupFullScreen, ID_OpenInNewTab, }; //! Minimize dependencies. Forward declaration. class CHMFrame; /*! \class wxHtmlWindow \brief wxWidgets HTML widget class. */ /*! \brief Custom HTML widget class. Needed for sychnronization between the topics tree control and the currently displayed page. */ class CHMHtmlWindow : public wxHtmlWindow { public: /*! \brief Initializes the widget. \param parent The parent widget. \param tc Pointer to the tree control we want to synchronize with. \param frame Outer frame. */ CHMHtmlWindow(wxWindow *parent, wxTreeCtrl *tc, CHMFrame* frame); //! Destructor. Deletes heap objects allocated in the constructor. ~CHMHtmlWindow(); virtual void OnSetTitle(const wxString& title); //! Override. Looks up the wanted page in the tree and selects it. bool LoadPage(const wxString& location); /*! \brief Dictates the behaviour of LoadPage(). If SetSync() has been called with a true parameter, the tree control will be updated by LoadPage(). Otherwise, it will not be updated. \param value Synchronize the tree widget on load? */ void SetSync(bool value) { _syncTree = value; } /*! Returns true if the tree control's EVT_TREE_SEL_CHANGED event happened as a result of the CHMHtmlWindow calling SelectItem() on it. */ bool IsCaller() const { return _found; } public: /*! \brief Finds the first occurence of word in the displayed page. \param parent Root of the wxHtmlCell tree where the search should begin. \param word The word we're looking for. If more words separated by spaces are typed in, only the first one is taken into account. \param wholeWords If true, will search for words that match word exactly. \param caseSensitive If true, the search will be performed case sensitive. \return A valid cell if the result was found, NULL otherwise. */ wxHtmlCell* FindFirst(wxHtmlCell* parent, const wxString& word, bool wholeWords, bool caseSensitive); /*! \brief Same as FindFirst(), but continues the search from start (start is considered in the search process). */ wxHtmlCell* FindNext(wxHtmlCell *start, const wxString& word, bool wholeWords, bool caseSensitive); //! Clears the current selection. void ClearSelection(); // Needs to be public, cause I call it from CHMHtmlFrame. //! Called when the user selects 'Find' from the popup menu. void OnFind(wxCommandEvent& event); //! Called when the user selects 'Copy' from the popup menu. void OnCopy(wxCommandEvent& event); protected: //! Called when the user selects 'Forward' from the popup menu. void OnForward(wxCommandEvent& event); //! Called when the user selects 'Back' from the popup menu. void OnBack(wxCommandEvent& event); //! Called when the user selects 'Copy link' from the popup menu. void OnCopyLink(wxCommandEvent& event); //! Called when the user selects 'Save link as' from the popup menu. void OnSaveLinkAs(wxCommandEvent& event); //! Called when the user presses a key void OnChar(wxKeyEvent &event); //! Called on widget resize. void OnSize(wxSizeEvent& event); //! Called when the user selects 'Save link as' from the popup menu. void OnOpenInNewTab(wxCommandEvent& event); //! Called when the 'Toggle fullscreen' is selected from the popup menu. void OnToggleFullScreen(wxCommandEvent& event); protected: //! Called when the user right clicks the HTML window. void OnRightClick(wxMouseEvent& event); //! Overridden. Called when the user clicks on a link. void OnLinkClicked(const wxHtmlLinkInfo& link); private: //! Helper. Recursively looks for the opened page in the tree. void Sync(wxTreeItemId root, const wxString& page); //! Helper. Returns the prefix of the currently loaded page. wxString GetPrefix(const wxString& location) const; private: wxTreeCtrl *_tcl; bool _syncTree; bool _found; wxMenu *_menu; CHMFrame *_frame; wxString _link; CHMFindDialog* _fdlg; private: DECLARE_EVENT_TABLE() }; #endif // __CHMHTMLWINDOW_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmindexpanel.cpp0000644000175000001440000000466212210054152013425 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include #include #include CHMIndexPanel::CHMIndexPanel(wxWindow *parent, CHMHtmlNotebook *nbhtml) : wxPanel(parent), _nbhtml(nbhtml), _lc(NULL), _navigate(true) { wxSizer *sizer = new wxBoxSizer(wxVERTICAL); SetAutoLayout(TRUE); SetSizer(sizer); _text = new wxTextCtrl(this, ID_SearchIndex, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); _lc = new CHMListCtrl(this, nbhtml, ID_IndexClicked); sizer->Add(_text, 0, wxEXPAND | wxALL, 2); sizer->Add(_lc, 1, wxALL | wxEXPAND, 2); } void CHMIndexPanel::Reset() { _text->Clear(); _lc->Reset(); } void CHMIndexPanel::SetNewFont(const wxFont& font) { _lc->SetFont(font); } void CHMIndexPanel::OnIndexSelRet(wxCommandEvent& WXUNUSED(event)) { if(_navigate) { //_html->AbsoluteFollows(); _lc->LoadSelected(); } } void CHMIndexPanel::OnIndexSel(wxListEvent& WXUNUSED(event)) { if(_navigate) { //_html->AbsoluteFollows(); _lc->LoadSelected(); } } void CHMIndexPanel::OnText(wxCommandEvent& WXUNUSED(event)) { _navigate = false; _lc->FindBestMatch(_text->GetLineText(0)); _navigate = true; } BEGIN_EVENT_TABLE(CHMIndexPanel, wxPanel) EVT_TEXT(ID_SearchIndex, CHMIndexPanel::OnText) EVT_TEXT_ENTER(ID_SearchIndex, CHMIndexPanel::OnIndexSelRet) EVT_LIST_ITEM_SELECTED(ID_IndexClicked, CHMIndexPanel::OnIndexSel) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmindexpanel.h0000644000175000001440000000456212210054137013074 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMINDEXPANEL_H_ #define __CHMINDEXPANEL_H_ #include #include #include class CHMHtmlNotebook; class CHMListCtrl; /*! \class wxPanel \brief generic wxWidgets panel widget class. */ //! IDs for various widget events. enum { ID_SearchIndex = 1500, ID_IndexClicked, }; //! Custom panel for displaying the .chm index (if available). class CHMIndexPanel : public wxPanel { public: /*! \brief Initializes the panel. \param parent Parent widget. \param nbhtml HTML-capable widget used for displaying pages from the index. */ CHMIndexPanel(wxWindow *parent, CHMHtmlNotebook* nbhtml); public: //! Accesor for the CHMListCtrl used by this panel. CHMListCtrl* GetResultsList() { return _lc; } //! Clears the textbox and removes all items from the list control. void Reset(); //! Sets the font. void SetNewFont(const wxFont& font); protected: //! This gets called when the user clicks on a list item. void OnIndexSel(wxListEvent& event); //! This gets called when the user presses enter on a list item. void OnIndexSelRet(wxCommandEvent& event); //! Called whenever the user types a letter in the textbox. void OnText(wxCommandEvent& event); private: CHMHtmlNotebook* _nbhtml; wxTextCtrl* _text; CHMListCtrl* _lc; bool _navigate; private: DECLARE_EVENT_TABLE() }; #endif // __CHMINDEXPANEL_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chminputstream.cpp0000644000175000001440000000771412210054152013652 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include /*---------------------------------------------------------------------- * class CHMInputStream static members */ CHMFile *CHMInputStream::_archiveCache = NULL; wxString CHMInputStream::_path; void CHMInputStream::Cleanup() { if(_archiveCache != NULL) { delete _archiveCache; _archiveCache = NULL; } } CHMFile* CHMInputStream::GetCache() { return _archiveCache; } /*---------------------------------------------------------------------- * rest of class CHMInputStream implementation */ CHMInputStream::CHMInputStream(const wxString& archive, const wxString& file) : _currPos(0) { wxString filename = file; if(!archive.IsEmpty()) _path = archive.BeforeLast(wxT('/')) + wxT("/"); memset(&_ui, 0, sizeof(_ui)); // Maybe the cached chmFile* isn't valid anymore, // or maybe there is no chached chmFile* yet. if(!archive.IsEmpty() && !Init(archive)) { m_lasterror = wxSTREAM_READ_ERROR; return; } // Somebody's looking for the homepage. if(file.IsSameAs(wxT("/"))) filename = _archiveCache->HomePage(); if(!filename.Left(8).CmpNoCase(wxT("/MS-ITS:"))) { // If this ever happens chances are Microsoft // decided that even if we went through the // trouble to open this archive and check out // the index file, the index file is just a // link to a file in another archive. wxString arch_link = filename.AfterFirst(wxT(':')).BeforeFirst(wxT(':')); filename = filename.AfterLast(wxT(':')); // Reset the cached chmFile* and all. if(!Init(arch_link)) if(!Init(_path + arch_link)) { m_lasterror = wxSTREAM_READ_ERROR; return; } } assert(_archiveCache != NULL); // See if the file really is in the archive. if(!_archiveCache->ResolveObject(filename, &_ui)) { m_lasterror = wxSTREAM_READ_ERROR; return; } } size_t CHMInputStream::GetSize() const { return _ui.length; } bool CHMInputStream::Eof() const { return (uint64_t)_currPos >= _ui.length; } size_t CHMInputStream::OnSysRead(void *buffer, size_t bufsize) { if((uint64_t)_currPos >= _ui.length) { m_lasterror = wxSTREAM_EOF; return 0; } if(!_archiveCache) return 0; if((uint64_t)(_currPos + bufsize) > _ui.length) bufsize = _ui.length - _currPos; bufsize = _archiveCache->RetrieveObject(&_ui, (unsigned char *)buffer, _currPos, bufsize); _currPos += bufsize; return bufsize; } wxFileOffset CHMInputStream::OnSysSeek(wxFileOffset seek, wxSeekMode mode) { switch(mode) { case wxFromCurrent: _currPos += seek; break; case wxFromStart: _currPos = seek; break; case wxFromEnd: _currPos = _ui.length - 1 + seek; break; default: _currPos = seek; } return _currPos; } bool CHMInputStream::Init(const wxString& archive) { if(_archiveCache == NULL || !_archiveCache->ArchiveName().IsSameAs(archive)) { Cleanup(); _archiveCache = new CHMFile(archive); if(!_archiveCache->IsOk()) { Cleanup(); return false; } } return true; } /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chminputstream.h0000644000175000001440000000625112210054152013312 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMINPUTSTREAM_H_ #define __CHMINPUTSTREAM_H_ #include #include /*! \class wxInputStream \brief wxWidgets input stream class. */ //! Input stream from a .chm archive. class CHMInputStream : public wxInputStream { public: /*! \brief Creates a stream. \param archive The .chm file name on disk. It makes sense to pass the empty string if you're sure file is a link to a page, in the form of "/MS-ITS:archive.chm::/filename.html". \param file The file requested from the archive. */ CHMInputStream(const wxString& archive, const wxString& file); //! Returns the size of the file. virtual size_t GetSize() const; //! True if EOF has been found. virtual bool Eof() const; /*! \brief Returns the static CHMFile pointer associated with this stream. Archives are being cached until it is explicitly requested to open a different one. \return A valid pointer to a CHMFile object or NULL if no .chm file has been opened yet. */ static CHMFile* GetCache(); /*! \brief Cleans up the cache. Has to be public and static since the stream doesn't know how many other streams using the same cache will be created after it. Somebody else has to turn off the lights, and in this case it's CHMFSHandler. */ static void Cleanup(); protected: /*! \brief Attempts to read a chunk from the stream. \param buffer The read data is being placed here. \param bufsize Number of bytes requested. \return Number of bytes actually read. */ virtual size_t OnSysRead(void *buffer, size_t bufsize); /*! \brief Seeks to the requested position in the file. \param seek Where to seek. \param mode Seek from the beginning, current position, etc. \return Position in the file. */ virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode); /*! \brief Asks what is the current position in the file. \return Current position. */ virtual wxFileOffset OnSysTell() const { return _currPos; } private: //! Helper. Inits the cache. bool Init(const wxString& archive); private: static CHMFile *_archiveCache; off_t _currPos; chmUnitInfo _ui; static wxString _path; }; #endif // __CHMINPUTSTREAM_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmlistctrl.cpp0000644000175000001440000000720312210054152013130 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru ListDirty() patch contributed by Iulian Dragos 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. */ #include #include #include #include #define INDEX_HINT_SIZE 2048 // Helper int CompareItemPairs(CHMListPairItem *item1, CHMListPairItem *item2) { return (item1->_title).CmpNoCase(item2->_title); } // CHMListCtrl implementation CHMListCtrl::CHMListCtrl(wxWindow *parent, CHMHtmlNotebook *nbhtml, wxWindowID id) : wxListCtrl(parent, id, wxDefaultPosition, wxDefaultSize, wxLC_VIRTUAL | wxLC_REPORT | wxLC_NO_HEADER | wxLC_SINGLE_SEL | wxLC_SORT_ASCENDING | wxSUNKEN_BORDER), _items(CompareItemPairs), _nbhtml(nbhtml) { InsertColumn(0, wxEmptyString); SetItemCount(0); _items.Alloc(INDEX_HINT_SIZE); } CHMListCtrl::~CHMListCtrl() { // Clean the items up. ResetItems(); } void CHMListCtrl::Reset() { ResetItems(); DeleteAllItems(); UpdateUI(); } void CHMListCtrl::AddPairItem(const wxString& title, const wxString& url) { _items.Add(new CHMListPairItem(title, url)); SetItemCount(_items.GetCount()); } void CHMListCtrl::LoadSelected() { long item = -1; item = GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if(item == -1 || item > (long)_items.GetCount() - 1) return; CHMFile *chmf = CHMInputStream::GetCache(); if(chmf) { wxString fname = _items[item]->_url; if(!fname.StartsWith(wxT("file:"))) fname = wxString(wxT("file:")) + chmf->ArchiveName() + wxT("#xchm:/") + _items[item]->_url; _nbhtml->LoadPageInCurrentView(fname); } } void CHMListCtrl::UpdateUI() { SetColumnWidth(0, GetClientSize().GetWidth()); } void CHMListCtrl::FindBestMatch(const wxString& title) { wxListItem info; info.m_col = 0; long sz = GetItemCount(); int tl = title.length(); for(long i = 0; i < sz; ++i) { info.m_itemId = i; GetItem(info); if(!info.m_text.Left(tl).CmpNoCase(title)) { EnsureVisible(i); SetItemState(i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); break; } } Refresh(); wxWindow::Update(); } void CHMListCtrl::ResetItems() { for(long i = 0; i < (long)_items.GetCount(); ++i) { if(_items[i] != NULL) delete _items[i]; } _items.Empty(); } void CHMListCtrl::OnSize(wxSizeEvent& event) { UpdateUI(); event.Skip(); } wxString CHMListCtrl::OnGetItemText(long item, long column) const { // Is this even possible? item == -1 or item > size - 1? if(column != 0 || item == -1 || item > (long)_items.GetCount() - 1) return wxT(""); return _items[item]->_title; } BEGIN_EVENT_TABLE(CHMListCtrl, wxListCtrl) EVT_SIZE(CHMListCtrl::OnSize) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmlistctrl.h0000644000175000001440000000703212210054137012600 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru ListDirty() patch contributed by Iulian Dragos 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. */ #ifndef __CHMLISTCTRL_H_ #define __CHMLISTCTRL_H_ #include #include #include #include // Forward declarations. class CHMHtmlNotebook; //! Item to store in the virtual list control struct CHMListPairItem { //! Trivial constructor CHMListPairItem(const wxString& title, const wxString& url) : _title(title), _url(url) {} //! This will show up in the list. wxString _title; //! This is what the title points to. wxString _url; }; //! Declare a wxWidgets sorted array WX_DEFINE_SORTED_ARRAY(CHMListPairItem *, ItemPairArray); //! Comparison function to use with the sorted array above. int CompareItemPairs(CHMListPairItem *item1, CHMListPairItem *item2); /*! \class wxListCtrl \brief wxWidgets list control class. */ //! List control class meant to emulate the look and feel of a wxListBox. class CHMListCtrl : public wxListCtrl { public: /*! \brief Initializes the custom list control. \param parent The parent widget. \param nbhtml Pointer to a CHMHtmlWindow that I'll associate with this object so that selecting an item from the list will display the corresponding page in the HTML window. \param id Widget id. */ CHMListCtrl(wxWindow *parent, CHMHtmlNotebook *nbhtml, wxWindowID id = -1); //! Cleanup. ~CHMListCtrl(); public: //! Cleans up and removes all the list items. void Reset(); /*! \brief Adds a title:url pair to the list. The title is the part that gets displayed, the url is tha page where the HTML window should go when the item is being clicked. \param title The title to add. \param url The title's associated url. */ void AddPairItem(const wxString& title, const wxString& url); //! Loads the page that corresponds to the item currently selected. void LoadSelected(); //! Should be called each time the list control's state changes. void UpdateUI(); /*! \brief Finds the list item that is the best match. \param title The string to match against. */ void FindBestMatch(const wxString& title); protected: //! Gets called when the widget is being resized. void OnSize(wxSizeEvent& event); //! Gets called when an item needs to be displayed. wxString OnGetItemText(long item, long column) const; private: //! Delete/empty the items in the item array. void ResetItems(); private: ItemPairArray _items; CHMHtmlNotebook *_nbhtml; int _currentSize; private: DECLARE_EVENT_TABLE() }; #endif // __CHMLISTCTRL_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmsearchpanel.cpp0000644000175000001440000001575112210054137013567 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include #include #include #include #include #include #include #include #include CHMSearchPanel::CHMSearchPanel(wxWindow *parent, wxTreeCtrl *topics, CHMHtmlNotebook *nbhtml) : wxPanel(parent), _tcl(topics), _text(NULL), _partial(NULL), _titles(NULL), _search(NULL), _results(NULL), _nbhtml(nbhtml) { wxSizer *sizer = new wxBoxSizer(wxVERTICAL); SetAutoLayout(TRUE); SetSizer(sizer); _text = new wxTextCtrl(this, ID_SearchText, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); _partial = new wxCheckBox(this, -1, _("Get partial matches")); _titles = new wxCheckBox(this, -1, _("Search titles only")); _search = new wxButton(this, ID_SearchButton, _("Search")); #if wxUSE_TOOLTIPS _partial->SetToolTip(_("Allow partial matches.")); _titles->SetToolTip(_("Only search in the contents' titles.")); _search->SetToolTip(_("Search contents for occurences of the specified text.")); #endif _results = new CHMListCtrl(this, nbhtml, ID_Results); sizer->Add(_text, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 2); sizer->Add(_partial, 0, wxLEFT | wxRIGHT | wxTOP, 10); sizer->Add(_titles, 0, wxLEFT | wxRIGHT, 10); sizer->Add(_search, 0, wxALL, 10); sizer->Add(_results, 1, wxALL | wxEXPAND, 2); GetConfig(); } CHMSearchPanel::~CHMSearchPanel() { SetConfig(); } void CHMSearchPanel::OnSearch(wxCommandEvent& WXUNUSED(event)) { wxBusyCursor bcr; _results->Reset(); wxString sr = _text->GetLineText(0); wxString word; if (sr.IsEmpty()) return; CHMFile* chmf = CHMInputStream::GetCache(); if(!chmf) return; sr.MakeLower(); sr.Replace(wxT("+"), wxT(" "), TRUE); sr.Replace(wxT("-"), wxT(" "), TRUE); sr.Replace(wxT("#"), wxT(" "), TRUE); sr.Replace(wxT("@"), wxT(" "), TRUE); sr.Replace(wxT("^"), wxT(" "), TRUE); sr.Replace(wxT("&"), wxT(" "), TRUE); sr.Replace(wxT("%"), wxT(" "), TRUE); wxStringTokenizer tkz(sr, wxT(" \t\r\n")); while(word.IsEmpty()) if(tkz.HasMoreTokens()) word = tkz.GetNextToken(); CHMSearchResults h1; CHMSearchResults::iterator i; chmf->IndexSearch(word, !_partial->IsChecked(), _titles->IsChecked(), &h1); while(tkz.HasMoreTokens()) { wxString token = tkz.GetNextToken(); if(token.IsEmpty()) continue; CHMSearchResults h2, tmp; chmf->IndexSearch(token, !_partial->IsChecked(), _titles->IsChecked(), &h2); if(!h2.empty()) { for(i = h2.begin(); i != h2.end(); ++i) if(h1.find(i->first) != h1.end()) tmp[i->first] = i->second; h1 = tmp; } else { h1.clear(); break; } } if(_titles->IsChecked() && h1.empty()) { PopulateList(_tcl->GetRootItem(), sr, !_partial->IsChecked()); _results->UpdateUI(); return; } if(!h1.empty()) for(i = h1.begin(); i != h1.end(); ++i) { wxString url = (i->first.StartsWith(wxT("/")) ? i->first : (wxString(wxT("/") + i->first))); _results->AddPairItem(i->second, url); } _results->UpdateUI(); } void CHMSearchPanel::PopulateList(wxTreeItemId root, wxString& text, bool wholeWords) { static CHMFile *chmf = CHMInputStream::GetCache(); if(!chmf) return; URLTreeItem *data = reinterpret_cast( _tcl->GetItemData(root)); if(data && (!data->_url.IsEmpty())) { wxString title = _tcl->GetItemText(root); if(TitleSearch(title, text, false, wholeWords)) _results->AddPairItem(title, data->_url); } wxTreeItemIdValue cookie; wxTreeItemId child = _tcl->GetFirstChild(root, cookie); for(size_t i = 0; i < _tcl->GetChildrenCount(root, FALSE); ++i) { PopulateList(child, text, wholeWords); child = _tcl->GetNextChild(root, cookie); } } static inline bool WHITESPACE(wxChar c) { return c == wxT(' ') || c == wxT('\n') || c == wxT('\r') || c == wxT('\t'); } bool CHMSearchPanel::TitleSearch(const wxString& title, wxString& text, bool caseSensitive, bool wholeWords) { int i, j, lng = title.Length(); bool found = FALSE; wxString tmp = title; if (!caseSensitive) { tmp.MakeLower(); text.MakeLower(); } wxStringTokenizer tkz(text, wxT(" \t\r\n")); while(tkz.HasMoreTokens()) { found = FALSE; wxString token = tkz.GetNextToken(); if(token.IsEmpty()) continue; int wrd = token.Length(); const wxChar *buf1 = tmp.c_str(), *buf2 = token.c_str(); if(wholeWords) { for(i = 0; i < lng - wrd + 1; ++i) { if(WHITESPACE(buf1[i])) continue; j = 0; while(buf1[i + j] == buf2[j] && j < wrd) ++j; if (j == wrd && (WHITESPACE(buf1[i + j]) || i+j == lng)) if(i == 0 || WHITESPACE(buf1[i - 1])) { found = TRUE; break; } } } else { for (i = 0; i < lng - wrd + 1; ++i) { j = 0; while ((j < wrd) && (buf1[i + j] == buf2[(size_t)j])) ++j; if (j == wrd && (i == 0 || WHITESPACE(buf1[i - 1]))) { found = TRUE; break; } } } if(!found) break; } return found; } void CHMSearchPanel::OnSearchSel(wxListEvent& WXUNUSED(event)) { _results->LoadSelected(); } void CHMSearchPanel::Reset() { _text->Clear(); _results->Reset(); } void CHMSearchPanel::SetNewFont(const wxFont& font) { _results->SetFont(font); } void CHMSearchPanel::SetConfig() { wxConfig config(wxT("xchm")); config.Write(wxT("/Search/partialWords"), (long)_partial->GetValue()); config.Write(wxT("/Search/titlesOnly"), (long)_titles->GetValue()); } void CHMSearchPanel::GetConfig() { long partial, titles; wxConfig config(wxT("xchm")); if(config.Read(wxT("/Search/partialWords"), &partial)) { config.Read(wxT("/Search/titlesOnly"), &titles); _partial->SetValue(partial); _titles->SetValue(titles); } } BEGIN_EVENT_TABLE(CHMSearchPanel, wxPanel) EVT_LIST_ITEM_SELECTED(ID_Results, CHMSearchPanel::OnSearchSel) EVT_BUTTON(ID_SearchButton, CHMSearchPanel::OnSearch) EVT_TEXT_ENTER(ID_SearchText, CHMSearchPanel::OnSearch) END_EVENT_TABLE() /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/chmsearchpanel.h0000644000175000001440000000615112210054137013226 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __CHMSEARCHPANEL_HPP_ #define __CHMSEARCHPANEL_HPP_ #include #include #include #include #include #include #include #include #include #include // Forward declaration. class CHMListCtrl; class CHMHtmlNotebook; /*! \class wxPanel \brief generic wxWidgets panel widget class. */ //! IDs for various widget events. enum { ID_SearchText = 1024, ID_SearchButton, ID_Results, }; //! Custom built search panel. class CHMSearchPanel : public wxPanel { public: /*! \brief Initialized the search panel. \param parent Parent widget. \param topics A wxTreeCtrl* that will be iterated over recursively in order to figure out which files from the archive to be searched. \param nbhtml The widget that can load a html page found as a result of searching. */ CHMSearchPanel(wxWindow *parent, wxTreeCtrl *topics, CHMHtmlNotebook* nbhtml); //! Calls SetConfig(). ~CHMSearchPanel(); //! Resets the panel (clears the result list and the textbox.) void Reset(); //! Sets the font. void SetNewFont(const wxFont& font); protected: /*! This gets called when the user clicks the Search button or presses Enter in the textbox. */ void OnSearch(wxCommandEvent& event); //! This gets called when the user clicks on a result. void OnSearchSel(wxListEvent& event); private: //! Helper. Searches through the tree recursively. void PopulateList(wxTreeItemId root, wxString& text, bool wholeWords); //! Helper. Grep searches page titles for the given text. bool TitleSearch(const wxString& title, wxString& text, bool caseSensitive, bool wholeWords); //! Reads the search configuration from .xchm (case sensitive, etc.). void GetConfig(); //! Writes the search configuration to .xchm. void SetConfig(); private: wxTreeCtrl* _tcl; wxTextCtrl* _text; wxCheckBox* _partial; wxCheckBox* _titles; wxButton* _search; CHMListCtrl* _results; CHMHtmlNotebook* _nbhtml; private: DECLARE_EVENT_TABLE() }; #endif // __CHMSEARCHPANEL_HPP_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/hhcparser.cpp0000644000175000001440000003065212210054137012566 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #include #include #include #include #include #include #ifdef HAVE_CONFIG_H # include #endif #include namespace { struct HTMLChar { const wxChar* name; unsigned code; }; extern "C" int HTMLCharCompare(const void *key, const void *item) { return wxStrcmp((wxChar*)key, ((HTMLChar*)item)->name); } HTMLChar substitutions[] = { { wxT("AElig"),198 }, { wxT("Aacute"),193 }, { wxT("Acirc"),194 }, { wxT("Agrave"),192 }, { wxT("Alpha"),913 }, { wxT("Aring"),197 }, { wxT("Atilde"),195 }, { wxT("Auml"),196 }, { wxT("Beta"),914 }, { wxT("Ccedil"),199 }, { wxT("Chi"),935 }, { wxT("Dagger"),8225 }, { wxT("Delta"),916 }, { wxT("Dstrok"),208 }, { wxT("ETH"),208 }, { wxT("Eacute"),201 }, { wxT("Ecirc"),202 }, { wxT("Egrave"),200 }, { wxT("Epsilon"),917 }, { wxT("Eta"),919 }, { wxT("Euml"),203 }, { wxT("Gamma"),915 }, { wxT("Iacute"),205 }, { wxT("Icirc"),206 }, { wxT("Igrave"),204 }, { wxT("Iota"),921 }, { wxT("Iuml"),207 }, { wxT("Kappa"),922 }, { wxT("Lambda"),923 }, { wxT("Mu"),924 }, { wxT("Ntilde"),209 }, { wxT("Nu"),925 }, { wxT("OElig"),338 }, { wxT("Oacute"),211 }, { wxT("Ocirc"),212 }, { wxT("Ograve"),210 }, { wxT("Omega"),937 }, { wxT("Omicron"),927 }, { wxT("Oslash"),216 }, { wxT("Otilde"),213 }, { wxT("Ouml"),214 }, { wxT("Phi"),934 }, { wxT("Pi"),928 }, { wxT("Prime"),8243 }, { wxT("Psi"),936 }, { wxT("Rho"),929 }, { wxT("Scaron"),352 }, { wxT("Sigma"),931 }, { wxT("THORN"),222 }, { wxT("Tau"),932 }, { wxT("Theta"),920 }, { wxT("Uacute"),218 }, { wxT("Ucirc"),219 }, { wxT("Ugrave"),217 }, { wxT("Upsilon"),933 }, { wxT("Uuml"),220 }, { wxT("Xi"),926 }, { wxT("Yacute"),221 }, { wxT("Yuml"),376 }, { wxT("Zeta"),918 }, { wxT("aacute"),225 }, { wxT("acirc"),226 }, { wxT("acute"),180 }, { wxT("aelig"),230 }, { wxT("agrave"),224 }, { wxT("alefsym"),8501 }, { wxT("alpha"),945 }, { wxT("amp"),38 }, { wxT("and"),8743 }, { wxT("ang"),8736 }, { wxT("aring"),229 }, { wxT("asymp"),8776 }, { wxT("atilde"),227 }, { wxT("auml"),228 }, { wxT("bdquo"),8222 }, { wxT("beta"),946 }, { wxT("brvbar"),166 }, { wxT("bull"),8226 }, { wxT("cap"),8745 }, { wxT("ccedil"),231 }, { wxT("cedil"),184 }, { wxT("cent"),162 }, { wxT("chi"),967 }, { wxT("circ"),710 }, { wxT("clubs"),9827 }, { wxT("cong"),8773 }, { wxT("copy"),169 }, { wxT("crarr"),8629 }, { wxT("cup"),8746 }, { wxT("curren"),164 }, { wxT("dArr"),8659 }, { wxT("dagger"),8224 }, { wxT("darr"),8595 }, { wxT("deg"),176 }, { wxT("delta"),948 }, { wxT("diams"),9830 }, { wxT("divide"),247 }, { wxT("eacute"),233 }, { wxT("ecirc"),234 }, { wxT("egrave"),232 }, { wxT("empty"),8709 }, { wxT("emsp"),8195 }, { wxT("ensp"),8194 }, { wxT("epsilon"),949 }, { wxT("equiv"),8801 }, { wxT("eta"),951 }, { wxT("eth"),240 }, { wxT("euml"),235 }, { wxT("euro"),8364 }, { wxT("exist"),8707 }, { wxT("fnof"),402 }, { wxT("forall"),8704 }, { wxT("frac12"),189 }, { wxT("frac14"),188 }, { wxT("frac34"),190 }, { wxT("frasl"),8260 }, { wxT("gamma"),947 }, { wxT("ge"),8805 }, { wxT("gt"),62 }, { wxT("hArr"),8660 }, { wxT("harr"),8596 }, { wxT("hearts"),9829 }, { wxT("hellip"),8230 }, { wxT("iacute"),237 }, { wxT("icirc"),238 }, { wxT("iexcl"),161 }, { wxT("igrave"),236 }, { wxT("image"),8465 }, { wxT("infin"),8734 }, { wxT("int"),8747 }, { wxT("iota"),953 }, { wxT("iquest"),191 }, { wxT("isin"),8712 }, { wxT("iuml"),239 }, { wxT("kappa"),954 }, { wxT("lArr"),8656 }, { wxT("lambda"),955 }, { wxT("lang"),9001 }, { wxT("laquo"),171 }, { wxT("larr"),8592 }, { wxT("lceil"),8968 }, { wxT("ldquo"),8220 }, { wxT("le"),8804 }, { wxT("lfloor"),8970 }, { wxT("lowast"),8727 }, { wxT("loz"),9674 }, { wxT("lrm"),8206 }, { wxT("lsaquo"),8249 }, { wxT("lsquo"),8216 }, { wxT("lt"),60 }, { wxT("macr"),175 }, { wxT("mdash"),8212 }, { wxT("micro"),181 }, { wxT("middot"),183 }, { wxT("minus"),8722 }, { wxT("mu"),956 }, { wxT("nabla"),8711 }, { wxT("nbsp"),160 }, { wxT("ndash"),8211 }, { wxT("ne"),8800 }, { wxT("ni"),8715 }, { wxT("not"),172 }, { wxT("notin"),8713 }, { wxT("nsub"),8836 }, { wxT("ntilde"),241 }, { wxT("nu"),957 }, { wxT("oacute"),243 }, { wxT("ocirc"),244 }, { wxT("oelig"),339 }, { wxT("ograve"),242 }, { wxT("oline"),8254 }, { wxT("omega"),969 }, { wxT("omicron"),959 }, { wxT("oplus"),8853 }, { wxT("or"),8744 }, { wxT("ordf"),170 }, { wxT("ordm"),186 }, { wxT("oslash"),248 }, { wxT("otilde"),245 }, { wxT("otimes"),8855 }, { wxT("ouml"),246 }, { wxT("para"),182 }, { wxT("part"),8706 }, { wxT("permil"),8240 }, { wxT("perp"),8869 }, { wxT("phi"),966 }, { wxT("pi"),960 }, { wxT("piv"),982 }, { wxT("plusmn"),177 }, { wxT("pound"),163 }, { wxT("prime"),8242 }, { wxT("prod"),8719 }, { wxT("prop"),8733 }, { wxT("psi"),968 }, { wxT("quot"),34 }, { wxT("rArr"),8658 }, { wxT("radic"),8730 }, { wxT("rang"),9002 }, { wxT("raquo"),187 }, { wxT("rarr"),8594 }, { wxT("rceil"),8969 }, { wxT("rdquo"),8221 }, { wxT("real"),8476 }, { wxT("reg"),174 }, { wxT("rfloor"),8971 }, { wxT("rho"),961 }, { wxT("rlm"),8207 }, { wxT("rsaquo"),8250 }, { wxT("rsquo"),8217 }, { wxT("sbquo"),8218 }, { wxT("scaron"),353 }, { wxT("sdot"),8901 }, { wxT("sect"),167 }, { wxT("shy"),173 }, { wxT("sigma"),963 }, { wxT("sigmaf"),962 }, { wxT("sim"),8764 }, { wxT("spades"),9824 }, { wxT("sub"),8834 }, { wxT("sube"),8838 }, { wxT("sum"),8721 }, { wxT("sup"),8835 }, { wxT("sup1"),185 }, { wxT("sup2"),178 }, { wxT("sup3"),179 }, { wxT("supe"),8839 }, { wxT("szlig"),223 }, { wxT("tau"),964 }, { wxT("there4"),8756 }, { wxT("theta"),952 }, { wxT("thetasym"),977 }, { wxT("thinsp"),8201 }, { wxT("thorn"),254 }, { wxT("tilde"),732 }, { wxT("times"),215 }, { wxT("trade"),8482 }, { wxT("uArr"),8657 }, { wxT("uacute"),250 }, { wxT("uarr"),8593 }, { wxT("ucirc"),251 }, { wxT("ugrave"),249 }, { wxT("uml"),168 }, { wxT("upsih"),978 }, { wxT("upsilon"),965 }, { wxT("uuml"),252 }, { wxT("weierp"),8472 }, { wxT("xi"),958 }, { wxT("yacute"),253 }, { wxT("yen"),165 }, { wxT("yuml"),255 }, { wxT("zeta"),950 }, { wxT("zwj"),8205 }, { wxT("zwnj"),8204 }, {NULL, 0} }; } #define TIME_TO_YIELD 1024 HHCParser::HHCParser(wxFontEncoding enc, wxTreeCtrl *tree, CHMListCtrl *list) : _level(0), _inquote(false), _intag(false), _inobject(false), _tree(tree), _list(list), _enc(enc), _counter(0), _htmlChars(false) { memset(_parents, 0, TREE_BUF_SIZE*sizeof(wxTreeItemId)); createCSConvPtr(_cvPtr, _enc); if(_tree) _parents[_level] = _tree->GetRootItem(); } void HHCParser::parse(const char* chunk) { while(*chunk) { switch(*chunk) { case '\"': _inquote = !_inquote; break; case '<': if(!_inquote) { _intag = true; _tag = ""; ++chunk; continue; } case '>': if(!_inquote) { handleTag(_tag); _intag = false; ++chunk; continue; } } if(_intag) _tag += *chunk; ++chunk; } } void HHCParser::handleTag(const std::string& tag) { if(tag.empty()) return; ++_counter; if((_counter % TIME_TO_YIELD) == 0) { //wxSafeYield(); wxYield(); _counter = 0; } size_t i; for(i = 0; i < tag.length(); ++i) { if(isspace(tag[i])) continue; else break; } if(i == tag.length()) return; std::string tagName; for( ; i != tag.length(); ++i) { if(!isspace(tag[i])) tagName += tolower(tag[i]); else break; } if(_inobject) { if(tagName == "/object") { _inobject = false; if(!_value.empty() && _value[0] != '/') _value = std::string("/") + _value; wxString name = CURRENT_CHAR_STRING(_name.c_str()); wxString value = CURRENT_CHAR_STRING(_value.c_str()); if(_htmlChars) { name = replaceHTMLChars(name); value = replaceHTMLChars(value); _htmlChars = false; } name = translateEncoding(name, _enc); addToTree(name, value); addToList(name, value); } else if(tagName == "param") { std::string name, value; bool special = getParameters(tag.c_str() + i, name, value); if(name == "name" && _name.empty()) { _name = value; _htmlChars = _htmlChars || special; } else if(name == "local" && _value.empty()) { _value = value; _htmlChars = _htmlChars || special; } } } else { if(tagName == "ul") { ++_level; } else if(tagName == "/ul") { if(_level > 0) --_level; } else if(tagName == "object") { _name = _value = ""; _inobject = true; } } } bool HHCParser::getParameters(const char* input, std::string& name, std::string& value) { bool lower = false, modify = false; name = value = ""; while(*input) { std::string tmpstr; while(*input && isspace(*input)) ++input; while(*input && !isspace(*input) && *input != '=') { tmpstr += tolower(*input); ++input; } while(*input && isspace(*input)) ++input; if(*input) { if(*input != '=') return modify; else ++input; } if(tmpstr == "name") { lower = true; } else if(tmpstr == "value") { lower = false; } else { // now skip value. while(*input && isspace(*input)) ++input; if(*input && *input == '\"') { ++input; while(*input && *input != '\"') ++input; if(*input && *input == '\"') ++input; } else { while(*input && !isspace(*input)) ++input; } continue; } while(*input && isspace(*input)) ++input; if(*input && *input == '\"') { ++input; while(*input && *input != '\"') { if(lower) name += tolower(*input++); else { if(*input == '&') modify = true; value += *input++; } } if(*input && *input == '\"') ++input; } else { while(*input && !isspace(*input)) if(lower) name += tolower(*input++); else { if(*input == '&') modify = true; value += *input++; } } } return modify; } void HHCParser::addToTree(const wxString& name, const wxString& value) { if(!_tree) return; if(!name.IsEmpty()) { int parentIndex = _level ? _level - 1 : 0; _parents[_level] = _tree->AppendItem(_parents[parentIndex], name, 2, 2, new URLTreeItem(value)); if(!_level) _parents[0] = _tree->GetRootItem(); else { if(_tree->GetItemImage(_parents[parentIndex]) != 0) { _tree->SetItemImage(_parents[parentIndex], 0, wxTreeItemIcon_Normal); _tree->SetItemImage(_parents[parentIndex], 0, wxTreeItemIcon_Selected); _tree->SetItemImage(_parents[parentIndex], 1, wxTreeItemIcon_Expanded); } } } } void HHCParser::addToList(const wxString& name, const wxString& value) { if(!_list) return; if(!name.IsEmpty() && !value.IsEmpty()) _list->AddPairItem(name, value); } wxString HHCParser::replaceHTMLChars(const wxString& input) { wxString result; if(input.IsEmpty()) return wxEmptyString; bool inSpecial = false; wxString special; size_t i; for(i = 0; i < input.Length(); ++i) { switch(wxChar(input[i])) { case wxT('&'): inSpecial = true; special = wxEmptyString; continue; case wxT(';'): if(inSpecial) { inSpecial = false; unsigned code = getHTMLCode(special); if(code) result.Append(charForCode(code, *_cvPtr, false)); continue; } } if(inSpecial) special.Append(input[i]); else { if(input[i]) result.Append(input[i]); } } return result; } unsigned HHCParser::getHTMLCode(const wxString& name) { size_t substitutions_cnt = sizeof(substitutions)/sizeof(HTMLChar) - 1; HTMLChar* hc = (HTMLChar*)bsearch(name.c_str(), substitutions, substitutions_cnt, sizeof(HTMLChar), HTMLCharCompare); if(hc) return hc->code; return 0; } /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8 xchm-1.23/src/hhcparser.h0000644000175000001440000000570512210054137012234 00000000000000/* Copyright (C) 2003 - 2013 Razvan Cojocaru 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. */ #ifndef __HHCPARSER_H_ #define __HHCPARSER_H_ #include #include #include #include // Forward declarations. class CHMListCtrl; //! Maximum number of tree levels. #define TREE_BUF_SIZE 128 /*! \brief Objects of this class will be used as opaque data to be used with a tree item, so that when the user selects a tree item it will be easy to retrieve the filename associated with the item. */ struct URLTreeItem : public wxTreeItemData { //! Sets the data to str. URLTreeItem(const wxString& str) : _url(str) {} //! Useful data. wxString _url; }; //! Fast index/contents file parser class HHCParser { public: //! Constructor HHCParser(wxFontEncoding enc, wxTreeCtrl *tree, CHMListCtrl *list); public: //! Parse a chunk of data. void parse(const char* chunk); private: //! Handle a retrieved tag. I'm only interested in very few tags. void handleTag(const std::string& tag); //! Retrieve a parameter name. bool getParameters(const char* input, std::string& name, std::string& value); //! Add the information to the contents tree void addToTree(const wxString& name, const wxString& value); //! Add the information to the index list. void addToList(const wxString& name, const wxString& value); //! Replace special HTML strings with correct code. wxString replaceHTMLChars(const wxString& input); //! HTML code for given name (if available) unsigned getHTMLCode(const wxString& name); private: //! Prevent copying, we have an auto_ptr<> member HHCParser(const HHCParser&); //! Prevent copying, we have an auto_ptr<> member HHCParser& operator=(const HHCParser&); private: int _level; bool _inquote; bool _intag; bool _inobject; std::string _tag; std::string _name; std::string _value; wxTreeCtrl *_tree; CHMListCtrl *_list; wxTreeItemId _parents[TREE_BUF_SIZE]; wxFontEncoding _enc; int _counter; std::auto_ptr _cvPtr; bool _htmlChars; }; #endif // __HHCPARSER_H_ /* Local Variables: mode: c++ c-basic-offset: 8 tab-width: 8 c-indent-comments-syntactically-p: t c-tab-always-indent: t indent-tabs-mode: t End: */ // vim:shiftwidth=8:autoindent:tabstop=8:noexpandtab:softtabstop=8